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 |