Signed-off-by: Giovanni Mascellani gmascellani@codeweavers.com --- ...lsl-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 527387b3..654b51cf 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)