diff options
Diffstat (limited to 'chromium/media/gpu/ipc/service/picture_buffer_manager_unittest.cc')
-rw-r--r-- | chromium/media/gpu/ipc/service/picture_buffer_manager_unittest.cc | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/chromium/media/gpu/ipc/service/picture_buffer_manager_unittest.cc b/chromium/media/gpu/ipc/service/picture_buffer_manager_unittest.cc index d74bc70841e..d98288dfda6 100644 --- a/chromium/media/gpu/ipc/service/picture_buffer_manager_unittest.cc +++ b/chromium/media/gpu/ipc/service/picture_buffer_manager_unittest.cc @@ -12,6 +12,7 @@ #include "base/test/task_environment.h" #include "media/base/simple_sync_token_client.h" #include "media/gpu/test/fake_command_buffer_helper.h" +#include "media/video/video_decode_accelerator.h" #include "testing/gtest/include/gtest/gtest.h" namespace media { @@ -39,14 +40,19 @@ class PictureBufferManagerImplTest : public testing::Test { pbm_->Initialize(environment_.GetMainThreadTaskRunner(), cbh_); } - std::vector<PictureBuffer> CreateARGBPictureBuffers(uint32_t count) { + std::vector<PictureBuffer> CreateARGBPictureBuffers( + uint32_t count, + VideoDecodeAccelerator::TextureAllocationMode mode = + VideoDecodeAccelerator::TextureAllocationMode::kAllocateGLTextures) { return pbm_->CreatePictureBuffers(count, PIXEL_FORMAT_ARGB, 1, - gfx::Size(320, 240), GL_TEXTURE_2D, - false /* use_shared_image */); + gfx::Size(320, 240), GL_TEXTURE_2D, mode); } - PictureBuffer CreateARGBPictureBuffer() { - std::vector<PictureBuffer> picture_buffers = CreateARGBPictureBuffers(1); + PictureBuffer CreateARGBPictureBuffer( + VideoDecodeAccelerator::TextureAllocationMode mode = + VideoDecodeAccelerator::TextureAllocationMode::kAllocateGLTextures) { + std::vector<PictureBuffer> picture_buffers = + CreateARGBPictureBuffers(1, mode); DCHECK_EQ(picture_buffers.size(), 1U); return picture_buffers[0]; } @@ -96,6 +102,17 @@ TEST_F(PictureBufferManagerImplTest, CreatePictureBuffer) { EXPECT_TRUE(cbh_->HasTexture(pb.client_texture_ids()[0])); } +TEST_F(PictureBufferManagerImplTest, CreatePictureBuffer_SharedImage) { + Initialize(); + PictureBuffer pb1 = CreateARGBPictureBuffer( + VideoDecodeAccelerator::TextureAllocationMode::kDoNotAllocateGLTextures); + EXPECT_EQ(pb1.client_texture_ids().size(), 0u); + + PictureBuffer pb2 = CreateARGBPictureBuffer( + VideoDecodeAccelerator::TextureAllocationMode::kAllocateGLTextures); + EXPECT_TRUE(cbh_->HasTexture(pb2.client_texture_ids()[0])); +} + TEST_F(PictureBufferManagerImplTest, CreatePictureBuffer_ContextLost) { Initialize(); cbh_->ContextLost(); |