[Mesa-dev] [PATCH v2 0/9] st/mesa: add shader image support
Ilia Mirkin
imirkin at alum.mit.edu
Sun Feb 14 00:22:31 UTC 2016
OK... v2 is here, rebased across the recent compute support and Dave's
AoA changes (and probably other stuff). No significant changes to the
patches themselves.
Dave, your R-b was conditional on addressing your feedback re
writability of surfaces, but I believe you later decided it was OK
as-is, at least for now. If I misunderstood, please speak up :)
Nicolai, I've included two of your patches here, hope that's
alright. I think they're pretty important to have even in the first
run -- the rest of your patches are less obviously fixes.
I'd like to reiterate that this is *far* from complete... these are
the things missing from the top of my head:
- a resolution to the RGBA vs BGRA situation
- early fragment test property
- 100 different memory barriers this ext adds
Also my Fermi impl is far from complete (not to say anything of
Kepler+), so there's nothing *actually* implementing this. However
since Dave is working on the r600 impl and Nicolai is working on the
radeonsi impl, I believe it's better to land this and worry about
fixing it later. Since all the patches are reviewed, I'm going to land
this in the next couple of days. (I've said this before, but I was
waiting for the AoA and compute bits to land.) If you have any
objections, speak up soon.
Ilia Mirkin (7):
gallium: make image views non-persistent objects
gallium: add PIPE_SHADER_CAP_MAX_SHADER_IMAGES
tgsi: show textual format representation
st/mesa: add an image atom for shader images
st/mesa: allow st_format.h to be included from C++ files
st/mesa: convert GLSL image intrinsics into TGSI
st/mesa: enable GL image extensions when backend supports them
Nicolai Hähnle (2):
st/mesa: call st_finalize_texture from image atoms
st/mesa: set pipe_image_view layers correctly for 3D textures
src/gallium/auxiliary/gallivm/lp_bld_limits.h | 1 +
src/gallium/auxiliary/tgsi/tgsi_dump.c | 2 +-
src/gallium/auxiliary/tgsi/tgsi_exec.h | 1 +
src/gallium/auxiliary/tgsi/tgsi_text.c | 13 +-
src/gallium/auxiliary/util/u_inlines.h | 11 --
src/gallium/docs/source/screen.rst | 1 +
src/gallium/drivers/ddebug/dd_context.c | 28 +--
src/gallium/drivers/ddebug/dd_pipe.h | 2 +-
src/gallium/drivers/freedreno/freedreno_screen.c | 1 +
src/gallium/drivers/ilo/ilo_state.c | 2 +-
src/gallium/drivers/nouveau/nv30/nv30_screen.c | 2 +
src/gallium/drivers/nouveau/nv50/nv50_screen.c | 1 +
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 2 +
src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 2 +-
src/gallium/drivers/r300/r300_screen.c | 2 +
src/gallium/drivers/r600/r600_pipe.c | 1 +
src/gallium/drivers/radeonsi/si_pipe.c | 1 +
src/gallium/drivers/svga/svga_screen.c | 3 +
src/gallium/drivers/vc4/vc4_screen.c | 1 +
src/gallium/include/pipe/p_context.h | 14 +-
src/gallium/include/pipe/p_defines.h | 1 +
src/gallium/include/pipe/p_state.h | 4 +-
src/mesa/Makefile.sources | 1 +
src/mesa/main/mtypes.h | 1 +
src/mesa/state_tracker/st_atom.c | 6 +
src/mesa/state_tracker/st_atom.h | 6 +
src/mesa/state_tracker/st_atom_image.c | 236 +++++++++++++++++++++++
src/mesa/state_tracker/st_context.c | 1 +
src/mesa/state_tracker/st_context.h | 1 +
src/mesa/state_tracker/st_extensions.c | 17 ++
src/mesa/state_tracker/st_format.h | 8 +
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 214 +++++++++++++++++++-
32 files changed, 523 insertions(+), 64 deletions(-)
create mode 100644 src/mesa/state_tracker/st_atom_image.c
--
2.4.10
More information about the mesa-dev
mailing list