mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
radv: fix handling ViewportIndex with GPL
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 <samuel.pitoiset@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18699>
This commit is contained in:
parent
515847b2a7
commit
630bb53e68
1 changed files with 2 additions and 2 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue