Mesa (main): zink: remove tcs patch slot map

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Apr 18 21:43:29 UTC 2022


Module: Mesa
Branch: main
Commit: 12cf9a154446dfdc46a256fe88246baf5b1fe6e8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=12cf9a154446dfdc46a256fe88246baf5b1fe6e8

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri Apr 15 11:18:07 2022 -0400

zink: remove tcs patch slot map

this is illegal, and we'll just have to eat some piglit fails
until indirects are handled

Fixes: f7ade1f1885 ("zink: simplify shader i/o assignment")

Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15976>

---

 src/gallium/drivers/zink/ci/zink-lvp-fails.txt |  6 ++++++
 src/gallium/drivers/zink/zink_compiler.c       | 12 +++---------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/gallium/drivers/zink/ci/zink-lvp-fails.txt b/src/gallium/drivers/zink/ci/zink-lvp-fails.txt
index b4aaa816185..230a272ab83 100644
--- a/src/gallium/drivers/zink/ci/zink-lvp-fails.txt
+++ b/src/gallium/drivers/zink/ci/zink-lvp-fails.txt
@@ -1,3 +1,9 @@
+# #6115
+spec at arb_tessellation_shader@execution at variable-indexing@tes-both-input-array-float-index-rd,Crash
+spec at arb_tessellation_shader@execution at variable-indexing@tes-both-input-array-vec2-index-rd,Crash
+spec at arb_tessellation_shader@execution at variable-indexing@tes-both-input-array-vec3-index-rd,Crash
+spec at arb_tessellation_shader@execution at variable-indexing@tes-both-input-array-vec4-index-rd,Crash
+
 # #6322
 spec at arb_framebuffer_object@fbo-attachments-blit-scaled-linear,Fail
 spec at arb_framebuffer_object@fbo-blit-scaled-linear,Fail
diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c
index 7ded9703604..1d912504b30 100644
--- a/src/gallium/drivers/zink/zink_compiler.c
+++ b/src/gallium/drivers/zink/zink_compiler.c
@@ -1169,11 +1169,9 @@ rewrite_and_discard_read(nir_builder *b, nir_instr *instr, void *data)
 void
 zink_compiler_assign_io(nir_shader *producer, nir_shader *consumer)
 {
-   unsigned reserved = 0, patch_reserved = 0;
+   unsigned reserved = 0;
    unsigned char slot_map[VARYING_SLOT_MAX];
    memset(slot_map, -1, sizeof(slot_map));
-   unsigned char patch_slot_map[VARYING_SLOT_MAX];
-   memset(patch_slot_map, -1, sizeof(patch_slot_map));
    bool do_fixup = false;
    nir_shader *nir = producer->info.stage == MESA_SHADER_TESS_CTRL ? producer : consumer;
    if (consumer->info.stage != MESA_SHADER_FRAGMENT) {
@@ -1189,13 +1187,9 @@ zink_compiler_assign_io(nir_shader *producer, nir_shader *consumer)
    if (producer->info.stage == MESA_SHADER_TESS_CTRL) {
       /* never assign from tcs -> tes, always invert */
       nir_foreach_variable_with_modes(var, consumer, nir_var_shader_in)
-         assign_producer_var_io(consumer->info.stage, var,
-                                var->data.patch ? &patch_reserved : &reserved,
-                                var->data.patch ? patch_slot_map : slot_map);
+         assign_producer_var_io(consumer->info.stage, var, &reserved, slot_map);
       nir_foreach_variable_with_modes_safe(var, producer, nir_var_shader_out) {
-         if (!assign_consumer_var_io(producer->info.stage, var,
-                                     var->data.patch ? &patch_reserved : &reserved,
-                                     var->data.patch ? patch_slot_map : slot_map))
+         if (!assign_consumer_var_io(producer->info.stage, var, &reserved, slot_map))
             /* this is an output, nothing more needs to be done for it to be dropped */
             do_fixup = true;
       }



More information about the mesa-commit mailing list