| Index: gpu/command_buffer/service/gles2_cmd_decoder_unittest_programs.cc
|
| diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_programs.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_programs.cc
|
| index f7b7fb565dfd872ae364144f2aae3b84798e7d84..bcfeb1bff2ebf872c3c244f59babb0dde5ba9c20 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_programs.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_programs.cc
|
| @@ -875,6 +875,58 @@ TEST_P(GLES2DecoderWithShaderTest, GetAttribLocationInvalidArgs) {
|
| EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
|
| }
|
|
|
| +TEST_P(GLES2DecoderWithShaderTest, GetFragDataLocation) {
|
| + const uint32 kBucketId = 123;
|
| + const GLint kLocation = 10;
|
| + const char* kName = "color";
|
| + typedef GetFragDataLocation::Result Result;
|
| + Result* result = GetSharedMemoryAs<Result*>();
|
| + SetBucketAsCString(kBucketId, kName);
|
| + *result = -1;
|
| + GetFragDataLocation cmd;
|
| + cmd.Init(client_program_id_, kBucketId, kSharedMemoryId, kSharedMemoryOffset);
|
| + EXPECT_CALL(*gl_, GetFragDataLocation(kServiceProgramId, StrEq(kName)))
|
| + .WillOnce(Return(kLocation))
|
| + .RetiresOnSaturation();
|
| + decoder_->set_unsafe_es3_apis_enabled(true);
|
| + EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
|
| + EXPECT_EQ(kLocation, *result);
|
| + decoder_->set_unsafe_es3_apis_enabled(false);
|
| + EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
|
| +}
|
| +
|
| +TEST_P(GLES2DecoderWithShaderTest, GetFragDataLocationInvalidArgs) {
|
| + const uint32 kBucketId = 123;
|
| + typedef GetFragDataLocation::Result Result;
|
| + Result* result = GetSharedMemoryAs<Result*>();
|
| + *result = -1;
|
| + GetFragDataLocation cmd;
|
| + decoder_->set_unsafe_es3_apis_enabled(true);
|
| + // Check no bucket
|
| + cmd.Init(client_program_id_, kBucketId, kSharedMemoryId, kSharedMemoryOffset);
|
| + EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
|
| + EXPECT_EQ(-1, *result);
|
| + // Check bad program id.
|
| + const char* kName = "color";
|
| + SetBucketAsCString(kBucketId, kName);
|
| + cmd.Init(kInvalidClientId, kBucketId, kSharedMemoryId, kSharedMemoryOffset);
|
| + *result = -1;
|
| + EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
|
| + EXPECT_EQ(-1, *result);
|
| + EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
|
| + // Check bad memory
|
| + cmd.Init(client_program_id_,
|
| + kBucketId,
|
| + kInvalidSharedMemoryId,
|
| + kSharedMemoryOffset);
|
| + EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
|
| + cmd.Init(client_program_id_,
|
| + kBucketId,
|
| + kSharedMemoryId,
|
| + kInvalidSharedMemoryOffset);
|
| + EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
|
| +}
|
| +
|
| TEST_P(GLES2DecoderWithShaderTest, GetUniformLocation) {
|
| const uint32 kBucketId = 123;
|
| const char* kNonExistentName = "foobar";
|
|
|