Clear out VAOs properly.
This commit is contained in:
@@ -92,7 +92,7 @@ U64 LLVBOPool::sBytesPooled = 0;
|
||||
U64 LLVBOPool::sIndexBytesPooled = 0;
|
||||
std::vector<U32> LLVBOPool::sPendingDeletions;
|
||||
|
||||
std::list<U32> LLVertexBuffer::sAvailableVAOName;
|
||||
std::vector<U32> LLVertexBuffer::sAvailableVAOName;
|
||||
U32 LLVertexBuffer::sCurVAOName = 1;
|
||||
|
||||
U64 LLVertexBuffer::sAllocatedIndexBytes = 0;
|
||||
@@ -480,8 +480,8 @@ U32 LLVertexBuffer::getVAOName()
|
||||
|
||||
if (!sAvailableVAOName.empty())
|
||||
{
|
||||
ret = sAvailableVAOName.front();
|
||||
sAvailableVAOName.pop_front();
|
||||
ret = sAvailableVAOName.back();
|
||||
sAvailableVAOName.pop_back();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -998,8 +998,8 @@ void LLVertexBuffer::cleanupClass()
|
||||
|
||||
if (!sAvailableVAOName.empty())
|
||||
{
|
||||
glDeleteVertexArrays(1, &sAvailableVAOName.front());
|
||||
sAvailableVAOName.pop_front();
|
||||
glDeleteVertexArrays(sAvailableVAOName.size(), sAvailableVAOName.data());
|
||||
sAvailableVAOName.clear();
|
||||
}
|
||||
sLastMask = 0;
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ public:
|
||||
static LLVBOPool sStreamIBOPool;
|
||||
static LLVBOPool sDynamicIBOPool;
|
||||
|
||||
static std::list<U32> sAvailableVAOName;
|
||||
static std::vector<U32> sAvailableVAOName;
|
||||
static U32 sCurVAOName;
|
||||
|
||||
static bool sUseStreamDraw;
|
||||
|
||||
Reference in New Issue
Block a user