-void UniformBuffer::Reserve(uint32_t size)
-{
- if(mBuffer && mMemory)
- {
- Unmap();
- mMemory = nullptr;
- }
-
- mSize = size;
-
- auto createInfo = Graphics::BufferCreateInfo()
- .SetSize(mSize)
- .SetBufferPropertiesFlags(0 | Graphics::BufferPropertiesFlagBit::CPU_ALLOCATED)
- .SetUsage(mUsageFlags);
-
- mBuffer = mController->CreateBuffer(createInfo, std::move(mBuffer));
-
- mMapBufferInfo.buffer = mBuffer.get();
- mMapBufferInfo.usage = 0 | Graphics::MemoryUsageFlagBits::WRITE;
- mMapBufferInfo.offset = 0;
- mMapBufferInfo.size = size;
-
- if(mPersistentMappedEnabled)
- {
- Map();
- }
-}