Index: gpu/command_buffer/service/context_state.cc |
diff --git a/gpu/command_buffer/service/context_state.cc b/gpu/command_buffer/service/context_state.cc |
index c19ffa5272b5746ecf65646b057a25364cd65693..e9e4de8bb8174d729c271dd43a181791b408c174 100644 |
--- a/gpu/command_buffer/service/context_state.cc |
+++ b/gpu/command_buffer/service/context_state.cc |
@@ -495,7 +495,12 @@ void ContextState::RestoreState(const ContextState* prev_state) { |
RestoreIndexedUniformBufferBindings(prev_state); |
RestoreGlobalState(prev_state); |
- if (prev_state && framebuffer_srgb_ != prev_state->framebuffer_srgb_) { |
+ if (!prev_state) { |
+ if (feature_info_->feature_flags().desktop_srgb_support) { |
+ framebuffer_srgb_ = false; |
+ glDisable(GL_FRAMEBUFFER_SRGB); |
+ } |
+ } else if (framebuffer_srgb_ != prev_state->framebuffer_srgb_) { |
// FRAMEBUFFER_SRGB will be restored lazily at render time. |
framebuffer_srgb_ = prev_state->framebuffer_srgb_; |
} |