turnip: Fix result of vkEnumerate*ExtensionProperties

Given an unsupported layer name, the functions must return
VK_ERROR_LAYER_NOT_PRESENT.
This commit is contained in:
Chad Versace 2018-11-07 00:01:03 -07:00 committed by Chia-I Wu
parent ee835c7790
commit 3ec87d56bd
1 changed files with 9 additions and 0 deletions

View File

@ -1176,6 +1176,10 @@ tu_EnumerateInstanceExtensionProperties(const char *pLayerName,
{
VK_OUTARRAY_MAKE(out, pProperties, pPropertyCount);
/* We spport no lyaers */
if (pLayerName)
return vk_error(NULL, VK_ERROR_LAYER_NOT_PRESENT);
for (int i = 0; i < TU_INSTANCE_EXTENSION_COUNT; i++) {
if (tu_supported_instance_extensions.extensions[i]) {
vk_outarray_append(&out, prop) { *prop = tu_instance_extensions[i]; }
@ -1191,9 +1195,14 @@ tu_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,
uint32_t *pPropertyCount,
VkExtensionProperties *pProperties)
{
/* We spport no lyaers */
TU_FROM_HANDLE(tu_physical_device, device, physicalDevice);
VK_OUTARRAY_MAKE(out, pProperties, pPropertyCount);
/* We spport no lyaers */
if (pLayerName)
return vk_error(NULL, VK_ERROR_LAYER_NOT_PRESENT);
for (int i = 0; i < TU_DEVICE_EXTENSION_COUNT; i++) {
if (device->supported_extensions.extensions[i]) {
vk_outarray_append(&out, prop) { *prop = tu_device_extensions[i]; }