aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPierre-Eric Pelloux-Prayer <[email protected]>2020-01-30 12:16:46 +0100
committerMarge Bot <[email protected]>2020-02-05 10:27:54 +0000
commit3da91b3327fb93d0364c0ca9d0216f695160831d (patch)
treedaa7497111880ac4185b5bbdb380cd01ed9e8a11 /src
parent2799676218249c5b9f1dc0a6367e459a1ad5642e (diff)
radeonsi/ngg: add VGT_FLUSH when enabling fast launch
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2418 Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2426 Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2434 Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3675> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3675>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/radeonsi/si_state_draw.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index 2f87896ead6..96fa59145ae 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -2080,6 +2080,11 @@ static void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *i
}
if (ngg_culling != sctx->ngg_culling) {
+ /* 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)
+ sctx->flags |= SI_CONTEXT_VGT_FLUSH;
sctx->ngg_culling = ngg_culling;
sctx->do_update_shaders = true;
}