Good Morning, On Monday, June 13, 2011 00:39:51 Marek Olšák wrote: > 2011/6/12 Mathias Fröhlich <mathias.froehl...@gmx.net>: > > There is the implementation of glBufferData which detaches itself from > > the underlying pipe_resource by unreferencing the old one and creating a > > new one. > > I was looking into this issue and realized glBufferData is a special > case, it adds the _NEW_BUFFER_OBJECT flag to dirty states, so we can > check for it and rebind vertex arrays accordingly in that particular > context. This approach may still fail with multiple contexts, because > AFAIK the other contexts won't get that flag.
Well, that kind of dirtying is what I expected to happen for this higher level case. For the multiple context case, I wonder what is exactly guaranteeed by the API. May be it is sufficient to set the _NEW_BUFFER_OBJECT flag on every current context change to be safe? At least for context changes where bo's could be shared... And for the mutiple thread case where a shared buffer object is shared between multiple context just active in their own threads, may be the API OpenGL guarantee is sufficiently sloppy to see the the new data in an other thread somehow later? Does anybody know the exact details of the standard what needs to happen in this case? Greetings Mathias _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev