vk: Add a logger wrapper for the generated entrypoint
authorKristian Høgsberg <kristian.h.kristensen@intel.com>
Mon, 18 May 2015 15:52:22 +0000 (08:52 -0700)
committerKristian Høgsberg <kristian.h.kristensen@intel.com>
Mon, 18 May 2015 17:27:07 +0000 (10:27 -0700)
src/vulkan/vk_gen.py

index b82c90f73aa9570a2d0040ef6a654e7329aa19cf..b97b50d4d00580a5d8a5a21d80eb207c18ee875f 100644 (file)
@@ -189,6 +189,20 @@ for type, name, args, num, h in entrypoints:
     print "static void *resolve_%s(void) { return resolve_entrypoint(%d); }" % (name, num)
     print "%s vk%s%s\n   __attribute__ ((ifunc (\"resolve_%s\"), visibility (\"default\")));\n" % (type, name, args, name)
 
+
+logger = """%s __attribute__ ((weak)) anv_validate_%s%s
+{
+    fprintf(stderr, "%%s\\n", strings + %d);
+    void *args = __builtin_apply_args();
+    void *result = __builtin_apply((void *) anv_%s, args, 100);
+    __builtin_return(result);
+}
+"""
+
+for type, name, args, num, h in entrypoints:
+    print logger % (type, name, args, offsets[num], name)
+
+
 # Now generate the hash table used for entry point look up.  This is a
 # uint16_t table of entry point indices. We use 0xffff to indicate an entry
 # in the hash table is empty.