From 1ae0c030cbbdcbeaaf82384ef69f4d610677172e Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 28 Mar 2019 10:57:31 -0400 Subject: nir: add lower_all_io_to_elements I need this part of lower_all_io_to_temps but without the actual lowering to temps part. Signed-off-by: Rob Clark --- src/compiler/nir/nir.h | 1 + src/mesa/state_tracker/st_glsl_to_nir.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 806e47dd7bb..bc72d8f83f5 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -2273,6 +2273,7 @@ typedef struct nir_shader_compiler_options { bool lower_extract_word; bool lower_all_io_to_temps; + bool lower_all_io_to_elements; /** * Does the driver support real 32-bit integers? (Otherwise, integers diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp b/src/mesa/state_tracker/st_glsl_to_nir.cpp index 96fc257032e..8a58328ce48 100644 --- a/src/mesa/state_tracker/st_glsl_to_nir.cpp +++ b/src/mesa/state_tracker/st_glsl_to_nir.cpp @@ -922,6 +922,7 @@ st_finalize_nir(struct st_context *st, struct gl_program *prog, NIR_PASS_V(nir, nir_split_var_copies); NIR_PASS_V(nir, nir_lower_var_copies); if (options->lower_all_io_to_temps || + options->lower_all_io_to_elements || nir->info.stage == MESA_SHADER_VERTEX || nir->info.stage == MESA_SHADER_GEOMETRY) { NIR_PASS_V(nir, nir_lower_io_arrays_to_elements_no_indirects, false); -- cgit v1.2.3