diff --git a/src/radeon_exa.c b/src/radeon_exa.c index 99a93a4..6b3dae0 100644 --- a/src/radeon_exa.c +++ b/src/radeon_exa.c @@ -499,14 +499,22 @@ void radeon_set_pixmap_bo(PixmapPtr pPix, struct radeon_bo *bo) Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix) { + RINFO_FROM_SCREEN(pPix->drawable.pScreen); struct radeon_exa_pixmap_priv *driver_priv; - driver_priv = exaGetPixmapDriverPrivate(pPix); if (!driver_priv) return FALSE; - if (driver_priv->bo) - return TRUE; + + if (driver_priv->bo) { + if (info->front_bo) { + if (driver_priv->bo == info->front_bo) + return TRUE; + else + return FALSE; + } + return TRUE; + } return FALSE; } #endif