| Index: cc/output/software_renderer.cc
|
| diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc
|
| index 442cd8d5aea01c8ea12a18bb3bcb09d5f8d68161..ddd3473ad34a1c114cd47a6d3185cab1accf3400 100644
|
| --- a/cc/output/software_renderer.cc
|
| +++ b/cc/output/software_renderer.cc
|
| @@ -63,7 +63,7 @@ static SkShader::TileMode WrapModeToTileMode(GLint wrap_mode) {
|
|
|
| scoped_ptr<SoftwareRenderer> SoftwareRenderer::Create(
|
| RendererClient* client,
|
| - const LayerTreeSettings* settings,
|
| + const RendererSettings* settings,
|
| OutputSurface* output_surface,
|
| ResourceProvider* resource_provider) {
|
| return make_scoped_ptr(new SoftwareRenderer(
|
| @@ -71,7 +71,7 @@ scoped_ptr<SoftwareRenderer> SoftwareRenderer::Create(
|
| }
|
|
|
| SoftwareRenderer::SoftwareRenderer(RendererClient* client,
|
| - const LayerTreeSettings* settings,
|
| + const RendererSettings* settings,
|
| OutputSurface* output_surface,
|
| ResourceProvider* resource_provider)
|
| : DirectRenderer(client, settings, output_surface, resource_provider),
|
| @@ -108,6 +108,7 @@ void SoftwareRenderer::BeginDrawingFrame(DrawingFrame* frame) {
|
| void SoftwareRenderer::FinishDrawingFrame(DrawingFrame* frame) {
|
| TRACE_EVENT0("cc", "SoftwareRenderer::FinishDrawingFrame");
|
| current_framebuffer_lock_ = nullptr;
|
| + current_framebuffer_canvas_.clear();
|
| current_canvas_ = NULL;
|
| root_canvas_ = NULL;
|
|
|
| @@ -151,6 +152,7 @@ void SoftwareRenderer::Finish() {}
|
| void SoftwareRenderer::BindFramebufferToOutputSurface(DrawingFrame* frame) {
|
| DCHECK(!output_surface_->HasExternalStencilTest());
|
| current_framebuffer_lock_ = nullptr;
|
| + current_framebuffer_canvas_.clear();
|
| current_canvas_ = root_canvas_;
|
| }
|
|
|
| @@ -161,7 +163,9 @@ bool SoftwareRenderer::BindFramebufferToTexture(
|
| current_framebuffer_lock_ = make_scoped_ptr(
|
| new ResourceProvider::ScopedWriteLockSoftware(
|
| resource_provider_, texture->id()));
|
| - current_canvas_ = current_framebuffer_lock_->sk_canvas();
|
| + current_framebuffer_canvas_ =
|
| + skia::AdoptRef(new SkCanvas(current_framebuffer_lock_->sk_bitmap()));
|
| + current_canvas_ = current_framebuffer_canvas_.get();
|
| InitializeViewport(frame,
|
| target_rect,
|
| gfx::Rect(target_rect.size()),
|
|
|