| 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 cbbbe3f17e1f041c83de4c3eed922ece3de3377c..f4c03d5d5c8ef2ce42c7fef753fefec4630509a5 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| @@ -650,6 +650,9 @@ class GLES2DecoderImpl : public GLES2Decoder,
|
| virtual VertexArrayManager* GetVertexArrayManager() OVERRIDE {
|
| return vertex_array_manager_.get();
|
| }
|
| + virtual ImageManager* GetImageManager() OVERRIDE {
|
| + return image_manager_.get();
|
| + }
|
| virtual bool ProcessPendingQueries() OVERRIDE;
|
| virtual bool HasMoreIdleWork() OVERRIDE;
|
| virtual void PerformIdleWork() OVERRIDE;
|
| @@ -806,9 +809,7 @@ class GLES2DecoderImpl : public GLES2Decoder,
|
| return group_->mailbox_manager();
|
| }
|
|
|
| - ImageManager* image_manager() {
|
| - return group_->image_manager();
|
| - }
|
| + ImageManager* image_manager() { return image_manager_.get(); }
|
|
|
| VertexArrayManager* vertex_array_manager() {
|
| return vertex_array_manager_.get();
|
| @@ -1741,6 +1742,8 @@ class GLES2DecoderImpl : public GLES2Decoder,
|
|
|
| scoped_ptr<VertexArrayManager> vertex_array_manager_;
|
|
|
| + scoped_ptr<ImageManager> image_manager_;
|
| +
|
| base::Callback<void(gfx::Size, float)> resize_callback_;
|
|
|
| WaitSyncPointCallback wait_sync_point_callback_;
|
| @@ -2413,6 +2416,8 @@ bool GLES2DecoderImpl::Initialize(
|
|
|
| query_manager_.reset(new QueryManager(this, feature_info_.get()));
|
|
|
| + image_manager_.reset(new ImageManager);
|
| +
|
| util_.set_num_compressed_texture_formats(
|
| validators_->compressed_texture_format.GetValues().size());
|
|
|
| @@ -2677,10 +2682,6 @@ bool GLES2DecoderImpl::Initialize(
|
| context_->SetUnbindFboOnMakeCurrent();
|
| }
|
|
|
| - if (feature_info_->workarounds().release_image_after_use) {
|
| - image_manager()->SetReleaseAfterUse();
|
| - }
|
| -
|
| // Only compositor contexts are known to use only the subset of GL
|
| // that can be safely migrated between the iGPU and the dGPU. Mark
|
| // those contexts as safe to forcibly transition between the GPUs.
|
| @@ -2721,7 +2722,7 @@ Capabilities GLES2DecoderImpl::GetCapabilities() {
|
| #endif
|
|
|
| caps.post_sub_buffer = supports_post_sub_buffer_;
|
| - caps.map_image = !!image_manager();
|
| + caps.map_image = true;
|
|
|
| return caps;
|
| }
|
|
|