diff options
Diffstat (limited to 'hw/xfree86/exa/exa_offscreen.c')
-rw-r--r-- | hw/xfree86/exa/exa_offscreen.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/hw/xfree86/exa/exa_offscreen.c b/hw/xfree86/exa/exa_offscreen.c index d62db9016..6b1a160ed 100644 --- a/hw/xfree86/exa/exa_offscreen.c +++ b/hw/xfree86/exa/exa_offscreen.c @@ -253,6 +253,26 @@ ExaOffscreenSwapIn (ScreenPtr pScreen) exaOffscreenInit (pScreen); } +void +exaEnableDisableFBAccess (int index, Bool enable) +{ + ScreenPtr pScreen = screenInfo.screens[index]; + ExaScreenPriv (pScreen); + + if (!enable) { + ExaOffscreenSwapOut (pScreen); + pExaScr->swappedOut = TRUE; + } + + if (pExaScr->SavedEnableDisableFBAccess) + (*pExaScr->SavedEnableDisableFBAccess)(index, enable); + + if (enable) { + ExaOffscreenSwapIn (pScreen); + pExaScr->swappedOut = FALSE; + } +} + /* merge the next free area into this one */ static void ExaOffscreenMerge (ExaOffscreenArea *area) |