From d68e60a78a815b9e3857d5b21c174851e85150ae Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Fri, 3 May 2024 01:11:06 +0200 Subject: [PATCH] vkd3d-shader/glsl: Implement VKD3DSIH_IEQ. --- libs/vkd3d-shader/glsl.c | 3 +++ tests/hlsl/expr-indexing.shader_test | 8 ++++---- tests/hlsl/matrix-indexing.shader_test | 2 +- tests/hlsl/non-const-indexing.shader_test | 8 ++++---- tests/hlsl/vector-indexing-uniform.shader_test | 2 +- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/libs/vkd3d-shader/glsl.c b/libs/vkd3d-shader/glsl.c index 8f564c99..21b73c6f 100644 --- a/libs/vkd3d-shader/glsl.c +++ b/libs/vkd3d-shader/glsl.c @@ -722,6 +722,9 @@ static void vkd3d_glsl_handle_instruction(struct vkd3d_glsl_generator *gen, case VKD3DSIH_DP4: shader_glsl_dot(gen, ins, VKD3DSP_WRITEMASK_ALL); break; + case VKD3DSIH_IEQ: + shader_glsl_relop(gen, ins, "==", "equal"); + break; case VKD3DSIH_FRC: shader_glsl_intrinsic(gen, ins, "fract"); break; diff --git a/tests/hlsl/expr-indexing.shader_test b/tests/hlsl/expr-indexing.shader_test index ff81eeb5..ccc03605 100644 --- a/tests/hlsl/expr-indexing.shader_test +++ b/tests/hlsl/expr-indexing.shader_test @@ -26,7 +26,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 float 2 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (10.0, 10.0, 10.0, 10.0) @@ -56,10 +56,10 @@ float4 main() : sv_target [test] uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float 0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (4.0, 4.0, 4.0, 4.0) uniform 4 float 2 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) @@ -99,5 +99,5 @@ float4 main() : sv_target [test] uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float 1 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (2.0, 2.0, 2.0, 2.0) diff --git a/tests/hlsl/matrix-indexing.shader_test b/tests/hlsl/matrix-indexing.shader_test index 23b42b1b..91907d90 100644 --- a/tests/hlsl/matrix-indexing.shader_test +++ b/tests/hlsl/matrix-indexing.shader_test @@ -120,7 +120,7 @@ float4 main() : sv_target [test] uniform 0 float 2 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (8, 9, 10, 11) diff --git a/tests/hlsl/non-const-indexing.shader_test b/tests/hlsl/non-const-indexing.shader_test index 55ca15b6..63a89452 100644 --- a/tests/hlsl/non-const-indexing.shader_test +++ b/tests/hlsl/non-const-indexing.shader_test @@ -36,16 +36,16 @@ float4 main() : SV_TARGET [test] uniform 0 float 0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (11.0, 11.0, 11.0, 11.0) uniform 0 float 1 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (12.0, 12.0, 12.0, 12.0) uniform 0 float 2 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (13.0, 13.0, 13.0, 13.0) uniform 0 float 3 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (14.0, 14.0, 14.0, 14.0) diff --git a/tests/hlsl/vector-indexing-uniform.shader_test b/tests/hlsl/vector-indexing-uniform.shader_test index a3fe15d4..b57165fd 100644 --- a/tests/hlsl/vector-indexing-uniform.shader_test +++ b/tests/hlsl/vector-indexing-uniform.shader_test @@ -12,5 +12,5 @@ float4 main() : SV_TARGET [test] uniform 0 float 2 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (0.5, 0.3, 0.8, 0.2)