mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 09:08:10 +02:00
radeonsi: only do VGT_FLUSH for fast launch if previous draw was normal launch
Fixes:3da91b3327- radeonsi/ngg: add VGT_FLUSH when enabling fast launch Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7542> (cherry picked from commit8d2876a343)
This commit is contained in:
parent
547332b50f
commit
5c7eb3da12
3 changed files with 7 additions and 2 deletions
|
|
@ -697,7 +697,7 @@
|
|||
"description": "radeonsi: only do VGT_FLUSH for fast launch if previous draw was normal launch",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": "3da91b3327fb93d0364c0ca9d0216f695160831d"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -403,6 +403,10 @@ void si_begin_new_gfx_cs(struct si_context *ctx, bool first_cs)
|
|||
ctx->flags |= SI_CONTEXT_INV_ICACHE | SI_CONTEXT_INV_SCACHE | SI_CONTEXT_INV_VCACHE |
|
||||
SI_CONTEXT_INV_L2 | SI_CONTEXT_START_PIPELINE_STATS;
|
||||
|
||||
/* We don't know if the last draw call used GS fast launch, so assume it didn't. */
|
||||
if (ctx->ngg_culling & SI_NGG_CULL_GS_FAST_LAUNCH_ALL)
|
||||
ctx->flags |= SI_CONTEXT_VGT_FLUSH;
|
||||
|
||||
radeon_add_to_buffer_list(ctx, ctx->gfx_cs, ctx->border_color_buffer,
|
||||
RADEON_USAGE_READ, RADEON_PRIO_BORDER_COLORS);
|
||||
if (ctx->shadowed_regs) {
|
||||
|
|
|
|||
|
|
@ -1911,7 +1911,8 @@ static void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *i
|
|||
/* Insert a VGT_FLUSH when enabling fast launch changes to prevent hangs.
|
||||
* See issues #2418, #2426, #2434
|
||||
*/
|
||||
if (ngg_culling & SI_NGG_CULL_GS_FAST_LAUNCH_ALL)
|
||||
if (ngg_culling & SI_NGG_CULL_GS_FAST_LAUNCH_ALL &&
|
||||
!(sctx->ngg_culling & SI_NGG_CULL_GS_FAST_LAUNCH_ALL))
|
||||
sctx->flags |= SI_CONTEXT_VGT_FLUSH;
|
||||
sctx->ngg_culling = ngg_culling;
|
||||
sctx->do_update_shaders = true;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue