diff options
author | Ian Romanick <idr@us.ibm.com> | 2005-01-28 17:30:25 +0000 |
---|---|---|
committer | Ian Romanick <idr@us.ibm.com> | 2005-01-28 17:30:25 +0000 |
commit | fdb0527ddce8eb2927631d4fbf38e6625b0af8b1 (patch) | |
tree | a38a60921c3e05664bb5ab5545b4190bedb35259 /src/mesa/glapi | |
parent | 1fca5632325e1da42e278909e404dd57e0a62252 (diff) |
Slightly modify the meaning of the 'handcode' attribute in a 'glx' element.
The attribute can now take one of 4 states. "false" (the default value)
means that no handcoding is required for the function. "client" means that
the function must be handcoded on the client-side only. "server" means that
the function must be handcoded on the server-side only. "true" menas that
the function must be handcoded on both the client-side and the server-side.
Version 1.14 of glX_proto_send.py accidentally contained a line of this
change.
Diffstat (limited to 'src/mesa/glapi')
-rw-r--r-- | src/mesa/glapi/glX_XML.py | 29 | ||||
-rw-r--r-- | src/mesa/glapi/glX_doc.py | 2 | ||||
-rw-r--r-- | src/mesa/glapi/gl_API.xml | 34 |
3 files changed, 41 insertions, 24 deletions
diff --git a/src/mesa/glapi/glX_XML.py b/src/mesa/glapi/glX_XML.py index df3e6bb1cb..6eb2f553f9 100644 --- a/src/mesa/glapi/glX_XML.py +++ b/src/mesa/glapi/glX_XML.py @@ -328,8 +328,6 @@ class glXFunction(gl_XML.glFunction): glx_doubles_in_order = 0 vectorequiv = None - handcode = 0 - ignore = 0 can_be_large = 0 def __init__(self, context, name, attrs): @@ -340,6 +338,10 @@ class glXFunction(gl_XML.glFunction): 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 @@ -356,10 +358,25 @@ class glXFunction(gl_XML.glFunction): 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 @@ -395,7 +412,7 @@ class glXFunction(gl_XML.glFunction): # 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) diff --git a/src/mesa/glapi/glX_doc.py b/src/mesa/glapi/glX_doc.py index 3755dbe586..8a2ecb79e8 100644 --- a/src/mesa/glapi/glX_doc.py +++ b/src/mesa/glapi/glX_doc.py @@ -234,7 +234,7 @@ class PrintGlxProtoText(glX_XML.GlxProto): # At some point this should be expanded to support pixel # functions, but I'm not going to lose any sleep over it now. - if f.fn_offset < 0 or f.handcode or f.ignore or f.vectorequiv or f.image: + if f.fn_offset < 0 or f.client_handcode or f.server_handcode or f.ignore or f.vectorequiv or f.image: return print ' %s' % (f.name) diff --git a/src/mesa/glapi/gl_API.xml b/src/mesa/glapi/gl_API.xml index 5f9c83ce47..d3c4d81684 100644 --- a/src/mesa/glapi/gl_API.xml +++ b/src/mesa/glapi/gl_API.xml @@ -2064,12 +2064,12 @@ glx: <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"> @@ -2293,13 +2293,13 @@ glx: <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"> @@ -2360,7 +2360,7 @@ glx: <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"> @@ -2372,24 +2372,24 @@ glx: <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"> @@ -2547,7 +2547,7 @@ glx: <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"> @@ -2827,7 +2827,7 @@ glx: <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"> @@ -4887,7 +4887,7 @@ glx: <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"> @@ -4899,7 +4899,7 @@ glx: <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"> @@ -4910,7 +4910,7 @@ glx: <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"> @@ -4925,7 +4925,7 @@ glx: <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"> @@ -4938,7 +4938,7 @@ glx: <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"> @@ -4949,7 +4949,7 @@ glx: <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"> |