mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 20:28:04 +02:00
radv: exclude dynamic vertex input stride for the late scissor workaround
RADV_DYNAMIC_VERTEX_INPUT_BINDING_STRIDE doesn't emit any context
registers, so it can be excluded for the late scissor workaround to
avoid re-emitting scissors all the time it's dirty.
This fixes a performance regression noticed with Cyberpunk on Vega10,
but other games are likely affected too. The late scissor workaround is
only applied on Raven/Vega10.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13828
Fixes: d7f401c2bb ("radv: bind the vertex binding strides like a normal dynamic state")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37252>
This commit is contained in:
parent
3a41644165
commit
c739d836f7
1 changed files with 1 additions and 0 deletions
|
|
@ -10834,6 +10834,7 @@ radv_need_late_scissor_emission(struct radv_cmd_buffer *cmd_buffer, const struct
|
|||
uint64_t used_dynamic_states = radv_get_needed_dynamic_states(cmd_buffer);
|
||||
|
||||
used_dynamic_states &= ~RADV_DYNAMIC_VERTEX_INPUT;
|
||||
used_dynamic_states &= ~RADV_DYNAMIC_VERTEX_INPUT_BINDING_STRIDE;
|
||||
|
||||
if (cmd_buffer->state.dirty_dynamic & used_dynamic_states)
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue