diff options
| author | Chia-I Wu <olv@google.com> | 2016-05-06 11:38:37 +0800 |
|---|---|---|
| committer | Tobin Ehlis <tobine@google.com> | 2016-05-09 10:20:18 -0600 |
| commit | c3d4bc74b0b357fab5ef8f7591ff475df48bcd9e (patch) | |
| tree | a0432fae3fdb87aaa92b0aae559d1a3fceafdcba /layers | |
| parent | bec0e4b466c232dce9a28c8a4430029d70fb0ff3 (diff) | |
| download | usermoji-c3d4bc74b0b357fab5ef8f7591ff475df48bcd9e.tar.xz | |
core_validation: improve EnumerateDeviceExtensionProperties
Call down the next layer unless pLayerName is core_validation.
Diffstat (limited to 'layers')
| -rw-r--r-- | layers/core_validation.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 55a4e773..44d1dcd9 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -9742,13 +9742,14 @@ DebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugR VKAPI_ATTR VkResult VKAPI_CALL EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pCount, VkExtensionProperties *pProperties) { - if (pLayerName == NULL) { - dispatch_key key = get_dispatch_key(physicalDevice); - layer_data *my_data = get_my_data_ptr(key, layer_data_map); - return my_data->instance_dispatch_table->EnumerateDeviceExtensionProperties(physicalDevice, NULL, pCount, pProperties); - } else { + if (pLayerName && !strcmp(pLayerName, global_layer.layerName)) return util_GetExtensionProperties(0, NULL, pCount, pProperties); - } + + assert(physicalDevice); + + dispatch_key key = get_dispatch_key(physicalDevice); + layer_data *my_data = get_my_data_ptr(key, layer_data_map); + return my_data->instance_dispatch_table->EnumerateDeviceExtensionProperties(physicalDevice, NULL, pCount, pProperties); } VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetDeviceProcAddr(VkDevice dev, const char *funcName) { @@ -10096,7 +10097,8 @@ vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t *pCou VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pCount, VkExtensionProperties *pProperties) { - return core_validation::EnumerateDeviceExtensionProperties(physicalDevice, pLayerName, pCount, pProperties); + // the layer command handles VK_NULL_HANDLE just fine + return core_validation::EnumerateDeviceExtensionProperties(VK_NULL_HANDLE, pLayerName, pCount, pProperties); } VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkDevice dev, const char *funcName) { |
