diff options
author | Eric Anholt <eric@anholt.net> | 2006-09-14 11:12:03 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2006-09-14 11:12:03 -0700 |
commit | bd758030a6a59af32f9d73655cb691e018e94a7d (patch) | |
tree | 40e4a541975092e47b45eb25a290b5c70729efe8 /src/i830_exa.c | |
parent | f46c70e877a3432ba23696e1a16d5906183876af (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.c | 25 |
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: |