linker: Don't automatically allocate VERT_ATTRIB_GENERIC0
authorIan Romanick <ian.d.romanick@intel.com>
Wed, 30 Jun 2010 01:58:20 +0000 (18:58 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 30 Jun 2010 19:02:11 +0000 (12:02 -0700)
src/glsl/linker.cpp

index 719cae2f274eec935bfff8e034888d0d7f749540..a53e91d2eff8e52b8b1acf6284bebd2c09538e18 100644 (file)
@@ -669,6 +669,12 @@ assign_attribute_locations(gl_shader_program *prog, unsigned max_attribute_index
 
    qsort(to_assign, num_attr, sizeof(to_assign[0]), temp_attr::compare);
 
+   /* VERT_ATTRIB_GENERIC0 is a psdueo-alias for VERT_ATTRIB_POS.  It can only
+    * be explicitly assigned by via glBindAttribLocation.  Mark it as reserved
+    * to prevent it from being automatically allocated below.
+    */
+   used_locations |= VERT_BIT_GENERIC0;
+
    for (unsigned i = 0; i < num_attr; i++) {
       /* Mask representing the contiguous slots that will be used by this
        * attribute.