aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCourtney Goeltzenleuchter <courtney@LunarG.com>2015-06-01 14:52:57 -0600
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-06-18 10:18:19 -0600
commit8d4869ee12e901b8ec7d47251b1ad8da118968a8 (patch)
tree8afb198c1d549e6c3dfe6ceff3067a84bdf07c4b
parent4f6f994aa14f7994952cfe19435032f0578abfd2 (diff)
downloadusermoji-8d4869ee12e901b8ec7d47251b1ad8da118968a8.tar.xz
layers: Update generator for DEBUG_REPORT
Generated layers that support DEBUG_REPORT now need to intercept CreateInstance and call the appropriate DEBUG_REPORT layer helper functions.
-rwxr-xr-xvk-layer-generate.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/vk-layer-generate.py b/vk-layer-generate.py
index d3488f66..c438c65c 100755
--- a/vk-layer-generate.py
+++ b/vk-layer-generate.py
@@ -453,9 +453,12 @@ class Subcommand(object):
if 0 != len(instance_extensions):
for ext_name in instance_extensions:
- func_body.append(' else if (!strcmp("%s", funcName))\n'
- ' return %s;' % (ext_name, ext_name))
- func_body.append(" else {\n"
+ func_body.append(" {\n"
+ " void *fptr;\n"
+ " fptr = %s(funcName);\n"
+ " if (fptr) return fptr;\n"
+ " }\n" % ext_name)
+ func_body.append(" {\n"
" VkLayerInstanceDispatchTable **ppDisp = (VkLayerInstanceDispatchTable **) instance;\n"
" VkLayerInstanceDispatchTable* pTable = tableInstanceMap[*ppDisp];\n"
" if (pTable->GetInstanceProcAddr == NULL)\n"
@@ -1490,7 +1493,8 @@ class ObjectTrackerSubcommand(Subcommand):
body = [self._generate_layer_initialization(True, lockname='obj'),
self._generate_dispatch_entrypoints("VK_LAYER_EXPORT"),
self._generate_extensions(),
- self._generate_layer_gpa_function(extensions=['objTrackGetObjectsCount', 'objTrackGetObjects', 'objTrackGetObjectsOfTypeCount', 'objTrackGetObjectsOfType'])]
+ self._generate_layer_gpa_function(extensions=['objTrackGetObjectsCount', 'objTrackGetObjects', 'objTrackGetObjectsOfTypeCount', 'objTrackGetObjectsOfType'],
+ instance_extensions=['msg_callback_get_proc_addr'])]
return "\n\n".join(body)
class ThreadingSubcommand(Subcommand):
@@ -1678,7 +1682,10 @@ class ThreadingSubcommand(Subcommand):
self.layer_name = "Threading"
body = [self._generate_layer_initialization(True, lockname='threading', condname='threading'),
self._generate_dispatch_entrypoints("VK_LAYER_EXPORT"),
- self._generate_layer_gpa_function()]
+ self._generate_layer_gpa_function(extensions=[],
+ instance_extensions=['msg_callback_get_proc_addr']),
+ self._gen_create_msg_callback(),
+ self._gen_destroy_msg_callback()]
return "\n\n".join(body)
def main():