summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel/intel_blit.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2008-07-11 07:28:55 +1000
committerDave Airlie <airlied@linux.ie>2008-07-11 07:28:55 +1000
commitb52398571b7f5c537c2f5e1c87f1b8bdf3d8ea9b (patch)
tree702a62d9d6eefe21e73a5b1cd86a9bfca29ce625 /src/mesa/drivers/dri/intel/intel_blit.c
parentac05da56ec1dd14876dbf3fde37aa951b9215f5b (diff)
intel: fix batch flushing problem with cliprects handling.
pointed out and debugged by stringfellow on #dri-devel
Diffstat (limited to 'src/mesa/drivers/dri/intel/intel_blit.c')
-rw-r--r--src/mesa/drivers/dri/intel/intel_blit.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_blit.c b/src/mesa/drivers/dri/intel/intel_blit.c
index d9dbbb2482..25ac609f13 100644
--- a/src/mesa/drivers/dri/intel/intel_blit.c
+++ b/src/mesa/drivers/dri/intel/intel_blit.c
@@ -123,7 +123,8 @@ intelCopyBuffer(const __DRIdrawablePrivate * dPriv,
dst_pitch /= 4;
}
#endif
-
+ /* do space/cliprects check before going any further */
+ intel_batchbuffer_require_space(intel->batch, 8 * 4, REFERENCES_CLIPRECTS);
again:
ret = dri_bufmgr_check_aperture_space(dst->buffer);
ret |= dri_bufmgr_check_aperture_space(src->buffer);
@@ -278,6 +279,8 @@ intelEmitCopyBlit(struct intel_context *intel,
int ret;
BATCH_LOCALS;
+ /* do space/cliprects check before going any further */
+ intel_batchbuffer_require_space(intel->batch, 8 * 4, NO_LOOP_CLIPRECTS);
again:
ret = dri_bufmgr_check_aperture_space(dst_buffer);
ret |= dri_bufmgr_check_aperture_space(src_buffer);