From: Eric Anholt Date: Fri, 19 Apr 2013 21:47:28 +0000 (-0700) Subject: intel: Ensure renderbuffers are current when mapping them. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=e7c5e9949b21006160cad77bb6461e25217ba455;p=android-x86%2Fexternal-mesa.git intel: Ensure renderbuffers are current when mapping them. In the case of renering to windows in X, we would render to stale buffers (or not render at all!) if you hit a MapRenderbuffer as the first thing done to your window after new buffers are ready to be collected in DRI2. I think this also covers the weird comment about irb->mt being missing sometimes. Reviewed-by: Kenneth Graunke Reviewed-by: Brian Paul --- diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c index 0a55afdda3f..6b5e5130a36 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.c +++ b/src/mesa/drivers/dri/intel/intel_fbo.c @@ -123,12 +123,7 @@ intel_map_renderbuffer(struct gl_context *ctx, return; } - /* We sometimes get called with this by our intel_span.c usage. */ - if (!irb->mt) { - *out_map = NULL; - *out_stride = 0; - return; - } + intel_prepare_render(intel); /* For a window-system renderbuffer, we need to flip the mapping we receive * upside-down. So we need to ask for a rectangle on flipped vertically, and