summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/savage_dri.c10
-rw-r--r--src/savage_exa.c3
2 files changed, 10 insertions, 3 deletions
diff --git a/src/savage_dri.c b/src/savage_dri.c
index cefe1a7..6f79d94 100644
--- a/src/savage_dri.c
+++ b/src/savage_dri.c
@@ -352,7 +352,10 @@ static void SAVAGEWakeupHandler( int screenNum, pointer wakeupData,
#endif
psav->ShadowCounter = psav->ShadowVirtual[1023] & 0xffff;
}
- psav->AccelInfoRec->NeedToSync = TRUE;
+ if (psav->useEXA)
+ exaMarkSync(pScreen);
+ else
+ psav->AccelInfoRec->NeedToSync = TRUE;
/* FK: this flag doesn't seem to be used. */
}
@@ -1535,7 +1538,10 @@ SAVAGEDRIMoveBuffers(WindowPtr pParent, DDXPointRec ptOldOrg,
}
BCI_SEND(0xc0020000); /* wait for 2D idle */
- psav->AccelInfoRec->NeedToSync = TRUE;
+ if (psav->useEXA)
+ exaMarkSync(pScreen);
+ else
+ psav->AccelInfoRec->NeedToSync = TRUE;
}
static void
diff --git a/src/savage_exa.c b/src/savage_exa.c
index 942fe86..8e6da38 100644
--- a/src/savage_exa.c
+++ b/src/savage_exa.c
@@ -431,13 +431,14 @@ SavageUploadToScreen(PixmapPtr pDst, int x, int y, int w, int h, char *src, int
/*ErrorF("in UTS\n");*/
- psav->WaitQueue(psav, 5);
+ psav->WaitQueue(psav, 6);
BCI_SEND(cmd);
/* dst */
BCI_SEND(psav->sbd_offset);
BCI_SEND(psav->sbd_high);
+ BCI_SEND(BCI_CLIP_LR(x, x+w-1));
BCI_SEND(BCI_X_Y(x, y));
BCI_SEND(BCI_W_H(w, h));