vkd3d-shader/ir: Don't shift register write masks by the component index in shader_dst_param_io_normalise().

This loses information about which source elements they want, making
"o.yzw = reg.xxyz" compile to "o = reg.xxy" instead of "o = reg.xyz".
This commit is contained in:
Evan Tang
2024-10-04 10:40:06 -05:00
committed by Henri Verbeet
parent b5ccc0e705
commit c571a45e65
Notes: Henri Verbeet 2024-10-07 17:54:27 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1151
2 changed files with 3 additions and 5 deletions

View File

@@ -1667,7 +1667,6 @@ static bool shader_dst_param_io_normalise(struct vkd3d_shader_dst_param *dst_par
vkd3d_unreachable();
e = &signature->elements[element_idx];
dst_param->write_mask >>= vsir_write_mask_get_component_idx(e->mask);
if (is_io_dcl)
{
/* Validated in the TPF reader. */