Fix accessBitmap() with deferred clear, GPU path.
authorsenorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 19 Mar 2014 18:24:04 +0000 (18:24 +0000)
committersenorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 19 Mar 2014 18:24:04 +0000 (18:24 +0000)
commitb7b7eb32f41729c136c939702b0c9a484accb541
treecb9793c8ebc7a0d30ed82124d5f46f1290967195
parentf5e315ccf1ae2941f7cf53fa53e5c8c4bb665fe1
Fix accessBitmap() with deferred clear, GPU path.

When accessBitmap() is called on a GPU device which has deferred clear,
and no drawing has been done, force the clear before returning the
bitmap.

This is covered by the top right test case in the imagefilterscropexpand
GM, where an offset image filter is drawn but the resulting bitmap is
cropped out, resulting in no drawing to the offscreen. It should be
empty, but without this fix it results in garbage (previous scratch
texture contents).

BUG=skia:
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/204903002

git-svn-id: http://skia.googlecode.com/svn/trunk@13860 2bbb7eff-a529-9590-31e7-b0007b416f81
include/gpu/SkGpuDevice.h
src/gpu/SkGpuDevice.cpp