summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno/ir3
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2018-04-02 17:41:28 -0700
committerJason Ekstrand <[email protected]>2018-06-22 20:54:00 -0700
commit5a02ffb733eccb03fdfa568cc33a231d9210c4ae (patch)
tree153080483bab91160447df976285cc6433c7b95a /src/gallium/drivers/freedreno/ir3
parent2fa7a4a54185cd64cb26c2d14339b95890b69da0 (diff)
nir: Rework lower_locals_to_regs to use deref instructions
This completely reworks the pass to support deref instructions and delete support for old deref chains Acked-by: Rob Clark <[email protected]> Acked-by: Bas Nieuwenhuizen <[email protected]> Acked-by: Dave Airlie <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/ir3')
-rw-r--r--src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c b/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c
index cfe22c4415a..3bb4d43e2f4 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c
@@ -206,14 +206,14 @@ compile_init(struct ir3_compiler *compiler,
ctx->s = so->shader->nir;
}
- NIR_PASS_V(ctx->s, nir_lower_deref_instrs, ~0);
-
/* this needs to be the last pass run, so do this here instead of
* in ir3_optimize_nir():
*/
NIR_PASS_V(ctx->s, nir_lower_locals_to_regs);
NIR_PASS_V(ctx->s, nir_convert_from_ssa, true);
+ NIR_PASS_V(ctx->s, nir_lower_deref_instrs, ~0);
+
if (fd_mesa_debug & FD_DBG_DISASM) {
DBG("dump nir%dv%d: type=%d, k={bp=%u,cts=%u,hp=%u}",
so->shader->id, so->id, so->type,