[Mesa-dev] [PATCH 0/5] GL_ARB_shader_group_vote support

Ilia Mirkin imirkin at alum.mit.edu
Sun May 29 18:01:29 UTC 2016


Turns out Matt already did a bunch of this work last year, but since I
only found out about that after I wrote my patches, I decided to keep
mine in place (I like the "vote" naming better TBH). This passes the
very simple piglit tests I just sent out to the list.

Ilia Mirkin (5):
  mesa: hook up core bits of GL_ARB_shader_group_vote
  gallium: add VOTE_* opcodes to implement GL_ARB_shader_group_vote
  gallium: add PIPE_CAP_TGSI_VOTE for when the VOTE ops are allowed
  st/mesa: expose GL_ARB_shader_group_vote when supported by backend
  nvc0: add support for VOTE tgsi opcodes

 src/compiler/glsl/builtin_functions.cpp            | 22 ++++++++++++++++++
 src/compiler/glsl/glcpp/glcpp-parse.y              |  3 +++
 src/compiler/glsl/glsl_parser_extras.cpp           |  1 +
 src/compiler/glsl/glsl_parser_extras.h             |  2 ++
 src/compiler/glsl/ir.cpp                           |  6 +++++
 src/compiler/glsl/ir.h                             |  9 +++++++-
 src/compiler/glsl/ir_validate.cpp                  |  8 +++++++
 src/gallium/auxiliary/tgsi/tgsi_info.c             |  3 +++
 src/gallium/docs/source/screen.rst                 |  1 +
 src/gallium/docs/source/tgsi.rst                   | 17 ++++++++++++++
 src/gallium/drivers/freedreno/freedreno_screen.c   |  1 +
 src/gallium/drivers/i915/i915_screen.c             |  1 +
 src/gallium/drivers/ilo/ilo_screen.c               |  1 +
 src/gallium/drivers/llvmpipe/lp_screen.c           |  1 +
 .../drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 23 ++++++++++++++----
 .../drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp | 27 +++++++++++++---------
 .../drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp  | 23 ++++++++++++++----
 .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp  | 21 +++++++++++++++++
 src/gallium/drivers/nouveau/nv30/nv30_screen.c     |  1 +
 src/gallium/drivers/nouveau/nv50/nv50_screen.c     |  1 +
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c     |  4 ++--
 src/gallium/drivers/r300/r300_screen.c             |  1 +
 src/gallium/drivers/r600/r600_pipe.c               |  1 +
 src/gallium/drivers/radeonsi/si_pipe.c             |  1 +
 src/gallium/drivers/softpipe/sp_screen.c           |  1 +
 src/gallium/drivers/svga/svga_screen.c             |  1 +
 src/gallium/drivers/swr/swr_screen.cpp             |  1 +
 src/gallium/drivers/vc4/vc4_screen.c               |  1 +
 src/gallium/drivers/virgl/virgl_screen.c           |  1 +
 src/gallium/include/pipe/p_defines.h               |  1 +
 src/gallium/include/pipe/p_shader_tokens.h         |  7 +++++-
 .../dri/i965/brw_fs_channel_expressions.cpp        |  5 ++++
 src/mesa/main/extensions_table.h                   |  1 +
 src/mesa/main/mtypes.h                             |  1 +
 src/mesa/program/ir_to_mesa.cpp                    |  3 +++
 src/mesa/state_tracker/st_extensions.c             |  1 +
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp         | 10 ++++++++
 37 files changed, 190 insertions(+), 23 deletions(-)

-- 
2.7.3



More information about the mesa-dev mailing list