aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/exa/exa_mixed.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/exa/exa_mixed.c')
-rw-r--r--xorg-server/exa/exa_mixed.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/xorg-server/exa/exa_mixed.c b/xorg-server/exa/exa_mixed.c
index 06817313f..0fb409102 100644
--- a/xorg-server/exa/exa_mixed.c
+++ b/xorg-server/exa/exa_mixed.c
@@ -294,3 +294,36 @@ exaPixmapHasGpuCopy_mixed(PixmapPtr pPixmap)
return ret;
}
+
+Bool
+exaSharePixmapBacking_mixed(PixmapPtr pPixmap, ScreenPtr slave, void **handle_p)
+{
+ ScreenPtr pScreen = pPixmap->drawable.pScreen;
+ ExaScreenPriv(pScreen);
+ Bool ret = FALSE;
+
+ exaMoveInPixmap(pPixmap);
+ /* get the driver to give us a handle */
+ if (pExaScr->info->SharePixmapBacking)
+ ret = pExaScr->info->SharePixmapBacking(pPixmap, slave, handle_p);
+
+ return ret;
+}
+
+Bool
+exaSetSharedPixmapBacking_mixed(PixmapPtr pPixmap, void *handle)
+{
+ ScreenPtr pScreen = pPixmap->drawable.pScreen;
+ ExaScreenPriv(pScreen);
+ Bool ret = FALSE;
+
+ if (pExaScr->info->SetSharedPixmapBacking)
+ ret = pExaScr->info->SetSharedPixmapBacking(pPixmap, handle);
+
+ if (ret == TRUE)
+ exaMoveInPixmap(pPixmap);
+
+ return ret;
+}
+
+