mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 00:00:11 +01:00
gallium: make state tracker explictly ask for rendercache flushes
This commit is contained in:
parent
9e41d547db
commit
a85535b7cb
6 changed files with 9 additions and 8 deletions
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue