Refactors State to be a fully-qualified class

BUG=angle:685

Change-Id: I36cff2da985a12c7180fe2850ccd471f4cebbaad
Reviewed-on: https://chromium-review.googlesource.com/206634
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libGLESv2/validationES.cpp b/src/libGLESv2/validationES.cpp
index a9e04e5..f140cbe 100644
--- a/src/libGLESv2/validationES.cpp
+++ b/src/libGLESv2/validationES.cpp
@@ -348,7 +348,7 @@
         }
     }
 
-    GLuint handle = context->getRenderbufferHandle();
+    GLuint handle = context->getState().getRenderbufferId();
     if (handle == 0)
     {
         return gl::error(GL_INVALID_OPERATION, false);
@@ -365,8 +365,8 @@
         return gl::error(GL_INVALID_ENUM, false);
     }
 
-    gl::Framebuffer *framebuffer = context->getTargetFramebuffer(target);
-    GLuint framebufferHandle = context->getTargetFramebufferHandle(target);
+    gl::Framebuffer *framebuffer = context->getState().getTargetFramebuffer(target);
+    GLuint framebufferHandle = context->getState().getTargetFramebuffer(target)->id();
 
     if (!framebuffer || (framebufferHandle == 0 && renderbuffer != 0))
     {
@@ -403,14 +403,13 @@
     {
         return true;
     }
-    else if (context->isScissorTestEnabled())
+    else if (context->getState().isScissorTestEnabled())
     {
-        int scissorX, scissorY, scissorWidth, scissorHeight;
-        context->getScissorParams(&scissorX, &scissorY, &scissorWidth, &scissorHeight);
+        const Rectangle &scissor = context->getState().getScissor();
 
-        return scissorX > 0 || scissorY > 0 ||
-               scissorWidth < writeBuffer->getWidth() ||
-               scissorHeight < writeBuffer->getHeight();
+        return scissor.x > 0 || scissor.y > 0 ||
+               scissor.width < writeBuffer->getWidth() ||
+               scissor.height < writeBuffer->getHeight();
     }
     else
     {
@@ -461,7 +460,7 @@
         return gl::error(GL_INVALID_OPERATION, false);
     }
 
-    if (context->getReadFramebufferHandle() == context->getDrawFramebufferHandle())
+    if (context->getState().getReadFramebuffer()->id() == context->getState().getDrawFramebuffer()->id())
     {
         if (fromAngleExtension)
         {
@@ -471,8 +470,8 @@
         return gl::error(GL_INVALID_OPERATION, false);
     }
 
-    gl::Framebuffer *readFramebuffer = context->getReadFramebuffer();
-    gl::Framebuffer *drawFramebuffer = context->getDrawFramebuffer();
+    gl::Framebuffer *readFramebuffer = context->getState().getReadFramebuffer();
+    gl::Framebuffer *drawFramebuffer = context->getState().getDrawFramebuffer();
     if (!readFramebuffer || readFramebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE ||
         !drawFramebuffer || drawFramebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE)
     {
@@ -847,7 +846,7 @@
 bool ValidateReadPixelsParameters(gl::Context *context, GLint x, GLint y, GLsizei width, GLsizei height,
                                   GLenum format, GLenum type, GLsizei *bufSize, GLvoid *pixels)
 {
-    gl::Framebuffer *framebuffer = context->getReadFramebuffer();
+    gl::Framebuffer *framebuffer = context->getState().getReadFramebuffer();
     ASSERT(framebuffer);
 
     if (framebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE)
@@ -855,7 +854,7 @@
         return gl::error(GL_INVALID_FRAMEBUFFER_OPERATION, false);
     }
 
-    if (context->getReadFramebufferHandle() != 0 && framebuffer->getSamples() != 0)
+    if (context->getState().getReadFramebuffer()->id() != 0 && framebuffer->getSamples() != 0)
     {
         return gl::error(GL_INVALID_OPERATION, false);
     }
@@ -881,7 +880,7 @@
     GLenum sizedInternalFormat = IsSizedInternalFormat(format) ? format
                                                                : GetSizedInternalFormat(format, type);
 
-    GLsizei outputPitch = GetRowPitch(sizedInternalFormat, type, width, context->getPackAlignment());
+    GLsizei outputPitch = GetRowPitch(sizedInternalFormat, type, width, context->getState().getPackAlignment());
     // sized query sanity check
     if (bufSize)
     {
@@ -922,7 +921,7 @@
     //    b) There are no active queries for the requested target (and in the case
     //       of GL_ANY_SAMPLES_PASSED_EXT and GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT,
     //       no query may be active for either if glBeginQuery targets either.
-    if (context->isQueryActive())
+    if (context->getState().isQueryActive())
     {
         return gl::error(GL_INVALID_OPERATION, false);
     }
@@ -951,7 +950,7 @@
         return gl::error(GL_INVALID_ENUM, false);
     }
 
-    const Query *queryObject = context->getActiveQuery(target);
+    const Query *queryObject = context->getState().getActiveQuery(target);
 
     if (queryObject == NULL)
     {
@@ -974,7 +973,7 @@
         return gl::error(GL_INVALID_VALUE, false);
     }
 
-    gl::ProgramBinary *programBinary = context->getCurrentProgramBinary();
+    gl::ProgramBinary *programBinary = context->getState().getCurrentProgramBinary();
     if (!programBinary)
     {
         return gl::error(GL_INVALID_OPERATION, false);
@@ -1080,7 +1079,7 @@
       case GL_TEXTURE_BINDING_CUBE_MAP:
       case GL_TEXTURE_BINDING_3D:
       case GL_TEXTURE_BINDING_2D_ARRAY:
-        if (context->getActiveSampler() >= context->getMaximumCombinedTextureImageUnits())
+        if (context->getState().getActiveSampler() >= context->getMaximumCombinedTextureImageUnits())
         {
             return gl::error(GL_INVALID_OPERATION, false);
         }
@@ -1089,7 +1088,7 @@
       case GL_IMPLEMENTATION_COLOR_READ_TYPE:
       case GL_IMPLEMENTATION_COLOR_READ_FORMAT:
         {
-            Framebuffer *framebuffer = context->getReadFramebuffer();
+            Framebuffer *framebuffer = context->getState().getReadFramebuffer();
             ASSERT(framebuffer);
             if (framebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE)
             {
@@ -1147,13 +1146,13 @@
         return gl::error(GL_INVALID_VALUE, false);
     }
 
-    gl::Framebuffer *framebuffer = context->getReadFramebuffer();
+    gl::Framebuffer *framebuffer = context->getState().getReadFramebuffer();
     if (framebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE)
     {
         return gl::error(GL_INVALID_FRAMEBUFFER_OPERATION, false);
     }
 
-    if (context->getReadFramebufferHandle() != 0 && framebuffer->getSamples() != 0)
+    if (context->getState().getReadFramebuffer()->id() != 0 && framebuffer->getSamples() != 0)
     {
         return gl::error(GL_INVALID_OPERATION, false);
     }
@@ -1334,9 +1333,9 @@
         return gl::error(GL_INVALID_OPERATION, false);
     }
 
-    const gl::DepthStencilState &depthStencilState = context->getDepthStencilState();
+    const gl::DepthStencilState &depthStencilState = context->getState().getDepthStencilState();
     if (depthStencilState.stencilWritemask != depthStencilState.stencilBackWritemask ||
-        context->getStencilRef() != context->getStencilBackRef() ||
+        context->getState().getStencilRef() != context->getState().getStencilBackRef() ||
         depthStencilState.stencilMask != depthStencilState.stencilBackMask)
     {
         // Note: these separate values are not supported in WebGL, due to D3D's limitations.
@@ -1346,18 +1345,18 @@
         return gl::error(GL_INVALID_OPERATION, false);
     }
 
-    const gl::Framebuffer *fbo = context->getDrawFramebuffer();
+    const gl::Framebuffer *fbo = context->getState().getDrawFramebuffer();
     if (!fbo || fbo->completeness() != GL_FRAMEBUFFER_COMPLETE)
     {
         return gl::error(GL_INVALID_FRAMEBUFFER_OPERATION, false);
     }
 
-    if (!context->getCurrentProgram())
+    if (context->getState().getCurrentProgramId() == 0)
     {
         return gl::error(GL_INVALID_OPERATION, false);
     }
 
-    gl::ProgramBinary *programBinary = context->getCurrentProgramBinary();
+    gl::ProgramBinary *programBinary = context->getState().getCurrentProgramBinary();
     if (!programBinary->validateSamplers(NULL))
     {
         return gl::error(GL_INVALID_OPERATION, false);
@@ -1374,7 +1373,7 @@
         return gl::error(GL_INVALID_VALUE, false);
     }
 
-    gl::TransformFeedback *curTransformFeedback = context->getCurrentTransformFeedback();
+    gl::TransformFeedback *curTransformFeedback = context->getState().getCurrentTransformFeedback();
     if (curTransformFeedback && curTransformFeedback->isStarted() && !curTransformFeedback->isPaused() &&
         curTransformFeedback->getDrawMode() != mode)
     {
@@ -1425,7 +1424,7 @@
         return gl::error(GL_INVALID_ENUM, false);
     }
 
-    gl::TransformFeedback *curTransformFeedback = context->getCurrentTransformFeedback();
+    gl::TransformFeedback *curTransformFeedback = context->getState().getCurrentTransformFeedback();
     if (curTransformFeedback && curTransformFeedback->isStarted() && !curTransformFeedback->isPaused())
     {
         // It is an invalid operation to call DrawElements, DrawRangeElements or DrawElementsInstanced
@@ -1439,7 +1438,7 @@
         return gl::error(GL_INVALID_OPERATION, false);
     }
 
-    gl::VertexArray *vao = context->getCurrentVertexArray();
+    gl::VertexArray *vao = context->getState().getVertexArray();
     if (!indices && !vao->getElementArrayBuffer())
     {
         return gl::error(GL_INVALID_OPERATION, false);
@@ -1498,8 +1497,8 @@
         }
     }
 
-    const gl::Framebuffer *framebuffer = context->getTargetFramebuffer(target);
-    GLuint framebufferHandle = context->getTargetFramebufferHandle(target);
+    const gl::Framebuffer *framebuffer = context->getState().getTargetFramebuffer(target);
+    GLuint framebufferHandle = context->getState().getTargetFramebuffer(target)->id();
 
     if (framebufferHandle == 0 || !framebuffer)
     {