diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/glsl/glsl_types.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/glsl/glsl_types.h b/src/glsl/glsl_types.h index d383dd5bef1..5645dcd5011 100644 --- a/src/glsl/glsl_types.h +++ b/src/glsl/glsl_types.h @@ -540,7 +540,12 @@ struct glsl_type { */ const glsl_type *without_array() const { - return this->is_array() ? this->fields.array : this; + const glsl_type *t = this; + + while (t->is_array()) + t = t->fields.array; + + return t; } /** |