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

Side by Side Diff: gpu/demos/framework/window.cc

Issue 10534173: GPU Program Caching (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 6 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
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/demos/framework/window.h" 5 #include "gpu/demos/framework/window.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/memory/weak_ptr.h"
11 #include "gpu/command_buffer/client/gles2_implementation.h" 12 #include "gpu/command_buffer/client/gles2_implementation.h"
12 #include "gpu/command_buffer/client/gles2_lib.h" 13 #include "gpu/command_buffer/client/gles2_lib.h"
13 #include "gpu/command_buffer/client/transfer_buffer.h" 14 #include "gpu/command_buffer/client/transfer_buffer.h"
14 #include "gpu/command_buffer/service/context_group.h" 15 #include "gpu/command_buffer/service/context_group.h"
15 #include "gpu/command_buffer/service/transfer_buffer_manager.h" 16 #include "gpu/command_buffer/service/transfer_buffer_manager.h"
16 #include "gpu/demos/framework/demo.h" 17 #include "gpu/demos/framework/demo.h"
17 #include "gpu/demos/framework/demo_factory.h" 18 #include "gpu/demos/framework/demo_factory.h"
18 19
19 using gpu::Buffer; 20 using gpu::Buffer;
20 using gpu::CommandBufferService; 21 using gpu::CommandBufferService;
21 using gpu::GpuScheduler; 22 using gpu::GpuScheduler;
22 using gpu::gles2::GLES2CmdHelper; 23 using gpu::gles2::GLES2CmdHelper;
23 using gpu::gles2::GLES2Implementation; 24 using gpu::gles2::GLES2Implementation;
24 using gpu::TransferBuffer; 25 using gpu::TransferBuffer;
25 26
26 namespace { 27 namespace {
27 const int32 kCommandBufferSize = 1024 * 1024; 28 const int32 kCommandBufferSize = 1024 * 1024;
28 const int32 kTransferBufferSize = 512 * 1024; 29 const int32 kTransferBufferSize = 512 * 1024;
29 } // namespace. 30 } // namespace.
30 31
31 namespace gpu { 32 namespace gpu {
33 class ShaderCache;
34
32 namespace demos { 35 namespace demos {
33 36
34 Window::Window() 37 Window::Window()
35 : window_handle_(NULL), 38 : window_handle_(NULL),
36 demo_(CreateDemo()) { 39 demo_(CreateDemo()) {
37 } 40 }
38 41
39 Window::~Window() { 42 Window::~Window() {
40 demo_.reset(); 43 demo_.reset();
41 44
(...skipping 28 matching lines...) Expand all
70 TransferBufferManager* manager = new TransferBufferManager(); 73 TransferBufferManager* manager = new TransferBufferManager();
71 transfer_buffer_manager_.reset(manager); 74 transfer_buffer_manager_.reset(manager);
72 EXPECT_TRUE(manager->Initialize()); 75 EXPECT_TRUE(manager->Initialize());
73 } 76 }
74 command_buffer_.reset( 77 command_buffer_.reset(
75 new CommandBufferService(transfer_buffer_manager_.get())); 78 new CommandBufferService(transfer_buffer_manager_.get()));
76 if (!command_buffer_->Initialize()) { 79 if (!command_buffer_->Initialize()) {
77 return false; 80 return false;
78 } 81 }
79 82
80 gpu::gles2::ContextGroup::Ref group(new gpu::gles2::ContextGroup(NULL, true)); 83 gpu::gles2::ContextGroup::Ref group(new gpu::gles2::ContextGroup(
84 NULL,
85 true,
86 base::WeakPtr<ShaderCache>()));
81 87
82 decoder_.reset(gpu::gles2::GLES2Decoder::Create(group.get())); 88 decoder_.reset(gpu::gles2::GLES2Decoder::Create(group.get()));
83 if (!decoder_.get()) 89 if (!decoder_.get())
84 return false; 90 return false;
85 91
86 gpu_scheduler_.reset(new gpu::GpuScheduler(command_buffer_.get(), 92 gpu_scheduler_.reset(new gpu::GpuScheduler(command_buffer_.get(),
87 decoder_.get(), 93 decoder_.get(),
88 NULL)); 94 NULL));
89 95
90 decoder_->set_engine(gpu_scheduler_.get()); 96 decoder_->set_engine(gpu_scheduler_.get());
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 kTransferBufferSize, 145 kTransferBufferSize,
140 kTransferBufferSize)) { 146 kTransferBufferSize)) {
141 return false; 147 return false;
142 } 148 }
143 149
144 return true; 150 return true;
145 } 151 }
146 152
147 } // namespace demos 153 } // namespace demos
148 } // namespace gpu 154 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698