On 03/19/2015 08:53 AM, Brian Paul wrote:
Different errors for type mismatches, size mismatches and matrix/
non-matrix mismatches.  Use a common format of "uniformName"@location
in the messags.
---
  src/mesa/main/uniform_query.cpp | 69 ++++++++++++++++++++++++++++++++++++++---
  1 file changed, 65 insertions(+), 4 deletions(-)

diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp
index 9f82de9..2ab5528 100644
--- a/src/mesa/main/uniform_query.cpp
+++ b/src/mesa/main/uniform_query.cpp
@@ -260,8 +260,8 @@ validate_uniform_parameters(struct gl_context *ctx,
     if (uni->array_elements == 0) {
        if (count > 1) {
           _mesa_error(ctx, GL_INVALID_OPERATION,
-                     "%s(count > 1 for non-array, location=%d)",
-                     caller, location);
+                     "%s(count = %u for non-array \"%s\"@%d)",
+                     caller, count, uni->name, location);
           return NULL;
        }

@@ -601,6 +601,46 @@ _mesa_propagate_uniforms_to_driver_storage(struct 
gl_uniform_storage *uni,
     }
  }

+
+/**
+ * Return printable string for a given GLSL_TYPE_x
+ */
+static const char *
+glsl_type_name(enum glsl_base_type type)
+{
+   switch (type) {
+   case GLSL_TYPE_UINT:
+      return "uint";
+   case GLSL_TYPE_INT:
+      return "int";
+   case GLSL_TYPE_FLOAT:
+      return "float";
+   case GLSL_TYPE_DOUBLE:
+      return "double";
+   case GLSL_TYPE_BOOL:
+      return "bool";
+   case GLSL_TYPE_SAMPLER:
+      return "sampler";
+   case GLSL_TYPE_IMAGE:
+      return "image";
+   case GLSL_TYPE_ATOMIC_UINT:
+      return "atomic_uint";
+   case GLSL_TYPE_STRUCT:
+      return "struct";
+   case GLSL_TYPE_INTERFACE:
+      return "interface";
+   case GLSL_TYPE_ARRAY:
+      return "array";
+   case GLSL_TYPE_VOID:
+      return "void";
+   case GLSL_TYPE_ERROR:
+      return "error";
+   default:
+      return "other";
+   }
+}

BTW, I looked around a bit, but I didn't see a glsl_base_type->string function like this in src/glsl/, but I certainly could have missed it.

-Brian

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to