| 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 QueryTracker. | 5 // Tests for the QueryTracker. |
| 6 | 6 |
| 7 #include "gpu/command_buffer/client/query_tracker.h" | 7 #include "gpu/command_buffer/client/query_tracker.h" |
| 8 | 8 |
| 9 #include <GLES2/gl2ext.h> | 9 #include <GLES2/gl2ext.h> |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 }; | 47 }; |
| 48 | 48 |
| 49 TEST_F(QuerySyncManagerTest, Basic) { | 49 TEST_F(QuerySyncManagerTest, Basic) { |
| 50 QuerySyncManager::QueryInfo infos[4]; | 50 QuerySyncManager::QueryInfo infos[4]; |
| 51 memset(&infos, 0xBD, sizeof(infos)); | 51 memset(&infos, 0xBD, sizeof(infos)); |
| 52 | 52 |
| 53 for (size_t ii = 0; ii < arraysize(infos); ++ii) { | 53 for (size_t ii = 0; ii < arraysize(infos); ++ii) { |
| 54 EXPECT_TRUE(sync_manager_->Alloc(&infos[ii])); | 54 EXPECT_TRUE(sync_manager_->Alloc(&infos[ii])); |
| 55 EXPECT_NE(0, infos[ii].shm_id); | 55 EXPECT_NE(0, infos[ii].shm_id); |
| 56 ASSERT_TRUE(infos[ii].sync != NULL); | 56 ASSERT_TRUE(infos[ii].sync != NULL); |
| 57 EXPECT_EQ(0u, infos[ii].sync->process_count); | 57 EXPECT_EQ(0, infos[ii].sync->process_count); |
| 58 EXPECT_EQ(0u, infos[ii].sync->result); | 58 EXPECT_EQ(0u, infos[ii].sync->result); |
| 59 } | 59 } |
| 60 | 60 |
| 61 for (size_t ii = 0; ii < arraysize(infos); ++ii) { | 61 for (size_t ii = 0; ii < arraysize(infos); ++ii) { |
| 62 sync_manager_->Free(infos[ii]); | 62 sync_manager_->Free(infos[ii]); |
| 63 } | 63 } |
| 64 } | 64 } |
| 65 | 65 |
| 66 TEST_F(QuerySyncManagerTest, DontFree) { | 66 TEST_F(QuerySyncManagerTest, DontFree) { |
| 67 QuerySyncManager::QueryInfo infos[4]; | 67 QuerySyncManager::QueryInfo infos[4]; |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 const int32 kToken = 46; | 131 const int32 kToken = 46; |
| 132 const uint32 kResult = 456; | 132 const uint32 kResult = 456; |
| 133 | 133 |
| 134 // Create a Query. | 134 // Create a Query. |
| 135 QueryTracker::Query* query = query_tracker_->CreateQuery( | 135 QueryTracker::Query* query = query_tracker_->CreateQuery( |
| 136 kId1, GL_ANY_SAMPLES_PASSED_EXT); | 136 kId1, GL_ANY_SAMPLES_PASSED_EXT); |
| 137 ASSERT_TRUE(query != NULL); | 137 ASSERT_TRUE(query != NULL); |
| 138 EXPECT_TRUE(query->NeverUsed()); | 138 EXPECT_TRUE(query->NeverUsed()); |
| 139 EXPECT_FALSE(query->Pending()); | 139 EXPECT_FALSE(query->Pending()); |
| 140 EXPECT_EQ(0, query->token()); | 140 EXPECT_EQ(0, query->token()); |
| 141 EXPECT_EQ(0u, query->submit_count()); | 141 EXPECT_EQ(0, query->submit_count()); |
| 142 | 142 |
| 143 // Check MarkAsActive. | 143 // Check MarkAsActive. |
| 144 query->MarkAsActive(); | 144 query->MarkAsActive(); |
| 145 EXPECT_FALSE(query->NeverUsed()); | 145 EXPECT_FALSE(query->NeverUsed()); |
| 146 EXPECT_FALSE(query->Pending()); | 146 EXPECT_FALSE(query->Pending()); |
| 147 EXPECT_EQ(0, query->token()); | 147 EXPECT_EQ(0, query->token()); |
| 148 EXPECT_EQ(1u, query->submit_count()); | 148 EXPECT_EQ(1, query->submit_count()); |
| 149 | 149 |
| 150 // Check MarkAsPending. | 150 // Check MarkAsPending. |
| 151 query->MarkAsPending(kToken); | 151 query->MarkAsPending(kToken); |
| 152 EXPECT_FALSE(query->NeverUsed()); | 152 EXPECT_FALSE(query->NeverUsed()); |
| 153 EXPECT_TRUE(query->Pending()); | 153 EXPECT_TRUE(query->Pending()); |
| 154 EXPECT_EQ(kToken, query->token()); | 154 EXPECT_EQ(kToken, query->token()); |
| 155 EXPECT_EQ(1u, query->submit_count()); | 155 EXPECT_EQ(1, query->submit_count()); |
| 156 | 156 |
| 157 // Check CheckResultsAvailable. | 157 // Check CheckResultsAvailable. |
| 158 EXPECT_FALSE(query->CheckResultsAvailable(helper_.get())); | 158 EXPECT_FALSE(query->CheckResultsAvailable(helper_.get())); |
| 159 EXPECT_FALSE(query->NeverUsed()); | 159 EXPECT_FALSE(query->NeverUsed()); |
| 160 EXPECT_TRUE(query->Pending()); | 160 EXPECT_TRUE(query->Pending()); |
| 161 | 161 |
| 162 // Simulate GPU process marking it as available. | 162 // Simulate GPU process marking it as available. |
| 163 QuerySync* sync = GetSync(query); | 163 QuerySync* sync = GetSync(query); |
| 164 sync->process_count = query->submit_count(); | 164 sync->process_count = query->submit_count(); |
| 165 sync->result = kResult; | 165 sync->result = kResult; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 201 | 201 |
| 202 // Check FreeCompletedQueries. | 202 // Check FreeCompletedQueries. |
| 203 query_tracker_->FreeCompletedQueries(); | 203 query_tracker_->FreeCompletedQueries(); |
| 204 EXPECT_EQ(0u, bucket->used_query_count); | 204 EXPECT_EQ(0u, bucket->used_query_count); |
| 205 } | 205 } |
| 206 | 206 |
| 207 } // namespace gles2 | 207 } // namespace gles2 |
| 208 } // namespace gpu | 208 } // namespace gpu |
| 209 | 209 |
| 210 | 210 |
| OLD | NEW |