From 7f958e9e11badab294339c8b83e7b2e58f7dfe21 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 24 Jan 2005 20:08:28 +0000 Subject: [PATCH] Make sure that functions added to gl_API.xml that do not have any GLX section are marked as ignored. Also ignore any functions that don't have assigned dispatch offsets. Fold Adam Jackson's changes to indirect_size.c into the generator scripts so that they don't get lost. "DO NOT EDIT" really means "DO NOT EDIT". ;) --- src/mesa/glapi/glX_XML.py | 26 ++++++++++++++++++++++++++ src/mesa/glapi/glX_proto_send.py | 2 ++ 2 files changed, 28 insertions(+) diff --git a/src/mesa/glapi/glX_XML.py b/src/mesa/glapi/glX_XML.py index 6da454c..de854a6 100644 --- a/src/mesa/glapi/glX_XML.py +++ b/src/mesa/glapi/glX_XML.py @@ -62,6 +62,10 @@ def printNoinline(): # define NOINLINE # endif""" +def printHaveAlias(): + print """# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +# define HAVE_ALIAS +# endif""" class glXItemFactory(gl_XML.glItemFactory): """Factory to create GLX protocol oriented objects derived from glItem.""" @@ -371,6 +375,28 @@ class glXFunction(gl_XML.glFunction): gl_XML.glFunction.startElement(self, name, attrs) + def endElement(self, name): + if name == "function": + # Mark any function that does not have GLX protocol + # defined as "ignore". This prevents bad things from + # happening when people add new functions to the GL + # API XML without adding any GLX section. + # + # This will also mark functions that don't have a + # dispatch offset at ignored. + + if (self.fn_offset == -1 and not self.fn_alias) or not (self.handcode or self.glx_rop or self.glx_sop or self.glx_vendorpriv or self.vectorequiv or self.fn_alias): + #if not self.ignore: + # if self.fn_offset == -1: + # print '/* %s ignored becuase no offset assigned. */' % (self.name) + # else: + # print '/* %s ignored becuase no GLX opcode assigned. */' % (self.name) + + self.ignore = 1 + + return gl_XML.glFunction.endElement(self, name) + + def append(self, tag_name, p): gl_XML.glFunction.append(self, tag_name, p) diff --git a/src/mesa/glapi/glX_proto_send.py b/src/mesa/glapi/glX_proto_send.py index e7cda2f..32d8d60 100644 --- a/src/mesa/glapi/glX_proto_send.py +++ b/src/mesa/glapi/glX_proto_send.py @@ -790,6 +790,8 @@ class PrintGlxSizeStubs(glX_XML.GlxProto): print '#include "indirect_size.h"' print '' + glX_XML.printHaveAlias() + print '' glX_XML.printPure() print '' glX_XML.printFastcall() -- 2.7.4