diff options
Diffstat (limited to 'icd/generated/function_definitions.h')
| -rw-r--r-- | icd/generated/function_definitions.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/icd/generated/function_definitions.h b/icd/generated/function_definitions.h index 0d4f3bdc..da8a0eab 100644 --- a/icd/generated/function_definitions.h +++ b/icd/generated/function_definitions.h @@ -52,8 +52,10 @@ static VKAPI_ATTR void VKAPI_CALL DestroyInstance( { if (instance) { - for (const auto physical_device : physical_device_map.at(instance)) + for (const auto physical_device : physical_device_map.at(instance)) { + display_map.erase(physical_device); DestroyDispObjHandle((void*)physical_device); + } physical_device_map.erase(instance); DestroyDispObjHandle((void*)instance); } @@ -2526,7 +2528,13 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPropertiesKHR( uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties) { -//Not a CREATE or DESTROY function + if (!pProperties) { + *pPropertyCount = 1; + } else { + unique_lock_t lock(global_lock); + pProperties[0].display = (VkDisplayKHR)global_unique_handle++; + display_map[physicalDevice].insert(pProperties[0].display); + } return VK_SUCCESS; } |
