Allow custom input descriptors

This commit is contained in:
2023-09-01 14:59:11 +02:00
parent df4194be51
commit be7a48dc09
7 changed files with 40 additions and 21 deletions

View File

@@ -189,6 +189,18 @@ namespace openVulkanoCpp::Vulkan
}
}
UniformBuffer* ResourceManager::CreateUniformBuffer(const DescriptorSetLayoutBinding& binding, size_t size, void* data, uint32_t setId)
{
const std::unique_lock lock(mutex);
const vk::DeviceSize allocSize = Utils::Align(size, uniformBufferAlignment);
auto buffer = CreateDeviceOnlyBufferWithData(allocSize, vk::BufferUsageFlagBits::eUniformBuffer, data);
UniformBuffer* uBuffer = new UniformBuffer();
uBuffer->Init(buffer, 0, allocSize, GetDescriptorLayoutSet(binding), binding, setId);
return uBuffer;
}
vk::DescriptorSetLayout* ResourceManager::GetDescriptorLayoutSet(const DescriptorSetLayoutBinding& descriptorSetLayoutBinding)
{
auto& layout = descriptorSetLayoutCache[descriptorSetLayoutBinding];