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
diff --git a/layers/unique_objects.cpp b/layers/unique_objects.cpp
index d0628be..b893149 100644
--- a/layers/unique_objects.cpp
+++ b/layers/unique_objects.cpp
@@ -806,7 +806,6 @@
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 @@
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 @@
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 @@
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);