Fix D3D11 errors where the application passes in QNAN to glPolygonOffset or for the viewport bounds.

TRAC #22565

Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1924 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Context.cpp b/src/libGLESv2/Context.cpp
index b6e2780..0a8480f 100644
--- a/src/libGLESv2/Context.cpp
+++ b/src/libGLESv2/Context.cpp
@@ -480,8 +480,9 @@
 
 void Context::setPolygonOffsetParams(GLfloat factor, GLfloat units)
 {
-    mState.rasterizer.polygonOffsetFactor = factor;
-    mState.rasterizer.polygonOffsetUnits = units;
+    // An application can pass NaN values here, so handle this gracefully
+    mState.rasterizer.polygonOffsetFactor = factor != factor ? 0.0f : factor;
+    mState.rasterizer.polygonOffsetUnits = units != units ? 0.0f : units;
 }
 
 void Context::setSampleAlphaToCoverage(bool enabled)