Prep work for adding command buffer support for EXT_sRGB_write_control
This re-lands part of the work from crrev.com/435631, namely.
Move the logic for updating framebuffer SRGB in the decoder to
a separate function
TBR=zmo
BUG=655247
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Review-Url: https://codereview.chromium.org/2542343003
Cr-Commit-Position: refs/heads/master@{#435852}
diff --git a/gpu/command_buffer/service/context_state.h b/gpu/command_buffer/service/context_state.h
index 72e4c6c2..6566974 100644
--- a/gpu/command_buffer/service/context_state.h
+++ b/gpu/command_buffer/service/context_state.h
@@ -354,7 +354,11 @@
void InitStateManual(const ContextState* prev_state) const;
- bool framebuffer_srgb_;
+ // EnableDisableFramebufferSRGB is called at very high frequency. Cache the
+ // true value of FRAMEBUFFER_SRGB, if we know it, to elide some of these
+ // calls.
+ bool framebuffer_srgb_valid_ = false;
+ bool framebuffer_srgb_ = false;
// Generic vertex attrib base types: FLOAT, INT, or UINT.
// Each base type is encoded into 2 bits, the lowest 2 bits for location 0,