mesa: Fix bogus transform feedback error message when subscripting non-array.
authorPaul Berry <stereotype441@gmail.com>
Wed, 4 Jan 2012 23:17:52 +0000 (15:17 -0800)
committerPaul Berry <stereotype441@gmail.com>
Mon, 9 Jan 2012 18:30:35 +0000 (10:30 -0800)
Previous to this patch, if the client requested transform feedback
using a subscript, but the variable was not an array
(e.g. "gl_FrontColor[0]"), we would produce a bogus error message like
"Transform feedback varying gl_FrontColor[0] found, but it's an array
([] expected)".

Changed the error message to e.g. "Transfrorm feedback varying
gl_FrontColor[0] requested, but gl_FrontColor is not an array."

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/glsl/linker.cpp

index 88c81c4..e8472d4 100644 (file)
@@ -1576,9 +1576,9 @@ tfeedback_decl::assign_location(struct gl_context *ctx,
    } else {
       /* Regular variable (scalar, vector, or matrix) */
       if (this->is_subscripted) {
-         linker_error(prog, "Transform feedback varying %s found, "
-                      "but it's an array ([] expected).",
-                      this->orig_name);
+         linker_error(prog, "Transform feedback varying %s requested, "
+                      "but %s is not an array.",
+                      this->orig_name, this->var_name);
          return false;
       }
       this->location = output_var->location;