| Index: cc/resources/resource_provider_unittest.cc
|
| diff --git a/cc/resources/resource_provider_unittest.cc b/cc/resources/resource_provider_unittest.cc
|
| index e10e01ccdcac04db9c6d429deee0350995bf2e51..ee180726ddd33f7656c7621a7b1c281be75729a0 100644
|
| --- a/cc/resources/resource_provider_unittest.cc
|
| +++ b/cc/resources/resource_provider_unittest.cc
|
| @@ -633,8 +633,10 @@ TEST_P(ResourceProviderTest, TransferGLResources) {
|
|
|
| ResourceProvider::ResourceId id3 = child_resource_provider_->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureHintImmutable, format);
|
| - child_resource_provider_->AcquireImageRasterBuffer(id3);
|
| - child_resource_provider_->ReleaseImageRasterBuffer(id3);
|
| + child_resource_provider_->AcquireImage(id3);
|
| + int stride;
|
| + child_resource_provider_->MapImage(id3, &stride);
|
| + child_resource_provider_->UnmapImage(id3);
|
|
|
| GLuint external_texture_id = child_context_->createExternalTexture();
|
| child_context_->bindTexture(GL_TEXTURE_EXTERNAL_OES, external_texture_id);
|
| @@ -980,15 +982,12 @@ TEST_P(ResourceProviderTest, TransferSoftwareResources) {
|
|
|
| ResourceProvider::ResourceId id3 = child_resource_provider_->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureHintImmutable, format);
|
| + child_resource_provider_->AcquireImage(id3);
|
| uint8_t data3[4] = { 6, 7, 8, 9 };
|
| - SkImageInfo info = SkImageInfo::MakeN32Premul(size.width(), size.height());
|
| - RasterBuffer* raster_buffer =
|
| - child_resource_provider_->AcquireImageRasterBuffer(id3);
|
| - skia::RefPtr<SkCanvas> canvas = raster_buffer->AcquireSkCanvas();
|
| - canvas->writePixels(info, data3, info.minRowBytes(), 0, 0);
|
| - raster_buffer->ReleaseSkCanvas(canvas);
|
| - canvas.clear();
|
| - child_resource_provider_->ReleaseImageRasterBuffer(id3);
|
| + int stride;
|
| + void* data = child_resource_provider_->MapImage(id3, &stride);
|
| + memcpy(data, data3, sizeof(data3));
|
| + child_resource_provider_->UnmapImage(id3);
|
|
|
| scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory());
|
| shared_memory->CreateAndMapAnonymous(1);
|
| @@ -3051,10 +3050,7 @@ TEST_P(ResourceProviderTest, TextureAllocation) {
|
| // Same for async version.
|
| id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureHintImmutable, format);
|
| - RasterBuffer* raster_buffer = resource_provider->AcquirePixelRasterBuffer(id);
|
| - skia::RefPtr<SkCanvas> canvas = raster_buffer->AcquireSkCanvas();
|
| - raster_buffer->ReleaseSkCanvas(canvas);
|
| - canvas.clear();
|
| + resource_provider->AcquirePixelBuffer(id);
|
|
|
| EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id));
|
| EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2);
|
| @@ -3063,7 +3059,7 @@ TEST_P(ResourceProviderTest, TextureAllocation) {
|
| resource_provider->BeginSetPixels(id);
|
| ASSERT_TRUE(resource_provider->DidSetPixelsComplete(id));
|
|
|
| - resource_provider->ReleasePixelRasterBuffer(id);
|
| + resource_provider->ReleasePixelBuffer(id);
|
|
|
| EXPECT_CALL(*context, RetireTextureId(texture_id)).Times(1);
|
| resource_provider->DeleteResource(id);
|
| @@ -3216,10 +3212,7 @@ TEST_P(ResourceProviderTest, PixelBuffer_GLTexture) {
|
|
|
| id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureHintImmutable, format);
|
| - RasterBuffer* raster_buffer = resource_provider->AcquirePixelRasterBuffer(id);
|
| - skia::RefPtr<SkCanvas> canvas = raster_buffer->AcquireSkCanvas();
|
| - raster_buffer->ReleaseSkCanvas(canvas);
|
| - canvas.clear();
|
| + resource_provider->AcquirePixelBuffer(id);
|
|
|
| EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id));
|
| EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2);
|
| @@ -3229,7 +3222,7 @@ TEST_P(ResourceProviderTest, PixelBuffer_GLTexture) {
|
|
|
| EXPECT_TRUE(resource_provider->DidSetPixelsComplete(id));
|
|
|
| - resource_provider->ReleasePixelRasterBuffer(id);
|
| + resource_provider->ReleasePixelBuffer(id);
|
|
|
| EXPECT_CALL(*context, RetireTextureId(texture_id)).Times(1);
|
| resource_provider->DeleteResource(id);
|
| @@ -3266,10 +3259,7 @@ TEST_P(ResourceProviderTest, ForcingAsyncUploadToComplete) {
|
|
|
| id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureHintImmutable, format);
|
| - RasterBuffer* raster_buffer = resource_provider->AcquirePixelRasterBuffer(id);
|
| - skia::RefPtr<SkCanvas> canvas = raster_buffer->AcquireSkCanvas();
|
| - raster_buffer->ReleaseSkCanvas(canvas);
|
| - canvas.clear();
|
| + resource_provider->AcquirePixelBuffer(id);
|
|
|
| EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id));
|
| EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2);
|
| @@ -3282,7 +3272,7 @@ TEST_P(ResourceProviderTest, ForcingAsyncUploadToComplete) {
|
| EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, 0)).Times(1);
|
| resource_provider->ForceSetPixelsToComplete(id);
|
|
|
| - resource_provider->ReleasePixelRasterBuffer(id);
|
| + resource_provider->ReleasePixelBuffer(id);
|
|
|
| EXPECT_CALL(*context, RetireTextureId(texture_id)).Times(1);
|
| resource_provider->DeleteResource(id);
|
| @@ -3321,12 +3311,8 @@ TEST_P(ResourceProviderTest, PixelBufferLostContext) {
|
| context->loseContextCHROMIUM(GL_GUILTY_CONTEXT_RESET_ARB,
|
| GL_INNOCENT_CONTEXT_RESET_ARB);
|
|
|
| - RasterBuffer* raster_buffer = resource_provider->AcquirePixelRasterBuffer(id);
|
| - skia::RefPtr<SkCanvas> canvas = raster_buffer->AcquireSkCanvas();
|
| - EXPECT_TRUE(canvas.get() == NULL);
|
| - raster_buffer->ReleaseSkCanvas(canvas);
|
| - canvas.clear();
|
| - resource_provider->ReleasePixelRasterBuffer(id);
|
| + resource_provider->AcquirePixelBuffer(id);
|
| + resource_provider->ReleasePixelBuffer(id);
|
| Mock::VerifyAndClearExpectations(context);
|
| }
|
|
|
| @@ -3370,6 +3356,8 @@ TEST_P(ResourceProviderTest, Image_GLTexture) {
|
| createImageCHROMIUM(kWidth, kHeight, GL_RGBA8_OES, GL_IMAGE_MAP_CHROMIUM))
|
| .WillOnce(Return(kImageId))
|
| .RetiresOnSaturation();
|
| + resource_provider->AcquireImage(id);
|
| +
|
| EXPECT_CALL(*context, getImageParameterivCHROMIUM(kImageId,
|
| GL_IMAGE_ROWBYTES_CHROMIUM,
|
| _))
|
| @@ -3378,8 +3366,13 @@ TEST_P(ResourceProviderTest, Image_GLTexture) {
|
| EXPECT_CALL(*context, mapImageCHROMIUM(kImageId))
|
| .WillOnce(Return(dummy_mapped_buffer_address))
|
| .RetiresOnSaturation();
|
| - resource_provider->AcquireImageRasterBuffer(id);
|
| - resource_provider->ReleaseImageRasterBuffer(id);
|
| + int stride;
|
| + resource_provider->MapImage(id, &stride);
|
| +
|
| + EXPECT_CALL(*context, unmapImageCHROMIUM(kImageId))
|
| + .Times(1)
|
| + .RetiresOnSaturation();
|
| + resource_provider->UnmapImage(id);
|
|
|
| EXPECT_CALL(*context, NextTextureId())
|
| .WillOnce(Return(kTextureId))
|
| @@ -3404,8 +3397,12 @@ TEST_P(ResourceProviderTest, Image_GLTexture) {
|
| EXPECT_CALL(*context, mapImageCHROMIUM(kImageId))
|
| .WillOnce(Return(dummy_mapped_buffer_address))
|
| .RetiresOnSaturation();
|
| - resource_provider->AcquireImageRasterBuffer(id);
|
| - resource_provider->ReleaseImageRasterBuffer(id);
|
| + resource_provider->MapImage(id, &stride);
|
| +
|
| + EXPECT_CALL(*context, unmapImageCHROMIUM(kImageId))
|
| + .Times(1)
|
| + .RetiresOnSaturation();
|
| + resource_provider->UnmapImage(id);
|
|
|
| EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kTextureId)).Times(1)
|
| .RetiresOnSaturation();
|
| @@ -3454,17 +3451,13 @@ TEST_P(ResourceProviderTest, Image_Bitmap) {
|
|
|
| id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureHintImmutable, format);
|
| + resource_provider->AcquireImage(id);
|
|
|
| - SkBitmap bitmap;
|
| - bitmap.allocN32Pixels(size.width(), size.height());
|
| - *(bitmap.getAddr32(0, 0)) = kBadBeef;
|
| - RasterBuffer* raster_buffer = resource_provider->AcquireImageRasterBuffer(id);
|
| - skia::RefPtr<SkCanvas> canvas = raster_buffer->AcquireSkCanvas();
|
| - ASSERT_TRUE(!!canvas);
|
| - canvas->writePixels(bitmap, 0, 0);
|
| - raster_buffer->ReleaseSkCanvas(canvas);
|
| - canvas.clear();
|
| - resource_provider->ReleaseImageRasterBuffer(id);
|
| + int stride;
|
| + void* data = resource_provider->MapImage(id, &stride);
|
| + ASSERT_TRUE(!!data);
|
| + memcpy(data, &kBadBeef, sizeof(kBadBeef));
|
| + resource_provider->UnmapImage(id);
|
|
|
| {
|
| ResourceProvider::ScopedReadLockSoftware lock(resource_provider.get(), id);
|
| @@ -3474,6 +3467,7 @@ TEST_P(ResourceProviderTest, Image_Bitmap) {
|
| EXPECT_EQ(*sk_bitmap->getAddr32(0, 0), kBadBeef);
|
| }
|
|
|
| + resource_provider->ReleaseImage(id);
|
| resource_provider->DeleteResource(id);
|
| }
|
|
|
| @@ -3527,8 +3521,13 @@ TEST_P(ResourceProviderTest, CopyResource_GLTexture) {
|
| EXPECT_CALL(*context, mapImageCHROMIUM(kImageId))
|
| .WillOnce(Return(dummy_mapped_buffer_address))
|
| .RetiresOnSaturation();
|
| - resource_provider->AcquireImageRasterBuffer(source_id);
|
| - resource_provider->ReleaseImageRasterBuffer(source_id);
|
| + resource_provider->AcquireImage(source_id);
|
| + int stride;
|
| + resource_provider->MapImage(source_id, &stride);
|
| + EXPECT_CALL(*context, unmapImageCHROMIUM(kImageId))
|
| + .Times(1)
|
| + .RetiresOnSaturation();
|
| + resource_provider->UnmapImage(source_id);
|
| Mock::VerifyAndClearExpectations(context);
|
|
|
| dest_id = resource_provider->CreateResource(
|
| @@ -3590,18 +3589,13 @@ TEST_P(ResourceProviderTest, CopyResource_Bitmap) {
|
|
|
| source_id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureHintImmutable, format);
|
| + resource_provider->AcquireImage(source_id);
|
|
|
| - SkBitmap bitmap;
|
| - bitmap.allocN32Pixels(size.width(), size.height());
|
| - *(bitmap.getAddr32(0, 0)) = kBadBeef;
|
| - RasterBuffer* raster_buffer =
|
| - resource_provider->AcquireImageRasterBuffer(source_id);
|
| - skia::RefPtr<SkCanvas> canvas = raster_buffer->AcquireSkCanvas();
|
| - ASSERT_TRUE(!!canvas);
|
| - canvas->writePixels(bitmap, 0, 0);
|
| - raster_buffer->ReleaseSkCanvas(canvas);
|
| - canvas.clear();
|
| - resource_provider->ReleaseImageRasterBuffer(source_id);
|
| + int stride;
|
| + void* data = resource_provider->MapImage(source_id, &stride);
|
| + ASSERT_TRUE(!!data);
|
| + memcpy(data, &kBadBeef, sizeof(kBadBeef));
|
| + resource_provider->UnmapImage(source_id);
|
|
|
| dest_id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureHintImmutable, format);
|
|
|