summaryrefslogtreecommitdiff
path: root/src/mga.h
diff options
context:
space:
mode:
authorTilman Sauerbeck <tilman@code-monkey.de>2006-09-09 13:20:13 +0200
committerTilman Sauerbeck <tilman@code-monkey.de>2006-09-09 13:20:13 +0200
commitbfb329542377e8e8141c87ed30389de6d7180e06 (patch)
tree63bbbf9bc371d298546a5fd5a80bedb4d05ce4f2 /src/mga.h
parent9fa71aef67df48b59f9d70fddd2725f739d171a9 (diff)
XV works with EXA now (dumb port of the Radeon code).
Diffstat (limited to 'src/mga.h')
-rw-r--r--src/mga.h35
1 files changed, 34 insertions, 1 deletions
diff --git a/src/mga.h b/src/mga.h
index a59e450..62f8042 100644
--- a/src/mga.h
+++ b/src/mga.h
@@ -193,13 +193,20 @@ typedef struct {
int contrast;
Bool doubleBuffer;
unsigned char currentBuffer;
- FBLinearPtr linear;
RegionRec clip;
CARD32 colorKey;
CARD32 videoStatus;
Time offTime;
Time freeTime;
int lastPort;
+
+#ifdef USE_EXA
+ int size;
+ ExaOffscreenArea *off_screen;
+#endif
+
+ void *video_memory;
+ int video_offset;
} MGAPortPrivRec, *MGAPortPrivPtr;
typedef struct {
@@ -705,4 +712,30 @@ void MGAFillDisplayModeStruct(DisplayModePtr pMode, LPMGAMODEINFO pModeInfo);
/************************************************/
#endif
+static __inline__ void
+MGA_MARK_SYNC(MGAPtr pMga, ScrnInfoPtr pScrn)
+{
+#ifdef USE_EXA
+ if (pMga->Exa)
+ exaMarkSync(pScrn->pScreen);
+#endif
+#ifdef USE_XAA
+ if (!pMga->Exa)
+ SET_SYNC_FLAG(pMga->AccelInfoRec);
+#endif
+}
+
+static __inline__ void
+MGA_SYNC(MGAPtr pMga, ScrnInfoPtr pScrn)
+{
+#ifdef USE_EXA
+ if (pMga->Exa)
+ exaWaitSync(pScrn->pScreen);
+#endif
+#ifdef USE_XAA
+ if (!pMga->Exa && pMga->AccelInfoRec)
+ pMga->AccelInfoRec->Sync(pScrn);
+#endif
+}
+
#endif