From 466c8bfbb75f064b6761663c15b4faa10971e091 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Fri, 3 May 2024 01:29:23 +0200 Subject: [PATCH] vkd3d-shader/glsl: Implement VKD3DSIH_LTO. --- libs/vkd3d-shader/glsl.c | 3 +++ tests/hlsl/faceforward.shader_test | 14 +++++++------- tests/hlsl/float-comparison.shader_test | 2 +- tests/hlsl/inverse-trig.shader_test | 10 +++++----- tests/hlsl/vertex-shader-ops.shader_test | 2 +- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/libs/vkd3d-shader/glsl.c b/libs/vkd3d-shader/glsl.c index 0405e694..5daeccb0 100644 --- a/libs/vkd3d-shader/glsl.c +++ b/libs/vkd3d-shader/glsl.c @@ -740,6 +740,9 @@ static void vkd3d_glsl_handle_instruction(struct vkd3d_glsl_generator *gen, case VKD3DSIH_GEO: shader_glsl_relop(gen, ins, ">=", "greaterThanEqual"); break; + case VKD3DSIH_LTO: + shader_glsl_relop(gen, ins, "<", "lessThan"); + break; case VKD3DSIH_INE: case VKD3DSIH_NEU: shader_glsl_relop(gen, ins, "!=", "notEqual"); diff --git a/tests/hlsl/faceforward.shader_test b/tests/hlsl/faceforward.shader_test index a7835855..283594c2 100644 --- a/tests/hlsl/faceforward.shader_test +++ b/tests/hlsl/faceforward.shader_test @@ -12,41 +12,41 @@ float4 main() : sv_target uniform 0 float4 10.0 20.0 30.0 40.0 uniform 4 float4 1.0 0.0 0.0 0.0 uniform 8 float4 1.0 0.2 0.0 0.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0) uniform 0 float4 10.0 20.0 30.0 40.0 uniform 4 float4 1.0 0.0 0.0 0.0 uniform 8 float4 1.0 -0.2 0.0 0.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0) uniform 0 float4 10.0 20.0 30.0 40.0 uniform 4 float4 1.0 0.0 0.0 0.0 uniform 8 float4 -1.0 0.0 0.0 0.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (10.0, 20.0, 30.0, 40.0) uniform 0 float4 10.0 20.0 30.0 40.0 uniform 4 float4 0.0 -1.0 0.0 0.0 uniform 8 float4 0.0 1.0 0.0 0.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (10.0, 20.0, 30.0, 40.0) uniform 0 float4 10.0 20.0 30.0 40.0 uniform 4 float4 1.0 0.0 0.0 0.0 uniform 8 float4 0.0 1.0 0.0 0.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0) uniform 0 float4 10.0 20.0 30.0 40.0 uniform 4 float4 0.0 0.0 0.0 0.0 uniform 8 float4 0.0 1.0 0.0 0.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0) uniform 0 float4 10.0 20.0 30.0 40.0 uniform 4 float4 0.0 0.0 0.0 0.0 uniform 8 float4 0.0 0.0 0.0 0.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0) diff --git a/tests/hlsl/float-comparison.shader_test b/tests/hlsl/float-comparison.shader_test index 6cfa592f..9a291f3f 100644 --- a/tests/hlsl/float-comparison.shader_test +++ b/tests/hlsl/float-comparison.shader_test @@ -9,7 +9,7 @@ float4 main() : sv_target [test] uniform 0 float 0.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) diff --git a/tests/hlsl/inverse-trig.shader_test b/tests/hlsl/inverse-trig.shader_test index 7dde8f2f..cf3bcbec 100644 --- a/tests/hlsl/inverse-trig.shader_test +++ b/tests/hlsl/inverse-trig.shader_test @@ -13,23 +13,23 @@ float4 main() : sv_target [test] uniform 0 float4 -1.0 0.0 0.0 0.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (3.14159274, 0.0, 0.0, 0.0) 128 uniform 0 float4 -0.5 0.0 0.0 0.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (2.094441441, 0.0, 0.0, 0.0) 256 uniform 0 float4 0.0 0.0 0.0 0.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (1.57072878, 0.0, 0.0, 0.0) 1024 uniform 0 float4 0.5 0.0 0.0 0.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (1.04715133, 0.0, 0.0, 0.0) 512 uniform 0 float4 1.0 0.0 0.0 0.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) 128 [pixel shader] diff --git a/tests/hlsl/vertex-shader-ops.shader_test b/tests/hlsl/vertex-shader-ops.shader_test index 8ea773d0..3f4f1f31 100644 --- a/tests/hlsl/vertex-shader-ops.shader_test +++ b/tests/hlsl/vertex-shader-ops.shader_test @@ -28,7 +28,7 @@ void main(out float4 res : COLOR1, in float4 pos : position, out float4 out_pos [test] if(sm<4) uniform 0 float 0.0 if(sm>=4) uniform 0 float4 0.0 0.0 0.0 0.0 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)