I sent a test version of my in-development game to some friends, and they found out that the Depth Test in OpenGL does not work on Nvidia cards. I'm using LWJGL.
I use my own matrices and send them to the shader, and at the start of evey game loop I use
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); // clear the display On an Nvidia card, you can see mountains through other mountains and stuff. On my Radeon HD 6650M it works perfectly fine. Any ideas?
I don't have anything special in the shaders—just some basic lighting calculations. I dont touch the gl_FragDepth.
Here's a screenshot (with placeholder textures):

I use these calculations for the Projection Matrix:
public Matrix4f getProjectionMatrix() { // Setup projection matrix Matrix4f projectionMatrix = new Matrix4f(); float fieldOfView = 40.0f; float aspectRatio = (float)Display.getWidth() / (float)Display.getHeight(); float near_plane = 0.1f; float far_plane = 1000f; float y_scale = coTangent((float) Math.toRadians(fieldOfView / 2f)); float x_scale = y_scale / aspectRatio; float frustum_length = far_plane - near_plane; projectionMatrix.m00 = x_scale; projectionMatrix.m11 = y_scale; projectionMatrix.m22 = -((far_plane + near_plane) / frustum_length); projectionMatrix.m23 = -1; projectionMatrix.m32 = -((2 * near_plane * far_plane) / frustum_length); projectionMatrix.m33 = 0; return projectionMatrix; }
glEnable(GL_DEPTH_TEST)? \$\endgroup\$