diff --git a/libs/hwui/Caches.cpp b/libs/hwui/Caches.cpp
index 96e142c..c3bac5d 100644
--- a/libs/hwui/Caches.cpp
+++ b/libs/hwui/Caches.cpp
@@ -293,6 +293,7 @@
 void Caches::enableTexCoordsVertexArray() {
     if (!mTexCoordsArrayEnabled) {
         glEnableVertexAttribArray(Program::kBindingTexCoords);
+        mCurrentTexCoordsPointer = this;
         mTexCoordsArrayEnabled = true;
     }
 }
diff --git a/libs/hwui/Rect.h b/libs/hwui/Rect.h
index adf019b..fb76717 100644
--- a/libs/hwui/Rect.h
+++ b/libs/hwui/Rect.h
@@ -124,6 +124,14 @@
         return intersect(r.left, r.top, r.right, r.bottom);
     }
 
+    bool contains(float l, float t, float r, float b) {
+        return l >= left && t >= top && r <= right && b <= bottom;
+    }
+
+    bool contains(const Rect& r) {
+        return contains(r.left, r.top, r.right, r.bottom);
+    }
+
     bool unionWith(const Rect& r) {
         if (r.left < r.right && r.top < r.bottom) {
             if (left < right && top < bottom) {
