On 03/19/2015 07:56 AM, Brian Paul wrote: > 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.
Right... most places just use glsl_type::name. That can't be used here because you only have the glsl_base_type enum, or is there some other reason? I have a patch series somewhere that re-works a lot of this code to be a little faster on Atom CPUs. I guess I should finish that. I don't think your patches will cause me any undue rebase woes. > -Brian > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev