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

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

Issue 10106015: Allow textures to be moved from one GL context group to another. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 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 | 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/command_buffer/tests/gl_manager.h" 5 #include "gpu/command_buffer/tests/gl_manager.h"
6 #include "base/at_exit.h" 6 #include "base/at_exit.h"
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "gpu/command_buffer/client/gles2_lib.h" 8 #include "gpu/command_buffer/client/gles2_lib.h"
9 #include "gpu/command_buffer/client/gles2_implementation.h" 9 #include "gpu/command_buffer/client/gles2_implementation.h"
10 #include "gpu/command_buffer/client/transfer_buffer.h" 10 #include "gpu/command_buffer/client/transfer_buffer.h"
11 #include "gpu/command_buffer/common/constants.h" 11 #include "gpu/command_buffer/common/constants.h"
12 #include "gpu/command_buffer/service/command_buffer_service.h"
12 #include "gpu/command_buffer/service/context_group.h" 13 #include "gpu/command_buffer/service/context_group.h"
13 #include "gpu/command_buffer/service/gpu_scheduler.h" 14 #include "gpu/command_buffer/service/gpu_scheduler.h"
14 #include "gpu/command_buffer/service/command_buffer_service.h" 15 #include "gpu/command_buffer/service/mailbox_manager.h"
15 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
16 #include "ui/gfx/gl/gl_context.h" 17 #include "ui/gfx/gl/gl_context.h"
17 #include "ui/gfx/gl/gl_share_group.h" 18 #include "ui/gfx/gl/gl_share_group.h"
18 #include "ui/gfx/gl/gl_surface.h" 19 #include "ui/gfx/gl/gl_surface.h"
19 20
20 namespace gpu { 21 namespace gpu {
21 22
22 GLManager::GLManager() { 23 GLManager::GLManager(gles2::MailboxManager* mailbox_manager,
24 gfx::GLShareGroup* share_group)
25 : mailbox_manager_(mailbox_manager),
26 share_group_(share_group) {
23 } 27 }
24 28
25 GLManager::~GLManager() { 29 GLManager::~GLManager() {
26 } 30 }
27 31
28 void GLManager::Initialize(const gfx::Size& size) { 32 void GLManager::Initialize(const gfx::Size& size) {
29 const int32 kCommandBufferSize = 1024 * 1024; 33 const int32 kCommandBufferSize = 1024 * 1024;
30 const size_t kStartTransferBufferSize = 4 * 1024 * 1024; 34 const size_t kStartTransferBufferSize = 4 * 1024 * 1024;
31 const size_t kMinTransferBufferSize = 1 * 256 * 1024; 35 const size_t kMinTransferBufferSize = 1 * 256 * 1024;
32 const size_t kMaxTransferBufferSize = 16 * 1024 * 1024; 36 const size_t kMaxTransferBufferSize = 16 * 1024 * 1024;
(...skipping 14 matching lines...) Expand all
47 attribs.push_back(EGL_GREEN_SIZE); 51 attribs.push_back(EGL_GREEN_SIZE);
48 attribs.push_back(8); 52 attribs.push_back(8);
49 attribs.push_back(EGL_BLUE_SIZE); 53 attribs.push_back(EGL_BLUE_SIZE);
50 attribs.push_back(8); 54 attribs.push_back(8);
51 attribs.push_back(EGL_ALPHA_SIZE); 55 attribs.push_back(EGL_ALPHA_SIZE);
52 attribs.push_back(8); 56 attribs.push_back(8);
53 attribs.push_back(EGL_DEPTH_SIZE); 57 attribs.push_back(EGL_DEPTH_SIZE);
54 attribs.push_back(16); 58 attribs.push_back(16);
55 attribs.push_back(EGL_NONE); 59 attribs.push_back(EGL_NONE);
56 60
57 share_group_ = new gfx::GLShareGroup;
58 command_buffer_.reset(new CommandBufferService); 61 command_buffer_.reset(new CommandBufferService);
59 ASSERT_TRUE(command_buffer_->Initialize()) 62 ASSERT_TRUE(command_buffer_->Initialize())
60 << "could not create command buffer service"; 63 << "could not create command buffer service";
61 64
62 decoder_.reset(::gpu::gles2::GLES2Decoder::Create( 65 decoder_.reset(::gpu::gles2::GLES2Decoder::Create(
63 new gles2::ContextGroup(false))); 66 new gles2::ContextGroup(mailbox_manager_.get(), false)));
64 67
65 gpu_scheduler_.reset(new GpuScheduler(command_buffer_.get(), 68 gpu_scheduler_.reset(new GpuScheduler(command_buffer_.get(),
66 decoder_.get(), 69 decoder_.get(),
67 decoder_.get())); 70 decoder_.get()));
68 71
69 decoder_->set_engine(gpu_scheduler_.get()); 72 decoder_->set_engine(gpu_scheduler_.get());
70 73
71 surface_ = gfx::GLSurface::CreateOffscreenGLSurface(false, size); 74 surface_ = gfx::GLSurface::CreateOffscreenGLSurface(false, size);
72 ASSERT_TRUE(surface_.get() != NULL) << "could not create offscreen surface"; 75 ASSERT_TRUE(surface_.get() != NULL) << "could not create offscreen surface";
73 76
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 ::gpu::CommandBuffer::State state = command_buffer_->GetState(); 139 ::gpu::CommandBuffer::State state = command_buffer_->GetState();
137 ASSERT_EQ(::gpu::error::kNoError, state.error); 140 ASSERT_EQ(::gpu::error::kNoError, state.error);
138 } 141 }
139 142
140 bool GLManager::GetBufferChanged(int32 transfer_buffer_id) { 143 bool GLManager::GetBufferChanged(int32 transfer_buffer_id) {
141 return gpu_scheduler_->SetGetBuffer(transfer_buffer_id); 144 return gpu_scheduler_->SetGetBuffer(transfer_buffer_id);
142 } 145 }
143 146
144 } // namespace gpu 147 } // namespace gpu
145 148
OLDNEW
« no previous file with comments | « gpu/command_buffer/tests/gl_manager.h ('k') | gpu/command_buffer/tests/gl_texture_mailbox_unittests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698