diff options
author | Mike Schuchardt <mikes@lunarg.com> | 2018-06-06 11:58:06 -0600 |
---|---|---|
committer | Mike Schuchardt <mikes@lunarg.com> | 2018-06-06 14:44:30 -0600 |
commit | 3b093d710d2a0536ac4a9913c1f78bcad623c794 (patch) | |
tree | eef72438fcd69184d11142d9766a3cb45ea174d0 /layers | |
parent | a56ed0145f4b281e606f5fb4c2a522eecc221a5a (diff) | |
download | vulkan-validation-layers-3b093d710d2a0536ac4a9913c1f78bcad623c794.tar.gz |
layers: Update to 1.1.76 header
Add unique objects wrappers for
- GetPhysicalDeviceDisplayProperties2KHR
- GetPhysicalDeviceDisplayPlanePropertiesKHR
- GetPhysicalDeviceDisplayPlaneProperties2KHR
- GetDisplayModeProperties2KHR
Move VK_KHR_display functions from interface_functions
no_autogen_list so they get added to the dispatch table
Remove #ifndef __ANDROID__ around VK_KHR_display functions
Update vulkan-headers_revision_android revision to 1.1.76
Change-Id: I924tc35b3075bfac4ca64249c5bf66d3c32a5b60b
Diffstat (limited to 'layers')
-rw-r--r-- | layers/unique_objects.cpp | 68 |
1 files changed, 66 insertions, 2 deletions
diff --git a/layers/unique_objects.cpp b/layers/unique_objects.cpp index d0628beaf..b8931496d 100644 --- a/layers/unique_objects.cpp +++ b/layers/unique_objects.cpp @@ -806,7 +806,6 @@ VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer c free(unwrapped_buffer); } -#ifndef __ANDROID__ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkDisplayPropertiesKHR *pProperties) { instance_layer_data *my_map_data = GetLayerDataPtr(get_dispatch_key(physicalDevice), instance_layer_data_map); @@ -822,6 +821,53 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalD return result; } +VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, + VkDisplayProperties2KHR *pProperties) { + instance_layer_data *my_map_data = GetLayerDataPtr(get_dispatch_key(physicalDevice), instance_layer_data_map); + + VkResult result = + my_map_data->dispatch_table.GetPhysicalDeviceDisplayProperties2KHR(physicalDevice, pPropertyCount, pProperties); + if ((result == VK_SUCCESS || result == VK_INCOMPLETE) && pProperties) { + std::lock_guard<std::mutex> lock(global_lock); + for (uint32_t idx0 = 0; idx0 < *pPropertyCount; ++idx0) { + pProperties[idx0].displayProperties.display = WrapNew(pProperties[idx0].displayProperties.display); + } + } + return result; +} + +VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, + VkDisplayPlanePropertiesKHR *pProperties) { + instance_layer_data *my_map_data = GetLayerDataPtr(get_dispatch_key(physicalDevice), instance_layer_data_map); + + VkResult result = + my_map_data->dispatch_table.GetPhysicalDeviceDisplayPlanePropertiesKHR(physicalDevice, pPropertyCount, pProperties); + if ((result == VK_SUCCESS || result == VK_INCOMPLETE) && pProperties) { + std::lock_guard<std::mutex> lock(global_lock); + for (uint32_t idx0 = 0; idx0 < *pPropertyCount; ++idx0) { + pProperties[idx0].currentDisplay = WrapNew(pProperties[idx0].currentDisplay); + } + } + return result; +} + +VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPlaneProperties2KHR(VkPhysicalDevice physicalDevice, + uint32_t *pPropertyCount, + VkDisplayPlaneProperties2KHR *pProperties) { + instance_layer_data *my_map_data = GetLayerDataPtr(get_dispatch_key(physicalDevice), instance_layer_data_map); + + VkResult result = + my_map_data->dispatch_table.GetPhysicalDeviceDisplayPlaneProperties2KHR(physicalDevice, pPropertyCount, pProperties); + if ((result == VK_SUCCESS || result == VK_INCOMPLETE) && pProperties) { + std::lock_guard<std::mutex> lock(global_lock); + for (uint32_t idx0 = 0; idx0 < *pPropertyCount; ++idx0) { + pProperties[idx0].displayPlaneProperties.currentDisplay = + WrapNew(pProperties[idx0].displayPlaneProperties.currentDisplay); + } + } + return result; +} + VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t *pDisplayCount, VkDisplayKHR *pDisplays) { instance_layer_data *my_map_data = GetLayerDataPtr(get_dispatch_key(physicalDevice), instance_layer_data_map); @@ -859,6 +905,25 @@ VKAPI_ATTR VkResult VKAPI_CALL GetDisplayModePropertiesKHR(VkPhysicalDevice phys return result; } +VKAPI_ATTR VkResult VKAPI_CALL GetDisplayModeProperties2KHR(VkPhysicalDevice physicalDevice, VkDisplayKHR display, + uint32_t *pPropertyCount, VkDisplayModeProperties2KHR *pProperties) { + instance_layer_data *my_map_data = GetLayerDataPtr(get_dispatch_key(physicalDevice), instance_layer_data_map); + { + std::lock_guard<std::mutex> lock(global_lock); + display = Unwrap(display); + } + + VkResult result = + my_map_data->dispatch_table.GetDisplayModeProperties2KHR(physicalDevice, display, pPropertyCount, pProperties); + if (result == VK_SUCCESS && pProperties) { + std::lock_guard<std::mutex> lock(global_lock); + for (uint32_t idx0 = 0; idx0 < *pPropertyCount; ++idx0) { + pProperties[idx0].displayModeProperties.displayMode = WrapNew(pProperties[idx0].displayModeProperties.displayMode); + } + } + return result; +} + VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR *pCapabilities) { instance_layer_data *dev_data = GetLayerDataPtr(get_dispatch_key(physicalDevice), instance_layer_data_map); @@ -869,7 +934,6 @@ VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice p VkResult result = dev_data->dispatch_table.GetDisplayPlaneCapabilitiesKHR(physicalDevice, mode, planeIndex, pCapabilities); return result; } -#endif VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectTagEXT(VkDevice device, const VkDebugMarkerObjectTagInfoEXT *pTagInfo) { layer_data *device_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map); |