浏览代码

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

niki 1 年之前
父节点
当前提交
295fb214d5
共有 2 个文件被更改,包括 4 次插入3 次删除
  1. 4 2
      src/modules/graphics/vulkan/Graphics.cpp
  2. 0 1
      src/modules/graphics/vulkan/Shader.cpp

+ 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