diff --git a/tests/hlsl/cast-to-int.shader_test b/tests/hlsl/cast-to-int.shader_test index 077f967d..17d926d1 100644 --- a/tests/hlsl/cast-to-int.shader_test +++ b/tests/hlsl/cast-to-int.shader_test @@ -85,3 +85,41 @@ float4 main() : sv_target draw quad if(sm<4) todo probe (0,0) rgba (0.5, 4.2949673e+009, 0.5, 0.5) if(sm>=4) probe (0,0) rgba (0.5, 0.5, 0.5, 0.5) + +[require] +shader model >= 6.2 +native-16-bit + +[pixel shader] +uniform int4 i; + +int4 main() : sv_target +{ + int16_t4 s = i; + return s * int16_t4(2, 2, 1, 1); +} + +[test] +uniform 0 int4 0x10002 0x8003 0x10002 0x8003 +draw quad +probe (0, 0) rgbai(4, 6, 2, -32765) +uniform 0 int4 -1 -3 -1 -3 +draw quad +probe (0, 0) rgbai(-2, -6, -1, -3) + +[pixel shader] +uniform float4 f; + +int4 main() : sv_target +{ + int16_t4 s = f; + return s * int16_t4(2, 2, 1, 1); +} + +[test] +uniform 0 float4 0.5 1.0 0.5 1.0 +todo draw quad +probe (0, 0) rgbai(0, 2, 0, 1) +uniform 0 float4 -0.5 -1.0 -0.5 -1.0 +todo draw quad +probe (0, 0) rgbai(0, -2, 0, -1)