intel: Add a batch flush between front-buffer downsample and X protocol.
[mesa.git] / src / mesa / drivers / dri / i965 / intel_pixel_copy.c
index ba8e06f1f955e5647e5e27d2ee11cc07478b4e6c..9dc5c152650149414e77b481b19bdf5e5fefba19 100644 (file)
 #include "main/fbobject.h"
 #include "drivers/common/meta.h"
 
-#include "intel_context.h"
+#include "brw_context.h"
 #include "intel_buffers.h"
 #include "intel_mipmap_tree.h"
 #include "intel_regions.h"
 #include "intel_pixel.h"
 #include "intel_fbo.h"
 #include "intel_blit.h"
+#include "intel_batchbuffer.h"
 
 #define FILE_DEBUG_FLAG DEBUG_PIXEL
 
@@ -52,7 +53,7 @@ do_blit_copypixels(struct gl_context * ctx,
                    GLsizei width, GLsizei height,
                    GLint dstx, GLint dsty, GLenum type)
 {
-   struct intel_context *intel = intel_context(ctx);
+   struct brw_context *brw = brw_context(ctx);
    struct gl_framebuffer *fb = ctx->DrawBuffer;
    struct gl_framebuffer *read_fb = ctx->ReadBuffer;
    GLint orig_dstx;
@@ -142,9 +143,9 @@ do_blit_copypixels(struct gl_context * ctx,
       return false;
    }
 
-   intel_prepare_render(intel);
+   intel_prepare_render(brw);
 
-   intel_flush(&intel->ctx);
+   intel_batchbuffer_flush(brw);
 
    /* Clip to destination buffer. */
    orig_dstx = dstx;
@@ -168,7 +169,7 @@ do_blit_copypixels(struct gl_context * ctx,
    dstx += srcx - orig_srcx;
    dsty += srcy - orig_srcy;
 
-   if (!intel_miptree_blit(intel,
+   if (!intel_miptree_blit(brw,
                            read_irb->mt, read_irb->mt_level, read_irb->mt_layer,
                            srcx, srcy, _mesa_is_winsys_fbo(read_fb),
                            draw_irb->mt, draw_irb->mt_level, draw_irb->mt_layer,
@@ -184,7 +185,7 @@ do_blit_copypixels(struct gl_context * ctx,
       ctx->Query.CurrentOcclusionObject->Result += width * height;
 
 out:
-   intel_check_front_buffer_rendering(intel);
+   intel_check_front_buffer_rendering(brw);
 
    DBG("%s: success\n", __FUNCTION__);
    return true;