diff --git a/lib/Renderscript/runtime/rs_allocation.c b/lib/Renderscript/runtime/rs_allocation.c
index 949b7b3..e348d3a 100644
--- a/lib/Renderscript/runtime/rs_allocation.c
+++ b/lib/Renderscript/runtime/rs_allocation.c
@@ -6,19 +6,19 @@
 extern uint32_t __attribute__((overloadable))
     rsAllocationGetDimX(rs_allocation a) {
     Allocation_t *alloc = (Allocation_t *)a.p;
-    return alloc->mHal.state.dimensionX;
+    return alloc->mHal.drvState.lod[0].dimX;
 }
 
 extern uint32_t __attribute__((overloadable))
         rsAllocationGetDimY(rs_allocation a) {
     Allocation_t *alloc = (Allocation_t *)a.p;
-    return alloc->mHal.state.dimensionY;
+    return alloc->mHal.drvState.lod[0].dimY;
 }
 
 extern uint32_t __attribute__((overloadable))
         rsAllocationGetDimZ(rs_allocation a) {
     Allocation_t *alloc = (Allocation_t *)a.p;
-    return alloc->mHal.state.dimensionZ;
+    return alloc->mHal.drvState.lod[0].dimZ;
 }
 
 extern uint32_t __attribute__((overloadable))
@@ -56,7 +56,7 @@
     const uint8_t *p = (const uint8_t *)alloc->mHal.drvState.lod[0].mallocPtr;
     const uint32_t eSize = alloc->mHal.state.elementSizeBytes;
     const uint32_t stride = alloc->mHal.drvState.lod[0].stride;
-    const uint32_t dimY = alloc->mHal.state.dimensionY;
+    const uint32_t dimY = alloc->mHal.drvState.lod[0].dimY;
     return &p[(eSize * x) + (y * stride) + (z * stride * dimY)];
 }
 
diff --git a/lib/Renderscript/runtime/rs_structs.h b/lib/Renderscript/runtime/rs_structs.h
index 3d90463..a61ebea 100644
--- a/lib/Renderscript/runtime/rs_structs.h
+++ b/lib/Renderscript/runtime/rs_structs.h
@@ -32,9 +32,7 @@
             const void *type;
             uint32_t usageFlags;
             rs_allocation_mipmap_control mipmapControl;
-            uint32_t dimensionX;
-            uint32_t dimensionY;
-            uint32_t dimensionZ;
+            uint32_t yuv;
             uint32_t elementSizeBytes;
             bool hasMipmaps;
             bool hasFaces;
@@ -43,7 +41,6 @@
             int32_t surfaceTextureID;
             void * wndSurface;
             void * surfaceTexture;
-            rs_data_type eType;
         } state;
 
         struct DrvState {
