Surfaceflinger: Create LayerBE data class
Split Layer class into a backend and front-end version. This
change creates the backend struct and only puts a single data
item in that struct. Follow-on changes to move more things
to the backend will follow
Test: build
Change-Id: I01d217468ea6008eb46cc3a225d47e1e0b90865a
diff --git a/services/surfaceflinger/Layer.h b/services/surfaceflinger/Layer.h
index 9ea800e..5dfc963 100644
--- a/services/surfaceflinger/Layer.h
+++ b/services/surfaceflinger/Layer.h
@@ -65,13 +65,25 @@
class GraphicBuffer;
class SurfaceFlinger;
class LayerDebugInfo;
+class LayerBE;
// ---------------------------------------------------------------------------
+class LayerBE {
+public:
+ LayerBE();
+
+ // The mesh used to draw the layer in GLES composition mode
+ Mesh mMesh;
+
+};
+
class Layer : public virtual RefBase {
static int32_t sSequence;
public:
+ LayerBE& getBE() { return mBE; }
+ LayerBE& getBE() const { return mBE; }
mutable bool contentDirty;
// regions below are in window-manager space
Region visibleRegion;
@@ -652,8 +664,6 @@
bool mFiltering;
// Whether filtering is needed b/c of the drawingstate
bool mNeedsFiltering;
- // The mesh used to draw the layer in GLES composition mode
- mutable Mesh mMesh;
bool mPendingRemoval = false;
@@ -708,6 +718,8 @@
wp<Layer> mCurrentParent;
wp<Layer> mDrawingParent;
+
+ mutable LayerBE mBE;
};
// ---------------------------------------------------------------------------