mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2025-12-20 14:00:11 +01:00
Do a tcl state flush before accessing tcl vector space. This fixes some
more problems with flickering (bug #6637). drm may not be appropriate place for this, since doing that flush there might both be overkill and insufficient in some cases. However, it's hard to figure out when that flush is needed, so this has to suffice. There does not seem to be a performance penalty associated with it.
This commit is contained in:
parent
79e5969172
commit
e1b627c17e
1 changed files with 2 additions and 1 deletions
|
|
@ -2630,7 +2630,8 @@ static __inline__ int radeon_emit_vectors(drm_radeon_private_t *dev_priv,
|
|||
int stride = header.vectors.stride;
|
||||
RING_LOCALS;
|
||||
|
||||
BEGIN_RING(3 + sz);
|
||||
BEGIN_RING(5 + sz);
|
||||
OUT_RING_REG(RADEON_SE_TCL_STATE_FLUSH, 0);
|
||||
OUT_RING(CP_PACKET0(RADEON_SE_TCL_VECTOR_INDX_REG, 0));
|
||||
OUT_RING(start | (stride << RADEON_VEC_INDX_OCTWORD_STRIDE_SHIFT));
|
||||
OUT_RING(CP_PACKET0_TABLE(RADEON_SE_TCL_VECTOR_DATA_REG, (sz - 1)));
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue