Browse Source

vulkan: remove unused constant and use correct sizes for mapping
the local uniform stream buffer

niki 1 year ago
parent
commit
295fb214d5

+ 4 - 2
src/modules/graphics/vulkan/Graphics.cpp

@@ -2877,12 +2877,14 @@ void Graphics::mapLocalUniformData(void *data, size_t size, VkDescriptorBufferIn
 	if (localUniformBuffer->getUsableSize() < alignedSize)
 		localUniformBuffer.set(new StreamBuffer(this, BUFFERUSAGE_UNIFORM, localUniformBuffer->getSize() * 2), Acquire::NORETAIN);
 
-	auto mapInfo = localUniformBuffer->map(alignedSize);
+	auto mapInfo = localUniformBuffer->map(size);
 	memcpy(mapInfo.data, data, size);
 
 	bufferInfo.buffer = (VkBuffer)localUniformBuffer->getHandle();
-	bufferInfo.offset = localUniformBuffer->unmap(alignedSize);
+	bufferInfo.offset = localUniformBuffer->unmap(size);
 	bufferInfo.range = size;
+
+	localUniformBuffer->markUsed(alignedSize);
 }
 
 void Graphics::createColorResources()

+ 0 - 1
src/modules/graphics/vulkan/Shader.cpp

@@ -36,7 +36,6 @@ namespace graphics
 namespace vulkan
 {
 
-static const uint32_t STREAMBUFFER_DEFAULT_SIZE = 16;
 static const uint32_t DESCRIPTOR_POOL_SIZE = 1000;
 
 class BindingMapper