summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Whitwell <[email protected]>2007-12-20 13:47:46 +0000
committerKeith Whitwell <[email protected]>2007-12-20 13:47:46 +0000
commita85535b7cb0886f23e5686e37d1fa54394cdece4 (patch)
tree9940a0b79f6c2132a28046bd5015af2329a827e0
parent9e41d547db6669ff669f1d60cb35df9edf306370 (diff)
gallium: make state tracker explictly ask for rendercache flushes
-rw-r--r--src/mesa/state_tracker/st_cb_accum.c2
-rw-r--r--src/mesa/state_tracker/st_cb_drawpixels.c4
-rw-r--r--src/mesa/state_tracker/st_cb_fbo.c2
-rw-r--r--src/mesa/state_tracker/st_cb_flush.c4
-rw-r--r--src/mesa/state_tracker/st_cb_readpixels.c2
-rw-r--r--src/mesa/state_tracker/st_framebuffer.c3
6 files changed, 9 insertions, 8 deletions
diff --git a/src/mesa/state_tracker/st_cb_accum.c b/src/mesa/state_tracker/st_cb_accum.c
index ea0b1187fc9..cf2e9db51cb 100644
--- a/src/mesa/state_tracker/st_cb_accum.c
+++ b/src/mesa/state_tracker/st_cb_accum.c
@@ -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:
diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c
index e70a5b49e12..2db12c653b6 100644
--- a/src/mesa/state_tracker/st_cb_drawpixels.c
+++ b/src/mesa/state_tracker/st_cb_drawpixels.c
@@ -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);
diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c
index c40f75417fa..bc0f26ffb05 100644
--- a/src/mesa/state_tracker/st_cb_fbo.c
+++ b/src/mesa/state_tracker/st_cb_fbo.c
@@ -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);
diff --git a/src/mesa/state_tracker/st_cb_flush.c b/src/mesa/state_tracker/st_cb_flush.c
index 95149a32006..9808b1f8f65 100644
--- a/src/mesa/state_tracker/st_cb_flush.c
+++ b/src/mesa/state_tracker/st_cb_flush.c
@@ -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);
}
diff --git a/src/mesa/state_tracker/st_cb_readpixels.c b/src/mesa/state_tracker/st_cb_readpixels.c
index 96829fcfa0f..b0c9275c6f8 100644
--- a/src/mesa/state_tracker/st_cb_readpixels.c
+++ b/src/mesa/state_tracker/st_cb_readpixels.c
@@ -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 */
diff --git a/src/mesa/state_tracker/st_framebuffer.c b/src/mesa/state_tracker/st_framebuffer.c
index 5e0943f75cc..7ddc74e355c 100644
--- a/src/mesa/state_tracker/st_framebuffer.c
+++ b/src/mesa/state_tracker/st_framebuffer.c
@@ -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);
}
}