| 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 8be63b095c41b3833ddc5b4f8029d28cf47203c0..440ae669cedd9e9a05d72d4c209cbd9327a1f523 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| @@ -36,6 +36,7 @@
|
| #include "gpu/command_buffer/service/context_state.h"
|
| #include "gpu/command_buffer/service/error_state.h"
|
| #include "gpu/command_buffer/service/feature_info.h"
|
| +#include "gpu/command_buffer/service/fence_manager.h"
|
| #include "gpu/command_buffer/service/framebuffer_manager.h"
|
| #include "gpu/command_buffer/service/gl_stream_texture_image.h"
|
| #include "gpu/command_buffer/service/gl_utils.h"
|
| @@ -570,6 +571,7 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient {
|
| return vertex_array_manager_.get();
|
| }
|
| ImageManager* GetImageManager() override { return image_manager_.get(); }
|
| + FenceManager* GetFenceManager() override { return fence_manager_.get(); }
|
|
|
| bool HasPendingQueries() const override;
|
| void ProcessPendingQueries(bool did_finish) override;
|
| @@ -754,6 +756,8 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient {
|
|
|
| ImageManager* image_manager() { return image_manager_.get(); }
|
|
|
| + FenceManager* fence_manager() { return fence_manager_.get(); }
|
| +
|
| VertexArrayManager* vertex_array_manager() {
|
| return vertex_array_manager_.get();
|
| }
|
| @@ -2233,6 +2237,8 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient {
|
|
|
| std::unique_ptr<ImageManager> image_manager_;
|
|
|
| + std::unique_ptr<FenceManager> fence_manager_;
|
| +
|
| FenceSyncReleaseCallback fence_sync_release_callback_;
|
| WaitFenceSyncCallback wait_fence_sync_callback_;
|
| NoParamCallback deschedule_until_finished_callback_;
|
| @@ -3139,6 +3145,8 @@ bool GLES2DecoderImpl::Initialize(
|
|
|
| image_manager_.reset(new ImageManager);
|
|
|
| + fence_manager_.reset(new FenceManager);
|
| +
|
| util_.set_num_compressed_texture_formats(
|
| validators_->compressed_texture_format.GetValues().size());
|
|
|
| @@ -4760,6 +4768,11 @@ void GLES2DecoderImpl::Destroy(bool have_context) {
|
|
|
| image_manager_.reset();
|
|
|
| + if (fence_manager_.get()) {
|
| + fence_manager_->Destroy(have_context);
|
| + fence_manager_.reset();
|
| + }
|
| +
|
| offscreen_target_frame_buffer_.reset();
|
| offscreen_target_color_texture_.reset();
|
| offscreen_target_color_render_buffer_.reset();
|
|
|