From: Brian Paul Date: Wed, 22 Nov 2006 16:01:48 +0000 (+0000) Subject: GLX protocol fixes for glMap* functions (bug 8899) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9540c9c04fa0b691202f419520d9c4d8d495588d;p=mesa.git GLX protocol fixes for glMap* functions (bug 8899) --- diff --git a/src/mesa/glapi/glX_XML.py b/src/mesa/glapi/glX_XML.py index 3759e8da02e..1b5c3239e01 100644 --- a/src/mesa/glapi/glX_XML.py +++ b/src/mesa/glapi/glX_XML.py @@ -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: diff --git a/src/mesa/glapi/gl_API.dtd b/src/mesa/glapi/gl_API.dtd index 2f0c88aae5b..f89d3818663 100644 --- a/src/mesa/glapi/gl_API.dtd +++ b/src/mesa/glapi/gl_API.dtd @@ -40,6 +40,7 @@ mode (get | set) "set"> ' 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 diff --git a/src/mesa/glapi/gl_API.xml b/src/mesa/glapi/gl_API.xml index 4f3a8805e08..905c4a03a67 100644 --- a/src/mesa/glapi/gl_API.xml +++ b/src/mesa/glapi/gl_API.xml @@ -2364,9 +2364,9 @@ - + - + @@ -2374,9 +2374,9 @@ - + - + @@ -2384,13 +2384,13 @@ - + - + - + @@ -2398,13 +2398,13 @@ - + - + - + diff --git a/src/mesa/glapi/gl_XML.py b/src/mesa/glapi/gl_XML.py index 15c3adc02b7..b7a7388400d 100644 --- a/src/mesa/glapi/gl_XML.py +++ b/src/mesa/glapi/gl_XML.py @@ -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.