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

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

Issue 12544006: Revert 186416 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 years, 9 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/service/vertex_attrib_manager.h" 5 #include "gpu/command_buffer/service/vertex_attrib_manager.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "gpu/command_buffer/service/buffer_manager.h" 8 #include "gpu/command_buffer/service/buffer_manager.h"
9 #include "gpu/command_buffer/service/feature_info.h" 9 #include "gpu/command_buffer/service/feature_info.h"
10 #include "gpu/command_buffer/service/gles2_cmd_decoder_mock.h"
11 #include "gpu/command_buffer/service/test_helper.h" 10 #include "gpu/command_buffer/service/test_helper.h"
12 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
13 #include "ui/gl/gl_mock.h" 12 #include "ui/gl/gl_mock.h"
14 13
15 using ::testing::Pointee; 14 using ::testing::Pointee;
16 using ::testing::_; 15 using ::testing::_;
17 16
18 namespace gpu { 17 namespace gpu {
19 namespace gles2 { 18 namespace gles2 {
20 19
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 manager_->Enable(1, false); 102 manager_->Enable(1, false);
104 ASSERT_EQ(1u, infos.size()); 103 ASSERT_EQ(1u, infos.size());
105 EXPECT_FALSE(info1->enabled()); 104 EXPECT_FALSE(info1->enabled());
106 105
107 manager_->Enable(3, false); 106 manager_->Enable(3, false);
108 ASSERT_EQ(0u, infos.size()); 107 ASSERT_EQ(0u, infos.size());
109 EXPECT_FALSE(info2->enabled()); 108 EXPECT_FALSE(info2->enabled());
110 } 109 }
111 110
112 TEST_F(VertexAttribManagerTest, SetAttribInfo) { 111 TEST_F(VertexAttribManagerTest, SetAttribInfo) {
113 BufferManager buffer_manager(NULL, NULL); 112 BufferManager buffer_manager(NULL);
114 buffer_manager.CreateBuffer(1, 2); 113 buffer_manager.CreateBuffer(1, 2);
115 Buffer* buffer = buffer_manager.GetBuffer(1); 114 Buffer* buffer = buffer_manager.GetBuffer(1);
116 ASSERT_TRUE(buffer != NULL); 115 ASSERT_TRUE(buffer != NULL);
117 116
118 VertexAttrib* info = 117 VertexAttrib* info =
119 manager_->GetVertexAttrib(1); 118 manager_->GetVertexAttrib(1);
120 119
121 manager_->SetAttribInfo(1, buffer, 3, GL_SHORT, GL_TRUE, 32, 32, 4); 120 manager_->SetAttribInfo(1, buffer, 3, GL_SHORT, GL_TRUE, 32, 32, 4);
122 121
123 EXPECT_EQ(buffer, info->buffer()); 122 EXPECT_EQ(buffer, info->buffer());
(...skipping 15 matching lines...) Expand all
139 EXPECT_TRUE(manager_->HaveFixedAttribs()); 138 EXPECT_TRUE(manager_->HaveFixedAttribs());
140 manager_->SetAttribInfo(3, NULL, 4, GL_FIXED, GL_FALSE, 0, 16, 0); 139 manager_->SetAttribInfo(3, NULL, 4, GL_FIXED, GL_FALSE, 0, 16, 0);
141 EXPECT_TRUE(manager_->HaveFixedAttribs()); 140 EXPECT_TRUE(manager_->HaveFixedAttribs());
142 manager_->SetAttribInfo(1, NULL, 4, GL_FLOAT, GL_FALSE, 0, 16, 0); 141 manager_->SetAttribInfo(1, NULL, 4, GL_FLOAT, GL_FALSE, 0, 16, 0);
143 EXPECT_TRUE(manager_->HaveFixedAttribs()); 142 EXPECT_TRUE(manager_->HaveFixedAttribs());
144 manager_->SetAttribInfo(3, NULL, 4, GL_FLOAT, GL_FALSE, 0, 16, 0); 143 manager_->SetAttribInfo(3, NULL, 4, GL_FLOAT, GL_FALSE, 0, 16, 0);
145 EXPECT_FALSE(manager_->HaveFixedAttribs()); 144 EXPECT_FALSE(manager_->HaveFixedAttribs());
146 } 145 }
147 146
148 TEST_F(VertexAttribManagerTest, CanAccess) { 147 TEST_F(VertexAttribManagerTest, CanAccess) {
149 MockGLES2Decoder decoder; 148 BufferManager buffer_manager(NULL);
150 BufferManager buffer_manager(NULL, NULL);
151 buffer_manager.CreateBuffer(1, 2); 149 buffer_manager.CreateBuffer(1, 2);
152 Buffer* buffer = buffer_manager.GetBuffer(1); 150 Buffer* buffer = buffer_manager.GetBuffer(1);
153 ASSERT_TRUE(buffer != NULL); 151 ASSERT_TRUE(buffer != NULL);
154 152
155 VertexAttrib* info = 153 VertexAttrib* info =
156 manager_->GetVertexAttrib(1); 154 manager_->GetVertexAttrib(1);
157 155
158 EXPECT_TRUE(info->CanAccess(0)); 156 EXPECT_TRUE(info->CanAccess(0));
159 manager_->Enable(1, true); 157 manager_->Enable(1, true);
160 EXPECT_FALSE(info->CanAccess(0)); 158 EXPECT_FALSE(info->CanAccess(0));
161 159
162 manager_->SetAttribInfo(1, buffer, 4, GL_FLOAT, GL_FALSE, 0, 16, 0); 160 manager_->SetAttribInfo(1, buffer, 4, GL_FLOAT, GL_FALSE, 0, 16, 0);
163 EXPECT_FALSE(info->CanAccess(0)); 161 EXPECT_FALSE(info->CanAccess(0));
164 162
165 EXPECT_TRUE(buffer_manager.SetTarget(buffer, GL_ARRAY_BUFFER)); 163 EXPECT_TRUE(buffer_manager.SetTarget(buffer, GL_ARRAY_BUFFER));
166 TestHelper::DoBufferData( 164 buffer_manager.SetInfo(buffer, 15, GL_STATIC_DRAW);
167 gl_.get(), &decoder, &buffer_manager, buffer, 15, GL_STATIC_DRAW, NULL,
168 GL_NO_ERROR);
169 165
170 EXPECT_FALSE(info->CanAccess(0)); 166 EXPECT_FALSE(info->CanAccess(0));
171 TestHelper::DoBufferData( 167 buffer_manager.SetInfo(buffer, 16, GL_STATIC_DRAW);
172 gl_.get(), &decoder, &buffer_manager, buffer, 16, GL_STATIC_DRAW, NULL,
173 GL_NO_ERROR);
174 EXPECT_TRUE(info->CanAccess(0)); 168 EXPECT_TRUE(info->CanAccess(0));
175 EXPECT_FALSE(info->CanAccess(1)); 169 EXPECT_FALSE(info->CanAccess(1));
176 170
177 manager_->SetAttribInfo(1, buffer, 4, GL_FLOAT, GL_FALSE, 0, 16, 1); 171 manager_->SetAttribInfo(1, buffer, 4, GL_FLOAT, GL_FALSE, 0, 16, 1);
178 EXPECT_FALSE(info->CanAccess(0)); 172 EXPECT_FALSE(info->CanAccess(0));
179 173
180 TestHelper::DoBufferData( 174 buffer_manager.SetInfo(buffer, 32, GL_STATIC_DRAW);
181 gl_.get(), &decoder, &buffer_manager, buffer, 32, GL_STATIC_DRAW, NULL,
182 GL_NO_ERROR);
183 EXPECT_TRUE(info->CanAccess(0)); 175 EXPECT_TRUE(info->CanAccess(0));
184 EXPECT_FALSE(info->CanAccess(1)); 176 EXPECT_FALSE(info->CanAccess(1));
185 manager_->SetAttribInfo(1, buffer, 4, GL_FLOAT, GL_FALSE, 0, 16, 0); 177 manager_->SetAttribInfo(1, buffer, 4, GL_FLOAT, GL_FALSE, 0, 16, 0);
186 EXPECT_TRUE(info->CanAccess(1)); 178 EXPECT_TRUE(info->CanAccess(1));
187 manager_->SetAttribInfo(1, buffer, 4, GL_FLOAT, GL_FALSE, 0, 20, 0); 179 manager_->SetAttribInfo(1, buffer, 4, GL_FLOAT, GL_FALSE, 0, 20, 0);
188 EXPECT_TRUE(info->CanAccess(0)); 180 EXPECT_TRUE(info->CanAccess(0));
189 EXPECT_FALSE(info->CanAccess(1)); 181 EXPECT_FALSE(info->CanAccess(1));
190 182
191 // The VertexAttribManager must be destroyed before the BufferManager 183 // The VertexAttribManager must be destroyed before the BufferManager
192 // so it releases its buffers. 184 // so it releases its buffers.
193 manager_ = NULL; 185 manager_ = NULL;
194 buffer_manager.Destroy(false); 186 buffer_manager.Destroy(false);
195 } 187 }
196 188
197 TEST_F(VertexAttribManagerTest, Unbind) { 189 TEST_F(VertexAttribManagerTest, Unbind) {
198 BufferManager buffer_manager(NULL, NULL); 190 BufferManager buffer_manager(NULL);
199 buffer_manager.CreateBuffer(1, 2); 191 buffer_manager.CreateBuffer(1, 2);
200 buffer_manager.CreateBuffer(3, 4); 192 buffer_manager.CreateBuffer(3, 4);
201 Buffer* buffer1 = buffer_manager.GetBuffer(1); 193 Buffer* buffer1 = buffer_manager.GetBuffer(1);
202 Buffer* buffer2 = buffer_manager.GetBuffer(3); 194 Buffer* buffer2 = buffer_manager.GetBuffer(3);
203 ASSERT_TRUE(buffer1 != NULL); 195 ASSERT_TRUE(buffer1 != NULL);
204 ASSERT_TRUE(buffer2 != NULL); 196 ASSERT_TRUE(buffer2 != NULL);
205 197
206 VertexAttrib* info1 = 198 VertexAttrib* info1 =
207 manager_->GetVertexAttrib(1); 199 manager_->GetVertexAttrib(1);
208 VertexAttrib* info3 = 200 VertexAttrib* info3 =
(...skipping 15 matching lines...) Expand all
224 // Check they were detached 216 // Check they were detached
225 EXPECT_TRUE(NULL == info1->buffer()); 217 EXPECT_TRUE(NULL == info1->buffer());
226 EXPECT_TRUE(NULL == info3->buffer()); 218 EXPECT_TRUE(NULL == info3->buffer());
227 219
228 // The VertexAttribManager must be destroyed before the BufferManager 220 // The VertexAttribManager must be destroyed before the BufferManager
229 // so it releases its buffers. 221 // so it releases its buffers.
230 manager_ = NULL; 222 manager_ = NULL;
231 buffer_manager.Destroy(false); 223 buffer_manager.Destroy(false);
232 } 224 }
233 225
234 // TODO(gman): Test ValidateBindings
235 // TODO(gman): Test ValidateBindings with client side arrays.
236
237 } // namespace gles2 226 } // namespace gles2
238 } // namespace gpu 227 } // namespace gpu
239 228
240 229
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/vertex_attrib_manager.cc ('k') | gpu/command_buffer/tests/gl_stream_draw_unittests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698