Merge change 5992

* changes:
  Allocate 16MB for surfaces on Firstone, since 8MB is way to small for our bigger screen.
diff --git a/libs/surfaceflinger/VRamHeap.cpp b/libs/surfaceflinger/VRamHeap.cpp
index 68c0a5e..3b1b152 100644
--- a/libs/surfaceflinger/VRamHeap.cpp
+++ b/libs/surfaceflinger/VRamHeap.cpp
@@ -55,7 +55,7 @@
  * (PMEM is used for 2D acceleration)
  * 8 MB of address space per client should be enough.
  */
-static const int PMEM_SIZE = int(8 * 1024 * 1024);
+static const int PMEM_SIZE = int(16 * 1024 * 1024);
 
 int SurfaceHeapManager::global_pmem_heap = 0;
 
@@ -79,7 +79,11 @@
         mPMemHeap = new PMemHeap(device, PMEM_SIZE);
         if (mPMemHeap->base() == MAP_FAILED) {
             mPMemHeap.clear();
-            global_pmem_heap = 0;
+            mPMemHeap = new PMemHeap(device, PMEM_SIZE/2);
+            if (mPMemHeap->base() == MAP_FAILED) {
+                mPMemHeap.clear();
+                global_pmem_heap = 0;
+            }
         }
     }
 }