diff options
author | Keith Packard <keithp@keithp.com> | 2008-08-04 04:11:13 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2008-08-05 15:41:51 -0700 |
commit | c155bb3cb17a3bd3b2e90be52cd1fc90147c4e17 (patch) | |
tree | ac5d193f0efce1dd04a0b2f114a4b24804b4c0da | |
parent | 66706718553cd272eab6f817b5a059df3e0a4347 (diff) |
Add batch flush in i830_uxa_prepare_access
-rw-r--r-- | src/i830_exa.c | 13 | ||||
-rw-r--r-- | src/i915_render.c | 2 |
2 files changed, 4 insertions, 11 deletions
diff --git a/src/i830_exa.c b/src/i830_exa.c index 72a1e8d5..7609239d 100644 --- a/src/i830_exa.c +++ b/src/i830_exa.c @@ -179,7 +179,6 @@ I830EXAPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg) I830Ptr pI830 = I830PTR(pScrn); unsigned long pitch; - I830FALLBACK("solid"); if (!EXA_PM_IS_SOLID(&pPixmap->drawable, planemask)) I830FALLBACK("planemask is not solid"); @@ -266,7 +265,6 @@ I830EXAPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir, ScrnInfoPtr pScrn = xf86Screens[pDstPixmap->drawable.pScreen->myNum]; I830Ptr pI830 = I830PTR(pScrn); - I830FALLBACK("copy"); if (!EXA_PM_IS_SOLID(&pSrcPixmap->drawable, planemask)) I830FALLBACK("planemask is not solid"); @@ -560,10 +558,10 @@ i830_uxa_prepare_access (PixmapPtr pixmap, int index) dri_bo *bo = i830_uxa_get_pixmap_bo (pixmap); if (bo) { + intel_batch_flush(xf86Screens[pixmap->drawable.pScreen->myNum]); if (dri_bo_map (bo, index == UXA_PREPARE_DEST) != 0) return FALSE; - assert (pixmap->devPrivate.ptr == bo->virtual); - pixmap->devPrivate.ptr = bo->virtual; + pixmap->devPrivate.ptr = bo->virtual; } return TRUE; } @@ -597,9 +595,9 @@ i830_uxa_finish_access (PixmapPtr pixmap, int index) } static Bool -i830_uxa_pixmap_is_offscreen(PixmapPtr pPixmap) +i830_uxa_pixmap_is_offscreen(PixmapPtr pixmap) { - return i830_uxa_get_pixmap_bo (pPixmap) != NULL; + return i830_uxa_get_pixmap_bo (pixmap) != NULL; } static PixmapPtr @@ -667,9 +665,6 @@ void i830_uxa_create_screen_resources(ScreenPtr pScreen) if (bo != NULL) { PixmapPtr pixmap = pScreen->GetScreenPixmap(pScreen); - dri_bo_map (bo, i830->front_buffer->alignment); - pixmap->devPrivate.ptr = bo->virtual; - dri_bo_unmap (bo); i830_uxa_set_pixmap_bo (pixmap, bo); } } diff --git a/src/i915_render.c b/src/i915_render.c index 78376354..970c42ad 100644 --- a/src/i915_render.c +++ b/src/i915_render.c @@ -322,8 +322,6 @@ i915_prepare_composite(int op, PicturePtr pSrcPicture, Bool is_affine_src, is_affine_mask; Bool is_nearest = FALSE; - return FALSE; - i830_exa_check_pitch_3d(pSrc); if (pMask) i830_exa_check_pitch_3d(pMask); |