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

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

Issue 1542513002: Switch to standard integer types in gpu/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 4 years, 12 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
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 <stddef.h>
6 #include <stdint.h>
7
5 #include "gpu/command_buffer/service/buffer_manager.h" 8 #include "gpu/command_buffer/service/buffer_manager.h"
6 #include "gpu/command_buffer/service/error_state_mock.h" 9 #include "gpu/command_buffer/service/error_state_mock.h"
7 #include "gpu/command_buffer/service/feature_info.h" 10 #include "gpu/command_buffer/service/feature_info.h"
8 #include "gpu/command_buffer/service/gpu_service_test.h" 11 #include "gpu/command_buffer/service/gpu_service_test.h"
9 #include "gpu/command_buffer/service/mocks.h" 12 #include "gpu/command_buffer/service/mocks.h"
10 #include "gpu/command_buffer/service/test_helper.h" 13 #include "gpu/command_buffer/service/test_helper.h"
11 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
12 #include "ui/gl/gl_mock.h" 15 #include "ui/gl/gl_mock.h"
13 16
14 using ::testing::_; 17 using ::testing::_;
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 manager_->Destroy(true); 189 manager_->Destroy(true);
187 // Check the resources were released. 190 // Check the resources were released.
188 buffer1 = manager_->GetBuffer(kClient1Id); 191 buffer1 = manager_->GetBuffer(kClient1Id);
189 ASSERT_TRUE(buffer1 == NULL); 192 ASSERT_TRUE(buffer1 == NULL);
190 } 193 }
191 194
192 TEST_F(BufferManagerTest, DoBufferSubData) { 195 TEST_F(BufferManagerTest, DoBufferSubData) {
193 const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER; 196 const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER;
194 const GLuint kClientBufferId = 1; 197 const GLuint kClientBufferId = 1;
195 const GLuint kServiceBufferId = 11; 198 const GLuint kServiceBufferId = 11;
196 const uint8 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; 199 const uint8_t data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
197 manager_->CreateBuffer(kClientBufferId, kServiceBufferId); 200 manager_->CreateBuffer(kClientBufferId, kServiceBufferId);
198 Buffer* buffer = manager_->GetBuffer(kClientBufferId); 201 Buffer* buffer = manager_->GetBuffer(kClientBufferId);
199 ASSERT_TRUE(buffer != NULL); 202 ASSERT_TRUE(buffer != NULL);
200 manager_->SetTarget(buffer, kTarget); 203 manager_->SetTarget(buffer, kTarget);
201 DoBufferData( 204 DoBufferData(
202 buffer, kTarget, sizeof(data), GL_STATIC_DRAW, NULL, GL_NO_ERROR); 205 buffer, kTarget, sizeof(data), GL_STATIC_DRAW, NULL, GL_NO_ERROR);
203 EXPECT_TRUE(DoBufferSubData(buffer, kTarget, 0, sizeof(data), data)); 206 EXPECT_TRUE(DoBufferSubData(buffer, kTarget, 0, sizeof(data), data));
204 EXPECT_TRUE(DoBufferSubData(buffer, kTarget, sizeof(data), 0, data)); 207 EXPECT_TRUE(DoBufferSubData(buffer, kTarget, sizeof(data), 0, data));
205 EXPECT_FALSE(DoBufferSubData(buffer, kTarget, sizeof(data), 1, data)); 208 EXPECT_FALSE(DoBufferSubData(buffer, kTarget, sizeof(data), 1, data));
206 EXPECT_FALSE(DoBufferSubData(buffer, kTarget, 0, sizeof(data) + 1, data)); 209 EXPECT_FALSE(DoBufferSubData(buffer, kTarget, 0, sizeof(data) + 1, data));
207 EXPECT_FALSE(DoBufferSubData(buffer, kTarget, -1, sizeof(data), data)); 210 EXPECT_FALSE(DoBufferSubData(buffer, kTarget, -1, sizeof(data), data));
208 EXPECT_FALSE(DoBufferSubData(buffer, kTarget, 0, -1, data)); 211 EXPECT_FALSE(DoBufferSubData(buffer, kTarget, 0, -1, data));
209 DoBufferData(buffer, kTarget, 1, GL_STATIC_DRAW, NULL, GL_NO_ERROR); 212 DoBufferData(buffer, kTarget, 1, GL_STATIC_DRAW, NULL, GL_NO_ERROR);
210 const int size = 0x20000; 213 const int size = 0x20000;
211 scoped_ptr<uint8[]> temp(new uint8[size]); 214 scoped_ptr<uint8_t[]> temp(new uint8_t[size]);
212 EXPECT_FALSE(DoBufferSubData(buffer, kTarget, 0 - size, size, temp.get())); 215 EXPECT_FALSE(DoBufferSubData(buffer, kTarget, 0 - size, size, temp.get()));
213 EXPECT_FALSE(DoBufferSubData(buffer, kTarget, 1, size / 2, temp.get())); 216 EXPECT_FALSE(DoBufferSubData(buffer, kTarget, 1, size / 2, temp.get()));
214 } 217 }
215 218
216 TEST_F(BufferManagerTest, GetRange) { 219 TEST_F(BufferManagerTest, GetRange) {
217 const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER; 220 const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER;
218 const GLuint kClientBufferId = 1; 221 const GLuint kClientBufferId = 1;
219 const GLuint kServiceBufferId = 11; 222 const GLuint kServiceBufferId = 11;
220 const GLsizeiptr kDataSize = 10; 223 const GLsizeiptr kDataSize = 10;
221 manager_->CreateBuffer(kClientBufferId, kServiceBufferId); 224 manager_->CreateBuffer(kClientBufferId, kServiceBufferId);
(...skipping 14 matching lines...) Expand all
236 const int size = 0x20000; 239 const int size = 0x20000;
237 DoBufferData(buffer, kTarget, size / 2, GL_STATIC_DRAW, NULL, GL_NO_ERROR); 240 DoBufferData(buffer, kTarget, size / 2, GL_STATIC_DRAW, NULL, GL_NO_ERROR);
238 EXPECT_TRUE(buffer->GetRange(0 - size, size) == NULL); 241 EXPECT_TRUE(buffer->GetRange(0 - size, size) == NULL);
239 EXPECT_TRUE(buffer->GetRange(1, size / 2) == NULL); 242 EXPECT_TRUE(buffer->GetRange(1, size / 2) == NULL);
240 } 243 }
241 244
242 TEST_F(BufferManagerTest, GetMaxValueForRangeUint8) { 245 TEST_F(BufferManagerTest, GetMaxValueForRangeUint8) {
243 const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER; 246 const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER;
244 const GLuint kClientBufferId = 1; 247 const GLuint kClientBufferId = 1;
245 const GLuint kServiceBufferId = 11; 248 const GLuint kServiceBufferId = 11;
246 const uint8 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; 249 const uint8_t data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
247 const uint8 new_data[] = {100, 120, 110}; 250 const uint8_t new_data[] = {100, 120, 110};
248 manager_->CreateBuffer(kClientBufferId, kServiceBufferId); 251 manager_->CreateBuffer(kClientBufferId, kServiceBufferId);
249 Buffer* buffer = manager_->GetBuffer(kClientBufferId); 252 Buffer* buffer = manager_->GetBuffer(kClientBufferId);
250 ASSERT_TRUE(buffer != NULL); 253 ASSERT_TRUE(buffer != NULL);
251 manager_->SetTarget(buffer, kTarget); 254 manager_->SetTarget(buffer, kTarget);
252 DoBufferData( 255 DoBufferData(
253 buffer, kTarget, sizeof(data), GL_STATIC_DRAW, NULL, GL_NO_ERROR); 256 buffer, kTarget, sizeof(data), GL_STATIC_DRAW, NULL, GL_NO_ERROR);
254 EXPECT_TRUE(DoBufferSubData(buffer, kTarget, 0, sizeof(data), data)); 257 EXPECT_TRUE(DoBufferSubData(buffer, kTarget, 0, sizeof(data), data));
255 GLuint max_value; 258 GLuint max_value;
256 // Check entire range succeeds. 259 // Check entire range succeeds.
257 EXPECT_TRUE(buffer->GetMaxValueForRange( 260 EXPECT_TRUE(buffer->GetMaxValueForRange(
(...skipping 16 matching lines...) Expand all
274 EXPECT_FALSE(buffer->GetMaxValueForRange( 277 EXPECT_FALSE(buffer->GetMaxValueForRange(
275 0, 11, GL_UNSIGNED_BYTE, &max_value)); 278 0, 11, GL_UNSIGNED_BYTE, &max_value));
276 EXPECT_FALSE(buffer->GetMaxValueForRange( 279 EXPECT_FALSE(buffer->GetMaxValueForRange(
277 10, 1, GL_UNSIGNED_BYTE, &max_value)); 280 10, 1, GL_UNSIGNED_BYTE, &max_value));
278 } 281 }
279 282
280 TEST_F(BufferManagerTest, GetMaxValueForRangeUint16) { 283 TEST_F(BufferManagerTest, GetMaxValueForRangeUint16) {
281 const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER; 284 const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER;
282 const GLuint kClientBufferId = 1; 285 const GLuint kClientBufferId = 1;
283 const GLuint kServiceBufferId = 11; 286 const GLuint kServiceBufferId = 11;
284 const uint16 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; 287 const uint16_t data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
285 const uint16 new_data[] = {100, 120, 110}; 288 const uint16_t new_data[] = {100, 120, 110};
286 manager_->CreateBuffer(kClientBufferId, kServiceBufferId); 289 manager_->CreateBuffer(kClientBufferId, kServiceBufferId);
287 Buffer* buffer = manager_->GetBuffer(kClientBufferId); 290 Buffer* buffer = manager_->GetBuffer(kClientBufferId);
288 ASSERT_TRUE(buffer != NULL); 291 ASSERT_TRUE(buffer != NULL);
289 manager_->SetTarget(buffer, kTarget); 292 manager_->SetTarget(buffer, kTarget);
290 DoBufferData( 293 DoBufferData(
291 buffer, kTarget, sizeof(data), GL_STATIC_DRAW, NULL, GL_NO_ERROR); 294 buffer, kTarget, sizeof(data), GL_STATIC_DRAW, NULL, GL_NO_ERROR);
292 EXPECT_TRUE(DoBufferSubData(buffer, kTarget, 0, sizeof(data), data)); 295 EXPECT_TRUE(DoBufferSubData(buffer, kTarget, 0, sizeof(data), data));
293 GLuint max_value; 296 GLuint max_value;
294 // Check entire range succeeds. 297 // Check entire range succeeds.
295 EXPECT_TRUE(buffer->GetMaxValueForRange( 298 EXPECT_TRUE(buffer->GetMaxValueForRange(
(...skipping 19 matching lines...) Expand all
315 EXPECT_FALSE(buffer->GetMaxValueForRange( 318 EXPECT_FALSE(buffer->GetMaxValueForRange(
316 0, 11, GL_UNSIGNED_SHORT, &max_value)); 319 0, 11, GL_UNSIGNED_SHORT, &max_value));
317 EXPECT_FALSE(buffer->GetMaxValueForRange( 320 EXPECT_FALSE(buffer->GetMaxValueForRange(
318 20, 1, GL_UNSIGNED_SHORT, &max_value)); 321 20, 1, GL_UNSIGNED_SHORT, &max_value));
319 } 322 }
320 323
321 TEST_F(BufferManagerTest, GetMaxValueForRangeUint32) { 324 TEST_F(BufferManagerTest, GetMaxValueForRangeUint32) {
322 const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER; 325 const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER;
323 const GLuint kClientBufferId = 1; 326 const GLuint kClientBufferId = 1;
324 const GLuint kServiceBufferId = 11; 327 const GLuint kServiceBufferId = 11;
325 const uint32 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; 328 const uint32_t data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
326 const uint32 new_data[] = {100, 120, 110}; 329 const uint32_t new_data[] = {100, 120, 110};
327 manager_->CreateBuffer(kClientBufferId, kServiceBufferId); 330 manager_->CreateBuffer(kClientBufferId, kServiceBufferId);
328 Buffer* buffer = manager_->GetBuffer(kClientBufferId); 331 Buffer* buffer = manager_->GetBuffer(kClientBufferId);
329 ASSERT_TRUE(buffer != NULL); 332 ASSERT_TRUE(buffer != NULL);
330 manager_->SetTarget(buffer, kTarget); 333 manager_->SetTarget(buffer, kTarget);
331 DoBufferData( 334 DoBufferData(
332 buffer, kTarget, sizeof(data), GL_STATIC_DRAW, NULL, GL_NO_ERROR); 335 buffer, kTarget, sizeof(data), GL_STATIC_DRAW, NULL, GL_NO_ERROR);
333 EXPECT_TRUE(DoBufferSubData(buffer, kTarget, 0, sizeof(data), data)); 336 EXPECT_TRUE(DoBufferSubData(buffer, kTarget, 0, sizeof(data), data));
334 GLuint max_value; 337 GLuint max_value;
335 // Check entire range succeeds. 338 // Check entire range succeeds.
336 EXPECT_TRUE( 339 EXPECT_TRUE(
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 .Times(1) 382 .Times(1)
380 .RetiresOnSaturation(); 383 .RetiresOnSaturation();
381 buffer = NULL; 384 buffer = NULL;
382 } 385 }
383 386
384 // Test buffers get shadowed when they are supposed to be. 387 // Test buffers get shadowed when they are supposed to be.
385 TEST_F(BufferManagerClientSideArraysTest, StreamBuffersAreShadowed) { 388 TEST_F(BufferManagerClientSideArraysTest, StreamBuffersAreShadowed) {
386 const GLenum kTarget = GL_ARRAY_BUFFER; 389 const GLenum kTarget = GL_ARRAY_BUFFER;
387 const GLuint kClientBufferId = 1; 390 const GLuint kClientBufferId = 1;
388 const GLuint kServiceBufferId = 11; 391 const GLuint kServiceBufferId = 11;
389 static const uint32 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; 392 static const uint32_t data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
390 manager_->CreateBuffer(kClientBufferId, kServiceBufferId); 393 manager_->CreateBuffer(kClientBufferId, kServiceBufferId);
391 Buffer* buffer = manager_->GetBuffer(kClientBufferId); 394 Buffer* buffer = manager_->GetBuffer(kClientBufferId);
392 ASSERT_TRUE(buffer != NULL); 395 ASSERT_TRUE(buffer != NULL);
393 manager_->SetTarget(buffer, kTarget); 396 manager_->SetTarget(buffer, kTarget);
394 DoBufferData( 397 DoBufferData(
395 buffer, kTarget, sizeof(data), GL_STREAM_DRAW, data, GL_NO_ERROR); 398 buffer, kTarget, sizeof(data), GL_STREAM_DRAW, data, GL_NO_ERROR);
396 EXPECT_TRUE(buffer->IsClientSideArray()); 399 EXPECT_TRUE(buffer->IsClientSideArray());
397 EXPECT_EQ(0, memcmp(data, buffer->GetRange(0, sizeof(data)), sizeof(data))); 400 EXPECT_EQ(0, memcmp(data, buffer->GetRange(0, sizeof(data)), sizeof(data)));
398 DoBufferData( 401 DoBufferData(
399 buffer, kTarget, sizeof(data), GL_DYNAMIC_DRAW, data, GL_NO_ERROR); 402 buffer, kTarget, sizeof(data), GL_DYNAMIC_DRAW, data, GL_NO_ERROR);
400 EXPECT_FALSE(buffer->IsClientSideArray()); 403 EXPECT_FALSE(buffer->IsClientSideArray());
401 } 404 }
402 405
403 TEST_F(BufferManagerTest, MaxValueCacheClearedCorrectly) { 406 TEST_F(BufferManagerTest, MaxValueCacheClearedCorrectly) {
404 const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER; 407 const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER;
405 const GLuint kClientBufferId = 1; 408 const GLuint kClientBufferId = 1;
406 const GLuint kServiceBufferId = 11; 409 const GLuint kServiceBufferId = 11;
407 const uint32 data1[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; 410 const uint32_t data1[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
408 const uint32 data2[] = {11, 12, 13, 14, 15, 16, 17, 18, 19, 20}; 411 const uint32_t data2[] = {11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
409 const uint32 data3[] = {30, 29, 28}; 412 const uint32_t data3[] = {30, 29, 28};
410 manager_->CreateBuffer(kClientBufferId, kServiceBufferId); 413 manager_->CreateBuffer(kClientBufferId, kServiceBufferId);
411 Buffer* buffer = manager_->GetBuffer(kClientBufferId); 414 Buffer* buffer = manager_->GetBuffer(kClientBufferId);
412 ASSERT_TRUE(buffer != NULL); 415 ASSERT_TRUE(buffer != NULL);
413 manager_->SetTarget(buffer, kTarget); 416 manager_->SetTarget(buffer, kTarget);
414 GLuint max_value; 417 GLuint max_value;
415 // Load the buffer with some initial data, and then get the maximum value for 418 // Load the buffer with some initial data, and then get the maximum value for
416 // a range, which has the side effect of caching it. 419 // a range, which has the side effect of caching it.
417 DoBufferData( 420 DoBufferData(
418 buffer, kTarget, sizeof(data1), GL_STATIC_DRAW, data1, GL_NO_ERROR); 421 buffer, kTarget, sizeof(data1), GL_STATIC_DRAW, data1, GL_NO_ERROR);
419 EXPECT_TRUE( 422 EXPECT_TRUE(
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
508 EXPECT_TRUE(manager_->SetTarget(buffer, kTargets[jj])); 511 EXPECT_TRUE(manager_->SetTarget(buffer, kTargets[jj]));
509 } 512 }
510 } 513 }
511 } 514 }
512 } 515 }
513 516
514 } // namespace gles2 517 } // namespace gles2
515 } // namespace gpu 518 } // namespace gpu
516 519
517 520
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/buffer_manager.cc ('k') | gpu/command_buffer/service/cmd_buffer_engine.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698