summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2008-08-04 04:11:13 -0700
committerKeith Packard <keithp@keithp.com>2008-08-05 15:41:51 -0700
commitc155bb3cb17a3bd3b2e90be52cd1fc90147c4e17 (patch)
treeac5d193f0efce1dd04a0b2f114a4b24804b4c0da
parent66706718553cd272eab6f817b5a059df3e0a4347 (diff)
Add batch flush in i830_uxa_prepare_access
-rw-r--r--src/i830_exa.c13
-rw-r--r--src/i915_render.c2
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);