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 2600021454afa1684f50b0b6c659eda4757dc1b5..e605700a001f7f94af7cc16cad31eb9e85eeee8b 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(); |
@@ -1737,6 +1738,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_; |
@@ -2409,6 +2412,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()); |
@@ -2673,10 +2678,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. |
@@ -2717,7 +2718,7 @@ Capabilities GLES2DecoderImpl::GetCapabilities() { |
#endif |
caps.post_sub_buffer = supports_post_sub_buffer_; |
- caps.map_image = !!image_manager(); |
+ caps.map_image = true; |
return caps; |
} |