Mesa (staging/21.2): ir3: Preserve gl_ViewportIndex in the binning shader
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jul 28 23:00:08 UTC 2021
Module: Mesa
Branch: staging/21.2
Commit: bfc6597375c15137f6395445a3152d3abfa00c20
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bfc6597375c15137f6395445a3152d3abfa00c20
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>
(cherry picked from commit 7a14484bca7619e016b9b901637ee3172b9dca70)
---
.pick_status.json | 2 +-
src/freedreno/ci/deqp-freedreno-a630-fails.txt | 25 +------------------------
src/freedreno/ir3/ir3_compiler_nir.c | 3 ++-
3 files changed, 4 insertions(+), 26 deletions(-)
diff --git a/.pick_status.json b/.pick_status.json
index c132863fe56..8f149ef479d 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -175,7 +175,7 @@
"description": "ir3: Preserve gl_ViewportIndex in the binning shader",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": "efff73422049d738b4adfaa34d5fde78a2805d5e"
},
diff --git a/src/freedreno/ci/deqp-freedreno-a630-fails.txt b/src/freedreno/ci/deqp-freedreno-a630-fails.txt
index 14b1f9e4e47..ed2a0d48c9c 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