Loading core/java/android/view/ThreadedRenderer.java +2 −2 Original line number Diff line number Diff line Loading @@ -126,7 +126,7 @@ public class ThreadedRenderer extends HardwareRenderer { void destroy() { mInitialized = false; updateEnabledState(null); nDestroyCanvasAndSurface(mNativeProxy); nDestroy(mNativeProxy); } private void updateEnabledState(Surface surface) { Loading Loading @@ -488,7 +488,7 @@ public class ThreadedRenderer extends HardwareRenderer { private static native void nSetOpaque(long nativeProxy, boolean opaque); private static native int nSyncAndDrawFrame(long nativeProxy, long frameTimeNanos, long recordDuration, float density); private static native void nDestroyCanvasAndSurface(long nativeProxy); private static native void nDestroy(long nativeProxy); private static native void nRegisterAnimatingRenderNode(long rootRenderNode, long animatingNode); private static native void nInvokeFunctor(long functor, boolean waitForCompletion); Loading core/jni/android_view_ThreadedRenderer.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -291,10 +291,10 @@ static int android_view_ThreadedRenderer_syncAndDrawFrame(JNIEnv* env, jobject c return proxy->syncAndDrawFrame(frameTimeNanos, recordDuration, density); } static void android_view_ThreadedRenderer_destroyCanvasAndSurface(JNIEnv* env, jobject clazz, static void android_view_ThreadedRenderer_destroy(JNIEnv* env, jobject clazz, jlong proxyPtr) { RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr); proxy->destroyCanvasAndSurface(); proxy->destroy(); } static void android_view_ThreadedRenderer_registerAnimatingRenderNode(JNIEnv* env, jobject clazz, Loading Loading @@ -430,7 +430,7 @@ static JNINativeMethod gMethods[] = { { "nSetup", "(JIIFFFFII)V", (void*) android_view_ThreadedRenderer_setup }, { "nSetOpaque", "(JZ)V", (void*) android_view_ThreadedRenderer_setOpaque }, { "nSyncAndDrawFrame", "(JJJF)I", (void*) android_view_ThreadedRenderer_syncAndDrawFrame }, { "nDestroyCanvasAndSurface", "(J)V", (void*) android_view_ThreadedRenderer_destroyCanvasAndSurface }, { "nDestroy", "(J)V", (void*) android_view_ThreadedRenderer_destroy }, { "nRegisterAnimatingRenderNode", "(JJ)V", (void*) android_view_ThreadedRenderer_registerAnimatingRenderNode }, { "nInvokeFunctor", "(JZ)V", (void*) android_view_ThreadedRenderer_invokeFunctor }, { "nCreateDisplayListLayer", "(JII)J", (void*) android_view_ThreadedRenderer_createDisplayListLayer }, Loading libs/hwui/Caches.cpp +7 −3 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ #include "Properties.h" #include "LayerRenderer.h" #include "ShadowTessellator.h" #include "RenderState.h" namespace android { Loading @@ -49,7 +50,7 @@ namespace uirenderer { /////////////////////////////////////////////////////////////////////////////// Caches::Caches(): Singleton<Caches>(), mExtensions(Extensions::getInstance()), mInitialized(false) { mExtensions(Extensions::getInstance()), mInitialized(false), mRenderState(NULL) { init(); initFont(); initConstraints(); Loading Loading @@ -267,8 +268,11 @@ void Caches::dumpMemoryUsage(String8 &log) { log.appendFormat("Current memory usage / total memory usage (bytes):\n"); log.appendFormat(" TextureCache %8d / %8d\n", textureCache.getSize(), textureCache.getMaxSize()); log.appendFormat(" LayerCache %8d / %8d\n", layerCache.getSize(), layerCache.getMaxSize()); log.appendFormat(" LayerCache %8d / %8d (numLayers = %zu)\n", layerCache.getSize(), layerCache.getMaxSize(), layerCache.getCount()); log.appendFormat(" Garbage layers %8zu\n", mLayerGarbage.size()); log.appendFormat(" Active layers %8zu\n", mRenderState ? mRenderState->mActiveLayers.size() : 0); log.appendFormat(" RenderBufferCache %8d / %8d\n", renderBufferCache.getSize(), renderBufferCache.getMaxSize()); log.appendFormat(" GradientCache %8d / %8d\n", Loading libs/hwui/Caches.h +5 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,7 @@ struct CacheLogger { /////////////////////////////////////////////////////////////////////////////// class RenderNode; class RenderState; class ANDROID_API Caches: public Singleton<Caches> { Caches(); Loading @@ -132,6 +133,8 @@ public: */ bool initProperties(); void setRenderState(RenderState* renderState) { mRenderState = renderState; } /** * Flush the cache. * Loading Loading @@ -431,6 +434,8 @@ private: GLuint mBoundTextures[REQUIRED_TEXTURE_UNITS_COUNT]; OverdrawColorSet mOverdrawDebugColorSet; RenderState* mRenderState; }; // class Caches }; // namespace uirenderer Loading libs/hwui/LayerCache.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,10 @@ LayerCache::~LayerCache() { // Size management /////////////////////////////////////////////////////////////////////////////// size_t LayerCache::getCount() { return mCache.size(); } uint32_t LayerCache::getSize() { return mSize; } Loading Loading
core/java/android/view/ThreadedRenderer.java +2 −2 Original line number Diff line number Diff line Loading @@ -126,7 +126,7 @@ public class ThreadedRenderer extends HardwareRenderer { void destroy() { mInitialized = false; updateEnabledState(null); nDestroyCanvasAndSurface(mNativeProxy); nDestroy(mNativeProxy); } private void updateEnabledState(Surface surface) { Loading Loading @@ -488,7 +488,7 @@ public class ThreadedRenderer extends HardwareRenderer { private static native void nSetOpaque(long nativeProxy, boolean opaque); private static native int nSyncAndDrawFrame(long nativeProxy, long frameTimeNanos, long recordDuration, float density); private static native void nDestroyCanvasAndSurface(long nativeProxy); private static native void nDestroy(long nativeProxy); private static native void nRegisterAnimatingRenderNode(long rootRenderNode, long animatingNode); private static native void nInvokeFunctor(long functor, boolean waitForCompletion); Loading
core/jni/android_view_ThreadedRenderer.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -291,10 +291,10 @@ static int android_view_ThreadedRenderer_syncAndDrawFrame(JNIEnv* env, jobject c return proxy->syncAndDrawFrame(frameTimeNanos, recordDuration, density); } static void android_view_ThreadedRenderer_destroyCanvasAndSurface(JNIEnv* env, jobject clazz, static void android_view_ThreadedRenderer_destroy(JNIEnv* env, jobject clazz, jlong proxyPtr) { RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr); proxy->destroyCanvasAndSurface(); proxy->destroy(); } static void android_view_ThreadedRenderer_registerAnimatingRenderNode(JNIEnv* env, jobject clazz, Loading Loading @@ -430,7 +430,7 @@ static JNINativeMethod gMethods[] = { { "nSetup", "(JIIFFFFII)V", (void*) android_view_ThreadedRenderer_setup }, { "nSetOpaque", "(JZ)V", (void*) android_view_ThreadedRenderer_setOpaque }, { "nSyncAndDrawFrame", "(JJJF)I", (void*) android_view_ThreadedRenderer_syncAndDrawFrame }, { "nDestroyCanvasAndSurface", "(J)V", (void*) android_view_ThreadedRenderer_destroyCanvasAndSurface }, { "nDestroy", "(J)V", (void*) android_view_ThreadedRenderer_destroy }, { "nRegisterAnimatingRenderNode", "(JJ)V", (void*) android_view_ThreadedRenderer_registerAnimatingRenderNode }, { "nInvokeFunctor", "(JZ)V", (void*) android_view_ThreadedRenderer_invokeFunctor }, { "nCreateDisplayListLayer", "(JII)J", (void*) android_view_ThreadedRenderer_createDisplayListLayer }, Loading
libs/hwui/Caches.cpp +7 −3 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ #include "Properties.h" #include "LayerRenderer.h" #include "ShadowTessellator.h" #include "RenderState.h" namespace android { Loading @@ -49,7 +50,7 @@ namespace uirenderer { /////////////////////////////////////////////////////////////////////////////// Caches::Caches(): Singleton<Caches>(), mExtensions(Extensions::getInstance()), mInitialized(false) { mExtensions(Extensions::getInstance()), mInitialized(false), mRenderState(NULL) { init(); initFont(); initConstraints(); Loading Loading @@ -267,8 +268,11 @@ void Caches::dumpMemoryUsage(String8 &log) { log.appendFormat("Current memory usage / total memory usage (bytes):\n"); log.appendFormat(" TextureCache %8d / %8d\n", textureCache.getSize(), textureCache.getMaxSize()); log.appendFormat(" LayerCache %8d / %8d\n", layerCache.getSize(), layerCache.getMaxSize()); log.appendFormat(" LayerCache %8d / %8d (numLayers = %zu)\n", layerCache.getSize(), layerCache.getMaxSize(), layerCache.getCount()); log.appendFormat(" Garbage layers %8zu\n", mLayerGarbage.size()); log.appendFormat(" Active layers %8zu\n", mRenderState ? mRenderState->mActiveLayers.size() : 0); log.appendFormat(" RenderBufferCache %8d / %8d\n", renderBufferCache.getSize(), renderBufferCache.getMaxSize()); log.appendFormat(" GradientCache %8d / %8d\n", Loading
libs/hwui/Caches.h +5 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,7 @@ struct CacheLogger { /////////////////////////////////////////////////////////////////////////////// class RenderNode; class RenderState; class ANDROID_API Caches: public Singleton<Caches> { Caches(); Loading @@ -132,6 +133,8 @@ public: */ bool initProperties(); void setRenderState(RenderState* renderState) { mRenderState = renderState; } /** * Flush the cache. * Loading Loading @@ -431,6 +434,8 @@ private: GLuint mBoundTextures[REQUIRED_TEXTURE_UNITS_COUNT]; OverdrawColorSet mOverdrawDebugColorSet; RenderState* mRenderState; }; // class Caches }; // namespace uirenderer Loading
libs/hwui/LayerCache.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,10 @@ LayerCache::~LayerCache() { // Size management /////////////////////////////////////////////////////////////////////////////// size_t LayerCache::getCount() { return mCache.size(); } uint32_t LayerCache::getSize() { return mSize; } Loading