Fix problems with vertex program protocol
authorIan Romanick <idr@us.ibm.com>
Thu, 31 Aug 2006 20:41:16 +0000 (20:41 +0000)
committerIan Romanick <idr@us.ibm.com>
Thu, 31 Aug 2006 20:41:16 +0000 (20:41 +0000)
There were two sets of bugs in the vertex program (ARB and NV)
protocol.  First, several of the ARB functions were missing the
'doubles_in_order="true"' annotation.  Second, after the ARB decided
that glVertexAttrib*ARB functions must not alias fixed-function state
for GLSL, Nvidia re-assigned GLX protocol opcodes for
glVertexAttrib*NV (circa Septeber 2004).  For some reason gl_API.xml
was never updated to reflect this, and the updated version of the
GL_NV_vertex_program spec never made into the registry.

src/glx/x11/indirect.c
src/mesa/glapi/gl_API.xml

index e9d64221029673a4b16206152f44563d09a0f2f9..54cea1419ef488e22472e87576e56b38aa3bf3ea 100644 (file)
@@ -6074,8 +6074,8 @@ __indirect_glVertexAttrib1dARB(GLuint index, GLdouble x)
     __GLXcontext * const gc = __glXGetCurrentContext();
     const GLuint cmdlen = 16;
     emit_header(gc->pc, X_GLrop_VertexAttrib1dvARB, cmdlen);
-    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8);
-    (void) memcpy((void *)(gc->pc + 12), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 8);
     gc->pc += cmdlen;
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
@@ -6087,8 +6087,8 @@ __indirect_glVertexAttrib1dvARB(GLuint index, const GLdouble * v)
     __GLXcontext * const gc = __glXGetCurrentContext();
     const GLuint cmdlen = 16;
     emit_header(gc->pc, X_GLrop_VertexAttrib1dvARB, cmdlen);
-    (void) memcpy((void *)(gc->pc + 4), (void *)(v), 8);
-    (void) memcpy((void *)(gc->pc + 12), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 8);
     gc->pc += cmdlen;
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
@@ -6152,9 +6152,9 @@ __indirect_glVertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y)
     __GLXcontext * const gc = __glXGetCurrentContext();
     const GLuint cmdlen = 24;
     emit_header(gc->pc, X_GLrop_VertexAttrib2dvARB, cmdlen);
-    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8);
-    (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8);
-    (void) memcpy((void *)(gc->pc + 20), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 8);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 8);
     gc->pc += cmdlen;
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
@@ -6166,8 +6166,8 @@ __indirect_glVertexAttrib2dvARB(GLuint index, const GLdouble * v)
     __GLXcontext * const gc = __glXGetCurrentContext();
     const GLuint cmdlen = 24;
     emit_header(gc->pc, X_GLrop_VertexAttrib2dvARB, cmdlen);
-    (void) memcpy((void *)(gc->pc + 4), (void *)(v), 16);
-    (void) memcpy((void *)(gc->pc + 20), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 16);
     gc->pc += cmdlen;
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
@@ -6233,10 +6233,10 @@ __indirect_glVertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z)
     __GLXcontext * const gc = __glXGetCurrentContext();
     const GLuint cmdlen = 32;
     emit_header(gc->pc, X_GLrop_VertexAttrib3dvARB, cmdlen);
-    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8);
-    (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8);
-    (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8);
-    (void) memcpy((void *)(gc->pc + 28), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 8);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 8);
+    (void) memcpy((void *)(gc->pc + 24), (void *)(&z), 8);
     gc->pc += cmdlen;
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
@@ -6248,8 +6248,8 @@ __indirect_glVertexAttrib3dvARB(GLuint index, const GLdouble * v)
     __GLXcontext * const gc = __glXGetCurrentContext();
     const GLuint cmdlen = 32;
     emit_header(gc->pc, X_GLrop_VertexAttrib3dvARB, cmdlen);
-    (void) memcpy((void *)(gc->pc + 4), (void *)(v), 24);
-    (void) memcpy((void *)(gc->pc + 28), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 24);
     gc->pc += cmdlen;
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
@@ -6424,11 +6424,11 @@ __indirect_glVertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z,
     __GLXcontext * const gc = __glXGetCurrentContext();
     const GLuint cmdlen = 40;
     emit_header(gc->pc, X_GLrop_VertexAttrib4dvARB, cmdlen);
-    (void) memcpy((void *)(gc->pc + 4), (void *)(&x), 8);
-    (void) memcpy((void *)(gc->pc + 12), (void *)(&y), 8);
-    (void) memcpy((void *)(gc->pc + 20), (void *)(&z), 8);
-    (void) memcpy((void *)(gc->pc + 28), (void *)(&w), 8);
-    (void) memcpy((void *)(gc->pc + 36), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(&x), 8);
+    (void) memcpy((void *)(gc->pc + 16), (void *)(&y), 8);
+    (void) memcpy((void *)(gc->pc + 24), (void *)(&z), 8);
+    (void) memcpy((void *)(gc->pc + 32), (void *)(&w), 8);
     gc->pc += cmdlen;
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
@@ -6440,8 +6440,8 @@ __indirect_glVertexAttrib4dvARB(GLuint index, const GLdouble * v)
     __GLXcontext * const gc = __glXGetCurrentContext();
     const GLuint cmdlen = 40;
     emit_header(gc->pc, X_GLrop_VertexAttrib4dvARB, cmdlen);
-    (void) memcpy((void *)(gc->pc + 4), (void *)(v), 32);
-    (void) memcpy((void *)(gc->pc + 36), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 4), (void *)(&index), 4);
+    (void) memcpy((void *)(gc->pc + 8), (void *)(v), 32);
     gc->pc += cmdlen;
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
@@ -7541,7 +7541,7 @@ __indirect_glTrackMatrixNV(GLenum target, GLuint address, GLenum matrix, GLenum
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib1dvNV 4197
+#define X_GLrop_VertexAttrib1dvNV 4273
 void
 __indirect_glVertexAttrib1dNV(GLuint index, GLdouble x)
 {
@@ -7554,7 +7554,7 @@ __indirect_glVertexAttrib1dNV(GLuint index, GLdouble x)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib1dvNV 4197
+#define X_GLrop_VertexAttrib1dvNV 4273
 void
 __indirect_glVertexAttrib1dvNV(GLuint index, const GLdouble * v)
 {
@@ -7567,7 +7567,7 @@ __indirect_glVertexAttrib1dvNV(GLuint index, const GLdouble * v)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib1fvNV 4193
+#define X_GLrop_VertexAttrib1fvNV 4269
 void
 __indirect_glVertexAttrib1fNV(GLuint index, GLfloat x)
 {
@@ -7580,7 +7580,7 @@ __indirect_glVertexAttrib1fNV(GLuint index, GLfloat x)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib1fvNV 4193
+#define X_GLrop_VertexAttrib1fvNV 4269
 void
 __indirect_glVertexAttrib1fvNV(GLuint index, const GLfloat * v)
 {
@@ -7593,7 +7593,7 @@ __indirect_glVertexAttrib1fvNV(GLuint index, const GLfloat * v)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib1svNV 4189
+#define X_GLrop_VertexAttrib1svNV 4265
 void
 __indirect_glVertexAttrib1sNV(GLuint index, GLshort x)
 {
@@ -7606,7 +7606,7 @@ __indirect_glVertexAttrib1sNV(GLuint index, GLshort x)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib1svNV 4189
+#define X_GLrop_VertexAttrib1svNV 4265
 void
 __indirect_glVertexAttrib1svNV(GLuint index, const GLshort * v)
 {
@@ -7619,7 +7619,7 @@ __indirect_glVertexAttrib1svNV(GLuint index, const GLshort * v)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib2dvNV 4198
+#define X_GLrop_VertexAttrib2dvNV 4274
 void
 __indirect_glVertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y)
 {
@@ -7633,7 +7633,7 @@ __indirect_glVertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib2dvNV 4198
+#define X_GLrop_VertexAttrib2dvNV 4274
 void
 __indirect_glVertexAttrib2dvNV(GLuint index, const GLdouble * v)
 {
@@ -7646,7 +7646,7 @@ __indirect_glVertexAttrib2dvNV(GLuint index, const GLdouble * v)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib2fvNV 4194
+#define X_GLrop_VertexAttrib2fvNV 4270
 void
 __indirect_glVertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y)
 {
@@ -7660,7 +7660,7 @@ __indirect_glVertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib2fvNV 4194
+#define X_GLrop_VertexAttrib2fvNV 4270
 void
 __indirect_glVertexAttrib2fvNV(GLuint index, const GLfloat * v)
 {
@@ -7673,7 +7673,7 @@ __indirect_glVertexAttrib2fvNV(GLuint index, const GLfloat * v)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib2svNV 4190
+#define X_GLrop_VertexAttrib2svNV 4266
 void
 __indirect_glVertexAttrib2sNV(GLuint index, GLshort x, GLshort y)
 {
@@ -7687,7 +7687,7 @@ __indirect_glVertexAttrib2sNV(GLuint index, GLshort x, GLshort y)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib2svNV 4190
+#define X_GLrop_VertexAttrib2svNV 4266
 void
 __indirect_glVertexAttrib2svNV(GLuint index, const GLshort * v)
 {
@@ -7700,7 +7700,7 @@ __indirect_glVertexAttrib2svNV(GLuint index, const GLshort * v)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib3dvNV 4199
+#define X_GLrop_VertexAttrib3dvNV 4275
 void
 __indirect_glVertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z)
 {
@@ -7715,7 +7715,7 @@ __indirect_glVertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib3dvNV 4199
+#define X_GLrop_VertexAttrib3dvNV 4275
 void
 __indirect_glVertexAttrib3dvNV(GLuint index, const GLdouble * v)
 {
@@ -7728,7 +7728,7 @@ __indirect_glVertexAttrib3dvNV(GLuint index, const GLdouble * v)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib3fvNV 4195
+#define X_GLrop_VertexAttrib3fvNV 4271
 void
 __indirect_glVertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z)
 {
@@ -7743,7 +7743,7 @@ __indirect_glVertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib3fvNV 4195
+#define X_GLrop_VertexAttrib3fvNV 4271
 void
 __indirect_glVertexAttrib3fvNV(GLuint index, const GLfloat * v)
 {
@@ -7756,7 +7756,7 @@ __indirect_glVertexAttrib3fvNV(GLuint index, const GLfloat * v)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib3svNV 4191
+#define X_GLrop_VertexAttrib3svNV 4267
 void
 __indirect_glVertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z)
 {
@@ -7771,7 +7771,7 @@ __indirect_glVertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib3svNV 4191
+#define X_GLrop_VertexAttrib3svNV 4267
 void
 __indirect_glVertexAttrib3svNV(GLuint index, const GLshort * v)
 {
@@ -7784,7 +7784,7 @@ __indirect_glVertexAttrib3svNV(GLuint index, const GLshort * v)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib4dvNV 4200
+#define X_GLrop_VertexAttrib4dvNV 4276
 void
 __indirect_glVertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
 {
@@ -7800,7 +7800,7 @@ __indirect_glVertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z,
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib4dvNV 4200
+#define X_GLrop_VertexAttrib4dvNV 4276
 void
 __indirect_glVertexAttrib4dvNV(GLuint index, const GLdouble * v)
 {
@@ -7813,7 +7813,7 @@ __indirect_glVertexAttrib4dvNV(GLuint index, const GLdouble * v)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib4fvNV 4196
+#define X_GLrop_VertexAttrib4fvNV 4272
 void
 __indirect_glVertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 {
@@ -7829,7 +7829,7 @@ __indirect_glVertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLf
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib4fvNV 4196
+#define X_GLrop_VertexAttrib4fvNV 4272
 void
 __indirect_glVertexAttrib4fvNV(GLuint index, const GLfloat * v)
 {
@@ -7842,7 +7842,7 @@ __indirect_glVertexAttrib4fvNV(GLuint index, const GLfloat * v)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib4svNV 4192
+#define X_GLrop_VertexAttrib4svNV 4268
 void
 __indirect_glVertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)
 {
@@ -7858,7 +7858,7 @@ __indirect_glVertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLs
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib4svNV 4192
+#define X_GLrop_VertexAttrib4svNV 4268
 void
 __indirect_glVertexAttrib4svNV(GLuint index, const GLshort * v)
 {
@@ -7871,7 +7871,7 @@ __indirect_glVertexAttrib4svNV(GLuint index, const GLshort * v)
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib4ubvNV 4201
+#define X_GLrop_VertexAttrib4ubvNV 4277
 void
 __indirect_glVertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
 {
@@ -7887,7 +7887,7 @@ __indirect_glVertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GL
     if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
 }
 
-#define X_GLrop_VertexAttrib4ubvNV 4201
+#define X_GLrop_VertexAttrib4ubvNV 4277
 void
 __indirect_glVertexAttrib4ubvNV(GLuint index, const GLubyte * v)
 {
index 035beba6057b90078b89675fb9bfededacd5b980..11b9b5021f1c6e6f79f392fa2e49ab6b7e1e1ce3 100644 (file)
     <function name="VertexAttrib1dvARB" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLdouble *" count="1"/>
-        <glx rop="4197"/>
+        <glx rop="4197" doubles_in_order="true"/>
     </function>
 
     <function name="VertexAttrib1fARB" offset="assign" vectorequiv="VertexAttrib1fvARB">
     <function name="VertexAttrib2dvARB" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLdouble *" count="2"/>
-        <glx rop="4198"/>
+        <glx rop="4198" doubles_in_order="true"/>
     </function>
 
     <function name="VertexAttrib2fARB" offset="assign" vectorequiv="VertexAttrib2fvARB">
     <function name="VertexAttrib3dvARB" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLdouble *" count="3"/>
-        <glx rop="4199"/>
+        <glx rop="4199" doubles_in_order="true"/>
     </function>
 
     <function name="VertexAttrib3fARB" offset="assign" vectorequiv="VertexAttrib3fvARB">
     <function name="VertexAttrib4dvARB" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLdouble *" count="4"/>
-        <glx rop="4200"/>
+        <glx rop="4200" doubles_in_order="true"/>
     </function>
 
     <function name="VertexAttrib4fARB" offset="assign" vectorequiv="VertexAttrib4fvARB">
     <function name="VertexAttrib1svNV" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLshort *" count="1"/>
-        <glx rop="4189"/>
+        <glx rop="4265"/>
     </function>
 
     <function name="VertexAttrib2sNV" offset="assign" vectorequiv="VertexAttrib2svNV">
     <function name="VertexAttrib2svNV" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLshort *" count="2"/>
-        <glx rop="4190"/>
+        <glx rop="4266"/>
     </function>
 
     <function name="VertexAttrib3sNV" offset="assign" vectorequiv="VertexAttrib3svNV">
     <function name="VertexAttrib3svNV" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLshort *" count="3"/>
-        <glx rop="4191"/>
+        <glx rop="4267"/>
     </function>
 
     <function name="VertexAttrib4sNV" offset="assign" vectorequiv="VertexAttrib4svNV">
     <function name="VertexAttrib4svNV" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLshort *" count="4"/>
-        <glx rop="4192"/>
+        <glx rop="4268"/>
     </function>
 
     <function name="VertexAttrib1fNV" offset="assign" vectorequiv="VertexAttrib1fvNV">
     <function name="VertexAttrib1fvNV" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLfloat *" count="1"/>
-        <glx rop="4193"/>
+        <glx rop="4269"/>
     </function>
 
     <function name="VertexAttrib2fNV" offset="assign" vectorequiv="VertexAttrib2fvNV">
     <function name="VertexAttrib2fvNV" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLfloat *" count="2"/>
-        <glx rop="4194"/>
+        <glx rop="4270"/>
     </function>
 
     <function name="VertexAttrib3fNV" offset="assign" vectorequiv="VertexAttrib3fvNV">
     <function name="VertexAttrib3fvNV" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLfloat *" count="3"/>
-        <glx rop="4195"/>
+        <glx rop="4271"/>
     </function>
 
     <function name="VertexAttrib4fNV" offset="assign" vectorequiv="VertexAttrib4fvNV">
     <function name="VertexAttrib4fvNV" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLfloat *" count="4"/>
-        <glx rop="4196"/>
+        <glx rop="4272"/>
     </function>
 
     <function name="VertexAttrib1dNV" offset="assign" vectorequiv="VertexAttrib1dvNV">
     <function name="VertexAttrib1dvNV" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLdouble *" count="1"/>
-        <glx rop="4197" doubles_in_order="true"/>
+        <glx rop="4273" doubles_in_order="true"/>
     </function>
 
     <function name="VertexAttrib2dNV" offset="assign" vectorequiv="VertexAttrib2dvNV">
     <function name="VertexAttrib2dvNV" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLdouble *" count="2"/>
-        <glx rop="4198" doubles_in_order="true"/>
+        <glx rop="4274" doubles_in_order="true"/>
     </function>
 
     <function name="VertexAttrib3dNV" offset="assign" vectorequiv="VertexAttrib3dvNV">
     <function name="VertexAttrib3dvNV" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLdouble *" count="3"/>
-        <glx rop="4199" doubles_in_order="true"/>
+        <glx rop="4275" doubles_in_order="true"/>
     </function>
 
     <function name="VertexAttrib4dNV" offset="assign" vectorequiv="VertexAttrib4dvNV">
     <function name="VertexAttrib4dvNV" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLdouble *" count="4"/>
-        <glx rop="4200" doubles_in_order="true"/>
+        <glx rop="4276" doubles_in_order="true"/>
     </function>
 
     <function name="VertexAttrib4ubNV" offset="assign" vectorequiv="VertexAttrib4ubvNV">
     <function name="VertexAttrib4ubvNV" offset="assign">
         <param name="index" type="GLuint"/>
         <param name="v" type="const GLubyte *" count="4"/>
-        <glx rop="4201"/>
+        <glx rop="4277"/>
     </function>
 
     <function name="VertexAttribs1svNV" offset="assign">