anv: pCreateInfo->pApplicationInfo parameter to vkCreateInstance may be NULL
[mesa.git] / src / vulkan / anv_entrypoints_gen.py
index e0a521e87566a6b92188c2715ebdab87736ef487..1e4cfcb17555fa7d829d2de393ceac0a6bfc3873 100644 (file)
@@ -27,7 +27,7 @@ import fileinput, re, sys
 # Each function typedef in the vulkan.h header is all on one line and matches
 # this regepx. We hope that won't change.
 
-p = re.compile('typedef ([^ ]*) *\(VKAPI \*PFN_vk([^(]*)\)(.*);')
+p = re.compile('typedef ([^ ]*) *\((?:VKAPI_PTR)? *\*PFN_vk([^(]*)\)(.*);')
 
 entrypoints = []
 
@@ -98,6 +98,7 @@ if opt_header:
         print "%s gen7_%s%s;" % (type, name, args)
         print "%s gen75_%s%s;" % (type, name, args)
         print "%s gen8_%s%s;" % (type, name, args)
+        print "%s gen9_%s%s;" % (type, name, args)
         print "%s anv_validate_%s%s;" % (type, name, args)
     exit()
 
@@ -164,7 +165,7 @@ for type, name, args, num, h in entrypoints:
     print "   { %5d, 0x%08x }," % (offsets[num], h)
 print "};\n"
 
-for layer in [ "anv", "validate", "gen7", "gen75", "gen8" ]:
+for layer in [ "anv", "validate", "gen7", "gen75", "gen8", "gen9" ]:
     for type, name, args, num, h in entrypoints:
         print "%s %s_%s%s __attribute__ ((weak));" % (type, layer, name, args)
     print "\nconst struct anv_dispatch_table %s_layer = {" % layer
@@ -214,6 +215,10 @@ anv_resolve_entrypoint(uint32_t index)
    }
 
    switch (dispatch_devinfo->gen) {
+   case 9:
+      if (gen9_layer.entrypoints[index])
+         return gen9_layer.entrypoints[index];
+      /* fall through */
    case 8:
       if (gen8_layer.entrypoints[index])
          return gen8_layer.entrypoints[index];