[PATCH 1/2] present: Ignore TILE_SPLIT tiling flags in page flip check.

Mario Kleiner mario.kleiner.de at gmail.com
Fri Jun 5 05:33:20 PDT 2015


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?

Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com>
---
 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



More information about the xorg-driver-ati mailing list