Fix polygon offset depth clamp and units resolution.

OpenGL requires depth values to be clamped to the [0, 1] range. Due to
frustum clipping already limiting the range, this can only happen when
non-zero polygon offset parameters are active.

Also fix the 'minimum resolvable difference' for the 32-bit floating-
point internal depth format that we use.

Bug swiftshader:82

Change-Id: Ic9ebcac182a2bc81ab51d79cfe0bb451d340bd1e
Reviewed-on: https://swiftshader-review.googlesource.com/12108
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/Renderer.cpp b/src/Renderer/Renderer.cpp
index 32e2027..0869697 100644
--- a/src/Renderer/Renderer.cpp
+++ b/src/Renderer/Renderer.cpp
@@ -545,7 +545,7 @@
 
 				if(context->isDrawTriangle(false))
 				{
-					N += depthBias;
+					N += context->depthBias;
 				}
 
 				if(complementaryDepthBuffer)
@@ -583,7 +583,7 @@
 				data->halfPixelX = replicate(0.5f / W);
 				data->halfPixelY = replicate(0.5f / H);
 				data->viewportHeight = abs(viewport.height);
-				data->slopeDepthBias = slopeDepthBias;
+				data->slopeDepthBias = context->slopeDepthBias;
 				data->depthRange = Z;
 				data->depthNear = N;
 				draw->clipFlags = clipFlags;
@@ -2447,12 +2447,12 @@
 
 	void Renderer::setDepthBias(float bias)
 	{
-		depthBias = bias;
+		context->depthBias = bias;
 	}
 
 	void Renderer::setSlopeDepthBias(float slopeBias)
 	{
-		slopeDepthBias = slopeBias;
+		context->slopeDepthBias = slopeBias;
 	}
 
 	void Renderer::setRasterizerDiscard(bool rasterizerDiscard)