(rect.right == 0)) {
state_ &= ~kLayerContentChanged;
state_ &= ~kSurfaceDamageChanged;
- surface_damage_ = rect;
+ surface_damage_.reset();
+ current_rendering_damage_.reset();
return;
}
} else if (rects == 0) {
layer_cache_ &= ~kDisplayFrameRectChanged;
layer_cache_ &= ~kSourceRectChanged;
if (!last_rendering_damage_.empty()) {
- last_rendering_damage_ = HwcRect<int>(0, 0, 0, 0);
+ last_rendering_damage_.reset();
}
if (!previous_rendering_damage_.empty()) {
last_rendering_damage_ = previous_rendering_damage_;
- previous_rendering_damage_ = HwcRect<int>(0, 0, 0, 0);
+ previous_rendering_damage_.reset();
}
if (!current_rendering_damage_.empty()) {
previous_rendering_damage_ = current_rendering_damage_;
- current_rendering_damage_ = surface_damage_;
}
+
+ current_rendering_damage_ = surface_damage_;
+ damage_validated_ = false;
}
if (left_constraint_.empty() && left_source_constraint_.empty())
surface_damage_.left =
std::max(surface_damage_.left, display_frame_.left);
} else {
- surface_damage_ = HwcRect<int>(0, 0, 0, 0);
+ surface_damage_.reset();
}
IMOSAICDISPLAYTRACE(
"surface_damage_ %d %d %d %d left_source_constraint: %d "