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

Side by Side Diff: cc/trees/layer_tree_host_impl.cc

Issue 2349743004: cc: Remove things from OutputSurface and CompositorFrameSink. (Closed)
Patch Set: delete-stuff-cfs: comment-and-rebase Created 4 years, 3 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 unified diff | Download patch
« no previous file with comments | « cc/trees/layer_tree_host_impl.h ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/layer_tree_host_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 1448 matching lines...) Expand 10 before | Expand all | Expand 10 after
1459 if (pending_tree_) 1459 if (pending_tree_)
1460 pending_tree_->set_needs_update_draw_properties(); 1460 pending_tree_->set_needs_update_draw_properties();
1461 1461
1462 // Compositor, not CompositorFrameSink, is responsible for setting damage 1462 // Compositor, not CompositorFrameSink, is responsible for setting damage
1463 // and triggering redraw for constraint changes. 1463 // and triggering redraw for constraint changes.
1464 SetFullViewportDamage(); 1464 SetFullViewportDamage();
1465 SetNeedsRedraw(); 1465 SetNeedsRedraw();
1466 } 1466 }
1467 } 1467 }
1468 1468
1469 void LayerTreeHostImpl::SetNeedsRedrawRect(const gfx::Rect& damage_rect) {
1470 if (damage_rect.IsEmpty())
1471 return;
1472 NotifySwapPromiseMonitorsOfSetNeedsRedraw();
1473 client_->SetNeedsRedrawRectOnImplThread(damage_rect);
1474 }
1475
1476 void LayerTreeHostImpl::DidSwapBuffersComplete() { 1469 void LayerTreeHostImpl::DidSwapBuffersComplete() {
1477 client_->DidSwapBuffersCompleteOnImplThread(); 1470 client_->DidSwapBuffersCompleteOnImplThread();
1478 } 1471 }
1479 1472
1480 void LayerTreeHostImpl::DidReceiveTextureInUseResponses(
1481 const gpu::TextureInUseResponses& responses) {
1482 NOTREACHED();
1483 }
1484
1485 void LayerTreeHostImpl::ReclaimResources( 1473 void LayerTreeHostImpl::ReclaimResources(
1486 const ReturnedResourceArray& resources) { 1474 const ReturnedResourceArray& resources) {
1487 // TODO(piman): We may need to do some validation on this ack before 1475 // TODO(piman): We may need to do some validation on this ack before
1488 // processing it. 1476 // processing it.
1489 if (resource_provider_) 1477 if (resource_provider_)
1490 resource_provider_->ReceiveReturnsFromParent(resources); 1478 resource_provider_->ReceiveReturnsFromParent(resources);
1491 1479
1492 // In OOM, we now might be able to release more resources that were held 1480 // In OOM, we now might be able to release more resources that were held
1493 // because they were exported. 1481 // because they were exported.
1494 if (resource_pool_) { 1482 if (resource_pool_) {
(...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after
2291 compositor_frame_sink_ = nullptr; 2279 compositor_frame_sink_ = nullptr;
2292 2280
2293 // We don't know if the next CompositorFrameSink will support GPU 2281 // We don't know if the next CompositorFrameSink will support GPU
2294 // rasterization. Make sure to clear the flag so that we force a 2282 // rasterization. Make sure to clear the flag so that we force a
2295 // re-computation. 2283 // re-computation.
2296 use_gpu_rasterization_ = false; 2284 use_gpu_rasterization_ = false;
2297 } 2285 }
2298 2286
2299 bool LayerTreeHostImpl::InitializeRenderer( 2287 bool LayerTreeHostImpl::InitializeRenderer(
2300 CompositorFrameSink* compositor_frame_sink) { 2288 CompositorFrameSink* compositor_frame_sink) {
2301 DCHECK(compositor_frame_sink->capabilities().delegated_rendering);
2302 TRACE_EVENT0("cc", "LayerTreeHostImpl::InitializeRenderer"); 2289 TRACE_EVENT0("cc", "LayerTreeHostImpl::InitializeRenderer");
2303 2290
2304 ReleaseCompositorFrameSink(); 2291 ReleaseCompositorFrameSink();
2305 if (!compositor_frame_sink->BindToClient(this)) { 2292 if (!compositor_frame_sink->BindToClient(this)) {
2306 // Avoid recreating tree resources because we might not have enough 2293 // Avoid recreating tree resources because we might not have enough
2307 // information to do this yet (eg. we don't have a TileManager at this 2294 // information to do this yet (eg. we don't have a TileManager at this
2308 // point). 2295 // point).
2309 return false; 2296 return false;
2310 } 2297 }
2311 2298
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
2343 // UpdateDrawProperties() after calling RecreateTreeResources(). 2330 // UpdateDrawProperties() after calling RecreateTreeResources().
2344 active_tree_->set_needs_update_draw_properties(); 2331 active_tree_->set_needs_update_draw_properties();
2345 if (pending_tree_) 2332 if (pending_tree_)
2346 pending_tree_->set_needs_update_draw_properties(); 2333 pending_tree_->set_needs_update_draw_properties();
2347 2334
2348 CreateTileManagerResources(); 2335 CreateTileManagerResources();
2349 RecreateTreeResources(); 2336 RecreateTreeResources();
2350 2337
2351 // TODO(brianderson): Don't use a hard-coded parent draw time. 2338 // TODO(brianderson): Don't use a hard-coded parent draw time.
2352 base::TimeDelta parent_draw_time = 2339 base::TimeDelta parent_draw_time =
2353 (!settings_.use_external_begin_frame_source && 2340 compositor_frame_sink_->capabilities().adjust_deadline_for_parent
2354 compositor_frame_sink_->capabilities().adjust_deadline_for_parent)
2355 ? BeginFrameArgs::DefaultEstimatedParentDrawTime() 2341 ? BeginFrameArgs::DefaultEstimatedParentDrawTime()
2356 : base::TimeDelta(); 2342 : base::TimeDelta();
2357 client_->SetEstimatedParentDrawTime(parent_draw_time); 2343 client_->SetEstimatedParentDrawTime(parent_draw_time);
2358
2359 DCHECK_EQ(1, compositor_frame_sink_->capabilities().max_frames_pending);
2360 client_->OnCanDrawStateChanged(CanDraw()); 2344 client_->OnCanDrawStateChanged(CanDraw());
2361
2362 SetFullViewportDamage(); 2345 SetFullViewportDamage();
2363 // There will not be anything to draw here, so set high res 2346 // There will not be anything to draw here, so set high res
2364 // to avoid checkerboards, typically when we are recovering 2347 // to avoid checkerboards, typically when we are recovering
2365 // from lost context. 2348 // from lost context.
2366 // TODO(crbug.com/469175): Replace with RequiresHighResToDraw. 2349 // TODO(crbug.com/469175): Replace with RequiresHighResToDraw.
2367 SetRequiresHighResToDraw(); 2350 SetRequiresHighResToDraw();
2368 2351
2369 return true; 2352 return true;
2370 } 2353 }
2371 2354
(...skipping 1829 matching lines...) Expand 10 before | Expand all | Expand 10 after
4201 if (is_visible) { 4184 if (is_visible) {
4202 worker_context_visibility_ = 4185 worker_context_visibility_ =
4203 worker_context->CacheController()->ClientBecameVisible(); 4186 worker_context->CacheController()->ClientBecameVisible();
4204 } else { 4187 } else {
4205 worker_context->CacheController()->ClientBecameNotVisible( 4188 worker_context->CacheController()->ClientBecameNotVisible(
4206 std::move(worker_context_visibility_)); 4189 std::move(worker_context_visibility_));
4207 } 4190 }
4208 } 4191 }
4209 4192
4210 } // namespace cc 4193 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_impl.h ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698