tests: Test casts to uint.

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: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2021-09-09 21:11:35 -05:00 committed by Alexandre Julliard
parent d9eee8f24a
commit cb4970e9ca
2 changed files with 43 additions and 0 deletions

View File

@ -57,6 +57,7 @@ vkd3d_shader_tests = \
tests/cast-to-float.shader_test \ tests/cast-to-float.shader_test \
tests/cast-to-half.shader_test \ tests/cast-to-half.shader_test \
tests/cast-to-int.shader_test \ tests/cast-to-int.shader_test \
tests/cast-to-uint.shader_test \
tests/conditional.shader_test \ tests/conditional.shader_test \
tests/hlsl-array-dimension.shader_test \ tests/hlsl-array-dimension.shader_test \
tests/hlsl-bool-cast.shader_test \ tests/hlsl-bool-cast.shader_test \
@ -272,6 +273,7 @@ XFAIL_TESTS = \
tests/cast-to-float.shader_test \ tests/cast-to-float.shader_test \
tests/cast-to-half.shader_test \ tests/cast-to-half.shader_test \
tests/cast-to-int.shader_test \ tests/cast-to-int.shader_test \
tests/cast-to-uint.shader_test \
tests/conditional.shader_test \ tests/conditional.shader_test \
tests/hlsl-array-dimension.shader_test \ tests/hlsl-array-dimension.shader_test \
tests/hlsl-bool-cast.shader_test \ tests/hlsl-bool-cast.shader_test \

View File

@ -0,0 +1,41 @@
[pixel shader]
float4 main(uniform float f, uniform int i, uniform bool b, uniform half h) : sv_target
{
float4 ret;
ret.x = ((float)(uint)f) - 1.5;
ret.y = ((float)(uint)i) - 1.5;
ret.z = ((float)(uint)b) / 2;
ret.w = ((float)(uint)h) + 0.5;
return ret;
}
[test]
uniform 0 float 2.6
uniform 1 int 2
uniform 2 int -2
uniform 3 float -3.6
draw quad
probe all rgba (0.5, 0.5, 0.5, 0.5)
[pixel shader]
float4 main() : sv_target
{
float f = 2.6;
int i = 2;
bool b = true;
half h = -3.6;
float4 ret;
ret.x = ((float)(uint)f) - 1.5;
ret.y = ((float)(uint)i) - 1.5;
ret.z = ((float)(uint)b) / 2;
ret.w = ((float)(uint)h) + 0.5;
return ret;
}
[test]
draw quad
probe all rgba (0.5, 0.5, 0.5, 0.5)