Mesa (main): ir3: Preserve gl_ViewportIndex in the binning shader
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jul 28 17:06:01 UTC 2021
Module: Mesa
Branch: main
Commit: 7a14484bca7619e016b9b901637ee3172b9dca70
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a14484bca7619e016b9b901637ee3172b9dca70
Author: Connor Abbott <cwabbott0 at gmail.com>
Date: Wed Jul 28 16:35:48 2021 +0200
ir3: Preserve gl_ViewportIndex in the binning shader
Fixes dEQP-VK.draw.shader_viewport_index.* with TU_DEBUG=forcebin.
Fixes: efff7342204 ("turnip: multiViewport and VK_EXT_shader_viewport_index_layer")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12104>
---
src/freedreno/ci/deqp-freedreno-a630-fails.txt | 25 +------------------------
src/freedreno/ir3/ir3_compiler_nir.c | 3 ++-
2 files changed, 3 insertions(+), 25 deletions(-)
diff --git a/src/freedreno/ci/deqp-freedreno-a630-fails.txt b/src/freedreno/ci/deqp-freedreno-a630-fails.txt
index 04ffc9f04a8..f61c5476760 100644
--- a/src/freedreno/ci/deqp-freedreno-a630-fails.txt
+++ b/src/freedreno/ci/deqp-freedreno-a630-fails.txt
@@ -21,30 +21,7 @@ dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail,Fail
dEQP-VK.compute.basic.max_local_size_x,Crash
dEQP-VK.compute.basic.max_local_size_y,Crash
-# shader_viewport and atomic_operations fails to reproduce on anholt's cheza,
-# even with a failing caselist from CI.
-dEQP-VK.draw.shader_viewport_index.fragment_shader_10,Fail
-dEQP-VK.draw.shader_viewport_index.fragment_shader_12,Fail
-dEQP-VK.draw.shader_viewport_index.fragment_shader_13,Fail
-dEQP-VK.draw.shader_viewport_index.fragment_shader_14,Fail
-dEQP-VK.draw.shader_viewport_index.fragment_shader_16,Fail
-dEQP-VK.draw.shader_viewport_index.fragment_shader_2,Fail
-dEQP-VK.draw.shader_viewport_index.fragment_shader_4,Fail
-dEQP-VK.draw.shader_viewport_index.fragment_shader_5,Fail
-dEQP-VK.draw.shader_viewport_index.fragment_shader_6,Fail
-dEQP-VK.draw.shader_viewport_index.fragment_shader_8,Fail
-dEQP-VK.draw.shader_viewport_index.fragment_shader_9,Fail
-dEQP-VK.draw.shader_viewport_index.vertex_shader_10,Fail
-dEQP-VK.draw.shader_viewport_index.vertex_shader_11,Fail
-dEQP-VK.draw.shader_viewport_index.vertex_shader_13,Fail
-dEQP-VK.draw.shader_viewport_index.vertex_shader_14,Fail
-dEQP-VK.draw.shader_viewport_index.vertex_shader_15,Fail
-dEQP-VK.draw.shader_viewport_index.vertex_shader_2,Fail
-dEQP-VK.draw.shader_viewport_index.vertex_shader_3,Fail
-dEQP-VK.draw.shader_viewport_index.vertex_shader_5,Fail
-dEQP-VK.draw.shader_viewport_index.vertex_shader_6,Fail
-dEQP-VK.draw.shader_viewport_index.vertex_shader_7,Fail
-dEQP-VK.draw.shader_viewport_index.vertex_shader_9,Fail
+# only fails with TU_DEBUG=forcebin
dEQP-VK.glsl.atomic_operations.add_unsigned_geometry,Fail
dEQP-VK.glsl.atomic_operations.and_signed_geometry,Fail
dEQP-VK.glsl.atomic_operations.and_unsigned_geometry,Fail
diff --git a/src/freedreno/ir3/ir3_compiler_nir.c b/src/freedreno/ir3/ir3_compiler_nir.c
index 0c5d0529047..62d22f50beb 100644
--- a/src/freedreno/ir3/ir3_compiler_nir.c
+++ b/src/freedreno/ir3/ir3_compiler_nir.c
@@ -3828,7 +3828,8 @@ static bool
output_slot_used_for_binning(gl_varying_slot slot)
{
return slot == VARYING_SLOT_POS || slot == VARYING_SLOT_PSIZ ||
- slot == VARYING_SLOT_CLIP_DIST0 || slot == VARYING_SLOT_CLIP_DIST1;
+ slot == VARYING_SLOT_CLIP_DIST0 || slot == VARYING_SLOT_CLIP_DIST1 ||
+ slot == VARYING_SLOT_VIEWPORT;
}
static struct ir3_instruction *
More information about the mesa-commit
mailing list