| 176 | } |
| 177 | |
| 178 | U32 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 | |
| 195 | void unmapVkMemory(VkDeviceMemory memory) { |
| 196 | BOXEDWINE_CRITICAL_SECTION_WITH_MUTEX(vmemoryMutex); |
no test coverage detected