mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
vkd3d-shader/hlsl: Fix invalidation of the wrong components in copy-propagation.
Fixes: 1bba18aa75863ba862b1ff90fd31ee74fd6ec7ef.
This commit is contained in:
parent
bff9068a7f
commit
09b9f8ff9f
Notes:
Henri Verbeet
2025-03-12 22:21:37 +01:00
Approved-by: Elizabeth Figura (@zfigura) Approved-by: Francisco Casas (@fcasas) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1419
@ -1638,14 +1638,14 @@ static void copy_propagation_invalidate_variable_from_deref_recurse(struct hlsl_
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
copy_propagation_invalidate_variable_from_deref_recurse(ctx, var_def, deref, subtype,
|
copy_propagation_invalidate_variable_from_deref_recurse(ctx, var_def, deref, subtype,
|
||||||
depth + 1, index * subtype_comp_count, writemask, time);
|
depth + 1, comp_start + index * subtype_comp_count, writemask, time);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (i = 0; i < hlsl_type_element_count(type); ++i)
|
for (i = 0; i < hlsl_type_element_count(type); ++i)
|
||||||
{
|
{
|
||||||
copy_propagation_invalidate_variable_from_deref_recurse(ctx, var_def, deref, subtype,
|
copy_propagation_invalidate_variable_from_deref_recurse(ctx, var_def, deref, subtype,
|
||||||
depth + 1, i * subtype_comp_count, writemask, time);
|
depth + 1, comp_start + i * subtype_comp_count, writemask, time);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -222,4 +222,4 @@ float4 main() : sv_target
|
|||||||
[test]
|
[test]
|
||||||
uniform 0 float 11.0
|
uniform 0 float 11.0
|
||||||
todo(sm<4) draw quad
|
todo(sm<4) draw quad
|
||||||
todo(sm<6) probe (0, 0) rgba(1, 2, 3, 5)
|
probe (0, 0) rgba(1, 2, 3, 5)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user