Scissor test state is set as part of the Renderer::setScissor method.

TRAC #22206

Moved scissorTest out of RasterizerState.
Fixes buffer-offscreen-test and buffer-preserve-test CTS regressions.

Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1549 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/renderer/RenderStateCache.cpp b/src/libGLESv2/renderer/RenderStateCache.cpp
index 88add36..5c36fb8 100644
--- a/src/libGLESv2/renderer/RenderStateCache.cpp
+++ b/src/libGLESv2/renderer/RenderStateCache.cpp
@@ -168,7 +168,7 @@
 }
 
 ID3D11RasterizerState *RenderStateCache::getRasterizerState(const gl::RasterizerState &rasterState,
-                                                            unsigned int depthSize)
+                                                            bool scissorEnabled, unsigned int depthSize)
 {
     if (!mDevice)
     {
@@ -178,6 +178,7 @@
 
     RasterizerStateKey key;
     key.rasterizerState = rasterState;
+    key.scissorEnabled = scissorEnabled;
     key.depthSize = depthSize;
 
     RasterizerStateMap::iterator i = mRasterizerStateCache.find(key);
@@ -215,7 +216,7 @@
         rasterDesc.DepthBiasClamp = 0.0f; // MSDN documentation of DepthBiasClamp implies a value of zero will preform no clamping, must be tested though.
         rasterDesc.SlopeScaledDepthBias = rasterState.polygonOffsetUnits;
         rasterDesc.DepthClipEnable = TRUE;
-        rasterDesc.ScissorEnable = rasterState.scissorTest ? TRUE : FALSE;
+        rasterDesc.ScissorEnable = scissorEnabled ? TRUE : FALSE;
         rasterDesc.MultisampleEnable = TRUE;
         rasterDesc.AntialiasedLineEnable = FALSE;