Index: gpu/command_buffer/service/texture_manager_unittest.cc |
diff --git a/gpu/command_buffer/service/texture_manager_unittest.cc b/gpu/command_buffer/service/texture_manager_unittest.cc |
index 483aaf20fa65c3905bb4352ddb7ce2e8186aacf3..2f5f0369d731f321313ef4c29ae9fa5910c7cc39 100644 |
--- a/gpu/command_buffer/service/texture_manager_unittest.cc |
+++ b/gpu/command_buffer/service/texture_manager_unittest.cc |
@@ -466,11 +466,9 @@ TEST_F(TextureTest, SetTargetTextureExternalOES) { |
EXPECT_FALSE(TextureTestHelper::IsCubeComplete(texture)); |
EXPECT_FALSE(manager_->CanGenerateMipmaps(texture_ref_.get())); |
EXPECT_TRUE(TextureTestHelper::IsNPOT(texture)); |
- EXPECT_FALSE(manager_->CanRender(texture_ref_.get())); |
+ EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); |
EXPECT_TRUE(texture->SafeToRenderFrom()); |
EXPECT_TRUE(texture->IsImmutable()); |
- manager_->SetStreamTexture(texture_ref_.get(), true); |
- EXPECT_TRUE(manager_->CanRender(texture_ref_.get())); |
} |
TEST_F(TextureTest, ZeroSizeCanNotRender) { |
@@ -2002,6 +2000,26 @@ TEST_F(ProduceConsumeTextureTest, ProduceConsumeClearRectangle) { |
decoder_.get(), restored_texture.get(), GL_TEXTURE_RECTANGLE_ARB, 0)); |
} |
+TEST_F(ProduceConsumeTextureTest, ProduceConsumeExternal) { |
+ manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_EXTERNAL_OES); |
+ Texture* texture = texture_ref_->texture(); |
+ EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_EXTERNAL_OES), texture->target()); |
+ LevelInfo level0( |
+ GL_TEXTURE_EXTERNAL_OES, GL_RGBA, 1, 1, 1, 0, GL_UNSIGNED_BYTE, false); |
+ SetLevelInfo(texture_ref_.get(), 0, level0); |
+ EXPECT_TRUE(TextureTestHelper::IsTextureComplete(texture)); |
+ Texture* produced_texture = Produce(texture_ref_.get()); |
+ EXPECT_EQ(produced_texture, texture); |
+ |
+ GLuint client_id = texture2_->client_id(); |
+ manager_->RemoveTexture(client_id); |
+ Consume(client_id, produced_texture); |
+ scoped_refptr<TextureRef> restored_texture = manager_->GetTexture(client_id); |
+ EXPECT_EQ(produced_texture, restored_texture->texture()); |
+ EXPECT_EQ(level0, |
+ GetLevelInfo(restored_texture.get(), GL_TEXTURE_EXTERNAL_OES, 0)); |
+} |
+ |
TEST_F(ProduceConsumeTextureTest, ProduceConsumeStreamTexture) { |
manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_EXTERNAL_OES); |
Texture* texture = texture_ref_->texture(); |