aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Stop referencing gl_FragCoord z and w components.Gravatar bsalomon2014-06-20
| | | | | | | | | | This fixes an Adreno driver bug where GL programs fail to link if the FS refers to these components of gl_FragCoord. R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/345083002
* Undef FloatToFixed and FixedToFloat as well in SkConvolver to avoid ↵Gravatar george2014-06-20
| | | | | | | | | | | confusion with OS X's maths library BUG=skia: R=reed@google.com Author: george@mozilla.com Review URL: https://codereview.chromium.org/326623004
* Fix shader codeGravatar krajcevski2014-06-20
| | | | | | | | | | R=bsalomon@google.com, reed@google.com NOTREECHECKS=true NOTRYS=true Author: krajcevski@google.com Review URL: https://codereview.chromium.org/347563006
* Simple GPU based dithering:Gravatar krajcevski2014-06-19
| | | | | | | | | | | | | | | If dithering is turned on, apply an effect that filters the pixel through the following pipeline: for each channel c: 1. Compute quantized colors [low, high] that c is between 2. Pick high by flipping a coin weighted by (c - low) R=bsalomon@google.com, egdaniel@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/321253002
* Cache the GrEffect used for text rendering in GrBitmapTextContext.Gravatar bsalomon2014-06-19
| | | | | | | | R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/338093005
* Revert "Fix external SkImageFilter caching with clips."Gravatar senorblanco2014-06-19
| | | | | | | | | | | | | This reverts commit ffa9b500d7e83e7dddf6a8902f47c4355b608c30. R=reed@google.com TBR=reed@google.com NOTRY=True NOTREECHECKS=True Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/340413004
* Check for degenerate edges in cubic->quad conversion called by convex path ↵Gravatar bsalomon2014-06-19
| | | | | | | | | | | | | renderer. Cubics that are nearly degenerate now make it down here via the convex path renderer. They used to get filtered out by the path iterator but that was problematic. We wound up producing NaN vertices. BUG=2677 R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/338633007
* Reduce texture uploads for font atlas.Gravatar jvanverth2014-06-19
| | | | | | | | | | Also adds upload tracing for Chrome. R=bsalomon@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/347563005
* Add needed virtual destructors.Gravatar bungeman2014-06-19
| | | | | | | | | | These were found by the clang on Windows build. R=mtklein@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/328303005
* [PDF] Fix font embedding restrictions.Gravatar vandebo2014-06-19
| | | | | | | | | | | | Stop using restricted font outlines and honor don't subset restriction. Resubmit of r12600. R=halcanary@google.com, bungeman@google.com, reed@google.com Author: vandebo@chromium.org Review URL: https://codereview.chromium.org/334443002
* Allow gpu debug markers to be placed by using a GrContextGravatar egdaniel2014-06-19
| | | | | | | | | | | | If a marker is placed using a GrContext, it will add a marker to both the drawBuffer and gpu targets of that context. BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/340893002
* Revert of remove guarded code - there are no more callers ↵Gravatar reed2014-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/343783002/) Reason for revert: webkit still uses getTotalClip -- need to find where they define the guard. ../../skia/ext/skia_utils_mac.mm:400:42: error: no member named 'getTotalClip' in 'SkCanvas' const SkRegion& clipRgn = canvas_->getTotalClip(); ~~~~~~~ ^ Original issue's description: > remove guarded code - there are no more callers > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/c5d5cf9489977aa6fba077d1dc242029fbb4859e R=scroggo@google.com, reed@google.com TBR=reed@google.com, scroggo@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: reed@chromium.org Review URL: https://codereview.chromium.org/342843002
* Fix external SkImageFilter caching with clips.Gravatar senorblanco2014-06-18
| | | | | | | | | | | | | | | | | | | | | | When the external cache is active, do not intersect the saveLayer bounds with the clip bounds. This is so that the cache is always the full size of the primitive's bounds, regardless of the clip active on first draw. (Drawing of the filtered or cached result is always drawn against the active clip, though, since it is restored before internalDrawDevice() is called.) This is a slightly hacky solution, but this code can all go away (including the external cache) once all platforms have switched to impl-side painting. See Chromium bug http://crbug.com/379147. BUG=skia: R=reed@google.com Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/340203002
* remove guarded code - there are no more callersGravatar reed2014-06-18
| | | | | | | | | BUG=skia: R=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/343783002
* Modify gpu debug markers to store gpu device markers when a flush occurs.Gravatar egdaniel2014-06-18
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/341583002
* Remove dashing from gpu vetoGravatar egdaniel2014-06-18
| | | | | | | | | | | | | | | | | | | | | | | | With new veto our new veto test results look like the following: TP: true positive (picked to use gpu and gpu was faster) I: inderminate, the raster time is withing 5% of gpu time TP FP TN FN I old 21 9 15 12 3 new 29 12 11 6 3 There are three skps that tend to move from TN -> FP, however the absolute difference in their run times are not huge between them. The largest being desk_booking which is about 7.1 raster and 8.8 gpu. The other two skps are desk_yahooanswers and desk_linkedin BUG=skia: R=bsalomon@google.com, robertphillips@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/334053005
* Fix last pathops skp bugGravatar caryclark2014-06-18
| | | | | | | | | | | | | | | | | | | | | | This fixes the last bug discovered by iterating through the 800K skp corpus representing the top 1M websites. For every clip on the stack, the paths are replaced with the pathop intersection. The resulting draw is compared with the original draw for pixel errors. At least two prominent bugs remain. In one, the winding value is confused by a cubic with an inflection. In the other, a quad/cubic pair, nearly coincident, fails to find an intersection. These minor changes include ignoring very tiny self-intersections of cubics, and processing degenerate edges that don't connect to anything else. R=reed@android.com TBR=reed Author: caryclark@google.com Review URL: https://codereview.chromium.org/340103002
* Clean up DirectWrite typeface cache matching.Gravatar bungeman2014-06-17
| | | | | | | | | | | | | | | | The matching code was difficult to follow due to naming issues, and performed some duplicate work which is not wanted. This change will either fix the associated bug or make it possible to track the cause. CQ_EXTRA_TRYBOTS=tryserver.skia:Test-Win7-ShuttleA-HD2000-x86-Release-DirectWrite-Trybot BUG=384529 R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/338923003
* Revert of Add SSE4 optimization of S32A_Opaque_Blitrow ↵Gravatar mtklein2014-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/289473009/) NOTREECHECKS=true NOTRY=true Reason for revert: Valgrind bot's seeing this code use uninitialized memory, and it's somehow blocking our roll into Chrome too: > ld: warning: could not create compact unwind for S32A_Opaque_BlitRow32_SSE4_asm: > stack subq instruction is too different from dwarf stack size > [10339/10982 | 3247.792] PACKAGE FRAMEWORK "Chromium Framework.framework", > POSTBUILDS > FAILED: ./gyp-mac-tool package-framework "Chromium Framework.framework" A && > (export > BUILT_PRODUCTS_DIR=/Volumes/data/b/build/slave/mac_gpu/build/src/out/Release; > export CONFIGURATION=Release; export CONTENTS_FOLDER_PATH="Chromium > Framework.framework/Versions/A"; export > DYLIB_INSTALL_NAME_BASE=@executable_path/../Versions/37.0.2056.0; export > EXECUTABLE_NAME="Chromium Framework"; export EXECUTABLE_PATH="Chromium > Framework.framework/Versions/A/Chromium Framework"; export > FULL_PRODUCT_NAME="Chromium Framework.framework"; export > INFOPLIST_PATH="Chromium Framework.framework/Versions/A/Resources/Info.plist"; > export LD_DYLIB_INSTALL_NAME="@executable_path/../Versions/37.0.2056.0/Chromium > Framework.framework/Chromium Framework"; export MACH_O_TYPE=mh_dylib; export > PRODUCT_NAME="Chromium Framework"; export > PRODUCT_TYPE=com.apple.product-type.framework; export > SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk; > export > SRCROOT=/Volumes/data/b/build/slave/mac_gpu/build/src/out/Release/../../chrome; > export SOURCE_ROOT="${SRCROOT}"; export > TARGET_BUILD_DIR=/Volumes/data/b/build/slave/mac_gpu/build/src/out/Release; > export TEMP_DIR="${TMPDIR}"; export UNLOCALIZED_RESOURCES_FOLDER_PATH="Chromium > Framework.framework/Versions/A/Resources"; export WRAPPER_NAME="Chromium > Framework.framework"; (cd ../../chrome && ../build/mac/tweak_info_plist.py > "--breakpad=1" "--breakpad_uploads=0" "--keystone=0" "--scm=1" > "--branding=Chromium" && ln -fns Versions/Current/Libraries > "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Libraries" && > tools/build/mac/verify_order _ChromeMain > "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}"); G=$?; ((exit $G) || rm -rf > 'Chromium Framework.framework') && exit $G) && touch "Chromium > Framework.framework" > tools/build/mac/verify_order: unordered symbols in > /Volumes/data/b/build/slave/mac_gpu/build/src/out/Release/Chromium > Framework.framework/Versions/A/Chromium Framework: > S32A_Opaque_BlitRow32_SSE4_asm > _S32A_Opaque_BlitRow32_SSE4_asm > ninja: build stopped: subcommand failed. Original issue's description: > Add SSE4 optimization of S32A_Opaque_Blitrow > > Adds optimization of Skia S32A_Opaque_Blitrow blitter using SSE4.2 SIMD > instruction set. Special case for when alpha is zero or opaque. > > Performance increase of 10%-400% compared to the existing SSE2 > optimization (measured on Silvermont architecture). > Noticeable in ~25 different skia bench subtests, especially in > bitmap_8888_*, repeatTile_*, and morph_*. > > bitmap_8888_A - 100% faster > bitmap_8888_A_source_transparent - 250% faster > bitmap_8888_A_source_opaque - 25% faster > bitmap_8888_A_scale_bicubic - 75% faster > > Signed-off-by: Henrik Smiding <henrik.smiding@intel.com> > > Committed: https://skia.googlesource.com/skia/+/e2527b147679b0c43019fae7d59cc3777d2d097e > > Committed: https://skia.googlesource.com/skia/+/b5c281e1e06af3be804309877de1dac6145686b9 R=reed@google.com, tomhudson@google.com, djsollen@google.com, joakim.landberg@intel.com, henrik.smiding@intel.com, mtklein@chromium.org Author: mtklein@google.com Review URL: https://codereview.chromium.org/336413007
* Fifth attempt to land faster rect blur. Remove unnecessary conditionals ↵Gravatar humper2014-06-17
| | | | | | | | | | | | | | | from the shader. approved over in https://codereview.chromium.org/331863006/; reuploading because it had the wrong base url BUG=skia:2095 R=bsalomon@google.com TBR=bsalomon Author: humper@google.com Review URL: https://codereview.chromium.org/341543005
* Add EXPERIMENTAL_beginRecording() for SkRecord-based recording.Gravatar mtklein2014-06-17
| | | | | | | | | | | | | The interesting stuff is in SkPictureRecorder.{h,cpp}. The rest is mostly moving SkRecord from its own directories into core to avoid circular dependencies in GYP. After plumbing SkRecord all the way through in Picture, I'll delete its old entry point include/record/SkRecording.h. For now it and record.gypi need to stay where they are to keep Chrome building. BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/331573004
* Add SSE4 optimization of S32A_Opaque_BlitrowGravatar henrik.smiding2014-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | Adds optimization of Skia S32A_Opaque_Blitrow blitter using SSE4.2 SIMD instruction set. Special case for when alpha is zero or opaque. Performance increase of 10%-400% compared to the existing SSE2 optimization (measured on Silvermont architecture). Noticeable in ~25 different skia bench subtests, especially in bitmap_8888_*, repeatTile_*, and morph_*. bitmap_8888_A - 100% faster bitmap_8888_A_source_transparent - 250% faster bitmap_8888_A_source_opaque - 25% faster bitmap_8888_A_scale_bicubic - 75% faster Signed-off-by: Henrik Smiding <henrik.smiding@intel.com> Committed: https://skia.googlesource.com/skia/+/e2527b147679b0c43019fae7d59cc3777d2d097e R=reed@google.com, mtklein@google.com, tomhudson@google.com, djsollen@google.com, joakim.landberg@intel.com Author: henrik.smiding@intel.com Review URL: https://codereview.chromium.org/289473009
* DirectWrite to use PostScript name for PDF.Gravatar bungeman2014-06-17
| | | | | | | | | | | The PDF backend expects info->fFontName to be the PostScript name. Prior to this change the '<family> <sytle>' name was used instead. R=vandebo@chromium.org, halcanary@google.com, reed@google.com, thestig@chromium.org Author: bungeman@google.com Review URL: https://codereview.chromium.org/324403010
* move some headers out of publicGravatar reed2014-06-17
| | | | | | | | | | | patch from issue 338263003 BUG=skia: R=mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/339183002
* hide SkBitmap::Config entirely (behind a flag)Gravatar reed2014-06-17
| | | | | | | | | | | | | patch from issue 339463002 TBR= I think the NoGPU failure is unrelated, so ignoring NOTRY=True Author: reed@google.com Review URL: https://codereview.chromium.org/340533002
* Move SkStringUtils.h to src/core.Gravatar mtklein2014-06-17
| | | | | | | | | | | Doesn't need to be in include/. BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/335413004
* fix chromeGravatar caryclark2014-06-17
| | | | | | | | | | | | | had #if SK_DEBUG instead of #ifdef SK_DEBUG R=reed@android.com TBR=reed NOTRY=true NOTREECHECKS=true Author: caryclark@google.com Review URL: https://codereview.chromium.org/338333002
* Enabling the canvas bit to turn the clip stack into a flat replace exposed ↵Gravatar caryclark2014-06-17
| | | | | | | | | | | | | | | | | | around 100 failures when testing the 800K skp set generated from the top 1M web sites. This fixes all but one of those failures. Major changes include: - Replace angle indices with angle pointers. This was motivated by the need to add angles later but not renumber existing angles. - Aggressive segment chase. When the winding is known on a segment, more aggressively passing that winding to adjacent segments allows fragmented data sets to succeed. - Line segments with ends nearly the same are treated as coincident first. - Transfer partial coincidence by observing that if segment A is partially coincident to B and C then B and C may be partially coincident. TBR=reed Author: caryclark@google.com Review URL: https://codereview.chromium.org/272153002
* Revert of Temporarily limit x86 SIMD to SSE2 only, to see effect on all ↵Gravatar mtklein2014-06-16
| | | | | | | | | | | | | | | | | | | | | | | | benches and bots. (https://codereview.chromium.org/331193004/) Reason for revert: Experiment is over: disabling SSSE3 is a 25-50% perf regression for bitmap scaling on every machine we've got. Original issue's description: > Temporarily limit x86 SIMD to SSE2 only, to see effect on all benches and bots. > > BUG=372232 > > Committed: https://skia.googlesource.com/skia/+/f1e5a04832e4d350f9ebf5d556c6d3897345f883 R=reed@google.com, mtklein@chromium.org TBR=mtklein@chromium.org, reed@google.com NOTREECHECKS=true NOTRY=true BUG=372232 Author: mtklein@google.com Review URL: https://codereview.chromium.org/332213005
* Cleaned a repeated if(condition) with the same conditionGravatar piotaixr2014-06-16
| | | | | | | | R=junov@chromium.org Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/338933002
* Perlin noise cleanup.Gravatar senorblanco2014-06-16
| | | | | | | | | | | Remove Simplex noise implementation and now-redundant base classes. BUG=skia: R=sugoi@chromium.org, sugoi@google.com, reed@google.com Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/336043002
* Temporarily limit x86 SIMD to SSE2 only, to see effect on all benches and bots.Gravatar mtklein2014-06-16
| | | | | | | | | BUG=372232 R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/331193004
* stop using SkBitmap::ConfigGravatar reed2014-06-14
| | | | | | | | R=scroggo@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/338493005
* hide virtuals on device for width/height/isopaqueGravatar reed2014-06-14
| | | | | | | | | R=bsalomon@google.com NOTREECHECKS=True Author: reed@chromium.org Review URL: https://codereview.chromium.org/334993002
* Extract "text align proc" functions as reusable classesGravatar kkinnunen2014-06-12
| | | | | | | | | | | | | | | | | | | | | | | Extract "text align proc" as reusable classes. These classes need to be used when writing GrTextContext subclasses. Moves "text align proc" code that is duplicated in SkDraw and SkBitmapTextContext to SkDrawProcs.h and SkTextMapState.h. This functionality is also used in the new GrStencilAndCoverTextContext. Creates new functor classes SkTextAlignProc and SkTextAlignProcScalar which represent the previous "text align procs". Moves TextMapState from SkDraw to SkTextMapStateProc and make it similar functor. The transform should be comparable in speed, as the compiler can and does avoid the call and eliminate some of the branches. R=jvanverth@google.com, reed@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/335573002
* Randomize seed for SkDiscretePathEffect::filterPath()Gravatar rs.prinja2014-06-12
| | | | | | | | | | | | | | | | | | Fix for https://code.google.com/p/skia/issues/detail?id=2581. Randomizes the seed in SkDiscretePathEffect::filterPath(). Prior to this we were using the path length as a seed. Now, if we have two different paths with identical contents and we apply an SkDiscretePathEffect to each, we obtain two different random paths. Previously, we would obtain two overlapping paths (identical path contents leading to the same seed). BUG=skia: R=reed@google.com, scroggo@google.com Author: rs.prinja@samsung.com Review URL: https://codereview.chromium.org/311803002
* hide Config in SkImageDecoder -- use SkColorType insteadGravatar reed2014-06-12
| | | | | | | | | | patch from issue 334613003 TBR=scroggo Author: reed@chromium.org Review URL: https://codereview.chromium.org/334793002
* Revert of third try at landing improved blur rect; this time with more ↵Gravatar scroggo2014-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | correctness (https://codereview.chromium.org/331443003/) Reason for revert: Failing layout test: https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux/32762/layout-test-results/virtual/gpu/fast/canvas/canvas-draw-canvas-on-canvas-shadow-pretty-diff.html Original issue's description: > third try at landing improved blur rect; this time with more correctness > > BUG=skia:2095 > R=bsalomon@google.com > TBR=bsalomon > > Committed: https://skia.googlesource.com/skia/+/72abfc2b4e7caead660f6b6a05e60d05eaf1a66f R=bsalomon@google.com, reed@google.com, humper@google.com TBR=bsalomon@google.com, humper@google.com, reed@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2095 Author: scroggo@google.com Review URL: https://codereview.chromium.org/333763002
* Fix tiled perlin noise.Gravatar senorblanco2014-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | It turns out that the perlin implementation we inherited from WebKit does not actually generate tileable noise (see Chromium bug http://crbug.com/383495). The main problem is that when generating coordinates for gradient interpolation, it was attempting to wrap both x and (x + 1) simultaneously at the tile boundary (that is, either both or neither are wrapped). This obviously won't work, since along the tile seams, (x + 1) should be wrapped, but x should not. The same is true in y. This patch fixes both the CPU and GPU paths, renames some variables to more closely match the spec, and modifies the perlin noise GM to actually test tiling. (Note that the clipping the GM was doing was removed, since it's superfluous: it used to be necessary for image filters, but isn't anymore, and this isn't an image filter GM anyway.) R=sugoi@google.com, sugoi TBR=senorblanco Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/332523006
* Use vertex attributes for dash effect in gpuGravatar egdaniel2014-06-12
| | | | | | | | | | | | | This will allow us to batch dashed lines together when drawing. Also, this removes the need for a coord transform matrix in the shader, thus we save the cost of uploading a new matrix uniform everytime we do a simple transform to the dashed line we are drawing. BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/326103002
* remove GetDeviceConfig/SetDeviceConfigGravatar reed2014-06-12
| | | | | | | | | BUG=skia: R=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/332453002
* Use scratch with LATC data if possibleGravatar krajcevski2014-06-12
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/330593004
* Remove SkPicture pointer from SkPicturePlaybackGravatar robertphillips2014-06-12
| | | | | | | | | | This CL simplifies the relationship between SkPicture and SkPicturePlayback by moving the path heap into SkPicturePlayback and removing SkPicturePlayback's SkPicture pointer. R=mtklein@google.com, reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/334493002
* Add ifdef to not use function pointer that we don't have yet on Chromium??Gravatar krajcevski2014-06-11
| | | | | | | | R=bsalomon@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/326423003
* Allow compressed texture data to be updated.Gravatar krajcevski2014-06-11
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/326383003
* Fix a number of issues with iOS build.Gravatar jvanverth2014-06-11
| | | | | | | | | | | | | Set pointer to root view in window (for SampleApp) Set up the correct function pointer for GL multisampling Remove use of SkBitmap::setConfig() Remove incomplete iOS implementation of SkFILE (use SkOSFile for now) R=caryclark@google.com, reed@google.com, bsalomon@google.com, tfarina@chromium.org Author: jvanverth@google.com Review URL: https://codereview.chromium.org/322403007
* third try at landing improved blur rect; this time with more correctnessGravatar humper2014-06-11
| | | | | | | | | | BUG=skia:2095 R=bsalomon@google.com TBR=bsalomon Author: humper@google.com Review URL: https://codereview.chromium.org/331443003
* Texture compression unit tests along with a couple of bug fixesGravatar krajcevski2014-06-11
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/330453005
* SkNEW as default Create() for SkLazyPtr macros.Gravatar mtklein2014-06-11
| | | | | | | | | BUG=skia: R=halcanary@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/326413003
* Remove picture pre-allocation from SkPictureRecorderGravatar robertphillips2014-06-11
| | | | | | | | | | | | This CL improves the separation of the SkPicture and SkPictureRecord classes. It delays creation of the SkPicture (in SkPictureRecorder) until recording is actually completed. To accomplish this the SkRecord-derived classes now get SkPathHeap and SkPictureContentInfo members that are absorbed by the SkPicture when it is constructed. As an ancillary change, this CL also moves the SkPictureContentInfo object from SkPicture to SkPicturePlayback. This is intended to centralize all the data in the SkPicturePlayback object. R=mtklein@google.com, reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/324293004