summaryrefslogtreecommitdiff
path: root/ir.cpp
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2010-04-19 15:40:49 -0700
committerIan Romanick <ian.d.romanick@intel.com>2010-04-28 18:22:54 -0700
commit7ee79fb6b78012abd0ae8e874a7c64550b1cb707 (patch)
treeb9b35e2debdc896c3aff5974fc9f7ed58fd53124 /ir.cpp
parent8f755dcb67848966c350883ad6fbb50547d9ec24 (diff)
Add ir_dereference constructor for structure field dereferences
Diffstat (limited to 'ir.cpp')
-rw-r--r--ir.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/ir.cpp b/ir.cpp
index 63135e3553..7ada145d53 100644
--- a/ir.cpp
+++ b/ir.cpp
@@ -246,6 +246,14 @@ ir_dereference::ir_dereference(ir_instruction *var,
this->selector.array_index = array_index;
}
+ir_dereference::ir_dereference(ir_instruction *variable, const char *field)
+ : mode(ir_reference_record), var(variable)
+{
+ this->selector.field = field;
+ this->type = (var != NULL)
+ ? var->type->field_type(field) : glsl_type::error_type;
+}
+
bool
ir_dereference::is_lvalue()
{