diff options
Diffstat (limited to 'vulkan/libvulkan/api.cpp')
-rw-r--r-- | vulkan/libvulkan/api.cpp | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/vulkan/libvulkan/api.cpp b/vulkan/libvulkan/api.cpp index 3db625fbe7..21a6c895bd 100644 --- a/vulkan/libvulkan/api.cpp +++ b/vulkan/libvulkan/api.cpp @@ -1131,16 +1131,13 @@ VkResult EnumerateInstanceExtensionProperties( return VK_ERROR_INITIALIZATION_FAILED; if (pLayerName) { - const VkExtensionProperties* props; - uint32_t count; - const Layer* layer = FindLayer(pLayerName); - if (layer) { - props = GetLayerInstanceExtensions(*layer, count); - } else { - props = nullptr; - count = 0; - } + if (!layer) + return VK_ERROR_LAYER_NOT_PRESENT; + + uint32_t count; + const VkExtensionProperties* props = + GetLayerInstanceExtensions(*layer, count); if (!pProperties || *pPropertyCount > count) *pPropertyCount = count; @@ -1196,16 +1193,13 @@ VkResult EnumerateDeviceExtensionProperties( uint32_t* pPropertyCount, VkExtensionProperties* pProperties) { if (pLayerName) { - const VkExtensionProperties* props; - uint32_t count; - const Layer* layer = FindLayer(pLayerName); - if (layer && IsLayerGlobal(*layer)) { - props = GetLayerDeviceExtensions(*layer, count); - } else { - props = nullptr; - count = 0; - } + if (!layer || !IsLayerGlobal(*layer)) + return VK_ERROR_LAYER_NOT_PRESENT; + + uint32_t count; + const VkExtensionProperties* props = + GetLayerDeviceExtensions(*layer, count); if (!pProperties || *pPropertyCount > count) *pPropertyCount = count; |