diff options
Diffstat (limited to 'cc/output/software_renderer.cc')
-rw-r--r-- | cc/output/software_renderer.cc | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc index 04f8a8b..7e8f4f8 100644 --- a/cc/output/software_renderer.cc +++ b/cc/output/software_renderer.cc @@ -51,21 +51,23 @@ bool IsScaleAndIntegerTranslate(const SkMatrix& matrix) { scoped_ptr<SoftwareRenderer> SoftwareRenderer::Create( RendererClient* client, + const LayerTreeSettings* settings, OutputSurface* output_surface, ResourceProvider* resource_provider) { - return make_scoped_ptr( - new SoftwareRenderer(client, output_surface, resource_provider)); + return make_scoped_ptr(new SoftwareRenderer( + client, settings, output_surface, resource_provider)); } SoftwareRenderer::SoftwareRenderer(RendererClient* client, + const LayerTreeSettings* settings, OutputSurface* output_surface, ResourceProvider* resource_provider) - : DirectRenderer(client, output_surface, resource_provider), - visible_(true), - is_scissor_enabled_(false), - is_backbuffer_discarded_(false), - output_device_(output_surface->software_device()), - current_canvas_(NULL) { + : DirectRenderer(client, settings, output_surface, resource_provider), + visible_(true), + is_scissor_enabled_(false), + is_backbuffer_discarded_(false), + output_device_(output_surface->software_device()), + current_canvas_(NULL) { if (resource_provider_) { capabilities_.max_texture_size = resource_provider_->max_texture_size(); capabilities_.best_texture_format = @@ -76,7 +78,7 @@ SoftwareRenderer::SoftwareRenderer(RendererClient* client, capabilities_.allow_partial_texture_updates = true; capabilities_.using_partial_swap = true; - capabilities_.using_map_image = Settings().use_map_image; + capabilities_.using_map_image = settings_->use_map_image; capabilities_.using_shared_memory_resources = true; } @@ -135,7 +137,7 @@ void SoftwareRenderer::EnsureScissorTestDisabled() { void SoftwareRenderer::Finish() {} void SoftwareRenderer::BindFramebufferToOutputSurface(DrawingFrame* frame) { - DCHECK(!client_->ExternalStencilTestEnabled()); + DCHECK(!output_surface_->HasExternalStencilTest()); current_framebuffer_lock_.reset(); current_canvas_ = root_canvas_; } @@ -228,8 +230,7 @@ void SoftwareRenderer::DoDrawQuad(DrawingFrame* frame, const DrawQuad* quad) { quad->IsLeftEdge() && quad->IsBottomEdge() && quad->IsRightEdge(); - if (Settings().allow_antialiasing && - all_four_edges_are_exterior) + if (settings_->allow_antialiasing && all_four_edges_are_exterior) current_paint_.setAntiAlias(true); current_paint_.setFilterBitmap(true); } |