From: Michel Dänzer <michel.daenzer@xxxxxxx> The kernel driver doesn't handle flipping between buffers with different tiling parameters correctly. Fixes display corruption with fullscreen apps using different tiling modes (e.g. due to R600_DEBUG=notiling or R600_DEBUG=no2d) via DRI3. Signed-off-by: Michel Dänzer <michel.daenzer at amd.com> --- src/amdgpu_present.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/amdgpu_present.c b/src/amdgpu_present.c index e36778c..dcb18da 100644 --- a/src/amdgpu_present.c +++ b/src/amdgpu_present.c @@ -262,6 +262,13 @@ amdgpu_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap, if (info->drmmode.dri2_flipping) return FALSE; + /* The kernel driver doesn't handle flipping between BOs with different + * tiling parameters correctly yet + */ + if (amdgpu_pixmap_get_tiling_info(pixmap) != + amdgpu_pixmap_get_tiling_info(screen->GetScreenPixmap(screen))) + return FALSE; + return amdgpu_present_check_unflip(scrn); } -- 2.10.1