[Mesa-dev] [PATCH] mesa: Fix multithreaded buffer object refcounting.

Mathias Fröhlich Mathias.Froehlich at gmx.net
Sat Oct 22 03:54:47 PDT 2011


Hi,

On Wednesday, October 19, 2011 16:32:57 Brian Paul wrote:
> As a first cut, I want something that works correctly and is easy to
> understand and maintain.  We can optimize later if needed.  I think
> most seasoned OpenGL programmers know that glPush/PopAttrib isn't
> exactly a high-performance path.
Ok.

> We definitely need to properly handle the case that a buffer object is
> "deleted" by the user between push/pop.
Well, I was thinking and implementing this back and forth and ended up with 
doing semantically just the same than now.

The problem is that I did not find any exact means of what really needs to 
happen when a pushed buffer object is deleted.
So I am not exactly sure that my initial thoughts are really what should 
happen for this case.
With the next to be sent patch, the currently bound buffer objects are rebound 
with the same name. The current used buffer objects for the vertex array state 
are just the gl_buffer_object instances that we had on push.

This does in the end clean up the current implementation and make it at least 
thread safe. So at least one incremental step ahead ...

Mathias


More information about the mesa-dev mailing list