summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <agd5f@yahoo.com>2005-08-27 16:45:56 +0000
committerAlex Deucher <agd5f@yahoo.com>2005-08-27 16:45:56 +0000
commit81b6385f0fa410bc18e735e37e8db62ef29a0d82 (patch)
tree7092fb8c4f4e4058bdb7a90dd76f84327dbc705b
parent2f0a836a7bc6de48e37fdf7014e6b1b8f78851bf (diff)
- re-add RestoreAccelState() to make XAA happy for dualhead
-rw-r--r--src/savage_accel.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/savage_accel.c b/src/savage_accel.c
index dc7864e..cbeece6 100644
--- a/src/savage_accel.c
+++ b/src/savage_accel.c
@@ -1439,6 +1439,16 @@ void SavageSetGBD_2000(ScrnInfoPtr pScrn)
OUTREG8(SEQ_DATA_REG,byte);
}
+static
+void SavageRestoreAccelState(ScrnInfoPtr pScrn)
+{
+ SavagePtr psav = SAVPTR(pScrn);
+
+ psav->WaitIdleEmpty(psav);
+
+ return;
+}
+
/* Acceleration init function, sets up pointers to our accelerated functions */
Bool
@@ -1492,6 +1502,21 @@ SavageInitAccel(ScreenPtr pScreen)
xaaptr->Sync = SavageAccelSync;
+ if(xf86IsEntityShared(pScrn->entityList[0]))
+ {
+ DevUnion* pPriv;
+ SavageEntPtr pEnt;
+ pPriv = xf86GetEntityPrivate(pScrn->entityList[0],
+ gSavageEntityIndex);
+ pEnt = pPriv->ptr;
+
+ /*if there are more than one devices sharing this entity, we
+ have to assign this call back, otherwise the XAA will be
+ disabled */
+ if(pEnt->HasSecondary)
+ xaaptr->RestoreAccelState = SavageRestoreAccelState;
+ }
+
/* ScreenToScreen copies */
#if 1