tests: Add tests for sign() intrinsic.

Signed-off-by: Ethan Lee <flibitijibibo@gmail.com>
This commit is contained in:
Ethan Lee 2023-04-21 16:14:46 -04:00 committed by Alexandre Julliard
parent 6e677def71
commit 109f7094bc
Notes: Alexandre Julliard 2023-05-01 22:25:17 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Zebediah Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/178
2 changed files with 92 additions and 0 deletions

View File

@ -157,6 +157,7 @@ vkd3d_shader_tests = \
tests/saturate.shader_test \
tests/shader-interstage-interface.shader_test \
tests/side-effects.shader_test \
tests/sign.shader_test \
tests/sqrt.shader_test \
tests/step.shader_test \
tests/swizzle-constant-prop.shader_test \

91
tests/sign.shader_test Normal file
View File

@ -0,0 +1,91 @@
[pixel shader notimpl]
uniform float f;
float4 main() : sv_target
{
return sign(f);
}
[test]
uniform 0 float4 1.0 0.0 0.0 0.0
todo draw quad
todo probe all rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 -1.0 0.0 0.0 0.0
todo draw quad
todo probe all rgba (-1.0, -1.0, -1.0, -1.0)
uniform 0 float4 0.0 0.0 0.0 0.0
todo draw quad
todo probe all rgba (0.0, 0.0, 0.0, 0.0)
[pixel shader notimpl]
uniform float4 f;
float4 main() : sv_target
{
return sign(f);
}
[test]
uniform 0 float4 1.0 2.0 3.0 4.0
todo draw quad
todo probe all rgba (1.0, 1.0, 1.0, 1.0)
[pixel shader notimpl]
uniform float2x2 f;
float4 main() : sv_target
{
return sign(f);
}
[test]
uniform 0 float4 1.0 2.0 0.0 0.0
uniform 4 float4 3.0 4.0 0.0 0.0
todo draw quad
todo probe all rgba (1.0, 1.0, 1.0, 1.0)
[pixel shader notimpl]
uniform int f;
float4 main() : sv_target
{
return sign(f);
}
[test]
uniform 0 int4 1 0 0 0
todo draw quad
todo probe all rgba (1, 1, 1, 1)
uniform 0 int4 -1 0 0 0
todo draw quad
todo probe all rgba (-1, -1, -1, -1)
uniform 0 int4 0 0 0 0
todo draw quad
todo probe all rgba (0, 0, 0, 0)
[pixel shader notimpl]
uniform int4 f;
float4 main() : sv_target
{
return sign(f);
}
[test]
uniform 0 int4 1 2 3 4
todo draw quad
todo probe all rgba (1, 1, 1, 1)
[pixel shader notimpl]
uniform int2x2 f;
float4 main() : sv_target
{
return sign(f);
}
[test]
uniform 0 int4 1 2 0 0
uniform 4 int4 3 4 0 0
todo draw quad
todo probe all rgba (1, 1, 1, 1)