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

Side by Side Diff: gpu/command_buffer/client/fenced_allocator_test.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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // This file contains the tests for the FencedAllocator class. 5 // This file contains the tests for the FencedAllocator class.
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/message_loop.h" 9 #include "base/message_loop.h"
10 #include "gpu/command_buffer/client/cmd_buffer_helper.h" 10 #include "gpu/command_buffer/client/cmd_buffer_helper.h"
11 #include "gpu/command_buffer/client/fenced_allocator.h" 11 #include "gpu/command_buffer/client/fenced_allocator.h"
12 #include "gpu/command_buffer/service/cmd_buffer_engine.h" 12 #include "gpu/command_buffer/service/cmd_buffer_engine.h"
13 #include "gpu/command_buffer/service/mocks.h" 13 #include "gpu/command_buffer/service/mocks.h"
14 #include "gpu/command_buffer/service/command_buffer_service.h" 14 #include "gpu/command_buffer/service/command_buffer_service.h"
15 #include "gpu/command_buffer/service/gpu_scheduler.h" 15 #include "gpu/command_buffer/service/gpu_scheduler.h"
16 #include "gpu/command_buffer/service/transfer_buffer_manager.h"
16 #include "testing/gtest/include/gtest/gtest.h" 17 #include "testing/gtest/include/gtest/gtest.h"
17 18
18 #if defined(OS_MACOSX) 19 #if defined(OS_MACOSX)
19 #include "base/mac/scoped_nsautorelease_pool.h" 20 #include "base/mac/scoped_nsautorelease_pool.h"
20 #endif 21 #endif
21 22
22 namespace gpu { 23 namespace gpu {
23 24
24 using testing::Return; 25 using testing::Return;
25 using testing::Mock; 26 using testing::Mock;
(...skipping 11 matching lines...) Expand all
37 api_mock_.reset(new AsyncAPIMock); 38 api_mock_.reset(new AsyncAPIMock);
38 // ignore noops in the mock - we don't want to inspect the internals of the 39 // ignore noops in the mock - we don't want to inspect the internals of the
39 // helper. 40 // helper.
40 EXPECT_CALL(*api_mock_, DoCommand(cmd::kNoop, 0, _)) 41 EXPECT_CALL(*api_mock_, DoCommand(cmd::kNoop, 0, _))
41 .WillRepeatedly(Return(error::kNoError)); 42 .WillRepeatedly(Return(error::kNoError));
42 // Forward the SetToken calls to the engine 43 // Forward the SetToken calls to the engine
43 EXPECT_CALL(*api_mock_.get(), DoCommand(cmd::kSetToken, 1, _)) 44 EXPECT_CALL(*api_mock_.get(), DoCommand(cmd::kSetToken, 1, _))
44 .WillRepeatedly(DoAll(Invoke(api_mock_.get(), &AsyncAPIMock::SetToken), 45 .WillRepeatedly(DoAll(Invoke(api_mock_.get(), &AsyncAPIMock::SetToken),
45 Return(error::kNoError))); 46 Return(error::kNoError)));
46 47
47 command_buffer_.reset(new CommandBufferService); 48 {
49 TransferBufferManager* manager = new TransferBufferManager();
50 transfer_buffer_manager_.reset(manager);
51 EXPECT_TRUE(manager->Initialize());
52 }
53 command_buffer_.reset(
54 new CommandBufferService(transfer_buffer_manager_.get()));
48 command_buffer_->Initialize(); 55 command_buffer_->Initialize();
49 56
50 gpu_scheduler_.reset(new GpuScheduler( 57 gpu_scheduler_.reset(new GpuScheduler(
51 command_buffer_.get(), api_mock_.get(), NULL)); 58 command_buffer_.get(), api_mock_.get(), NULL));
52 command_buffer_->SetPutOffsetChangeCallback(base::Bind( 59 command_buffer_->SetPutOffsetChangeCallback(base::Bind(
53 &GpuScheduler::PutChanged, base::Unretained(gpu_scheduler_.get()))); 60 &GpuScheduler::PutChanged, base::Unretained(gpu_scheduler_.get())));
54 command_buffer_->SetGetBufferChangeCallback(base::Bind( 61 command_buffer_->SetGetBufferChangeCallback(base::Bind(
55 &GpuScheduler::SetGetBuffer, base::Unretained(gpu_scheduler_.get()))); 62 &GpuScheduler::SetGetBuffer, base::Unretained(gpu_scheduler_.get())));
56 63
57 api_mock_->set_engine(gpu_scheduler_.get()); 64 api_mock_->set_engine(gpu_scheduler_.get());
58 65
59 helper_.reset(new CommandBufferHelper(command_buffer_.get())); 66 helper_.reset(new CommandBufferHelper(command_buffer_.get()));
60 helper_->Initialize(kBufferSize); 67 helper_->Initialize(kBufferSize);
61 } 68 }
62 69
63 int32 GetToken() { 70 int32 GetToken() {
64 return command_buffer_->GetState().token; 71 return command_buffer_->GetState().token;
65 } 72 }
66 73
67 #if defined(OS_MACOSX) 74 #if defined(OS_MACOSX)
68 base::mac::ScopedNSAutoreleasePool autorelease_pool_; 75 base::mac::ScopedNSAutoreleasePool autorelease_pool_;
69 #endif 76 #endif
70 MessageLoop message_loop_; 77 MessageLoop message_loop_;
71 scoped_ptr<AsyncAPIMock> api_mock_; 78 scoped_ptr<AsyncAPIMock> api_mock_;
79 scoped_ptr<TransferBufferManagerInterface> transfer_buffer_manager_;
72 scoped_ptr<CommandBufferService> command_buffer_; 80 scoped_ptr<CommandBufferService> command_buffer_;
73 scoped_ptr<GpuScheduler> gpu_scheduler_; 81 scoped_ptr<GpuScheduler> gpu_scheduler_;
74 scoped_ptr<CommandBufferHelper> helper_; 82 scoped_ptr<CommandBufferHelper> helper_;
75 }; 83 };
76 84
77 #ifndef _MSC_VER 85 #ifndef _MSC_VER
78 const unsigned int BaseFencedAllocatorTest::kBufferSize; 86 const unsigned int BaseFencedAllocatorTest::kBufferSize;
79 #endif 87 #endif
80 88
81 // Test fixture for FencedAllocator test - Creates a FencedAllocator, using a 89 // Test fixture for FencedAllocator test - Creates a FencedAllocator, using a
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 EXPECT_LE(token, GetToken()); 526 EXPECT_LE(token, GetToken());
519 527
520 // Free up everything. 528 // Free up everything.
521 for (unsigned int i = 0; i < kAllocCount; ++i) { 529 for (unsigned int i = 0; i < kAllocCount; ++i) {
522 allocator_->Free(pointers[i]); 530 allocator_->Free(pointers[i]);
523 EXPECT_TRUE(allocator_->CheckConsistency()); 531 EXPECT_TRUE(allocator_->CheckConsistency());
524 } 532 }
525 } 533 }
526 534
527 } // namespace gpu 535 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698