radeonsi: disable streamout queries for u_blitter

Cc: mesa-stable
Reviewed-by: Pierre-Eric
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40634>
This commit is contained in:
Marek Olšák 2026-03-25 14:16:25 -04:00 committed by Marge Bot
parent 556ceb1b75
commit 918e5764f4
2 changed files with 9 additions and 0 deletions

View file

@ -78,6 +78,9 @@ void si_blitter_begin(struct si_context *sctx, enum si_blitter_op op)
/* Force-disable fbfetch because there are unsolvable recursion problems with u_blitter. */
si_force_disable_ps_colorbuf0_slot(sctx);
/* This disables streamout queries. See si_get_streamout_enable_state. */
si_mark_atom_dirty(sctx, &sctx->atoms.s.streamout_enable);
sctx->blitter_running = true;
}
@ -106,6 +109,9 @@ void si_blitter_end(struct si_context *sctx)
sctx->vertex_buffers_dirty = sctx->num_vertex_elements > 0;
si_mark_atom_dirty(sctx, &sctx->atoms.s.gfx_shader_pointers);
/* This re-enables streamout queries. */
si_mark_atom_dirty(sctx, &sctx->atoms.s.streamout_enable);
/* We force-disabled fbfetch for u_blitter, so recompute the state. */
si_update_ps_colorbuf0_slot(sctx);
}

View file

@ -1849,6 +1849,9 @@ static inline struct si_shader_ctx_state *si_get_vs(struct si_context *sctx)
static inline bool si_get_streamout_enable_state(struct si_context *sctx)
{
if (sctx->blitter_running)
return false;
/* For GFX11, return whether NGG streamout queries are enabled. For older gens, return whether
* streamout hw is enabled.
*