[Mesa-dev] [PATCH 2/4] glx: Correct opcode typos in __indirect_glTexCoordPointer.

Ian Romanick idr at freedesktop.org
Tue Jun 28 00:55:02 UTC 2016


On 06/23/2016 11:15 AM, Matt Turner wrote:
> From: Colin McDonald <cjmmail10-bz at yahoo.co.uk>
> 
> At the same time, replace opcode numbers with names in
> __indirect_glVertexAttribPointer.
> 
> Reviewed-by: Matt Turner <mattst88 at gmail.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61907
> ---
>  src/glx/indirect_vertex_array.c | 19 ++++++++++++++-----
>  1 file changed, 14 insertions(+), 5 deletions(-)
> 
> diff --git a/src/glx/indirect_vertex_array.c b/src/glx/indirect_vertex_array.c
> index 2bf2ff1..01fab33 100644
> --- a/src/glx/indirect_vertex_array.c
> +++ b/src/glx/indirect_vertex_array.c
> @@ -1386,7 +1386,7 @@ __indirect_glTexCoordPointer(GLint size, GLenum type, GLsizei stride,
>        X_GLrop_TexCoord4iv
>     };
>     static const uint16_t float_ops[5] = {
> -      0, X_GLrop_TexCoord1dv, X_GLrop_TexCoord2fv, X_GLrop_TexCoord3fv,
> +      0, X_GLrop_TexCoord1fv, X_GLrop_TexCoord2fv, X_GLrop_TexCoord3fv,

Holy crap.  That typo bug has existed since

commit fdb07636f2e6324c5250cd5ee97778b7f5933bea
Author: Ian Romanick <idr at us.ibm.com>
Date:   Tue Feb 22 22:36:31 2005 +0000

    Added __glExtensionBiIsEnabled and __GLXcontext::gl_extension_bits.  This
    enables libGL to query which extension are exported to applications.
    
    Refactored array-query functionality (from glGet*v) in src/glx/x11/single2.c.
    
    Massive re-write of indirect vertex array support.  The most noticable
    effect is that glDrawElements now generates DrawArrays protocol.  The
    side-effects (and the main reasons for the re-work) are that it is much
    easier to add support for new arrays (e.g., GL_VERTEX_ATTRIB_ARRAY,
    GL_WEIGHT_ARRAY_ARB, etc.) and it is much easier to add support for the new
    DrawArrays protocol (required to support ARB_vertex_buffer_object).
    
    These changes were primarilly tested with progs/demos/isosurf.

Colin wins.

This patch is

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

I think this patch can get as much stable tagging as Emil will apply. :)

>        X_GLrop_TexCoord4fv
>     };
>     static const uint16_t double_ops[5] = {
> @@ -1403,7 +1403,7 @@ __indirect_glTexCoordPointer(GLint size, GLenum type, GLsizei stride,
>        X_GLrop_MultiTexCoord3ivARB, X_GLrop_MultiTexCoord4ivARB
>     };
>     static const uint16_t mfloat_ops[5] = {
> -      0, X_GLrop_MultiTexCoord1dvARB, X_GLrop_MultiTexCoord2fvARB,
> +      0, X_GLrop_MultiTexCoord1fvARB, X_GLrop_MultiTexCoord2fvARB,
>        X_GLrop_MultiTexCoord3fvARB, X_GLrop_MultiTexCoord4fvARB
>     };
>     static const uint16_t mdouble_ops[5] = {
> @@ -1587,9 +1587,18 @@ __indirect_glVertexAttribPointer(GLuint index, GLint size,
>                                      GLenum type, GLboolean normalized,
>                                      GLsizei stride, const GLvoid * pointer)
>  {
> -   static const uint16_t short_ops[5] = { 0, 4189, 4190, 4191, 4192 };
> -   static const uint16_t float_ops[5] = { 0, 4193, 4194, 4195, 4196 };
> -   static const uint16_t double_ops[5] = { 0, 4197, 4198, 4199, 4200 };
> +   static const uint16_t short_ops[5] = {
> +        0, X_GLrop_VertexAttrib1svARB, X_GLrop_VertexAttrib2svARB,
> +        X_GLrop_VertexAttrib3svARB, X_GLrop_VertexAttrib4svARB
> +   };
> +   static const uint16_t float_ops[5] = {
> +        0, X_GLrop_VertexAttrib1fvARB, X_GLrop_VertexAttrib2fvARB,
> +        X_GLrop_VertexAttrib3fvARB, X_GLrop_VertexAttrib4fvARB
> +   };
> +   static const uint16_t double_ops[5] = {
> +        0, X_GLrop_VertexAttrib1dvARB, X_GLrop_VertexAttrib2dvARB,
> +        X_GLrop_VertexAttrib3dvARB, X_GLrop_VertexAttrib4dvARB
> +   };
>  
>     uint16_t opcode;
>     struct glx_context *gc = __glXGetCurrentContext();
> 



More information about the mesa-dev mailing list