Simplify Z reordering logic

Change-Id: I9e36f68d7be5cfd4d69a84a51824cb9a642fe18d
diff --git a/libs/hwui/DisplayList.h b/libs/hwui/DisplayList.h
index 204a131..d3113a3 100644
--- a/libs/hwui/DisplayList.h
+++ b/libs/hwui/DisplayList.h
@@ -90,7 +90,8 @@
 class DeferStateStruct : public PlaybackStateStruct {
 public:
     DeferStateStruct(DeferredDisplayList& deferredList, OpenGLRenderer& renderer, int replayFlags)
-            : PlaybackStateStruct(renderer, replayFlags, &(deferredList.mAllocator)), mDeferredList(deferredList) {}
+            : PlaybackStateStruct(renderer, replayFlags, &(deferredList.mAllocator)),
+            mDeferredList(deferredList) {}
 
     DeferredDisplayList& mDeferredList;
 };
@@ -143,7 +144,6 @@
         kReplayFlag_ClipChildren = 0x1
     };
 
-
     ANDROID_API size_t getSize();
     ANDROID_API static void destroyDisplayListDeferred(DisplayList* displayList);
     ANDROID_API static void outputLogBuffer(int fd);
@@ -501,6 +501,8 @@
     }
 
 private:
+    typedef key_value_pair_t<float, DrawDisplayListOp*> ZDrawDisplayListOpPair;
+
     enum ChildrenSelectMode {
         kNegativeZChildren,
         kPositiveZChildren
@@ -520,7 +522,7 @@
     void applyViewPropertyTransforms(mat4& matrix);
 
     void computeOrderingImpl(DrawDisplayListOp* opState,
-            KeyedVector<float, Vector<DrawDisplayListOp*> >* compositedChildrenOf3dRoot,
+            Vector<ZDrawDisplayListOpPair>* compositedChildrenOf3dRoot,
             const mat4* transformFromRoot);
 
     template <class T>
@@ -607,7 +609,7 @@
      */
 
     // for 3d roots, contains a z sorted list of all children items
-    KeyedVector<float, Vector<DrawDisplayListOp*> > m3dNodes; // TODO: good data structure
+    Vector<ZDrawDisplayListOpPair> m3dNodes;
 }; // class DisplayList
 
 }; // namespace uirenderer