OSDN Git Service

Add helper to reset rect.
authorKalyan Kondapally <kalyan.kondapally@intel.com>
Mon, 8 Jan 2018 01:07:31 +0000 (17:07 -0800)
committerKalyan Kondapally <kalyan.kondapally@intel.com>
Mon, 8 Jan 2018 01:26:08 +0000 (17:26 -0800)
Jira: None.
Test: Build passes on Android.

Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
common/core/hwclayer.cpp
common/core/overlaylayer.cpp
public/hwcrect.h

index a71677e..fae2ba6 100644 (file)
@@ -107,7 +107,8 @@ void HwcLayer::SetSurfaceDamage(const HwcRegion& surface_damage) {
         (rect.right == 0)) {
       state_ &= ~kLayerContentChanged;
       state_ &= ~kSurfaceDamageChanged;
-      surface_damage_ = rect;
+      surface_damage_.reset();
+      current_rendering_damage_.reset();
       return;
     }
   } else if (rects == 0) {
@@ -201,18 +202,20 @@ void HwcLayer::Validate() {
     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())
index 7669d79..6800d83 100644 (file)
@@ -274,7 +274,7 @@ void OverlayLayer::InitializeState(HwcLayer* layer,
       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 "
index 775fada..934a194 100644 (file)
@@ -62,6 +62,12 @@ struct Rect {
     }
     return true;
   }
+
+  void reset() {
+    for (int i = 0; i < 4; i++) {
+      bounds[i] = 0;
+    }
+  }
 };
 
 }  // namespace hwcomposer