Add support for dumping RS objects to aid in debugging of white blocks bug.
diff --git a/rs.spec b/rs.spec
index be988e7..a4e72d9 100644
--- a/rs.spec
+++ b/rs.spec
@@ -42,6 +42,10 @@
 	param void *sur
 	}
 
+ContextDump {
+	param int32_t bits
+}
+
 ContextSetPriority {
 	param int32_t priority
 	}
diff --git a/rsAllocation.cpp b/rsAllocation.cpp
index 16029a6..408d83f 100644
--- a/rsAllocation.cpp
+++ b/rsAllocation.cpp
@@ -190,6 +190,24 @@
 {
 }
 
+void Allocation::dumpLOGV(const char *prefix) const
+{
+    ObjectBase::dumpLOGV(prefix);
+
+    String8 s(prefix);
+    s.append(" type ");
+    if (mType.get()) {
+        mType->dumpLOGV(s.string());
+    }
+
+    LOGV("%s allocation ptr=%p mCpuWrite=%i, mCpuRead=%i, mGpuWrite=%i, mGpuRead=%i",
+          prefix, mPtr, mCpuWrite, mCpuRead, mGpuWrite, mGpuRead);
+
+    LOGV("%s allocation mIsTexture=%i mIsTextureID=%i, mIsVertexBuffer=%i, mBufferID=%i",
+          prefix, mIsTexture, mTextureID, mIsVertexBuffer, mBufferID);
+
+
+}
 
 
 /////////////////
diff --git a/rsAllocation.h b/rsAllocation.h
index 1b83267..514b1c2 100644
--- a/rsAllocation.h
+++ b/rsAllocation.h
@@ -65,6 +65,8 @@
     void enableGLVertexBuffers() const;
     void setupGLIndexBuffers() const;
 
+    virtual void dumpLOGV(const char *prefix) const;
+
 
 protected:
     ObjectBaseRef<const Type> mType;
diff --git a/rsContext.cpp b/rsContext.cpp
index deb9592..08ed725 100644
--- a/rsContext.cpp
+++ b/rsContext.cpp
@@ -819,6 +819,11 @@
     rsc->setPriority(p);
 }
 
+void rsi_ContextDump(Context *rsc, int32_t bits)
+{
+    ObjectBase::dumpAll(rsc);
+}
+
 }
 }
 
diff --git a/rsObjectBase.cpp b/rsObjectBase.cpp
index b7d67cc..05791cb 100644
--- a/rsObjectBase.cpp
+++ b/rsObjectBase.cpp
@@ -190,3 +190,15 @@
     }
 }
 
+void ObjectBase::dumpAll(Context *rsc)
+{
+    if (rsc->props.mLogObjects) {
+        LOGV("Dumping all objects");
+        const ObjectBase * o = rsc->mObjHead;
+        while (o) {
+            o->dumpLOGV("  ");
+            o = o->mNext;
+        }
+    }
+}
+
diff --git a/rsObjectBase.h b/rsObjectBase.h
index dc85ac7..f247022 100644
--- a/rsObjectBase.h
+++ b/rsObjectBase.h
@@ -49,6 +49,7 @@
     void setContext(Context *);
 
     static void zeroAllUserRef(Context *rsc);
+    static void dumpAll(Context *rsc);
 
     virtual void dumpLOGV(const char *prefix) const;