projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a4f308f
)
Fix type handling in ir_dereference array dereference constructor
author
Ian Romanick
<ian.d.romanick@intel.com>
Fri, 2 Apr 2010 01:02:48 +0000
(18:02 -0700)
committer
Ian Romanick
<ian.d.romanick@intel.com>
Fri, 2 Apr 2010 01:02:48 +0000
(18:02 -0700)
ir.cpp
patch
|
blob
|
history
diff --git
a/ir.cpp
b/ir.cpp
index 90df67bbf1dcd8388d0186661b2ec790bd0bc0dd..60f34ca9bea8b307309e293574c1a1e4fb0df8c0 100644
(file)
--- a/
ir.cpp
+++ b/
ir.cpp
@@
-117,7
+117,18
@@
ir_dereference::ir_dereference(ir_instruction *var,
: ir_rvalue(), mode(ir_reference_array),
var(var)
{
- this->type = (var != NULL) ? var->type : glsl_type::error_type;
+ type = glsl_type::error_type;
+
+ if (var != NULL) {
+ const glsl_type *const vt = var->type;
+
+ if (vt->is_array()) {
+ type = vt->element_type();
+ } else if (vt->is_matrix() || vt->is_vector()) {
+ type = vt->get_base_type();
+ }
+ }
+
this->selector.array_index = array_index;
}