| 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 402cc8d0eff7b1394e8794b36d9b483eef7393aa..b9baf0e6a42be4aa973fbaf4a6464021f9a2e4cf 100644
|
| --- a/gpu/command_buffer/service/texture_manager_unittest.cc
|
| +++ b/gpu/command_buffer/service/texture_manager_unittest.cc
|
| @@ -469,8 +469,23 @@ TEST_F(TextureTest, SetTargetTextureExternalOES) {
|
| EXPECT_FALSE(manager_->CanRender(texture_ref_.get()));
|
| EXPECT_TRUE(texture->SafeToRenderFrom());
|
| EXPECT_TRUE(texture->IsImmutable());
|
| - manager_->SetStreamTexture(texture_ref_.get(), true);
|
| + manager_->SetLevelInfo(texture_ref_.get(),
|
| + GL_TEXTURE_EXTERNAL_OES,
|
| + 0,
|
| + GL_RGBA,
|
| + 0,
|
| + 0,
|
| + 1,
|
| + 0,
|
| + GL_RGBA,
|
| + GL_UNSIGNED_BYTE,
|
| + true);
|
| + manager_->SetLevelImage(texture_ref_.get(),
|
| + GL_TEXTURE_EXTERNAL_OES,
|
| + 0,
|
| + gfx::GLImage::CreateGLImage(0).get());
|
| EXPECT_TRUE(manager_->CanRender(texture_ref_.get()));
|
| + EXPECT_TRUE(texture->IsImmutable());
|
| }
|
|
|
| TEST_F(TextureTest, ZeroSizeCanNotRender) {
|
| @@ -1807,7 +1822,8 @@ TEST_F(TextureTest, AddToSignature) {
|
| EXPECT_EQ(11u, string_set.size());
|
| }
|
|
|
| -class ProduceConsumeTextureTest : public TextureTest {
|
| +class ProduceConsumeTextureTest : public TextureTest,
|
| + public ::testing::WithParamInterface<GLenum> {
|
| public:
|
| virtual void SetUp() {
|
| TextureTest::SetUpBase(NULL, "GL_OES_EGL_image_external");
|
| @@ -2002,25 +2018,49 @@ TEST_F(ProduceConsumeTextureTest, ProduceConsumeClearRectangle) {
|
| decoder_.get(), restored_texture.get(), GL_TEXTURE_RECTANGLE_ARB, 0));
|
| }
|
|
|
| -TEST_F(ProduceConsumeTextureTest, ProduceConsumeStreamTexture) {
|
| - manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_EXTERNAL_OES);
|
| +TEST_P(ProduceConsumeTextureTest, ProduceConsumeTextureWithImage) {
|
| + GLenum target = GetParam();
|
| + manager_->SetTarget(texture_ref_.get(), target);
|
| Texture* texture = texture_ref_->texture();
|
| - EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_EXTERNAL_OES), texture->target());
|
| - manager_->SetStreamTexture(texture_ref_.get(), true);
|
| + EXPECT_EQ(static_cast<GLenum>(target), texture->target());
|
| + scoped_refptr<gfx::GLImage> image(gfx::GLImage::CreateGLImage(0));
|
| + manager_->SetLevelInfo(texture_ref_.get(),
|
| + target,
|
| + 0,
|
| + GL_RGBA,
|
| + 0,
|
| + 0,
|
| + 1,
|
| + 0,
|
| + GL_RGBA,
|
| + GL_UNSIGNED_BYTE,
|
| + true);
|
| + manager_->SetLevelImage(texture_ref_.get(),
|
| + target,
|
| + 0,
|
| + image);
|
| GLuint service_id = texture->service_id();
|
| Texture* produced_texture = Produce(texture_ref_.get());
|
| - EXPECT_TRUE(texture->IsStreamTexture());
|
|
|
| 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_TRUE(restored_texture->texture()->IsStreamTexture());
|
| - EXPECT_TRUE(restored_texture->texture()->IsImmutable());
|
| EXPECT_EQ(service_id, restored_texture->service_id());
|
| + EXPECT_EQ(image.get(), restored_texture->texture()->GetLevelImage(target, 0));
|
| }
|
|
|
| +static const GLenum kTextureTargets[] = {
|
| + GL_TEXTURE_2D,
|
| + GL_TEXTURE_EXTERNAL_OES,
|
| + GL_TEXTURE_RECTANGLE_ARB,
|
| +};
|
| +
|
| +INSTANTIATE_TEST_CASE_P(Target,
|
| + ProduceConsumeTextureTest,
|
| + ::testing::ValuesIn(kTextureTargets));
|
| +
|
| TEST_F(ProduceConsumeTextureTest, ProduceConsumeCube) {
|
| manager_->SetTarget(texture_ref_.get(), GL_TEXTURE_CUBE_MAP);
|
| Texture* texture = texture_ref_->texture();
|
|
|