GLX protocol fixes for glMap* functions (bug 8899)
This commit is contained in:
@@ -262,7 +262,7 @@ class glx_function(gl_XML.gl_function):
|
||||
|
||||
if param.name != self.img_reset:
|
||||
param.offset = offset
|
||||
if not param.is_variable_length():
|
||||
if not param.is_variable_length() and not param.is_client_only:
|
||||
offset += param.size()
|
||||
|
||||
if self.pad_after( param ):
|
||||
@@ -331,7 +331,7 @@ class glx_function(gl_XML.gl_function):
|
||||
|
||||
size = 0
|
||||
for param in self.parameterIterateGlxSend(0):
|
||||
if param.name != self.img_reset:
|
||||
if param.name != self.img_reset and not param.is_client_only:
|
||||
if size == 0:
|
||||
size = param.offset + param.size()
|
||||
else:
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
mode (get | set) "set">
|
||||
<!ATTLIST param name NMTOKEN #REQUIRED
|
||||
type CDATA #REQUIRED
|
||||
client_only (true | false) "false"
|
||||
count NMTOKEN #IMPLIED
|
||||
counter (true | false) "false"
|
||||
count_scale NMTOKEN "1"
|
||||
@@ -79,6 +80,9 @@ will just mean adding a '<glx ignore="true"/>' tag.
|
||||
param:
|
||||
name - name of the parameter
|
||||
type - fully qualified type (e.g., with "const", etc.)
|
||||
client_only - boolean flag set on parameters which are interpreted only
|
||||
by the client and are not present in the protocol encoding (e.g.,
|
||||
the stride parameters to Map1f, etc.)
|
||||
count - for counted arrays (e.g., the 'lists' parameter to glCallLists),
|
||||
the parameter or literal that represents the count. For functions
|
||||
like glVertex3fv it will be a litteral, for others it will be one of
|
||||
|
||||
+10
-10
@@ -2364,9 +2364,9 @@
|
||||
<param name="target" type="GLenum"/>
|
||||
<param name="u1" type="GLdouble"/>
|
||||
<param name="u2" type="GLdouble"/>
|
||||
<param name="stride" type="GLint"/>
|
||||
<param name="stride" type="GLint" client_only="true"/>
|
||||
<param name="order" type="GLint"/>
|
||||
<param name="points" type="const GLdouble *"/>
|
||||
<param name="points" type="const GLdouble *" variable_param="order"/>
|
||||
<glx rop="143" handcode="true"/>
|
||||
</function>
|
||||
|
||||
@@ -2374,9 +2374,9 @@
|
||||
<param name="target" type="GLenum"/>
|
||||
<param name="u1" type="GLfloat"/>
|
||||
<param name="u2" type="GLfloat"/>
|
||||
<param name="stride" type="GLint"/>
|
||||
<param name="stride" type="GLint" client_only="true"/>
|
||||
<param name="order" type="GLint"/>
|
||||
<param name="points" type="const GLfloat *"/>
|
||||
<param name="points" type="const GLfloat *" variable_param="order"/>
|
||||
<glx rop="144" handcode="true"/>
|
||||
</function>
|
||||
|
||||
@@ -2384,13 +2384,13 @@
|
||||
<param name="target" type="GLenum"/>
|
||||
<param name="u1" type="GLdouble"/>
|
||||
<param name="u2" type="GLdouble"/>
|
||||
<param name="ustride" type="GLint"/>
|
||||
<param name="ustride" type="GLint" client_only="true"/>
|
||||
<param name="uorder" type="GLint"/>
|
||||
<param name="v1" type="GLdouble"/>
|
||||
<param name="v2" type="GLdouble"/>
|
||||
<param name="vstride" type="GLint"/>
|
||||
<param name="vstride" type="GLint" client_only="true"/>
|
||||
<param name="vorder" type="GLint"/>
|
||||
<param name="points" type="const GLdouble *"/>
|
||||
<param name="points" type="const GLdouble *" variable_param="uorder"/>
|
||||
<glx rop="145" handcode="true"/>
|
||||
</function>
|
||||
|
||||
@@ -2398,13 +2398,13 @@
|
||||
<param name="target" type="GLenum"/>
|
||||
<param name="u1" type="GLfloat"/>
|
||||
<param name="u2" type="GLfloat"/>
|
||||
<param name="ustride" type="GLint"/>
|
||||
<param name="ustride" type="GLint" client_only="true"/>
|
||||
<param name="uorder" type="GLint"/>
|
||||
<param name="v1" type="GLfloat"/>
|
||||
<param name="v2" type="GLfloat"/>
|
||||
<param name="vstride" type="GLint"/>
|
||||
<param name="vstride" type="GLint" client_only="true"/>
|
||||
<param name="vorder" type="GLint"/>
|
||||
<param name="points" type="const GLfloat *"/>
|
||||
<param name="points" type="const GLfloat *" variable_param="uorder"/>
|
||||
<glx rop="146" handcode="true"/>
|
||||
</function>
|
||||
|
||||
|
||||
@@ -438,8 +438,9 @@ class gl_parameter:
|
||||
#if ts == "GLdouble":
|
||||
# print '/* stack size -> %s = %u (after) */' % (self.name, self.type_expr.get_stack_size())
|
||||
|
||||
self.is_counter = is_attr_true( element, 'counter' )
|
||||
self.is_output = is_attr_true( element, 'output' )
|
||||
self.is_client_only = is_attr_true( element, 'client_only' )
|
||||
self.is_counter = is_attr_true( element, 'counter' )
|
||||
self.is_output = is_attr_true( element, 'output' )
|
||||
|
||||
|
||||
# Pixel data has special parameters.
|
||||
|
||||
Reference in New Issue
Block a user