Skip to content

Commit 30c3d61

Browse files
committed
Remove FrameDamage::ignore_damage_
1 parent 38ef3db commit 30c3d61

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

flow/compositor_context.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,20 +91,17 @@ class FrameDamage {
9191

9292
// See Damage::buffer_damage.
9393
std::optional<SkIRect> GetBufferDamage() {
94-
return (damage_ && !ignore_damage_)
95-
? std::make_optional(damage_->buffer_damage)
96-
: std::nullopt;
94+
return damage_ ? std::make_optional(damage_->buffer_damage) : std::nullopt;
9795
}
9896

99-
void Reset() { ignore_damage_ = true; }
97+
void Reset() { damage_ = std::nullopt; }
10098

10199
private:
102100
SkIRect additional_damage_ = SkIRect::MakeEmpty();
103101
std::optional<Damage> damage_;
104102
const LayerTree* prev_layer_tree_ = nullptr;
105103
int vertical_clip_alignment_ = 1;
106104
int horizontal_clip_alignment_ = 1;
107-
bool ignore_damage_ = false;
108105
};
109106

110107
class CompositorContext {

shell/gpu/gpu_surface_metal_impeller.mm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
fml::MakeCopyable([this, //
7878
renderer = impeller_renderer_, //
7979
aiks_context = aiks_context_, //
80+
frame_info = frame_info, //
8081
metal_drawable //
8182
](SurfaceFrame& surface_frame, DlCanvas* canvas) mutable -> bool {
8283
if (!aiks_context) {
@@ -97,6 +98,9 @@
9798
// Accumulate damage for other framebuffers
9899
if (surface_frame.submit_info().frame_damage) {
99100
entry.second.join(*surface_frame.submit_info().frame_damage);
101+
} else {
102+
// Not getting frame damage assume whole frame is repainted.
103+
entry.second.join(SkIRect::MakeSize(frame_info));
100104
}
101105
}
102106
}

0 commit comments

Comments
 (0)