[Mesa-dev] report ARB_cull_distance v3

Tobias Klausmann tobias.johannes.klausmann at mni.thm.de
Sun May 8 20:44:00 UTC 2016


After the cleanup of my patches in v2, this is another take on finishing this
extension.

v2: cleanup, reordering of patches, split lowering pass adapation (Dave Airlie)
v3: 
 - drop wrong codesection for array size check (suggested by Timothy Arceri) and
   with it the now useless helper to see if an array was unsized
 - fix GL3.txt, add releasenote

Dave Airlie (1):
  glsl: rename lower_clip_distance to lower_distance.

Tobias Klausmann (10):
  glapi: Add GL_ARB_cull_distance
  mesa/main: Add support for GL_ARB_cull_distance (v2)
  mesa/prog: Add varyings for arb_cull_distance
  glsl: Extend lowering pass for gl_ClipDistance to support other arrays
    (v2)
  glsl: Add arb_cull_distance support
  gallium: Add a pipe cap for arb_cull_distance
  mesa/st: Add support for GL_ARB_cull_distance
  nv50/ir: Check for TGSI_SEMANTIC_CULLDIST in tgsi declarations
  llvmpipe: Enable already implemented cull_distance
  nvc0: Implement cull_distance as a special form of clip distance

 docs/GL3.txt                                       |   2 +-
 docs/relnotes/11.3.0.html                          |   1 +
 src/compiler/Makefile.sources                      |   2 +-
 src/compiler/glsl/ast_to_hir.cpp                   |  14 +
 src/compiler/glsl/builtin_variables.cpp            |  11 +-
 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_optimization.h                |   3 +-
 src/compiler/glsl/link_varyings.cpp                |  12 +-
 src/compiler/glsl/link_varyings.h                  |   1 +
 src/compiler/glsl/linker.cpp                       | 113 +++-
 src/compiler/glsl/lower_clip_distance.cpp          | 574 --------------------
 src/compiler/glsl/lower_distance.cpp               | 601 +++++++++++++++++++++
 src/compiler/glsl/standalone_scaffolding.cpp       |   1 +
 src/compiler/glsl/tests/varyings_test.cpp          |  27 +
 src/compiler/shader_enums.h                        |   4 +
 src/gallium/docs/source/screen.rst                 |   2 +
 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           |   2 +
 .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp  |   3 +
 src/gallium/drivers/nouveau/nv30/nv30_screen.c     |   1 +
 src/gallium/drivers/nouveau/nv50/nv50_screen.c     |   1 +
 src/gallium/drivers/nouveau/nvc0/nvc0_program.c    |   2 +
 src/gallium/drivers/nouveau/nvc0/nvc0_program.h    |   1 +
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c     |   1 +
 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/vc4/vc4_screen.c               |   1 +
 src/gallium/include/pipe/p_defines.h               |   1 +
 src/mapi/glapi/gen/gl_API.xml                      |   7 +-
 src/mesa/drivers/dri/i965/brw_compiler.c           |   2 +-
 src/mesa/main/extensions_table.h                   |   1 +
 src/mesa/main/get.c                                |   1 +
 src/mesa/main/get_hash_params.py                   |   4 +
 src/mesa/main/mtypes.h                             |  14 +-
 src/mesa/main/shaderapi.c                          |   3 +
 src/mesa/program/prog_print.c                      |   4 +
 src/mesa/state_tracker/st_extensions.c             |   3 +-
 src/mesa/state_tracker/st_program.c                |  40 ++
 45 files changed, 865 insertions(+), 609 deletions(-)
 delete mode 100644 src/compiler/glsl/lower_clip_distance.cpp
 create mode 100644 src/compiler/glsl/lower_distance.cpp

-- 
2.8.2



More information about the mesa-dev mailing list