| Index: gpu/command_buffer/tests/gl_compressed_copy_texture_CHROMIUM_unittest.cc
|
| diff --git a/gpu/command_buffer/tests/gl_compressed_copy_texture_CHROMIUM_unittest.cc b/gpu/command_buffer/tests/gl_compressed_copy_texture_CHROMIUM_unittest.cc
|
| index d50189daff6622080cdee027f8c33f03435ad843..e692b7df8cd4229a2f573f078c675f66c34280e0 100644
|
| --- a/gpu/command_buffer/tests/gl_compressed_copy_texture_CHROMIUM_unittest.cc
|
| +++ b/gpu/command_buffer/tests/gl_compressed_copy_texture_CHROMIUM_unittest.cc
|
| @@ -310,6 +310,65 @@ TEST_P(GLCompressedCopyTextureCHROMIUMTest, InternalFormatNotSupported) {
|
| EXPECT_TRUE(GL_INVALID_OPERATION == glGetError());
|
| }
|
|
|
| +TEST_P(GLCompressedCopyTextureCHROMIUMTest, InvalidTextureIds) {
|
| + if (!GLTestHelper::HasExtension("GL_EXT_texture_compression_dxt1")) {
|
| + LOG(INFO)
|
| + << "GL_EXT_texture_compression_dxt1 not supported. Skipping test...";
|
| + return;
|
| + }
|
| +
|
| + CopyType copy_type = GetParam();
|
| +
|
| + glBindTexture(GL_TEXTURE_2D, textures_[0]);
|
| + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
|
| + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
|
| + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
| + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
| + glCompressedTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGB_S3TC_DXT1_EXT, 4,
|
| + 4, 0, sizeof(kCompressedImageDXT1),
|
| + kCompressedImageDXT1);
|
| + EXPECT_TRUE(glGetError() == GL_NO_ERROR);
|
| +
|
| + glBindTexture(GL_TEXTURE_2D, textures_[1]);
|
| + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
|
| + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
|
| + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
| + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
| + if (copy_type == TexImage) {
|
| + glCompressedCopyTextureCHROMIUM(GL_TEXTURE_2D, textures_[0], 99993);
|
| + EXPECT_TRUE(glGetError() == GL_INVALID_VALUE);
|
| +
|
| + glCompressedCopyTextureCHROMIUM(GL_TEXTURE_2D, 99994, textures_[1]);
|
| + EXPECT_TRUE(glGetError() == GL_INVALID_VALUE);
|
| +
|
| + glCompressedCopyTextureCHROMIUM(GL_TEXTURE_2D, 99995, 99996);
|
| + EXPECT_TRUE(glGetError() == GL_INVALID_VALUE);
|
| +
|
| + glCompressedCopyTextureCHROMIUM(GL_TEXTURE_2D, textures_[0], textures_[1]);
|
| + EXPECT_TRUE(glGetError() == GL_NO_ERROR);
|
| + } else {
|
| + glCompressedTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGB_S3TC_DXT1_EXT, 4,
|
| + 4, 0, sizeof(kInvalidCompressedImage),
|
| + kInvalidCompressedImage);
|
| +
|
| + glCompressedCopySubTextureCHROMIUM(GL_TEXTURE_2D, textures_[0], 99993, 0, 0,
|
| + 0, 0, 4, 4);
|
| + EXPECT_TRUE(glGetError() == GL_INVALID_VALUE);
|
| +
|
| + glCompressedCopySubTextureCHROMIUM(GL_TEXTURE_2D, 99994, textures_[1], 0, 0,
|
| + 0, 0, 4, 4);
|
| + EXPECT_TRUE(glGetError() == GL_INVALID_VALUE);
|
| +
|
| + glCompressedCopySubTextureCHROMIUM(GL_TEXTURE_2D, 99995, 99996, 0, 0, 0, 0,
|
| + 4, 4);
|
| + EXPECT_TRUE(glGetError() == GL_INVALID_VALUE);
|
| +
|
| + glCompressedCopySubTextureCHROMIUM(GL_TEXTURE_2D, textures_[0],
|
| + textures_[1], 0, 0, 0, 0, 4, 4);
|
| + EXPECT_TRUE(glGetError() == GL_NO_ERROR);
|
| + }
|
| +}
|
| +
|
| // Validate that some basic GL state is not touched upon execution of
|
| // the extension.
|
| TEST_P(GLCompressedCopyTextureCHROMIUMTest, BasicStatePreservation) {
|
|
|