anv: Support version overrides
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 10 Nov 2017 03:17:29 +0000 (19:17 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 7 Mar 2018 20:13:47 +0000 (12:13 -0800)
While always sketchy to do, this is useful for debugging.

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
src/intel/vulkan/anv_extensions_gen.py

index ba5424d..9bcb631 100644 (file)
@@ -134,10 +134,12 @@ _TEMPLATE_C = Template(COPYRIGHT + """
                          VK_USE_PLATFORM_XCB_KHR || \\
                          VK_USE_PLATFORM_XLIB_KHR)
 
+static const uint32_t MAX_API_VERSION = ${MAX_API_VERSION.c_vk_version()};
+
 VkResult anv_EnumerateInstanceVersion(
     uint32_t*                                   pApiVersion)
 {
-    *pApiVersion = ${MAX_API_VERSION.c_vk_version()};
+    *pApiVersion = MAX_API_VERSION;
     return VK_SUCCESS;
 }
 
@@ -158,6 +160,10 @@ anv_physical_device_api_version(struct anv_physical_device *device)
 {
     uint32_t version = 0;
 
+    uint32_t override = vk_get_version_override();
+    if (override)
+        return MIN2(override, MAX_API_VERSION);
+
 %for version in API_VERSIONS:
     if (!(${version.enable}))
         return version;