Module: vkd3d Branch: master Commit: 312de24b9afbffcfcbd871d125ba5c9384ced32d URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=312de24b9afbffcfcbd871d1...
Author: Giovanni Mascellani gmascellani@codeweavers.com Date: Mon Oct 25 09:06:29 2021 +0200
tests: Test implicit conversions for return statements.
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: Matteo Bruni mbruni@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
tests/hlsl-return-implicit-conversion.shader_test | 235 ++++++++++++++++++++++ 1 file changed, 235 insertions(+)
diff --git a/tests/hlsl-return-implicit-conversion.shader_test b/tests/hlsl-return-implicit-conversion.shader_test index 527387b..654b51c 100644 --- a/tests/hlsl-return-implicit-conversion.shader_test +++ b/tests/hlsl-return-implicit-conversion.shader_test @@ -7,3 +7,238 @@ float4 main() : sv_target [test] draw quad probe all rgba (0.4, 0.3, 0.2, 0.1) + +[pixel shader] +float4 main() : sv_target +{ + return float1x4(0.4, 0.3, 0.2, 0.1); +} + +[test] +draw quad +probe all rgba (0.4, 0.3, 0.2, 0.1) + +[pixel shader] +float4 main() : sv_target +{ + return float4x1(0.4, 0.3, 0.2, 0.1); +} + +[test] +draw quad +probe all rgba (0.4, 0.3, 0.2, 0.1) + +[pixel shader] +float4x1 main() : sv_target +{ + return float4(0.4, 0.3, 0.2, 0.1); +} + +[test] +draw quad +probe all rgba (0.4, 0.3, 0.2, 0.1) + +[pixel shader] +float3 func() +{ + return float3x1(0.4, 0.3, 0.2); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[test] +draw quad +probe all rgba (0.4, 0.3, 0.2, 0.0) + +[pixel shader] +float3 func() +{ + return float1x3(0.4, 0.3, 0.2); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[test] +draw quad +probe all rgba (0.4, 0.3, 0.2, 0.0) + +[pixel shader] +float1x3 func() +{ + return float3(0.4, 0.3, 0.2); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[test] +draw quad +probe all rgba (0.4, 0.3, 0.2, 0.0) + +[pixel shader] +float3x1 func() +{ + return float3(0.4, 0.3, 0.2); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[test] +draw quad +probe all rgba (0.4, 0.3, 0.2, 0.0) + +[pixel shader fail] +float3x1 func() +{ + return float1x3(0.4, 0.3, 0.2); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[pixel shader fail] +float1x3 func() +{ + return float3x1(0.4, 0.3, 0.2); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[pixel shader] +float3 func() +{ + return float4(0.4, 0.3, 0.2, 0.1); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[test] +draw quad +probe all rgba (0.4, 0.3, 0.2, 0.0) + +[pixel shader] +float3 func() +{ + return float4x1(0.4, 0.3, 0.2, 0.1); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[test] +draw quad +probe all rgba (0.4, 0.3, 0.2, 0.0) + +[pixel shader] +float3 func() +{ + return float1x4(0.4, 0.3, 0.2, 0.1); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[test] +draw quad +probe all rgba (0.4, 0.3, 0.2, 0.0) + +[pixel shader fail] +float3x1 func() +{ + return float4(0.4, 0.3, 0.2, 0.1); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[pixel shader] +float3x1 func() +{ + return float4x1(0.4, 0.3, 0.2, 0.1); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[test] +draw quad +probe all rgba (0.4, 0.3, 0.2, 0.0) + +[pixel shader fail] +float3x1 func() +{ + return float1x4(0.4, 0.3, 0.2, 0.1); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[pixel shader] +float1x3 func() +{ + return float4(0.4, 0.3, 0.2, 0.1); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[test] +draw quad +probe all rgba (0.4, 0.3, 0.2, 0.0) + +[pixel shader fail] +float1x3 func() +{ + return float4x1(0.4, 0.3, 0.2, 0.1); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[pixel shader] +float1x3 func() +{ + return float1x4(0.4, 0.3, 0.2, 0.1); +} + +float4 main() : sv_target +{ + return float4(func(), 0.0); +} + +[test] +draw quad +probe all rgba (0.4, 0.3, 0.2, 0.0)