The used_mask value loaded from an additional tag/value pair is relative to the start column.
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))
Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
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;
Maybe this should make it easier to read? ```c e->used_mask = vkd3d_write_mask_from_component_count(column_count); e->mask = e->used_mask << index; ```
This merge request was approved by Giovanni Mascellani.
On Thu Nov 2 15:00:52 2023 +0000, Giovanni Mascellani wrote:
Maybe this should make it easier to read?
e->used_mask = vkd3d_write_mask_from_component_count(column_count); e->mask = e->used_mask << index;
I didn't want to do that because it implies the column count determines the used mask, which is not the case.
This merge request was approved by Henri Verbeet.