blob: 6cd34c61935293475167d1cecfb456fd32ca232f [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/viz/test/compositor_frame_helpers.h"
#include "cc/output/compositor_frame.h"
namespace viz {
namespace test {
cc::CompositorFrame MakeCompositorFrame() {
cc::CompositorFrame frame = MakeEmptyCompositorFrame();
std::unique_ptr<cc::RenderPass> pass = cc::RenderPass::Create();
pass->SetNew(1, gfx::Rect(0, 0, 20, 20), gfx::Rect(), gfx::Transform());
frame.render_pass_list.push_back(std::move(pass));
return frame;
}
cc::CompositorFrame MakeEmptyCompositorFrame() {
cc::CompositorFrame frame;
frame.metadata.begin_frame_ack.source_id = BeginFrameArgs::kManualSourceId;
frame.metadata.begin_frame_ack.sequence_number =
BeginFrameArgs::kStartingFrameNumber;
frame.metadata.begin_frame_ack.has_damage = true;
frame.metadata.device_scale_factor = 1;
return frame;
}
cc::CompositorFrame MakeCompositorFrame(
std::vector<SurfaceId> activation_dependencies,
std::vector<SurfaceId> referenced_surfaces,
std::vector<TransferableResource> resource_list) {
cc::CompositorFrame compositor_frame = test::MakeCompositorFrame();
compositor_frame.metadata.begin_frame_ack = BeginFrameAck(0, 1, true);
compositor_frame.metadata.activation_dependencies =
std::move(activation_dependencies);
compositor_frame.metadata.referenced_surfaces =
std::move(referenced_surfaces);
compositor_frame.resource_list = std::move(resource_list);
return compositor_frame;
}
} // namespace test
} // namespace viz