Setting both offset to 0x20 and flat shade results in passthrough
mode instead of the constant.

Signed-off-by: Bas Nieuwenhuizen <ba...@google.com>
Fixes: f205e19e4f8 "radv/ac: eliminate unused vertex shader outputs. (v2)"
---
 src/amd/vulkan/radv_pipeline.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

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;
 }
 
-- 
2.12.2

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

Reply via email to