From 630bb53e68e8c150c99d01fdbf1806aba790af70 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 20 Sep 2022 11:40:35 +0200 Subject: [PATCH] radv: fix handling ViewportIndex with GPL MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When the fragment shader reads the viewport index as input and the last pre-rasterization stage doesn't export it, it should be implicitly zero (ie. first viewport). When the next stage is known, it's already lowered in NIR, but with GPL we can't because we don't know if the FS reads it. To fix this use AC_EXP_PARAM_DEFAULT_VAL_000. Signed-off-by: Samuel Pitoiset Reviewed-by: Timur Kristóf Part-of: --- src/amd/vulkan/radv_pipeline.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index b78026d..c0b9170 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -5456,7 +5456,7 @@ radv_pipeline_emit_ps_inputs(struct radeon_cmdbuf *ctx_cs, if (ps->info.ps.viewport_index_input && !mesh) single_slot_to_ps_input(outinfo, VARYING_SLOT_VIEWPORT, ps_input_cntl, &ps_offset, - false, false, true); + false, true, true); if (ps->info.ps.has_pcoord) ps_input_cntl[ps_offset++] = S_028644_PT_SPRITE_TEX(1) | S_028644_OFFSET(0x20); @@ -5485,7 +5485,7 @@ radv_pipeline_emit_ps_inputs(struct radeon_cmdbuf *ctx_cs, if (ps->info.ps.viewport_index_input && mesh) single_slot_to_ps_input(outinfo, VARYING_SLOT_VIEWPORT, ps_input_cntl, &ps_offset, - false, false, false); + false, true, false); input_mask_to_ps_inputs(outinfo, ps, ps->info.ps.input_per_primitive_mask, ps_input_cntl, &ps_offset); -- 2.7.4