MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / mapVkMemory

Function mapVkMemory

source/vulkan/vulkancommon.cpp:178–193  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

176}
177
178U32 mapVkMemory(VkDeviceMemory memory, void* pData, VkDeviceSize len) {
179 BOXEDWINE_CRITICAL_SECTION_WITH_MUTEX(vmemoryMutex);
180 std::shared_ptr<VMemory> m = getVMemory(memory);
181 if (!m) {
182 kpanic("Wasn't expecting mapVkMemory before registerVkMemoryAllocation");
183 }
184 if (m->mappedAddress) {
185 kpanic("Wasn't expecting mapVkMemory to be called twice on the same memory");
186 }
187 if ((S32)len == -1) {
188 len = m->size;
189 }
190 m->mappedLen = len;
191 m->mappedAddress = KThread::currentThread()->memory->mapNativeMemory(pData, (U32)len);
192 return m->mappedAddress;
193}
194
195void unmapVkMemory(VkDeviceMemory memory) {
196 BOXEDWINE_CRITICAL_SECTION_WITH_MUTEX(vmemoryMutex);

Callers 3

vk_MapMemoryFunction · 0.85
vk_MapMemory2Function · 0.85
vk_MapMemory2KHRFunction · 0.85

Calls 3

getVMemoryFunction · 0.85
kpanicFunction · 0.85
mapNativeMemoryMethod · 0.80

Tested by

no test coverage detected