zink: delete injected pointsize during shader creation
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Fri, 18 Aug 2023 17:48:38 +0000 (13:48 -0400)
committerMarge Bot <emma+marge@anholt.net>
Fri, 22 Sep 2023 11:34:03 +0000 (11:34 +0000)
maintenance5 is best maintenance.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25289>

src/gallium/drivers/zink/zink_compiler.c

index 2b7c34b..15a82b4 100644 (file)
@@ -5572,9 +5572,11 @@ zink_shader_create(struct zink_screen *screen, struct nir_shader *nir)
                psiz = var;
          }
       }
-      if (have_fake_psiz && psiz) {
+      /* maintenance5 allows injected psiz deletion */
+      if (have_fake_psiz && (psiz || screen->info.have_KHR_maintenance5)) {
          psiz->data.mode = nir_var_shader_temp;
          nir_fixup_deref_modes(nir);
+         delete_psiz_store(nir, true);
          NIR_PASS_V(nir, nir_remove_dead_variables, nir_var_shader_temp, NULL);
       }
    }