summaryrefslogtreecommitdiff
path: root/libs/hwui/ResourceCache.cpp
diff options
context:
space:
mode:
author Stan Iliev <stani@google.com> 2018-09-04 15:42:18 +0000
committer Stan Iliev <stani@google.com> 2018-09-04 15:42:18 +0000
commita683eb3945320f592f58705c3c31b3c044f4bd72 (patch)
tree0d52da520e423da3b41733d63f3be53ce0e31932 /libs/hwui/ResourceCache.cpp
parent85f9096b5272c9a39e592e2e97cbbe6cb0e767ab (diff)
Revert "Revert "Revert "TextureView Vulkan support and optimized OpenGL draw"""
This reverts commit 85f9096b5272c9a39e592e2e97cbbe6cb0e767ab. Reason for revert: lensblur broken. Change-Id: I83ac163159fc537bc15936a0f8597a7512ca9d6e
Diffstat (limited to 'libs/hwui/ResourceCache.cpp')
-rw-r--r--libs/hwui/ResourceCache.cpp23
1 files changed, 16 insertions, 7 deletions
diff --git a/libs/hwui/ResourceCache.cpp b/libs/hwui/ResourceCache.cpp
index 65bee476f14d..464a58d0c0f8 100644
--- a/libs/hwui/ResourceCache.cpp
+++ b/libs/hwui/ResourceCache.cpp
@@ -15,6 +15,7 @@
*/
#include "ResourceCache.h"
+#include "Caches.h"
namespace android {
@@ -111,9 +112,13 @@ void ResourceCache::destructorLocked(Res_png_9patch* resource) {
ResourceReference* ref = index >= 0 ? mCache->valueAt(index) : nullptr;
if (ref == nullptr) {
// If we're not tracking this resource, just delete it
- // A Res_png_9patch is actually an array of byte that's larger
- // than sizeof(Res_png_9patch). It must be freed as an array.
- delete[](int8_t*) resource;
+ if (Caches::hasInstance()) {
+ // DEAD CODE
+ } else {
+ // A Res_png_9patch is actually an array of byte that's larger
+ // than sizeof(Res_png_9patch). It must be freed as an array.
+ delete[](int8_t*) resource;
+ }
return;
}
ref->destroyed = true;
@@ -130,10 +135,14 @@ void ResourceCache::deleteResourceReferenceLocked(const void* resource, Resource
if (ref->destroyed) {
switch (ref->resourceType) {
case kNinePatch: {
- // A Res_png_9patch is actually an array of byte that's larger
- // than sizeof(Res_png_9patch). It must be freed as an array.
- int8_t* patch = (int8_t*)resource;
- delete[] patch;
+ if (Caches::hasInstance()) {
+ // DEAD CODE
+ } else {
+ // A Res_png_9patch is actually an array of byte that's larger
+ // than sizeof(Res_png_9patch). It must be freed as an array.
+ int8_t* patch = (int8_t*)resource;
+ delete[] patch;
+ }
} break;
}
}