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.h b/services/surfaceflinger/tests/hwc2/Hwc2TestLayer.h
index 27885ab..86c3649 100644
--- a/services/surfaceflinger/tests/hwc2/Hwc2TestLayer.h
+++ b/services/surfaceflinger/tests/hwc2/Hwc2TestLayer.h
@@ -30,17 +30,20 @@
class Hwc2TestLayer {
public:
- Hwc2TestLayer(Hwc2TestCoverage coverage, const Area& displayArea,
- uint32_t zOrder = 0);
+ Hwc2TestLayer(Hwc2TestCoverage coverage, const Area& displayArea);
std::string dump() const;
int getBuffer(buffer_handle_t* outHandle,
android::base::unique_fd* outAcquireFence);
+ void setZOrder(uint32_t zOrder);
+ void setVisibleRegion(const android::Region& region);
+
void reset();
hwc2_blend_mode_t getBlendMode() const;
+ Area getBufferArea() const;
hwc_color_t getColor() const;
hwc2_composition_t getComposition() const;
hwc_rect_t getCursorPosition() const;
@@ -50,6 +53,7 @@
hwc_frect_t getSourceCrop() const;
hwc_region_t getSurfaceDamage() const;
hwc_transform_t getTransform() const;
+ hwc_region_t getVisibleRegion() const;
uint32_t getZOrder() const;
bool advanceBlendMode();
@@ -63,11 +67,12 @@
bool advanceSourceCrop();
bool advanceSurfaceDamage();
bool advanceTransform();
+ bool advanceVisibleRegion();
private:
- std::array<Hwc2TestContainer*, 9> mProperties = {{
- &mBlendMode, &mColor, &mComposition, &mDataspace, &mDisplayFrame,
- &mPlaneAlpha, &mSourceCrop, &mSurfaceDamage, &mTransform
+ std::array<Hwc2TestContainer*, 10> mProperties = {{
+ &mBlendMode, &mBufferArea, &mColor, &mComposition, &mDataspace,
+ &mDisplayFrame, &mPlaneAlpha, &mSourceCrop, &mSurfaceDamage, &mTransform
}};
Hwc2TestBuffer mBuffer;
@@ -82,8 +87,9 @@
Hwc2TestSourceCrop mSourceCrop;
Hwc2TestSurfaceDamage mSurfaceDamage;
Hwc2TestTransform mTransform;
+ Hwc2TestVisibleRegion mVisibleRegion;
- uint32_t mZOrder;
+ uint32_t mZOrder = UINT32_MAX;
};
#endif /* ifndef _HWC2_TEST_LAYER_H */