mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-11 21:58:31 +09:00
[Fix] (MG_State/Buffer): ignore 0-sized reallocation
This commit is contained in:
@@ -193,8 +193,10 @@ namespace MG_GL::GL {
|
|||||||
if (buffer == 0) return;
|
if (buffer == 0) return;
|
||||||
auto& bufferObj = *MG_State_T::bufferState->GetOrCreateBufferObject(buffer);
|
auto& bufferObj = *MG_State_T::bufferState->GetOrCreateBufferObject(buffer);
|
||||||
if (bufferObj.isDynamic) return; // Dynamic buffer should be created by glDraw*
|
if (bufferObj.isDynamic) return; // Dynamic buffer should be created by glDraw*
|
||||||
|
if (size <= 0) return; // ignore 0-sized reallocation
|
||||||
|
|
||||||
bufferObj.dirty = false;
|
bufferObj.dirty = false;
|
||||||
|
|
||||||
Diligent::IBuffer*& pBuffer = MG_Diligent::g_BufferMap[buffer];
|
Diligent::IBuffer*& pBuffer = MG_Diligent::g_BufferMap[buffer];
|
||||||
|
|
||||||
Diligent::BufferDesc BuffDesc;
|
Diligent::BufferDesc BuffDesc;
|
||||||
@@ -226,7 +228,7 @@ namespace MG_GL::GL {
|
|||||||
BuffDesc.Name = name.c_str();
|
BuffDesc.Name = name.c_str();
|
||||||
BuffDesc.Usage = Diligent::USAGE_DEFAULT;
|
BuffDesc.Usage = Diligent::USAGE_DEFAULT;
|
||||||
|
|
||||||
if (!pBuffer || (pBuffer && pBuffer->GetDesc().Size != bufferObj.data.size())) {
|
if (!pBuffer || (pBuffer && pBuffer->GetDesc().Size != bufferObj.data.size()) ) {
|
||||||
if (pBuffer) {
|
if (pBuffer) {
|
||||||
pBuffer->Release();
|
pBuffer->Release();
|
||||||
pBuffer = nullptr;
|
pBuffer = nullptr;
|
||||||
|
|||||||
Reference in New Issue
Block a user