From d45f37367ca37bc5db7409bff93e00ec9137fd47 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Sun, 4 Jan 2015 15:51:00 +0800 Subject: xgl-generate.py: simplify _does_function_create_object() Make use of _object_out_params(). --- xgl-generate.py | 37 ++++--------------------------------- 1 file 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" -- cgit v1.2.3