glx_doubles_in_order = 0
vectorequiv = None
- handcode = 0
- ignore = 0
can_be_large = 0
def __init__(self, context, name, attrs):
self.can_be_large = 0
self.reply_always_array = 0
+ self.server_handcode = 0
+ self.client_handcode = 0
+ self.ignore = 0
+
gl_XML.glFunction.__init__(self, context, name, attrs)
return
self.glx_sop = int(attrs.get('sop', "0"))
self.glx_vendorpriv = int(attrs.get('vendorpriv', "0"))
- if attrs.get('handcode', "false") == "true":
- self.handcode = 1
+ # The 'handcode' attribute can be one of 'true',
+ # 'false', 'client', or 'server'.
+
+ handcode = attrs.get('handcode', "false")
+ if handcode == "false":
+ self.server_handcode = 0
+ self.client_handcode = 0
+ elif handcode == "true":
+ self.server_handcode = 1
+ self.client_handcode = 1
+ elif handcode == "client":
+ self.server_handcode = 0
+ self.client_handcode = 1
+ elif handcode == "server":
+ self.server_handcode = 1
+ self.client_handcode = 0
else:
- self.handcode = 0
+ raise RuntimeError('Invalid handcode mode "%s" in function "%s".' % (handcode, self.name))
+
if attrs.get('ignore', "false") == "true":
self.ignore = 1
# 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 (self.fn_offset == -1 and not self.fn_alias) or not (self.client_handcode or self.server_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)
<function name="Disable" offset="214">
<param name="cap" type="GLenum"/>
- <glx rop="138" handcode="true"/>
+ <glx rop="138" handcode="client"/>
</function>
<function name="Enable" offset="215">
<param name="cap" type="GLenum"/>
- <glx rop="139" handcode="true"/>
+ <glx rop="139" handcode="client"/>
</function>
<function name="Finish" offset="216">
<function name="PixelStoref" offset="249">
<param name="pname" type="GLenum"/>
<param name="param" type="GLfloat"/>
- <glx sop="109" handcode="true"/>
+ <glx sop="109" handcode="client"/>
</function>
<function name="PixelStorei" offset="250">
<param name="pname" type="GLenum"/>
<param name="param" type="GLint"/>
- <glx sop="110" handcode="true"/>
+ <glx sop="110" handcode="client"/>
</function>
<function name="PixelMapfv" offset="251">
<function name="GetBooleanv" offset="258">
<param name="pname" type="GLenum"/>
<param name="params" type="GLboolean *" output="true"/>
- <glx sop="112" handcode="true"/>
+ <glx sop="112" handcode="client"/>
</function>
<function name="GetClipPlane" offset="259">
<function name="GetDoublev" offset="260">
<param name="pname" type="GLenum"/>
<param name="params" type="GLdouble *" output="true"/>
- <glx sop="114" handcode="true"/>
+ <glx sop="114" handcode="client"/>
</function>
<function name="GetError" offset="261">
<return type="GLenum"/>
- <glx sop="115" handcode="true"/>
+ <glx sop="115" handcode="client"/>
</function>
<function name="GetFloatv" offset="262">
<param name="pname" type="GLenum"/>
<param name="params" type="GLfloat *" output="true"/>
- <glx sop="116" handcode="true"/>
+ <glx sop="116" handcode="client"/>
</function>
<function name="GetIntegerv" offset="263">
<param name="pname" type="GLenum"/>
<param name="params" type="GLint *" output="true"/>
- <glx sop="117" handcode="true"/>
+ <glx sop="117" handcode="client"/>
</function>
<function name="GetLightfv" offset="264">
<function name="IsEnabled" offset="286">
<param name="cap" type="GLenum"/>
<return type="GLboolean"/>
- <glx sop="140" handcode="true"/>
+ <glx sop="140" handcode="client"/>
</function>
<function name="IsList" offset="287">
<param name="mode" type="GLenum"/>
<param name="first" type="GLint"/>
<param name="count" type="GLsizei"/>
- <glx handcode="true"/>
+ <glx rop="193" handcode="true"/>
</function>
<function name="DrawElements" offset="311">
<param name="border" type="GLint"/>
<param name="imageSize" type="GLsizei"/>
<param name="data" type="const GLvoid *"/>
- <glx rop="216" handcode="true"/>
+ <glx rop="216" handcode="client"/>
</function>
<function name="CompressedTexImage2DARB" offset="555">
<param name="border" type="GLint"/>
<param name="imageSize" type="GLsizei"/>
<param name="data" type="const GLvoid *"/>
- <glx rop="215" handcode="true"/>
+ <glx rop="215" handcode="client"/>
</function>
<function name="CompressedTexImage1DARB" offset="556">
<param name="border" type="GLint"/>
<param name="imageSize" type="GLsizei"/>
<param name="data" type="const GLvoid *"/>
- <glx rop="214" handcode="true"/>
+ <glx rop="214" handcode="client"/>
</function>
<function name="CompressedTexSubImage3DARB" offset="557">
<param name="format" type="GLenum"/>
<param name="imageSize" type="GLsizei"/>
<param name="data" type="const GLvoid *"/>
- <glx rop="219" handcode="true"/>
+ <glx rop="219" handcode="client"/>
</function>
<function name="CompressedTexSubImage2DARB" offset="558">
<param name="format" type="GLenum"/>
<param name="imageSize" type="GLsizei"/>
<param name="data" type="const GLvoid *"/>
- <glx rop="218" handcode="true"/>
+ <glx rop="218" handcode="client"/>
</function>
<function name="CompressedTexSubImage1DARB" offset="559">
<param name="format" type="GLenum"/>
<param name="imageSize" type="GLsizei"/>
<param name="data" type="const GLvoid *"/>
- <glx rop="217" handcode="true"/>
+ <glx rop="217" handcode="client"/>
</function>
<function name="GetCompressedTexImageARB" offset="560">