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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev