diff options
author | Jason Ekstrand <[email protected]> | 2015-04-09 20:45:45 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2015-04-22 18:10:39 -0700 |
commit | 73cc76362dd93a2b8b35583cc12cc3a61a61ea83 (patch) | |
tree | 6229d257289cd5b2f31c76e9b4fb3af6c0b678c3 /src/glsl | |
parent | 734bceed8609a74d83032380e83488f3d2497012 (diff) |
nir/lower_vars_to_ssa: Actually look for indirects when determining aliasing
Reviewed-by: Connor Abbott <[email protected]>
Diffstat (limited to 'src/glsl')
-rw-r--r-- | src/glsl/nir/nir_lower_vars_to_ssa.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/glsl/nir/nir_lower_vars_to_ssa.c b/src/glsl/nir/nir_lower_vars_to_ssa.c index 2ca74d71bc2..8b7261c937e 100644 --- a/src/glsl/nir/nir_lower_vars_to_ssa.c +++ b/src/glsl/nir/nir_lower_vars_to_ssa.c @@ -317,6 +317,10 @@ deref_may_be_aliased_node(struct deref_node *node, nir_deref *deref, if (arr->deref_array_type == nir_deref_array_type_indirect) return true; + /* If there is an indirect at this level, we're aliased. */ + if (node->indirect) + return true; + assert(arr->deref_array_type == nir_deref_array_type_direct); if (node->children[arr->base_offset] && |