From: Henri Verbeet hverbeet@codeweavers.com
VKD3D_SM4_OP_DCL_RESOURCE currently has 1 for "dst_count", but NULL for "dst". This is largely harmless because we never attempt to access the destintation register of VKD3DSIH_DCL instructions, but nevertheless not quite proper. --- libs/vkd3d-shader/dxbc.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/libs/vkd3d-shader/dxbc.c b/libs/vkd3d-shader/dxbc.c index 6d16f079..978572d8 100644 --- a/libs/vkd3d-shader/dxbc.c +++ b/libs/vkd3d-shader/dxbc.c @@ -1539,6 +1539,7 @@ static void shader_sm4_read_instruction(struct vkd3d_shader_parser *parser, stru if (opcode_info->read_opcode_func) { ins->dst = NULL; + ins->dst_count = 0; opcode_info->read_opcode_func(ins, opcode, opcode_token, p, len, sm4); } else
From: Henri Verbeet hverbeet@codeweavers.com
We do not set one in shader_sm4_read_dcl_resource(), and shader_sm4_read_instruction() explicitly sets this to 0. --- libs/vkd3d-shader/dxbc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/vkd3d-shader/dxbc.c b/libs/vkd3d-shader/dxbc.c index 978572d8..d99ea2e3 100644 --- a/libs/vkd3d-shader/dxbc.c +++ b/libs/vkd3d-shader/dxbc.c @@ -710,7 +710,7 @@ static const struct vkd3d_sm4_opcode_info opcode_table[] = {VKD3D_SM4_OP_USHR, VKD3DSIH_USHR, "u", "uu"}, {VKD3D_SM4_OP_UTOF, VKD3DSIH_UTOF, "f", "u"}, {VKD3D_SM4_OP_XOR, VKD3DSIH_XOR, "u", "uu"}, - {VKD3D_SM4_OP_DCL_RESOURCE, VKD3DSIH_DCL, "R", "", + {VKD3D_SM4_OP_DCL_RESOURCE, VKD3DSIH_DCL, "", "", shader_sm4_read_dcl_resource}, {VKD3D_SM4_OP_DCL_CONSTANT_BUFFER, VKD3DSIH_DCL_CONSTANT_BUFFER, "", "", shader_sm4_read_dcl_constant_buffer},