Added support for floating point depth buffers on Savage4-based
authorFelix Kuehling <fxkuehl@gmx.de>
Mon, 3 Jan 2005 22:24:44 +0000 (22:24 +0000)
committerFelix Kuehling <fxkuehl@gmx.de>
Mon, 3 Jan 2005 22:24:44 +0000 (22:24 +0000)
commite3748eb19ba444f411ad66905dfddbe809225ca0
tree726327849feaf57de43d5992201190042f252020
parent87889aeab46ece5800cca9390fe95e83515b313d
Added support for floating point depth buffers on Savage4-based
hardware. By also reversing the depth range this can compensate the loss
of accuracy of far objects caused by the projective transformation.
Software fallbacks work but are slightly slower since floats in a custom
(non IEEE) format have to be encoded and decoded. I havn't done anything
about polygon offsets yet. There doesn't seem to be an easy way do get
it right except making the offset unit as big as the lowest resolution
of depth values. For now float depth is disabled by default but can be
enabled through driconf (though I have seen only positive effects so
far).
src/mesa/drivers/dri/savage/savage_xmesa.c
src/mesa/drivers/dri/savage/savagecontext.h
src/mesa/drivers/dri/savage/savageioctl.c
src/mesa/drivers/dri/savage/savagespan.c
src/mesa/drivers/dri/savage/savagespan.h
src/mesa/drivers/dri/savage/savagestate.c