skia2/gm
scroggo@google.com 74b7ffda68 Fixes for piping bitmaps with encoded data.
Similar goals as https://codereview.chromium.org/14437012.

Builds on patch set 1 from that issue
(https://codereview.chromium.org/14437012/#ps1).

Instead of the changes in patch set 2 from that issue, this
changes SkOrderedWriteBuffer::writeBitmap to store whether an
SkBitmapHeap was used when to store the index of the SkBitmap.
SkOrderedReadBuffer::readBitmap now uses that information to
distinguish between using the heap and unflattening.

In addition, writeBitmap now records the width/height first in
all cases. If now SkBitmapHeapReader is attached, but an
SkBitmapHeap was used to record the bitmap, reading will fail
and provide the same red SkBitmap as in the case where the
SkBitmap was encoded but could not be decoded.

Updates the PICTURE_VERSION as well.

The key differences in this CL to look at are in:
SkOrderedWriteBuffer,
SkOrderedReadBuffer,
and SkPicture.

BUG=
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8917 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-30 02:32:41 +00:00
..
tests GM self-tests: always run all tests (don't stop at first failure) 2013-04-26 17:45:06 +00:00
aaclip.cpp add new gms for shallow_gradient, in preparation for improving their quality 2013-02-04 16:56:15 +00:00
aarectmodes.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
arithmode.cpp Defining new color constat for transparent color 2012-12-06 21:47:40 +00:00
bicubicfilter.cpp (Relanding r7275 with assert fix, plus fixes from r7276, r7280, r7283.) 2013-01-18 20:48:20 +00:00
bigmatrix.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
bitmapcopy.cpp Add flag to skip pipe on select GMs 2012-07-20 18:45:10 +00:00
bitmapfilters.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
bitmapmatrix.cpp Added additional case to GM:drawbitmapmatrix 2012-09-28 17:24:44 +00:00
bitmaprect.cpp Fixed remaining clang compiler warnings 2012-12-03 17:35:19 +00:00
bitmaprecttest.cpp augmenting fix in 8700 and 8701, be careful NOT to "sort" the result of mapRect 2013-04-18 15:37:14 +00:00
bitmapscroll.cpp fix warning from scalar --> int32 conversion 2013-01-07 19:54:40 +00:00
blend.cpp revert name changes to SkBlendImageFilter. It (correctly) named its enum kMultiply_Mode, 2013-02-01 14:35:09 +00:00
blurrect.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-02-21 07:15:03 +00:00
blurs.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
circles.cpp Add file missing from r3682 checkin 2012-04-16 14:19:32 +00:00
cmykjpeg.cpp fix warning from scalar --> int32 conversion 2013-01-07 19:54:40 +00:00
colorfilterimagefilter.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
colormatrix.cpp Add transparent source bitmap to colormatrix GM. 2012-10-16 17:50:48 +00:00
complexclip2.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
complexclip.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
composeshader.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
convexpaths.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
cubicpaths.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-03-09 07:01:15 +00:00
dashcubics.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
dashing.cpp Fix minor memory leaks 2013-03-27 21:31:21 +00:00
degeneratesegments.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
displacement.cpp Fix for displacement mapping 2013-03-19 15:07:30 +00:00
distantclip.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2012-09-18 02:01:09 +00:00
drawbitmaprect.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
drawlooper.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
emptypath.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
extractbitmap.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
factory.cpp Move MMap to SkData. 2013-04-24 20:03:00 +00:00
fatpathfill.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
filltypes.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
filltypespersp.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
fontmgr.cpp show fontstyle values for each style 2013-04-24 19:14:39 +00:00
fontscaler.cpp speculative fix for broken android bots : disable gm/fontscaler 2013-03-08 13:31:26 +00:00
gammatext.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
getpostextpath.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
giantbitmap.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm_error.h GM: allow caller to specify which result types trigger an error 2013-04-12 14:11:21 +00:00
gm_expectations.cpp GM: specify that currently used checksums are CityHashes of SkBitmaps 2013-04-26 15:06:44 +00:00
gm_expectations.h GM: specify that currently used checksums are CityHashes of SkBitmaps 2013-04-26 15:06:44 +00:00
gm.cpp add onOnceBeforeDraw() virtual, so gm's can easily perform lazy initialization 2012-11-27 15:15:58 +00:00
gm.h GM::height() now returns the height, not the width. 2013-04-12 22:14:03 +00:00
gmmain.cpp Fixes for piping bitmaps with encoded data. 2013-04-30 02:32:41 +00:00
gradients.cpp GM : Unused parameters cleanup 2013-02-27 15:41:12 +00:00
gradtext.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
hairmodes.cpp add onOnceBeforeDraw() virtual, so gm's can easily perform lazy initialization 2012-11-27 15:15:58 +00:00
hittestpath.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
image.cpp Fixing viral copy/paste typo Shapshot -> Snapshot 2013-04-12 20:20:50 +00:00
image.h check-point for image/surface work 2012-07-29 20:38:16 +00:00
imageblur.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
imagefiltersbase.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
imagefiltersgraph.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
imagemagnifier.cpp Skip tiled drawing in GM for magnifier image filter. 2012-08-15 16:32:19 +00:00
internal_links.cpp PDF: add support for named destinations. 2013-03-08 09:09:10 +00:00
lcdtext.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
lighting.cpp Changing imageFilter GM tests to use drawBitmap instead of drawSprite 2013-01-14 16:27:50 +00:00
linepaths.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
matrixconvolution.cpp Changing imageFilter GM tests to use drawBitmap instead of drawSprite 2013-01-14 16:27:50 +00:00
mixedxfermodes.cpp Use blitframebuffer to implement copySurface. 2013-04-11 22:00:22 +00:00
modecolorfilters.cpp Work around stack overflow 2013-03-14 17:24:16 +00:00
morphology.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
ninepatchstretch.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
nocolorbleed.cpp Import all GMs as Samples. 2011-10-31 14:18:20 +00:00
optimizations.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-04-13 07:01:15 +00:00
ovals.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-04-19 07:01:00 +00:00
patheffects.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
pathfill.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
pathinterior.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
pathopsinverse.cpp path ops -- crap, I checked in the wrong file 2013-04-22 20:12:47 +00:00
pathopsskpclip.cpp path ops : make it real 2013-04-25 13:34:40 +00:00
pathreverse.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
perlinnoise.cpp Perlin noise adjustments 2013-04-17 13:46:56 +00:00
points.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
poly2poly.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
quadpaths.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
rects.cpp add 90 degree test case to rects GM 2013-04-29 17:44:45 +00:00
roundrects.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-04-23 07:01:29 +00:00
rrect.cpp GM : Unused parameters cleanup 2013-02-27 15:41:12 +00:00
rrects.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
samplerstress.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
selftest.cpp gm: record IntentionallySkipped tests 2013-04-10 12:17:34 +00:00
shaderbounds.cpp Fix some fixed-point bugs. 2012-04-17 21:46:18 +00:00
shadertext2.cpp Defining new color constat for transparent color 2012-12-06 21:47:40 +00:00
shadertext3.cpp Minor cleanup 2012-12-12 15:58:25 +00:00
shadertext.cpp GM : Unused parameters cleanup 2013-02-27 15:41:12 +00:00
shadows.cpp Fix type errors and a few warnings for Visual Studio 2010 64-bit build. 2012-05-17 15:38:00 +00:00
shallowgradient.cpp Fix minor memory leaks 2013-03-27 21:31:21 +00:00
simpleaaclip.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2012-12-15 02:03:10 +00:00
spritebitmap.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-17 07:06:06 +00:00
srcmode.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
strokefill.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
strokerect.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
strokerects.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
strokes.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
system_preferences_default.cpp Set LCD font smoothing to "medium" for gm on Mac, regardless of system settings 2012-02-14 14:53:59 +00:00
system_preferences_mac.mm gm: Include system_preferences.h in mac file. 2012-09-26 15:41:42 +00:00
system_preferences.h Set LCD font smoothing to "medium" for gm on Mac, regardless of system settings 2012-02-14 14:53:59 +00:00
tablecolorfilter.cpp Defining new color constat for transparent color 2012-12-06 21:47:40 +00:00
techtalk1.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
testimagefilters.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
texdata.cpp Remove legacy names no longer referenced in Chrome and WebKit. 2013-02-07 14:43:04 +00:00
texteffects.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
tilemodes.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-02-23 07:02:45 +00:00
tinybitmap.cpp add onOnceBeforeDraw() virtual, so gm's can easily perform lazy initialization 2012-11-27 15:15:58 +00:00
twopointradial.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
typeface.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-02-27 07:10:10 +00:00
valgrind.supp Close an (incidental) memory leak in gmmain. 2012-03-15 13:39:51 +00:00
verttext2.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
verttext.cpp Vertical metrics for FreeType. 2012-09-25 20:38:28 +00:00
verylargebitmap.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:19:56 +00:00
xfermodes2.cpp Fix for segmentation fault in xfermodes2 GM. 2013-04-19 13:59:52 +00:00
xfermodes.cpp Added support for non-separable blending modes. 2013-03-05 16:23:59 +00:00