From: Conor McCarthy cmccarthy@codeweavers.com
The used_mask value loaded from an additional tag/value pair is relative to the start column. --- libs/vkd3d-shader/dxil.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libs/vkd3d-shader/dxil.c b/libs/vkd3d-shader/dxil.c index 19ce2936..710eeb50 100644 --- a/libs/vkd3d-shader/dxil.c +++ b/libs/vkd3d-shader/dxil.c @@ -3779,10 +3779,12 @@ static enum vkd3d_result sm6_parser_read_signature(struct sm6_parser *sm6, const return VKD3D_ERROR_INVALID_SHADER; }
- e->mask = vkd3d_write_mask_from_component_count(column_count) << index; + e->mask = vkd3d_write_mask_from_component_count(column_count); e->used_mask = e->mask; + e->mask <<= index;
signature_element_read_additional_element_values(e, element_node, sm6); + e->used_mask <<= index;
m = element_node->operands[4]; if (!sm6_metadata_value_is_node(m))