From: Ian Romanick Date: Wed, 4 Oct 2006 18:58:10 +0000 (+0000) Subject: Add utility method client_supported_for_indirect. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=553b8334bbe6b0af9496722f05cb8fc2e4d43a01;p=mesa.git Add utility method client_supported_for_indirect. The new method client_supported_for_indirect is used to determine whether or not the client-side library supports the function for indirect rendering. The may or may not have associated protocol that needs to be generated (e.g., glVertexPointer does not, but glVertex3fv does). --- diff --git a/src/mesa/glapi/glX_XML.py b/src/mesa/glapi/glX_XML.py index 7cc9d8d6649..e3d4c666cfc 100644 --- a/src/mesa/glapi/glX_XML.py +++ b/src/mesa/glapi/glX_XML.py @@ -505,6 +505,13 @@ class glx_function(gl_XML.gl_function): return None + def client_supported_for_indirect(self): + """Returns true if the function is supported on the client + side for indirect rendering.""" + + return not self.ignore and (self.offset != -1) and (self.glx_rop or self.glx_sop or self.glx_vendorpriv or self.vectorequiv or self.client_handcode) + + class glx_function_iterator: """Class to iterate over a list of glXFunctions""" @@ -519,10 +526,10 @@ class glx_function_iterator: def next(self): f = self.iterator.next() - if f.ignore or not (f.glx_rop or f.glx_sop or f.glx_vendorpriv or f.vectorequiv or f.client_handcode): - return self.next() - else: + if f.client_supported_for_indirect(): return f + else: + return self.next() class glx_api(gl_XML.gl_api):