i915: Remember to call intel_prepare_render() before blitting
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 23 Mar 2015 12:47:33 +0000 (14:47 +0200)
committerIan Romanick <ian.d.romanick@intel.com>
Wed, 30 Sep 2015 20:10:03 +0000 (13:10 -0700)
Bring over the following fix from i965:
 commit fb3d62fe3d4fc40ba4ad9804d8b6f451316c9ae2
 Author: Kenneth Graunke <kenneth@whitecape.org>
 Date:   Tue Aug 6 14:36:09 2013 -0700

    i965: Remember to call intel_prepare_render() before blitting.

Fixes a crash in the following piglit tests:
 bin/fbo-sys-blit -auto
 bin/fbo-sys-sub-blit -auto

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Cc: "11.0" <mesa-stable@lists.freedesktop.org>
src/mesa/drivers/dri/i915/intel_fbo.c

index 6701366637726394d383a60c60877023c1bf1026..12cc7e3a71b42d4dec07e0b50931c04ea606139d 100644 (file)
@@ -658,6 +658,11 @@ intel_blit_framebuffer_with_blitter(struct gl_context *ctx,
 {
    struct intel_context *intel = intel_context(ctx);
 
+   /* Sync up the state of window system buffers.  We need to do this before
+    * we go looking for the buffers.
+    */
+   intel_prepare_render(intel);
+
    if (mask & GL_COLOR_BUFFER_BIT) {
       GLint i;
       struct gl_renderbuffer *src_rb = readFb->_ColorReadBuffer;