| Index: cc/output/gl_renderer.cc
|
| diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc
|
| index ae13dd3bcb3e934eb7e90518c5598c54c895e1e5..63d49457686292cafbccb84d9edb254d23efed28 100644
|
| --- a/cc/output/gl_renderer.cc
|
| +++ b/cc/output/gl_renderer.cc
|
| @@ -595,7 +595,7 @@ void GLRenderer::DrawDebugBorderQuad(const DrawingFrame* frame,
|
| gl_->DrawElements(GL_LINE_LOOP, 4, GL_UNSIGNED_SHORT, 0);
|
| }
|
|
|
| -static skia::RefPtr<SkImage> ApplyImageFilter(
|
| +static sk_sp<SkImage> ApplyImageFilter(
|
| std::unique_ptr<GLRenderer::ScopedUseGrContext> use_gr_context,
|
| ResourceProvider* resource_provider,
|
| const gfx::RectF& src_rect,
|
| @@ -604,10 +604,10 @@ static skia::RefPtr<SkImage> ApplyImageFilter(
|
| SkImageFilter* filter,
|
| ScopedResource* source_texture_resource) {
|
| if (!filter)
|
| - return skia::RefPtr<SkImage>();
|
| + return nullptr;
|
|
|
| if (!use_gr_context)
|
| - return skia::RefPtr<SkImage>();
|
| + return nullptr;
|
|
|
| ResourceProvider::ScopedReadLockGL lock(resource_provider,
|
| source_texture_resource->id());
|
| @@ -625,13 +625,13 @@ static skia::RefPtr<SkImage> ApplyImageFilter(
|
| skia::GrGLTextureInfoToGrBackendObject(texture_info);
|
| backend_texture_description.fOrigin = kBottomLeft_GrSurfaceOrigin;
|
|
|
| - skia::RefPtr<SkImage> srcImage = skia::AdoptRef(SkImage::NewFromTexture(
|
| - use_gr_context->context(), backend_texture_description));
|
| + sk_sp<SkImage> srcImage = SkImage::MakeFromTexture(
|
| + use_gr_context->context(), backend_texture_description);
|
| if (!srcImage.get()) {
|
| TRACE_EVENT_INSTANT0("cc",
|
| "ApplyImageFilter wrap background texture failed",
|
| TRACE_EVENT_SCOPE_THREAD);
|
| - return skia::RefPtr<SkImage>();
|
| + return nullptr;
|
| }
|
|
|
| // Create surface to draw into.
|
| @@ -642,7 +642,7 @@ static skia::RefPtr<SkImage> ApplyImageFilter(
|
| if (!surface) {
|
| TRACE_EVENT_INSTANT0("cc", "ApplyImageFilter surface allocation failed",
|
| TRACE_EVENT_SCOPE_THREAD);
|
| - return skia::RefPtr<SkImage>();
|
| + return nullptr;
|
| }
|
|
|
| SkMatrix local_matrix;
|
| @@ -658,9 +658,9 @@ static skia::RefPtr<SkImage> ApplyImageFilter(
|
| // its externally referenced resources would force the rendering to be
|
| // flushed.
|
| surface->getCanvas()->flush();
|
| - skia::RefPtr<SkImage> image = skia::AdoptRef(surface->newImageSnapshot());
|
| + sk_sp<SkImage> image = surface->makeImageSnapshot();
|
| if (!image || !image->isTextureBacked()) {
|
| - return skia::RefPtr<SkImage>();
|
| + return nullptr;
|
| }
|
|
|
| CHECK(image->isTextureBacked());
|
| @@ -849,16 +849,16 @@ std::unique_ptr<ScopedResource> GLRenderer::GetBackdropTexture(
|
| return device_background_texture;
|
| }
|
|
|
| -skia::RefPtr<SkImage> GLRenderer::ApplyBackgroundFilters(
|
| +sk_sp<SkImage> GLRenderer::ApplyBackgroundFilters(
|
| DrawingFrame* frame,
|
| const RenderPassDrawQuad* quad,
|
| ScopedResource* background_texture,
|
| const gfx::RectF& rect) {
|
| DCHECK(ShouldApplyBackgroundFilters(quad));
|
| - skia::RefPtr<SkImageFilter> filter = RenderSurfaceFilters::BuildImageFilter(
|
| + sk_sp<SkImageFilter> filter = RenderSurfaceFilters::BuildImageFilter(
|
| quad->background_filters, gfx::SizeF(background_texture->size()));
|
|
|
| - skia::RefPtr<SkImage> background_with_filters = ApplyImageFilter(
|
| + sk_sp<SkImage> background_with_filters = ApplyImageFilter(
|
| ScopedUseGrContext::Create(this, frame), resource_provider_, rect, rect,
|
| quad->filters_scale, filter.get(), background_texture);
|
| return background_with_filters;
|
| @@ -926,7 +926,7 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame,
|
| settings_->force_blending_with_shaders;
|
|
|
| std::unique_ptr<ScopedResource> background_texture;
|
| - skia::RefPtr<SkImage> background_image;
|
| + sk_sp<SkImage> background_image;
|
| GLuint background_image_id = 0;
|
| gfx::Rect background_rect;
|
| if (use_shaders_for_blending) {
|
| @@ -986,13 +986,13 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame,
|
|
|
| // TODO(senorblanco): Cache this value so that we don't have to do it for both
|
| // the surface and its replica. Apply filters to the contents texture.
|
| - skia::RefPtr<SkImage> filter_image;
|
| + sk_sp<SkImage> filter_image;
|
| GLuint filter_image_id = 0;
|
| SkScalar color_matrix[20];
|
| bool use_color_matrix = false;
|
| gfx::RectF rect = gfx::RectF(quad->rect);
|
| if (!quad->filters.IsEmpty()) {
|
| - skia::RefPtr<SkImageFilter> filter = RenderSurfaceFilters::BuildImageFilter(
|
| + sk_sp<SkImageFilter> filter = RenderSurfaceFilters::BuildImageFilter(
|
| quad->filters, gfx::SizeF(contents_texture->size()));
|
| if (filter) {
|
| SkColorFilter* colorfilter_rawptr = NULL;
|
|
|