glsl: fix linker error message context for frag shader output.
authorDave Airlie <airlied@redhat.com>
Sun, 20 Nov 2011 19:56:35 +0000 (19:56 +0000)
committerDave Airlie <airlied@redhat.com>
Mon, 26 Mar 2012 17:48:46 +0000 (18:48 +0100)
A later error prints this properly, fix this case to do the same.

v2: remove attribute as per Ian's suggestion
Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/glsl/linker.cpp

index 8278e43adb804bb5394f40dc7f41b6121f508dfb..09ffdff63fbb1d1700f8521057c47adca8c7b978 100644 (file)
@@ -1319,9 +1319,11 @@ assign_attribute_or_color_locations(gl_shader_program *prog,
             * attribute overlaps any previously allocated bits.
             */
            if ((~(use_mask << attr) & used_locations) != used_locations) {
+              const char *const string = (target_index == MESA_SHADER_VERTEX)
+                 ? "vertex shader input" : "fragment shader output";
               linker_error(prog,
-                           "insufficient contiguous attribute locations "
-                           "available for vertex shader input `%s'",
+                           "insufficient contiguous locations "
+                           "available for %s `%s'", string,
                            var->name);
               return false;
            }
@@ -1370,7 +1372,7 @@ assign_attribute_or_color_locations(gl_shader_program *prog,
            ? "vertex shader input" : "fragment shader output";
 
         linker_error(prog,
-                     "insufficient contiguous attribute locations "
+                     "insufficient contiguous locations "
                      "available for %s `%s'",
                      string, to_assign[i].var->name);
         return false;