summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel/intel_buffers.c
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2009-12-15 12:38:01 -0800
committerIan Romanick <ian.d.romanick@intel.com>2009-12-15 12:38:01 -0800
commit11522b74b318db9d099466ff226124c23595e8e2 (patch)
tree2f57b1d594a9f6c223b002f1c549ea5f799b37cc /src/mesa/drivers/dri/intel/intel_buffers.c
parentb90f7f3ad324b1e4c39e334cdeb9556c3eb808ab (diff)
parentf23d01e726a57cd6b8e31f1049ee5853773df7ea (diff)
Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
Conflicts: src/gallium/drivers/softpipe/sp_quad_blend.c
Diffstat (limited to 'src/mesa/drivers/dri/intel/intel_buffers.c')
-rw-r--r--src/mesa/drivers/dri/intel/intel_buffers.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_buffers.c b/src/mesa/drivers/dri/intel/intel_buffers.c
index 6b12d484d8..05643189a2 100644
--- a/src/mesa/drivers/dri/intel/intel_buffers.c
+++ b/src/mesa/drivers/dri/intel/intel_buffers.c
@@ -191,10 +191,15 @@ intel_draw_buffer(GLcontext * ctx, struct gl_framebuffer *fb)
return;
}
- /*
- * How many color buffers are we drawing into?
+ /* How many color buffers are we drawing into?
+ *
+ * If there are zero buffers or the buffer is too big, don't configure any
+ * regions for hardware drawing. We'll fallback to software below. Not
+ * having regions set makes some of the software fallback paths faster.
*/
- if (fb->_NumColorDrawBuffers == 0) {
+ if ((fb->Width > ctx->Const.MaxRenderbufferSize)
+ || (fb->Height > ctx->Const.MaxRenderbufferSize)
+ || (fb->_NumColorDrawBuffers == 0)) {
/* writing to 0 */
colorRegions[0] = NULL;
intel->constant_cliprect = GL_TRUE;