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

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

Issue 10441140: Make context groups share a TextureBufferManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
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 | Annotate | Revision Log
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 "gpu/command_buffer/client/gles2_implementation.h" 11 #include "gpu/command_buffer/client/gles2_implementation.h"
12 #include "gpu/command_buffer/client/gles2_lib.h" 12 #include "gpu/command_buffer/client/gles2_lib.h"
13 #include "gpu/command_buffer/client/transfer_buffer.h" 13 #include "gpu/command_buffer/client/transfer_buffer.h"
14 #include "gpu/command_buffer/service/context_group.h" 14 #include "gpu/command_buffer/service/context_group.h"
15 #include "gpu/command_buffer/service/transfer_buffer_manager.h"
15 #include "gpu/demos/framework/demo.h" 16 #include "gpu/demos/framework/demo.h"
16 #include "gpu/demos/framework/demo_factory.h" 17 #include "gpu/demos/framework/demo_factory.h"
17 18
18 using gpu::Buffer; 19 using gpu::Buffer;
19 using gpu::CommandBufferService; 20 using gpu::CommandBufferService;
20 using gpu::GpuScheduler; 21 using gpu::GpuScheduler;
21 using gpu::gles2::GLES2CmdHelper; 22 using gpu::gles2::GLES2CmdHelper;
22 using gpu::gles2::GLES2Implementation; 23 using gpu::gles2::GLES2Implementation;
23 using gpu::TransferBuffer; 24 using gpu::TransferBuffer;
24 25
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 demo_->Resize(width, height); 59 demo_->Resize(width, height);
59 return demo_->InitGL(); 60 return demo_->InitGL();
60 } 61 }
61 62
62 void Window::OnPaint() { 63 void Window::OnPaint() {
63 demo_->Draw(); 64 demo_->Draw();
64 ::gles2::GetGLContext()->SwapBuffers(); 65 ::gles2::GetGLContext()->SwapBuffers();
65 } 66 }
66 67
67 bool Window::CreateRenderContext(gfx::AcceleratedWidget hwnd) { 68 bool Window::CreateRenderContext(gfx::AcceleratedWidget hwnd) {
68 command_buffer_.reset(new CommandBufferService); 69 {
70 TransferBufferManager* manager = new TransferBufferManager();
71 transfer_buffer_manager_.reset(manager);
72 EXPECT_TRUE(manager->Initialize());
73 }
74 command_buffer_.reset(
75 new CommandBufferService(transfer_buffer_manager_.get()));
69 if (!command_buffer_->Initialize()) { 76 if (!command_buffer_->Initialize()) {
70 return false; 77 return false;
71 } 78 }
72 79
73 gpu::gles2::ContextGroup::Ref group(new gpu::gles2::ContextGroup(NULL, true)); 80 gpu::gles2::ContextGroup::Ref group(new gpu::gles2::ContextGroup(NULL, true));
74 81
75 decoder_.reset(gpu::gles2::GLES2Decoder::Create(group.get())); 82 decoder_.reset(gpu::gles2::GLES2Decoder::Create(group.get()));
76 if (!decoder_.get()) 83 if (!decoder_.get())
77 return false; 84 return false;
78 85
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 kTransferBufferSize, 139 kTransferBufferSize,
133 kTransferBufferSize)) { 140 kTransferBufferSize)) {
134 return false; 141 return false;
135 } 142 }
136 143
137 return true; 144 return true;
138 } 145 }
139 146
140 } // namespace demos 147 } // namespace demos
141 } // namespace gpu 148 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698