From: Bas Nieuwenhuizen Date: Wed, 3 May 2017 17:52:12 +0000 (+0200) Subject: radv: Don't use FLAT_SHADE for constants. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=33ad6226a056e727eb44aba3126ceed6e889dc7b;p=mesa.git radv: Don't use FLAT_SHADE for constants. Setting both offset to 0x20 and flat shade results in passthrough mode instead of the constant. Signed-off-by: Bas Nieuwenhuizen Reviewed-by: Dave Airlie Fixes: f205e19e4f8 "radv/ac: eliminate unused vertex shader outputs. (v2)" --- diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index f3cba198e46..2992df6ed43 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -1886,9 +1886,11 @@ static void calculate_pa_cl_vs_out_cntl(struct radv_pipeline *pipeline) static uint32_t offset_to_ps_input(uint32_t offset, bool flat_shade) { uint32_t ps_input_cntl; - if (offset <= AC_EXP_PARAM_OFFSET_31) + if (offset <= AC_EXP_PARAM_OFFSET_31) { ps_input_cntl = S_028644_OFFSET(offset); - else { + if (flat_shade) + ps_input_cntl |= S_028644_FLAT_SHADE(1); + } else { /* The input is a DEFAULT_VAL constant. */ assert(offset >= AC_EXP_PARAM_DEFAULT_VAL_0000 && offset <= AC_EXP_PARAM_DEFAULT_VAL_1111); @@ -1896,8 +1898,6 @@ static uint32_t offset_to_ps_input(uint32_t offset, bool flat_shade) ps_input_cntl = S_028644_OFFSET(0x20) | S_028644_DEFAULT_VAL(offset); } - if (flat_shade) - ps_input_cntl |= S_028644_FLAT_SHADE(1); return ps_input_cntl; }