Index: cc/output/gl_renderer.cc |
diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc |
index ac449a46f5df84bc66ffe091b6470f8c6a394cb9..e5462561979c9b724c9273eddbf4c404f8e62773 100644 |
--- a/cc/output/gl_renderer.cc |
+++ b/cc/output/gl_renderer.cc |
@@ -661,10 +661,9 @@ static skia::RefPtr<SkImage> ApplyImageFilter( |
desc.fHeight = source.height(); |
desc.fConfig = kSkia8888_GrPixelConfig; |
desc.fOrigin = kBottomLeft_GrSurfaceOrigin; |
- GrAutoScratchTexture scratch_texture( |
- use_gr_context->context(), desc, GrContext::kExact_ScratchTexMatch); |
skia::RefPtr<GrTexture> backing_store = |
- skia::AdoptRef(scratch_texture.detach()); |
+ skia::AdoptRef(use_gr_context->context()->refScratchTexture( |
+ desc, GrContext::kExact_ScratchTexMatch)); |
if (!backing_store) { |
TRACE_EVENT_INSTANT0("cc", |
"ApplyImageFilter scratch texture allocation failed", |
@@ -675,7 +674,7 @@ static skia::RefPtr<SkImage> ApplyImageFilter( |
// Create surface to draw into. |
skia::RefPtr<SkSurface> surface = skia::AdoptRef( |
SkSurface::NewRenderTargetDirect(backing_store->asRenderTarget())); |
- skia::RefPtr<SkCanvas> canvas = skia::SharePtr(surface->getCanvas()); |
+ SkCanvas* canvas = surface->getCanvas(); |
danakj
2014/10/16 15:34:01
can you leave this as it was? using SharePtr makes
bsalomon
2014/10/16 16:38:56
Done.
|
// Draw the source bitmap through the filter to the canvas. |
SkPaint paint; |
@@ -823,10 +822,9 @@ static skia::RefPtr<SkImage> ApplyBlendModeWithBackdrop( |
desc.fHeight = source.height(); |
desc.fConfig = kSkia8888_GrPixelConfig; |
desc.fOrigin = kBottomLeft_GrSurfaceOrigin; |
- GrAutoScratchTexture scratch_texture( |
- use_gr_context->context(), desc, GrContext::kExact_ScratchTexMatch); |
skia::RefPtr<GrTexture> backing_store = |
- skia::AdoptRef(scratch_texture.detach()); |
+ skia::AdoptRef(use_gr_context->context()->refScratchTexture( |
+ desc, GrContext::kExact_ScratchTexMatch)); |
if (!backing_store) { |
TRACE_EVENT_INSTANT0( |
"cc", |
@@ -840,7 +838,7 @@ static skia::RefPtr<SkImage> ApplyBlendModeWithBackdrop( |
SkSurface::NewRenderTargetDirect(backing_store->asRenderTarget())); |
if (!surface) |
return skia::RefPtr<SkImage>(); |
- skia::RefPtr<SkCanvas> canvas = skia::SharePtr(surface->getCanvas()); |
+ SkCanvas* canvas = surface->getCanvas(); |
danakj
2014/10/16 15:34:01
ditto
bsalomon
2014/10/16 16:38:57
Done.
|
// Draw the source bitmap through the filter to the canvas. |
canvas->clear(SK_ColorTRANSPARENT); |
@@ -1091,7 +1089,7 @@ 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_bitmap; |
+ skia::RefPtr<SkImage> filter_image; |
SkScalar color_matrix[20]; |
bool use_color_matrix = false; |
if (!quad->filters.IsEmpty()) { |
@@ -1111,13 +1109,12 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
// in the compositor. |
use_color_matrix = true; |
} else { |
- filter_bitmap = |
- ApplyImageFilter(ScopedUseGrContext::Create(this, frame), |
- resource_provider_, |
- quad->rect.origin(), |
- quad->filters_scale, |
- filter.get(), |
- contents_texture); |
+ filter_image = ApplyImageFilter(ScopedUseGrContext::Create(this, frame), |
+ resource_provider_, |
+ quad->rect.origin(), |
+ quad->filters_scale, |
+ filter.get(), |
+ contents_texture); |
} |
} |
} |
@@ -1144,10 +1141,10 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
// If blending is applied using shaders, the background texture with |
// filters will be used as backdrop for blending operation, so we don't |
// need to copy it to the frame buffer. |
- filter_bitmap = |
+ filter_image = |
ApplyBlendModeWithBackdrop(ScopedUseGrContext::Create(this, frame), |
resource_provider_, |
- filter_bitmap, |
+ filter_image, |
contents_texture, |
background_texture.get(), |
quad->shared_quad_state->blend_mode); |
@@ -1182,8 +1179,8 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
// this draw instead of having a separate copy of the background texture. |
scoped_ptr<ResourceProvider::ScopedSamplerGL> contents_resource_lock; |
- if (filter_bitmap) { |
- GrTexture* texture = filter_bitmap->getTexture(); |
+ if (filter_image) { |
+ GrTexture* texture = filter_image->getTexture(); |
DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_)); |
gl_->BindTexture(GL_TEXTURE_2D, texture->getTextureHandle()); |
} else { |
@@ -1441,7 +1438,7 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, |
// Flush the compositor context before the filter bitmap goes out of |
// scope, so the draw gets processed before the filter texture gets deleted. |
- if (filter_bitmap) |
+ if (filter_image) |
GLC(gl_, gl_->Flush()); |
if (CanApplyBlendModeUsingBlendFunc(blend_mode)) |