use 1/16 the size (20KB) for the dim texture in the copybit/msm case
diff --git a/libs/surfaceflinger/LayerDim.cpp b/libs/surfaceflinger/LayerDim.cpp
index 5cb883c..4114a42 100644
--- a/libs/surfaceflinger/LayerDim.cpp
+++ b/libs/surfaceflinger/LayerDim.cpp
@@ -63,6 +63,12 @@
      * This burns a full-screen worth of graphic memory.
      */
 
+    // copybit supports 4x scaling, so we only need to allocate 1/16 of the
+    // buffer.
+    // FIXME: we have to add 1px because the mdp fails
+    w = w/4 + 1;
+    h = h/4 + 1;
+
     const DisplayHardware& hw(flinger->graphicPlane(0).displayHardware());
     uint32_t flags = hw.getFlags();
 
@@ -93,7 +99,7 @@
         // initialize the texture with zeros
         GGLSurface t;
         buffer->lock(&t, GRALLOC_USAGE_SW_READ_NEVER | GRALLOC_USAGE_SW_WRITE_OFTEN);
-        memset(t.data, 0, t.width * t.stride * 2);
+        memset(t.data, 0, t.stride * t.height * 2);
         buffer->unlock();
         sUseTexture = true;
     }