For the record, PIPE_FLUSH_FRAME was just a marker I added to know when a frame was fully rendered when replaying the traces obtained with the trace driver, so that I could know when to display a frame to the user in python/retrace given that most state trackers bypass the flush_front call and in certain graphics API you don't get too see events like swapbuffers -- just their side effects.
A pipe driver should not rely on PIPE_FLUSH_FRAME for anything other than debugging purposes like computing fps, dumping a BMP, and so on. If you need to flush the front buffer before destroying it then referring to the PIPE_FLUSH_FRAME presence to do it inside st_flush is as effective as anything else, but having a seperate flag to do exactly what you want (flush the front buffer) would be more intuitive. Jose ________________________________________ From: Michel Dänzer [mic...@daenzer.net] Sent: Tuesday, February 16, 2010 18:46 To: Francisco Jerez Cc: mesa3d-dev@lists.sourceforge.net Subject: Re: [Mesa3d-dev] [PATCH 1/2] st/mesa: Make the frontbuffer visible on st_flush(PIPE_FLUSH_FRAME). On Tue, 2010-02-16 at 19:22 +0100, Francisco Jerez wrote: > Keith Whitwell <kei...@vmware.com> writes: > > > On Tue, 2010-02-16 at 09:45 -0800, Francisco Jerez wrote: > >> 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. > > > > I'm not sure this is true -- GL spec states that rendering to GL_FRONT > > is not necessarily visible until after GLFlush() or GLFinish() has been > > called. That seems to match the current behaviour. > > > We need to do this before throwing the current fake front away and > allocating a new one: Otherwise, if there's any unflushed rendering it > will be lost. I think a better solution for that would be to only update the fake front buffer on a glFlush. -- Earthling Michel Dänzer | http://www.vmware.com Libre software enthusiast | Debian, X and DRI developer ------------------------------------------------------------------------------ SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW http://p.sf.net/sfu/solaris-dev2dev _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev ------------------------------------------------------------------------------ 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