| Index: gpu/command_buffer/client/gles2_implementation_unittest.cc
|
| diff --git a/gpu/command_buffer/client/gles2_implementation_unittest.cc b/gpu/command_buffer/client/gles2_implementation_unittest.cc
|
| index f406c468d99119ac4b848cb16f2668a28e879254..38d651bdc40e37b6ece64e6e1da547e5cc10934f 100644
|
| --- a/gpu/command_buffer/client/gles2_implementation_unittest.cc
|
| +++ b/gpu/command_buffer/client/gles2_implementation_unittest.cc
|
| @@ -2293,7 +2293,11 @@ TEST_F(GLES2ImplementationTest, GetString) {
|
| // GL_CHROMIUM_map_sub GL_CHROMIUM_flipy are hard coded into
|
| // GLES2Implementation.
|
| const char* expected_str =
|
| - "foobar GL_CHROMIUM_map_sub GL_CHROMIUM_flipy GL_EXT_unpack_subimage";
|
| + "foobar "
|
| + "GL_CHROMIUM_map_sub "
|
| + "GL_CHROMIUM_flipy "
|
| + "GL_CHROMIUM_consistent_uniform_locations "
|
| + "GL_EXT_unpack_subimage";
|
| const char kBad = 0x12;
|
| struct Cmds {
|
| cmd::SetBucketSize set_bucket_size1;
|
| @@ -2554,6 +2558,64 @@ TEST_F(GLES2ImplementationTest, BeginEndQueryEXT) {
|
| EXPECT_EQ(0u, available);
|
| }
|
|
|
| +TEST_F(GLES2ImplementationTest, GetUniformLocationsCHROMIUM) {
|
| + static const GLUniformDefinitionCHROMIUM good_defs[] = {
|
| + { GL_FLOAT_VEC4, 1, "moo", },
|
| + { GL_FLOAT_VEC4, 4, "bar", },
|
| + { GL_FLOAT_VEC4, 3, "foo", },
|
| + };
|
| +
|
| + static const GLUniformDefinitionCHROMIUM bad_defs[] = {
|
| + { GL_FLOAT_VEC4, 1, "moo", },
|
| + { GL_FLOAT_VEC4, 0, "bar", },
|
| + { GL_FLOAT_VEC4, 3, "foo", },
|
| + };
|
| +
|
| + // Test bad count
|
| + GLint locations[50] = { -1, };
|
| + gl_->GetUniformLocationsCHROMIUM(bad_defs, 0, 1, locations);
|
| + EXPECT_EQ(GL_INVALID_VALUE, CheckError());
|
| + EXPECT_EQ(-1, locations[0]);
|
| +
|
| + // Test bad size.
|
| + gl_->GetUniformLocationsCHROMIUM(
|
| + bad_defs, arraysize(bad_defs), 1, locations);
|
| + EXPECT_EQ(GL_INVALID_VALUE, CheckError());
|
| + EXPECT_EQ(-1, locations[0]);
|
| +
|
| + // Test max_locations
|
| + gl_->GetUniformLocationsCHROMIUM(
|
| + good_defs, arraysize(good_defs), 3, locations);
|
| + EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(2, 0)),
|
| + locations[0]);
|
| + EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(0, 0)),
|
| + locations[1]);
|
| + EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(0, 1)),
|
| + locations[2]);
|
| + EXPECT_EQ(0, locations[3]);
|
| +
|
| + // Test all.
|
| + gl_->GetUniformLocationsCHROMIUM(
|
| + good_defs, arraysize(good_defs), arraysize(locations), locations);
|
| + EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(2, 0)),
|
| + locations[0]);
|
| + EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(0, 0)),
|
| + locations[1]);
|
| + EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(0, 1)),
|
| + locations[2]);
|
| + EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(0, 2)),
|
| + locations[3]);
|
| + EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(0, 3)),
|
| + locations[4]);
|
| + EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(1, 0)),
|
| + locations[5]);
|
| + EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(1, 1)),
|
| + locations[6]);
|
| + EXPECT_EQ(GLES2Util::SwizzleLocation(GLES2Util::MakeFakeLocation(1, 2)),
|
| + locations[7]);
|
| + EXPECT_EQ(0, locations[8]);
|
| +}
|
| +
|
| #include "gpu/command_buffer/client/gles2_implementation_unittest_autogen.h"
|
|
|
| } // namespace gles2
|
|
|