diff --git a/libs/vkd3d-shader/glsl.c b/libs/vkd3d-shader/glsl.c index 8aaf145a..4dc95899 100644 --- a/libs/vkd3d-shader/glsl.c +++ b/libs/vkd3d-shader/glsl.c @@ -1186,15 +1186,16 @@ static void vkd3d_glsl_handle_instruction(struct vkd3d_glsl_generator *gen, case VKD3DSIH_LTO: shader_glsl_relop(gen, ins, "<", "lessThan"); break; - case VKD3DSIH_IMUL: - shader_glsl_mul_extended(gen, ins); - break; + case VKD3DSIH_IMAX: case VKD3DSIH_MAX: shader_glsl_intrinsic(gen, ins, "max"); break; case VKD3DSIH_MIN: shader_glsl_intrinsic(gen, ins, "min"); break; + case VKD3DSIH_IMUL: + shader_glsl_mul_extended(gen, ins); + break; case VKD3DSIH_INE: case VKD3DSIH_NEU: shader_glsl_relop(gen, ins, "!=", "notEqual"); diff --git a/tests/hlsl/arithmetic-int-uniform.shader_test b/tests/hlsl/arithmetic-int-uniform.shader_test index 11fb119e..92c6e89c 100644 --- a/tests/hlsl/arithmetic-int-uniform.shader_test +++ b/tests/hlsl/arithmetic-int-uniform.shader_test @@ -98,7 +98,7 @@ float4 main() : SV_TARGET [test] uniform 0 float4 5.0 -7.0 0.0 -10.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (5.0, 7.0, 0.0, 10.0) [pixel shader todo(sm<4)]