On Thu, 2010-02-18 at 00:15 -0800, Keith Whitwell wrote: > On Wed, Feb 17, 2010 at 10:39 PM, Francisco Jerez > <curroje...@kemper.freedesktop.org> wrote: > > Module: Mesa > > Branch: master > > Commit: f455ca6490fcb65781b21f81c7117bd923e250d1 > > URL: > > http://cgit.freedesktop.org/mesa/mesa/commit/?id=f455ca6490fcb65781b21f81c7117bd923e250d1 > > > > Author: Francisco Jerez <curroje...@riseup.net> > > Date: Tue Feb 16 17:21:10 2010 +0100 > > > > st/mesa: Make the frontbuffer visible on st_flush(PIPE_FLUSH_FRAME). > > > > So far the frontbuffer was only being flushed on st_glFlush and > > st_glFinish, however, a co-state tracker may need to make sure that > > any frontbuffer changes are already on its way to the actual front. > > > > The dri2 state tracker will need this for event-driven GL applications > > to resize properly (It could also be done calling "dri_flush_frontbuffer", > > but that way we would flush unnecessarily in the double-buffered case). > > > > Additionally this patch avoids flushing the mesa rendering cache if > > PIPE_FLUSH_RENDER_CACHE wasn't specified. > > > > --- > > > > src/mesa/state_tracker/st_cb_flush.c | 15 ++++++--------- > > 1 files changed, 6 insertions(+), 9 deletions(-) > > > > diff --git a/src/mesa/state_tracker/st_cb_flush.c > > b/src/mesa/state_tracker/st_cb_flush.c > > index 1329f80..0ddfce4 100644 > > --- a/src/mesa/state_tracker/st_cb_flush.c > > +++ b/src/mesa/state_tracker/st_cb_flush.c > > @@ -91,7 +91,8 @@ display_front_buffer(struct st_context *st) > > void st_flush( struct st_context *st, uint pipeFlushFlags, > > struct pipe_fence_handle **fence ) > > { > > - FLUSH_CURRENT(st->ctx, 0); > > + if (pipeFlushFlags & PIPE_FLUSH_RENDER_CACHE) > > + FLUSH_CURRENT(st->ctx, 0); > > This is incorrect. Without this call, st->pipe->flush() will be > called with the VBO buffers still mapped, which is illegal. This > needs to be undone.
OK, I've backed this hunk out. Sorry for not spotting this earlier - the interactions between the VBO module and driver buffer managers is definitely a fragile area. Keith ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev