SF: Use compositionInfo after HWC changedTypes
Bug: 112259502
Test: cts -m CtsViewTestCases
SurfaceFlinger_test
vrflinger_test
Change-Id: I908f439eedfab9ee8241f8ac594465527f93408a
diff --git a/services/surfaceflinger/LayerBE.h b/services/surfaceflinger/LayerBE.h
index e5110b7..21e7b5c 100644
--- a/services/surfaceflinger/LayerBE.h
+++ b/services/surfaceflinger/LayerBE.h
@@ -20,6 +20,7 @@
#include <sys/types.h>
#include <renderengine/Mesh.h>
+#include <renderengine/RenderEngine.h>
#include <renderengine/Texture.h>
#include <ui/Region.h>
@@ -34,6 +35,7 @@
struct CompositionInfo {
std::string layerName;
HWC2::Composition compositionType;
+ bool firstClear = false;
sp<GraphicBuffer> mBuffer = nullptr;
int mBufferSlot = BufferQueue::INVALID_BUFFER_SLOT;
std::shared_ptr<LayerBE> layer;
@@ -59,14 +61,12 @@
HdrMetadata hdrMetadata;
} hwc;
struct {
- Mesh* mesh;
bool blackoutLayer = false;
bool clearArea = false;
bool preMultipliedAlpha = false;
bool opaque = false;
bool disableTexture = false;
half4 color;
- Texture texture;
bool useIdentityTransform = false;
bool Y410BT2020 = false;
} re;
@@ -90,10 +90,11 @@
explicit LayerBE(const LayerBE& layer);
void onLayerDisplayed(const sp<Fence>& releaseFence);
+ void clear(RE::RenderEngine& renderEngine);
Mesh& getMesh() { return mMesh; }
-private:
Layer*const mLayer;
+private:
// The mesh used to draw the layer in GLES composition mode
Mesh mMesh;