| 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 // Tests for the Command Buffer Helper. | 5 // Tests for the Command Buffer Helper. |
| 6 | 6 |
| 7 #include "gpu/command_buffer/client/transfer_buffer.h" | 7 #include "gpu/command_buffer/client/transfer_buffer.h" |
| 8 | 8 |
| 9 #include <stddef.h> | 9 #include <stddef.h> |
| 10 #include <stdint.h> | 10 #include <stdint.h> |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 const size_t TransferBufferTest::kTransferBufferSize; | 99 const size_t TransferBufferTest::kTransferBufferSize; |
| 100 #endif | 100 #endif |
| 101 | 101 |
| 102 TEST_F(TransferBufferTest, Basic) { | 102 TEST_F(TransferBufferTest, Basic) { |
| 103 Initialize(0); | 103 Initialize(0); |
| 104 EXPECT_TRUE(transfer_buffer_->HaveBuffer()); | 104 EXPECT_TRUE(transfer_buffer_->HaveBuffer()); |
| 105 EXPECT_EQ(transfer_buffer_id_, transfer_buffer_->GetShmId()); | 105 EXPECT_EQ(transfer_buffer_id_, transfer_buffer_->GetShmId()); |
| 106 EXPECT_EQ( | 106 EXPECT_EQ( |
| 107 kTransferBufferSize - kStartingOffset, | 107 kTransferBufferSize - kStartingOffset, |
| 108 transfer_buffer_->GetCurrentMaxAllocationWithoutRealloc()); | 108 transfer_buffer_->GetCurrentMaxAllocationWithoutRealloc()); |
| 109 EXPECT_NE(base::UnguessableToken(), |
| 110 transfer_buffer_->shared_memory_handle().GetGUID()); |
| 109 } | 111 } |
| 110 | 112 |
| 111 TEST_F(TransferBufferTest, Free) { | 113 TEST_F(TransferBufferTest, Free) { |
| 112 Initialize(0); | 114 Initialize(0); |
| 113 EXPECT_TRUE(transfer_buffer_->HaveBuffer()); | 115 EXPECT_TRUE(transfer_buffer_->HaveBuffer()); |
| 114 EXPECT_EQ(transfer_buffer_id_, transfer_buffer_->GetShmId()); | 116 EXPECT_EQ(transfer_buffer_id_, transfer_buffer_->GetShmId()); |
| 117 EXPECT_NE(base::UnguessableToken(), |
| 118 transfer_buffer_->shared_memory_handle().GetGUID()); |
| 115 | 119 |
| 116 // Free buffer. | 120 // Free buffer. |
| 117 EXPECT_CALL(*command_buffer(), DestroyTransferBuffer(_)) | 121 EXPECT_CALL(*command_buffer(), DestroyTransferBuffer(_)) |
| 118 .Times(1) | 122 .Times(1) |
| 119 .RetiresOnSaturation(); | 123 .RetiresOnSaturation(); |
| 120 transfer_buffer_->Free(); | 124 transfer_buffer_->Free(); |
| 121 // See it's freed. | 125 // See it's freed. |
| 122 EXPECT_FALSE(transfer_buffer_->HaveBuffer()); | 126 EXPECT_FALSE(transfer_buffer_->HaveBuffer()); |
| 127 EXPECT_EQ(base::UnguessableToken(), |
| 128 transfer_buffer_->shared_memory_handle().GetGUID()); |
| 123 // See that it gets reallocated. | 129 // See that it gets reallocated. |
| 124 EXPECT_EQ(transfer_buffer_id_, transfer_buffer_->GetShmId()); | 130 EXPECT_EQ(transfer_buffer_id_, transfer_buffer_->GetShmId()); |
| 125 EXPECT_TRUE(transfer_buffer_->HaveBuffer()); | 131 EXPECT_TRUE(transfer_buffer_->HaveBuffer()); |
| 132 EXPECT_NE(base::UnguessableToken(), |
| 133 transfer_buffer_->shared_memory_handle().GetGUID()); |
| 126 | 134 |
| 127 // Free buffer. | 135 // Free buffer. |
| 128 EXPECT_CALL(*command_buffer(), DestroyTransferBuffer(_)) | 136 EXPECT_CALL(*command_buffer(), DestroyTransferBuffer(_)) |
| 129 .Times(1) | 137 .Times(1) |
| 130 .RetiresOnSaturation(); | 138 .RetiresOnSaturation(); |
| 131 transfer_buffer_->Free(); | 139 transfer_buffer_->Free(); |
| 132 // See it's freed. | 140 // See it's freed. |
| 133 EXPECT_FALSE(transfer_buffer_->HaveBuffer()); | 141 EXPECT_FALSE(transfer_buffer_->HaveBuffer()); |
| 142 EXPECT_EQ(base::UnguessableToken(), |
| 143 transfer_buffer_->shared_memory_handle().GetGUID()); |
| 134 // See that it gets reallocated. | 144 // See that it gets reallocated. |
| 135 EXPECT_TRUE(transfer_buffer_->GetResultBuffer() != NULL); | 145 EXPECT_TRUE(transfer_buffer_->GetResultBuffer() != NULL); |
| 136 EXPECT_TRUE(transfer_buffer_->HaveBuffer()); | 146 EXPECT_TRUE(transfer_buffer_->HaveBuffer()); |
| 147 EXPECT_NE(base::UnguessableToken(), |
| 148 transfer_buffer_->shared_memory_handle().GetGUID()); |
| 137 | 149 |
| 138 // Free buffer. | 150 // Free buffer. |
| 139 EXPECT_CALL(*command_buffer(), DestroyTransferBuffer(_)) | 151 EXPECT_CALL(*command_buffer(), DestroyTransferBuffer(_)) |
| 140 .Times(1) | 152 .Times(1) |
| 141 .RetiresOnSaturation(); | 153 .RetiresOnSaturation(); |
| 142 transfer_buffer_->Free(); | 154 transfer_buffer_->Free(); |
| 143 // See it's freed. | 155 // See it's freed. |
| 144 EXPECT_FALSE(transfer_buffer_->HaveBuffer()); | 156 EXPECT_FALSE(transfer_buffer_->HaveBuffer()); |
| 157 EXPECT_EQ(base::UnguessableToken(), |
| 158 transfer_buffer_->shared_memory_handle().GetGUID()); |
| 145 // See that it gets reallocated. | 159 // See that it gets reallocated. |
| 146 unsigned int size = 0; | 160 unsigned int size = 0; |
| 147 void* data = transfer_buffer_->AllocUpTo(1, &size); | 161 void* data = transfer_buffer_->AllocUpTo(1, &size); |
| 148 EXPECT_TRUE(data != NULL); | 162 EXPECT_TRUE(data != NULL); |
| 149 EXPECT_TRUE(transfer_buffer_->HaveBuffer()); | 163 EXPECT_TRUE(transfer_buffer_->HaveBuffer()); |
| 164 EXPECT_NE(base::UnguessableToken(), |
| 165 transfer_buffer_->shared_memory_handle().GetGUID()); |
| 150 transfer_buffer_->FreePendingToken(data, 1); | 166 transfer_buffer_->FreePendingToken(data, 1); |
| 151 | 167 |
| 152 // Free buffer. | 168 // Free buffer. |
| 153 EXPECT_CALL(*command_buffer(), DestroyTransferBuffer(_)) | 169 EXPECT_CALL(*command_buffer(), DestroyTransferBuffer(_)) |
| 154 .Times(1) | 170 .Times(1) |
| 155 .RetiresOnSaturation(); | 171 .RetiresOnSaturation(); |
| 156 transfer_buffer_->Free(); | 172 transfer_buffer_->Free(); |
| 157 // See it's freed. | 173 // See it's freed. |
| 158 EXPECT_FALSE(transfer_buffer_->HaveBuffer()); | 174 EXPECT_FALSE(transfer_buffer_->HaveBuffer()); |
| 175 EXPECT_EQ(base::UnguessableToken(), |
| 176 transfer_buffer_->shared_memory_handle().GetGUID()); |
| 159 // See that it gets reallocated. | 177 // See that it gets reallocated. |
| 160 transfer_buffer_->GetResultOffset(); | 178 transfer_buffer_->GetResultOffset(); |
| 161 EXPECT_TRUE(transfer_buffer_->HaveBuffer()); | 179 EXPECT_TRUE(transfer_buffer_->HaveBuffer()); |
| 180 EXPECT_NE(base::UnguessableToken(), |
| 181 transfer_buffer_->shared_memory_handle().GetGUID()); |
| 162 | 182 |
| 163 EXPECT_EQ( | 183 EXPECT_EQ( |
| 164 kTransferBufferSize - kStartingOffset, | 184 kTransferBufferSize - kStartingOffset, |
| 165 transfer_buffer_->GetCurrentMaxAllocationWithoutRealloc()); | 185 transfer_buffer_->GetCurrentMaxAllocationWithoutRealloc()); |
| 166 | 186 |
| 167 // Test freeing twice. | 187 // Test freeing twice. |
| 168 EXPECT_CALL(*command_buffer(), DestroyTransferBuffer(_)) | 188 EXPECT_CALL(*command_buffer(), DestroyTransferBuffer(_)) |
| 169 .Times(1) | 189 .Times(1) |
| 170 .RetiresOnSaturation(); | 190 .RetiresOnSaturation(); |
| 171 transfer_buffer_->Free(); | 191 transfer_buffer_->Free(); |
| (...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 479 EXPECT_EQ(transfer_buffer_id_, transfer_buffer_->GetShmId()); | 499 EXPECT_EQ(transfer_buffer_id_, transfer_buffer_->GetShmId()); |
| 480 EXPECT_TRUE(transfer_buffer_->HaveBuffer()); | 500 EXPECT_TRUE(transfer_buffer_->HaveBuffer()); |
| 481 | 501 |
| 482 // Check it's the default size. | 502 // Check it's the default size. |
| 483 EXPECT_EQ( | 503 EXPECT_EQ( |
| 484 kStartTransferBufferSize - kStartingOffset, | 504 kStartTransferBufferSize - kStartingOffset, |
| 485 transfer_buffer_->GetCurrentMaxAllocationWithoutRealloc()); | 505 transfer_buffer_->GetCurrentMaxAllocationWithoutRealloc()); |
| 486 } | 506 } |
| 487 | 507 |
| 488 } // namespace gpu | 508 } // namespace gpu |
| 489 | |
| 490 | |
| OLD | NEW |