StateManagerGL: Use dirty bits for framebuffer bindings.

BUG=angleproject:2188

Change-Id: Icbe78f645b693a5b2ef555feffda0f618209e867
Reviewed-on: https://chromium-review.googlesource.com/757092
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
diff --git a/src/libANGLE/renderer/gl/FramebufferGL.cpp b/src/libANGLE/renderer/gl/FramebufferGL.cpp
index 5690e24..1565806 100644
--- a/src/libANGLE/renderer/gl/FramebufferGL.cpp
+++ b/src/libANGLE/renderer/gl/FramebufferGL.cpp
@@ -710,7 +710,7 @@
     return mIsDefault;
 }
 
-void FramebufferGL::maskOutInactiveOutputDrawBuffers(DrawBufferMask maxSet)
+void FramebufferGL::maskOutInactiveOutputDrawBuffers(GLenum binding, DrawBufferMask maxSet)
 {
     auto targetAppliedDrawBuffers = mState.getEnabledDrawBuffers() & maxSet;
     if (mAppliedEnabledDrawBuffers != targetAppliedDrawBuffers)
@@ -727,7 +727,7 @@
             drawBuffers[i] = targetAppliedDrawBuffers[i] ? stateDrawBuffers[i] : GL_NONE;
         }
 
-        mStateManager->bindFramebuffer(GL_FRAMEBUFFER, mFramebufferID);
+        mStateManager->bindFramebuffer(binding, mFramebufferID);
         mFunctions->drawBuffers(drawBufferCount, drawBuffers);
     }
 }