| 18 | uint32_t constexpr kUniformBufferSizeInBytes = 16 * 1024; |
| 19 | |
| 20 | VulkanProgramParamsSetter::UniformBuffer CreateUniformBuffer(VkDevice device, |
| 21 | ref_ptr<dp::vulkan::VulkanObjectManager> objectManager, |
| 22 | uint32_t & offsetAlignment, uint32_t & sizeAlignment) |
| 23 | { |
| 24 | using namespace dp::vulkan; |
| 25 | auto constexpr kUniformBuffer = VulkanMemoryManager::ResourceType::Uniform; |
| 26 | |
| 27 | VulkanProgramParamsSetter::UniformBuffer result; |
| 28 | result.m_object = objectManager->CreateBuffer(kUniformBuffer, kUniformBufferSizeInBytes, 0 /* batcherHash */); |
| 29 | VkMemoryRequirements memReqs = {}; |
| 30 | vkGetBufferMemoryRequirements(device, result.m_object.m_buffer, &memReqs); |
| 31 | sizeAlignment = objectManager->GetMemoryManager().GetSizeAlignment(memReqs); |
| 32 | offsetAlignment = objectManager->GetMemoryManager().GetOffsetAlignment(kUniformBuffer); |
| 33 | |
| 34 | result.m_pointer = objectManager->MapUnsafe(result.m_object); |
| 35 | return result; |
| 36 | } |
| 37 | } // namespace |
| 38 | |
| 39 | VulkanProgramParamsSetter::VulkanProgramParamsSetter(ref_ptr<dp::vulkan::VulkanBaseContext> context, |
no test coverage detected