Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Side by Side Diff: gpu/command_buffer/tests/gl_manager.cc

Issue 2814583002: Service/ClientDiscardableManager (Closed)
Patch Set: rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gpu/command_buffer/tests/gl_manager.h ('k') | gpu/gles2_conform_support/egl/context.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « gpu/command_buffer/tests/gl_manager.h ('k') | gpu/gles2_conform_support/egl/context.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698