From fc8384462f8ecedc824086fdf5e432c09932fa29 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Thu, 3 Oct 2024 16:42:41 +0200 Subject: [PATCH] vkd3d-shader/glsl: Implement VKD3DSIH_IMAX. --- libs/vkd3d-shader/glsl.c | 7 ++++--- tests/hlsl/arithmetic-int-uniform.shader_test | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) 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)]