Re: [Mesa-dev] [PATCH v2 07/73] st/glsl_to_nir: fix the case where NIR clone testing is enabled

2017-07-25 Thread Marek Olšák
Reviewed-by: Marek Olšák 

Marek

On Wed, Jul 5, 2017 at 12:47 PM, Nicolai Hähnle  wrote:
> From: Nicolai Hähnle 
>
> In that case, prog->nir must be assigned at the end.
> ---
>  src/mesa/state_tracker/st_glsl_to_nir.cpp | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp 
> b/src/mesa/state_tracker/st_glsl_to_nir.cpp
> index 89f7888..5c4ae81 100644
> --- a/src/mesa/state_tracker/st_glsl_to_nir.cpp
> +++ b/src/mesa/state_tracker/st_glsl_to_nir.cpp
> @@ -229,21 +229,20 @@ st_glsl_to_nir(struct st_context *st, struct gl_program 
> *prog,
> assert(pscreen->get_compiler_options);   /* drivers using NIR must 
> implement this */
>
> options = (const nir_shader_compiler_options *)
>pscreen->get_compiler_options(pscreen, PIPE_SHADER_IR_NIR, ptarget);
> assert(options);
>
> if (prog->nir)
>return prog->nir;
>
> nir = glsl_to_nir(shader_program, stage, options);
> -   prog->nir = nir;
>
> NIR_PASS_V(nir, nir_lower_io_to_temporaries,
>   nir_shader_get_entrypoint(nir),
>   true, true);
> NIR_PASS_V(nir, nir_lower_global_vars_to_local);
> NIR_PASS_V(nir, nir_split_var_copies);
> NIR_PASS_V(nir, nir_lower_var_copies);
> NIR_PASS_V(nir, st_nir_lower_builtin);
> NIR_PASS_V(nir, nir_lower_atomics, shader_program);
>
> @@ -274,20 +273,22 @@ st_glsl_to_nir(struct st_context *st, struct gl_program 
> *prog,
>
> if (st->ctx->_Shader->Flags & GLSL_DUMP) {
>_mesa_log("\n");
>_mesa_log("NIR IR for linked %s program %d:\n",
>   _mesa_shader_stage_to_string(stage),
>   shader_program->Name);
>nir_print_shader(nir, _mesa_get_log_file());
>_mesa_log("\n\n");
> }
>
> +   prog->nir = nir;
> +
> return nir;
>  }
>
>  /* TODO any better helper somewhere to sort a list? */
>
>  static void
>  insert_sorted(struct exec_list *var_list, nir_variable *new_var)
>  {
> nir_foreach_variable(var, var_list) {
>if (var->data.location > new_var->data.location) {
> --
> 2.9.3
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v2 07/73] st/glsl_to_nir: fix the case where NIR clone testing is enabled

2017-07-10 Thread Eric Anholt
Nicolai Hähnle  writes:

> From: Nicolai Hähnle 
>
> In that case, prog->nir must be assigned at the end.

Reviewed-by: Eric Anholt 


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


[Mesa-dev] [PATCH v2 07/73] st/glsl_to_nir: fix the case where NIR clone testing is enabled

2017-07-05 Thread Nicolai Hähnle
From: Nicolai Hähnle 

In that case, prog->nir must be assigned at the end.
---
 src/mesa/state_tracker/st_glsl_to_nir.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp 
b/src/mesa/state_tracker/st_glsl_to_nir.cpp
index 89f7888..5c4ae81 100644
--- a/src/mesa/state_tracker/st_glsl_to_nir.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_nir.cpp
@@ -229,21 +229,20 @@ st_glsl_to_nir(struct st_context *st, struct gl_program 
*prog,
assert(pscreen->get_compiler_options);   /* drivers using NIR must 
implement this */
 
options = (const nir_shader_compiler_options *)
   pscreen->get_compiler_options(pscreen, PIPE_SHADER_IR_NIR, ptarget);
assert(options);
 
if (prog->nir)
   return prog->nir;
 
nir = glsl_to_nir(shader_program, stage, options);
-   prog->nir = nir;
 
NIR_PASS_V(nir, nir_lower_io_to_temporaries,
  nir_shader_get_entrypoint(nir),
  true, true);
NIR_PASS_V(nir, nir_lower_global_vars_to_local);
NIR_PASS_V(nir, nir_split_var_copies);
NIR_PASS_V(nir, nir_lower_var_copies);
NIR_PASS_V(nir, st_nir_lower_builtin);
NIR_PASS_V(nir, nir_lower_atomics, shader_program);
 
@@ -274,20 +273,22 @@ st_glsl_to_nir(struct st_context *st, struct gl_program 
*prog,
 
if (st->ctx->_Shader->Flags & GLSL_DUMP) {
   _mesa_log("\n");
   _mesa_log("NIR IR for linked %s program %d:\n",
  _mesa_shader_stage_to_string(stage),
  shader_program->Name);
   nir_print_shader(nir, _mesa_get_log_file());
   _mesa_log("\n\n");
}
 
+   prog->nir = nir;
+
return nir;
 }
 
 /* TODO any better helper somewhere to sort a list? */
 
 static void
 insert_sorted(struct exec_list *var_list, nir_variable *new_var)
 {
nir_foreach_variable(var, var_list) {
   if (var->data.location > new_var->data.location) {
-- 
2.9.3

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