aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChia-I Wu <olv@lunarg.com>2015-01-04 15:51:00 +0800
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-02-04 17:58:04 -0700
commitd45f37367ca37bc5db7409bff93e00ec9137fd47 (patch)
treea94273a41c4ffd2631877e43791cf3e63e645ddc
parent99d6213a1d92d65e9e41eb23a5b9e4268e006b51 (diff)
downloadusermoji-d45f37367ca37bc5db7409bff93e00ec9137fd47.tar.xz
xgl-generate.py: simplify _does_function_create_object()
Make use of _object_out_params().
-rwxr-xr-xxgl-generate.py37
1 files changed, 4 insertions, 33 deletions
diff --git a/xgl-generate.py b/xgl-generate.py
index 98d43b84..e8d461c2 100755
--- a/xgl-generate.py
+++ b/xgl-generate.py
@@ -96,38 +96,9 @@ class LoaderEntrypointsSubcommand(Subcommand):
def generate_header(self):
return "#include \"loader.h\""
- def _does_function_create_object(self, name):
- return name in (
- "CreateDevice",
- "GetDeviceQueue",
- "AllocMemory",
- "PinSystemMemory",
- "OpenSharedMemory",
- "OpenSharedQueueSemaphore",
- "OpenPeerMemory",
- "OpenPeerImage",
- "CreateFence",
- "CreateQueueSemaphore",
- "CreateEvent",
- "CreateQueryPool",
- "CreateImage",
- "CreateImageView",
- "CreateColorAttachmentView",
- "CreateDepthStencilView",
- "CreateShader",
- "CreateGraphicsPipeline",
- "CreateComputePipeline",
- "LoadPipeline",
- "CreatePipelineDelta",
- "CreateSampler",
- "CreateDescriptorSet",
- "CreateViewportState",
- "CreateRasterState",
- "CreateMsaaState",
- "CreateColorBlendState",
- "CreateDepthStencilState",
- "CreateCommandBuffer",
- "WsiX11CreatePresentableImage")
+ def _does_function_create_object(self, proto):
+ out_objs = proto.object_out_params()
+ return out_objs and out_objs[-1] == proto.params[-1]
def _is_dispatchable(self, proto):
if proto.name in ["GetProcAddr", "EnumerateLayers"]:
@@ -160,7 +131,7 @@ class LoaderEntrypointsSubcommand(Subcommand):
"}" % (qual, decl, proto.params[0].name, proto.params[1].name,
proto.params[0].name, proto.params[0].name, stmt,
proto.params[-1].name))
- elif self._does_function_create_object(proto.name) and qual == "LOADER_EXPORT ":
+ elif self._does_function_create_object(proto):
funcs.append("%s%s\n"
"{\n"
" const XGL_LAYER_DISPATCH_TABLE **disp =\n"