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

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

Issue 245923008: Optimize GLES2DecoderImpl::ApplyDirtyState. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase on refactored gles2_cmd_decoder_unittest.cc Created 6 years, 8 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/gles2_cmd_decoder_unittest.cc
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
index 9ada48633867d4ea002c96c6a342a70c636b60cc..f3f932175ea329ca63b51ed37e1fd3600b8f9dd8 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
@@ -72,7 +72,26 @@ void GLES2DecoderRGBBackbufferTest::SetUp() {
void GLES2DecoderManualInitTest::SetUp() {
}
-TEST_F(GLES2DecoderTest, GetIntegervCached) {
+void GLES2DecoderManualInitTest::EnableDisableTest(GLenum cap,
+ bool enable,
+ bool expect_set) {
+ if (expect_set) {
+ SetupExpectationsForEnableDisable(cap, enable);
+ }
+ if (enable) {
+ Enable cmd;
+ cmd.Init(cap);
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+ } else {
+ Disable cmd;
+ cmd.Init(cap);
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+ }
+}
+
+TEST_P(GLES2DecoderTest, GetIntegervCached) {
struct TestInfo {
GLenum pname;
GLint expected;
@@ -108,7 +127,7 @@ TEST_F(GLES2DecoderTest, GetIntegervCached) {
}
}
-TEST_F(GLES2DecoderWithShaderTest, GetMaxValueInBufferCHROMIUM) {
+TEST_P(GLES2DecoderWithShaderTest, GetMaxValueInBufferCHROMIUM) {
SetupIndexBuffer();
GetMaxValueInBufferCHROMIUM::Result* result =
static_cast<GetMaxValueInBufferCHROMIUM::Result*>(shared_memory_address_);
@@ -189,7 +208,7 @@ TEST_F(GLES2DecoderWithShaderTest, GetMaxValueInBufferCHROMIUM) {
EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
}
-TEST_F(GLES2DecoderTest, SharedIds) {
+TEST_P(GLES2DecoderTest, SharedIds) {
GenSharedIdsCHROMIUM gen_cmd;
RegisterSharedIdsCHROMIUM reg_cmd;
DeleteSharedIdsCHROMIUM del_cmd;
@@ -260,7 +279,7 @@ TEST_F(GLES2DecoderTest, SharedIds) {
EXPECT_EQ(kOffset + 1, ids[1]);
}
-TEST_F(GLES2DecoderTest, GenSharedIdsCHROMIUMBadArgs) {
+TEST_P(GLES2DecoderTest, GenSharedIdsCHROMIUMBadArgs) {
const GLuint kNamespaceId = id_namespaces::kTextures;
GenSharedIdsCHROMIUM cmd;
cmd.Init(kNamespaceId, 0, -1, kSharedMemoryId, kSharedMemoryOffset);
@@ -271,7 +290,7 @@ TEST_F(GLES2DecoderTest, GenSharedIdsCHROMIUMBadArgs) {
EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
}
-TEST_F(GLES2DecoderTest, RegisterSharedIdsCHROMIUMBadArgs) {
+TEST_P(GLES2DecoderTest, RegisterSharedIdsCHROMIUMBadArgs) {
const GLuint kNamespaceId = id_namespaces::kTextures;
RegisterSharedIdsCHROMIUM cmd;
cmd.Init(kNamespaceId, -1, kSharedMemoryId, kSharedMemoryOffset);
@@ -282,7 +301,7 @@ TEST_F(GLES2DecoderTest, RegisterSharedIdsCHROMIUMBadArgs) {
EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
}
-TEST_F(GLES2DecoderTest, RegisterSharedIdsCHROMIUMDuplicateIds) {
+TEST_P(GLES2DecoderTest, RegisterSharedIdsCHROMIUMDuplicateIds) {
const GLuint kNamespaceId = id_namespaces::kTextures;
const GLuint kRegisterId = 3;
RegisterSharedIdsCHROMIUM cmd;
@@ -295,7 +314,7 @@ TEST_F(GLES2DecoderTest, RegisterSharedIdsCHROMIUMDuplicateIds) {
EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
}
-TEST_F(GLES2DecoderTest, DeleteSharedIdsCHROMIUMBadArgs) {
+TEST_P(GLES2DecoderTest, DeleteSharedIdsCHROMIUMBadArgs) {
const GLuint kNamespaceId = id_namespaces::kTextures;
DeleteSharedIdsCHROMIUM cmd;
cmd.Init(kNamespaceId, -1, kSharedMemoryId, kSharedMemoryOffset);
@@ -306,7 +325,7 @@ TEST_F(GLES2DecoderTest, DeleteSharedIdsCHROMIUMBadArgs) {
EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
}
-TEST_F(GLES2DecoderTest, IsBuffer) {
+TEST_P(GLES2DecoderTest, IsBuffer) {
EXPECT_FALSE(DoIsBuffer(client_buffer_id_));
DoBindBuffer(GL_ARRAY_BUFFER, client_buffer_id_, kServiceBufferId);
EXPECT_TRUE(DoIsBuffer(client_buffer_id_));
@@ -314,7 +333,7 @@ TEST_F(GLES2DecoderTest, IsBuffer) {
EXPECT_FALSE(DoIsBuffer(client_buffer_id_));
}
-TEST_F(GLES2DecoderTest, IsFramebuffer) {
+TEST_P(GLES2DecoderTest, IsFramebuffer) {
EXPECT_FALSE(DoIsFramebuffer(client_framebuffer_id_));
DoBindFramebuffer(
GL_FRAMEBUFFER, client_framebuffer_id_, kServiceFramebufferId);
@@ -330,7 +349,7 @@ TEST_F(GLES2DecoderTest, IsFramebuffer) {
EXPECT_FALSE(DoIsFramebuffer(client_framebuffer_id_));
}
-TEST_F(GLES2DecoderTest, IsProgram) {
+TEST_P(GLES2DecoderTest, IsProgram) {
// IsProgram is true as soon as the program is created.
EXPECT_TRUE(DoIsProgram(client_program_id_));
EXPECT_CALL(*gl_, DeleteProgram(kServiceProgramId))
@@ -340,7 +359,7 @@ TEST_F(GLES2DecoderTest, IsProgram) {
EXPECT_FALSE(DoIsProgram(client_program_id_));
}
-TEST_F(GLES2DecoderTest, IsRenderbuffer) {
+TEST_P(GLES2DecoderTest, IsRenderbuffer) {
EXPECT_FALSE(DoIsRenderbuffer(client_renderbuffer_id_));
DoBindRenderbuffer(
GL_RENDERBUFFER, client_renderbuffer_id_, kServiceRenderbufferId);
@@ -349,14 +368,14 @@ TEST_F(GLES2DecoderTest, IsRenderbuffer) {
EXPECT_FALSE(DoIsRenderbuffer(client_renderbuffer_id_));
}
-TEST_F(GLES2DecoderTest, IsShader) {
+TEST_P(GLES2DecoderTest, IsShader) {
// IsShader is true as soon as the program is created.
EXPECT_TRUE(DoIsShader(client_shader_id_));
DoDeleteShader(client_shader_id_, kServiceShaderId);
EXPECT_FALSE(DoIsShader(client_shader_id_));
}
-TEST_F(GLES2DecoderTest, IsTexture) {
+TEST_P(GLES2DecoderTest, IsTexture) {
EXPECT_FALSE(DoIsTexture(client_texture_id_));
DoBindTexture(GL_TEXTURE_2D, client_texture_id_, kServiceTextureId);
EXPECT_TRUE(DoIsTexture(client_texture_id_));
@@ -364,7 +383,7 @@ TEST_F(GLES2DecoderTest, IsTexture) {
EXPECT_FALSE(DoIsTexture(client_texture_id_));
}
-TEST_F(GLES2DecoderTest, GetMultipleIntegervCHROMIUMValidArgs) {
+TEST_P(GLES2DecoderTest, GetMultipleIntegervCHROMIUMValidArgs) {
const GLsizei kCount = 3;
GLenum* pnames = GetSharedMemoryAs<GLenum*>();
pnames[0] = GL_DEPTH_WRITEMASK;
@@ -402,7 +421,7 @@ TEST_F(GLES2DecoderTest, GetMultipleIntegervCHROMIUMValidArgs) {
EXPECT_EQ(kSentinel, results[num_results]); // End of results
}
-TEST_F(GLES2DecoderTest, GetMultipleIntegervCHROMIUMInvalidArgs) {
+TEST_P(GLES2DecoderTest, GetMultipleIntegervCHROMIUMInvalidArgs) {
const GLsizei kCount = 3;
// Offset the pnames because GLGetError will use the first uint32.
const uint32 kPnameOffset = sizeof(uint32);
@@ -512,7 +531,7 @@ TEST_F(GLES2DecoderTest, GetMultipleIntegervCHROMIUMInvalidArgs) {
EXPECT_EQ(kSentinel, results[num_results]); // End of results
}
-TEST_F(GLES2DecoderManualInitTest, BindGeneratesResourceFalse) {
+TEST_P(GLES2DecoderManualInitTest, BindGeneratesResourceFalse) {
InitState init;
init.gl_version = "3.0";
InitDecoder(init);
@@ -538,25 +557,25 @@ TEST_F(GLES2DecoderManualInitTest, BindGeneratesResourceFalse) {
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
}
-TEST_F(GLES2DecoderTest, EnableFeatureCHROMIUMBadBucket) {
+TEST_P(GLES2DecoderTest, EnableFeatureCHROMIUMBadBucket) {
const uint32 kBadBucketId = 123;
EnableFeatureCHROMIUM cmd;
cmd.Init(kBadBucketId, shared_memory_id_, shared_memory_offset_);
EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
}
-TEST_F(GLES2DecoderTest, RequestExtensionCHROMIUMBadBucket) {
+TEST_P(GLES2DecoderTest, RequestExtensionCHROMIUMBadBucket) {
const uint32 kBadBucketId = 123;
RequestExtensionCHROMIUM cmd;
cmd.Init(kBadBucketId);
EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
}
-TEST_F(GLES2DecoderTest, BeginQueryEXTDisabled) {
+TEST_P(GLES2DecoderTest, BeginQueryEXTDisabled) {
// Test something fails if off.
}
-TEST_F(GLES2DecoderManualInitTest, BeginEndQueryEXT) {
+TEST_P(GLES2DecoderManualInitTest, BeginEndQueryEXT) {
InitState init;
init.extensions = "GL_EXT_occlusion_query_boolean";
init.gl_version = "opengl es 2.0";
@@ -737,7 +756,7 @@ static void CheckBeginEndQueryBadMemoryFails(GLES2DecoderTestBase* test,
test->ResetDecoder();
}
-TEST_F(GLES2DecoderManualInitTest, BeginEndQueryEXTBadMemoryIdFails) {
+TEST_P(GLES2DecoderManualInitTest, BeginEndQueryEXTBadMemoryIdFails) {
for (size_t i = 0; i < arraysize(kQueryTypes); ++i) {
CheckBeginEndQueryBadMemoryFails(this,
kNewClientId,
@@ -748,7 +767,7 @@ TEST_F(GLES2DecoderManualInitTest, BeginEndQueryEXTBadMemoryIdFails) {
}
}
-TEST_F(GLES2DecoderManualInitTest, BeginEndQueryEXTBadMemoryOffsetFails) {
+TEST_P(GLES2DecoderManualInitTest, BeginEndQueryEXTBadMemoryOffsetFails) {
for (size_t i = 0; i < arraysize(kQueryTypes); ++i) {
// Out-of-bounds.
CheckBeginEndQueryBadMemoryFails(this,
@@ -767,7 +786,7 @@ TEST_F(GLES2DecoderManualInitTest, BeginEndQueryEXTBadMemoryOffsetFails) {
}
}
-TEST_F(GLES2DecoderTest, BeginEndQueryEXTCommandsIssuedCHROMIUM) {
+TEST_P(GLES2DecoderTest, BeginEndQueryEXTCommandsIssuedCHROMIUM) {
BeginQueryEXT begin_cmd;
GenHelper<GenQueriesEXTImmediate>(kNewClientId);
@@ -794,7 +813,7 @@ TEST_F(GLES2DecoderTest, BeginEndQueryEXTCommandsIssuedCHROMIUM) {
EXPECT_FALSE(query->pending());
}
-TEST_F(GLES2DecoderTest, BeginEndQueryEXTGetErrorQueryCHROMIUM) {
+TEST_P(GLES2DecoderTest, BeginEndQueryEXTGetErrorQueryCHROMIUM) {
BeginQueryEXT begin_cmd;
GenHelper<GenQueriesEXTImmediate>(kNewClientId);
@@ -829,7 +848,7 @@ TEST_F(GLES2DecoderTest, BeginEndQueryEXTGetErrorQueryCHROMIUM) {
static_cast<GLenum>(sync->result));
}
-TEST_F(GLES2DecoderManualInitTest, BeginEndQueryEXTCommandsCompletedCHROMIUM) {
+TEST_P(GLES2DecoderManualInitTest, BeginEndQueryEXTCommandsCompletedCHROMIUM) {
InitState init;
init.extensions = "GL_EXT_occlusion_query_boolean GL_ARB_sync";
init.gl_version = "opengl es 2.0";
@@ -888,7 +907,7 @@ TEST_F(GLES2DecoderManualInitTest, BeginEndQueryEXTCommandsCompletedCHROMIUM) {
ResetDecoder();
}
-TEST_F(GLES2DecoderTest, IsEnabledReturnsCachedValue) {
+TEST_P(GLES2DecoderTest, IsEnabledReturnsCachedValue) {
// NOTE: There are no expectations because no GL functions should be
// called for DEPTH_TEST or STENCIL_TEST
static const GLenum kStates[] = {
@@ -913,7 +932,7 @@ TEST_F(GLES2DecoderTest, IsEnabledReturnsCachedValue) {
}
}
-TEST_F(GLES2DecoderManualInitTest, GpuMemoryManagerCHROMIUM) {
+TEST_P(GLES2DecoderManualInitTest, GpuMemoryManagerCHROMIUM) {
InitState init;
init.extensions = "GL_ARB_texture_rectangle";
init.gl_version = "3.0";
@@ -987,7 +1006,7 @@ class SizeOnlyMemoryTracker : public MemoryTracker {
} // anonymous namespace.
-TEST_F(GLES2DecoderManualInitTest, MemoryTrackerInitialSize) {
+TEST_P(GLES2DecoderManualInitTest, MemoryTrackerInitialSize) {
scoped_refptr<SizeOnlyMemoryTracker> memory_tracker =
new SizeOnlyMemoryTracker();
set_memory_tracker(memory_tracker.get());
@@ -1000,7 +1019,7 @@ TEST_F(GLES2DecoderManualInitTest, MemoryTrackerInitialSize) {
EXPECT_EQ(0u, memory_tracker->GetPoolSize(MemoryTracker::kManaged));
}
-TEST_F(GLES2DecoderManualInitTest, MemoryTrackerTexImage2D) {
+TEST_P(GLES2DecoderManualInitTest, MemoryTrackerTexImage2D) {
scoped_refptr<SizeOnlyMemoryTracker> memory_tracker =
new SizeOnlyMemoryTracker();
set_memory_tracker(memory_tracker.get());
@@ -1058,7 +1077,7 @@ TEST_F(GLES2DecoderManualInitTest, MemoryTrackerTexImage2D) {
EXPECT_EQ(64u, memory_tracker->GetPoolSize(MemoryTracker::kUnmanaged));
}
-TEST_F(GLES2DecoderManualInitTest, MemoryTrackerTexStorage2DEXT) {
+TEST_P(GLES2DecoderManualInitTest, MemoryTrackerTexStorage2DEXT) {
scoped_refptr<SizeOnlyMemoryTracker> memory_tracker =
new SizeOnlyMemoryTracker();
set_memory_tracker(memory_tracker.get());
@@ -1079,7 +1098,7 @@ TEST_F(GLES2DecoderManualInitTest, MemoryTrackerTexStorage2DEXT) {
EXPECT_EQ(GL_OUT_OF_MEMORY, GetGLError());
}
-TEST_F(GLES2DecoderManualInitTest, MemoryTrackerCopyTexImage2D) {
+TEST_P(GLES2DecoderManualInitTest, MemoryTrackerCopyTexImage2D) {
GLenum target = GL_TEXTURE_2D;
GLint level = 0;
GLenum internal_format = GL_RGBA;
@@ -1122,7 +1141,7 @@ TEST_F(GLES2DecoderManualInitTest, MemoryTrackerCopyTexImage2D) {
EXPECT_EQ(128u, memory_tracker->GetPoolSize(MemoryTracker::kUnmanaged));
}
-TEST_F(GLES2DecoderManualInitTest, MemoryTrackerRenderbufferStorage) {
+TEST_P(GLES2DecoderManualInitTest, MemoryTrackerRenderbufferStorage) {
scoped_refptr<SizeOnlyMemoryTracker> memory_tracker =
new SizeOnlyMemoryTracker();
set_memory_tracker(memory_tracker.get());
@@ -1157,7 +1176,7 @@ TEST_F(GLES2DecoderManualInitTest, MemoryTrackerRenderbufferStorage) {
EXPECT_EQ(128u, memory_tracker->GetPoolSize(MemoryTracker::kUnmanaged));
}
-TEST_F(GLES2DecoderManualInitTest, MemoryTrackerBufferData) {
+TEST_P(GLES2DecoderManualInitTest, MemoryTrackerBufferData) {
scoped_refptr<SizeOnlyMemoryTracker> memory_tracker =
new SizeOnlyMemoryTracker();
set_memory_tracker(memory_tracker.get());
@@ -1191,5 +1210,15 @@ TEST_F(GLES2DecoderManualInitTest, MemoryTrackerBufferData) {
EXPECT_EQ(128u, memory_tracker->GetPoolSize(MemoryTracker::kManaged));
}
+INSTANTIATE_TEST_CASE_P(Service, GLES2DecoderTest, ::testing::Bool());
+
+INSTANTIATE_TEST_CASE_P(Service, GLES2DecoderWithShaderTest, ::testing::Bool());
+
+INSTANTIATE_TEST_CASE_P(Service, GLES2DecoderManualInitTest, ::testing::Bool());
+
+INSTANTIATE_TEST_CASE_P(Service,
+ GLES2DecoderRGBBackbufferTest,
+ ::testing::Bool());
+
} // namespace gles2
} // namespace gpu
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder_unittest.h ('k') | gpu/command_buffer/service/gles2_cmd_decoder_unittest_1.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698