radeonsi: disable primitive binning for all blitter ops
same as amdvlk. Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
@@ -75,10 +75,20 @@ void si_blitter_begin(struct si_context *sctx, enum si_blitter_op op)
|
||||
|
||||
if (op & SI_DISABLE_RENDER_COND)
|
||||
sctx->render_cond_force_off = true;
|
||||
|
||||
if (sctx->screen->dpbb_allowed) {
|
||||
sctx->dpbb_force_off = true;
|
||||
si_mark_atom_dirty(sctx, &sctx->atoms.s.dpbb_state);
|
||||
}
|
||||
}
|
||||
|
||||
void si_blitter_end(struct si_context *sctx)
|
||||
{
|
||||
if (sctx->screen->dpbb_allowed) {
|
||||
sctx->dpbb_force_off = false;
|
||||
si_mark_atom_dirty(sctx, &sctx->atoms.s.dpbb_state);
|
||||
}
|
||||
|
||||
sctx->render_cond_force_off = false;
|
||||
|
||||
/* Restore shader pointers because the VS blit shader changed all
|
||||
|
||||
@@ -927,7 +927,7 @@ struct si_context {
|
||||
/* Other state */
|
||||
bool need_check_render_feedback;
|
||||
bool decompression_enabled;
|
||||
|
||||
bool dpbb_force_off;
|
||||
bool vs_writes_viewport_index;
|
||||
bool vs_disables_clipping_viewport;
|
||||
|
||||
|
||||
@@ -343,7 +343,7 @@ void si_emit_dpbb_state(struct si_context *sctx)
|
||||
|
||||
assert(sctx->chip_class >= GFX9);
|
||||
|
||||
if (!sscreen->dpbb_allowed || !blend || !dsa) {
|
||||
if (!sscreen->dpbb_allowed || !blend || !dsa || sctx->dpbb_force_off) {
|
||||
si_emit_dpbb_disable(sctx);
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user