MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-Tools / DestroyDevice

Function DestroyDevice

icd/generated/function_definitions.h:192–216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

190 return VK_SUCCESS;
191}
192static VKAPI_ATTR void VKAPI_CALL DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) {
193 unique_lock_t lock(global_lock);
194 // First destroy sub-device objects
195 // Destroy Queues
196 for (auto queue_family_map_pair : queue_map[device]) {
197 for (auto index_queue_pair : queue_map[device][queue_family_map_pair.first]) {
198 DestroyDispObjHandle((void*)index_queue_pair.second);
199 }
200 }
201
202 for (auto& cp : command_pool_map[device]) {
203 for (auto& cb : command_pool_buffer_map[cp]) {
204 DestroyDispObjHandle((void*)cb);
205 }
206 command_pool_buffer_map.erase(cp);
207 }
208 command_pool_map[device].clear();
209
210 queue_map.erase(device);
211 buffer_map.erase(device);
212 image_memory_size_map.erase(device);
213 // Now destroy device
214 DestroyDispObjHandle((void*)device);
215 // TODO: If emulating specific device caps, will need to add intelligence here
216}
217static VKAPI_ATTR VkResult VKAPI_CALL EnumerateInstanceExtensionProperties(const char* pLayerName, uint32_t* pPropertyCount,
218 VkExtensionProperties* pProperties) {
219 // If requesting number of extensions, return that

Callers

nothing calls this directly

Calls 1

DestroyDispObjHandleFunction · 0.85

Tested by

no test coverage detected