aboutsummaryrefslogtreecommitdiffstats
path: root/src/glsl/nir
diff options
context:
space:
mode:
Diffstat (limited to 'src/glsl/nir')
-rw-r--r--src/glsl/nir/nir.c10
-rw-r--r--src/glsl/nir/nir.h2
-rw-r--r--src/glsl/nir/nir_algebraic.py4
-rw-r--r--src/glsl/nir/nir_from_ssa.c6
-rw-r--r--src/glsl/nir/nir_lower_variables.c4
-rw-r--r--src/glsl/nir/nir_metadata.c2
-rw-r--r--src/glsl/nir/nir_opt_cse.c4
-rw-r--r--src/glsl/nir/nir_opt_peephole_select.c2
8 files changed, 18 insertions, 16 deletions
diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c
index 3a64135d94e..cb788d47259 100644
--- a/src/glsl/nir/nir.c
+++ b/src/glsl/nir/nir.c
@@ -862,7 +862,7 @@ handle_jump(nir_block *block)
unlink_block_successors(block);
nir_function_impl *impl = nir_cf_node_get_function(&block->cf_node);
- nir_metadata_dirty(impl, nir_metadata_none);
+ nir_metadata_preserve(impl, nir_metadata_none);
if (jump_instr->type == nir_jump_break ||
jump_instr->type == nir_jump_continue) {
@@ -960,7 +960,7 @@ handle_remove_jump(nir_block *block, nir_jump_type type)
}
nir_function_impl *impl = nir_cf_node_get_function(&block->cf_node);
- nir_metadata_dirty(impl, nir_metadata_none);
+ nir_metadata_preserve(impl, nir_metadata_none);
}
/**
@@ -1066,7 +1066,7 @@ nir_cf_node_insert_after(nir_cf_node *node, nir_cf_node *after)
}
nir_function_impl *impl = nir_cf_node_get_function(node);
- nir_metadata_dirty(impl, nir_metadata_none);
+ nir_metadata_preserve(impl, nir_metadata_none);
}
void
@@ -1108,7 +1108,7 @@ nir_cf_node_insert_before(nir_cf_node *node, nir_cf_node *before)
}
nir_function_impl *impl = nir_cf_node_get_function(node);
- nir_metadata_dirty(impl, nir_metadata_none);
+ nir_metadata_preserve(impl, nir_metadata_none);
}
void
@@ -1154,7 +1154,7 @@ void
nir_cf_node_remove(nir_cf_node *node)
{
nir_function_impl *impl = nir_cf_node_get_function(node);
- nir_metadata_dirty(impl, nir_metadata_none);
+ nir_metadata_preserve(impl, nir_metadata_none);
if (node->type == nir_cf_node_block) {
/*
diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h
index fe1f9a8682e..822e2ae414c 100644
--- a/src/glsl/nir/nir.h
+++ b/src/glsl/nir/nir.h
@@ -1287,7 +1287,7 @@ void nir_cf_node_remove(nir_cf_node *node);
/** requests that the given pieces of metadata be generated */
void nir_metadata_require(nir_function_impl *impl, nir_metadata required);
/** dirties all but the preserved metadata */
-void nir_metadata_dirty(nir_function_impl *impl, nir_metadata preserved);
+void nir_metadata_preserve(nir_function_impl *impl, nir_metadata preserved);
/** creates an instruction with default swizzle/writemask/etc. with NULL registers */
nir_alu_instr *nir_alu_instr_create(void *mem_ctx, nir_op op);
diff --git a/src/glsl/nir/nir_algebraic.py b/src/glsl/nir/nir_algebraic.py
index 703102fc5ca..72703beea8a 100644
--- a/src/glsl/nir/nir_algebraic.py
+++ b/src/glsl/nir/nir_algebraic.py
@@ -216,8 +216,8 @@ ${pass_name}_impl(nir_function_impl *impl)
nir_foreach_block(impl, ${pass_name}_block, &state);
if (state.progress)
- nir_metadata_dirty(impl, nir_metadata_block_index |
- nir_metadata_dominance);
+ nir_metadata_preserve(impl, nir_metadata_block_index |
+ nir_metadata_dominance);
return state.progress;
}
diff --git a/src/glsl/nir/nir_from_ssa.c b/src/glsl/nir/nir_from_ssa.c
index 9b7c931c072..f99ba9b7828 100644
--- a/src/glsl/nir/nir_from_ssa.c
+++ b/src/glsl/nir/nir_from_ssa.c
@@ -827,8 +827,10 @@ nir_convert_from_ssa_impl(nir_function_impl *impl)
nir_foreach_block(impl, isolate_phi_nodes_block, &state);
- nir_metadata_dirty(impl, nir_metadata_block_index |
- nir_metadata_dominance);
+ /* Mark metadata as dirty before we ask for liveness analysis */
+ nir_metadata_preserve(impl, nir_metadata_block_index |
+ nir_metadata_dominance);
+
nir_metadata_require(impl, nir_metadata_live_variables |
nir_metadata_dominance);
diff --git a/src/glsl/nir/nir_lower_variables.c b/src/glsl/nir/nir_lower_variables.c
index 8c231240183..b8961f85ce8 100644
--- a/src/glsl/nir/nir_lower_variables.c
+++ b/src/glsl/nir/nir_lower_variables.c
@@ -1022,8 +1022,8 @@ nir_lower_variables_impl(nir_function_impl *impl)
insert_phi_nodes(&state);
nir_foreach_block(impl, lower_deref_to_ssa_block, &state);
- nir_metadata_dirty(impl, nir_metadata_block_index |
- nir_metadata_dominance);
+ nir_metadata_preserve(impl, nir_metadata_block_index |
+ nir_metadata_dominance);
ralloc_free(state.dead_ctx);
diff --git a/src/glsl/nir/nir_metadata.c b/src/glsl/nir/nir_metadata.c
index a4d618ccc05..a03e12456a1 100644
--- a/src/glsl/nir/nir_metadata.c
+++ b/src/glsl/nir/nir_metadata.c
@@ -48,7 +48,7 @@ nir_metadata_require(nir_function_impl *impl, nir_metadata required)
}
void
-nir_metadata_dirty(nir_function_impl *impl, nir_metadata preserved)
+nir_metadata_preserve(nir_function_impl *impl, nir_metadata preserved)
{
impl->valid_metadata &= preserved;
}
diff --git a/src/glsl/nir/nir_opt_cse.c b/src/glsl/nir/nir_opt_cse.c
index 2447fe9cfc0..14bd6bf50e6 100644
--- a/src/glsl/nir/nir_opt_cse.c
+++ b/src/glsl/nir/nir_opt_cse.c
@@ -249,8 +249,8 @@ nir_opt_cse_impl(nir_function_impl *impl)
nir_foreach_block(impl, nir_opt_cse_block, &state);
if (state.progress)
- nir_metadata_dirty(impl, nir_metadata_block_index |
- nir_metadata_dominance);
+ nir_metadata_preserve(impl, nir_metadata_block_index |
+ nir_metadata_dominance);
return state.progress;
}
diff --git a/src/glsl/nir/nir_opt_peephole_select.c b/src/glsl/nir/nir_opt_peephole_select.c
index 4fc7726a85a..247fe050a70 100644
--- a/src/glsl/nir/nir_opt_peephole_select.c
+++ b/src/glsl/nir/nir_opt_peephole_select.c
@@ -193,7 +193,7 @@ nir_opt_peephole_select_impl(nir_function_impl *impl)
nir_foreach_block(impl, nir_opt_peephole_select_block, &state);
if (state.progress)
- nir_metadata_dirty(impl, nir_metadata_none);
+ nir_metadata_preserve(impl, nir_metadata_none);
return state.progress;
}