radeonsi: completely rewrite how VGT_SHADER_STAGES_EN is set
authorMarek Olšák <marek.olsak@amd.com>
Fri, 12 May 2023 21:10:30 +0000 (17:10 -0400)
committerMarge Bot <emma+marge@anholt.net>
Tue, 6 Jun 2023 18:01:35 +0000 (18:01 +0000)
commit5f2779f62ade7b142165c33cb093ec67162db2ee
tree0aad106ae2374fb622e8fe74c6caca991a699621
parentcfc9352c2590c715aaa6ac96289528fc770cba60
radeonsi: completely rewrite how VGT_SHADER_STAGES_EN is set

Use a state atom with an emit function instead of precomputing up to 256
pm4 states in si_context.

Some register fields are precomputed in si_shader for NGG. Others are set
in si_update_shaders.

Acked-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22833>
src/gallium/drivers/radeonsi/si_gfx_cs.c
src/gallium/drivers/radeonsi/si_pipe.c
src/gallium/drivers/radeonsi/si_pipe.h
src/gallium/drivers/radeonsi/si_shader.h
src/gallium/drivers/radeonsi/si_state.h
src/gallium/drivers/radeonsi/si_state_draw.cpp
src/gallium/drivers/radeonsi/si_state_shaders.cpp