radeonsi: don't add num_vbos_in_user_sgprs to the shader cache key for non-VS
authorMarek Olšák <marek.olsak@amd.com>
Wed, 11 Nov 2020 18:10:06 +0000 (13:10 -0500)
committerMarge Bot <eric+marge@anholt.net>
Wed, 18 Nov 2020 06:19:59 +0000 (06:19 +0000)
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7542>

src/gallium/drivers/radeonsi/si_state_shaders.c

index e40fe5d..8ea6905 100644 (file)
@@ -78,11 +78,11 @@ void si_get_ir_cache_key(struct si_shader_selector *sel, bool ngg, bool es,
        sel->info.base.fs.uses_discard &&
        sel->screen->debug_flags & DBG(FS_CORRECT_DERIVS_AFTER_KILL))
       shader_variant_flags |= 1 << 3;
-
-   /* This varies depending on whether compute-based culling is enabled. */
-   assert(sel->screen->num_vbos_in_user_sgprs <= 7);
-   shader_variant_flags |= MIN2(sel->screen->num_vbos_in_user_sgprs, 7) << 4;
-
+   if (sel->info.stage == MESA_SHADER_VERTEX) {
+      /* This varies depending on whether compute-based culling is enabled. */
+      assert(sel->screen->num_vbos_in_user_sgprs <= 7);
+      shader_variant_flags |= MIN2(sel->screen->num_vbos_in_user_sgprs, 7) << 4;
+   }
    if (sel->screen->options.no_infinite_interp)
       shader_variant_flags |= 1 << 7;
    if (sel->screen->options.clamp_div_by_zero)