Mesa (master): i965: Pass brw_compiler into brw_preprocess_nir() instead of is_scalar.
Kenneth Graunke
kwg at kemper.freedesktop.org
Tue Apr 12 01:52:39 UTC 2016
Module: Mesa
Branch: master
Commit: b0dffdc616801a1fd8534502e11ac840369041ab
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b0dffdc616801a1fd8534502e11ac840369041ab
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Apr 7 15:09:56 2016 -0700
i965: Pass brw_compiler into brw_preprocess_nir() instead of is_scalar.
I want to be able to read other fields.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Alejandro Piñeiro <apinheiro at igalia.com>
Reviewed-by: Eduardo Lima Mitev <elima at igalia.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
---
src/mesa/drivers/dri/i965/brw_nir.c | 6 ++++--
src/mesa/drivers/dri/i965/brw_nir.h | 3 ++-
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_nir.c b/src/mesa/drivers/dri/i965/brw_nir.c
index c62840a..1821c0d 100644
--- a/src/mesa/drivers/dri/i965/brw_nir.c
+++ b/src/mesa/drivers/dri/i965/brw_nir.c
@@ -437,11 +437,13 @@ nir_optimize(nir_shader *nir, bool is_scalar)
* is_scalar = true to scalarize everything prior to code gen.
*/
nir_shader *
-brw_preprocess_nir(nir_shader *nir, bool is_scalar)
+brw_preprocess_nir(const struct brw_compiler *compiler, nir_shader *nir)
{
bool progress; /* Written by OPT and OPT_V */
(void)progress;
+ const bool is_scalar = compiler->scalar_stage[nir->stage];
+
if (nir->stage == MESA_SHADER_GEOMETRY)
OPT(nir_lower_gs_intrinsics);
@@ -568,7 +570,7 @@ brw_create_nir(struct brw_context *brw,
(void)progress;
- nir = brw_preprocess_nir(nir, is_scalar);
+ nir = brw_preprocess_nir(brw->intelScreen->compiler, nir);
OPT(nir_lower_system_values);
OPT_V(brw_nir_lower_uniforms, is_scalar);
diff --git a/src/mesa/drivers/dri/i965/brw_nir.h b/src/mesa/drivers/dri/i965/brw_nir.h
index 440b4ce..b10c083 100644
--- a/src/mesa/drivers/dri/i965/brw_nir.h
+++ b/src/mesa/drivers/dri/i965/brw_nir.h
@@ -81,7 +81,8 @@ nir_shader *brw_create_nir(struct brw_context *brw,
gl_shader_stage stage,
bool is_scalar);
-nir_shader *brw_preprocess_nir(nir_shader *nir, bool is_scalar);
+nir_shader *brw_preprocess_nir(const struct brw_compiler *compiler,
+ nir_shader *nir);
void brw_nir_lower_vs_inputs(nir_shader *nir,
const struct brw_device_info *devinfo,
More information about the mesa-commit
mailing list