radeonsi: set GS_STATE_OUTPRIM and PROVOKING_VTX_INDEX only when they change
authorMarek Olšák <marek.olsak@amd.com>
Sun, 14 Aug 2022 12:20:01 +0000 (08:20 -0400)
committerMarge Bot <emma+marge@anholt.net>
Tue, 30 Aug 2022 04:57:43 +0000 (04:57 +0000)
commitdcd80d31cfbc13c563121176f2eec4ddbe08e6e1
treebdf68519e5a16baa005012f7433f5f5d52d2d04b
parenta070a09d0090c97ea4a402f0bac7c8de82e05b5c
radeonsi: set GS_STATE_OUTPRIM and PROVOKING_VTX_INDEX only when they change

This moves setting those registers from an unconditional place in draw_vbo
into si_set_rasterized_prim (for draw_vbo), si_update_rasterized_prim
(for bind_xx_shader), and si_bind_rs_state.

It's a little more complicated than expected.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18195>
src/gallium/drivers/radeonsi/si_pipe.h
src/gallium/drivers/radeonsi/si_state.c
src/gallium/drivers/radeonsi/si_state_draw.cpp
src/gallium/drivers/radeonsi/si_state_shaders.cpp