Index: gpu/command_buffer/service/gles2_cmd_decoder.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
index 47988a833363682977458a3df2fc7e49312682df..493eda9b96c60ac2440150bee2d861d5a7abea02 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -4369,7 +4369,11 @@ void GLES2DecoderImpl::Destroy(bool have_context) { |
offscreen_resolved_frame_buffer_->Invalidate(); |
if (offscreen_resolved_color_texture_.get()) |
offscreen_resolved_color_texture_->Invalidate(); |
+ for (auto& fence : deschedule_until_finished_fences_) { |
+ fence->Invalidate(); |
+ } |
} |
+ deschedule_until_finished_fences_.clear(); |
// Current program must be cleared after calling ProgramManager::UnuseProgram. |
// Otherwise, we can leak objects. http://crbug.com/258772. |