Simplify FRAMEBUFFER_SRGB setting update.

Before we tracked its state and only call glEnable/glDIsable when it's
actually changed.

This caused a bug where virtual context is used on Linux.

This CL simplified the handling by not tracking its state and always
call glEnable/glDisable at render time.

BUG=540900
TEST=fbomultisample.html on linux does not cause flashing
[email protected]
NOTRY=true
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2083013006
Cr-Commit-Position: refs/heads/master@{#401496}
diff --git a/gpu/command_buffer/service/context_state.h b/gpu/command_buffer/service/context_state.h
index f20186b..8447ee3 100644
--- a/gpu/command_buffer/service/context_state.h
+++ b/gpu/command_buffer/service/context_state.h
@@ -251,6 +251,8 @@
   PixelStoreParams GetPackParams();
   PixelStoreParams GetUnpackParams(Dimension dimension);
 
+  void EnableDisableFramebufferSRGB(bool enable);
+
   #include "gpu/command_buffer/service/context_state_autogen.h"
 
   EnableFlags enable_flags;
@@ -318,6 +320,8 @@
 
   void InitStateManual(const ContextState* prev_state) const;
 
+  bool framebuffer_srgb_;
+
   FeatureInfo* feature_info_;
   std::unique_ptr<ErrorState> error_state_;
 };