| Index: cc/output/software_renderer.cc
|
| diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc
|
| index b49fcf2a8782269e0c0f13e100da9cf509fe80f6..768f7086bd0070f63568afdf2d00a9b471f833d5 100644
|
| --- a/cc/output/software_renderer.cc
|
| +++ b/cc/output/software_renderer.cc
|
| @@ -51,15 +51,11 @@ bool IsScaleAndIntegerTranslate(const SkMatrix& matrix) {
|
|
|
| } // anonymous namespace
|
|
|
| -SoftwareRenderer::SoftwareRenderer(RendererClient* client,
|
| - const RendererSettings* settings,
|
| +SoftwareRenderer::SoftwareRenderer(const RendererSettings* settings,
|
| OutputSurface* output_surface,
|
| ResourceProvider* resource_provider)
|
| - : DirectRenderer(client, settings, output_surface, resource_provider),
|
| - is_scissor_enabled_(false),
|
| - is_backbuffer_discarded_(false),
|
| - output_device_(output_surface->software_device()),
|
| - current_canvas_(nullptr) {
|
| + : DirectRenderer(settings, output_surface, resource_provider),
|
| + output_device_(output_surface->software_device()) {
|
| if (resource_provider_) {
|
| capabilities_.max_texture_size = resource_provider_->max_texture_size();
|
| capabilities_.best_texture_format =
|
| @@ -89,13 +85,14 @@ void SoftwareRenderer::FinishDrawingFrame(DrawingFrame* frame) {
|
| TRACE_EVENT0("cc", "SoftwareRenderer::FinishDrawingFrame");
|
| current_framebuffer_lock_ = nullptr;
|
| current_framebuffer_canvas_.reset();
|
| - current_canvas_ = NULL;
|
| - root_canvas_ = NULL;
|
| + current_canvas_ = nullptr;
|
| + root_canvas_ = nullptr;
|
|
|
| output_device_->EndPaint();
|
| }
|
|
|
| void SoftwareRenderer::SwapBuffers(CompositorFrameMetadata metadata) {
|
| + DCHECK(visible());
|
| TRACE_EVENT0("cc,benchmark", "SoftwareRenderer::SwapBuffers");
|
| CompositorFrame compositor_frame;
|
| compositor_frame.metadata = std::move(metadata);
|
| @@ -597,31 +594,11 @@ void SoftwareRenderer::CopyCurrentRenderPassToBitmap(
|
| request->SendBitmapResult(std::move(bitmap));
|
| }
|
|
|
| -void SoftwareRenderer::DiscardBackbuffer() {
|
| - if (is_backbuffer_discarded_)
|
| - return;
|
| -
|
| - output_surface_->DiscardBackbuffer();
|
| -
|
| - is_backbuffer_discarded_ = true;
|
| -
|
| - // Damage tracker needs a full reset every time framebuffer is discarded.
|
| - client_->SetFullRootLayerDamage();
|
| -}
|
| -
|
| -void SoftwareRenderer::EnsureBackbuffer() {
|
| - if (!is_backbuffer_discarded_)
|
| - return;
|
| -
|
| - output_surface_->EnsureBackbuffer();
|
| - is_backbuffer_discarded_ = false;
|
| -}
|
| -
|
| void SoftwareRenderer::DidChangeVisibility() {
|
| if (visible())
|
| - EnsureBackbuffer();
|
| + output_surface_->EnsureBackbuffer();
|
| else
|
| - DiscardBackbuffer();
|
| + output_surface_->DiscardBackbuffer();
|
| }
|
|
|
| bool SoftwareRenderer::ShouldApplyBackgroundFilters(
|
|
|