Do depth testing before fragment shading
Add depth clamping to triangles
Only do bounds check in the renderer when debug is enabled
Worst case for triangle clipping is 7 vertices, not 6