From c325a56ed0eaa9a66dde4b072978566950bdb649 Mon Sep 17 00:00:00 2001 From: jdryg <makingartstudios@gmail.com> Date: Fri, 26 Feb 2016 18:12:30 +0200 Subject: [PATCH] Allow allocation of DVBs/DIBs larger than the predefined sizes. --- src/bgfx_p.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/bgfx_p.h b/src/bgfx_p.h index 3aa4311b..b776d7c6 100644 --- a/src/bgfx_p.h +++ b/src/bgfx_p.h @@ -2282,12 +2282,14 @@ namespace bgfx return ptr; } + uint32_t allocSize = bx::uint32_max(BGFX_CONFIG_DYNAMIC_INDEX_BUFFER_SIZE, _size); + CommandBuffer& cmdbuf = getCommandBuffer(CommandBuffer::CreateDynamicIndexBuffer); cmdbuf.write(indexBufferHandle); - cmdbuf.write(BGFX_CONFIG_DYNAMIC_INDEX_BUFFER_SIZE); + cmdbuf.write(allocSize); cmdbuf.write(_flags); - m_dynIndexBufferAllocator.add(uint64_t(indexBufferHandle.idx) << 32, BGFX_CONFIG_DYNAMIC_INDEX_BUFFER_SIZE); + m_dynIndexBufferAllocator.add(uint64_t(indexBufferHandle.idx) << 32, allocSize); ptr = m_dynIndexBufferAllocator.alloc(_size); } @@ -2432,12 +2434,14 @@ namespace bgfx return NonLocalAllocator::invalidBlock; } + uint32_t allocSize = bx::uint32_max(BGFX_CONFIG_DYNAMIC_VERTEX_BUFFER_SIZE, _size); + CommandBuffer& cmdbuf = getCommandBuffer(CommandBuffer::CreateDynamicVertexBuffer); cmdbuf.write(vertexBufferHandle); - cmdbuf.write(BGFX_CONFIG_DYNAMIC_VERTEX_BUFFER_SIZE); + cmdbuf.write(allocSize); cmdbuf.write(_flags); - m_dynVertexBufferAllocator.add(uint64_t(vertexBufferHandle.idx)<<32, BGFX_CONFIG_DYNAMIC_VERTEX_BUFFER_SIZE); + m_dynVertexBufferAllocator.add(uint64_t(vertexBufferHandle.idx) << 32, allocSize); ptr = m_dynVertexBufferAllocator.alloc(_size); }