Mesa (master): intel: Check aperture size when doing a blit glClear.
Eric Anholt
anholt at kemper.freedesktop.org
Sat Feb 6 13:13:37 UTC 2010
Module: Mesa
Branch: master
Commit: 67e5fd73973eaedf5ec6e0b5139b61f6196fb35c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=67e5fd73973eaedf5ec6e0b5139b61f6196fb35c
Author: Eric Anholt <eric at anholt.net>
Date: Fri Feb 5 01:03:35 2010 -0800
intel: Check aperture size when doing a blit glClear.
Fixes failure in cairo-gl firefox-planet-gnome.
---
src/mesa/drivers/dri/intel/intel_blit.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/src/mesa/drivers/dri/intel/intel_blit.c b/src/mesa/drivers/dri/intel/intel_blit.c
index 31d4f3d..1fd07e8 100644
--- a/src/mesa/drivers/dri/intel/intel_blit.c
+++ b/src/mesa/drivers/dri/intel/intel_blit.c
@@ -250,6 +250,7 @@ intelClearWithBlit(GLcontext *ctx, GLbitfield mask)
uint32_t clear_val;
uint32_t BR13, CMD;
int pitch, cpp;
+ drm_intel_bo *aper_array[2];
if (!(mask & bufBit))
continue;
@@ -340,6 +341,15 @@ intelClearWithBlit(GLcontext *ctx, GLbitfield mask)
assert(x1 < x2);
assert(y1 < y2);
+ /* do space check before going any further */
+ aper_array[0] = intel->batch->buf;
+ aper_array[1] = write_buffer;
+
+ if (drm_intel_bufmgr_check_aperture_space(aper_array,
+ ARRAY_SIZE(aper_array)) != 0) {
+ intel_batchbuffer_flush(intel->batch);
+ }
+
BEGIN_BATCH(6);
OUT_BATCH(CMD);
OUT_BATCH(BR13);
More information about the mesa-commit
mailing list