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

Method UploadData

libs/drape/vulkan/vulkan_gpu_buffer_impl.hpp:67–81  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

65 }
66
67 void UploadData(ref_ptr<GraphicsContext> context, void const * data, uint32_t elementCount) override
68 {
69 // In Vulkan we must call upload only from FR.
70 ref_ptr<VulkanBaseContext> vulkanContext = context;
71 CHECK(vulkanContext->GetCurrentMemoryCommandBuffer() != nullptr, ());
72
73 uint32_t const currentSize = m_buffer->GetCurrentSize();
74 ASSERT(m_buffer->GetCapacity() >= elementCount + currentSize,
75 ("Not enough memory to upload ", elementCount, " elements"));
76 auto ptr = m_buffer->Map(context, currentSize, elementCount);
77 CHECK(ptr != nullptr, ());
78 m_buffer->UpdateData(ptr, data, 0, elementCount);
79 m_buffer->Unmap(context);
80 m_buffer->Advance(elementCount);
81 }
82
83 void UpdateData(void * destPtr, void const * srcPtr, uint32_t elementOffset, uint32_t elementCount) override
84 {

Callers

nothing calls this directly

Calls 8

ASSERTFunction · 0.85
GetCurrentSizeMethod · 0.45
GetCapacityMethod · 0.45
MapMethod · 0.45
UpdateDataMethod · 0.45
UnmapMethod · 0.45
AdvanceMethod · 0.45

Tested by

no test coverage detected