Add support for YUV allocations.

Change-Id: I21a47c745a2f8435af4f37ec0ad624002f3db555
diff --git a/driver/rsdAllocation.cpp b/driver/rsdAllocation.cpp
index 2f0c0d8..3ad29b6 100644
--- a/driver/rsdAllocation.cpp
+++ b/driver/rsdAllocation.cpp
@@ -208,7 +208,7 @@
         }
         RSD_CALL_GL(glBindRenderbuffer, GL_RENDERBUFFER, drv->renderTargetID);
         RSD_CALL_GL(glRenderbufferStorage, GL_RENDERBUFFER, drv->glFormat,
-                              alloc->mHal.state.dimensionX, alloc->mHal.state.dimensionY);
+                    alloc->mHal.drvState.lod[0].dimX, alloc->mHal.drvState.lod[0].dimY);
     }
     rsdGLCheckError(rsc, "AllocateRenderTarget");
 #endif
@@ -399,6 +399,9 @@
 
 void rsdAllocationResize(const Context *rsc, const Allocation *alloc,
                          const Type *newType, bool zeroNew) {
+    const uint32_t oldDimX = alloc->mHal.drvState.lod[0].dimX;
+    const uint32_t dimX = newType->getDimX();
+
     // can't resize Allocations with user-allocated buffers
     if (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_SHARED) {
         ALOGE("Resize cannot be called on a USAGE_SHARED allocation");
@@ -414,8 +417,6 @@
         rsAssert(!"Size mismatch");
     }
 
-    const uint32_t oldDimX = alloc->mHal.state.dimensionX;
-    const uint32_t dimX = newType->getDimX();
 
     if (dimX > oldDimX) {
         uint32_t stride = alloc->mHal.state.elementSizeBytes;
@@ -570,8 +571,8 @@
             return;
         }
 
-        r = native_window_set_buffers_dimensions(nw, alloc->mHal.state.dimensionX,
-                                                 alloc->mHal.state.dimensionY);
+        r = native_window_set_buffers_dimensions(nw, alloc->mHal.drvState.lod[0].dimX,
+                                                 alloc->mHal.drvState.lod[0].dimY);
         if (r) {
             rsc->setError(RS_ERROR_DRIVER, "Error setting IO output buffer dimensions.");
             return;