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

Side by Side Diff: gpu/command_buffer/tests/gl_query_unittest.cc

Issue 732423002: Update from chromium https://crrev.com/304586 (Closed) Base URL: https://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
« no previous file with comments | « gpu/command_buffer/tests/gl_manager.cc ('k') | gpu/command_buffer_service.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <GLES2/gl2.h> 5 #include <GLES2/gl2.h>
6 #include <GLES2/gl2ext.h> 6 #include <GLES2/gl2ext.h>
7 #include <GLES2/gl2extchromium.h> 7 #include <GLES2/gl2extchromium.h>
8 8
9 #include "base/threading/platform_thread.h" 9 #include "base/threading/platform_thread.h"
10 #include "gpu/command_buffer/tests/gl_manager.h" 10 #include "gpu/command_buffer/tests/gl_manager.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 56
57 available = 0; 57 available = 0;
58 result = 0; 58 result = 0;
59 glGetQueryObjectuivEXT(commands_issue_query, 59 glGetQueryObjectuivEXT(commands_issue_query,
60 GL_QUERY_RESULT_AVAILABLE_EXT, 60 GL_QUERY_RESULT_AVAILABLE_EXT,
61 &available); 61 &available);
62 EXPECT_TRUE(available); 62 EXPECT_TRUE(available);
63 glGetQueryObjectuivEXT(commands_issue_query, GL_QUERY_RESULT_EXT, &result); 63 glGetQueryObjectuivEXT(commands_issue_query, GL_QUERY_RESULT_EXT, &result);
64 // Sanity check - the resulting delta is shorter than the time it took to 64 // Sanity check - the resulting delta is shorter than the time it took to
65 // run this test. 65 // run this test.
66 EXPECT_LT(result, base::TimeDelta(after - before).InMicroseconds()); 66 EXPECT_LE(result, base::TimeDelta(after - before).InMicroseconds());
67 67
68 result = 0; 68 result = 0;
69 available = 0; 69 available = 0;
70 glGetQueryObjectuivEXT(error_query, 70 glGetQueryObjectuivEXT(error_query,
71 GL_QUERY_RESULT_AVAILABLE_EXT, 71 GL_QUERY_RESULT_AVAILABLE_EXT,
72 &available); 72 &available);
73 EXPECT_TRUE(available); 73 EXPECT_TRUE(available);
74 glGetQueryObjectuivEXT(error_query, GL_QUERY_RESULT_EXT, &result); 74 glGetQueryObjectuivEXT(error_query, GL_QUERY_RESULT_EXT, &result);
75 EXPECT_EQ(static_cast<uint32>(GL_INVALID_ENUM), result); 75 EXPECT_EQ(static_cast<uint32>(GL_INVALID_ENUM), result);
76 } 76 }
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 145
146 EXPECT_LE(query_result, kTimePrecisionMicroseconds); 146 EXPECT_LE(query_result, kTimePrecisionMicroseconds);
147 } 147 }
148 148
149 TEST_F(QueryTest, CommandsCompleted) { 149 TEST_F(QueryTest, CommandsCompleted) {
150 if (!GLTestHelper::HasExtension("GL_CHROMIUM_sync_query")) { 150 if (!GLTestHelper::HasExtension("GL_CHROMIUM_sync_query")) {
151 LOG(INFO) << "GL_CHROMIUM_sync_query not supported. Skipping test..."; 151 LOG(INFO) << "GL_CHROMIUM_sync_query not supported. Skipping test...";
152 return; 152 return;
153 } 153 }
154 154
155 base::TimeTicks before = base::TimeTicks::HighResNow();
156
155 GLuint query; 157 GLuint query;
156 glGenQueriesEXT(1, &query); 158 glGenQueriesEXT(1, &query);
157 glBeginQueryEXT(GL_COMMANDS_COMPLETED_CHROMIUM, query); 159 glBeginQueryEXT(GL_COMMANDS_COMPLETED_CHROMIUM, query);
158 glClearColor(0.0, 0.0, 1.0, 1.0); 160 glClearColor(0.0, 0.0, 1.0, 1.0);
159 glClear(GL_COLOR_BUFFER_BIT); 161 glClear(GL_COLOR_BUFFER_BIT);
160 glEndQueryEXT(GL_COMMANDS_COMPLETED_CHROMIUM); 162 glEndQueryEXT(GL_COMMANDS_COMPLETED_CHROMIUM);
161 glFlush(); 163 glFlush();
162 GLuint result = 0; 164 GLuint result = 0;
163 glGetQueryObjectuivEXT(query, GL_QUERY_RESULT_EXT, &result); 165 glGetQueryObjectuivEXT(query, GL_QUERY_RESULT_EXT, &result);
164 EXPECT_EQ(0u, result); 166
167 base::TimeTicks after = base::TimeTicks::HighResNow();
168 // Sanity check - the resulting delta is shorter than the time it took to
169 // run this test.
170 EXPECT_LE(result, base::TimeDelta(after - before).InMicroseconds());
171
165 glDeleteQueriesEXT(1, &query); 172 glDeleteQueriesEXT(1, &query);
166 GLTestHelper::CheckGLError("no errors", __LINE__); 173 GLTestHelper::CheckGLError("no errors", __LINE__);
167 } 174 }
168 175
169 TEST_F(QueryTest, CommandsCompletedWithFinish) { 176 TEST_F(QueryTest, CommandsCompletedWithFinish) {
170 if (!GLTestHelper::HasExtension("GL_CHROMIUM_sync_query")) { 177 if (!GLTestHelper::HasExtension("GL_CHROMIUM_sync_query")) {
171 LOG(INFO) << "GL_CHROMIUM_sync_query not supported. Skipping test..."; 178 LOG(INFO) << "GL_CHROMIUM_sync_query not supported. Skipping test...";
172 return; 179 return;
173 } 180 }
174 181
175 GLuint query; 182 GLuint query;
176 glGenQueriesEXT(1, &query); 183 glGenQueriesEXT(1, &query);
177 glBeginQueryEXT(GL_COMMANDS_COMPLETED_CHROMIUM, query); 184 glBeginQueryEXT(GL_COMMANDS_COMPLETED_CHROMIUM, query);
178 glClearColor(0.0, 0.0, 1.0, 1.0); 185 glClearColor(0.0, 0.0, 1.0, 1.0);
179 glClear(GL_COLOR_BUFFER_BIT); 186 glClear(GL_COLOR_BUFFER_BIT);
180 glEndQueryEXT(GL_COMMANDS_COMPLETED_CHROMIUM); 187 glEndQueryEXT(GL_COMMANDS_COMPLETED_CHROMIUM);
181 glFinish(); 188 glFinish();
182 GLuint result = 0; 189 GLuint result = 0;
183 glGetQueryObjectuivEXT(query, GL_QUERY_RESULT_AVAILABLE_EXT, &result); 190 glGetQueryObjectuivEXT(query, GL_QUERY_RESULT_AVAILABLE_EXT, &result);
184 EXPECT_EQ(1u, result); 191 EXPECT_EQ(1u, result);
185 glDeleteQueriesEXT(1, &query); 192 glDeleteQueriesEXT(1, &query);
186 GLTestHelper::CheckGLError("no errors", __LINE__); 193 GLTestHelper::CheckGLError("no errors", __LINE__);
187 } 194 }
188 195
189 } // namespace gpu 196 } // namespace gpu
190 197
191 198
OLDNEW
« no previous file with comments | « gpu/command_buffer/tests/gl_manager.cc ('k') | gpu/command_buffer_service.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698