diff --git a/src/radeon_dri3.c b/src/radeon_dri3.c index c567024..d9e7a5f 100644 --- a/src/radeon_dri3.c +++ b/src/radeon_dri3.c @@ -182,23 +182,22 @@ static int radeon_dri3_fd_from_pixmap(ScreenPtr screen, CARD16 *stride, CARD32 *size) { + ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + RADEONInfoPtr info = RADEONPTR(scrn); struct radeon_bo *bo; int fd; + if (!info->use_glamor) + exaMoveInPixmap(pixmap); + bo = radeon_get_pixmap_bo(pixmap); if (!bo) { #ifdef USE_GLAMOR - ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - RADEONInfoPtr info = RADEONPTR(scrn); - if (info->use_glamor) return glamor_fd_from_pixmap(screen, pixmap, stride, size); #endif - exaMoveInPixmap(pixmap); - bo = radeon_get_pixmap_bo(pixmap); - if (!bo) - return -1; + return -1; } if (pixmap->devKind > UINT16_MAX)