glsl: fix regression when building interface field name for SSBOs
authorTimothy Arceri <t_arceri@yahoo.com.au>
Sat, 17 Oct 2015 22:12:40 +0000 (09:12 +1100)
committerTimothy Arceri <t_arceri@yahoo.com.au>
Tue, 20 Oct 2015 00:54:09 +0000 (11:54 +1100)
Fixes regression cased by bb5aeb854915ba67abc56257f830d002c956439e

We don't care about the swizzle when building the name so just skip over it.

Tested-by: Markus Wick <markus@selfnet.de>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
src/glsl/lower_ubo_reference.cpp

index e818c0484611a8bb86a138689f6c76f4699d5473..57a242b4074c01697c437fd50027f2deb44d3670 100644 (file)
@@ -238,6 +238,8 @@ interface_field_name(void *mem_ctx, char *base_name, ir_rvalue *d,
       case ir_type_swizzle: {
          ir_swizzle *s = (ir_swizzle *) ir;
          ir = s->val->as_dereference();
+         /* Skip swizzle in the next pass */
+         d = ir;
          break;
       }