I'm having a bit of trouble tracing through this. What happens if I have a shader that just does:
gl_ClipDistance[0] = 1; gl_CullDistance[0] = 1; what does the resulting TGSI look like? (Assuming that clip plane 0 is enabled.) What about the generated nvc0 code (for the vertex shader)? On Sun, May 24, 2015 at 1:57 PM, Tobias Klausmann <tobias.johannes.klausm...@mni.thm.de> wrote: > This patch series adds the needed support for this extension to the various > parts of mesa to finally enable it for nvc0. > > Dave Airlie (1): > glsl: lower cull_distance into cull_distance_mesa > > Tobias Klausmann (10): > glapi: add GL_ARB_cull_distance > mesa/main: add support for GL_ARB_cull_distance > mesa/prog: Add varyings for arb_cull_distance > mesa/st: add support for GL_ARB_cull_distance > glsl: Add a helper to see if an array was unsize in the shader > glsl: Add arb_cull_distance support > i965: rename UsesClipDistanceOut to UsesClipCullDistanceOut > gallium: add support for arb_cull_distance > nouveau/codegen: sort in galliums cull_distance semantic into the > drivers bitmask > nouveau/nvc0: implement cull_distance as a special form of clip > distance > > docs/GL3.txt | 2 +- > docs/relnotes/10.7.0.html | 4 +- > src/gallium/auxiliary/cso_cache/cso_context.c | 3 + > 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 | 5 + > 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 | 6 +- > src/gallium/drivers/nouveau/nvc0/nvc0_program.h | 1 + > src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 1 + > .../drivers/nouveau/nvc0/nvc0_state_validate.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 | 2 + > 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/glsl/Makefile.sources | 1 + > src/glsl/ast_to_hir.cpp | 14 + > src/glsl/builtin_variables.cpp | 13 +- > src/glsl/glcpp/glcpp-parse.y | 3 + > src/glsl/glsl_parser_extras.cpp | 1 + > src/glsl/glsl_parser_extras.h | 3 + > src/glsl/glsl_types.cpp | 8 +- > src/glsl/glsl_types.h | 10 +- > src/glsl/ir_optimization.h | 1 + > src/glsl/link_varyings.cpp | 17 +- > src/glsl/link_varyings.h | 3 +- > src/glsl/linker.cpp | 124 +++-- > src/glsl/lower_cull_distance.cpp | 549 > +++++++++++++++++++++ > src/glsl/standalone_scaffolding.cpp | 1 + > src/glsl/tests/varyings_test.cpp | 27 + > src/mapi/glapi/gen/gl_API.xml | 7 +- > src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 2 +- > src/mesa/drivers/dri/i965/brw_gs.c | 2 +- > src/mesa/drivers/dri/i965/brw_vec4.cpp | 2 +- > src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 2 +- > src/mesa/drivers/dri/i965/brw_vs.c | 2 +- > src/mesa/main/extensions.c | 1 + > src/mesa/main/get.c | 26 + > src/mesa/main/get_hash_params.py | 4 + > src/mesa/main/mtypes.h | 22 +- > src/mesa/main/shaderapi.c | 4 +- > src/mesa/main/tests/enum_strings.cpp | 2 + > src/mesa/program/prog_print.c | 4 + > src/mesa/state_tracker/st_extensions.c | 4 + > src/mesa/state_tracker/st_program.c | 34 ++ > 51 files changed, 859 insertions(+), 72 deletions(-) > create mode 100644 src/glsl/lower_cull_distance.cpp > > -- > 2.4.1 > > _______________________________________________ > Nouveau mailing list > Nouveau@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/nouveau _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau