aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Ashburn <jon@lunarg.com>2016-06-30 10:21:55 -0600
committerJon Ashburn <jon@lunarg.com>2016-06-30 11:18:44 -0600
commit00841d30978d944ecffa5723a09312e07de6846f (patch)
treec2e3ae2e1d91803aa427e63b5add0e9e31d4779e
parent9323e68e7766b5b1da61fec1eae72d4bd4895bb7 (diff)
downloadusermoji-00841d30978d944ecffa5723a09312e07de6846f.tar.xz
layers: Fix compilation errors for KHR_display ext
For Android remove KHR_display entry points from intercept generation and from header files. Change-Id: Ic1386a94a2229c45a1ffaac3651326324105351e
-rw-r--r--layers/object_tracker.h4
-rw-r--r--layers/unique_objects.h8
-rwxr-xr-xvk-layer-generate.py10
3 files changed, 18 insertions, 4 deletions
diff --git a/layers/object_tracker.h b/layers/object_tracker.h
index 4bba6985..67361ed4 100644
--- a/layers/object_tracker.h
+++ b/layers/object_tracker.h
@@ -153,6 +153,7 @@ static void createInstanceRegisterExtensions(const VkInstanceCreateInfo *pCreate
(PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)gpa(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR");
pDisp->GetPhysicalDeviceSurfacePresentModesKHR =
(PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)gpa(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR");
+#ifndef __ANDROID__
pDisp->GetPhysicalDeviceDisplayPropertiesKHR =
(PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)gpa(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR");
pDisp->GetPhysicalDeviceDisplayPlanePropertiesKHR =
@@ -167,6 +168,7 @@ static void createInstanceRegisterExtensions(const VkInstanceCreateInfo *pCreate
(PFN_vkGetDisplayPlaneCapabilitiesKHR)gpa(instance, "vkGetDisplayPlaneCapabilitiesKHR");
pDisp->CreateDisplayPlaneSurfaceKHR =
(PFN_vkCreateDisplayPlaneSurfaceKHR)gpa(instance, "vkCreateDisplayPlaneSurfaceKHR");
+#endif
#if VK_USE_PLATFORM_WIN32_KHR
pDisp->CreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR)gpa(instance, "vkCreateWin32SurfaceKHR");
@@ -1032,6 +1034,7 @@ VkResult explicit_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchai
return result;
}
+#ifndef __ANDROID__
VkResult explicit_GetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties)
{
bool skipCall = false;
@@ -1078,6 +1081,7 @@ VkResult explicit_GetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice, V
}
return result;
}
+#endif
// TODO: Add special case to codegen to cover validating all the pipelines instead of just the first
VkResult explicit_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount,
diff --git a/layers/unique_objects.h b/layers/unique_objects.h
index bd42342b..398150a6 100644
--- a/layers/unique_objects.h
+++ b/layers/unique_objects.h
@@ -89,6 +89,7 @@ static void createInstanceRegisterExtensions(const VkInstanceCreateInfo *pCreate
(PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)gpa(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR");
// KHR_display
+#ifndef __ANDROID__
pDisp->GetPhysicalDeviceDisplayPropertiesKHR = (PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)gpa(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR");
pDisp->GetPhysicalDeviceDisplayPlanePropertiesKHR = (PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)gpa(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR");
pDisp->GetDisplayPlaneSupportedDisplaysKHR = (PFN_vkGetDisplayPlaneSupportedDisplaysKHR)gpa(instance, "vkGetDisplayPlaneSupportedDisplaysKHR");
@@ -96,6 +97,7 @@ static void createInstanceRegisterExtensions(const VkInstanceCreateInfo *pCreate
pDisp->CreateDisplayModeKHR = (PFN_vkCreateDisplayModeKHR)gpa(instance, "vkCreateDisplayModeKHR");
pDisp->GetDisplayPlaneCapabilitiesKHR = (PFN_vkGetDisplayPlaneCapabilitiesKHR)gpa(instance, "vkGetDisplayPlaneCapabilitiesKHR");
pDisp->CreateDisplayPlaneSurfaceKHR = (PFN_vkCreateDisplayPlaneSurfaceKHR)gpa(instance, "vkCreateDisplayPlaneSurfaceKHR");
+#endif
#ifdef VK_USE_PLATFORM_WIN32_KHR
pDisp->CreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR)gpa(instance, "vkCreateWin32SurfaceKHR");
@@ -418,6 +420,7 @@ VkResult explicit_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchai
return result;
}
+ #ifndef __ANDROID__
VkResult explicit_GetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties)
{
layer_data *my_map_data = get_my_data_ptr(get_dispatch_key(physicalDevice), layer_data_map);
@@ -465,9 +468,9 @@ VkResult explicit_GetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalD
if ((*pDisplayCount > 0) && pDisplays) {
std::lock_guard<std::mutex> lock(global_lock);
for (uint32_t i = 0; i < *pDisplayCount; i++) {
- auto it = my_map_data->unique_id_mapping.find(reinterpret_cast<uint64_t> (pDisplays[i]));
+ auto it = my_map_data->unique_id_mapping.find(reinterpret_cast<const uint64_t &> (pDisplays[i]));
assert (it != my_map_data->unique_id_mapping.end());
- pDisplays[i] = reinterpret_cast<VkDisplayKHR> (it->second);
+ pDisplays[i] = reinterpret_cast<VkDisplayKHR&> (it->second);
}
}
}
@@ -508,4 +511,5 @@ VkResult explicit_GetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice, V
delete[] local_pProperties;
return result;
}
+#endif
} // namespace unique_objects
diff --git a/vk-layer-generate.py b/vk-layer-generate.py
index 977fd135..3ead8c01 100755
--- a/vk-layer-generate.py
+++ b/vk-layer-generate.py
@@ -1391,6 +1391,13 @@ class ObjectTrackerSubcommand(Subcommand):
'vkGetDisplayPlaneCapabilitiesKHR',
'vkCreateDisplayPlaneSurfaceKHR',
]
+ additional_android_instance_extensions = [
+ 'vkDestroySurfaceKHR',
+ 'vkGetPhysicalDeviceSurfaceSupportKHR',
+ 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
+ 'vkGetPhysicalDeviceSurfaceFormatsKHR',
+ 'vkGetPhysicalDeviceSurfacePresentModesKHR',
+ ]
if self.wsi == 'Win32':
instance_extensions=[('msg_callback_get_proc_addr', []),
('wsi_enabled',
@@ -1399,7 +1406,7 @@ class ObjectTrackerSubcommand(Subcommand):
elif self.wsi == 'Android':
instance_extensions=[('msg_callback_get_proc_addr', []),
('wsi_enabled',
- ['vkCreateAndroidSurfaceKHR'] + additional_instance_extensions)]
+ ['vkCreateAndroidSurfaceKHR'] + additional_android_instance_extensions)]
elif self.wsi == 'Xcb' or self.wsi == 'Xlib' or self.wsi == 'Wayland' or self.wsi == 'Mir':
instance_extensions=[('msg_callback_get_proc_addr', []),
('wsi_enabled',
@@ -1723,7 +1730,6 @@ class UniqueObjectsSubcommand(Subcommand):
('win32_enabled', ['vkCreateWin32SurfaceKHR'])]
elif self.wsi == 'Android':
instance_extensions=[('wsi_enabled', surface_wsi_instance_exts),
- ('display_enabled', display_wsi_instance_exts),
('android_enabled', ['vkCreateAndroidSurfaceKHR'])]
elif self.wsi == 'Xcb' or self.wsi == 'Xlib' or self.wsi == 'Wayland' or self.wsi == 'Mir':
instance_extensions=[('wsi_enabled', surface_wsi_instance_exts),