Make Framebuffer::checkStatus non-const.

BUG=angleproject:1388

Change-Id: Ia9befba0c915c087f2fe0557d91060256f6d4950
Reviewed-on: https://chromium-review.googlesource.com/348955
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/Framebuffer.h b/src/libANGLE/Framebuffer.h
index cd48ab4..19edb82 100644
--- a/src/libANGLE/Framebuffer.h
+++ b/src/libANGLE/Framebuffer.h
@@ -96,8 +96,7 @@
     void setLabel(const std::string &label) override;
     const std::string &getLabel() const override;
 
-    const rx::FramebufferImpl *getImplementation() const { return mImpl; }
-    rx::FramebufferImpl *getImplementation() { return mImpl; }
+    rx::FramebufferImpl *getImplementation() const { return mImpl; }
 
     GLuint id() const { return mId; }
 
@@ -134,10 +133,18 @@
     size_t getNumColorBuffers() const;
     bool hasDepth() const;
     bool hasStencil() const;
-    int getSamples(const ContextState &state) const;
+
     bool usingExtendedDrawBuffers() const;
 
-    GLenum checkStatus(const ContextState &state) const;
+    // This method calls checkStatus.
+    int getSamples(const ContextState &state);
+    GLenum checkStatus(const ContextState &state);
+
+    // These methods do not change any state.
+    // TODO(jmadill): Remove ContextState parameter when able.
+    int getCachedSamples(const ContextState &state) const;
+    GLenum getCachedStatus(const ContextState &state) const;
+
     bool hasValidDepthStencil() const;
 
     Error discard(size_t count, const GLenum *attachments);