Sync scissor state before calling BlitFramebuffer.

Now passes:
 * dEQP-GLES3.functional.fragment_ops.scissor.framebuffer_blit_center
 * dEQP-GLES3.functional.fragment_ops.scissor.framebuffer_blit_corner
 * dEQP-GLES3.functional.fragment_ops.scissor.framebuffer_blit_none

BUG=angleproject:885

Change-Id: Ifec2995562c684b3a4b287619c9bf7a25512b1fd
Reviewed-on: https://chromium-review.googlesource.com/302384
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/Framebuffer.cpp b/src/libANGLE/Framebuffer.cpp
index afc1630..731689c 100644
--- a/src/libANGLE/Framebuffer.cpp
+++ b/src/libANGLE/Framebuffer.cpp
@@ -611,9 +611,17 @@
     return Error(GL_NO_ERROR);
 }
 
-Error Framebuffer::blit(const gl::State &state, const gl::Rectangle &sourceArea, const gl::Rectangle &destArea,
-                        GLbitfield mask, GLenum filter, const gl::Framebuffer *sourceFramebuffer)
+Error Framebuffer::blit(Context *context,
+                        const gl::Rectangle &sourceArea,
+                        const gl::Rectangle &destArea,
+                        GLbitfield mask,
+                        GLenum filter,
+                        const gl::Framebuffer *sourceFramebuffer)
 {
+    // Sync blit state
+    const State &state = context->getState();
+    context->syncRendererState(state.blitStateBitMask());
+
     return mImpl->blit(state, sourceArea, destArea, mask, filter, sourceFramebuffer);
 }