A vrend_context structure contains a current vrend_sub_context, which in turn keeps references on various resources like textures, VBOs, index buffers, etc. which are used for actual drawing operations. Certain actions can change the current sub-context in use. There is a split of what resources are cleaned up directly as part of a context destruction and which are handled by the sub-context destruction. VBOs, while referenced by sub-contexts, are cleaned up by the context. To do that, it uses the at the time of destruction current sub-context to access these. As a result, only the VBOs in the active sub-context are cleaned up; every other sub-context referenced by the context will keep references to the VBOs used. The responsibility of VBO dereferencing is moved to the destruction of the sub-context, so all VBOs, not just the one from the current sub-context, are dereferenced during the destruction of a context. Closes #198 Reviewed-by: Gert Wollny <gert.wollny@collabora.com>macos/master
parent
8c0906564e
commit
53774760dd
Loading…
Reference in new issue