| OLD | NEW |
| 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/mocks.h" | 8 #include "gpu/command_buffer/service/mocks.h" |
| 9 #include "gpu/command_buffer/service/test_helper.h" | 9 #include "gpu/command_buffer/service/test_helper.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 virtual void SetUp() { | 101 virtual void SetUp() { |
| 102 feature_info_ = new FeatureInfo(); | 102 feature_info_ = new FeatureInfo(); |
| 103 feature_info_->workarounds_.use_client_side_arrays_for_stream_buffers = | 103 feature_info_->workarounds_.use_client_side_arrays_for_stream_buffers = |
| 104 true; | 104 true; |
| 105 SetUpBase(NULL, feature_info_.get(), ""); | 105 SetUpBase(NULL, feature_info_.get(), ""); |
| 106 } | 106 } |
| 107 | 107 |
| 108 scoped_refptr<FeatureInfo> feature_info_; | 108 scoped_refptr<FeatureInfo> feature_info_; |
| 109 }; | 109 }; |
| 110 | 110 |
| 111 #define EXPECT_MEMORY_ALLOCATION_CHANGE(old_size, new_size, pool) \ | 111 #define EXPECT_MEMORY_ALLOCATION_CHANGE(old_size, new_size, pool) \ |
| 112 EXPECT_CALL(*mock_memory_tracker_, \ | 112 EXPECT_CALL(*mock_memory_tracker_.get(), \ |
| 113 TrackMemoryAllocatedChange(old_size, new_size, pool)) \ | 113 TrackMemoryAllocatedChange(old_size, new_size, pool)) \ |
| 114 .Times(1) \ | 114 .Times(1).RetiresOnSaturation() |
| 115 .RetiresOnSaturation() \ | |
| 116 | 115 |
| 117 TEST_F(BufferManagerTest, Basic) { | 116 TEST_F(BufferManagerTest, Basic) { |
| 118 const GLuint kClientBuffer1Id = 1; | 117 const GLuint kClientBuffer1Id = 1; |
| 119 const GLuint kServiceBuffer1Id = 11; | 118 const GLuint kServiceBuffer1Id = 11; |
| 120 const GLsizeiptr kBuffer1Size = 123; | 119 const GLsizeiptr kBuffer1Size = 123; |
| 121 const GLuint kClientBuffer2Id = 2; | 120 const GLuint kClientBuffer2Id = 2; |
| 122 // Check we can create buffer. | 121 // Check we can create buffer. |
| 123 manager_->CreateBuffer(kClientBuffer1Id, kServiceBuffer1Id); | 122 manager_->CreateBuffer(kClientBuffer1Id, kServiceBuffer1Id); |
| 124 // Check buffer got created. | 123 // Check buffer got created. |
| 125 Buffer* buffer1 = manager_->GetBuffer(kClientBuffer1Id); | 124 Buffer* buffer1 = manager_->GetBuffer(kClientBuffer1Id); |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 352 EXPECT_FALSE( | 351 EXPECT_FALSE( |
| 353 buffer->GetMaxValueForRange(40, 1, GL_UNSIGNED_INT, &max_value)); | 352 buffer->GetMaxValueForRange(40, 1, GL_UNSIGNED_INT, &max_value)); |
| 354 } | 353 } |
| 355 | 354 |
| 356 TEST_F(BufferManagerTest, UseDeletedBuffer) { | 355 TEST_F(BufferManagerTest, UseDeletedBuffer) { |
| 357 const GLuint kClientBufferId = 1; | 356 const GLuint kClientBufferId = 1; |
| 358 const GLuint kServiceBufferId = 11; | 357 const GLuint kServiceBufferId = 11; |
| 359 const uint32 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; | 358 const uint32 data[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; |
| 360 manager_->CreateBuffer(kClientBufferId, kServiceBufferId); | 359 manager_->CreateBuffer(kClientBufferId, kServiceBufferId); |
| 361 scoped_refptr<Buffer> buffer = manager_->GetBuffer(kClientBufferId); | 360 scoped_refptr<Buffer> buffer = manager_->GetBuffer(kClientBufferId); |
| 362 ASSERT_TRUE(buffer != NULL); | 361 ASSERT_TRUE(buffer.get() != NULL); |
| 363 manager_->SetTarget(buffer, GL_ARRAY_BUFFER); | 362 manager_->SetTarget(buffer.get(), GL_ARRAY_BUFFER); |
| 364 // Remove buffer | 363 // Remove buffer |
| 365 manager_->RemoveBuffer(kClientBufferId); | 364 manager_->RemoveBuffer(kClientBufferId); |
| 366 // Use it after removing | 365 // Use it after removing |
| 367 DoBufferData(buffer, sizeof(data), GL_STATIC_DRAW, NULL, GL_NO_ERROR); | 366 DoBufferData(buffer.get(), sizeof(data), GL_STATIC_DRAW, NULL, GL_NO_ERROR); |
| 368 // Check that it gets deleted when the last reference is released. | 367 // Check that it gets deleted when the last reference is released. |
| 369 EXPECT_CALL(*gl_, DeleteBuffersARB(1, ::testing::Pointee(kServiceBufferId))) | 368 EXPECT_CALL(*gl_, DeleteBuffersARB(1, ::testing::Pointee(kServiceBufferId))) |
| 370 .Times(1) | 369 .Times(1) |
| 371 .RetiresOnSaturation(); | 370 .RetiresOnSaturation(); |
| 372 buffer = NULL; | 371 buffer = NULL; |
| 373 } | 372 } |
| 374 | 373 |
| 375 // Test buffers get shadowed when they are supposed to be. | 374 // Test buffers get shadowed when they are supposed to be. |
| 376 TEST_F(BufferManagerClientSideArraysTest, StreamBuffersAreShadowed) { | 375 TEST_F(BufferManagerClientSideArraysTest, StreamBuffersAreShadowed) { |
| 377 const GLuint kClientBufferId = 1; | 376 const GLuint kClientBufferId = 1; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 418 DoBufferData(buffer, sizeof(data3), GL_STATIC_DRAW, data3, GL_NO_ERROR); | 417 DoBufferData(buffer, sizeof(data3), GL_STATIC_DRAW, data3, GL_NO_ERROR); |
| 419 EXPECT_TRUE( | 418 EXPECT_TRUE( |
| 420 buffer->GetMaxValueForRange(0, 3, GL_UNSIGNED_INT, &max_value)); | 419 buffer->GetMaxValueForRange(0, 3, GL_UNSIGNED_INT, &max_value)); |
| 421 EXPECT_EQ(30u, max_value); | 420 EXPECT_EQ(30u, max_value); |
| 422 } | 421 } |
| 423 | 422 |
| 424 } // namespace gles2 | 423 } // namespace gles2 |
| 425 } // namespace gpu | 424 } // namespace gpu |
| 426 | 425 |
| 427 | 426 |
| OLD | NEW |