Chromium Code Reviews

Side by Side Diff: gpu/command_buffer/service/buffer_manager_unittest.cc

Issue 1747013: Changes the code to use separate ids namspaces... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/service/buffer_manager.h" 5 #include "gpu/command_buffer/service/buffer_manager.h"
6 #include "testing/gtest/include/gtest/gtest.h" 6 #include "testing/gtest/include/gtest/gtest.h"
7 7
8 namespace gpu { 8 namespace gpu {
9 namespace gles2 { 9 namespace gles2 {
10 10
11 class BufferManagerTest : public testing::Test { 11 class BufferManagerTest : public testing::Test {
12 public: 12 public:
13 BufferManagerTest() { 13 BufferManagerTest() {
14 } 14 }
15 15
16 protected: 16 protected:
17 virtual void SetUp() { 17 virtual void SetUp() {
18 } 18 }
19 19
20 virtual void TearDown() { 20 virtual void TearDown() {
21 } 21 }
22 22
23 BufferManager manager_; 23 BufferManager manager_;
24 }; 24 };
25 25
26 TEST_F(BufferManagerTest, Basic) { 26 TEST_F(BufferManagerTest, Basic) {
27 const GLuint kBuffer1Id = 1; 27 const GLuint kClientBuffer1Id = 1;
28 const GLuint kServiceBuffer1Id = 11;
28 const GLsizeiptr kBuffer1Size = 123; 29 const GLsizeiptr kBuffer1Size = 123;
29 const GLuint kBuffer2Id = 2; 30 const GLuint kClientBuffer2Id = 2;
30 // Check we can create buffer. 31 // Check we can create buffer.
31 manager_.CreateBufferInfo(kBuffer1Id); 32 manager_.CreateBufferInfo(kClientBuffer1Id, kServiceBuffer1Id);
32 // Check buffer got created. 33 // Check buffer got created.
33 BufferManager::BufferInfo* info1 = manager_.GetBufferInfo(kBuffer1Id); 34 BufferManager::BufferInfo* info1 = manager_.GetBufferInfo(kClientBuffer1Id);
34 ASSERT_TRUE(info1 != NULL); 35 ASSERT_TRUE(info1 != NULL);
35 EXPECT_EQ(0u, info1->target()); 36 EXPECT_EQ(0u, info1->target());
36 EXPECT_EQ(0, info1->size()); 37 EXPECT_EQ(0, info1->size());
37 EXPECT_FALSE(info1->IsDeleted()); 38 EXPECT_FALSE(info1->IsDeleted());
38 EXPECT_EQ(kBuffer1Id, info1->buffer_id()); 39 EXPECT_EQ(kServiceBuffer1Id, info1->service_id());
39 info1->set_target(GL_ELEMENT_ARRAY_BUFFER); 40 info1->set_target(GL_ELEMENT_ARRAY_BUFFER);
40 EXPECT_EQ(static_cast<GLenum>(GL_ELEMENT_ARRAY_BUFFER), info1->target()); 41 EXPECT_EQ(static_cast<GLenum>(GL_ELEMENT_ARRAY_BUFFER), info1->target());
41 // Check we and set its size. 42 // Check we and set its size.
42 info1->SetSize(kBuffer1Size); 43 info1->SetSize(kBuffer1Size);
43 EXPECT_EQ(kBuffer1Size, info1->size()); 44 EXPECT_EQ(kBuffer1Size, info1->size());
44 // Check we get nothing for a non-existent buffer. 45 // Check we get nothing for a non-existent buffer.
45 EXPECT_TRUE(manager_.GetBufferInfo(kBuffer2Id) == NULL); 46 EXPECT_TRUE(manager_.GetBufferInfo(kClientBuffer2Id) == NULL);
46 // Check trying to a remove non-existent buffers does not crash. 47 // Check trying to a remove non-existent buffers does not crash.
47 manager_.RemoveBufferInfo(kBuffer2Id); 48 manager_.RemoveBufferInfo(kClientBuffer2Id);
48 // Check we can't get the buffer after we remove it. 49 // Check we can't get the buffer after we remove it.
49 manager_.RemoveBufferInfo(kBuffer1Id); 50 manager_.RemoveBufferInfo(kClientBuffer1Id);
50 EXPECT_TRUE(manager_.GetBufferInfo(kBuffer1Id) == NULL); 51 EXPECT_TRUE(manager_.GetBufferInfo(kClientBuffer1Id) == NULL);
51 } 52 }
52 53
53 TEST_F(BufferManagerTest, SetRange) { 54 TEST_F(BufferManagerTest, SetRange) {
54 const GLuint kBufferId = 1; 55 const GLuint kClientBufferId = 1;
56 const GLuint kServiceBufferId = 11;
55 const uint8 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; 57 const uint8 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
56 manager_.CreateBufferInfo(kBufferId); 58 manager_.CreateBufferInfo(kClientBufferId, kServiceBufferId);
57 BufferManager::BufferInfo* info = manager_.GetBufferInfo(kBufferId); 59 BufferManager::BufferInfo* info = manager_.GetBufferInfo(kClientBufferId);
58 ASSERT_TRUE(info != NULL); 60 ASSERT_TRUE(info != NULL);
59 info->set_target(GL_ELEMENT_ARRAY_BUFFER); 61 info->set_target(GL_ELEMENT_ARRAY_BUFFER);
60 info->SetSize(sizeof(data)); 62 info->SetSize(sizeof(data));
61 EXPECT_TRUE(info->SetRange(0, sizeof(data), data)); 63 EXPECT_TRUE(info->SetRange(0, sizeof(data), data));
62 EXPECT_TRUE(info->SetRange(sizeof(data), 0, data)); 64 EXPECT_TRUE(info->SetRange(sizeof(data), 0, data));
63 EXPECT_FALSE(info->SetRange(sizeof(data), 1, data)); 65 EXPECT_FALSE(info->SetRange(sizeof(data), 1, data));
64 EXPECT_FALSE(info->SetRange(0, sizeof(data) + 1, data)); 66 EXPECT_FALSE(info->SetRange(0, sizeof(data) + 1, data));
65 } 67 }
66 68
67 TEST_F(BufferManagerTest, GetMaxValueForRangeUint8) { 69 TEST_F(BufferManagerTest, GetMaxValueForRangeUint8) {
68 const GLuint kBufferId = 1; 70 const GLuint kClientBufferId = 1;
71 const GLuint kServiceBufferId = 11;
69 const uint8 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; 72 const uint8 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
70 const uint8 new_data[] = {100, 120, 110}; 73 const uint8 new_data[] = {100, 120, 110};
71 manager_.CreateBufferInfo(kBufferId); 74 manager_.CreateBufferInfo(kClientBufferId, kServiceBufferId);
72 BufferManager::BufferInfo* info = manager_.GetBufferInfo(kBufferId); 75 BufferManager::BufferInfo* info = manager_.GetBufferInfo(kClientBufferId);
73 ASSERT_TRUE(info != NULL); 76 ASSERT_TRUE(info != NULL);
74 info->set_target(GL_ELEMENT_ARRAY_BUFFER); 77 info->set_target(GL_ELEMENT_ARRAY_BUFFER);
75 info->SetSize(sizeof(data)); 78 info->SetSize(sizeof(data));
76 EXPECT_TRUE(info->SetRange(0, sizeof(data), data)); 79 EXPECT_TRUE(info->SetRange(0, sizeof(data), data));
77 GLuint max_value; 80 GLuint max_value;
78 // Check entire range succeeds. 81 // Check entire range succeeds.
79 EXPECT_TRUE(info->GetMaxValueForRange(0, 10, GL_UNSIGNED_BYTE, &max_value)); 82 EXPECT_TRUE(info->GetMaxValueForRange(0, 10, GL_UNSIGNED_BYTE, &max_value));
80 EXPECT_EQ(10u, max_value); 83 EXPECT_EQ(10u, max_value);
81 // Check sub range succeeds. 84 // Check sub range succeeds.
82 EXPECT_TRUE(info->GetMaxValueForRange(4, 3, GL_UNSIGNED_BYTE, &max_value)); 85 EXPECT_TRUE(info->GetMaxValueForRange(4, 3, GL_UNSIGNED_BYTE, &max_value));
83 EXPECT_EQ(6u, max_value); 86 EXPECT_EQ(6u, max_value);
84 // Check changing sub range succeeds. 87 // Check changing sub range succeeds.
85 EXPECT_TRUE(info->SetRange(4, sizeof(new_data), new_data)); 88 EXPECT_TRUE(info->SetRange(4, sizeof(new_data), new_data));
86 EXPECT_TRUE(info->GetMaxValueForRange(4, 3, GL_UNSIGNED_BYTE, &max_value)); 89 EXPECT_TRUE(info->GetMaxValueForRange(4, 3, GL_UNSIGNED_BYTE, &max_value));
87 EXPECT_EQ(120u, max_value); 90 EXPECT_EQ(120u, max_value);
88 max_value = 0; 91 max_value = 0;
89 EXPECT_TRUE(info->GetMaxValueForRange(0, 10, GL_UNSIGNED_BYTE, &max_value)); 92 EXPECT_TRUE(info->GetMaxValueForRange(0, 10, GL_UNSIGNED_BYTE, &max_value));
90 EXPECT_EQ(120u, max_value); 93 EXPECT_EQ(120u, max_value);
91 // Check out of range fails. 94 // Check out of range fails.
92 EXPECT_FALSE(info->GetMaxValueForRange(0, 11, GL_UNSIGNED_BYTE, &max_value)); 95 EXPECT_FALSE(info->GetMaxValueForRange(0, 11, GL_UNSIGNED_BYTE, &max_value));
93 EXPECT_FALSE(info->GetMaxValueForRange(10, 1, GL_UNSIGNED_BYTE, &max_value)); 96 EXPECT_FALSE(info->GetMaxValueForRange(10, 1, GL_UNSIGNED_BYTE, &max_value));
94 } 97 }
95 98
96 TEST_F(BufferManagerTest, GetMaxValueForRangeUint16) { 99 TEST_F(BufferManagerTest, GetMaxValueForRangeUint16) {
97 const GLuint kBufferId = 1; 100 const GLuint kClientBufferId = 1;
101 const GLuint kServiceBufferId = 11;
98 const uint16 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; 102 const uint16 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
99 const uint16 new_data[] = {100, 120, 110}; 103 const uint16 new_data[] = {100, 120, 110};
100 manager_.CreateBufferInfo(kBufferId); 104 manager_.CreateBufferInfo(kClientBufferId, kServiceBufferId);
101 BufferManager::BufferInfo* info = manager_.GetBufferInfo(kBufferId); 105 BufferManager::BufferInfo* info = manager_.GetBufferInfo(kClientBufferId);
102 ASSERT_TRUE(info != NULL); 106 ASSERT_TRUE(info != NULL);
103 info->set_target(GL_ELEMENT_ARRAY_BUFFER); 107 info->set_target(GL_ELEMENT_ARRAY_BUFFER);
104 info->SetSize(sizeof(data)); 108 info->SetSize(sizeof(data));
105 EXPECT_TRUE(info->SetRange(0, sizeof(data), data)); 109 EXPECT_TRUE(info->SetRange(0, sizeof(data), data));
106 GLuint max_value; 110 GLuint max_value;
107 // Check entire range succeeds. 111 // Check entire range succeeds.
108 EXPECT_TRUE(info->GetMaxValueForRange(0, 10, GL_UNSIGNED_SHORT, &max_value)); 112 EXPECT_TRUE(info->GetMaxValueForRange(0, 10, GL_UNSIGNED_SHORT, &max_value));
109 EXPECT_EQ(10u, max_value); 113 EXPECT_EQ(10u, max_value);
110 // Check odd offset fails for GL_UNSIGNED_SHORT. 114 // Check odd offset fails for GL_UNSIGNED_SHORT.
111 EXPECT_FALSE(info->GetMaxValueForRange(1, 10, GL_UNSIGNED_SHORT, &max_value)); 115 EXPECT_FALSE(info->GetMaxValueForRange(1, 10, GL_UNSIGNED_SHORT, &max_value));
112 // Check sub range succeeds. 116 // Check sub range succeeds.
113 EXPECT_TRUE(info->GetMaxValueForRange(8, 3, GL_UNSIGNED_SHORT, &max_value)); 117 EXPECT_TRUE(info->GetMaxValueForRange(8, 3, GL_UNSIGNED_SHORT, &max_value));
114 EXPECT_EQ(6u, max_value); 118 EXPECT_EQ(6u, max_value);
115 // Check changing sub range succeeds. 119 // Check changing sub range succeeds.
116 EXPECT_TRUE(info->SetRange(8, sizeof(new_data), new_data)); 120 EXPECT_TRUE(info->SetRange(8, sizeof(new_data), new_data));
117 EXPECT_TRUE(info->GetMaxValueForRange(8, 3, GL_UNSIGNED_SHORT, &max_value)); 121 EXPECT_TRUE(info->GetMaxValueForRange(8, 3, GL_UNSIGNED_SHORT, &max_value));
118 EXPECT_EQ(120u, max_value); 122 EXPECT_EQ(120u, max_value);
119 max_value = 0; 123 max_value = 0;
120 EXPECT_TRUE(info->GetMaxValueForRange(0, 10, GL_UNSIGNED_SHORT, &max_value)); 124 EXPECT_TRUE(info->GetMaxValueForRange(0, 10, GL_UNSIGNED_SHORT, &max_value));
121 EXPECT_EQ(120u, max_value); 125 EXPECT_EQ(120u, max_value);
122 // Check out of range fails. 126 // Check out of range fails.
123 EXPECT_FALSE(info->GetMaxValueForRange(0, 11, GL_UNSIGNED_SHORT, &max_value)); 127 EXPECT_FALSE(info->GetMaxValueForRange(0, 11, GL_UNSIGNED_SHORT, &max_value));
124 EXPECT_FALSE(info->GetMaxValueForRange(20, 1, GL_UNSIGNED_SHORT, &max_value)); 128 EXPECT_FALSE(info->GetMaxValueForRange(20, 1, GL_UNSIGNED_SHORT, &max_value));
125 } 129 }
126 130
127 } // namespace gles2 131 } // namespace gles2
128 } // namespace gpu 132 } // namespace gpu
129 133
130 134
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/buffer_manager.cc ('k') | gpu/command_buffer/service/context_group.h » ('j') | no next file with comments »

Powered by Google App Engine