agx: Set flag on last st_vary instruction
Not sure what the point is but let's match the blob. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Acked-by: Jason Ekstrand <jason@jlekstrand.net> Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582>
This commit is contained in:
committed by
Alyssa Rosenzweig
parent
033d4d09fc
commit
1c6f34f611
@@ -556,6 +556,17 @@ emit_cf_list(agx_context *ctx, struct exec_list *list)
|
||||
return start_block;
|
||||
}
|
||||
|
||||
static void
|
||||
agx_set_st_vary_final(agx_context *ctx)
|
||||
{
|
||||
agx_foreach_instr_global_rev(ctx, I) {
|
||||
if (I->op == AGX_OPCODE_ST_VARY) {
|
||||
I->last = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
agx_print_stats(agx_context *ctx, unsigned size, FILE *fp)
|
||||
{
|
||||
@@ -797,6 +808,9 @@ agx_compile_shader_nir(nir_shader *nir,
|
||||
|
||||
agx_ra(ctx);
|
||||
|
||||
if (ctx->stage == MESA_SHADER_VERTEX)
|
||||
agx_set_st_vary_final(ctx);
|
||||
|
||||
if (agx_debug & AGX_DBG_SHADERS && !skip_internal)
|
||||
agx_print_shader(ctx, stdout);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user