tests: Test dot() intrinsic.

Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Giovanni Mascellani 2022-06-24 09:41:24 +02:00 committed by Alexandre Julliard
parent 9d4df5e704
commit 7b6e782139
2 changed files with 97 additions and 0 deletions

View File

@ -68,6 +68,7 @@ vkd3d_shader_tests = \
tests/hlsl-clamp.shader_test \ tests/hlsl-clamp.shader_test \
tests/hlsl-comma.shader_test \ tests/hlsl-comma.shader_test \
tests/hlsl-cross.shader_test \ tests/hlsl-cross.shader_test \
tests/hlsl-dot.shader_test \
tests/hlsl-duplicate-modifiers.shader_test \ tests/hlsl-duplicate-modifiers.shader_test \
tests/hlsl-for.shader_test \ tests/hlsl-for.shader_test \
tests/hlsl-function.shader_test \ tests/hlsl-function.shader_test \

View File

@ -0,0 +1,96 @@
[pixel shader]
uniform float4 x;
uniform float4 y;
float4 main() : SV_TARGET
{
return dot(x, y);
}
[test]
uniform 0 float4 2.0 3.0 4.0 5.0
uniform 4 float4 10.0 11.0 12.0 13.0
todo draw quad
probe all rgba (166.0, 166.0, 166.0, 166.0)
[pixel shader]
uniform float2 x;
uniform float4 y;
float4 main() : SV_TARGET
{
return dot(x, y);
}
[test]
uniform 0 float4 2.0 3.0 0.0 0.0
uniform 4 float4 10.0 11.0 12.0 13.0
todo draw quad
probe all rgba (53.0, 53.0, 53.0, 53.0)
[pixel shader]
uniform float x;
uniform float4 y;
float4 main() : SV_TARGET
{
return dot(x, y);
}
[test]
uniform 0 float4 2.0 0.0 0.0 0.0
uniform 4 float4 10.0 11.0 12.0 13.0
todo draw quad
probe all rgba (92.0, 92.0, 92.0, 92.0)
[pixel shader]
uniform float x;
uniform float y;
float4 main() : SV_TARGET
{
return dot(x, y);
}
[test]
% Account for both the SM1 and SM4 uniform layout
uniform 0 float4 2.0 3.0 0.0 0.0
uniform 4 float4 3.0 0.0 0.0 0.0
todo draw quad
probe all rgba (6.0, 6.0, 6.0, 6.0)
[pixel shader fail]
uniform float1x1 x;
uniform float4 y;
float4 main() : SV_TARGET
{
return dot(x, y);
}
[pixel shader fail]
uniform float1x4 x;
uniform float4 y;
float4 main() : SV_TARGET
{
return dot(x, y);
}
[pixel shader fail]
uniform float4x1 x;
uniform float4 y;
float4 main() : SV_TARGET
{
return dot(x, y);
}
[pixel shader fail]
uniform float4x4 x;
uniform float4 y;
float4 main() : SV_TARGET
{
return dot(x, y);
}