On Wed, 2009-03-11 at 10:29 -0700, Ian Romanick wrote:
> 
> The subrange flush is, IMO, not well specified.  The spec allows two
> different behaviors that will give potentially different results to apps.
> 
> 1. Flush the subrange immediately when glFlushMappedBufferRange is
> called.  I believe this is what Apple implements for
> glFlushMappedBufferRangeAPPLE (see
> http://www.opengl.org/registry/specs/APPLE/flush_buffer_range.txt)
> 
> 2. Collect marked subranges and flush on glUnmap.  This seems like it
> would be the more sensible implementation for the existing memory
> managers in Mesa.

We've interpreted it as 2. Actually, we try to delay the actual flush
until it get's used.

> Peering into my crystal ball, I suspect the restriction preventing
> rendering while a buffer is mapped may eventually be lifted.  If / when
> that happens, I can see apps moving to loops like:
> 
>     map()
>     while () {
>         generate_data();
>         flush();
>         draw();
>     }
> 
>     unmap();
> 
> > In the meantime, Jose & I have been experimenting with an asynchronous
> > mapping change to try and improve the behaviour of the vbo module & cut
> > down on the worst cases of excessive buffer usage.  This is a simple
> > DONT_WAIT flag which allows the buffer_map operation to fail if it would
> > have blocked.  This isn't exactly the same as the semantics from the
> > extension, but is somewhat memory-manager friendlier -- it doesn't allow
> > mapping a buffer which is currently being accessed by the GPU, for
> > instance...
> 
> Is this an extra MAP_*_BIT for glMapBufferRange or does it only exist in
> the internal interface?

Internal interface only for now (in Mesa and in Gallium driver
interfaces).

Jose


------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to