Z-buffer problems

I’m experiencing terrible z-buffer artifacts (huge bands all over polygons) in 16-bit color mode on TNT 64 Pro and GeForce 2 GTS. They disapear completely in 32-bit color mode. The z-buffer resolution is the same in both cases. Changing it doesn’t make any difference. Fiddling with znear/zfar ratio doesn’t make any difference.

How can the color depth affect the z-buffer?
How can I get rid of the problem?
Any help appreciated, lenghty explanations by all means welcomed.

are u sure youre changing it , u might be requesting a change but u mighting be getting it.
try querying how many depth bits u get with glGetIntergerv( GL_DEPTH_BITS

Are you sure it’s Z artifacts?
16-bit graphics isn’t known for its smooth
ramps between nearly adjacent colors.

Also, if you’re using dithering and turn on
anti-aliasing, the dithering will be
smothered by the AA.