| 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
|
|
|