From 2d946634eb3761dbec5aa8806fc36ff6d65b4f9c Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Fri, 2 Apr 2010 17:05:59 -0700 Subject: [PATCH] Whole structures are assignable Whole arrays are assignable in GLSL 1.20 and later, but it's not clear how to handle that within the IR because the IR is supposed to be shading language version agnostic. --- ir.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ir.cpp b/ir.cpp index dd426df566a..ef93c406198 100644 --- a/ir.cpp +++ b/ir.cpp @@ -200,8 +200,11 @@ ir_dereference::is_lvalue() if (var == NULL) return false; - if (this->type->base_type == GLSL_TYPE_ARRAY || - this->type->base_type == GLSL_TYPE_STRUCT) + /* Arrays are not assignable in GLSL 1.10, but in GLSL 1.20 and later they + * are. + */ + /* FINISHME: Handle GLSL 1.10 vs 1.20 differences. */ + if (this->type->base_type == GLSL_TYPE_ARRAY) return false; if (mode == ir_reference_variable) { -- 2.30.2