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