test-hwc2: set layer visible region

Test: Add "#define HAVE_NO_SURFACE_FLINGER" to
          frameworks/native/libs/gui/BufferQueueCore.cpp.
      Recompile and flash.
      Run "mm" in frameworks/native/services/surfaceflinger/tests/hwc2.
      Push test-hwc2 to device.
      Run "adb root && adb shell stop".
      Run test case. Ex: "./test-hwc2"

Change-Id: I0e620fa6763d258d7875da9bf85d41c182e015d2
diff --git a/services/surfaceflinger/tests/hwc2/Hwc2TestLayer.cpp b/services/surfaceflinger/tests/hwc2/Hwc2TestLayer.cpp
index fcf5768..f9c5aa0 100644
--- a/services/surfaceflinger/tests/hwc2/Hwc2TestLayer.cpp
+++ b/services/surfaceflinger/tests/hwc2/Hwc2TestLayer.cpp
@@ -18,8 +18,7 @@
 
 #include "Hwc2TestLayer.h"
 
-Hwc2TestLayer::Hwc2TestLayer(Hwc2TestCoverage coverage, const Area& displayArea,
-        uint32_t zOrder)
+Hwc2TestLayer::Hwc2TestLayer(Hwc2TestCoverage coverage, const Area& displayArea)
     : mBlendMode(coverage),
       mBufferArea(coverage, displayArea),
       mColor(coverage),
@@ -29,8 +28,7 @@
       mPlaneAlpha(coverage),
       mSourceCrop(coverage),
       mSurfaceDamage(coverage),
-      mTransform(coverage),
-      mZOrder(zOrder)
+      mTransform(coverage)
 {
     mBufferArea.setDependent(&mBuffer);
     mBufferArea.setDependent(&mSourceCrop);
@@ -48,6 +46,7 @@
         dmp << property->dump();
     }
 
+    dmp << mVisibleRegion.dump();
     dmp << "\tz order: " << mZOrder << "\n";
 
     return dmp.str();
@@ -62,8 +61,20 @@
     return ret;
 }
 
+void Hwc2TestLayer::setZOrder(uint32_t zOrder)
+{
+    mZOrder = zOrder;
+}
+
+void Hwc2TestLayer::setVisibleRegion(const android::Region& region)
+{
+    return mVisibleRegion.set(region);
+}
+
 void Hwc2TestLayer::reset()
 {
+    mVisibleRegion.release();
+
     for (auto property : mProperties) {
         property->reset();
     }
@@ -74,6 +85,11 @@
     return mBlendMode.get();
 }
 
+Area Hwc2TestLayer::getBufferArea() const
+{
+    return mBufferArea.get();
+}
+
 hwc_color_t Hwc2TestLayer::getColor() const
 {
     return mColor.get();
@@ -120,6 +136,11 @@
     return mTransform.get();
 }
 
+hwc_region_t Hwc2TestLayer::getVisibleRegion() const
+{
+    return mVisibleRegion.get();
+}
+
 uint32_t Hwc2TestLayer::getZOrder() const
 {
     return mZOrder;
@@ -179,3 +200,10 @@
 {
     return mTransform.advance();
 }
+
+bool Hwc2TestLayer::advanceVisibleRegion()
+{
+    if (mPlaneAlpha.advance())
+        return true;
+    return mDisplayFrame.advance();
+}