Re: [Mesa-dev] [PATCH] ac/shader: scan force_persample

2018-02-12 Thread Bas Nieuwenhuizen
Reviewed-by: Bas Nieuwenhuizen 

On Mon, Feb 12, 2018 at 3:57 PM, Samuel Pitoiset
 wrote:
> Signed-off-by: Samuel Pitoiset 
> ---
>  src/amd/common/ac_nir_to_llvm.c |  5 ++---
>  src/amd/common/ac_shader_info.c | 15 +++
>  2 files changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
> index bf5b0bc1e1..86795875a1 100644
> --- a/src/amd/common/ac_nir_to_llvm.c
> +++ b/src/amd/common/ac_nir_to_llvm.c
> @@ -5413,10 +5413,9 @@ handle_fs_input_decl(struct radv_shader_context *ctx,
>
> if (glsl_get_base_type(glsl_without_array(variable->type)) == 
> GLSL_TYPE_FLOAT) {
> unsigned interp_type;
> -   if (variable->data.sample) {
> +   if (variable->data.sample)
> interp_type = INTERP_SAMPLE;
> -   ctx->shader_info->info.ps.force_persample = true;
> -   } else if (variable->data.centroid)
> +   else if (variable->data.centroid)
> interp_type = INTERP_CENTROID;
> else
> interp_type = INTERP_CENTER;
> diff --git a/src/amd/common/ac_shader_info.c b/src/amd/common/ac_shader_info.c
> index b211da60b3..3b0887995d 100644
> --- a/src/amd/common/ac_shader_info.c
> +++ b/src/amd/common/ac_shader_info.c
> @@ -179,6 +179,18 @@ gather_info_block(const nir_shader *nir, const nir_block 
> *block,
> }
>  }
>
> +static void
> +gather_info_input_decl_ps(const nir_shader *nir, const nir_variable *var,
> + struct ac_shader_info *info)
> +{
> +   const struct glsl_type *type = glsl_without_array(var->type);
> +
> +   if (glsl_get_base_type(type) == GLSL_TYPE_FLOAT) {
> +   if (var->data.sample)
> +   info->ps.force_persample = true;
> +   }
> +}
> +
>  static void
>  gather_info_input_decl(const nir_shader *nir, const nir_variable *var,
>struct ac_shader_info *info)
> @@ -187,6 +199,9 @@ gather_info_input_decl(const nir_shader *nir, const 
> nir_variable *var,
> case MESA_SHADER_VERTEX:
> info->vs.has_vertex_buffers = true;
> break;
> +   case MESA_SHADER_FRAGMENT:
> +   gather_info_input_decl_ps(nir, var, info);
> +   break;
> default:
> break;
> }
> --
> 2.16.1
>
> ___
> 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


[Mesa-dev] [PATCH] ac/shader: scan force_persample

2018-02-12 Thread Samuel Pitoiset
Signed-off-by: Samuel Pitoiset 
---
 src/amd/common/ac_nir_to_llvm.c |  5 ++---
 src/amd/common/ac_shader_info.c | 15 +++
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index bf5b0bc1e1..86795875a1 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -5413,10 +5413,9 @@ handle_fs_input_decl(struct radv_shader_context *ctx,
 
if (glsl_get_base_type(glsl_without_array(variable->type)) == 
GLSL_TYPE_FLOAT) {
unsigned interp_type;
-   if (variable->data.sample) {
+   if (variable->data.sample)
interp_type = INTERP_SAMPLE;
-   ctx->shader_info->info.ps.force_persample = true;
-   } else if (variable->data.centroid)
+   else if (variable->data.centroid)
interp_type = INTERP_CENTROID;
else
interp_type = INTERP_CENTER;
diff --git a/src/amd/common/ac_shader_info.c b/src/amd/common/ac_shader_info.c
index b211da60b3..3b0887995d 100644
--- a/src/amd/common/ac_shader_info.c
+++ b/src/amd/common/ac_shader_info.c
@@ -179,6 +179,18 @@ gather_info_block(const nir_shader *nir, const nir_block 
*block,
}
 }
 
+static void
+gather_info_input_decl_ps(const nir_shader *nir, const nir_variable *var,
+ struct ac_shader_info *info)
+{
+   const struct glsl_type *type = glsl_without_array(var->type);
+
+   if (glsl_get_base_type(type) == GLSL_TYPE_FLOAT) {
+   if (var->data.sample)
+   info->ps.force_persample = true;
+   }
+}
+
 static void
 gather_info_input_decl(const nir_shader *nir, const nir_variable *var,
   struct ac_shader_info *info)
@@ -187,6 +199,9 @@ gather_info_input_decl(const nir_shader *nir, const 
nir_variable *var,
case MESA_SHADER_VERTEX:
info->vs.has_vertex_buffers = true;
break;
+   case MESA_SHADER_FRAGMENT:
+   gather_info_input_decl_ps(nir, var, info);
+   break;
default:
break;
}
-- 
2.16.1

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