0

[TreesInViz] Add DidDraw() back in renderer.

TEST=trees_in_viz bot

Bug: 401567193
Change-Id: Ic3cfed0c3bb6a957a255faaf1d96b3b1e3c57aed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6442669
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1445242}
This commit is contained in:
Zhenyao Mo
2025-04-10 06:05:35 -07:00
committed by Chromium LUCI CQ
parent 6518be40f7
commit 2724ba77b5

@ -1502,19 +1502,13 @@ DrawResult LayerTreeHostImpl::CalculateRenderPasses(FrameData* frame) {
}
} else if (it.state() == EffectTreeLayerListIterator::State::kLayer) {
LayerImpl* layer = it.current_layer();
if (use_layer_context_for_display_ &&
layer->GetLayerType() == mojom::LayerType::kVideo) {
// For VideoLayerImpl, WillDraw() and DidDraw() have to be called
// as a pair because one acquires the provider mutex and the other
// releases it.
// TODO(zmo): Do not skip video layer's WillDraw() once DidDraw() is
// also added back to renderer side for TreesInViz mode.
} else if (layer->WillDraw(context.draw_mode, resource_provider_.get())) {
if (layer->WillDraw(context.draw_mode, resource_provider_.get())) {
DCHECK_EQ(active_tree_.get(), layer->layer_tree_impl());
if (output_frame_data) {
frame->will_draw_layers.push_back(layer);
}
// This is necessary in TreesInViz mode to trigger DidDraw() through
// LayerTreeHostImpl::DidDrawAllLayers().
frame->will_draw_layers.push_back(layer);
if (layer->may_contain_video()) {
num_of_layers_with_videos++;
if (output_frame_data) {