[Mesa-dev] [PATCH v4 00/11] st/mesa: add shader buffer support
Ilia Mirkin
imirkin at alum.mit.edu
Sun Jan 24 10:59:10 PST 2016
I believe I've addressed the various feedback people had. There's the
outstanding point of how to expose the atomic buffer bindings, but
this is a larger issue and largely tangential to the actual code
changed in this series.
No one has commented on my glsl_to_tgsi bits, which I sort of
expected. Unless I hear outcry to the contrary, I'm just going to push
those unreviewed once everything else is good -- nobody knows that
code particularly well, and I've run the dEQP tests, which leads me to
believe it's at least mostly good.
Ilia Mirkin (11):
tgsi: add MEMBAR opcode to handle memoryBarrier* GLSL intrinsics
glsl: always initialize image_* fields, copy them on interface init
glsl: keep track of ssbo variable being accessed, add access params
mesa: add PROGRAM_IMMEDIATE, PROGRAM_BUFFER
st/mesa: add atomic counter support
st/mesa: add support for SSBO binding and GLSL intrinsics
st/mesa: use RESQ to find buffer size
st/mesa: add support for memory barrier intrinsics
st/mesa: add shader buffer barrier bit
st/mesa: enable ARB_shader_storage_buffer_object when supported
trace: add support for set_shader_buffers
src/gallium/auxiliary/tgsi/tgsi_info.c | 2 +-
src/gallium/docs/source/tgsi.rst | 17 ++
src/gallium/drivers/trace/tr_context.c | 40 +++
src/gallium/drivers/trace/tr_dump_state.c | 18 ++
src/gallium/drivers/trace/tr_dump_state.h | 2 +
src/gallium/include/pipe/p_defines.h | 1 +
src/gallium/include/pipe/p_shader_tokens.h | 7 +-
src/glsl/builtin_variables.cpp | 5 +
src/glsl/lower_buffer_access.cpp | 6 +-
src/glsl/lower_buffer_access.h | 1 +
src/glsl/lower_shared_reference.cpp | 6 +-
src/glsl/lower_ubo_reference.cpp | 40 ++-
src/glsl/nir/glsl_types.cpp | 5 +
src/glsl/nir/glsl_types.h | 3 +-
src/glsl/nir/shader_enums.h | 10 +
src/mesa/Makefile.sources | 2 +
src/mesa/main/mtypes.h | 2 +
src/mesa/program/ir_to_mesa.cpp | 4 +
src/mesa/state_tracker/st_atom.c | 10 +
src/mesa/state_tracker/st_atom.h | 10 +
src/mesa/state_tracker/st_atom_atomicbuf.c | 158 +++++++++++
src/mesa/state_tracker/st_atom_storagebuf.c | 194 +++++++++++++
src/mesa/state_tracker/st_cb_bufferobjects.c | 4 +
src/mesa/state_tracker/st_cb_texturebarrier.c | 4 +
src/mesa/state_tracker/st_context.c | 2 +
src/mesa/state_tracker/st_context.h | 2 +
src/mesa/state_tracker/st_extensions.c | 30 ++
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 392 ++++++++++++++++++++++++--
28 files changed, 949 insertions(+), 28 deletions(-)
create mode 100644 src/mesa/state_tracker/st_atom_atomicbuf.c
create mode 100644 src/mesa/state_tracker/st_atom_storagebuf.c
--
2.4.10
More information about the mesa-dev
mailing list