From: Iago Toral Quiroga Date: Fri, 29 Nov 2019 10:06:25 +0000 (+0100) Subject: v3dv: implement vkEnumerateDeviceExtensionProperties X-Git-Tag: upstream/21.0.0~4295 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c2dd7bf63431ea0d4fabb3a71647be4ae55e48d7;p=platform%2Fupstream%2Fmesa.git v3dv: implement vkEnumerateDeviceExtensionProperties Part-of: --- diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index 73d9deb..8a15f6c 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -759,9 +759,22 @@ v3dv_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkExtensionProperties *pProperties) { - /* FIXME: stub */ + /* We don't support any layers */ + if (pLayerName) + return vk_error(NULL, VK_ERROR_LAYER_NOT_PRESENT); - return VK_SUCCESS; + V3DV_FROM_HANDLE(v3dv_physical_device, device, physicalDevice); + VK_OUTARRAY_MAKE(out, pProperties, pPropertyCount); + + for (int i = 0; i < V3DV_DEVICE_EXTENSION_COUNT; i++) { + if (device->supported_extensions.extensions[i]) { + vk_outarray_append(&out, prop) { + *prop = v3dv_device_extensions[i]; + } + } + } + + return vk_outarray_status(&out); } VkResult