diff options
Diffstat (limited to 'src/glsl/nir/nir.c')
-rw-r--r-- | src/glsl/nir/nir.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c index 281683a542d..b6bd78d05e6 100644 --- a/src/glsl/nir/nir.c +++ b/src/glsl/nir/nir.c @@ -1010,13 +1010,12 @@ update_if_uses(nir_cf_node *node) return; nir_if *if_stmt = nir_cf_node_as_if(node); - if (if_stmt->condition.is_ssa) - return; - nir_register *reg = if_stmt->condition.reg.reg; - assert(reg != NULL); + struct set *if_uses_set = if_stmt->condition.is_ssa ? + if_stmt->condition.ssa->if_uses : + if_stmt->condition.reg.reg->uses; - _mesa_set_add(reg->if_uses, _mesa_hash_pointer(if_stmt), if_stmt); + _mesa_set_add(if_uses_set, _mesa_hash_pointer(if_stmt), if_stmt); } void |