| Index: gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
|
| diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
|
| index e76cc96522eb45c859354f783e22678a8693eeef..535762a0141159cda7af7b6cd0682a8c59b067c0 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
|
| @@ -7050,6 +7050,48 @@ TEST_F(GLES2DecoderTest, IsEnabledReturnsCachedValue) {
|
| }
|
| }
|
|
|
| +TEST_F(GLES2DecoderTest, PixelTransferBufferObjectCHROMIUM) {
|
| + GLenum target = GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM;
|
| + const uint8 data[] = {4, 3, 2, 1};
|
| + BindBuffer bind_cmd;
|
| + bind_cmd.Init(target, client_buffer_id_);
|
| + EXPECT_EQ(error::kNoError, ExecuteCmd(bind_cmd));
|
| + BufferManager* manager = group().buffer_manager();
|
| + BufferManager::BufferInfo* info =
|
| + manager->GetBufferInfo(client_buffer_id_);
|
| + ASSERT_TRUE(info != NULL);
|
| + EXPECT_EQ(0, info->size());
|
| +
|
| + int8* shm_buf = static_cast<int8*>(shared_memory_address_);
|
| + memcpy(shm_buf, data, sizeof(data));
|
| + BufferData data_cmd;
|
| + data_cmd.Init(target, sizeof(data), shared_memory_id_, shared_memory_offset_,
|
| + GL_STREAM_DRAW);
|
| + EXPECT_EQ(error::kNoError, ExecuteCmd(data_cmd));
|
| +
|
| + // Check if buffer data is set correctly.
|
| + const uint8* buf = static_cast<const uint8*>(
|
| + info->GetRange(0, sizeof(data)));
|
| + ASSERT_TRUE(buf != NULL);
|
| + ASSERT_EQ(data[0], buf[0]);
|
| + ASSERT_EQ(data[sizeof(data) - 1], buf[sizeof(data) - 1]);
|
| +
|
| + // Check if shared memory buffer is used for texture upload.
|
| + DoBindTexture(GL_TEXTURE_2D, client_texture_id_, kServiceTextureId);
|
| + EXPECT_CALL(*gl_, GetError())
|
| + .WillRepeatedly(Return(GL_NO_ERROR));
|
| + TexImage2D cmd1;
|
| + EXPECT_CALL(*gl_, TexImage2D(
|
| + GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_RGBA,
|
| + GL_UNSIGNED_BYTE, shm_buf))
|
| + .Times(1)
|
| + .RetiresOnSaturation();
|
| + cmd1.Init(
|
| + GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_RGBA,
|
| + GL_UNSIGNED_BYTE, 0, 0);
|
| + EXPECT_EQ(error::kNoError, ExecuteCmd(cmd1));
|
| +}
|
| +
|
| // TODO(gman): Complete this test.
|
| // TEST_F(GLES2DecoderTest, CompressedTexImage2DGLError) {
|
| // }
|
|
|