diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java
index d57132a..1697382 100644
--- a/core/java/android/view/TextureView.java
+++ b/core/java/android/view/TextureView.java
@@ -502,9 +502,23 @@
      * @see #isAvailable() 
      * @see #getBitmap(int, int)  
      * @see #getBitmap() 
+     * 
+     * @throws IllegalStateException if the hardware rendering context cannot be
+     *         acquired to capture the bitmap
      */
     public Bitmap getBitmap(Bitmap bitmap) {
         if (bitmap != null && isAvailable()) {
+            AttachInfo info = mAttachInfo;
+            if (info != null && info.mHardwareRenderer != null &&
+                    info.mHardwareRenderer.isEnabled()) {
+                if (!info.mHardwareRenderer.validate()) {
+                    throw new IllegalStateException("Could not acquire hardware rendering context");
+                }
+            }
+
+            applyUpdate();
+            applyTransformMatrix();
+
             mLayer.copyInto(bitmap);
         }
         return bitmap;
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 15544cc..b972ebc 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -10125,6 +10125,14 @@
         return mHardwareLayer;
     }
 
+    /**
+     * Destroys this View's hardware layer if possible.
+     * 
+     * @return True if the layer was destroyed, false otherwise.
+     * 
+     * @see #setLayerType(int, android.graphics.Paint) 
+     * @see #LAYER_TYPE_HARDWARE
+     */
     boolean destroyLayer() {
         if (mHardwareLayer != null) {
             mHardwareLayer.destroy();
