tests: Test normalize() intrinsic.

This commit is contained in:
Giovanni Mascellani 2022-09-28 13:59:49 +02:00 committed by Alexandre Julliard
parent 73cf9dee8a
commit 4ab1a4cef5
Notes: Alexandre Julliard 2022-10-18 00:13:00 +02:00
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/23
2 changed files with 81 additions and 0 deletions

View File

@ -96,6 +96,7 @@ vkd3d_shader_tests = \
tests/hlsl-matrix-indexing.shader_test \ tests/hlsl-matrix-indexing.shader_test \
tests/hlsl-mul.shader_test \ tests/hlsl-mul.shader_test \
tests/hlsl-nested-arrays.shader_test \ tests/hlsl-nested-arrays.shader_test \
tests/hlsl-normalize.shader_test \
tests/hlsl-numeric-constructor-truncation.shader_test \ tests/hlsl-numeric-constructor-truncation.shader_test \
tests/hlsl-numeric-types.shader_test \ tests/hlsl-numeric-types.shader_test \
tests/hlsl-return-implicit-conversion.shader_test \ tests/hlsl-return-implicit-conversion.shader_test \

View File

@ -0,0 +1,80 @@
[pixel shader]
uniform float4 x;
float4 main() : SV_TARGET
{
return normalize(x);
}
[test]
uniform 0 float4 2.0 3.0 4.0 5.0
todo draw quad
probe all rgba (0.272165537, 0.408248305, 0.544331074, 0.680413842) 1
[pixel shader]
uniform float3 x;
float4 main() : SV_TARGET
{
return float4(normalize(x), 0.0);
}
[test]
uniform 0 float4 2.0 3.0 4.0 0.0
todo draw quad
probe all rgba (0.371390700, 0.557086051, 0.742781401, 0.0) 1
[pixel shader]
uniform float2 x;
float4 main() : SV_TARGET
{
return float4(normalize(x), 0.0, 0.0);
}
[test]
uniform 0 float4 2.0 3.0 0.0 0.0
todo draw quad
probe all rgba (0.554700196, 0.832050323, 0.0, 0.0) 1
[pixel shader]
uniform float1 x;
float4 main() : SV_TARGET
{
return normalize(x);
}
[test]
uniform 0 float4 2.0 0.0 0.0 0.0
todo draw quad
probe all rgba (1.0, 1.0, 1.0, 1.0)
[pixel shader]
uniform float x;
float4 main() : SV_TARGET
{
return normalize(x);
}
[test]
uniform 0 float4 2.0 0.0 0.0 0.0
todo draw quad
probe all rgba (1.0, 1.0, 1.0, 1.0)
[pixel shader fail]
uniform float1x3 x;
float4 main() : SV_TARGET
{
return normalize(x);
}
[pixel shader fail]
uniform float4x1 x;
float4 main() : SV_TARGET
{
return normalize(x);
}