summaryrefslogtreecommitdiff
path: root/src/mga_dri.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mga_dri.c')
-rw-r--r--src/mga_dri.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mga_dri.c b/src/mga_dri.c
index a943b6b..098b24b 100644
--- a/src/mga_dri.c
+++ b/src/mga_dri.c
@@ -515,8 +515,10 @@ static void MGAWakeupHandler( int screenNum, pointer wakeupData,
{
ScreenPtr pScreen = screenInfo.screens[screenNum];
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ MGAPtr pMga = MGAPTR(pScrn);
- if ( xf86IsEntityShared( pScrn->entityList[0] ) ) {
+ if ( xf86IsEntityShared( pScrn->entityList[0] )
+ && pMga->DualHeadEnabled) {
MGASwapContextShared( pScreen );
} else {
MGASwapContext( pScreen );
@@ -1115,7 +1117,8 @@ Bool MGADRIScreenInit( ScreenPtr pScreen )
pDRIInfo->CreateContext = MGACreateContext;
pDRIInfo->DestroyContext = MGADestroyContext;
- if ( xf86IsEntityShared( pScrn->entityList[0] ) ) {
+ if ( xf86IsEntityShared( pScrn->entityList[0] )
+ && pMga->DualHeadEnabled) {
pDRIInfo->SwapContext = MGADRISwapContextShared;
} else {
pDRIInfo->SwapContext = MGADRISwapContext;