MCPcopy Create free account
hub / github.com/comaps/comaps / CreateUniformBuffer

Function CreateUniformBuffer

libs/shaders/vulkan_program_params.cpp:20–36  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18uint32_t constexpr kUniformBufferSizeInBytes = 16 * 1024;
19
20VulkanProgramParamsSetter::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
39VulkanProgramParamsSetter::VulkanProgramParamsSetter(ref_ptr<dp::vulkan::VulkanBaseContext> context,

Callers 2

ApplyBytesMethod · 0.85

Calls 4

CreateBufferMethod · 0.80
GetSizeAlignmentMethod · 0.80
GetOffsetAlignmentMethod · 0.80
MapUnsafeMethod · 0.80

Tested by

no test coverage detected