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_;
};