intel / DRI2: When available, use DRI2GetBuffersWithFormat
[mesa.git] / src / mesa / state_tracker / st_cb_drawpixels.c
index acc9240b5d0390a35dcf3433b73e4f0693554e10..08dc7c930e281961feefdd3e684d720d9709a58c 100644 (file)
@@ -146,6 +146,8 @@ combined_drawpix_fragment_program(GLcontext *ctx)
       st->pixel_xfer.xfer_prog_sn = st->pixel_xfer.program->serialNo;
       st->pixel_xfer.user_prog_sn = st->fp->serialNo;
       st->pixel_xfer.combined_prog_sn = stfp->serialNo;
+      /* can't reference new program directly, already have a reference on it */
+      st_reference_fragprog(st, &st->pixel_xfer.combined_prog, NULL);
       st->pixel_xfer.combined_prog = stfp;
    }
 
@@ -904,6 +906,8 @@ st_CopyPixels(GLcontext *ctx, GLint srcx, GLint srcy,
    GLfloat *color;
    enum pipe_format srcFormat, texFormat;
 
+   pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE, NULL);
+
    st_validate_state(st);
 
    if (type == GL_STENCIL) {