radeonsi: add num_vbos_in_user_sgprs into the shader cache key
authorMarek Olšák <marek.olsak@amd.com>
Sat, 21 Mar 2020 01:12:38 +0000 (21:12 -0400)
committerMarge Bot <eric+marge@anholt.net>
Sat, 28 Mar 2020 00:58:34 +0000 (00:58 +0000)
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4269>

src/gallium/drivers/radeonsi/si_state_shaders.c

index 212995637779e7b5491fd2f7f5ae9b5976d32f25..ce7e791be3d6ebb8d86830f1e6d9ffb7b585972d 100644 (file)
@@ -79,6 +79,9 @@ void si_get_ir_cache_key(struct si_shader_selector *sel, bool ngg, bool es,
            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. */
+       shader_variant_flags |= sel->screen->num_vbos_in_user_sgprs << 4;
+
        struct mesa_sha1 ctx;
        _mesa_sha1_init(&ctx);
        _mesa_sha1_update(&ctx, &shader_variant_flags, 4);