This is a subset of geometry shaders. It's all about setting first_layer and last_layer correctly.
Also some code between st_render_texture and update_framebuffer_state is consolidated. It doesn't use rtt_level and derives the level from dimensions instead as the code in st_atom_framebuffer.c did.
d8d67d2 st/mesa: add support for layered framebuffers and consolidate code
src/mesa/state_tracker/st_atom_framebuffer.c | 58 ++-------------
src/mesa/state_tracker/st_cb_drawpixels.c | 19 ++---
src/mesa/state_tracker/st_cb_fbo.c | 97 +++++++++++++++++++-------
src/mesa/state_tracker/st_cb_fbo.h | 10 ++-
src/mesa/state_tracker/st_cb_readpixels.c | 4 +-
src/mesa/state_tracker/st_cb_texture.c | 4 +-
6 files changed, 99 insertions(+), 93 deletions(-)
Upstream: cgit.freedesktop.org