Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(749)

Unified Diff: cc/output/software_renderer.cc

Issue 13042012: Browser side changes for software compositing (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/output/software_renderer.h ('k') | content/browser/renderer_host/render_widget_host_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/software_renderer.cc
diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc
index d9898005e25f3d56fe7804a4daa4f79b3c64c997..1bd6fde0bbaba8b29e61f67c34a40b3acf2d52d1 100644
--- a/cc/output/software_renderer.cc
+++ b/cc/output/software_renderer.cc
@@ -67,6 +67,7 @@ SoftwareRenderer::SoftwareRenderer(RendererClient* client,
: DirectRenderer(client, resource_provider),
visible_(true),
is_scissor_enabled_(false),
+ is_viewport_changed_(true),
output_surface_(output_surface),
output_device_(output_surface->software_device()),
current_canvas_(NULL) {
@@ -81,8 +82,6 @@ SoftwareRenderer::SoftwareRenderer(RendererClient* client,
if (Settings().compositor_frame_message && client_->HasImplThread())
capabilities_.using_swap_complete_callback = true;
compositor_frame_.software_frame_data.reset(new SoftwareFrameData());
-
- ViewportChanged();
}
SoftwareRenderer::~SoftwareRenderer() {}
@@ -92,11 +91,15 @@ const RendererCapabilities& SoftwareRenderer::Capabilities() const {
}
void SoftwareRenderer::ViewportChanged() {
- output_device_->Resize(ViewportSize());
+ is_viewport_changed_ = true;
}
void SoftwareRenderer::BeginDrawingFrame(DrawingFrame* frame) {
TRACE_EVENT0("cc", "SoftwareRenderer::BeginDrawingFrame");
+ if (is_viewport_changed_) {
+ is_viewport_changed_ = false;
+ output_device_->Resize(ViewportSize());
+ }
root_canvas_ = output_device_->BeginPaint(
gfx::ToEnclosingRect(frame->root_damage_rect));
}
« no previous file with comments | « cc/output/software_renderer.h ('k') | content/browser/renderer_host/render_widget_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698