Fixing a deferred canvas optimization that purges pending draws when the canvas is...
authorjunov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 15 Aug 2012 19:49:22 +0000 (19:49 +0000)
committerjunov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 15 Aug 2012 19:49:22 +0000 (19:49 +0000)
commita8db8fe39a640bda4b85b9342c3b6b2525142afa
treec4f2e091b61c7887e9db5354aa8dbbc812849667
parent837d31a0c9351c4d65f5d703ff12db2c7cc5f6cd
Fixing a deferred canvas optimization that purges pending draws when the canvas is cleared

It appears that the recording canvas returns a save count of 1 when the save stack is empty.
In order to pass Canvas unit tests when a clear occurs, changes to SkGPipe were necessary
to allow SkDeferredCanvas to set the device bounds on the SkGPipeCanvas.  A positive
side effect of this change is that graphics primitives that fall outside of the device
bounds will now always be culled at the recording stage (as opposed playback).

BUG=http://code.google.com/p/skia/issues/detail?id=782
TEST=deferred_canvas_record bench test
Review URL: https://codereview.appspot.com/6454157

git-svn-id: http://skia.googlecode.com/svn/trunk@5117 2bbb7eff-a529-9590-31e7-b0007b416f81
include/pipe/SkGPipe.h
src/pipe/SkGPipeWrite.cpp
src/utils/SkDeferredCanvas.cpp