tests: Add some tests for fused assignment operations with writemasks.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2021-03-09 19:42:50 -06:00 committed by Alexandre Julliard
parent 1aca201651
commit 80cac66b6f
5 changed files with 65 additions and 2 deletions

View File

@ -80,7 +80,11 @@ vkd3d_shader_tests = \
tests/swizzle-5.shader_test \
tests/swizzle-6.shader_test \
tests/swizzle-7.shader_test \
tests/trigonometry.shader_test
tests/trigonometry.shader_test \
tests/writemask-assignop-0.shader_test \
tests/writemask-assignop-1.shader_test \
tests/writemask-assignop-2.shader_test \
tests/writemask-assignop-3.shader_test
vkd3d_test_headers = \
tests/d3d12_crosstest.h \
@ -267,7 +271,11 @@ XFAIL_TESTS = \
tests/swizzle-5.shader_test \
tests/swizzle-6.shader_test \
tests/swizzle-7.shader_test \
tests/trigonometry.shader_test
tests/trigonometry.shader_test \
tests/writemask-assignop-0.shader_test \
tests/writemask-assignop-1.shader_test \
tests/writemask-assignop-2.shader_test \
tests/writemask-assignop-3.shader_test
endif
if BUILD_DEMOS

View File

@ -0,0 +1,15 @@
[pixel shader]
uniform float4 color;
float4 main() : SV_target
{
float4 ret = color;
ret.zw += float2(0.5, 0.3);
ret.yx -= float2(0.1, 0.5);
return ret;
}
[test]
uniform 0 float4 0.0303 0.08 0.07 0.0202
draw quad
probe all rgba (-0.4697, -0.02, 0.57, 0.3202) 2

View File

@ -0,0 +1,16 @@
[pixel shader]
uniform float4 color;
float4 main() : SV_target
{
float4 ret = color;
ret.zwx.yzx.xz += float2(0.4, 0.2);
ret.xzyw.wzx.xz.y.x -= 0.6;
ret.yxwz.yxwz *= -1;
return ret;
}
[test]
uniform 0 float4 0.0303 0.08 0.07 0.0202
draw quad
probe all rgba (0.5697, -0.08, -0.27, -0.4202)

View File

@ -0,0 +1,13 @@
[pixel shader]
float4 main() : SV_target
{
float4 ret = float4(2, 2, 2, 2);
ret.yxz.yx += float2(0.1, 0.2);
ret.w.x -= 0.3;
ret.wzyx.zyx.yx.x *= 0.4;
return ret;
}
[test]
draw quad
probe all rgba (2.1, 2.2, 0.8, 1.7)

View File

@ -0,0 +1,11 @@
[pixel shader]
float4 main() : SV_target
{
float4 ret = float4(2, 2, 2, 2);
ret.xyzw.xyzw -= float4(0.1, 0.2, 0.3, 0.4);
return ret;
}
[test]
draw quad
probe all rgba (1.9, 1.8, 1.7, 1.6)