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)