Index: gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc |
index b0e8e8c9c703477e38d42887e01dfa45f56c67a9..f0cadf1f159ca0097aea03fad942042e996bd938 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc |
@@ -1803,6 +1803,32 @@ TEST_P(GLES2DecoderTest, CopyTexSubImage2DClearsUnclearedTexture) { |
CopyTexSubImage2D cmd; |
cmd.Init(GL_TEXTURE_2D, 0, 0, 0, 0, 0, 1, 1); |
EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ |
+ TextureManager* manager = group().texture_manager(); |
+ TextureRef* texture_ref = manager->GetTexture(client_texture_id_); |
+ ASSERT_TRUE(texture_ref != NULL); |
+ Texture* texture = texture_ref->texture(); |
+ EXPECT_TRUE(texture->SafeToRenderFrom()); |
+} |
+ |
+TEST_P(GLES2DecoderTest, CopyTexSubImage2DClearsUnclearedBackBufferSizedTexture) { |
+ DoBindTexture(GL_TEXTURE_2D, client_texture_id_, kServiceTextureId); |
+ DoTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, kBackBufferWidth, kBackBufferHeight, |
+ 0, GL_RGBA, GL_UNSIGNED_BYTE, 0, 0); |
+ |
+ EXPECT_CALL(*gl_, CopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, |
+ kBackBufferWidth, kBackBufferHeight)) |
+ .Times(1) |
+ .RetiresOnSaturation(); |
+ CopyTexSubImage2D cmd; |
+ cmd.Init(GL_TEXTURE_2D, 0, 0, 0, 0, 0, kBackBufferWidth, kBackBufferHeight); |
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
+ |
+ TextureManager* manager = group().texture_manager(); |
+ TextureRef* texture_ref = manager->GetTexture(client_texture_id_); |
+ ASSERT_TRUE(texture_ref != NULL); |
+ Texture* texture = texture_ref->texture(); |
+ EXPECT_TRUE(texture->SafeToRenderFrom()); |
} |
TEST_P(GLES2DecoderManualInitTest, CompressedImage2DMarksTextureAsCleared) { |