From 67e5fd73973eaedf5ec6e0b5139b61f6196fb35c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 5 Feb 2010 01:03:35 -0800 Subject: [PATCH] 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 file changed, 10 insertions(+) diff --git a/src/mesa/drivers/dri/intel/intel_blit.c b/src/mesa/drivers/dri/intel/intel_blit.c index 31d4f3d421b..1fd07e8b82e 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); -- 2.30.2