From: Nicolas Koch Date: Wed, 12 Oct 2016 11:55:46 +0000 (+0200) Subject: radv: Return correct result in EnumeratePhysicalDevices X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=35e2bfa6d912ad3ef57195b0e8f31f21eb64678e;p=mesa.git radv: Return correct result in EnumeratePhysicalDevices If pPhysicalDevices is too small for all physical devices, the driver must return VK_INCOMPLETE. Since only a single physical device is supported, this is only the case when pPhysicalDeviceCount == 0 && pPhysicalDevices != NULL. Signed-off-by: Dave Airlie --- diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 6e06863f8ea..71b1481a5ae 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -295,6 +295,8 @@ VkResult radv_EnumeratePhysicalDevices( } else if (*pPhysicalDeviceCount >= 1) { pPhysicalDevices[0] = radv_physical_device_to_handle(&instance->physicalDevice); *pPhysicalDeviceCount = 1; + } else if (*pPhysicalDeviceCount < instance->physicalDeviceCount) { + return VK_INCOMPLETE; } else { *pPhysicalDeviceCount = 0; }