diff --git a/libs/vkd3d-shader/msl.c b/libs/vkd3d-shader/msl.c index 04914e4a..146eeeb5 100644 --- a/libs/vkd3d-shader/msl.c +++ b/libs/vkd3d-shader/msl.c @@ -645,6 +645,9 @@ static void msl_handle_instruction(struct msl_generator *gen, const struct vkd3d case VKD3DSIH_IF: msl_if(gen, ins); break; + case VKD3DSIH_ISHL: + msl_binop(gen, ins, "<<"); + break; case VKD3DSIH_LTO: msl_relop(gen, ins, "<"); break; diff --git a/tests/hlsl/bitwise-assignment.shader_test b/tests/hlsl/bitwise-assignment.shader_test index a83b92ff..53223e7b 100644 --- a/tests/hlsl/bitwise-assignment.shader_test +++ b/tests/hlsl/bitwise-assignment.shader_test @@ -52,7 +52,7 @@ float4 main() : SV_TARGET [test] uniform 0 uint4 3 0 0 0 -todo(msl) draw quad +draw quad probe (0, 0) rgba (280, 280, 0, 0) [pixel shader] @@ -72,7 +72,7 @@ float4 main() : SV_TARGET [test] uniform 0 uint4 2 0 0 0 -todo(msl) draw quad +draw quad probe (0, 0) rgba (20, -48, 20, -48) [pixel shader fail]