Reland "TextureView Vulkan support and optimized OpenGL draw"

Fix an issue with incorrect texture matrix, when there is 90/270 rotation.
This happened, because after refactoring SkImage has buffer width/height,
instead of layer width/height.
This reverts commit a683eb3945320f592f58705c3c31b3c044f4bd72.

Bug: 113673613
Test: Ran TextureView CTS and lensblur in camera app
Change-Id: If3bcf9cd5195de09fd67a753708568a8e3ca3a9a
diff --git a/libs/hwui/ResourceCache.cpp b/libs/hwui/ResourceCache.cpp
index 464a58d..65bee47 100644
--- a/libs/hwui/ResourceCache.cpp
+++ b/libs/hwui/ResourceCache.cpp
@@ -15,7 +15,6 @@
  */
 
 #include "ResourceCache.h"
-#include "Caches.h"
 
 namespace android {
 
@@ -112,13 +111,9 @@
     ResourceReference* ref = index >= 0 ? mCache->valueAt(index) : nullptr;
     if (ref == nullptr) {
         // If we're not tracking this resource, just delete it
-        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;
-        }
+        // 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;
@@ -135,14 +130,10 @@
     if (ref->destroyed) {
         switch (ref->resourceType) {
             case kNinePatch: {
-                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;
-                }
+                // 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;
         }
     }