glsl: fix segfault linking subroutine uniform with explicit location
authorTimothy Arceri <timothy.arceri@collabora.com>
Mon, 18 Jan 2016 00:13:27 +0000 (11:13 +1100)
committerTimothy Arceri <timothy.arceri@collabora.com>
Mon, 18 Jan 2016 00:30:45 +0000 (11:30 +1100)
Reviewed-by: Dave Airlie <airlied@redhat.com>
Cc: "11.0 11.1" mesa-stable@lists.freedesktop.org
src/glsl/linker.cpp

index 3f40c0be3325813212a2573e14c5800d76f59660..6657777d74ca40a7bfc7184aec5e2d351bc4b177 100644 (file)
@@ -3162,7 +3162,7 @@ check_explicit_uniform_locations(struct gl_context *ctx,
 
          if (var->data.explicit_location) {
             bool ret;
-            if (var->type->is_subroutine())
+            if (var->type->without_array()->is_subroutine())
                ret = reserve_subroutine_explicit_locations(prog, sh, var);
             else
                ret = reserve_explicit_locations(prog, uniform_map, var);