Skip to content

freedreno/a6xx, tu: Shader clip/cull distances

This implements gl_ClipDistance and gl_CullDistance on a6xx, and changes the legacy clip plane path to use the HW clip distance support on a6xx. This fixes artifacts with neverball, and it's required by DXVK to expose feature level 9_1 and above.

I ran into a few bugs with the tess/GS io lowering due to using compact arrays in NIR, but it seemed like there were more fundamental problems with it, so I rewrote it. There was also one core NIR patch required, due to how we compact VPC locations per-component.

Merge request reports