summaryrefslogtreecommitdiff
path: root/src/i830_exa.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2006-09-14 11:12:03 -0700
committerEric Anholt <eric@anholt.net>2006-09-14 11:12:03 -0700
commitbd758030a6a59af32f9d73655cb691e018e94a7d (patch)
tree40e4a541975092e47b45eb25a290b5c70729efe8 /src/i830_exa.c
parentf46c70e877a3432ba23696e1a16d5906183876af (diff)
Add a compile flag to enable syncing after each operation in EXA.
This replaces other debug sync options sprinkled around the EXA code. It doesn't change the mis-rendering of text on the 915.
Diffstat (limited to 'src/i830_exa.c')
-rw-r--r--src/i830_exa.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/i830_exa.c b/src/i830_exa.c
index 6a7028fa..c6337472 100644
--- a/src/i830_exa.c
+++ b/src/i830_exa.c
@@ -41,6 +41,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define DEBUG_I830FALLBACK 1
#endif
+#define ALWAYS_SYNC 1
+
#ifdef DEBUG_I830FALLBACK
#define I830FALLBACK(s, arg...) \
do { \
@@ -206,7 +208,11 @@ I830EXASolid(PixmapPtr pPixmap, int x1, int y1, int x2, int y2)
static void
I830EXADoneSolid(PixmapPtr pPixmap)
{
- return;
+#if ALWAYS_SYNC
+ ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
+
+ I830Sync(pScrn);
+#endif
}
/**
@@ -281,7 +287,11 @@ I830EXACopy(PixmapPtr pDstPixmap, int src_x1, int src_y1, int dst_x1,
static void
I830EXADoneCopy(PixmapPtr pDstPixmap)
{
- return;
+#if ALWAYS_SYNC
+ ScrnInfoPtr pScrn = xf86Screens[pDstPixmap->drawable.pScreen->myNum];
+
+ I830Sync(pScrn);
+#endif
}
static void
@@ -399,17 +409,16 @@ IntelEXAComposite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY,
}
ADVANCE_LP_RING();
}
-#ifdef I830DEBUG
- ErrorF("sync after 3dprimitive");
- I830Sync(pScrn);
-#endif
-
}
static void
IntelEXADoneComposite(PixmapPtr pDst)
{
- return;
+#if ALWAYS_SYNC
+ ScrnInfoPtr pScrn = xf86Screens[pDst->drawable.pScreen->myNum];
+
+ I830Sync(pScrn);
+#endif
}
/*
* TODO: