On Fri, Jun 5, 2015 at 8:33 AM, Mario Kleiner <[email protected]> wrote: > Mismatched tile split bits between source pixmap > and target screen pixmap caused present_check_flip > to reject page flips on at least RV730 (Radeon HD 4670). > (Source pixmap had 0x1, Target screen pixmap had 0x6000001) > > Mask those tile split bits out to make the check pass and > page flipping under DRI3/Present work. > > Maybe we should mask out more bits?
I'm not sure if it's safe to do that. Tile split is part of the tiling configuration in the display registers on evergreen and newer. It's probably better to try and figure out why the surfaces end up with different tiling parameters and fix that. Alex > > Signed-off-by: Mario Kleiner <[email protected]> > --- > src/radeon_present.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/src/radeon_present.c b/src/radeon_present.c > index 2626044..cbe3ac4 100644 > --- a/src/radeon_present.c > +++ b/src/radeon_present.c > @@ -207,6 +207,10 @@ radeon_present_get_pixmap_tiling_flags(RADEONInfoPtr > info, PixmapPtr pixmap) > { > uint32_t tiling_flags = radeon_get_pixmap_tiling_flags(pixmap); > > + /* Ignore TILE_SPLIT flags. */ > + tiling_flags &= ~(RADEON_TILING_EG_TILE_SPLIT_MASK << > + RADEON_TILING_EG_TILE_SPLIT_SHIFT); > + > /* Micro tiling is always enabled with macro tiling on >= R600, so we > * can ignore the micro tiling bit in that case > */ > -- > 1.9.1 > > _______________________________________________ > xorg-driver-ati mailing list > [email protected] > http://lists.x.org/mailman/listinfo/xorg-driver-ati _______________________________________________ xorg-driver-ati mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-driver-ati
