#include "components/viz/service/display/resolved_frame_data.h"
#include <set>
#include <utility>
#include "base/containers/to_vector.h"
#include "base/logging.h"
#include "cc/base/math_util.h"
#include "components/viz/common/quads/compositor_render_pass.h"
#include "components/viz/common/quads/compositor_render_pass_draw_quad.h"
#include "components/viz/common/quads/offset_tag.h"
#include "components/viz/common/quads/texture_draw_quad.h"
#include "components/viz/common/quads/yuv_video_draw_quad.h"
#include "components/viz/service/surfaces/surface.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/rect_conversions.h"
#include "ui/gfx/geometry/rect_f.h"
#include "ui/gfx/geometry/transform.h"
#include "ui/gfx/geometry/vector2d_f.h"
namespace viz {
namespace {
gfx::Rect EnclosingOffsetRect(const gfx::Rect& rect, gfx::Vector2dF offset) { … }
}
const std::optional<gfx::Rect>& GetOptionalDamageRectFromQuad(
const DrawQuad* quad) { … }
ResolvedQuadData::ResolvedQuadData(const DrawQuad& quad)
: … { … }
FixedPassData::FixedPassData() = default;
FixedPassData::FixedPassData(FixedPassData&& other) = default;
FixedPassData& FixedPassData::operator=(FixedPassData&& other) = default;
FixedPassData::~FixedPassData() = default;
AggregationPassData::AggregationPassData() = default;
AggregationPassData::AggregationPassData(AggregationPassData&& other) = default;
AggregationPassData& AggregationPassData::operator=(
AggregationPassData&& other) = default;
AggregationPassData::~AggregationPassData() = default;
void AggregationPassData::Reset() { … }
PersistentPassData::PersistentPassData() = default;
PersistentPassData::PersistentPassData(PersistentPassData&& other) = default;
PersistentPassData& PersistentPassData::operator=(PersistentPassData& other) =
default;
PersistentPassData& PersistentPassData::operator=(
const PersistentPassData& other) = default;
PersistentPassData& PersistentPassData::operator=(PersistentPassData&& other) =
default;
PersistentPassData::~PersistentPassData() = default;
ResolvedPassData::ResolvedPassData(FixedPassData fixed_data)
: … { … }
ResolvedPassData::~ResolvedPassData() = default;
ResolvedPassData::ResolvedPassData(ResolvedPassData&& other) = default;
ResolvedPassData& ResolvedPassData::operator=(ResolvedPassData&& other) =
default;
const CompositorRenderPass& ResolvedPassData::render_pass() const { … }
void ResolvedPassData::CopyAndResetPersistentPassData() { … }
void ResolvedPassData::SetCompositorRenderPass(CompositorRenderPass* pass) { … }
void ResolvedPassData::ResetCompositorRenderPass() { … }
ResolvedFrameData::ResolvedFrameData(DisplayResourceProvider* resource_provider,
Surface* surface,
uint64_t previous_frame_index,
AggregatedRenderPassId prev_root_pass_id)
: … { … }
ResolvedFrameData::~ResolvedFrameData() { … }
void ResolvedFrameData::SetFullDamageForNextAggregation() { … }
gfx::Size ResolvedFrameData::size_in_pixels() const { … }
float ResolvedFrameData::device_scale_factor() const { … }
uint32_t ResolvedFrameData::GetClientNamespaceId() const { … }
void ResolvedFrameData::ForceReleaseResource() { … }
void ResolvedFrameData::UpdateForAggregation(
AggregatedRenderPassId::Generator& render_pass_id_generator) { … }
void ResolvedFrameData::UpdateActiveFrame(
AggregatedRenderPassId::Generator& render_pass_id_generator) { … }
void ResolvedFrameData::UpdateOffsetTags(OffsetTagLookupFn lookup_value_fn) { … }
void ResolvedFrameData::ComputeOffsetTagContainingRects() { … }
void ResolvedFrameData::RebuildRenderPassesForOffsetTags() { … }
void ResolvedFrameData::RecomputeOffsetTagDamage() { … }
void ResolvedFrameData::SetInvalid() { … }
bool ResolvedFrameData::WasUsedInAggregation() const { … }
void ResolvedFrameData::ResetAfterAggregation() { … }
const CompositorFrameMetadata& ResolvedFrameData::GetMetadata() const { … }
bool ResolvedFrameData::WillDraw() const { … }
ResolvedPassData& ResolvedFrameData::GetRenderPassDataById(
CompositorRenderPassId render_pass_id) { … }
const ResolvedPassData& ResolvedFrameData::GetRenderPassDataById(
CompositorRenderPassId render_pass_id) const { … }
ResolvedPassData& ResolvedFrameData::GetRootRenderPassData() { … }
const ResolvedPassData& ResolvedFrameData::GetRootRenderPassData() const { … }
FrameDamageType ResolvedFrameData::GetFrameDamageType() const { … }
gfx::Rect ResolvedFrameData::GetSurfaceDamage() const { … }
const gfx::Rect& ResolvedFrameData::GetOutputRect() const { … }
void ResolvedFrameData::ReuseActiveFrame() { … }
void ResolvedFrameData::RegisterWithResourceProvider() { … }
void ResolvedFrameData::MovePersistentPassDataFromPreviousFrame(
const std::vector<ResolvedPassData>& previous_resolved_passes) { … }
}