Implement early depth test.
authorMichal Krol <michal@tungstengraphics.com>
Sun, 18 Nov 2007 18:20:20 +0000 (18:20 +0000)
committerMichal Krol <michal@tungstengraphics.com>
Sun, 18 Nov 2007 18:20:20 +0000 (18:20 +0000)
commit7f718f047676e88b660618784f256a96f7e8ed58
tree0e7c6676b64df5394eb0d09073a934cc4bbaa408
parentca7f68a7cf25a51f382bba8c42d8c6ab7db57b5d
Implement early depth test.

Early depth test is enabled when depth test is enabled and
alpha test is disabled and fragment shader does not write
depth.
The early-z is implemented by moving the depth test stage
just before the fragment shader stage and prepending it
with an earlyz stage, introduced with this commit.
The earlyz stage prepares the quad->outputs.depth for
the following depth test stage by interpolating Z position,
just as the fragment shader would do.
src/mesa/pipe/softpipe/Makefile
src/mesa/pipe/softpipe/sp_context.c
src/mesa/pipe/softpipe/sp_context.h
src/mesa/pipe/softpipe/sp_quad.c
src/mesa/pipe/softpipe/sp_quad.h
src/mesa/pipe/softpipe/sp_quad_earlyz.c [new file with mode: 0644]