Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/Vulkan-Loader.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLenny Komow <lenny@lunarg.com>2019-12-13 01:38:07 +0300
committerLenny Komow <lenny@lunarg.com>2019-12-13 02:51:36 +0300
commit2069798558ec7eb9b489ffc69fd1d27eebb0c84e (patch)
tree4d4b23b33a7d7fc07b0149cdf8b2d2daf425ab72
parent16d17ebf3762f24b3eb06e04843efb7f7dbf8438 (diff)
loader: Add custom terminator to tool propertiessdk-1.1.130.0sdk-1.1.130
Since vkGetPhysicalDeviceToolPropertiesEXT is implemented in the layers and not drivers, this changes the terminator to never call into the driver. Change-Id: I3beb92ab5c327672f21a17b857068968099c2345
-rw-r--r--loader/extension_manual.c19
-rw-r--r--loader/extension_manual.h12
-rw-r--r--loader/generated/vk_loader_extensions.c30
-rw-r--r--scripts/loader_extension_generator.py6
4 files changed, 34 insertions, 33 deletions
diff --git a/loader/extension_manual.c b/loader/extension_manual.c
index 490496d7c..b8118fdc8 100644
--- a/loader/extension_manual.c
+++ b/loader/extension_manual.c
@@ -441,3 +441,22 @@ VKAPI_ATTR VkResult VKAPI_CALL terminator_GetDeviceGroupSurfacePresentModes2EXT(
}
#endif // VK_USE_PLATFORM_WIN32_KHR
+
+// ---- VK_EXT_tooling_info extension trampoline/terminators
+
+VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolPropertiesEXT(
+ VkPhysicalDevice physicalDevice,
+ uint32_t* pToolCount,
+ VkPhysicalDeviceToolPropertiesEXT* pToolProperties) {
+ const VkLayerInstanceDispatchTable *disp;
+ VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
+ disp = loader_get_instance_layer_dispatch(physicalDevice);
+ return disp->GetPhysicalDeviceToolPropertiesEXT(unwrapped_phys_dev, pToolCount, pToolProperties);
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceToolPropertiesEXT(
+ VkPhysicalDevice physicalDevice,
+ uint32_t* pToolCount,
+ VkPhysicalDeviceToolPropertiesEXT* pToolProperties) {
+ return VK_SUCCESS;
+}
diff --git a/loader/extension_manual.h b/loader/extension_manual.h
index e07b9102d..fe4287eff 100644
--- a/loader/extension_manual.h
+++ b/loader/extension_manual.h
@@ -104,3 +104,15 @@ VKAPI_ATTR VkResult VKAPI_CALL terminator_GetDeviceGroupSurfacePresentModes2EXT(
VkDevice device,
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
VkDeviceGroupPresentModeFlagsKHR* pModes);
+
+// ---- VK_EXT_tooling_info extension trampoline/terminators
+
+VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolPropertiesEXT(
+ VkPhysicalDevice physicalDevice,
+ uint32_t* pToolCount,
+ VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
+
+VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceToolPropertiesEXT(
+ VkPhysicalDevice physicalDevice,
+ uint32_t* pToolCount,
+ VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
diff --git a/loader/generated/vk_loader_extensions.c b/loader/generated/vk_loader_extensions.c
index 06d9ce829..01c73bee1 100644
--- a/loader/generated/vk_loader_extensions.c
+++ b/loader/generated/vk_loader_extensions.c
@@ -3226,36 +3226,6 @@ VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressEXT(
}
-// ---- VK_EXT_tooling_info extension trampoline/terminators
-
-VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolPropertiesEXT(
- VkPhysicalDevice physicalDevice,
- uint32_t* pToolCount,
- VkPhysicalDeviceToolPropertiesEXT* pToolProperties) {
- const VkLayerInstanceDispatchTable *disp;
- VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
- disp = loader_get_instance_layer_dispatch(physicalDevice);
- if (disp->GetPhysicalDeviceToolPropertiesEXT != NULL) {
- return disp->GetPhysicalDeviceToolPropertiesEXT(unwrapped_phys_dev, pToolCount, pToolProperties);
- } else {
- return VK_SUCCESS;
- }
-}
-
-VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceToolPropertiesEXT(
- VkPhysicalDevice physicalDevice,
- uint32_t* pToolCount,
- VkPhysicalDeviceToolPropertiesEXT* pToolProperties) {
- struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
- struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
- if (NULL == icd_term->dispatch.GetPhysicalDeviceToolPropertiesEXT) {
- loader_log(icd_term->this_instance, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
- "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceToolPropertiesEXT");
- }
- return icd_term->dispatch.GetPhysicalDeviceToolPropertiesEXT(phys_dev_term->phys_dev, pToolCount, pToolProperties);
-}
-
-
// ---- VK_NV_cooperative_matrix extension trampoline/terminators
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixPropertiesNV(
diff --git a/scripts/loader_extension_generator.py b/scripts/loader_extension_generator.py
index bd5abd389..e3f6a00dc 100644
--- a/scripts/loader_extension_generator.py
+++ b/scripts/loader_extension_generator.py
@@ -49,8 +49,7 @@ ADD_INST_CMDS = ['vkCreateInstance',
AVOID_EXT_NAMES = ['VK_EXT_debug_report']
-NULL_CHECK_EXT_NAMES= ['VK_EXT_debug_utils',
- 'VK_EXT_tooling_info']
+NULL_CHECK_EXT_NAMES= ['VK_EXT_debug_utils']
AVOID_CMD_NAMES = ['vkCreateDebugUtilsMessengerEXT',
'vkDestroyDebugUtilsMessengerEXT',
@@ -928,7 +927,8 @@ class LoaderExtensionOutputGenerator(OutputGenerator):
'vkGetDisplayModeProperties2KHR',
'vkGetDisplayPlaneCapabilities2KHR',
'vkGetPhysicalDeviceSurfacePresentModes2EXT',
- 'vkGetDeviceGroupSurfacePresentModes2EXT']
+ 'vkGetDeviceGroupSurfacePresentModes2EXT',
+ 'vkGetPhysicalDeviceToolPropertiesEXT']
for ext_cmd in self.ext_commands:
if (ext_cmd.ext_name in WSI_EXT_NAMES or