diff --git a/libs/vkd3d-shader/glsl.c b/libs/vkd3d-shader/glsl.c index f1977dd1..f585d142 100644 --- a/libs/vkd3d-shader/glsl.c +++ b/libs/vkd3d-shader/glsl.c @@ -825,6 +825,9 @@ static void vkd3d_glsl_handle_instruction(struct vkd3d_glsl_generator *gen, case VKD3DSIH_MAD: shader_glsl_intrinsic(gen, ins, "fma"); break; + case VKD3DSIH_ISHL: + shader_glsl_binop(gen, ins, "<<"); + break; case VKD3DSIH_LTO: shader_glsl_relop(gen, ins, "<", "lessThan"); break; diff --git a/tests/hlsl/bitwise-assignment.shader_test b/tests/hlsl/bitwise-assignment.shader_test index e4998e47..9c273246 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(glsl) 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(glsl) draw quad +draw quad probe (0, 0) rgba (20, -48, 20, -48) [pixel shader fail]