[PATCH v2 2/5] wined3d: Recognize SM4 resinfo opcode.
Henri Verbeet
hverbeet at gmail.com
Fri Jan 15 09:18:40 CST 2016
On 14 January 2016 at 12:39, Józef Kucia <jkucia at codeweavers.com> wrote:
> +#define WINED3D_SM4_OPCODESPECIFICCONTROL_SHIFT 11
> +#define WINED3D_SM4_OPCODESPECIFICCONTROL_MASK (0x3u << WINED3D_SM4_OPCODESPECIFICCONTROL_SHIFT)
> +
I guess the naming derives from shader_sm1.c, but I think I'd prefer
something like WINED3D_SM4_INSTRUCTION_FLAGS_MASK. The shader_sm1.c
naming for the various masks and shifts is inconsistent in general,
I'd like to clean it up to be more like shader_sm4.c at some point.
I suspect the mask is actually at least 0xfu (because of
WINED3D_SM4_RESOURCE_TYPE_MASK), but we'll find out as soon as we run
into an instruction that uses the extra bits.
> ins->handler_idx = opcode_info->handler_idx;
> - ins->flags = 0;
> + ins->flags = (opcode_token & WINED3D_SM4_OPCODESPECIFICCONTROL_MASK) >> WINED3D_SM4_OPCODESPECIFICCONTROL_SHIFT;
I think it would be better to do this inside the last else-block of
the function. It probably doesn't hurt to have nonsense in the flags
field for DCL opcodes, but I think it's best avoided.
More information about the wine-devel
mailing list