Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c13b8cf authored by John Reck's avatar John Reck Committed by Android (Google) Code Review
Browse files

Merge "Yank ResourceCache out of Caches" into lmp-mr1-dev

parents c7f1ae81 a35778c7
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@

#include <jni.h>

#include <Caches.h>
#include <ResourceCache.h>

#if 0
    #define TRACE_BITMAP(code)  code
@@ -365,8 +365,8 @@ static jobject Bitmap_copy(JNIEnv* env, jobject, jlong srcHandle,
static void Bitmap_destructor(JNIEnv* env, jobject, jlong bitmapHandle) {
    SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(bitmapHandle);
#ifdef USE_OPENGL_RENDERER
    if (android::uirenderer::Caches::hasInstance()) {
        android::uirenderer::Caches::getInstance().resourceCache.destructor(bitmap);
    if (android::uirenderer::ResourceCache::hasInstance()) {
        android::uirenderer::ResourceCache::getInstance().destructor(bitmap);
        return;
    }
#endif // USE_OPENGL_RENDERER
@@ -376,9 +376,9 @@ static void Bitmap_destructor(JNIEnv* env, jobject, jlong bitmapHandle) {
static jboolean Bitmap_recycle(JNIEnv* env, jobject, jlong bitmapHandle) {
    SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(bitmapHandle);
#ifdef USE_OPENGL_RENDERER
    if (android::uirenderer::Caches::hasInstance()) {
    if (android::uirenderer::ResourceCache::hasInstance()) {
        bool result;
        result = android::uirenderer::Caches::getInstance().resourceCache.recycle(bitmap);
        result = android::uirenderer::ResourceCache::getInstance().recycle(bitmap);
        return result ? JNI_TRUE : JNI_FALSE;
    }
#endif // USE_OPENGL_RENDERER
+3 −3
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
#include <androidfw/ResourceTypes.h>
#include <utils/Log.h>

#include <Caches.h>
#include <ResourceCache.h>

#include "Paint.h"
#include "Canvas.h"
@@ -80,9 +80,9 @@ public:
    static void finalize(JNIEnv* env, jobject, jlong patchHandle) {
        int8_t* patch = reinterpret_cast<int8_t*>(patchHandle);
#ifdef USE_OPENGL_RENDERER
        if (android::uirenderer::Caches::hasInstance()) {
        if (android::uirenderer::ResourceCache::hasInstance()) {
            Res_png_9patch* p = (Res_png_9patch*) patch;
            android::uirenderer::Caches::getInstance().resourceCache.destructor(p);
            android::uirenderer::ResourceCache::getInstance().destructor(p);
            return;
        }
#endif // USE_OPENGL_RENDERER
+3 −3
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@
#include "SkPath.h"
#include "SkPathOps.h"

#include <Caches.h>
#include <ResourceCache.h>
#include <vector>
#include <map>

@@ -39,8 +39,8 @@ public:
    static void finalizer(JNIEnv* env, jobject clazz, jlong objHandle) {
        SkPath* obj = reinterpret_cast<SkPath*>(objHandle);
#ifdef USE_OPENGL_RENDERER
        if (android::uirenderer::Caches::hasInstance()) {
            android::uirenderer::Caches::getInstance().resourceCache.destructor(obj);
        if (android::uirenderer::ResourceCache::hasInstance()) {
            android::uirenderer::ResourceCache::getInstance().destructor(obj);
            return;
        }
#endif
+0 −1
Original line number Diff line number Diff line
@@ -340,7 +340,6 @@ public:
    TessellationCache tessellationCache;
    TextDropShadowCache dropShadowCache;
    FboCache fboCache;
    ResourceCache resourceCache;

    GammaFontRenderer* fontRenderer;

+8 −9
Original line number Diff line number Diff line
@@ -39,29 +39,28 @@ DisplayListData::~DisplayListData() {
}

void DisplayListData::cleanupResources() {
    Caches& caches = Caches::getInstance();
    caches.unregisterFunctors(functors.size());
    caches.resourceCache.lock();
    ResourceCache& resourceCache = ResourceCache::getInstance();
    resourceCache.lock();

    for (size_t i = 0; i < bitmapResources.size(); i++) {
        caches.resourceCache.decrementRefcountLocked(bitmapResources.itemAt(i));
        resourceCache.decrementRefcountLocked(bitmapResources.itemAt(i));
    }

    for (size_t i = 0; i < ownedBitmapResources.size(); i++) {
        const SkBitmap* bitmap = ownedBitmapResources.itemAt(i);
        caches.resourceCache.decrementRefcountLocked(bitmap);
        caches.resourceCache.destructorLocked(bitmap);
        resourceCache.decrementRefcountLocked(bitmap);
        resourceCache.destructorLocked(bitmap);
    }

    for (size_t i = 0; i < patchResources.size(); i++) {
        caches.resourceCache.decrementRefcountLocked(patchResources.itemAt(i));
        resourceCache.decrementRefcountLocked(patchResources.itemAt(i));
    }

    for (size_t i = 0; i < sourcePaths.size(); i++) {
        caches.resourceCache.decrementRefcountLocked(sourcePaths.itemAt(i));
        resourceCache.decrementRefcountLocked(sourcePaths.itemAt(i));
    }

    caches.resourceCache.unlock();
    resourceCache.unlock();

    for (size_t i = 0; i < paints.size(); i++) {
        delete paints.itemAt(i);
Loading