| 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 1dd2fdc287444ecf310fbfe2e621c7eadb2b2de1..9011a913c87410acc97006243101302fded368f1 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
|
| @@ -44,7 +44,6 @@ using ::testing::Pointee;
|
| using ::testing::Return;
|
| using ::testing::SaveArg;
|
| using ::testing::SetArrayArgument;
|
| -using ::testing::SetArgumentPointee;
|
| using ::testing::SetArgPointee;
|
| using ::testing::StrEq;
|
| using ::testing::StrictMock;
|
| @@ -282,6 +281,101 @@ TEST_P(GLES2DecoderTest, IsTexture) {
|
| EXPECT_FALSE(DoIsTexture(client_texture_id_));
|
| }
|
|
|
| +TEST_P(GLES2DecoderTest, GetInternalformativValidArgs) {
|
| + const GLint kNumSampleCounts = 8;
|
| + EXPECT_CALL(*gl_, GetError())
|
| + .WillOnce(Return(GL_NO_ERROR))
|
| + .WillOnce(Return(GL_NO_ERROR))
|
| + .WillOnce(Return(GL_NO_ERROR))
|
| + .WillOnce(Return(GL_NO_ERROR))
|
| + .RetiresOnSaturation();
|
| + typedef cmds::GetInternalformativ::Result Result;
|
| + Result* result = static_cast<Result*>(shared_memory_address_);
|
| + EXPECT_CALL(*gl_, GetInternalformativ(GL_RENDERBUFFER, GL_RGBA4,
|
| + GL_NUM_SAMPLE_COUNTS, 1, _))
|
| + .WillOnce(SetArgPointee<4>(kNumSampleCounts))
|
| + .RetiresOnSaturation();
|
| + EXPECT_CALL(*gl_, GetInternalformativ(GL_RENDERBUFFER, GL_RGBA4,
|
| + GL_SAMPLES, kNumSampleCounts,
|
| + result->GetData()))
|
| + .Times(1)
|
| + .RetiresOnSaturation();
|
| + result->size = 0;
|
| + cmds::GetInternalformativ cmd;
|
| + cmd.Init(GL_RENDERBUFFER, GL_RGBA4, GL_SAMPLES, kNumSampleCounts,
|
| + shared_memory_id_, shared_memory_offset_);
|
| + decoder_->set_unsafe_es3_apis_enabled(true);
|
| + EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
|
| + EXPECT_EQ(kNumSampleCounts, result->GetNumResults());
|
| + EXPECT_EQ(GL_NO_ERROR, GetGLError());
|
| + decoder_->set_unsafe_es3_apis_enabled(false);
|
| + EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
|
| +}
|
| +
|
| +TEST_P(GLES2DecoderTest, GetInternalformativValidArgsBufSizeTooSmall) {
|
| + const GLint kNumSampleCounts = 8;
|
| + const GLint kBufSize = kNumSampleCounts - 2;
|
| + EXPECT_CALL(*gl_, GetError())
|
| + .WillOnce(Return(GL_NO_ERROR))
|
| + .WillOnce(Return(GL_NO_ERROR))
|
| + .WillOnce(Return(GL_NO_ERROR))
|
| + .WillOnce(Return(GL_NO_ERROR))
|
| + .RetiresOnSaturation();
|
| + typedef cmds::GetInternalformativ::Result Result;
|
| + Result* result = static_cast<Result*>(shared_memory_address_);
|
| + EXPECT_CALL(*gl_, GetInternalformativ(GL_RENDERBUFFER, GL_RGBA4,
|
| + GL_NUM_SAMPLE_COUNTS, 1, _))
|
| + .WillOnce(SetArgPointee<4>(kNumSampleCounts))
|
| + .RetiresOnSaturation();
|
| + EXPECT_CALL(*gl_, GetInternalformativ(GL_RENDERBUFFER, GL_RGBA4,
|
| + GL_SAMPLES, kBufSize,
|
| + result->GetData()))
|
| + .Times(1)
|
| + .RetiresOnSaturation();
|
| + result->size = 0;
|
| + cmds::GetInternalformativ cmd;
|
| + cmd.Init(GL_RENDERBUFFER, GL_RGBA4, GL_SAMPLES, kBufSize,
|
| + shared_memory_id_, shared_memory_offset_);
|
| + decoder_->set_unsafe_es3_apis_enabled(true);
|
| + EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
|
| + EXPECT_EQ(kBufSize, result->GetNumResults());
|
| + EXPECT_EQ(GL_NO_ERROR, GetGLError());
|
| + decoder_->set_unsafe_es3_apis_enabled(false);
|
| + EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
|
| +}
|
| +
|
| +TEST_P(GLES2DecoderTest, GetInternalformativValidArgsBufSizeTooBig) {
|
| + const GLint kNumSampleCounts = 8;
|
| + const GLint kBufSize = kNumSampleCounts + 2;
|
| + EXPECT_CALL(*gl_, GetError())
|
| + .WillOnce(Return(GL_NO_ERROR))
|
| + .WillOnce(Return(GL_NO_ERROR))
|
| + .WillOnce(Return(GL_NO_ERROR))
|
| + .WillOnce(Return(GL_NO_ERROR))
|
| + .RetiresOnSaturation();
|
| + typedef cmds::GetInternalformativ::Result Result;
|
| + Result* result = static_cast<Result*>(shared_memory_address_);
|
| + EXPECT_CALL(*gl_, GetInternalformativ(GL_RENDERBUFFER, GL_RGBA4,
|
| + GL_NUM_SAMPLE_COUNTS, 1, _))
|
| + .WillOnce(SetArgPointee<4>(kNumSampleCounts))
|
| + .RetiresOnSaturation();
|
| + EXPECT_CALL(*gl_, GetInternalformativ(GL_RENDERBUFFER, GL_RGBA4,
|
| + GL_SAMPLES, kNumSampleCounts,
|
| + result->GetData()))
|
| + .Times(1)
|
| + .RetiresOnSaturation();
|
| + result->size = 0;
|
| + cmds::GetInternalformativ cmd;
|
| + cmd.Init(GL_RENDERBUFFER, GL_RGBA4, GL_SAMPLES, kBufSize,
|
| + shared_memory_id_, shared_memory_offset_);
|
| + decoder_->set_unsafe_es3_apis_enabled(true);
|
| + EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
|
| + EXPECT_EQ(kNumSampleCounts, result->GetNumResults());
|
| + EXPECT_EQ(GL_NO_ERROR, GetGLError());
|
| + decoder_->set_unsafe_es3_apis_enabled(false);
|
| + EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
|
| +}
|
| +
|
| TEST_P(GLES2DecoderTest, ClientWaitSyncValid) {
|
| typedef cmds::ClientWaitSync::Result Result;
|
| Result* result = static_cast<Result*>(shared_memory_address_);
|
| @@ -461,7 +555,7 @@ TEST_P(GLES2DecoderManualInitTest, BeginEndQueryEXT) {
|
|
|
| // Test valid parameters work.
|
| EXPECT_CALL(*gl_, GenQueries(1, _))
|
| - .WillOnce(SetArgumentPointee<1>(kNewServiceId))
|
| + .WillOnce(SetArgPointee<1>(kNewServiceId))
|
| .RetiresOnSaturation();
|
| EXPECT_CALL(*gl_, BeginQuery(GL_ANY_SAMPLES_PASSED_EXT, kNewServiceId))
|
| .Times(1)
|
| @@ -552,7 +646,7 @@ static void CheckBeginEndQueryBadMemoryFails(GLES2DecoderTestBase* test,
|
|
|
| if (query_type.is_gl) {
|
| EXPECT_CALL(*gl, GenQueries(1, _))
|
| - .WillOnce(SetArgumentPointee<1>(service_id))
|
| + .WillOnce(SetArgPointee<1>(service_id))
|
| .RetiresOnSaturation();
|
| EXPECT_CALL(*gl, BeginQuery(query_type.type, service_id))
|
| .Times(1)
|
| @@ -593,10 +687,10 @@ static void CheckBeginEndQueryBadMemoryFails(GLES2DecoderTestBase* test,
|
| if (query_type.is_gl) {
|
| EXPECT_CALL(
|
| *gl, GetQueryObjectuiv(service_id, GL_QUERY_RESULT_AVAILABLE_EXT, _))
|
| - .WillOnce(SetArgumentPointee<2>(1))
|
| + .WillOnce(SetArgPointee<2>(1))
|
| .RetiresOnSaturation();
|
| EXPECT_CALL(*gl, GetQueryObjectuiv(service_id, GL_QUERY_RESULT_EXT, _))
|
| - .WillOnce(SetArgumentPointee<2>(1))
|
| + .WillOnce(SetArgPointee<2>(1))
|
| .RetiresOnSaturation();
|
| }
|
| if (query_type.type == GL_COMMANDS_COMPLETED_CHROMIUM) {
|
|
|