OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "gpu/command_buffer/tests/gl_manager.h" | 5 #include "gpu/command_buffer/tests/gl_manager.h" |
6 | 6 |
7 #include <GLES2/gl2.h> | 7 #include <GLES2/gl2.h> |
8 #include <GLES2/gl2ext.h> | 8 #include <GLES2/gl2ext.h> |
9 #include <GLES2/gl2extchromium.h> | 9 #include <GLES2/gl2extchromium.h> |
10 #include <stddef.h> | 10 #include <stddef.h> |
(...skipping 17 matching lines...) Expand all Loading... |
28 #include "gpu/command_buffer/common/sync_token.h" | 28 #include "gpu/command_buffer/common/sync_token.h" |
29 #include "gpu/command_buffer/service/command_buffer_service.h" | 29 #include "gpu/command_buffer/service/command_buffer_service.h" |
30 #include "gpu/command_buffer/service/command_executor.h" | 30 #include "gpu/command_buffer/service/command_executor.h" |
31 #include "gpu/command_buffer/service/context_group.h" | 31 #include "gpu/command_buffer/service/context_group.h" |
32 #include "gpu/command_buffer/service/gl_context_virtual.h" | 32 #include "gpu/command_buffer/service/gl_context_virtual.h" |
33 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 33 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
34 #include "gpu/command_buffer/service/gpu_switches.h" | 34 #include "gpu/command_buffer/service/gpu_switches.h" |
35 #include "gpu/command_buffer/service/image_manager.h" | 35 #include "gpu/command_buffer/service/image_manager.h" |
36 #include "gpu/command_buffer/service/mailbox_manager_impl.h" | 36 #include "gpu/command_buffer/service/mailbox_manager_impl.h" |
37 #include "gpu/command_buffer/service/memory_tracking.h" | 37 #include "gpu/command_buffer/service/memory_tracking.h" |
| 38 #include "gpu/command_buffer/service/service_discardable_manager.h" |
38 #include "gpu/command_buffer/service/service_utils.h" | 39 #include "gpu/command_buffer/service/service_utils.h" |
39 #include "gpu/command_buffer/service/sync_point_manager.h" | 40 #include "gpu/command_buffer/service/sync_point_manager.h" |
40 #include "gpu/command_buffer/service/transfer_buffer_manager.h" | 41 #include "gpu/command_buffer/service/transfer_buffer_manager.h" |
41 #include "testing/gtest/include/gtest/gtest.h" | 42 #include "testing/gtest/include/gtest/gtest.h" |
42 #include "ui/gfx/buffer_format_util.h" | 43 #include "ui/gfx/buffer_format_util.h" |
43 #include "ui/gfx/gpu_memory_buffer.h" | 44 #include "ui/gfx/gpu_memory_buffer.h" |
44 #include "ui/gl/gl_context.h" | 45 #include "ui/gl/gl_context.h" |
45 #include "ui/gl/gl_image_ref_counted_memory.h" | 46 #include "ui/gl/gl_image_ref_counted_memory.h" |
46 #include "ui/gl/gl_share_group.h" | 47 #include "ui/gl/gl_share_group.h" |
47 #include "ui/gl/gl_surface.h" | 48 #include "ui/gl/gl_surface.h" |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 } // namespace | 182 } // namespace |
182 | 183 |
183 int GLManager::use_count_; | 184 int GLManager::use_count_; |
184 scoped_refptr<gl::GLShareGroup>* GLManager::base_share_group_; | 185 scoped_refptr<gl::GLShareGroup>* GLManager::base_share_group_; |
185 scoped_refptr<gl::GLSurface>* GLManager::base_surface_; | 186 scoped_refptr<gl::GLSurface>* GLManager::base_surface_; |
186 scoped_refptr<gl::GLContext>* GLManager::base_context_; | 187 scoped_refptr<gl::GLContext>* GLManager::base_context_; |
187 | 188 |
188 GLManager::Options::Options() = default; | 189 GLManager::Options::Options() = default; |
189 | 190 |
190 GLManager::GLManager() | 191 GLManager::GLManager() |
191 : command_buffer_id_( | 192 : discardable_manager_(new ServiceDiscardableManager()), |
| 193 command_buffer_id_( |
192 CommandBufferId::FromUnsafeValue(g_next_command_buffer_id++)) { | 194 CommandBufferId::FromUnsafeValue(g_next_command_buffer_id++)) { |
193 SetupBaseContext(); | 195 SetupBaseContext(); |
194 } | 196 } |
195 | 197 |
196 GLManager::~GLManager() { | 198 GLManager::~GLManager() { |
197 --use_count_; | 199 --use_count_; |
198 if (!use_count_) { | 200 if (!use_count_) { |
199 if (base_share_group_) { | 201 if (base_share_group_) { |
200 delete base_context_; | 202 delete base_context_; |
201 base_context_ = NULL; | 203 base_context_ = NULL; |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 | 296 |
295 if (!context_group) { | 297 if (!context_group) { |
296 GpuDriverBugWorkarounds gpu_driver_bug_workaround(&command_line); | 298 GpuDriverBugWorkarounds gpu_driver_bug_workaround(&command_line); |
297 scoped_refptr<gles2::FeatureInfo> feature_info = | 299 scoped_refptr<gles2::FeatureInfo> feature_info = |
298 new gles2::FeatureInfo(command_line, gpu_driver_bug_workaround); | 300 new gles2::FeatureInfo(command_line, gpu_driver_bug_workaround); |
299 context_group = new gles2::ContextGroup( | 301 context_group = new gles2::ContextGroup( |
300 gpu_preferences_, mailbox_manager_.get(), nullptr, | 302 gpu_preferences_, mailbox_manager_.get(), nullptr, |
301 new gpu::gles2::ShaderTranslatorCache(gpu_preferences_), | 303 new gpu::gles2::ShaderTranslatorCache(gpu_preferences_), |
302 new gpu::gles2::FramebufferCompletenessCache, feature_info, | 304 new gpu::gles2::FramebufferCompletenessCache, feature_info, |
303 options.bind_generates_resource, options.image_factory, nullptr, | 305 options.bind_generates_resource, options.image_factory, nullptr, |
304 GpuFeatureInfo()); | 306 GpuFeatureInfo(), discardable_manager_.get()); |
305 } | 307 } |
306 | 308 |
307 decoder_.reset(::gpu::gles2::GLES2Decoder::Create(context_group)); | 309 decoder_.reset(::gpu::gles2::GLES2Decoder::Create(context_group)); |
308 if (options.force_shader_name_hashing) { | 310 if (options.force_shader_name_hashing) { |
309 decoder_->SetForceShaderNameHashingForTest(true); | 311 decoder_->SetForceShaderNameHashingForTest(true); |
310 } | 312 } |
311 command_buffer_.reset(new CommandBufferService( | 313 command_buffer_.reset(new CommandBufferService( |
312 decoder_->GetContextGroup()->transfer_buffer_manager())); | 314 decoder_->GetContextGroup()->transfer_buffer_manager())); |
313 | 315 |
314 executor_.reset(new CommandExecutor(command_buffer_.get(), decoder_.get(), | 316 executor_.reset(new CommandExecutor(command_buffer_.get(), decoder_.get(), |
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
630 void GLManager::WaitSyncTokenHint(const gpu::SyncToken& sync_token) {} | 632 void GLManager::WaitSyncTokenHint(const gpu::SyncToken& sync_token) {} |
631 | 633 |
632 bool GLManager::CanWaitUnverifiedSyncToken(const gpu::SyncToken& sync_token) { | 634 bool GLManager::CanWaitUnverifiedSyncToken(const gpu::SyncToken& sync_token) { |
633 return false; | 635 return false; |
634 } | 636 } |
635 | 637 |
636 void GLManager::AddLatencyInfo( | 638 void GLManager::AddLatencyInfo( |
637 const std::vector<ui::LatencyInfo>& latency_info) {} | 639 const std::vector<ui::LatencyInfo>& latency_info) {} |
638 | 640 |
639 } // namespace gpu | 641 } // namespace gpu |
OLD | NEW |