diff options
author | Chris Craik <ccraik@google.com> | 2016-03-04 15:59:24 -0800 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2016-03-04 16:18:26 -0800 |
commit | 1dfa0704964c17e45775b9e01f1fa0b1a10774f7 (patch) | |
tree | 45cbf88a4792def75988c4ae1a7dca8d8ffda3e9 /libs/hwui/renderthread/CanvasContext.cpp | |
parent | 8316fac9c0772b1908d45b2286298b5b791d3ca7 (diff) |
Support GPU profiling vis in new pipeline
bug:27353099
Change-Id: I905c1a998d9a9e2097c047dab9de87a70d7a370e
Diffstat (limited to 'libs/hwui/renderthread/CanvasContext.cpp')
-rw-r--r-- | libs/hwui/renderthread/CanvasContext.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index 249d83f50627..a496b4966456 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -348,12 +348,26 @@ void CanvasContext::draw() { FrameBuilder frameBuilder(mLayerUpdateQueue, dirty, frame.width(), frame.height(), mRenderNodes, mLightGeometry, mContentDrawBounds, &Caches::getInstance()); mLayerUpdateQueue.clear(); - BakedOpRenderer renderer(Caches::getInstance(), mRenderThread.renderState(), + auto&& caches = Caches::getInstance(); + BakedOpRenderer renderer(caches, mRenderThread.renderState(), mOpaque, mLightInfo); - // TODO: profiler().draw(mCanvas); frameBuilder.replayBakedOps<BakedOpDispatcher>(renderer); + profiler().draw(&renderer); bool drew = renderer.didDraw(); + // post frame cleanup + caches.clearGarbage(); + caches.pathCache.trim(); + caches.tessellationCache.trim(); + +#if DEBUG_MEMORY_USAGE + mCaches.dumpMemoryUsage(); +#else + if (CC_UNLIKELY(Properties::debugLevel & kDebugMemory)) { + caches.dumpMemoryUsage(); + } +#endif + #else mCanvas->prepareDirty(frame.width(), frame.height(), dirty.fLeft, dirty.fTop, dirty.fRight, dirty.fBottom, mOpaque); |