gallium: Make sure we flush before some texture / buffer operations.
[mesa.git] / src / mesa / state_tracker / st_gen_mipmap.c
index 9cc2176d5e47ef04b6003e936952eba1d64f5229..6e9aa5245e236c50ae9205ad8b907ae58b7553c8 100644 (file)
@@ -123,10 +123,17 @@ fallback_generate_mipmap(GLcontext *ctx, GLenum target,
       const ubyte *srcData;
       ubyte *dstData;
 
+      st_teximage_flush_before_map(ctx->st, pt, face, srcLevel,
+                                  PIPE_TRANSFER_READ);
+
       srcTrans = screen->get_tex_transfer(screen, pt, face, srcLevel, zslice,
                                           PIPE_TRANSFER_READ, 0, 0,
                                           pt->width[srcLevel],
                                           pt->height[srcLevel]);
+
+      st_teximage_flush_before_map(ctx->st, pt, face, dstLevel,
+                                  PIPE_TRANSFER_WRITE);
+
       dstTrans = screen->get_tex_transfer(screen, pt, face, dstLevel, zslice,
                                           PIPE_TRANSFER_WRITE, 0, 0,
                                           pt->width[dstLevel],