intel: Call intel_prepare_render() before looking up regions.
authorKristian Høgsberg <krh@bitplanet.net>
Mon, 22 Mar 2010 21:54:35 +0000 (17:54 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Mon, 22 Mar 2010 21:55:05 +0000 (17:55 -0400)
Fixes #27213.

src/mesa/drivers/dri/intel/intel_blit.c
src/mesa/drivers/dri/intel/intel_mipmap_tree.c
src/mesa/drivers/dri/intel/intel_pixel_copy.c

index 46173703397520d363b4da394d11f7f5215c7793..167140d274a37b94f0578f558a6af4e8dba701da 100644 (file)
@@ -119,8 +119,6 @@ intelEmitCopyBlit(struct intel_context *intel,
            break;
    } while (pass < 2);
 
-   intel_prepare_render(intel);
-
    if (pass >= 2)
       return GL_FALSE;
 
index e671355c3818e0d7cfac657d3d12ae4d76b32b0c..ef1966ea7e14c0136e87a1ec3bb59df08b38d7e0 100644 (file)
@@ -448,6 +448,8 @@ intel_miptree_image_copy(struct intel_context *intel,
        width = ALIGN(width, align_w);
    }
 
+   intel_prepare_render(intel);
+
    for (i = 0; i < depth; i++) {
       intel_miptree_get_image_offset(src, level, face, i, &src_x, &src_y);
       intel_miptree_get_image_offset(dst, level, face, i, &dst_x, &dst_y);
index 8efb7a60c265224b8eec267d5906bacd91561b29..56faf076c7e9d26d83cd9bf15486699657f713a6 100644 (file)
@@ -108,8 +108,8 @@ do_blit_copypixels(GLcontext * ctx,
                    GLint dstx, GLint dsty, GLenum type)
 {
    struct intel_context *intel = intel_context(ctx);
-   struct intel_region *dst = intel_drawbuf_region(intel);
-   struct intel_region *src = copypix_src_region(intel, type);
+   struct intel_region *dst;
+   struct intel_region *src;
    struct gl_framebuffer *fb = ctx->DrawBuffer;
    struct gl_framebuffer *read_fb = ctx->ReadBuffer;
    GLint orig_dstx;
@@ -134,13 +134,16 @@ do_blit_copypixels(GLcontext * ctx,
        ctx->Pixel.ZoomX != 1.0F || ctx->Pixel.ZoomY != 1.0F)
       return GL_FALSE;
 
+   intel_prepare_render(intel);
+
+   dst = intel_drawbuf_region(intel);
+   src = copypix_src_region(intel, type);
+
    if (!src || !dst)
       return GL_FALSE;
 
    intelFlush(&intel->ctx);
 
-   intel_prepare_render(intel);
-
    /* Clip to destination buffer. */
    orig_dstx = dstx;
    orig_dsty = dsty;