radeonsi: remove redundant si_shader_info::uses_derivatives
[mesa.git] / src / gallium / drivers / radeonsi / si_state_shaders.c
index bf5782171d463a2246c2888e8586877754bcddb8..ae430a3f504b60977f8e201a9e2e7b9ec5c91ed1 100644 (file)
@@ -72,7 +72,10 @@ void si_get_ir_cache_key(struct si_shader_selector *sel, bool ngg, bool es,
       shader_variant_flags |= 1 << 1;
    if (si_get_wave_size(sel->screen, sel->info.stage, ngg, es, false, false) == 32)
       shader_variant_flags |= 1 << 2;
-   if (sel->info.stage == MESA_SHADER_FRAGMENT && sel->info.uses_derivatives && sel->info.base.fs.uses_discard &&
+   if (sel->info.stage == MESA_SHADER_FRAGMENT &&
+       /* Derivatives imply helper invocations so check for needs_helper_invocations. */
+       sel->info.base.fs.needs_helper_invocations &&
+       sel->info.base.fs.uses_discard &&
        sel->screen->debug_flags & DBG(FS_CORRECT_DERIVS_AFTER_KILL))
       shader_variant_flags |= 1 << 3;