meson: only build imgui when needed
[mesa.git] / src / vulkan / util / vk_util.c
index 769e69062adbc7a35e9438a0bb3b76296d1b177f..cf06b1f44c4b1fc79a8b246f0d04af2b38a0362a 100644 (file)
 
 uint32_t vk_get_driver_version(void)
 {
-   const char *minor_string = strchr(VERSION, '.');
+   const char *minor_string = strchr(PACKAGE_VERSION, '.');
    const char *patch_string = minor_string ? strchr(minor_string + 1, '.') : NULL;
-   int major = atoi(VERSION);
+   int major = atoi(PACKAGE_VERSION);
    int minor = minor_string ? atoi(minor_string + 1) : 0;
    int patch = patch_string ? atoi(patch_string + 1) : 0;
-   if (strstr(VERSION, "devel")) {
+   if (strstr(PACKAGE_VERSION, "devel")) {
       if (patch == 0) {
          patch = 99;
          if (minor == 0) {
@@ -47,3 +47,23 @@ uint32_t vk_get_driver_version(void)
    }
    return VK_MAKE_VERSION(major, minor, patch);
 }
+
+uint32_t vk_get_version_override(void)
+{
+   const char *str = getenv("MESA_VK_VERSION_OVERRIDE");
+   if (str == NULL)
+      return 0;
+
+   const char *minor_str = strchr(str, '.');
+   const char *patch_str = minor_str ? strchr(minor_str + 1, '.') : NULL;
+
+   int major = atoi(str);
+   int minor = minor_str ? atoi(minor_str + 1) : 0;
+   int patch = patch_str ? atoi(patch_str + 1) : 0;
+
+   /* Do some basic version sanity checking */
+   if (major < 1 || minor < 0 || patch < 0 || minor > 1023 || patch > 4095)
+      return 0;
+
+   return VK_MAKE_VERSION(major, minor, patch);
+}