tests: Test current failure when propagating swizzles.

The included test fails because copy_propagation_transform_swizzle()
is using the value recorded for the variable when the swizzle is being
read, and not the swizzle's load.
This commit is contained in:
Francisco Casas 2023-11-23 12:59:31 -03:00 committed by Alexandre Julliard
parent a52604da8c
commit e6b7b38a29
Notes: Alexandre Julliard 2023-11-29 23:19:14 +01:00
Approved-by: Zebediah Figura (@zfigura)
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/487
2 changed files with 25 additions and 0 deletions

View File

@ -103,6 +103,7 @@ vkd3d_shader_tests = \
tests/hlsl/gather.shader_test \
tests/hlsl/getdimensions.shader_test \
tests/hlsl/half.shader_test \
tests/hlsl/hard-copy-prop.shader_test \
tests/hlsl/initializer-flatten.shader_test \
tests/hlsl/initializer-implicit-array.shader_test \
tests/hlsl/initializer-invalid-arg-count.shader_test \

View File

@ -0,0 +1,24 @@
[pixel shader]
float cond;
float4 main() : sv_target
{
float4 a = {1, 2, 3, 4};
float4 b;
// invalidate a
if (cond)
a = float4(-1, -2, -3, -4);
b = a;
a.y = 357;
return b.y;
}
[test]
uniform 0 float 0.0
draw quad
todo(sm<6) probe all rgba (2.0, 2.0, 2.0, 2.0)
uniform 0 float 1.0
draw quad
todo(sm<6) probe all rgba (-2.0, -2.0, -2.0, -2.0)