From: Jason Ekstrand Date: Thu, 25 Feb 2016 16:52:35 +0000 (-0800) Subject: anv/device: Properly handle apiVersion == 0 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c32273d246e8bf46924d8852d1b3fd1d34194df2;p=mesa.git anv/device: Properly handle apiVersion == 0 From the Vulkan 1.0 spec section 3.2: "If apiVersion is 0 the implementation must ignore it" --- diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 7a5cb234ac5..59930552f59 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -214,9 +214,14 @@ VkResult anv_CreateInstance( assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO); - uint32_t client_version = pCreateInfo->pApplicationInfo ? - pCreateInfo->pApplicationInfo->apiVersion : - VK_MAKE_VERSION(1, 0, 0); + uint32_t client_version; + if (pCreateInfo->pApplicationInfo && + pCreateInfo->pApplicationInfo->apiVersion != 0) { + client_version = pCreateInfo->pApplicationInfo->apiVersion; + } else { + client_version = VK_MAKE_VERSION(1, 0, 0); + } + if (VK_MAKE_VERSION(1, 0, 0) > client_version || client_version > VK_MAKE_VERSION(1, 0, 3)) { return vk_errorf(VK_ERROR_INCOMPATIBLE_DRIVER,