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

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

Issue 754433003: Update from https://crrev.com/305340 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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 "gpu/command_buffer/service/buffer_manager.h" 5 #include "gpu/command_buffer/service/buffer_manager.h"
6 #include "gpu/command_buffer/service/error_state_mock.h" 6 #include "gpu/command_buffer/service/error_state_mock.h"
7 #include "gpu/command_buffer/service/feature_info.h" 7 #include "gpu/command_buffer/service/feature_info.h"
8 #include "gpu/command_buffer/service/gpu_service_test.h" 8 #include "gpu/command_buffer/service/gpu_service_test.h"
9 #include "gpu/command_buffer/service/mocks.h" 9 #include "gpu/command_buffer/service/mocks.h"
10 #include "gpu/command_buffer/service/test_helper.h" 10 #include "gpu/command_buffer/service/test_helper.h"
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 DoBufferData(buffer, 1, GL_STATIC_DRAW, NULL, GL_NO_ERROR); 203 DoBufferData(buffer, 1, GL_STATIC_DRAW, NULL, GL_NO_ERROR);
204 const int size = 0x20000; 204 const int size = 0x20000;
205 scoped_ptr<uint8[]> temp(new uint8[size]); 205 scoped_ptr<uint8[]> temp(new uint8[size]);
206 EXPECT_FALSE(DoBufferSubData(buffer, 0 - size, size, temp.get())); 206 EXPECT_FALSE(DoBufferSubData(buffer, 0 - size, size, temp.get()));
207 EXPECT_FALSE(DoBufferSubData(buffer, 1, size / 2, temp.get())); 207 EXPECT_FALSE(DoBufferSubData(buffer, 1, size / 2, temp.get()));
208 } 208 }
209 209
210 TEST_F(BufferManagerTest, GetRange) { 210 TEST_F(BufferManagerTest, GetRange) {
211 const GLuint kClientBufferId = 1; 211 const GLuint kClientBufferId = 1;
212 const GLuint kServiceBufferId = 11; 212 const GLuint kServiceBufferId = 11;
213 const uint8 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; 213 const GLsizeiptr kDataSize = 10;
214 manager_->CreateBuffer(kClientBufferId, kServiceBufferId); 214 manager_->CreateBuffer(kClientBufferId, kServiceBufferId);
215 Buffer* buffer = manager_->GetBuffer(kClientBufferId); 215 Buffer* buffer = manager_->GetBuffer(kClientBufferId);
216 ASSERT_TRUE(buffer != NULL); 216 ASSERT_TRUE(buffer != NULL);
217 manager_->SetTarget(buffer, GL_ELEMENT_ARRAY_BUFFER); 217 manager_->SetTarget(buffer, GL_ELEMENT_ARRAY_BUFFER);
218 DoBufferData(buffer, sizeof(data), GL_STATIC_DRAW, NULL, GL_NO_ERROR); 218 DoBufferData(buffer, kDataSize, GL_STATIC_DRAW, NULL, GL_NO_ERROR);
219 const char* buf = 219 const char* buf =
220 static_cast<const char*>(buffer->GetRange(0, sizeof(data))); 220 static_cast<const char*>(buffer->GetRange(0, kDataSize));
221 ASSERT_TRUE(buf != NULL); 221 ASSERT_TRUE(buf != NULL);
222 const char* buf1 = 222 const char* buf1 =
223 static_cast<const char*>(buffer->GetRange(1, sizeof(data) - 1)); 223 static_cast<const char*>(buffer->GetRange(1, kDataSize - 1));
224 EXPECT_EQ(buf + 1, buf1); 224 EXPECT_EQ(buf + 1, buf1);
225 EXPECT_TRUE(buffer->GetRange(sizeof(data), 1) == NULL); 225 EXPECT_TRUE(buffer->GetRange(kDataSize, 1) == NULL);
226 EXPECT_TRUE(buffer->GetRange(0, sizeof(data) + 1) == NULL); 226 EXPECT_TRUE(buffer->GetRange(0, kDataSize + 1) == NULL);
227 EXPECT_TRUE(buffer->GetRange(-1, sizeof(data)) == NULL); 227 EXPECT_TRUE(buffer->GetRange(-1, kDataSize) == NULL);
228 EXPECT_TRUE(buffer->GetRange(-0, -1) == NULL); 228 EXPECT_TRUE(buffer->GetRange(-0, -1) == NULL);
229 const int size = 0x20000; 229 const int size = 0x20000;
230 DoBufferData(buffer, size / 2, GL_STATIC_DRAW, NULL, GL_NO_ERROR); 230 DoBufferData(buffer, size / 2, GL_STATIC_DRAW, NULL, GL_NO_ERROR);
231 EXPECT_TRUE(buffer->GetRange(0 - size, size) == NULL); 231 EXPECT_TRUE(buffer->GetRange(0 - size, size) == NULL);
232 EXPECT_TRUE(buffer->GetRange(1, size / 2) == NULL); 232 EXPECT_TRUE(buffer->GetRange(1, size / 2) == NULL);
233 } 233 }
234 234
235 TEST_F(BufferManagerTest, GetMaxValueForRangeUint8) { 235 TEST_F(BufferManagerTest, GetMaxValueForRangeUint8) {
236 const GLuint kClientBufferId = 1; 236 const GLuint kClientBufferId = 1;
237 const GLuint kServiceBufferId = 11; 237 const GLuint kServiceBufferId = 11;
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 // Check out of range fails. 343 // Check out of range fails.
344 EXPECT_FALSE( 344 EXPECT_FALSE(
345 buffer->GetMaxValueForRange(0, 11, GL_UNSIGNED_INT, &max_value)); 345 buffer->GetMaxValueForRange(0, 11, GL_UNSIGNED_INT, &max_value));
346 EXPECT_FALSE( 346 EXPECT_FALSE(
347 buffer->GetMaxValueForRange(40, 1, GL_UNSIGNED_INT, &max_value)); 347 buffer->GetMaxValueForRange(40, 1, GL_UNSIGNED_INT, &max_value));
348 } 348 }
349 349
350 TEST_F(BufferManagerTest, UseDeletedBuffer) { 350 TEST_F(BufferManagerTest, UseDeletedBuffer) {
351 const GLuint kClientBufferId = 1; 351 const GLuint kClientBufferId = 1;
352 const GLuint kServiceBufferId = 11; 352 const GLuint kServiceBufferId = 11;
353 const uint32 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; 353 const GLsizeiptr kDataSize = 10;
354 manager_->CreateBuffer(kClientBufferId, kServiceBufferId); 354 manager_->CreateBuffer(kClientBufferId, kServiceBufferId);
355 scoped_refptr<Buffer> buffer = manager_->GetBuffer(kClientBufferId); 355 scoped_refptr<Buffer> buffer = manager_->GetBuffer(kClientBufferId);
356 ASSERT_TRUE(buffer.get() != NULL); 356 ASSERT_TRUE(buffer.get() != NULL);
357 manager_->SetTarget(buffer.get(), GL_ARRAY_BUFFER); 357 manager_->SetTarget(buffer.get(), GL_ARRAY_BUFFER);
358 // Remove buffer 358 // Remove buffer
359 manager_->RemoveBuffer(kClientBufferId); 359 manager_->RemoveBuffer(kClientBufferId);
360 // Use it after removing 360 // Use it after removing
361 DoBufferData(buffer.get(), sizeof(data), GL_STATIC_DRAW, NULL, GL_NO_ERROR); 361 DoBufferData(buffer.get(), kDataSize, GL_STATIC_DRAW, NULL, GL_NO_ERROR);
362 // Check that it gets deleted when the last reference is released. 362 // Check that it gets deleted when the last reference is released.
363 EXPECT_CALL(*gl_, DeleteBuffersARB(1, ::testing::Pointee(kServiceBufferId))) 363 EXPECT_CALL(*gl_, DeleteBuffersARB(1, ::testing::Pointee(kServiceBufferId)))
364 .Times(1) 364 .Times(1)
365 .RetiresOnSaturation(); 365 .RetiresOnSaturation();
366 buffer = NULL; 366 buffer = NULL;
367 } 367 }
368 368
369 // Test buffers get shadowed when they are supposed to be. 369 // Test buffers get shadowed when they are supposed to be.
370 TEST_F(BufferManagerClientSideArraysTest, StreamBuffersAreShadowed) { 370 TEST_F(BufferManagerClientSideArraysTest, StreamBuffersAreShadowed) {
371 const GLuint kClientBufferId = 1; 371 const GLuint kClientBufferId = 1;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 DoBufferData(buffer, sizeof(data3), GL_STATIC_DRAW, data3, GL_NO_ERROR); 412 DoBufferData(buffer, sizeof(data3), GL_STATIC_DRAW, data3, GL_NO_ERROR);
413 EXPECT_TRUE( 413 EXPECT_TRUE(
414 buffer->GetMaxValueForRange(0, 3, GL_UNSIGNED_INT, &max_value)); 414 buffer->GetMaxValueForRange(0, 3, GL_UNSIGNED_INT, &max_value));
415 EXPECT_EQ(30u, max_value); 415 EXPECT_EQ(30u, max_value);
416 } 416 }
417 417
418 } // namespace gles2 418 } // namespace gles2
419 } // namespace gpu 419 } // namespace gpu
420 420
421 421
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698