Don't perform very early depth test when overridden by shader.

When the pixel shader writes the depth value, we can't use the
interpolated implicit depth to perform a depth buffer test before the
pixel shader executes.

Change-Id: Icf80de50f4aa79f73b43e341c18478e7fd928b8d
Reviewed-on: https://swiftshader-review.googlesource.com/15608
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Renderer/QuadRasterizer.cpp b/src/Renderer/QuadRasterizer.cpp
index e54ba73..6b319b4 100644
--- a/src/Renderer/QuadRasterizer.cpp
+++ b/src/Renderer/QuadRasterizer.cpp
@@ -159,7 +159,7 @@
 				}
 			}
 
-			if(veryEarlyDepthTest && state.multiSample == 1)
+			if(veryEarlyDepthTest && state.multiSample == 1 && !state.depthOverride)
 			{
 				if(!state.stencilActive && state.depthTestActive && (state.depthCompareMode == DEPTH_LESSEQUAL || state.depthCompareMode == DEPTH_LESS))   // FIXME: Both modes ok?
 				{