anv/device: Add a better version check.
authorJason Ekstrand <jason.ekstrand@intel.com>
Thu, 28 Jan 2016 16:18:50 +0000 (08:18 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 28 Jan 2016 16:19:40 +0000 (08:19 -0800)
We now check that the requested version is precicely within the range of
versions that we support.

src/vulkan/anv_device.c

index c82002780ebb656840b1dd9d3b061f0db68c3eab..27968bdf3714d7d5162c956cf07a2652041a6573 100644 (file)
@@ -214,8 +214,11 @@ VkResult anv_CreateInstance(
 
    assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO);
 
-   if (pCreateInfo->pApplicationInfo->apiVersion > VK_MAKE_VERSION(1, 0, 0xfff))
+   uint32_t client_version = pCreateInfo->pApplicationInfo->apiVersion;
+   if (VK_MAKE_VERSION(1, 0, 0) < client_version ||
+       client_version > VK_MAKE_VERSION(1, 0, 2)) {
       return vk_error(VK_ERROR_INCOMPATIBLE_DRIVER);
+   }
 
    for (uint32_t i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
       bool found = false;