File tree Expand file tree Collapse file tree 2 files changed +6
-5
lines changed Expand file tree Collapse file tree 2 files changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -91,20 +91,17 @@ class FrameDamage {
91
91
92
92
// See Damage::buffer_damage.
93
93
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;
97
95
}
98
96
99
- void Reset () { ignore_damage_ = true ; }
97
+ void Reset () { damage_ = std::nullopt ; }
100
98
101
99
private:
102
100
SkIRect additional_damage_ = SkIRect::MakeEmpty();
103
101
std::optional<Damage> damage_;
104
102
const LayerTree* prev_layer_tree_ = nullptr ;
105
103
int vertical_clip_alignment_ = 1 ;
106
104
int horizontal_clip_alignment_ = 1 ;
107
- bool ignore_damage_ = false ;
108
105
};
109
106
110
107
class CompositorContext {
Original file line number Diff line number Diff line change 77
77
fml::MakeCopyable ([this, //
78
78
renderer = impeller_renderer_, //
79
79
aiks_context = aiks_context_, //
80
+ frame_info = frame_info, //
80
81
metal_drawable //
81
82
](SurfaceFrame& surface_frame, DlCanvas* canvas) mutable -> bool {
82
83
if (!aiks_context) {
97
98
// Accumulate damage for other framebuffers
98
99
if (surface_frame.submit_info ().frame_damage ) {
99
100
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));
100
104
}
101
105
}
102
106
}
You can’t perform that action at this time.
0 commit comments