Proper multipass using depth testing with texture borders


I’m currently experiencing Z-fighting issues for multipass algorithms when the depth test is set to GL_EQUAL even though the polygons rendered are exactly the same.

Basically I’m rendering the same set of primitives twice. But one set is rendered using a texture object that contains a texture border, and other set is rendered without textures.

When using a “classic” texture (without texture borders), the depth testing works perfectly.
Thus, I assume that polygons rasterized with a texture containing texture border produce different depth values that polygons rasterized without texture border.

How is it possible ?

Can the texture border force software rasterization ? And in that case, doesn’t OpenGL guarantee that software-generated depth components should produce the same values as hardware-generated components ?

This appears on a GeForceFX 5600 Ultra. I thought that texture borders where supported in hardware on that graphics card, since DX9 allows non-power-of-two textures and since that card support DX9 features. Does anyone know if this is true ?

Thanks in advance,

don’t know for sure but i remember a lot of issues about textureborders… dunno if they ever got hwaccelerated at all…