[Mesa-dev] [PATCH 00/61] OpenGL 4.5 for Vega and other stuff
maraeo at gmail.com
Mon Apr 24 08:44:57 UTC 2017
This series contains multiple different things, but the commit order
is mostly fixed, so the review order is also fixed, and hopefully
having just one series will help with navigation.
Patches 1-7 are mostly GFX9 fixes for stable.
Patches 8-13 are cleanups before adding LS-HS support.
Patches 14-30 add LS-HS support (i.e. tessellation). The hw LS stage
doesn't exist anymore and the driver has to merge it with HS. There is
a lot of shader work around merging the stages.
Patches 31-53 add ES-GS support (i.e. geometry shaders). The hw ES
stage doesn't exist anymore the driver has to merge it with GS.
Also, the ESGS offchip ring is gone and the driver has to use LDS
instead, so this becomes pretty much the same as passing outputs
between LS and HS. Using LDS for ESGS data was also an option on CI
and VI, but we never used it in the Mesa driver.
Finally, this chunk of patches also enables OpenGL 4.5 on Vega. Note
that the scratch buffer isn't supported for tessellation and geometry
shaders, but we plan to have the support done before the next Mesa
Patches 54-61 are final cleanups, fixes, and improvements affecting
all GCN chips. The most notable thing there is that tessellation ring
addresses are moved from descriptor lists into user SGPR, so the
s_load latency is gone there. Also, the VS epilog code is removed.
src/gallium/drivers/radeonsi/si_compute.c | 1 +
src/gallium/drivers/radeonsi/si_debug.c | 8 +
src/gallium/drivers/radeonsi/si_descriptors.c | 73 +-
src/gallium/drivers/radeonsi/si_pipe.c | 6 -
src/gallium/drivers/radeonsi/si_pipe.h | 14 +-
src/gallium/drivers/radeonsi/si_pm4.h | 2 +-
src/gallium/drivers/radeonsi/si_shader.c | 1688 +++++++++++++------
src/gallium/drivers/radeonsi/si_shader.h | 247 +--
src/gallium/drivers/radeonsi/si_shader_internal.h | 89 +-
.../drivers/radeonsi/si_shader_tgsi_setup.c | 93 +-
src/gallium/drivers/radeonsi/si_state.c | 61 +-
src/gallium/drivers/radeonsi/si_state.h | 3 -
src/gallium/drivers/radeonsi/si_state_draw.c | 121 +-
src/gallium/drivers/radeonsi/si_state_shaders.c | 546 +++++-
14 files changed, 2120 insertions(+), 832 deletions(-)
More information about the mesa-dev