Add z-reordering support to OpReorderer
Change-Id: I3fa969fe53cf648d145810f69fa7dada376c0b9a
diff --git a/libs/hwui/OpReorderer.h b/libs/hwui/OpReorderer.h
index 77be402..936b6ed 100644
--- a/libs/hwui/OpReorderer.h
+++ b/libs/hwui/OpReorderer.h
@@ -182,6 +182,10 @@
virtual GLuint getTargetFbo() const override { return 0; }
private:
+ enum class ChildrenSelectMode {
+ Negative,
+ Positive
+ };
void saveForLayer(uint32_t layerWidth, uint32_t layerHeight,
const BeginLayerOp* beginLayerOp, RenderNode* renderNode);
void restoreForLayer();
@@ -195,8 +199,15 @@
// should always be surrounded by a save/restore pair
void deferNodePropsAndOps(RenderNode& node);
+ void deferShadow(const RenderNodeOp& casterOp);
+
void deferImpl(const DisplayList& displayList);
+ template <typename V>
+ void defer3dChildren(ChildrenSelectMode mode, const V& zTranslatedNodes);
+
+ void deferRenderNodeOp(const RenderNodeOp& op);
+
void replayBakedOpsImpl(void* arg, BakedOpDispatcher* receivers);
/**