draw: fix user culling pipeline order. (v2)
authorDave Airlie <airlied@redhat.com>
Fri, 27 Mar 2020 01:33:43 +0000 (11:33 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 15 Apr 2020 04:26:29 +0000 (14:26 +1000)
commit381e9fe64a80d98144a4ad75044edd9b878c7de7
tree8037142f5a15d5419630c9d6fd25f1bf39d13283
parent30ef6f5137a5a6e9c0b08640a44e30e1aba14270
draw: fix user culling pipeline order. (v2)

GL spec requires user culling, then clipping then face culling.
llvmpipe was doing clipping then user culling then face culling.

Fix the ordering by adding a new user_cull stage that does the user
culling

Fixes piglit clip_cull-4.shader_test

v2: simplify this a lot (Roland)

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4560>
.gitlab-ci/piglit/quick_shader.txt
src/gallium/auxiliary/Makefile.sources
src/gallium/auxiliary/draw/draw_pipe.c
src/gallium/auxiliary/draw/draw_pipe.h
src/gallium/auxiliary/draw/draw_pipe_cull.c
src/gallium/auxiliary/draw/draw_pipe_user_cull.c [new file with mode: 0644]
src/gallium/auxiliary/draw/draw_pipe_validate.c
src/gallium/auxiliary/draw/draw_private.h
src/gallium/auxiliary/meson.build