Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
On 18/07/15 03:25, Timothy Arceri wrote:
> This fixes the remaining failing tests in:
> ES31-CTS.program_interface_query.uniform-types
> ---
> src/glsl/linker.cpp | 16 +++++++++++++---
> 1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
> index cb679bd..dc8c873 100644
> --- a/src/glsl/linker.cpp
> +++ b/src/glsl/linker.cpp
> @@ -2648,9 +2648,19 @@ build_stageref(struct gl_shader_program *shProg, const
> char *name)
> */
> foreach_in_list(ir_instruction, node, sh->ir) {
> ir_variable *var = node->as_variable();
> - if (var && strcmp(var->name, name) == 0) {
> - stages |= (1 << i);
> - break;
> + if (var) {
> + unsigned baselen = strlen(var->name);
> + if (strncmp(var->name, name, baselen) == 0) {
> + /* Check for exact name matches but also check for arrays and
> + * structs.
> + */
> + if (name[baselen] == '\0' ||
> + name[baselen] == '[' ||
> + name[baselen] == '.') {
> + stages |= (1 << i);
> + break;
> + }
> + }
> }
> }
> }
>
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev