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/Context.cpp b/src/libGLESv2/Context.cpp
index 2250b80..911a3ed 100644
--- a/src/libGLESv2/Context.cpp
+++ b/src/libGLESv2/Context.cpp
@@ -50,7 +50,7 @@
     mState.rasterizer.polygonOffsetFill = false;
     mState.rasterizer.polygonOffsetFactor = 0.0f;
     mState.rasterizer.polygonOffsetUnits = 0.0f;
-    mState.rasterizer.scissorTest = false;
+    mState.scissorTest = false;
     mState.scissor.x = 0;
     mState.scissor.y = 0;
     mState.scissor.width = 0;
@@ -523,12 +523,12 @@
 
 void Context::setScissorTest(bool enabled)
 {
-    mState.rasterizer.scissorTest = enabled;
+    mState.scissorTest = enabled;
 }
 
 bool Context::isScissorTestEnabled() const
 {
-    return mState.rasterizer.scissorTest;
+    return mState.scissorTest;
 }
 
 void Context::setDither(bool enabled)
@@ -1211,7 +1211,7 @@
       case GL_POLYGON_OFFSET_FILL:       *params = mState.rasterizer.polygonOffsetFill; break;
       case GL_SAMPLE_ALPHA_TO_COVERAGE:  *params = mState.blend.sampleAlphaToCoverage;  break;
       case GL_SAMPLE_COVERAGE:           *params = mState.sampleCoverage;               break;
-      case GL_SCISSOR_TEST:              *params = mState.rasterizer.scissorTest;       break;
+      case GL_SCISSOR_TEST:              *params = mState.scissorTest;                  break;
       case GL_STENCIL_TEST:              *params = mState.depthStencil.stencilTest;     break;
       case GL_DEPTH_TEST:                *params = mState.depthStencil.depthTest;       break;
       case GL_BLEND:                     *params = mState.blend.blend;                  break;
@@ -1723,7 +1723,7 @@
     }
     mDxUniformsDirty = false;
 
-    mRenderer->setScissorRectangle(mState.scissor);
+    mRenderer->setScissorRectangle(mState.scissor, mState.scissorTest);
 
     return true;
 }
@@ -2738,7 +2738,7 @@
     Rectangle sourceScissoredRect = sourceRect;
     Rectangle destScissoredRect = destRect;
 
-    if (mState.rasterizer.scissorTest)
+    if (mState.scissorTest)
     {
         // Only write to parts of the destination framebuffer which pass the scissor test.
         if (destRect.x < mState.scissor.x)