aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChia-I Wu <olvaffe@gmail.com>2014-08-02 23:49:43 +0800
committerChia-I Wu <olvaffe@gmail.com>2014-08-03 09:22:15 +0800
commit88ca8bfd78f37b7a80553ba21e16938db3b86ec8 (patch)
treee85aa692480715a77f51417dd42f69e9d398540c
parentd9645f2726c0540a0b5f34721f1426a60745454e (diff)
downloadusermoji-88ca8bfd78f37b7a80553ba21e16938db3b86ec8.tar.xz
xgl-generate: add _generate_icd_dispatch_entrypoints to Subcommand
-rwxr-xr-xxgl-generate.py42
1 files changed, 21 insertions, 21 deletions
diff --git a/xgl-generate.py b/xgl-generate.py
index eb27f0f5..73e1ec27 100755
--- a/xgl-generate.py
+++ b/xgl-generate.py
@@ -81,6 +81,26 @@ class Subcommand(object):
%s;
};""" % ";\n ".join(entries)
+ def _generate_icd_dispatch_entrypoints(self):
+ funcs = []
+ for proto in self.protos:
+ if not xgl.is_dispatchable(proto):
+ continue
+
+ decl = proto.c_func(prefix="xgl", attr="XGLAPI")
+ stmt = "(*disp)->%s" % proto.c_call()
+ if proto.ret != "XGL_VOID":
+ stmt = "return " + stmt
+
+ funcs.append("%s\n"
+ "{\n"
+ " const struct icd_dispatch_table * const *disp =\n"
+ " (const struct icd_dispatch_table * const *) %s;\n"
+ " %s;\n"
+ "}" % (decl, proto.params[0].name, stmt))
+
+ return "\n\n".join(funcs)
+
class PrettyDummySubcommand(Subcommand):
def generate_header(self):
return "\n".join([
@@ -119,29 +139,9 @@ class LoaderSubcommand(Subcommand):
"#include <xgl.h>",
"#include <xglDbg.h>"])
- def _generate_api(self):
- funcs = []
- for proto in self.protos:
- if not xgl.is_dispatchable(proto):
- continue
-
- decl = proto.c_func(prefix="xgl", attr="XGLAPI")
- stmt = "(*disp)->%s" % proto.c_call()
- if proto.ret != "XGL_VOID":
- stmt = "return " + stmt
-
- funcs.append("%s\n"
- "{\n"
- " const struct icd_dispatch_table * const *disp =\n"
- " (const struct icd_dispatch_table * const *) %s;\n"
- " %s;\n"
- "}" % (decl, proto.params[0].name, stmt))
-
- return "\n\n".join(funcs)
-
def generate_body(self):
body = [self._generate_icd_dispatch_table(),
- self._generate_api()]
+ self._generate_icd_dispatch_entrypoints()]
return "\n\n".join(body)