aco: prepare fix_ls_vgpr_init_bug to be used by gl vs prolog
authorQiang Yu <yuq825@gmail.com>
Fri, 4 Aug 2023 12:14:30 +0000 (20:14 +0800)
committerMarge Bot <emma+marge@anholt.net>
Thu, 31 Aug 2023 02:39:15 +0000 (02:39 +0000)
Prolog does not have nir shader.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24712>

src/amd/compiler/aco_instruction_selection.cpp

index eef9f28..8bfc14c 100644 (file)
@@ -11127,9 +11127,8 @@ add_startpgm(struct isel_context* ctx)
 }
 
 void
-fix_ls_vgpr_init_bug(isel_context* ctx, Pseudo_instruction* startpgm)
+fix_ls_vgpr_init_bug(isel_context* ctx)
 {
-   assert(ctx->shader->info.stage == MESA_SHADER_VERTEX);
    Builder bld(ctx->program, ctx->block);
    constexpr unsigned hs_idx = 1u;
    Builder::Result hs_thread_count =
@@ -11491,7 +11490,7 @@ select_shader(isel_context& ctx, nir_shader* nir, const bool need_startpgm, cons
       append_logical_start(ctx.block);
 
       if (unlikely(ctx.options->has_ls_vgpr_init_bug && ctx.stage == vertex_tess_control_hs))
-         fix_ls_vgpr_init_bug(&ctx, startpgm);
+         fix_ls_vgpr_init_bug(&ctx);
 
       split_arguments(&ctx, startpgm);