Module: Mesa Branch: master Commit: 07e4268f36c18539330f77d46c15968254408876 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=07e4268f36c18539330f77d46c15968254408876
Author: Samuel Pitoiset <samuel.pitoi...@gmail.com> Date: Mon Feb 12 15:57:17 2018 +0100 ac/shader: scan force_persample Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> Reviewed-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> --- 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 236320bd78..b33e0a984f 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -5499,10 +5499,9 @@ handle_fs_input_decl(struct nir_to_llvm_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 @@ -180,6 +180,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; } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit