| 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;
|
| }
|
|
|
|
|