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).
This commit is contained in:
Ian Romanick
2006-10-04 18:58:10 +00:00
parent 25e441e8e9
commit 553b8334bb
+10 -3
View File
@@ -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):