From: Michel Dänzer <michel.daenzer@xxxxxxx> radeon_set_pixmap_bo sets the tiling flags, so it needs to be called before radeon_get_pixmap_tiling_flags. Fixes a regression with EXA and TearFree. Fixes: 8523a733b6a5 ("Propagate failure from radeon_set_pixmap_bo") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98097 Signed-off-by: Michel Dänzer <michel.daenzer at amd.com> --- src/drmmode_display.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 1b1b3e6..a8054c1 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -131,6 +131,10 @@ static PixmapPtr drmmode_create_bo_pixmap(ScrnInfoPtr pScrn, if (!info->use_glamor) exaMoveInPixmap(pixmap); + + if (!radeon_set_pixmap_bo(pixmap, bo)) + goto fail; + if (info->ChipFamily >= CHIP_FAMILY_R600) { surface = radeon_get_pixmap_surface(pixmap); if (surface && psurf) @@ -170,9 +174,6 @@ static PixmapPtr drmmode_create_bo_pixmap(ScrnInfoPtr pScrn, } } - if (!radeon_set_pixmap_bo(pixmap, bo)) - goto fail; - if (!info->use_glamor || radeon_glamor_create_textured_pixmap(pixmap, radeon_get_pixmap_private(pixmap))) -- 2.9.3