Index: src/gpu/batches/GrDrawPathBatch.cpp |
diff --git a/src/gpu/batches/GrDrawPathBatch.cpp b/src/gpu/batches/GrDrawPathBatch.cpp |
index a99f4ebf4386c963a0ba18a48b01ab2c269cc837..ff62539932261568f20e19a3140b9655e1d817d0 100644 |
--- a/src/gpu/batches/GrDrawPathBatch.cpp |
+++ b/src/gpu/batches/GrDrawPathBatch.cpp |
@@ -137,8 +137,14 @@ |
instances.count()); |
} else { |
int floatsPerTransform = GrPathRendering::PathTransformSize(this->transformType()); |
+#if defined(GOOGLE3) |
+ //Stack frame size is limited in GOOGLE3. |
+ SkAutoSTMalloc<512, float> transformStorage(floatsPerTransform * fTotalPathCount); |
+ SkAutoSTMalloc<256, uint16_t> indexStorage(fTotalPathCount); |
+#else |
SkAutoSTMalloc<4096, float> transformStorage(floatsPerTransform * fTotalPathCount); |
SkAutoSTMalloc<2048, uint16_t> indexStorage(fTotalPathCount); |
+#endif |
int idx = 0; |
for (DrawList::Iter iter(fDraws); iter.get(); iter.next()) { |
const Draw& draw = *iter.get(); |