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

Unified Diff: gpu/command_buffer/service/query_manager_unittest.cc

Issue 10389107: Implement GL_EXT_occlusion_query_boolean on OSX (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 7 months 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 side-by-side diff with in-line comments
Download patch
Index: gpu/command_buffer/service/query_manager_unittest.cc
diff --git a/gpu/command_buffer/service/query_manager_unittest.cc b/gpu/command_buffer/service/query_manager_unittest.cc
index 38eea14693d0fd07718a33cf0749d04599a36562..bd2b84f586287100aab0dd1a28ac67f9514280c7 100644
--- a/gpu/command_buffer/service/query_manager_unittest.cc
+++ b/gpu/command_buffer/service/query_manager_unittest.cc
@@ -7,6 +7,8 @@
#include "gpu/command_buffer/common/gles2_cmd_format.h"
#include "gpu/command_buffer/service/cmd_buffer_engine.h"
#include "gpu/command_buffer/service/common_decoder.h"
+#include "gpu/command_buffer/service/feature_info.h"
+#include "gpu/command_buffer/service/test_helper.h"
#include "testing/gtest/include/gtest/gtest.h"
using ::testing::_;
@@ -48,7 +50,12 @@ class QueryManagerTest : public testing::Test {
engine_.reset(new MockCommandBufferEngine());
decoder_.reset(new MockDecoder());
decoder_->set_engine(engine_.get());
- manager_.reset(new QueryManager(decoder_.get(), false));
+ TestHelper::SetupFeatureInfoInitExpectations(
+ gl_.get(),
+ "GL_EXT_occlusion_query_boolean");
+ FeatureInfo::Ref feature_info(new FeatureInfo());
+ feature_info->Initialize("*");
+ manager_.reset(new QueryManager(decoder_.get(), feature_info.get()));
}
virtual void TearDown() {
@@ -215,7 +222,7 @@ TEST_F(QueryManagerTest, ProcessPendingQuery) {
const GLuint kService1Id = 11;
const GLenum kTarget = GL_ANY_SAMPLES_PASSED_EXT;
const uint32 kSubmitCount = 123;
- const GLuint kResult = 456;
+ const GLuint kResult = 1;
// Check nothing happens if there are no pending queries.
EXPECT_TRUE(manager_->ProcessPendingQueries());
@@ -280,9 +287,9 @@ TEST_F(QueryManagerTest, ProcessPendingQueries) {
const uint32 kSubmitCount1 = 123;
const uint32 kSubmitCount2 = 123;
const uint32 kSubmitCount3 = 123;
- const GLuint kResult1 = 456;
- const GLuint kResult2 = 457;
- const GLuint kResult3 = 458;
+ const GLuint kResult1 = 1;
+ const GLuint kResult2 = 1;
+ const GLuint kResult3 = 1;
// Setup shared memory like client would.
QuerySync* sync1 = decoder_->GetSharedMemoryAs<QuerySync*>(
@@ -393,7 +400,7 @@ TEST_F(QueryManagerTest, ProcessPendingBadSharedMemoryId) {
const GLuint kService1Id = 11;
const GLenum kTarget = GL_ANY_SAMPLES_PASSED_EXT;
const uint32 kSubmitCount = 123;
- const GLuint kResult = 456;
+ const GLuint kResult = 1;
// Create Query.
QueryManager::Query::Ref query(
@@ -422,7 +429,7 @@ TEST_F(QueryManagerTest, ProcessPendingBadSharedMemoryOffset) {
const GLuint kService1Id = 11;
const GLenum kTarget = GL_ANY_SAMPLES_PASSED_EXT;
const uint32 kSubmitCount = 123;
- const GLuint kResult = 456;
+ const GLuint kResult = 1;
// Create Query.
QueryManager::Query::Ref query(
@@ -468,7 +475,13 @@ TEST_F(QueryManagerTest, ARBOcclusionQuery2) {
const GLenum kTarget = GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT;
const uint32 kSubmitCount = 123;
- scoped_ptr<QueryManager> manager(new QueryManager(decoder_.get(), true));
+ TestHelper::SetupFeatureInfoInitExpectations(
+ gl_.get(),
+ "GL_ARB_occlusion_query2");
+ FeatureInfo::Ref feature_info(new FeatureInfo());
+ feature_info->Initialize("*");
+ scoped_ptr<QueryManager> manager(
+ new QueryManager(decoder_.get(), feature_info.get()));
EXPECT_CALL(*gl_, GenQueriesARB(1, _))
.WillOnce(SetArgumentPointee<1>(kService1Id))
@@ -488,6 +501,38 @@ TEST_F(QueryManagerTest, ARBOcclusionQuery2) {
manager->Destroy(false);
}
+TEST_F(QueryManagerTest, ARBOcclusionQuery) {
+ const GLuint kClient1Id = 1;
+ const GLuint kService1Id = 11;
+ const GLenum kTarget = GL_ANY_SAMPLES_PASSED_EXT;
+ const uint32 kSubmitCount = 123;
+
+ TestHelper::SetupFeatureInfoInitExpectations(
+ gl_.get(),
+ "GL_ARB_occlusion_query");
+ FeatureInfo::Ref feature_info(new FeatureInfo());
+ feature_info->Initialize("*");
+ scoped_ptr<QueryManager> manager(
+ new QueryManager(decoder_.get(), feature_info.get()));
+
+ EXPECT_CALL(*gl_, GenQueriesARB(1, _))
+ .WillOnce(SetArgumentPointee<1>(kService1Id))
+ .RetiresOnSaturation();
+ QueryManager::Query* query = manager->CreateQuery(
+ kTarget, kClient1Id, kSharedMemoryId, kSharedMemoryOffset);
+ ASSERT_TRUE(query != NULL);
+
+ EXPECT_CALL(*gl_, BeginQueryARB(GL_SAMPLES_PASSED_ARB, kService1Id))
+ .Times(1)
+ .RetiresOnSaturation();
+ EXPECT_CALL(*gl_, EndQueryARB(GL_SAMPLES_PASSED_ARB))
+ .Times(1)
+ .RetiresOnSaturation();
+ EXPECT_TRUE(manager->BeginQuery(query));
+ EXPECT_TRUE(manager->EndQuery(query, kSubmitCount));
+ manager->Destroy(false);
+}
+
} // namespace gles2
} // namespace gpu

Powered by Google App Engine
This is Rietveld 408576698