| Index: src/gpu/GrPictureUtils.cpp
 | 
| diff --git a/src/gpu/GrPictureUtils.cpp b/src/gpu/GrPictureUtils.cpp
 | 
| index 521160ac8afd172d34b4d79ab8914fbbb2e20102..4b0f77f3864abbfc91f22938d96463d1347f6b07 100644
 | 
| --- a/src/gpu/GrPictureUtils.cpp
 | 
| +++ b/src/gpu/GrPictureUtils.cpp
 | 
| @@ -23,10 +23,11 @@ public:
 | 
|      CollectLayers(const SkPicture* pict, GrAccelData* accelData)
 | 
|          : fPictureID(pict->uniqueID())
 | 
|          , fCTM(&SkMatrix::I())
 | 
| -        , fCurrentClipBounds(SkIRect::MakeXYWH(0, 0, pict->width(), pict->height()))
 | 
|          , fSaveLayersInStack(0)
 | 
|          , fAccelData(accelData) {
 | 
|  
 | 
| +        pict->cullRect().roundOut(&fCurrentClipBounds);
 | 
| +
 | 
|          if (NULL == pict->fRecord.get()) {
 | 
|              return;
 | 
|          }
 | 
| @@ -255,7 +256,7 @@ private:
 | 
|  // GPUOptimize is only intended to be called within the context of SkGpuDevice's
 | 
|  // EXPERIMENTAL_optimize method.
 | 
|  const GrAccelData* GPUOptimize(const SkPicture* pict) {
 | 
| -    if (NULL == pict || 0 == pict->width() || 0 == pict->height()) {
 | 
| +    if (NULL == pict || pict->cullRect().isEmpty()) {
 | 
|          return NULL;
 | 
|      }
 | 
|  
 | 
| 
 |