[Mesa-dev] [PATCH 0/7] st/mesa: add shader image support
Ilia Mirkin
imirkin at alum.mit.edu
Sat Jan 30 17:55:40 PST 2016
Please note that there is no complete nvc0 implementation backing this
(unlike the SSBO case), so I have not done more complete dEQP tests,
and a number of piglit tests fail.
Furthermore, there's the RGBA vs BGRA format issue that needs to be
resolved somehow. However I feel confident that this code is a good
start, and works as advertised. In all of the image failures I've
looked at, the TGSI always appeared correct.
Please have a look and let me know if this interface seems workable,
and what additional changes need to be done for this to be acceptable
in mesa.
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
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 | 5 +
src/mesa/state_tracker/st_atom.h | 5 +
src/mesa/state_tracker/st_atom_image.c | 202 ++++++++++++++++++++
src/mesa/state_tracker/st_context.c | 1 +
src/mesa/state_tracker/st_context.h | 1 +
src/mesa/state_tracker/st_extensions.c | 16 ++
src/mesa/state_tracker/st_format.h | 8 +
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 226 ++++++++++++++++++++++-
32 files changed, 498 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