gallium: make state tracker explictly ask for rendercache flushes

This commit is contained in:
Keith Whitwell 2007-12-20 13:47:46 +00:00
parent 9e41d547db
commit a85535b7cb
6 changed files with 9 additions and 8 deletions

View file

@ -321,7 +321,7 @@ st_Accum(GLcontext *ctx, GLenum op, GLfloat value)
const GLint height = ctx->DrawBuffer->_Ymax - ypos;
/* make sure color bufs aren't cached */
pipe->flush(pipe, 0);
pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE);
switch (op) {
case GL_ADD:

View file

@ -849,7 +849,7 @@ draw_stencil_pixels(GLcontext *ctx, GLint x, GLint y,
GLint skipPixels;
ubyte *stmap;
pipe->flush(pipe, 0);
pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE);
/* map the stencil buffer */
stmap = pipe_surface_map(ps);
@ -1208,7 +1208,7 @@ st_CopyPixels(GLcontext *ctx, GLint srcx, GLint srcy,
uint format;
/* make sure rendering has completed */
pipe->flush(pipe, 0x0);
pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE);
st_validate_state(st);

View file

@ -365,7 +365,7 @@ st_finish_render_texture(GLcontext *ctx,
assert(strb);
ctx->st->pipe->flush(ctx->st->pipe, 0x0);
ctx->st->pipe->flush(ctx->st->pipe, PIPE_FLUSH_RENDER_CACHE);
/*
printf("FINISH RENDER TO TEXTURE surf=%p\n", strb->surface);

View file

@ -83,7 +83,7 @@ void st_flush( struct st_context *st, uint pipeFlushFlags )
*/
static void st_Flush(GLcontext *ctx)
{
st_flush(ctx->st, 0x0);
st_flush(ctx->st, PIPE_FLUSH_RENDER_CACHE);
}
@ -92,7 +92,7 @@ static void st_Flush(GLcontext *ctx)
*/
static void st_Finish(GLcontext *ctx)
{
st_flush(ctx->st, PIPE_FLUSH_WAIT);
st_flush(ctx->st, PIPE_FLUSH_RENDER_CACHE | PIPE_FLUSH_WAIT);
}

View file

@ -155,7 +155,7 @@ st_readpixels(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height,
}
/* make sure rendering has completed */
pipe->flush(pipe, 0x0);
pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE);
if (pack->BufferObj && pack->BufferObj->Name) {
/* reading into a PBO */

View file

@ -33,6 +33,7 @@
#include "st_public.h"
#include "st_context.h"
#include "st_cb_fbo.h"
#include "pipe/p_defines.h"
struct st_framebuffer *
@ -170,7 +171,7 @@ st_notify_swapbuffers(struct st_framebuffer *stfb)
GET_CURRENT_CONTEXT(ctx);
if (ctx && ctx->DrawBuffer == &stfb->Base) {
st_flush(ctx->st, 0x0);
st_flush(ctx->st, PIPE_FLUSH_RENDER_CACHE);
}
}