Re: [Mesa-dev] [PATCH 3/4] i965: Pass brw_compiler into brw_preprocess_nir() instead of is_scalar.

2016-04-08 Thread Alejandro Piñeiro
LGTM,

Reviewed-by: Alejandro Piñeiro 

On 08/04/16 01:35, Kenneth Graunke wrote:
> I want to be able to read other fields.
>
> Signed-off-by: Kenneth Graunke 
> ---
>  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,

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH 3/4] i965: Pass brw_compiler into brw_preprocess_nir() instead of is_scalar.

2016-04-07 Thread Kenneth Graunke
I want to be able to read other fields.

Signed-off-by: Kenneth Graunke 
---
 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,
-- 
2.8.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev