bugfixes and gl driver removal of context data record on delete

This commit is contained in:
tuxerr
2018-06-11 10:22:30 -07:00
committed by Baldur Karlsson
parent cc9d50cf2e
commit 9b33a73631
+9 -1
View File
@@ -802,7 +802,7 @@ GLResourceRecord *WrappedOpenGL::GetContextRecord()
}
else
{
ContextData dat = GetCtxData();
ContextData &dat = GetCtxData();
dat.CreateResourceRecord(this, GetCtx().ctx);
return dat.m_ContextDataRecord;
}
@@ -865,6 +865,14 @@ void WrappedOpenGL::DeleteContext(void *contextHandle)
if(ctxdata.m_ClientMemoryIBO)
glDeleteBuffers(1, &ctxdata.m_ClientMemoryIBO);
if(ctxdata.m_ContextDataRecord)
{
RDCASSERT(ctxdata.m_ContextDataRecord->GetRefCount() == 1);
ctxdata.m_ContextDataRecord->Delete(GetResourceManager());
GetResourceManager()->ReleaseCurrentResource(ctxdata.m_ContextDataResourceID);
ctxdata.m_ContextDataRecord = NULL;
}
for(auto it = m_LastContexts.begin(); it != m_LastContexts.end(); ++it)
{
if(it->ctx == contextHandle)