Skip to content

vrend: Move dereferencing of VBOs from destroy_context to destroy_sub_context.

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.

Merge request reports