diff --git a/src/gallium/drivers/radeonsi/si_clear.c b/src/gallium/drivers/radeonsi/si_clear.c index 4ad97bca5bb..8873c2cb543 100644 --- a/src/gallium/drivers/radeonsi/si_clear.c +++ b/src/gallium/drivers/radeonsi/si_clear.c @@ -1175,6 +1175,12 @@ static void si_clear(struct pipe_context *ctx, unsigned buffers, si_mark_atom_dirty(sctx, &sctx->atoms.s.db_render_state); } + /* TODO: This hack fixes dEQP-GLES[23].functional.fragment_ops.random.* on Navi31. + * The root cause is unknown. + */ + if (sctx->gfx_level == GFX11 || sctx->gfx_level == GFX11_5) + needs_db_flush = true; + if (needs_db_flush) { sctx->flags |= SI_CONTEXT_FLUSH_AND_INV_DB; si_mark_atom_dirty(sctx, &sctx->atoms.s.cache_flush); diff --git a/src/gallium/drivers/radeonsi/si_state_streamout.c b/src/gallium/drivers/radeonsi/si_state_streamout.c index b61cfb89a8a..d0eb021a070 100644 --- a/src/gallium/drivers/radeonsi/si_state_streamout.c +++ b/src/gallium/drivers/radeonsi/si_state_streamout.c @@ -101,7 +101,6 @@ static void si_set_streamout_targets(struct pipe_context *ctx, unsigned num_targ * spec@ext_transform_feedback@immediate-reuse * spec@ext_transform_feedback@immediate-reuse-index-buffer * spec@ext_transform_feedback@immediate-reuse-uniform-buffer - * .. and some dEQP-GLES[23].functional.fragment_ops.random.* */ if (sctx->gfx_level >= GFX11) si_flush_gfx_cs(sctx, 0, NULL);