summaryrefslogtreecommitdiff
path: root/src/i830_accel.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2008-11-12 16:40:37 -0500
committerKristian Høgsberg <krh@redhat.com>2008-11-17 12:26:38 -0500
commitee87f7becc2138348ec0d948829db6e86cee86da (patch)
tree2fcf5e75603ecaecd222de2022907c6c3c9c401a /src/i830_accel.c
parent3dd7f0f9423bb891bc99cd3b77dc3d57e057a7ef (diff)
parenta5b1e62337d4e8840347bb186db48697f0690a19 (diff)
Merge commit 'origin/master' into dri2
Conflicts: src/i830_dri.c src/i830_driver.c src/i830_memory.c
Diffstat (limited to 'src/i830_accel.c')
-rw-r--r--src/i830_accel.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/i830_accel.c b/src/i830_accel.c
index 52e22ba8..c01076a5 100644
--- a/src/i830_accel.c
+++ b/src/i830_accel.c
@@ -192,7 +192,7 @@ I830Sync(ScrnInfoPtr pScrn)
I830EmitFlush(pScrn);
- intel_batch_flush(pScrn);
+ intel_batch_flush(pScrn, TRUE);
if (pI830->directRenderingType > DRI_NONE) {
struct drm_i915_irq_emit emit;
@@ -237,14 +237,13 @@ I830EmitFlush(ScrnInfoPtr pScrn)
flags = 0;
{
- BEGIN_BATCH(2);
+ BEGIN_BATCH(1);
OUT_BATCH(MI_FLUSH | flags);
- OUT_BATCH(MI_NOOP); /* pad to quadword */
ADVANCE_BATCH();
}
}
-void
+Bool
I830SelectBuffer(ScrnInfoPtr pScrn, int buffer)
{
I830Ptr pI830 = I830PTR(pScrn);
@@ -253,12 +252,18 @@ I830SelectBuffer(ScrnInfoPtr pScrn, int buffer)
#ifdef XF86DRI
case I830_SELECT_BACK:
pI830->bufferOffset = pI830->back_buffer->offset;
+ if (pI830->back_buffer->tiling == TILE_YMAJOR)
+ return FALSE;
break;
case I830_SELECT_THIRD:
pI830->bufferOffset = pI830->third_buffer->offset;
+ if (pI830->third_buffer->tiling == TILE_YMAJOR)
+ return FALSE;
break;
case I830_SELECT_DEPTH:
pI830->bufferOffset = pI830->depth_buffer->offset;
+ if (pI830->depth_buffer->tiling == TILE_YMAJOR)
+ return FALSE;
break;
#endif
default:
@@ -270,6 +275,7 @@ I830SelectBuffer(ScrnInfoPtr pScrn, int buffer)
if (I810_DEBUG & DEBUG_VERBOSE_ACCEL)
ErrorF("I830SelectBuffer %d --> offset %x\n",
buffer, pI830->bufferOffset);
+ return TRUE;
}
/* The following function sets up the supported acceleration. Call it