Index: src/gpu/GrPictureUtils.cpp |
=================================================================== |
--- src/gpu/GrPictureUtils.cpp (revision 14572) |
+++ src/gpu/GrPictureUtils.cpp (working copy) |
@@ -9,6 +9,7 @@ |
#include "SkDevice.h" |
#include "SkDraw.h" |
#include "SkPaintPriv.h" |
+#include "SkPicturePlayback.h" |
// The GrGather device performs GPU-backend-specific preprocessing on |
// a picture. The results are stored in a GPUAccelData. |
@@ -243,7 +244,15 @@ |
} |
virtual void drawPicture(SkPicture& picture) SK_OVERRIDE { |
+ // BBH-based rendering doesn't re-issue many of the operations the gather |
+ // process cares about (e.g., saves and restores) so it must be disabled. |
+ if (NULL != picture.fPlayback) { |
+ picture.fPlayback->setUseBBH(false); |
+ } |
picture.draw(this); |
+ if (NULL != picture.fPlayback) { |
+ picture.fPlayback->setUseBBH(true); |
+ } |
} |
protected: |
// disable aa for speed |