[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