summaryrefslogtreecommitdiffstats
path: root/src/compiler/nir/nir.h
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-02-13 17:45:37 -0800
committerJason Ekstrand <[email protected]>2016-03-08 10:41:54 -0800
commit14b18aba89026204043d2e0d441e6be0e1af4aca (patch)
treebe2cca0a736ce96f5df76be7bbc1dcec859e0c03 /src/compiler/nir/nir.h
parentef76ea4ba97d0ac122491fd3f1b2bbb8e4163150 (diff)
nir: Add a pass for lower indirect variable dereferences
This new pass lowers load/store_var intrinsics that act on indirect derefs to if-ladder of direct load/store_var intrinsics. The if-ladders perform a simple binary search on the indirect. Reviewed-by: Connor Abbott <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir.h')
-rw-r--r--src/compiler/nir/nir.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h
index cccb3a41da5..cfbac81dbb1 100644
--- a/src/compiler/nir/nir.h
+++ b/src/compiler/nir/nir.h
@@ -2055,6 +2055,8 @@ void nir_lower_var_copies(nir_shader *shader);
bool nir_lower_global_vars_to_local(nir_shader *shader);
+bool nir_lower_indirect_derefs(nir_shader *shader, uint32_t mode_mask);
+
bool nir_lower_locals_to_regs(nir_shader *shader);
void nir_lower_outputs_to_temporaries(nir_shader *shader);