diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c index e40fe5d67fc..8ea69056240 100644 --- a/src/gallium/drivers/radeonsi/si_state_shaders.c +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c @@ -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)