diff --git a/libs/vkd3d-shader/msl.c b/libs/vkd3d-shader/msl.c index 73c27bc8..8df62c76 100644 --- a/libs/vkd3d-shader/msl.c +++ b/libs/vkd3d-shader/msl.c @@ -451,6 +451,9 @@ static void msl_handle_instruction(struct msl_generator *gen, const struct vkd3d case VKD3DSIH_MOV: msl_mov(gen, ins); break; + case VKD3DSIH_MUL: + msl_binop(gen, ins, "*"); + break; case VKD3DSIH_RET: msl_ret(gen, ins); break; diff --git a/tests/hlsl/angle-unit.shader_test b/tests/hlsl/angle-unit.shader_test index 0fd45ad9..4b48884b 100644 --- a/tests/hlsl/angle-unit.shader_test +++ b/tests/hlsl/angle-unit.shader_test @@ -8,7 +8,7 @@ float4 main() : sv_target [test] uniform 0 float4 0.0 30.0 150.0 180.0 -todo(msl) draw quad +draw quad probe (0, 0) rgba (0.0, 0.52359877, 2.61799387, 3.14159265) @@ -22,5 +22,5 @@ float4 main() : sv_target [test] uniform 0 float4 0.0 0.78539816 1.57079632 2.35619449 -todo(msl) draw quad +draw quad probe (0, 0) rgba (0.0, 45.0, 90.0, 135.0) diff --git a/tests/hlsl/cbuffer.shader_test b/tests/hlsl/cbuffer.shader_test index c73ea102..c1b86c99 100644 --- a/tests/hlsl/cbuffer.shader_test +++ b/tests/hlsl/cbuffer.shader_test @@ -246,7 +246,7 @@ float4 main() : sv_target uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float4 5.0 6.0 7.0 8.0 uniform 8 float4 9.0 10.0 11.0 12.0 -todo(msl) draw quad +draw quad probe (0, 0) rgba (509, 610, 711, 812) @@ -274,7 +274,7 @@ uniform 0 float4 0.0 1.0 2.0 3.0 uniform 4 float4 4.0 5.0 6.0 7.0 uniform 8 float4 8.0 9.0 10.0 11.0 uniform 12 float4 12.0 13.0 14.0 15.0 -todo(msl) draw quad +draw quad probe (0, 0) rgba (12468.0, 13509.0, 14010.0, 15011.0) @@ -396,7 +396,7 @@ float4 main() : sv_target uniform 0 float 1.0 uniform 1 float 2.0 uniform 4 float4 5.0 6.0 7.0 8.0 -todo(msl) draw quad +draw quad probe (0, 0) rgba (512.0, 612.0, 712.0, 812.0) diff --git a/tests/hlsl/default-values.shader_test b/tests/hlsl/default-values.shader_test index 31118fc4..32f09b5f 100644 --- a/tests/hlsl/default-values.shader_test +++ b/tests/hlsl/default-values.shader_test @@ -71,7 +71,7 @@ float4 main() : sv_target [test] uniform 0 float4 10.0 20.0 30.0 40.0 -todo(msl) draw quad +draw quad probe (0, 0) rgba (20, 40, 60, 80) @@ -190,7 +190,7 @@ float4 main() : sv_target if(sm<4) uniform 0 float4 30 50 40 40 if(sm>=4) uniform 0 float4 10 20 0 0 if(sm>=4) uniform 4 float4 30 50 40 40 -todo(msl) draw quad +draw quad probe (0, 0) rgba (60, 100, 80, 80) diff --git a/tests/hlsl/distance.shader_test b/tests/hlsl/distance.shader_test index 5bcbe921..bc26d199 100644 --- a/tests/hlsl/distance.shader_test +++ b/tests/hlsl/distance.shader_test @@ -34,7 +34,7 @@ float4 main() : SV_TARGET [test] uniform 0 float4 16 32 48 64 uniform 4 float4 1.0 0.5 0.25 0.125 -todo(msl) draw quad +draw quad probe (0, 0) rgba (1.0, 16.0, 48.0, 0.125) [pixel shader] diff --git a/tests/hlsl/dot.shader_test b/tests/hlsl/dot.shader_test index 0cbfe81f..d3838c3e 100644 --- a/tests/hlsl/dot.shader_test +++ b/tests/hlsl/dot.shader_test @@ -71,7 +71,7 @@ float4 main() : SV_TARGET % 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(msl) draw quad +draw quad probe (0, 0) rgba (6.0, 6.0, 6.0, 6.0) [pixel shader] diff --git a/tests/hlsl/majority-pragma.shader_test b/tests/hlsl/majority-pragma.shader_test index 9b4f6608..8437ddf3 100644 --- a/tests/hlsl/majority-pragma.shader_test +++ b/tests/hlsl/majority-pragma.shader_test @@ -17,7 +17,7 @@ uniform 0 float4 0.1 0.2 0.0 0.0 uniform 4 float4 0.3 0.4 0.0 0.0 uniform 8 float4 0.1 0.3 0.0 0.0 uniform 12 float4 0.2 0.4 0.0 0.0 -todo(msl) draw quad +draw quad probe (0, 0) rgba (0.17, 0.39, 0.17, 0.39) 1 @@ -90,7 +90,7 @@ float4 main() : sv_target [test] uniform 0 float4 0.1 0.2 0.0 0.0 uniform 4 float4 0.3 0.4 0.0 0.0 -todo(msl) draw quad +draw quad if(sm<6) probe (0,0) rgba (0.23, 0.34, 0.5, 0.5) 1 if(sm>=6) probe (0,0) rgba (0.17, 0.39, 0.5, 0.5) 1 diff --git a/tests/hlsl/majority-typedef.shader_test b/tests/hlsl/majority-typedef.shader_test index 3323376c..f48191f1 100644 --- a/tests/hlsl/majority-typedef.shader_test +++ b/tests/hlsl/majority-typedef.shader_test @@ -18,5 +18,5 @@ uniform 0 float4 0.1 0.2 0.0 0.0 uniform 4 float4 0.3 0.4 0.0 0.0 uniform 8 float4 0.1 0.3 0.0 0.0 uniform 12 float4 0.2 0.4 0.0 0.0 -todo(msl) draw quad +draw quad probe (0, 0) rgba (0.17, 0.39, 0.17, 0.39) 1 diff --git a/tests/hlsl/writemask-assignop-1.shader_test b/tests/hlsl/writemask-assignop-1.shader_test index e9eef452..d43c9e21 100644 --- a/tests/hlsl/writemask-assignop-1.shader_test +++ b/tests/hlsl/writemask-assignop-1.shader_test @@ -12,5 +12,5 @@ float4 main() : SV_target [test] uniform 0 float4 0.0303 0.08 0.07 0.0202 -todo(msl) draw quad +draw quad probe (0, 0) rgba (0.5697, -0.08, -0.27, -0.4202)