aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Make SkColorTable explicitly thread-safe.Gravatar mtklein2014-12-02
| | | | | | | | | Mostly this means using SkLazyPtr for the 16-bit cache. We can remove the copy constructor now and just ref it instead. BUG=skia: Review URL: https://codereview.chromium.org/769323002
* move some copy surface stuff to GrFlushToGpuDrawTargetGravatar bsalomon2014-12-02
| | | | Review URL: https://codereview.chromium.org/770813002
* colorwheelnative gm, to test that colors look right under all conditions.Gravatar halcanary2014-12-02
| | | | | | | | Motivation: colorwheel on pdf-native (MacOS coregraphics) reverses Blue and Red. I want to see if this has anything to do with image decoding. BUG=skia:3184 Review URL: https://codereview.chromium.org/774713003
* SkColorTable locking serves no purpose anymore.Gravatar mtklein2014-12-02
| | | | | | | | | The only thing the unlock methods were doing was assert their balance. This removes the unlock methods and renames the lock methods "read". BUG=skia: Review URL: https://codereview.chromium.org/719213008
* Remove commentGravatar robertphillips2014-12-02
| | | | Review URL: https://codereview.chromium.org/770323002
* skia: Prevent GL_RED from being used with MESAGravatar hendrikw2014-12-02
| | | | | | | | | MESA unfortunately doesn't support GL_RED or GL_RG when used with frame buffers. Don't allow fTextureRedSupport to be set when using MESA. BUG=skia:3181 Review URL: https://codereview.chromium.org/769073003
* updated expectations from d476a176b774Gravatar halcanary2014-12-02
| | | | | | | | BUG=skia:3180 TBR=reed@google.com NOTRY=true Review URL: https://codereview.chromium.org/773833002
* Remove PDF JPEG shortcut, since it fails on grayscale JPEGs.Gravatar halcanary2014-12-02
| | | | | | BUG=436079 Review URL: https://codereview.chromium.org/767343002
* Remove support for OSX 10.5.Gravatar bungeman2014-12-01
| | | | | | | No user supports OSX 10.5 at this point, so remove the last support for building there. Review URL: https://codereview.chromium.org/768133005
* Remove SkASSERT_CONTINUE.Gravatar bungeman2014-12-01
| | | | | | This macro is no longer used. Review URL: https://codereview.chromium.org/770923002
* Add scale and skew to C canvas APIGravatar abarth2014-12-01
| | | | | | | R=reed@chromium.org BUG=skia: Review URL: https://codereview.chromium.org/762493005
* Clean up FreeType library ref counting.Gravatar bungeman2014-12-01
| | | | | | | | | The existing reference counting and code for LCD is difficult to understand. This cleans it up a bit in preperation for the typefaces holding the references and faces themselves which will clean this up quite a bit more. Review URL: https://codereview.chromium.org/742483004
* add gm to test rounding between clips and drawBitmapRectGravatar reed2014-12-01
| | | | | | BUG=skia:3179 Review URL: https://codereview.chromium.org/766333002
* SkDrawLooper: No need for virtual bounds computation methods.Gravatar mtklein2014-12-01
| | | | | | | | | | | No subclass overrides either method. This is just warmup. Perf is neutral. The real meat of the time spent is inside canComputeFastBounds / computeFastBounds, not getting to them. BUG=skia: Review URL: https://codereview.chromium.org/772573003
* Add function to return an unpremuled version of a GrColorGravatar egdaniel2014-12-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/773553002
* multipage_pdf_profiler, gmtoskpGravatar halcanary2014-12-01
| | | | Review URL: https://codereview.chromium.org/769083003
* Pre-cache local matrix type in shader constructor.Gravatar mtklein2014-12-01
| | | | | | | | TSAN points out we race when choosing our blitter without this. BUG=437511 Review URL: https://codereview.chromium.org/773563002
* Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.Gravatar mtklein2014-12-01
| | | | | | | | | | | | This was needed for pictures before v33, and we're now requiring v35+. Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc BUG=skia: Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88 Review URL: https://codereview.chromium.org/769953002
* Add additional clean up code in MPD pathGravatar robertphillips2014-12-01
| | | | | | This addresses an edge case where a picture only has one layer which is atlasable but doesn't make it into the atlas. In this case asserts can fire since there is no atlased layer to clean up the tracking picture object. Review URL: https://codereview.chromium.org/764393002
* Remove orphaned SkImageDecoder::Target.Gravatar scroggo2014-12-01
| | | | | | | This was used by an experimental method on SkImageDecoder, which no longer exists. Review URL: https://codereview.chromium.org/760923003
* Force SkMatrix type while recording too.Gravatar mtklein2014-12-01
| | | | | | | | | | | | | | | | | | | | | This switches to a new way of doing this, enforcing the caching with the type recorded rather than having to do it in SkRecorder. Should be more foolproof. Updated SkPath and SkBitmap's equivalents too. ImmutableBitmap was close, but using inheritance now makes the rest of the code less weird. BUG=437511 I'm not sure whether or not this will _fix_ the SkMatrix aspect of that bug. There may be other SkMatrices that we're racing on. It does cover the obvious ones, though, and removing the SkTRacy<> wrapper will allow TSAN to show us any other races. It turned out to be easier to turn missing optional matrices into I early rather than late. I figure this should be harmless. Recording and playback perf both look neutral. Review URL: https://codereview.chromium.org/773433003
* Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of ↵Gravatar mtklein2014-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/769953002/) Reason for revert: Breaks canary builds. Will reland after the Chromium change lands. Original issue's description: > Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. > > This was needed for pictures before v33, and we're now requiring v35+. > > Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88 TBR=reed@google.com,mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/768183002
* Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.Gravatar mtklein2014-12-01
| | | | | | | | | | This was needed for pictures before v33, and we're now requiring v35+. Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc BUG=skia: Review URL: https://codereview.chromium.org/769953002
* Use variable length key (rather than accumulated matrix) as save layer ↵Gravatar robertphillips2014-12-01
| | | | | | | | | | hoisting key Adding the rendering canvas' CTM to the layer hoisting key (i.e., Add support for hoisting layers in pictures drawn with a matrix - https://codereview.chromium.org/748853002/) has increased the cache miss rate due to accumulated floating point error. This CL fixes part of the issue by using the chain of operation indices leading to each saveLayer as the key. The canvas' CTM must still form part of the key but should be less subject to accumulated error. BUG=skia:2315 Review URL: https://codereview.chromium.org/753253002
* Ignore SkGlyphCache gamma for nvpr textGravatar cdalton2014-12-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/740343006
* Add color emoji fallback for nvpr textGravatar cdalton2014-12-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/759613005
* Add a base class for GrIODB that handles geometry dataGravatar bsalomon2014-12-01
| | | | Review URL: https://codereview.chromium.org/773433002
* Force path bounds in recording.Gravatar mtklein2014-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The use of SKTRacy isn't safe in SkPathRef. There are logical dependencies between the racy fields. Doesn't seem to affect recording performance: $ c --match skp --config nonrendering tabl_techmeme.skp 81.1us -> 86us 1.06x desk_mapsvg.skp 1.23ms -> 1.26ms 1.02x desk_yahooanswers.skp 114us -> 117us 1.02x tabl_sahadan.skp 70.9us -> 72us 1.02x desk_fontwipe.skp 31.6us -> 32us 1.01x tabl_cuteoverload.skp 414us -> 419us 1.01x desk_mobilenews.skp 503us -> 508us 1.01x desk_tigersvg.skp 150us -> 152us 1.01x desk_samoasvg.skp 608us -> 610us 1x tabl_digg.skp 636us -> 638us 1x tabl_pravda.skp 155us -> 156us 1x desk_jsfiddlehumperclip.skp 33.9us -> 33.9us 1x tabl_culturalsolutions.skp 295us -> 295us 1x desk_youtube.skp 447us -> 448us 1x desk_gws.skp 144us -> 144us 1x tabl_frantzen.skp 42us -> 42us 1x tabl_gspro.skp 50.1us -> 50us 1x tabl_googlecalendar.skp 165us -> 165us 1x desk_twitter.skp 359us -> 358us 1x desk_wordpress.skp 588us -> 583us 0.99x desk_jsfiddlebigcar.skp 32.8us -> 32.5us 0.99x desk_booking.skp 838us -> 827us 0.99x tabl_androidpolice.skp 1.42ms -> 1.4ms 0.99x desk_blogger.skp 378us -> 372us 0.98x desk_wowwiki.skp 1.11ms -> 1.09ms 0.98x tabl_cnet.skp 115us -> 112us 0.97x desk_silkfinance.skp 57.7us -> 55.9us 0.97x tabl_cnn.skp 136us -> 131us 0.97x desk_sfgate.skp 396us -> 377us 0.95x tabl_deviantart.skp 107us -> 102us 0.95x tabl_mozilla.skp 1.4ms -> 1.32ms 0.94x BUG=437511 Review URL: https://codereview.chromium.org/762313002
* Bump min picture version.Gravatar mtklein2014-12-01
| | | | | | | | | | | | | Chrome Stable is M39, which produces picture format v35: https://chromium.googlesource.com/skia/+/chrome/m39/include/core/SkPicture.h We don't need any code to deal with pictures older than v35. (When M40 goes stable, we can step up to v37, the current latest version.) BUG=skia: Review URL: https://codereview.chromium.org/770703002
* Add extra safety check to the EGL context setup.Gravatar joakim.landberg2014-12-01
| | | | | | | | | | | Adds a check to make sure eglChooseConfig actually found a valid config. Besides checking for EGL errors, we also have to handle the case when no matching configs are found, i.e when num_config is 0. BUG=skia: Review URL: https://codereview.chromium.org/762113003
* Fix Windows SkTime versionGravatar robertphillips2014-12-01
| | | | | | Windows' GetSystemTime returns months in 1-12 range (http://msdn.microsoft.com/en-us/library/aa908737.aspx) while Linux' time returns months in 0-11 range. Review URL: https://codereview.chromium.org/765383002
* add clip to PictureRenderer to better mimic Chromium's rendering methodGravatar robertphillips2014-11-28
| | | | | | Since Chromium uses separate canvases when rendering tiles they get an implicit clip. This adds an explicit clip since the PictureRenderer reuses the same canvas. Review URL: https://codereview.chromium.org/739303005
* Add float-to-half (binary16) conversion functions.Gravatar jvanverth2014-11-26
| | | | | | | | | | | Based on code by Fabian Giesen at https://fgiesen.wordpress.com/2012/03/28/half-to-float-done-quic/. These will be needed for creating binary16 textures from floating point data. BUG=skia:3103 Review URL: https://codereview.chromium.org/760753003
* Make skia trace category disabled by default.Gravatar danakj2014-11-26
| | | | | | BUG=skia:3088 Review URL: https://codereview.chromium.org/761773003
* some cleanup around GrGpu/GrDrawTarget copySurfaceGravatar bsalomon2014-11-26
| | | | | | Committed: https://skia.googlesource.com/skia/+/e9aa5dc4d5906788eaf691d7c69f1494928f401d Review URL: https://codereview.chromium.org/749903003
* Fix assert in GrMaskFormatBytesPerPixel.Gravatar jvanverth2014-11-26
| | | | | | BUG=skia:3174 Review URL: https://codereview.chromium.org/762553006
* Revert of some cleanup around GrGpu/GrDrawTarget copySurface (patchset #3 ↵Gravatar bsalomon2014-11-26
| | | | | | | | | | | | | | | | | | id:40001 of https://codereview.chromium.org/749903003/) Reason for revert: likely causing es rendering errors. Original issue's description: > some cleanup around GrGpu/GrDrawTarget copySurface > > Committed: https://skia.googlesource.com/skia/+/e9aa5dc4d5906788eaf691d7c69f1494928f401d TBR=joshualitt@google.com NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/763593002
* add basic tests for save/restore countingGravatar reed2014-11-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/763503003
* Update effect key for descriptor to not record offsets.Gravatar egdaniel2014-11-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/760593005
* rename SkDrawable to SkADrawableGravatar reed2014-11-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/764463002
* add sample to exercising hittestingGravatar reed2014-11-26
| | | | | | | | patch from issue 752403002 at patchset 1 (http://crrev.com/752403002#ps1) BUG=skia: Review URL: https://codereview.chromium.org/760023002
* some cleanup around GrGpu/GrDrawTarget copySurfaceGravatar bsalomon2014-11-26
| | | | Review URL: https://codereview.chromium.org/749903003
* Fix early out in GrResourceCache2::purgeAsNeededGravatar bsalomon2014-11-26
| | | | | | | BUG=chromium:436846 TBR=robertphillips@google.com Review URL: https://codereview.chromium.org/755193003
* Revert of nanobench: lazily decode bitmaps in .skps. (patchset #1 id:1 of ↵Gravatar mtklein2014-11-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/743613005/) Reason for revert: Some bots crashing. Original issue's description: > nanobench: lazily decode bitmaps in .skps. > > This cuts down on tool overhead when running something like recording only, > $ out/Release/nanobench --match skp --config nonrendering > which doesn't usually ever need to decode the images. > > The actual measurements for recording don't change, as the decode is not in the timed section. It just skips irrelevant code, removing it from the profile and making the tool run faster. > > This does, however, make a significant difference for playback speed. Most skps draw faster with this patch, some slower. I don't really have a good intuition for what's going on here. There is a fixed clip acting as a viewport, so there are probably lots of images that don't ever need to be decoded. Ideas? Is this perhaps because we're now blitting from smaller, partially decoded source images? > > ~/skia (clean) $ compare clean.log lazy-decode-bitmaps.log > tabl_slashdot.skp_1 2.76ms -> 4.33ms 1.57x > tabl_slashdot.skp_1_mpd 2.79ms -> 4.07ms 1.46x > tabl_sahadan.skp_1 3.41ms -> 4.87ms 1.43x > tabl_googleblog.skp_1 1.52ms -> 2.05ms 1.35x > tabl_techmeme.skp_1_mpd 1.14ms -> 1.51ms 1.32x > tabl_transformice.skp_1 2.61ms -> 3.43ms 1.31x > tabl_sahadan.skp_1_mpd 3.54ms -> 4.48ms 1.26x > tabl_techmeme.skp_1 1.01ms -> 1.27ms 1.26x > tabl_nytimes.skp_1_mpd 1ms -> 1.23ms 1.23x > tabl_worldjournal.skp_1_mpd 1.98ms -> 2.43ms 1.23x > tabl_pravda.skp_1_mpd 2.05ms -> 2.51ms 1.22x > tabl_transformice.skp_1_mpd 2.75ms -> 3.19ms 1.16x > tabl_nytimes.skp_1 874us -> 1.01ms 1.15x > tabl_pravda.skp_1 1.83ms -> 1.99ms 1.09x > tabl_worldjournal.skp_1 1.76ms -> 1.91ms 1.09x > desk_wowwiki.skp_1_mpd 3.7ms -> 3.9ms 1.05x > tabl_digg.skp_1 3.99ms -> 4.16ms 1.04x > tabl_ukwsj.skp_1_mpd 3ms -> 3.12ms 1.04x > desk_booking.skp_1 3.74ms -> 3.81ms 1.02x > desk_googlespreadsheetdashed.skp_1 10.6ms -> 10.6ms 1x > tabl_ukwsj.skp_1 2.88ms -> 2.89ms 1x > desk_googlespreadsheetdashed.skp_1_mpd 11.8ms -> 11.8ms 1x > desk_jsfiddlehumperclip.skp_1_mpd 891us -> 888us 1x > desk_googlespreadsheet.skp_1 4.65ms -> 4.62ms 0.99x > tabl_gspro.skp_1_mpd 1.97ms -> 1.94ms 0.99x > desk_booking.skp_1_mpd 4.1ms -> 4ms 0.98x > desk_carsvg.skp_1 18.2ms -> 17.7ms 0.97x > desk_gmailthread.skp_1_mpd 2.81ms -> 2.73ms 0.97x > desk_tigersvg.skp_1_mpd 19.5ms -> 18.9ms 0.97x > desk_mapsvg.skp_1 88.4ms -> 85.6ms 0.97x > tabl_cnet.skp_1_mpd 1.43ms -> 1.38ms 0.97x > desk_jsfiddlebigcar.skp_1 1.26ms -> 1.22ms 0.96x > desk_gws.skp_1 1.87ms -> 1.8ms 0.96x > desk_linkedin.skp_1 2.07ms -> 1.98ms 0.96x > tabl_deviantart.skp_1_mpd 118ms -> 113ms 0.96x > tabl_cnet.skp_1 1.2ms -> 1.14ms 0.95x > tabl_androidpolice.skp_1_mpd 5.95ms -> 5.63ms 0.95x > desk_sfgate.skp_1 1.75ms -> 1.64ms 0.94x > desk_twitter.skp_1 74ms -> 69.6ms 0.94x > desk_youtube.skp_1_mpd 3.17ms -> 2.96ms 0.93x > desk_gmailthread.skp_1 2.73ms -> 2.54ms 0.93x > desk_silkfinance.skp_1_mpd 1.71ms -> 1.59ms 0.93x > desk_jsfiddlebigcar.skp_1_mpd 1.45ms -> 1.35ms 0.93x > desk_pokemonwiki.skp_1_mpd 2.72ms -> 2.51ms 0.92x > desk_gws.skp_1_mpd 2.14ms -> 1.98ms 0.92x > desk_googlehome.skp_1 563us -> 517us 0.92x > desk_espn.skp_1 4.24ms -> 3.89ms 0.92x > tabl_culturalsolutions.skp_1 12.7ms -> 11.6ms 0.91x > desk_sfgate.skp_1_mpd 1.91ms -> 1.74ms 0.91x > tabl_hsfi.skp_1 1.06ms -> 966us 0.91x > desk_samoasvg.skp_1_mpd 10.5ms -> 9.47ms 0.91x > desk_facebook.skp_1_mpd 3.8ms -> 3.43ms 0.9x > desk_youtube.skp_1 3.52ms -> 3.14ms 0.89x > desk_ebay.skp_1_mpd 2.95ms -> 2.62ms 0.89x > desk_samoasvg.skp_1 10.9ms -> 9.66ms 0.89x > desk_googlespreadsheet.skp_1_mpd 5.59ms -> 4.94ms 0.88x > desk_mapsvg.skp_1_mpd 100ms -> 87.9ms 0.88x > desk_espn.skp_1_mpd 4.7ms -> 4.12ms 0.88x > desk_wordpress.skp_1_mpd 1.92ms -> 1.68ms 0.87x > tabl_deviantart.skp_1 140ms -> 122ms 0.87x > tabl_cuteoverload.skp_1_mpd 4.41ms -> 3.83ms 0.87x > desk_tigersvg.skp_1 19.6ms -> 17ms 0.87x > tabl_googlecalendar.skp_1 4.01ms -> 3.44ms 0.86x > desk_blogger.skp_1 2.49ms -> 2.14ms 0.86x > desk_chalkboard.skp_1_mpd 52.7ms -> 45ms 0.85x > desk_weather.skp_1 2.88ms -> 2.46ms 0.85x > desk_chalkboard.skp_1 51ms -> 43.4ms 0.85x > desk_yahooanswers.skp_1 2.74ms -> 2.32ms 0.85x > desk_forecastio.skp_1_mpd 1.26ms -> 1.07ms 0.85x > tabl_androidpolice.skp_1 5.18ms -> 4.34ms 0.84x > desk_yahooanswers.skp_1_mpd 3.44ms -> 2.85ms 0.83x > tabl_cnn.skp_1_mpd 2.59ms -> 2.15ms 0.83x > desk_pinterest.skp_1 2.69ms -> 2.22ms 0.83x > tabl_hsfi.skp_1_mpd 1.6ms -> 1.32ms 0.82x > tabl_culturalsolutions.skp_1_mpd 13.8ms -> 11.3ms 0.82x > desk_twitter.skp_1_mpd 76.6ms -> 63ms 0.82x > desk_ebay.skp_1 3.11ms -> 2.51ms 0.81x > tabl_mlb.skp_1_mpd 3.17ms -> 2.53ms 0.8x > tabl_mozilla.skp_1 2.42ms -> 1.91ms 0.79x > desk_pokemonwiki.skp_1 2.84ms -> 2.22ms 0.78x > desk_carsvg.skp_1_mpd 23.3ms -> 17.8ms 0.77x > desk_wowwiki.skp_1 4.21ms -> 3.21ms 0.76x > desk_amazon.skp_1 963us -> 728us 0.76x > desk_css3gradients.skp_1 2.58ms -> 1.92ms 0.74x > tabl_cuteoverload.skp_1 4.55ms -> 3.38ms 0.74x > tabl_cnn.skp_1 3.13ms -> 2.29ms 0.73x > tabl_googleblog.skp_1_mpd 2.32ms -> 1.7ms 0.73x > desk_mobilenews.skp_1 3.65ms -> 2.61ms 0.71x > desk_googleplus.skp_1 3.76ms -> 2.66ms 0.71x > tabl_mozilla.skp_1_mpd 2.88ms -> 2.03ms 0.71x > desk_pinterest.skp_1_mpd 3.17ms -> 2.21ms 0.7x > desk_css3gradients.skp_1_mpd 2.98ms -> 2.07ms 0.69x > desk_silkfinance.skp_1 2.06ms -> 1.42ms 0.69x > desk_facebook.skp_1 4.5ms -> 3.07ms 0.68x > desk_mobilenews.skp_1_mpd 4.05ms -> 2.73ms 0.68x > desk_baidu.skp_1_mpd 2.73ms -> 1.81ms 0.66x > desk_weather.skp_1_mpd 3.93ms -> 2.5ms 0.64x > desk_wordpress.skp_1 2.15ms -> 1.36ms 0.63x > desk_googlehome.skp_1_mpd 1.02ms -> 605us 0.59x > desk_fontwipe.skp_1 722us -> 402us 0.56x > desk_fontwipe.skp_1_mpd 897us -> 486us 0.54x > desk_baidu.skp_1 3.02ms -> 1.6ms 0.53x > desk_forecastio.skp_1 2.01ms -> 999us 0.5x > desk_amazon.skp_1_mpd 1.77ms -> 860us 0.49x > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/7e225bdb1f00ae4aed524ff8d0a61df3d3abb109 TBR=reed@google.com,robertphillips@google.com,scroggo@google.com,mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/759753004
* remove proc keyGravatar joshualitt2014-11-25
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/755363002
* nanobench: lazily decode bitmaps in .skps.Gravatar mtklein2014-11-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This cuts down on tool overhead when running something like recording only, $ out/Release/nanobench --match skp --config nonrendering which doesn't usually ever need to decode the images. The actual measurements for recording don't change, as the decode is not in the timed section. It just skips irrelevant code, removing it from the profile and making the tool run faster. This does, however, make a significant difference for playback speed. Most skps draw faster with this patch, some slower. I don't really have a good intuition for what's going on here. There is a fixed clip acting as a viewport, so there are probably lots of images that don't ever need to be decoded. Ideas? Is this perhaps because we're now blitting from smaller, partially decoded source images? ~/skia (clean) $ compare clean.log lazy-decode-bitmaps.log tabl_slashdot.skp_1 2.76ms -> 4.33ms 1.57x tabl_slashdot.skp_1_mpd 2.79ms -> 4.07ms 1.46x tabl_sahadan.skp_1 3.41ms -> 4.87ms 1.43x tabl_googleblog.skp_1 1.52ms -> 2.05ms 1.35x tabl_techmeme.skp_1_mpd 1.14ms -> 1.51ms 1.32x tabl_transformice.skp_1 2.61ms -> 3.43ms 1.31x tabl_sahadan.skp_1_mpd 3.54ms -> 4.48ms 1.26x tabl_techmeme.skp_1 1.01ms -> 1.27ms 1.26x tabl_nytimes.skp_1_mpd 1ms -> 1.23ms 1.23x tabl_worldjournal.skp_1_mpd 1.98ms -> 2.43ms 1.23x tabl_pravda.skp_1_mpd 2.05ms -> 2.51ms 1.22x tabl_transformice.skp_1_mpd 2.75ms -> 3.19ms 1.16x tabl_nytimes.skp_1 874us -> 1.01ms 1.15x tabl_pravda.skp_1 1.83ms -> 1.99ms 1.09x tabl_worldjournal.skp_1 1.76ms -> 1.91ms 1.09x desk_wowwiki.skp_1_mpd 3.7ms -> 3.9ms 1.05x tabl_digg.skp_1 3.99ms -> 4.16ms 1.04x tabl_ukwsj.skp_1_mpd 3ms -> 3.12ms 1.04x desk_booking.skp_1 3.74ms -> 3.81ms 1.02x desk_googlespreadsheetdashed.skp_1 10.6ms -> 10.6ms 1x tabl_ukwsj.skp_1 2.88ms -> 2.89ms 1x desk_googlespreadsheetdashed.skp_1_mpd 11.8ms -> 11.8ms 1x desk_jsfiddlehumperclip.skp_1_mpd 891us -> 888us 1x desk_googlespreadsheet.skp_1 4.65ms -> 4.62ms 0.99x tabl_gspro.skp_1_mpd 1.97ms -> 1.94ms 0.99x desk_booking.skp_1_mpd 4.1ms -> 4ms 0.98x desk_carsvg.skp_1 18.2ms -> 17.7ms 0.97x desk_gmailthread.skp_1_mpd 2.81ms -> 2.73ms 0.97x desk_tigersvg.skp_1_mpd 19.5ms -> 18.9ms 0.97x desk_mapsvg.skp_1 88.4ms -> 85.6ms 0.97x tabl_cnet.skp_1_mpd 1.43ms -> 1.38ms 0.97x desk_jsfiddlebigcar.skp_1 1.26ms -> 1.22ms 0.96x desk_gws.skp_1 1.87ms -> 1.8ms 0.96x desk_linkedin.skp_1 2.07ms -> 1.98ms 0.96x tabl_deviantart.skp_1_mpd 118ms -> 113ms 0.96x tabl_cnet.skp_1 1.2ms -> 1.14ms 0.95x tabl_androidpolice.skp_1_mpd 5.95ms -> 5.63ms 0.95x desk_sfgate.skp_1 1.75ms -> 1.64ms 0.94x desk_twitter.skp_1 74ms -> 69.6ms 0.94x desk_youtube.skp_1_mpd 3.17ms -> 2.96ms 0.93x desk_gmailthread.skp_1 2.73ms -> 2.54ms 0.93x desk_silkfinance.skp_1_mpd 1.71ms -> 1.59ms 0.93x desk_jsfiddlebigcar.skp_1_mpd 1.45ms -> 1.35ms 0.93x desk_pokemonwiki.skp_1_mpd 2.72ms -> 2.51ms 0.92x desk_gws.skp_1_mpd 2.14ms -> 1.98ms 0.92x desk_googlehome.skp_1 563us -> 517us 0.92x desk_espn.skp_1 4.24ms -> 3.89ms 0.92x tabl_culturalsolutions.skp_1 12.7ms -> 11.6ms 0.91x desk_sfgate.skp_1_mpd 1.91ms -> 1.74ms 0.91x tabl_hsfi.skp_1 1.06ms -> 966us 0.91x desk_samoasvg.skp_1_mpd 10.5ms -> 9.47ms 0.91x desk_facebook.skp_1_mpd 3.8ms -> 3.43ms 0.9x desk_youtube.skp_1 3.52ms -> 3.14ms 0.89x desk_ebay.skp_1_mpd 2.95ms -> 2.62ms 0.89x desk_samoasvg.skp_1 10.9ms -> 9.66ms 0.89x desk_googlespreadsheet.skp_1_mpd 5.59ms -> 4.94ms 0.88x desk_mapsvg.skp_1_mpd 100ms -> 87.9ms 0.88x desk_espn.skp_1_mpd 4.7ms -> 4.12ms 0.88x desk_wordpress.skp_1_mpd 1.92ms -> 1.68ms 0.87x tabl_deviantart.skp_1 140ms -> 122ms 0.87x tabl_cuteoverload.skp_1_mpd 4.41ms -> 3.83ms 0.87x desk_tigersvg.skp_1 19.6ms -> 17ms 0.87x tabl_googlecalendar.skp_1 4.01ms -> 3.44ms 0.86x desk_blogger.skp_1 2.49ms -> 2.14ms 0.86x desk_chalkboard.skp_1_mpd 52.7ms -> 45ms 0.85x desk_weather.skp_1 2.88ms -> 2.46ms 0.85x desk_chalkboard.skp_1 51ms -> 43.4ms 0.85x desk_yahooanswers.skp_1 2.74ms -> 2.32ms 0.85x desk_forecastio.skp_1_mpd 1.26ms -> 1.07ms 0.85x tabl_androidpolice.skp_1 5.18ms -> 4.34ms 0.84x desk_yahooanswers.skp_1_mpd 3.44ms -> 2.85ms 0.83x tabl_cnn.skp_1_mpd 2.59ms -> 2.15ms 0.83x desk_pinterest.skp_1 2.69ms -> 2.22ms 0.83x tabl_hsfi.skp_1_mpd 1.6ms -> 1.32ms 0.82x tabl_culturalsolutions.skp_1_mpd 13.8ms -> 11.3ms 0.82x desk_twitter.skp_1_mpd 76.6ms -> 63ms 0.82x desk_ebay.skp_1 3.11ms -> 2.51ms 0.81x tabl_mlb.skp_1_mpd 3.17ms -> 2.53ms 0.8x tabl_mozilla.skp_1 2.42ms -> 1.91ms 0.79x desk_pokemonwiki.skp_1 2.84ms -> 2.22ms 0.78x desk_carsvg.skp_1_mpd 23.3ms -> 17.8ms 0.77x desk_wowwiki.skp_1 4.21ms -> 3.21ms 0.76x desk_amazon.skp_1 963us -> 728us 0.76x desk_css3gradients.skp_1 2.58ms -> 1.92ms 0.74x tabl_cuteoverload.skp_1 4.55ms -> 3.38ms 0.74x tabl_cnn.skp_1 3.13ms -> 2.29ms 0.73x tabl_googleblog.skp_1_mpd 2.32ms -> 1.7ms 0.73x desk_mobilenews.skp_1 3.65ms -> 2.61ms 0.71x desk_googleplus.skp_1 3.76ms -> 2.66ms 0.71x tabl_mozilla.skp_1_mpd 2.88ms -> 2.03ms 0.71x desk_pinterest.skp_1_mpd 3.17ms -> 2.21ms 0.7x desk_css3gradients.skp_1_mpd 2.98ms -> 2.07ms 0.69x desk_silkfinance.skp_1 2.06ms -> 1.42ms 0.69x desk_facebook.skp_1 4.5ms -> 3.07ms 0.68x desk_mobilenews.skp_1_mpd 4.05ms -> 2.73ms 0.68x desk_baidu.skp_1_mpd 2.73ms -> 1.81ms 0.66x desk_weather.skp_1_mpd 3.93ms -> 2.5ms 0.64x desk_wordpress.skp_1 2.15ms -> 1.36ms 0.63x desk_googlehome.skp_1_mpd 1.02ms -> 605us 0.59x desk_fontwipe.skp_1 722us -> 402us 0.56x desk_fontwipe.skp_1_mpd 897us -> 486us 0.54x desk_baidu.skp_1 3.02ms -> 1.6ms 0.53x desk_forecastio.skp_1 2.01ms -> 999us 0.5x desk_amazon.skp_1_mpd 1.77ms -> 860us 0.49x BUG=skia: Review URL: https://codereview.chromium.org/743613005
* remove one place we read from gpu key in effectsGravatar joshualitt2014-11-25
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/761643002
* Add an Android-framework-only stable ID to SkPixelRef.Gravatar scroggo2014-11-25
| | | | | | BUG:b/18245805 Review URL: https://codereview.chromium.org/752203002
* Add IndexType parameter to GrDrawTarget::drawPathsGravatar cdalton2014-11-25
| | | | | | | | | Allows the caller to decide whether they sent 8, 16, or 32 bit path indices. BUG=skia: Review URL: https://codereview.chromium.org/746253003
* Sk4x_sse.hGravatar mtklein2014-11-25
| | | | | | | | | | CQ_EXTRA_TRYBOTS=client.skia:Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Release-Trybot,Test-Mac10.7-MacMini4.1-GeForce320M-x86_64-Release-Trybot,Test-Win7-ShuttleA-HD2000-x86-Debug-GDI-Trybot BUG=skia: Committed: https://skia.googlesource.com/skia/+/e4bf793120d3bfc9b003d11880a3fb73ff2b89e9 Review URL: https://codereview.chromium.org/698873003