diff options
Diffstat (limited to 'libs/hwui')
| -rw-r--r-- | libs/hwui/DisplayList.cpp | 4 | ||||
| -rw-r--r-- | libs/hwui/DisplayList.h | 8 | ||||
| -rw-r--r-- | libs/hwui/DisplayListOp.h | 36 | ||||
| -rw-r--r-- | libs/hwui/DisplayListRenderer.cpp | 8 | ||||
| -rw-r--r-- | libs/hwui/DisplayListRenderer.h | 3 | ||||
| -rw-r--r-- | libs/hwui/Layer.cpp | 19 | ||||
| -rw-r--r-- | libs/hwui/Layer.h | 5 | ||||
| -rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 15 | ||||
| -rw-r--r-- | libs/hwui/OpenGLRenderer.h | 2 | ||||
| -rw-r--r-- | libs/hwui/RenderNode.cpp | 44 | ||||
| -rw-r--r-- | libs/hwui/RenderNode.h | 22 | ||||
| -rw-r--r-- | libs/hwui/Renderer.h | 2 | ||||
| -rw-r--r-- | libs/hwui/renderthread/CanvasContext.cpp | 4 |
13 files changed, 83 insertions, 89 deletions
diff --git a/libs/hwui/DisplayList.cpp b/libs/hwui/DisplayList.cpp index f418c9bf8f9a..e38b532c0565 100644 --- a/libs/hwui/DisplayList.cpp +++ b/libs/hwui/DisplayList.cpp @@ -90,8 +90,8 @@ void DisplayListData::cleanupResources() { layers.clear(); } -void DisplayListData::addChild(DrawDisplayListOp* op) { - LOG_ALWAYS_FATAL_IF(!op->renderNode(), "DrawDisplayListOp with no render node!"); +void DisplayListData::addChild(DrawRenderNodeOp* op) { + LOG_ALWAYS_FATAL_IF(!op->renderNode(), "DrawRenderNodeOp with no render node!"); mChildren.push(op); mReferenceHolders.push(op->renderNode()); diff --git a/libs/hwui/DisplayList.h b/libs/hwui/DisplayList.h index 7b7dc16daecb..bfffbb4d326b 100644 --- a/libs/hwui/DisplayList.h +++ b/libs/hwui/DisplayList.h @@ -61,7 +61,7 @@ class ClipRectOp; class SaveLayerOp; class SaveOp; class RestoreToCountOp; -class DrawDisplayListOp; +class DrawRenderNodeOp; /** * Holds data used in the playback a tree of DisplayLists. @@ -133,8 +133,8 @@ public: return !displayListOps.size(); } - void addChild(DrawDisplayListOp* childOp); - const Vector<DrawDisplayListOp*>& children() { return mChildren; } + void addChild(DrawRenderNodeOp* childOp); + const Vector<DrawRenderNodeOp*>& children() { return mChildren; } void refProperty(CanvasPropertyPrimitive* prop) { mReferenceHolders.push(prop); @@ -148,7 +148,7 @@ private: Vector< sp<VirtualLightRefBase> > mReferenceHolders; // list of children display lists for quick, non-drawing traversal - Vector<DrawDisplayListOp*> mChildren; + Vector<DrawRenderNodeOp*> mChildren; void cleanupResources(); }; diff --git a/libs/hwui/DisplayListOp.h b/libs/hwui/DisplayListOp.h index f8d620d92ff8..811af393590e 100644 --- a/libs/hwui/DisplayListOp.h +++ b/libs/hwui/DisplayListOp.h @@ -1465,23 +1465,23 @@ private: Functor* mFunctor; }; -class DrawDisplayListOp : public DrawBoundedOp { - friend class RenderNode; // grant DisplayList access to info of child +class DrawRenderNodeOp : public DrawBoundedOp { + friend class RenderNode; // grant RenderNode access to info of child public: - DrawDisplayListOp(RenderNode* displayList, int flags, const mat4& transformFromParent) - : DrawBoundedOp(0, 0, displayList->getWidth(), displayList->getHeight(), 0), - mDisplayList(displayList), mFlags(flags), mTransformFromParent(transformFromParent) {} + DrawRenderNodeOp(RenderNode* renderNode, int flags, const mat4& transformFromParent) + : DrawBoundedOp(0, 0, renderNode->getWidth(), renderNode->getHeight(), 0), + mRenderNode(renderNode), mFlags(flags), mTransformFromParent(transformFromParent) {} virtual void defer(DeferStateStruct& deferStruct, int saveCount, int level, bool useQuickReject) { - if (mDisplayList && mDisplayList->isRenderable() && !mSkipInOrderDraw) { - mDisplayList->defer(deferStruct, level + 1); + if (mRenderNode && mRenderNode->isRenderable() && !mSkipInOrderDraw) { + mRenderNode->defer(deferStruct, level + 1); } } virtual void replay(ReplayStateStruct& replayStruct, int saveCount, int level, bool useQuickReject) { - if (mDisplayList && mDisplayList->isRenderable() && !mSkipInOrderDraw) { - mDisplayList->replay(replayStruct, level + 1); + if (mRenderNode && mRenderNode->isRenderable() && !mSkipInOrderDraw) { + mRenderNode->replay(replayStruct, level + 1); } } @@ -1491,22 +1491,22 @@ public: } virtual void output(int level, uint32_t logFlags) const { - OP_LOG("Draw Display List %p, flags %#x", mDisplayList, mFlags); - if (mDisplayList && (logFlags & kOpLogFlag_Recurse)) { - mDisplayList->output(level + 1); + OP_LOG("Draw Display List %p, flags %#x", mRenderNode, mFlags); + if (mRenderNode && (logFlags & kOpLogFlag_Recurse)) { + mRenderNode->output(level + 1); } } - virtual const char* name() { return "DrawDisplayList"; } + virtual const char* name() { return "DrawRenderNode"; } - RenderNode* renderNode() { return mDisplayList; } + RenderNode* renderNode() { return mRenderNode; } private: - RenderNode* mDisplayList; + RenderNode* mRenderNode; const int mFlags; /////////////////////////// - // Properties below are used by DisplayList::computeOrderingImpl() and iterate() + // Properties below are used by RenderNode::computeOrderingImpl() and issueOperations() /////////////////////////// /** * Records transform vs parent, used for computing total transform without rerunning DL contents @@ -1514,12 +1514,12 @@ private: const mat4 mTransformFromParent; /** - * Holds the transformation between the projection surface ViewGroup and this DisplayList + * Holds the transformation between the projection surface ViewGroup and this RenderNode * drawing instance. Represents any translations / transformations done within the drawing of * the compositing ancestor ViewGroup's draw, before the draw of the View represented by this * DisplayList draw instance. * - * Note: doesn't include any transformation recorded within the DisplayList and its properties. + * Note: doesn't include transformation within the RenderNode, or its properties. */ mat4 mTransformFromCompositingAncestor; bool mSkipInOrderDraw; diff --git a/libs/hwui/DisplayListRenderer.cpp b/libs/hwui/DisplayListRenderer.cpp index fc4d40bec43f..b6d3f4b30d77 100644 --- a/libs/hwui/DisplayListRenderer.cpp +++ b/libs/hwui/DisplayListRenderer.cpp @@ -169,18 +169,16 @@ bool DisplayListRenderer::clipRegion(const SkRegion* region, SkRegion::Op op) { return StatefulBaseRenderer::clipRegion(region, op); } -status_t DisplayListRenderer::drawDisplayList(RenderNode* displayList, - Rect& dirty, int32_t flags) { +status_t DisplayListRenderer::drawRenderNode(RenderNode* renderNode, Rect& dirty, int32_t flags) { // dirty is an out parameter and should not be recorded, // it matters only when replaying the display list - if (displayList->stagingProperties().isProjectionReceiver()) { + if (renderNode->stagingProperties().isProjectionReceiver()) { // use staging property, since recording on UI thread mDisplayListData->projectionReceiveIndex = mDisplayListData->displayListOps.size(); } - DrawDisplayListOp* op = new (alloc()) DrawDisplayListOp(displayList, - flags, *currentTransform()); + DrawRenderNodeOp* op = new (alloc()) DrawRenderNodeOp(renderNode, flags, *currentTransform()); addDrawOp(op); mDisplayListData->addChild(op); return DrawGlInfo::kStatusDone; diff --git a/libs/hwui/DisplayListRenderer.h b/libs/hwui/DisplayListRenderer.h index 2eaa671b6226..1de656ef6b4b 100644 --- a/libs/hwui/DisplayListRenderer.h +++ b/libs/hwui/DisplayListRenderer.h @@ -148,8 +148,7 @@ public: // Canvas draw operations - special // ---------------------------------------------------------------------------- virtual status_t drawLayer(Layer* layer, float x, float y); - virtual status_t drawDisplayList(RenderNode* displayList, Rect& dirty, - int32_t replayFlags); + virtual status_t drawRenderNode(RenderNode* renderNode, Rect& dirty, int32_t replayFlags); // TODO: rename for consistency virtual status_t callDrawGLFunction(Functor* functor, Rect& dirty); diff --git a/libs/hwui/Layer.cpp b/libs/hwui/Layer.cpp index 24dd1d32e74b..b6414e54c13a 100644 --- a/libs/hwui/Layer.cpp +++ b/libs/hwui/Layer.cpp @@ -41,7 +41,7 @@ Layer::Layer(const uint32_t layerWidth, const uint32_t layerHeight): colorFilter = NULL; deferredUpdateScheduled = false; renderer = NULL; - displayList = NULL; + renderNode = NULL; fbo = 0; stencil = NULL; debugDrawUpdate = false; @@ -141,10 +141,9 @@ void Layer::removeFbo(bool flush) { } } -void Layer::updateDeferred(RenderNode* displayList, - int left, int top, int right, int bottom) { +void Layer::updateDeferred(RenderNode* renderNode, int left, int top, int right, int bottom) { requireRenderer(); - this->displayList = displayList; + this->renderNode = renderNode; const Rect r(left, top, right, bottom); dirtyRect.unionWith(r); deferredUpdateScheduled = true; @@ -219,14 +218,14 @@ void Layer::defer() { renderer->setupFrameState(dirtyRect.left, dirtyRect.top, dirtyRect.right, dirtyRect.bottom, !isBlend()); - displayList->computeOrdering(); - displayList->defer(deferredState, 0); + renderNode->computeOrdering(); + renderNode->defer(deferredState, 0); deferredUpdateScheduled = false; } void Layer::cancelDefer() { - displayList = NULL; + renderNode = NULL; deferredUpdateScheduled = false; if (deferredList) { delete deferredList; @@ -246,7 +245,7 @@ void Layer::flush() { renderer->finish(); dirtyRect.setEmpty(); - displayList = NULL; + renderNode = NULL; } } @@ -255,14 +254,14 @@ void Layer::render() { renderer->prepareDirty(dirtyRect.left, dirtyRect.top, dirtyRect.right, dirtyRect.bottom, !isBlend()); - renderer->drawDisplayList(displayList.get(), dirtyRect, RenderNode::kReplayFlag_ClipChildren); + renderer->drawRenderNode(renderNode.get(), dirtyRect, RenderNode::kReplayFlag_ClipChildren); renderer->finish(); dirtyRect.setEmpty(); deferredUpdateScheduled = false; - displayList = NULL; + renderNode = NULL; } }; // namespace uirenderer diff --git a/libs/hwui/Layer.h b/libs/hwui/Layer.h index 49610d58b60d..741f4c30af94 100644 --- a/libs/hwui/Layer.h +++ b/libs/hwui/Layer.h @@ -85,8 +85,7 @@ public: regionRect.translate(layer.left, layer.top); } - void updateDeferred(RenderNode* displayList, - int left, int top, int right, int bottom); + void updateDeferred(RenderNode* renderNode, int left, int top, int right, int bottom); inline uint32_t getWidth() const { return texture.width; @@ -297,7 +296,7 @@ public: */ bool deferredUpdateScheduled; OpenGLRenderer* renderer; - sp<RenderNode> displayList; + sp<RenderNode> renderNode; Rect dirtyRect; bool debugDrawUpdate; bool hasDrawnSinceUpdate; diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index e1dfeae78257..afb65a63a4e0 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -474,8 +474,8 @@ void OpenGLRenderer::countOverdraw() { /////////////////////////////////////////////////////////////////////////////// bool OpenGLRenderer::updateLayer(Layer* layer, bool inFrame) { - if (layer->deferredUpdateScheduled && layer->renderer && - layer->displayList.get() && layer->displayList->isRenderable()) { + if (layer->deferredUpdateScheduled && layer->renderer + && layer->renderNode.get() && layer->renderNode->isRenderable()) { ATRACE_CALL(); Rect& dirty = layer->dirtyRect; @@ -1931,25 +1931,24 @@ void OpenGLRenderer::setupDrawIndexedVertices(GLvoid* vertices) { // Drawing /////////////////////////////////////////////////////////////////////////////// -status_t OpenGLRenderer::drawDisplayList(RenderNode* displayList, Rect& dirty, - int32_t replayFlags) { +status_t OpenGLRenderer::drawRenderNode(RenderNode* renderNode, Rect& dirty, int32_t replayFlags) { status_t status; // All the usual checks and setup operations (quickReject, setupDraw, etc.) // will be performed by the display list itself - if (displayList && displayList->isRenderable()) { + if (renderNode && renderNode->isRenderable()) { // compute 3d ordering - displayList->computeOrdering(); + renderNode->computeOrdering(); if (CC_UNLIKELY(mCaches.drawDeferDisabled)) { status = startFrame(); ReplayStateStruct replayStruct(*this, dirty, replayFlags); - displayList->replay(replayStruct, 0); + renderNode->replay(replayStruct, 0); return status | replayStruct.mDrawGlStatus; } bool avoidOverdraw = !mCaches.debugOverdraw && !mCountOverdraw; // shh, don't tell devs! DeferredDisplayList deferredList(*currentClipRect(), avoidOverdraw); DeferStateStruct deferStruct(deferredList, *this, replayFlags); - displayList->defer(deferStruct, 0); + renderNode->defer(deferStruct, 0); flushLayers(); status = startFrame(); diff --git a/libs/hwui/OpenGLRenderer.h b/libs/hwui/OpenGLRenderer.h index 346a65cca007..066b26731a78 100644 --- a/libs/hwui/OpenGLRenderer.h +++ b/libs/hwui/OpenGLRenderer.h @@ -158,7 +158,7 @@ public: int saveLayerDeferred(float left, float top, float right, float bottom, const SkPaint* paint, int flags); - virtual status_t drawDisplayList(RenderNode* displayList, Rect& dirty, int32_t replayFlags = 1); + virtual status_t drawRenderNode(RenderNode* displayList, Rect& dirty, int32_t replayFlags = 1); virtual status_t drawLayer(Layer* layer, float x, float y); virtual status_t drawBitmap(const SkBitmap* bitmap, float left, float top, const SkPaint* paint); diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp index 4cda17850ecc..e8f2dd20d19f 100644 --- a/libs/hwui/RenderNode.cpp +++ b/libs/hwui/RenderNode.cpp @@ -323,8 +323,8 @@ void RenderNode::prepareSubTree(TreeInfo& info, DisplayListData* subtree) { info.prepareTextures = cache.prefetchAndMarkInUse(subtree->bitmapResources[i]); } for (size_t i = 0; i < subtree->children().size(); i++) { - DrawDisplayListOp* op = subtree->children()[i]; - RenderNode* childNode = op->mDisplayList; + DrawRenderNodeOp* op = subtree->children()[i]; + RenderNode* childNode = op->mRenderNode; info.damageAccumulator->pushTransform(&op->mTransformFromParent); childNode->prepareTreeImpl(info); info.damageAccumulator->popTransform(); @@ -455,16 +455,16 @@ void RenderNode::computeOrdering() { // transform properties are applied correctly to top level children if (mDisplayListData == NULL) return; for (unsigned int i = 0; i < mDisplayListData->children().size(); i++) { - DrawDisplayListOp* childOp = mDisplayListData->children()[i]; - childOp->mDisplayList->computeOrderingImpl(childOp, + DrawRenderNodeOp* childOp = mDisplayListData->children()[i]; + childOp->mRenderNode->computeOrderingImpl(childOp, properties().getOutline().getPath(), &mProjectedNodes, &mat4::identity()); } } void RenderNode::computeOrderingImpl( - DrawDisplayListOp* opState, + DrawRenderNodeOp* opState, const SkPath* outlineOfProjectionSurface, - Vector<DrawDisplayListOp*>* compositedChildrenOfProjectionSurface, + Vector<DrawRenderNodeOp*>* compositedChildrenOfProjectionSurface, const mat4* transformFromProjectionSurface) { mProjectedNodes.clear(); if (mDisplayListData == NULL || mDisplayListData->isEmpty()) return; @@ -488,11 +488,11 @@ void RenderNode::computeOrderingImpl( const bool isProjectionReceiver = mDisplayListData->projectionReceiveIndex >= 0; bool haveAppliedPropertiesToProjection = false; for (unsigned int i = 0; i < mDisplayListData->children().size(); i++) { - DrawDisplayListOp* childOp = mDisplayListData->children()[i]; - RenderNode* child = childOp->mDisplayList; + DrawRenderNodeOp* childOp = mDisplayListData->children()[i]; + RenderNode* child = childOp->mRenderNode; const SkPath* projectionOutline = NULL; - Vector<DrawDisplayListOp*>* projectionChildren = NULL; + Vector<DrawRenderNodeOp*>* projectionChildren = NULL; const mat4* projectionTransform = NULL; if (isProjectionReceiver && !child->properties().getProjectBackwards()) { // if receiving projections, collect projecting descendent @@ -571,16 +571,16 @@ void RenderNode::replay(ReplayStateStruct& replayStruct, const int level) { issueOperations<ReplayOperationHandler>(replayStruct.mRenderer, handler); } -void RenderNode::buildZSortedChildList(Vector<ZDrawDisplayListOpPair>& zTranslatedNodes) { +void RenderNode::buildZSortedChildList(Vector<ZDrawRenderNodeOpPair>& zTranslatedNodes) { if (mDisplayListData == NULL || mDisplayListData->children().size() == 0) return; for (unsigned int i = 0; i < mDisplayListData->children().size(); i++) { - DrawDisplayListOp* childOp = mDisplayListData->children()[i]; - RenderNode* child = childOp->mDisplayList; + DrawRenderNodeOp* childOp = mDisplayListData->children()[i]; + RenderNode* child = childOp->mRenderNode; float childZ = child->properties().getZ(); if (!MathUtils::isZero(childZ)) { - zTranslatedNodes.add(ZDrawDisplayListOpPair(childZ, childOp)); + zTranslatedNodes.add(ZDrawRenderNodeOpPair(childZ, childOp)); childOp->mSkipInOrderDraw = true; } else if (!child->properties().getProjectBackwards()) { // regular, in order drawing DisplayList @@ -627,7 +627,7 @@ void RenderNode::issueDrawShadowOperation(const Matrix4& transformFromParent, T& template <class T> int RenderNode::issueOperationsOfNegZChildren( - const Vector<ZDrawDisplayListOpPair>& zTranslatedNodes, + const Vector<ZDrawRenderNodeOpPair>& zTranslatedNodes, OpenGLRenderer& renderer, T& handler) { if (zTranslatedNodes.isEmpty()) return -1; @@ -643,7 +643,7 @@ int RenderNode::issueOperationsOfNegZChildren( template <class T> void RenderNode::issueOperationsOfPosZChildren(int shadowRestoreTo, - const Vector<ZDrawDisplayListOpPair>& zTranslatedNodes, + const Vector<ZDrawRenderNodeOpPair>& zTranslatedNodes, OpenGLRenderer& renderer, T& handler) { if (zTranslatedNodes.isEmpty()) return; @@ -658,7 +658,7 @@ void RenderNode::issueOperationsOfPosZChildren(int shadowRestoreTo, #define SHADOW_DELTA 0.1f template <class T> -void RenderNode::issueOperationsOf3dChildren(const Vector<ZDrawDisplayListOpPair>& zTranslatedNodes, +void RenderNode::issueOperationsOf3dChildren(const Vector<ZDrawRenderNodeOpPair>& zTranslatedNodes, ChildrenSelectMode mode, OpenGLRenderer& renderer, T& handler) { const int size = zTranslatedNodes.size(); if (size == 0 @@ -693,8 +693,8 @@ void RenderNode::issueOperationsOf3dChildren(const Vector<ZDrawDisplayListOpPair float lastCasterZ = 0.0f; while (shadowIndex < endIndex || drawIndex < endIndex) { if (shadowIndex < endIndex) { - DrawDisplayListOp* casterOp = zTranslatedNodes[shadowIndex].value; - RenderNode* caster = casterOp->mDisplayList; + DrawRenderNodeOp* casterOp = zTranslatedNodes[shadowIndex].value; + RenderNode* caster = casterOp->mRenderNode; const float casterZ = zTranslatedNodes[shadowIndex].key; // attempt to render the shadow if the caster about to be drawn is its caster, // OR if its caster's Z value is similar to the previous potential caster @@ -711,8 +711,8 @@ void RenderNode::issueOperationsOf3dChildren(const Vector<ZDrawDisplayListOpPair // since it modifies the renderer's matrix int restoreTo = renderer.save(SkCanvas::kMatrix_SaveFlag); - DrawDisplayListOp* childOp = zTranslatedNodes[drawIndex].value; - RenderNode* child = childOp->mDisplayList; + DrawRenderNodeOp* childOp = zTranslatedNodes[drawIndex].value; + RenderNode* child = childOp->mRenderNode; renderer.concatMatrix(childOp->mTransformFromParent); childOp->mSkipInOrderDraw = false; // this is horrible, I'm so sorry everyone @@ -761,7 +761,7 @@ void RenderNode::issueOperationsOfProjectedChildren(OpenGLRenderer& renderer, T& // draw projected nodes for (size_t i = 0; i < mProjectedNodes.size(); i++) { - DrawDisplayListOp* childOp = mProjectedNodes[i]; + DrawRenderNodeOp* childOp = mProjectedNodes[i]; // matrix save, concat, and restore can be done safely without allocating operations int restoreTo = renderer.save(SkCanvas::kMatrix_SaveFlag); @@ -833,7 +833,7 @@ void RenderNode::issueOperations(OpenGLRenderer& renderer, T& handler) { handler(new (alloc) DrawLayerOp(mLayer, 0, 0), renderer.getSaveCount() - 1, properties().getClipToBounds()); } else { - Vector<ZDrawDisplayListOpPair> zTranslatedNodes; + Vector<ZDrawRenderNodeOpPair> zTranslatedNodes; buildZSortedChildList(zTranslatedNodes); // for 3d root, draw children with negative z values diff --git a/libs/hwui/RenderNode.h b/libs/hwui/RenderNode.h index c510ac68a286..2fa607895af3 100644 --- a/libs/hwui/RenderNode.h +++ b/libs/hwui/RenderNode.h @@ -67,7 +67,7 @@ class ClipRectOp; class SaveLayerOp; class SaveOp; class RestoreToCountOp; -class DrawDisplayListOp; +class DrawRenderNodeOp; /** * Primary class for storing recorded canvas commands, as well as per-View/ViewGroup display properties. @@ -195,9 +195,9 @@ protected: virtual void damageSelf(TreeInfo& info); private: - typedef key_value_pair_t<float, DrawDisplayListOp*> ZDrawDisplayListOpPair; + typedef key_value_pair_t<float, DrawRenderNodeOp*> ZDrawRenderNodeOpPair; - static size_t findNonNegativeIndex(const Vector<ZDrawDisplayListOpPair>& nodes) { + static size_t findNonNegativeIndex(const Vector<ZDrawRenderNodeOpPair>& nodes) { for (size_t i = 0; i < nodes.size(); i++) { if (nodes[i].key >= 0.0f) return i; } @@ -211,29 +211,29 @@ private: void applyViewPropertyTransforms(mat4& matrix, bool true3dTransform = false); - void computeOrderingImpl(DrawDisplayListOp* opState, + void computeOrderingImpl(DrawRenderNodeOp* opState, const SkPath* outlineOfProjectionSurface, - Vector<DrawDisplayListOp*>* compositedChildrenOfProjectionSurface, + Vector<DrawRenderNodeOp*>* compositedChildrenOfProjectionSurface, const mat4* transformFromProjectionSurface); template <class T> inline void setViewProperties(OpenGLRenderer& renderer, T& handler); - void buildZSortedChildList(Vector<ZDrawDisplayListOpPair>& zTranslatedNodes); + void buildZSortedChildList(Vector<ZDrawRenderNodeOpPair>& zTranslatedNodes); template<class T> inline void issueDrawShadowOperation(const Matrix4& transformFromParent, T& handler); template <class T> inline int issueOperationsOfNegZChildren( - const Vector<ZDrawDisplayListOpPair>& zTranslatedNodes, + const Vector<ZDrawRenderNodeOpPair>& zTranslatedNodes, OpenGLRenderer& renderer, T& handler); template <class T> inline void issueOperationsOfPosZChildren(int shadowRestoreTo, - const Vector<ZDrawDisplayListOpPair>& zTranslatedNodes, + const Vector<ZDrawRenderNodeOpPair>& zTranslatedNodes, OpenGLRenderer& renderer, T& handler); template <class T> - inline void issueOperationsOf3dChildren(const Vector<ZDrawDisplayListOpPair>& zTranslatedNodes, + inline void issueOperationsOf3dChildren(const Vector<ZDrawRenderNodeOpPair>& zTranslatedNodes, ChildrenSelectMode mode, OpenGLRenderer& renderer, T& handler); template <class T> @@ -241,7 +241,7 @@ private: /** * Issue the RenderNode's operations into a handler, recursing for subtrees through - * DrawDisplayListOp's defer() or replay() methods + * DrawRenderNodeOp's defer() or replay() methods */ template <class T> inline void issueOperations(OpenGLRenderer& renderer, T& handler); @@ -292,7 +292,7 @@ private: */ // for projection surfaces, contains a list of all children items - Vector<DrawDisplayListOp*> mProjectedNodes; + Vector<DrawRenderNodeOp*> mProjectedNodes; }; // class RenderNode } /* namespace uirenderer */ diff --git a/libs/hwui/Renderer.h b/libs/hwui/Renderer.h index 320895c2605b..d68b932fe881 100644 --- a/libs/hwui/Renderer.h +++ b/libs/hwui/Renderer.h @@ -233,7 +233,7 @@ public: // Canvas draw operations - special // ---------------------------------------------------------------------------- virtual status_t drawLayer(Layer* layer, float x, float y) = 0; - virtual status_t drawDisplayList(RenderNode* displayList, Rect& dirty, + virtual status_t drawRenderNode(RenderNode* renderNode, Rect& dirty, int32_t replayFlags) = 0; // TODO: rename for consistency diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index dc1951beec72..eab98102b5a1 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -469,7 +469,7 @@ void CanvasContext::notifyFramePending() { void CanvasContext::draw() { LOG_ALWAYS_FATAL_IF(!mCanvas || mEglSurface == EGL_NO_SURFACE, - "drawDisplayList called on a context with no canvas or surface!"); + "drawRenderNode called on a context with no canvas or surface!"); profiler().markPlaybackStart(); @@ -496,7 +496,7 @@ void CanvasContext::draw() { } Rect outBounds; - status |= mCanvas->drawDisplayList(mRootRenderNode.get(), outBounds); + status |= mCanvas->drawRenderNode(mRootRenderNode.get(), outBounds); profiler().draw(mCanvas); |