Chromium Code Reviews| Index: gpu/command_buffer/tests/gl_query_unittests.cc |
| diff --git a/gpu/command_buffer/tests/gl_query_unittests.cc b/gpu/command_buffer/tests/gl_query_unittests.cc |
| index 4d1700d847c673a7b9ff55866d895b8fda36dd29..b2dcc6b831c617699935f6eae3e3bebadf32a6c5 100644 |
| --- a/gpu/command_buffer/tests/gl_query_unittests.cc |
| +++ b/gpu/command_buffer/tests/gl_query_unittests.cc |
| @@ -27,6 +27,50 @@ class QueryTest : public testing::Test { |
| GLManager gl_; |
| }; |
| +TEST_F(QueryTest, MultipleQueries) { |
| + EXPECT_TRUE(GLTestHelper::HasExtension("GL_CHROMIUM_get_error_query")); |
| + EXPECT_TRUE(GLTestHelper::HasExtension( |
| + "GL_CHROMIUM_command_buffer_latency_query")); |
| + |
| + GLuint error_query = 0; |
| + GLuint latency_query = 0; |
| + glGenQueriesEXT(1, &error_query); |
| + glGenQueriesEXT(1, &latency_query); |
| + |
| + GLuint query_status; |
| + GLuint available; |
| + |
| + // Begin two queries of different types |
| + glBeginQueryEXT(GL_LATENCY_QUERY_CHROMIUM, latency_query); |
| + glBeginQueryEXT(GL_GET_ERROR_QUERY_CHROMIUM, error_query); |
| + |
| + glEnable(GL_TEXTURE_2D); // Generates an INVALID_ENUM error |
| + |
| + // End the two queries |
| + glEndQueryEXT(GL_LATENCY_QUERY_CHROMIUM); |
| + glEndQueryEXT(GL_GET_ERROR_QUERY_CHROMIUM); |
| + |
| + glFinish(); |
| + |
| + // Check that we got result on both queries. |
| + |
| + available = 0; |
| + glGetQueryObjectuivEXT(latency_query, |
| + GL_QUERY_RESULT_AVAILABLE_EXT, |
| + &available); |
| + EXPECT_TRUE(available); |
| + // TODO(jadahl): Check latency result whenever latency test is enabled |
|
reveman
2014/01/02 15:38:12
Would it be better to use a GL_COMMANDS_ISSUED_CHR
|
| + |
| + query_status = 0; |
| + available = 0; |
| + glGetQueryObjectuivEXT(error_query, |
| + GL_QUERY_RESULT_AVAILABLE_EXT, |
| + &available); |
| + EXPECT_TRUE(available); |
| + glGetQueryObjectuivEXT(error_query, GL_QUERY_RESULT_EXT, &query_status); |
| + EXPECT_EQ(static_cast<uint32>(GL_INVALID_ENUM), query_status); |
| +} |
| + |
| TEST_F(QueryTest, GetErrorBasic) { |
| EXPECT_TRUE(GLTestHelper::HasExtension("GL_CHROMIUM_get_error_query")); |