platform/upstream/libSkiaSharp.git
7 years agoRevert "Fix SkImage_Gpu::getROPixels"
Brian Salomon [Mon, 27 Mar 2017 21:32:18 +0000 (17:32 -0400)]
Revert "Fix SkImage_Gpu::getROPixels"

This reverts commit f4d443fd1bd8cffbcd7a07a48f3488ae871414e9.

Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=705156

Original change's description:
> Fix SkImage_Gpu::getROPixels
>
> The dstColorSpace is a badly named parameter. It's a hint about where/how
> the returned pixels are going to be used. Raster and GPU are meant to
> ignore that information - codecs use it to drive our decoding heuristic.
>
> I've adopted that name in several places, although it's quite bad. Maybe
> usageColorSpace would be better?
>
> Bug: skia:
> Change-Id: I99acaac4bed57ed8acd8433e1c5b39a60c3af09e
> Reviewed-on: https://skia-review.googlesource.com/10109
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
>

TBR=msarett@google.com,robertphillips@google.com,brianosman@google.com,reed@google.com,reviews@skia.org
# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Id46226e41ca287ef3351710815ae2e842da4d293
Reviewed-on: https://skia-review.googlesource.com/10210
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoOmit ImageStorageLoad on IntelBayTrail Ubuntu
Ben Wagner [Thu, 23 Mar 2017 21:26:12 +0000 (17:26 -0400)]
Omit ImageStorageLoad on IntelBayTrail Ubuntu

BUG=skia:6358
NOTRY=true

Change-Id: I1d85bc37008988220c0454e8ec4a72bef2ec043d
Reviewed-on: https://skia-review.googlesource.com/10100
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoMinor fix to VkWrapTest
Greg Daniel [Mon, 27 Mar 2017 20:18:03 +0000 (16:18 -0400)]
Minor fix to VkWrapTest

We need to make sure we cleanup the VkImage created when testing the
wrapping of a render target.

BUG=skia:

Change-Id: I60ea7e880fecccca309a250cc3b19eb29d6aa89c
Reviewed-on: https://skia-review.googlesource.com/10206
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agook: add basic unit test support
Mike Klein [Mon, 27 Mar 2017 18:16:04 +0000 (14:16 -0400)]
ok: add basic unit test support

Plenty TODO remaining.

This can actually kind of run without a test reporter or GrContext:
    $ out/ok test
    784 ok, 56 crashed
    ... lots of stack traces ...
Most tests don't use the reporter unless they're going to fail.

Change-Id: I7333e2c63ade5e671ebf60022d19390f1fc1c93a
Reviewed-on: https://skia-review.googlesource.com/10201
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoAdd a simple tool for isolating a path from an SKP
csmartdalton [Mon, 27 Mar 2017 18:32:29 +0000 (12:32 -0600)]
Add a simple tool for isolating a path from an SKP

BUG=skia:

Change-Id: I5ca9bbd43919e3f65ea940847c68f85cc78dfeda
Reviewed-on: https://skia-review.googlesource.com/10130
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
7 years agoquiet some annoying logging in unit tests
Mike Klein [Mon, 27 Mar 2017 18:28:07 +0000 (14:28 -0400)]
quiet some annoying logging in unit tests

Noticed all these while adding some unit test support to ok.

Change-Id: Ie33b96da95840628657211cb28b2134fd314a48a
Reviewed-on: https://skia-review.googlesource.com/10202
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoAdd height function to shadow tessellators.
Jim Van Verth [Mon, 27 Mar 2017 18:25:29 +0000 (14:25 -0400)]
Add height function to shadow tessellators.

Prep work for adding perspective support.

Bug: skia:
Change-Id: Id07d3050afb3f0d001b885e482adb8d03125b619
Reviewed-on: https://skia-review.googlesource.com/10167
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoChange SkMemory to the more accurately named SkMalloc.
Herb Derby [Mon, 27 Mar 2017 17:35:15 +0000 (13:35 -0400)]
Change SkMemory to the more accurately named SkMalloc.

Change-Id: I6b08a74234b99bac866bad71014b94f7ec2d4bc8
Reviewed-on: https://skia-review.googlesource.com/10188
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoSplit GrPipelineInput into separate color and coverage types, the latter of which...
Brian Salomon [Mon, 27 Mar 2017 17:09:36 +0000 (13:09 -0400)]
Split GrPipelineInput into separate color and coverage types, the latter of which is just an enum.

Assign names that indicate that they aren't just for the input phase since I plan to use them at the boundary between FPs and XPs as well.

Renamed GrProcOptInfo to GrColorFragmentProcessorAnalysis. This is now only used on the color side and the new name seems clearer to me.

Change GrMeshDrawOp::getFragmentProcessorAnalysisInputs to use the new color/coverage types directly rather than a class that has been reduced to simply bundling them together.

Change-Id: If93bae74c9d590486eecdf63f302418c96deab65
Reviewed-on: https://skia-review.googlesource.com/10161
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agook: alias 565 -> sw:ct=565
Mike Klein [Mon, 27 Mar 2017 16:43:44 +0000 (12:43 -0400)]
ok: alias 565 -> sw:ct=565

This is mostly a demo, and to make sure it's easy.
If I'm thinking right, other non-ct options should Just Work.

Change-Id: I295db0fa04921ccdd766e1870e367594ca802462
Reviewed-on: https://skia-review.googlesource.com/10190
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRemove GrFragmentProcessor-derived class' GrTexture-based ctors
Robert Phillips [Mon, 27 Mar 2017 15:08:16 +0000 (11:08 -0400)]
Remove GrFragmentProcessor-derived class' GrTexture-based ctors

Split out into:

https://skia-review.googlesource.com/c/8881/ (Switch GrTextureStripAtlas over to GrTextureProxies)
https://skia-review.googlesource.com/c/8942/ (Wrap cached GrTextures in GrTextureProxies (e.g., blur profiles, nine-patch blurs, etc.))
https://skia-review.googlesource.com/c/8997/ (Clean up/remove unused GrFragmentProcessor-derived ctors)
https://skia-review.googlesource.com/c/9191/ (Switch SkImageGenerator over to generating GrTextureProxies)
https://skia-review.googlesource.com/c/9448/ (Switch GrYUVProvider over to GrTextureProxies)
https://skia-review.googlesource.com/c/9559/ (Preparatory Proxification)
https://skia-review.googlesource.com/c/9626/ (Consolidate Proxy caching code in GrResourceProvider)
https://skia-review.googlesource.com/c/9683/ (More pre-emptive proxification)
https://skia-review.googlesource.com/c/9917/ (Make experimental Perlin noise shader take texture proxies)
https://skia-review.googlesource.com/c/9961/ (rename makeCopyForTextureParams to isACopyNeededForTextureParams)
https://skia-review.googlesource.com/c/9945/ (Make SkImageCacherator be deferred)
https://skia-review.googlesource.com/c/10180/ (Add new proxy-based DetermineDomainMode w/ test)

Change-Id: Ia33389d92360e542a9d2bf395948deb04d017465
Reviewed-on: https://skia-review.googlesource.com/8823
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoUpdate ATT Galaxy S7 to Android N
Kevin Lubick [Mon, 27 Mar 2017 16:22:52 +0000 (12:22 -0400)]
Update ATT Galaxy S7 to Android N

This updates both Galaxy S7s to use the longer device_os added in
https://chrome-internal-review.googlesource.com/c/339125/
to avoid subtle version skew when Galaxy S7 applies an update but doesn't
toggle Android version.

BUG=skia:
NOTRY=true

Change-Id: I7c0a3197592f8738abae46ffb3e31dc0f50d2b6a
Reviewed-on: https://skia-review.googlesource.com/10178
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoAdd new proxy-based DetermineDomainMode w/ test
Robert Phillips [Mon, 27 Mar 2017 14:14:08 +0000 (10:14 -0400)]
Add new proxy-based DetermineDomainMode w/ test

split out of: https://skia-review.googlesource.com/c/8823/ (Remove GrFragmentProcessor-derived class' GrTexture-based ctors)

Change-Id: Ibf54da589710382254b416e4801d83e9f5663f44
Reviewed-on: https://skia-review.googlesource.com/10180
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agook: handle concurrent crashes better
Mike Klein [Mon, 27 Mar 2017 03:22:44 +0000 (23:22 -0400)]
ok: handle concurrent crashes better

lockf() is a simple way to prevent interlaced stack traces when there
are concurrent crashes.  After a crashing process rethrows its signal
and dies for real, the OS unlocks the file for other processes.

I tested this by making SkCanvas::drawRRect() crash on Linux:
20-odd GM crashes with interlaced stack traces before, none after.

Change-Id: I99930756b8c85c552eef7c3a77778e4c00d34c42
Reviewed-on: https://skia-review.googlesource.com/10177
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoFully initialize array of previous edges in GrGLConvexPolyEffect to please MSAN
Brian Salomon [Mon, 27 Mar 2017 14:17:38 +0000 (10:17 -0400)]
Fully initialize array of previous edges in GrGLConvexPolyEffect to please MSAN

BUG=skia:6416

Change-Id: I99c29cd8cb90844e50ed288ba57e28774bf2444c
Reviewed-on: https://skia-review.googlesource.com/10183
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoManually roll recipes (trivial)
Robert Iannucci [Sat, 25 Mar 2017 01:18:15 +0000 (18:18 -0700)]
Manually roll recipes (trivial)

All up to date!

build:
  https://crrev.com/f2c0ca26abeccab331fc6bd8c7c0514165a78e54 Roll recipe dependencies (trivial).
  https://crrev.com/843d18d4c63d75f0eb68a2df934baab02c0bf6c4 swarming: Improve collect_isolated_script_task error handling.
  https://crrev.com/9af80f3466b63bdd4a5d75345795c3516a20a522 Roll recipe dependencies (trivial).
  https://crrev.com/feba551470a06709553c1e96d0a03f13deca07ed WebRTC: Fix packaging of iOS API Framework.
  https://crrev.com/b82322f802034133234fc7016150d842d6b9e987 V8: Add more indirect dependencies.
  https://crrev.com/6067fa67669785c0fc3172dcb80dd0de2d452d19 swarming: collect_isolated_script_task changes.
  https://crrev.com/379d0539704468101ca772ba0c0b084ed164daa7 WebRTC: Add rtc_enable_bwe_test_logging=true to more configs bots.
  https://crrev.com/323e766b5401d5649909df231ecf7c581fce298a Enable service tests on kernel builders
  https://crrev.com/fb25c3b3af9ae0e62d55ce8837470e6939256ae2 Remove unused skia_swarming and CT recipe modules
  https://crrev.com/890c03dc5c040219372674ac321765460e01d016 Add gen/skia/public/interfaces to generated bindings paths
  https://crrev.com/1f580164c505a6d5f4c80c1a298cdb461e3fafdc Remove unused recipe expectations
  https://crrev.com/36ee491ef076c973bb7debf85ca21f422f4da279 Roll recipe dependencies (trivial).
  https://crrev.com/2fa361b5f8b4f7fb70fe01928897f8a08427258d Roll recipe dependencies (trivial).
  https://crrev.com/dcd5ed1a860a2dc0825a8ea49f7b130b6c947d92 Rename Quadro M2000 machines to Quadro P400.
  https://crrev.com/7c59a8aef946bf372345a47b70f3a013e7af34ad Roll recipe dependencies (trivial).
  https://crrev.com/47899c1186474197f5fe8d17390b8d6299f89fee crashpad: Make tests work with paths instead of configuration names
  https://crrev.com/df7c8aed80f6fa17717a4eef7d22c8a359e5c080 Use isolate go binary on iOS FYI builders
  https://crrev.com/7e669897df98ea92c5d63d6f4be03ac5f3380908 Roll recipe dependencies (trivial).
  https://crrev.com/78eaaf5947ea93387ec9ff7c578bf32676500194 Run new recipes 'test' command
  https://crrev.com/03c61e3c727963a97435adcb7fda3351e420e4a6 WebRTC: Add webrtc_perf_tests to Android trybots.
  https://crrev.com/18868576df07b88794c5b5402f011a165bb61fb7 Fix recipe tests
  https://crrev.com/eca15296bf0f928789c471f134c7cc9f8e34452d Add patch size estimation to Android perf builders.
  https://crrev.com/b71ef7dff40d848b8878373eedb599fe98709a04 WebRTC: Add bwe_simulations_tests sanity check.
  https://crrev.com/ce3f62b49d89a8e02f006159e3a460b0c856c3fb Enable uploading images to skia gold in parallel
  https://crrev.com/b05c4bc3761d4c41d70952e0bcf2efa71cb174af Roll recipe dependencies (trivial).
  https://crrev.com/d87947e7dc733a192b4d29fd32cfb7c8c9791daa Roll recipe dependencies (trivial).
  https://crrev.com/26c73a64dd8f6c17f73cdbc5b2324df2ccda3389 Remove NVIDIA Shield GPU.FYI bot
  https://crrev.com/ad447d745f0b15d374d977f0a355e4d910861f33 Gatekeeper: Pass in credentials for accessing Milo
  https://crrev.com/4e48b5ec0b17fa90512a2abb5c8302556c468cf4 Make 'Android Builder (dbg)' download VR test APKs
  https://crrev.com/379e6a8c13e2c12fe10676c3ff31d8864aadbca7 Use isolate go binary for all iOS builders
  https://crrev.com/ddc2f1946cebc0fee8a726704277a9ee08c64900 Simplify layout_test_wrapper.py (take 2).
  https://crrev.com/b69e0ff7c3c6609297730fc796fc0863805c1662 Fix command argument list in layout_test_wrapper.py.
  https://crrev.com/30584dea7ace8de1ac915cb186ca68b99e176cf9 chromium: Fixing the results handler for LayoutTests.
  https://crrev.com/b192b269842218eb78a467e9a520ff9b6c2446db Rename Win AMD R5 230 to R7 240 after GPU swap.
  https://crrev.com/4ff14cf2450222d65926c67acb2e319bc2cd96b7 Hacks to run locally
  https://crrev.com/e4d63fc7eac4b4f7d4e24d5252a83a189a760931 Revert "Hacks to run locally"
  https://crrev.com/62e780a27c4f11cec2a63a113ffc3273dcff3320 WebRTC: Add low_bandwidth_audio_test on desktop.
  https://crrev.com/26805613e283cd0c796bfe37143026bc89bb1446 WebRTC: Add building of low_bandwidth_audio_test to perf bots
  https://crrev.com/ac4da194a237c33a590c3518515c2ea148037f86 chromium: Fixing the test results handler for skipped tests.
  https://crrev.com/786366148079983fd99174150715b5b819d7a303 chromium: Process the full WebKit Layout Tests results.
  https://crrev.com/8bcb947602f5586c890174bf48529761ec1e6289 chromium: Change WebKit Layout Tests results upload.
  https://crrev.com/072216afe61f9604972a1aceedabc34685053b6e Revert "chromium: Process the full WebKit Layout Tests results."
  https://crrev.com/d7dea9fe527267a9cb0137ea7642cc289d6a7365 WebRTC: Use test name instead of command for perf_dashboard_id fallback.
  https://crrev.com/ba9dbab1eca7aee547b9b844ca5b415f0af81b57 Move to new angler device.
  https://crrev.com/fca33caaf9efacc4011304ab7ad3791c2b06a2a5 WebRTC: Remove low_bandwidth_audio_test on Mac and Windows.
  https://crrev.com/898c6ac014d81e25bdc2f2ffa499d6cf623ff82d Roll recipe dependencies (trivial).
  https://crrev.com/ef3b843e396d4bf5dc58809dbc6fe9999e1b8b5f Revert "Gatekeeper: Pass in credentials for accessing Milo"
  https://crrev.com/107f5de0aa9ad771f0e4ac7b9572b4081c7782ad Roll recipe dependencies (trivial).
  https://crrev.com/9d5c32ab34717333e7aedfabdd4118163b7f5eeb Roll recipe dependencies (trivial).
  https://crrev.com/4d8948186392e550f9113e0a0fd3bf8892da7894 Roll recipe dependencies (trivial).
  https://crrev.com/aa51b056ae211e3918489aa37b24a10f7feaec48 Roll recipe dependencies (trivial).
  https://crrev.com/ee25e07fc187ccbb2af62fe56bcc9444c3c5b9d3 [recipes.cfg] convert to JSON
  https://crrev.com/bd7fdc1212522513f464ca3f189018872ff26eca Revert "[recipes.cfg] convert to JSON"
  https://crrev.com/8d686035a02029411b43079563ecfe9a0c3777c3 Decommission Linux Release (AMD R5 230) GPU.FYI bot
  https://crrev.com/b9ede07dcc65de05933ce80fa23a0507fcd7c3c5 [remote_run] bump canary version of recipes-py.
  https://crrev.com/4d843c3c4e2253fdbb674d91390bbcd03361e0fc [Findit] Run compile on last good revision if the culprit is the first revision in regression range.
  https://crrev.com/6c1d2f31109446c7ae7d2e1fec69437a68e02da0 Gatekeeper: Use milo
  https://crrev.com/655fd4581bc29b89d0bbde07c71d2df3ff9095c9 reland "Gatekeeper: Pass in credentials for accessing Milo""
  https://crrev.com/d13b1feb856b8159917c591c806a606e4fe5e4d3 Gatekeeper: Don't be verbose
  https://crrev.com/e3eedb9983fa7966f99536baae6ebc26272fd60d Retry tests without the patch on iOS try bot failures
  https://crrev.com/c15677597961c6f980914ce5e25e95d02323c722 [remote_run] bump prod version of recipes-py
  https://crrev.com/b40d5bac94616d5df8e6317fd4c8919a0ec67e3b chromium: Make layout-test-wrapper produce the full results.
  https://crrev.com/c8b04fa68d968242aae885947bacdb7116d6886b Reland: [recipes.cfg] convert to JSON
  https://crrev.com/17f33c9a7735dba20c9d80f954eeaabdd28e72d1 [remote_run.py] bump kitchen canary version
  https://crrev.com/63e56fb2bd232f5929c0376d681ef18312058168 chromium.fyi: Remove BlinkStep from Linux RandomOrder bots.
  https://crrev.com/dda63076137c0ef95b5d64f62a5c67d9e6bf84be Roll recipe dependencies (trivial).
  https://crrev.com/e7de363248f87ec5e004375edb55d4ff4a148c3c Manually roll recipes.cfg
  https://crrev.com/3325687c9d892d7dee9ea639c9557a4920032c91 Invoke dart-sdk-* builders via recipes, add trigger at the end
  https://crrev.com/111855ccccb7ac786af35256462317fe714f698f Add new Dart analyze source recipe and builder to FYI
  https://crrev.com/7616b7167c887b266c2ba12c5796717b53b075f8 V8: Bump shards on slowest bots
  https://crrev.com/739b537a90ab43eda58b0d16f87a38f151b02b4a Roll recipe dependencies (trivial).
  https://crrev.com/26d3abcaa429c315ebfe56ecf1bc503b1ccaca97 Roll recipe dependencies (trivial).
  https://crrev.com/7486b36c875fa1410613e8eea0f6d084bfe8a0b2 Add maksim.sisov@chromium.org to Ozone Linux bot
  https://crrev.com/4dbb302e82655768d714dff8b58601a321bef8a7 Roll recipe dependencies (trivial).

depot_tools:
  https://crrev.com/e08398fde847b8afe7822652b79c2b0dcd16308a Roll recipe dependencies (trivial).
  https://crrev.com/c07db621521d62557d089b3e94484c1831395487 Roll recipe dependencies (trivial).
  https://crrev.com/e718958ca03fc0766459fecf7820a300b206d7be define builder_cache base path
  https://crrev.com/b87fa094099214b2f2c433f2590c6c62f1493e7f Roll recipe dependencies (trivial).
  https://crrev.com/14db1dfd88b987c9119f59f75f1f27b8e7c49602 Revert "define builder_cache base path"
  https://crrev.com/7a1f04d377764d9039cde0c4aa4b55c42a411c23 Implement presubmit API to get the old contents of an affected file.
  https://crrev.com/2da34fea2979af25cf1c7ff5f5e5dfbb70d2339c Fix typo in pydoc for OldContents().
  https://crrev.com/42494916d40bb9f92d7fe4732f9a5623bcbb67e6 Roll recipe dependencies (trivial).
  https://crrev.com/8d63166147f518efdc84f6b9082b4161e0188991 Roll recipe dependencies (trivial).
  https://crrev.com/d75686454bb0ad8d4718ff6bf9613772ca8027b5 gerrit_util: Use httplib2 for communication instead of httplib.
  https://crrev.com/25ab6a34c2d37ed806e49c334c8b79404d03c8f1 Revert "gerrit_util: Use httplib2 for communication instead of httplib."
  https://crrev.com/89d04858c88d91acf491e259d293ba3206713357 gerrit_util: Use httplib2 for communication instead of httplib.
  https://crrev.com/05c96f1fab336629a713713094049e1edecbc651 Roll recipe dependencies (trivial).
  https://crrev.com/3a16ed155e3f7ac56db71f207d5779fc97c3bae8 Use Bug: footer for Gerrit CLs
  https://crrev.com/8ec608527e095382a640f3cb1c30464ad1dce850 bot_update: don't retry rebasing Gerrit patches.
  https://crrev.com/2add8a99684cdc6c68a25e2dd7dba6dcf680c129 Roll recipe dependencies (trivial).
  https://crrev.com/e9b94890b6de526673e6995e1395353b1e752299 [recipes.cfg] convert to JSON
  https://crrev.com/f14709556d5d51394ac8f7d603d14795eba2c883 Move recipes to their own subdirectory
  https://crrev.com/5afa324b6a6908060b8ca2c5138e637ae4507885 Roll recipe dependencies (trivial).
  https://crrev.com/f83e262e6d10b480df069129c3eddfab0a22c4b7 Adjust paths in bot_update.py after moving recipes to subdir
  https://crrev.com/bb86fbbef1e7b8eb279a88f4548f059527d2810b git cl upload for Gerrit: warn if uploader is not CL owner.
  https://crrev.com/296bd843290fd661d2645322137c9d9925c4cfd7 Update to packaging script for VS 2017
  https://crrev.com/ce0080373244a65ba8f8bc8766096e96472e51e3 Roll recipe dependencies (trivial).
  https://crrev.com/cb23864e6801c27e0fb9a2ec908e1e8a24382a71 Roll recipe dependencies (trivial).
  https://crrev.com/5be3bdd70e1d95b88c93ca38c0c870e2399dede7 Roll recipe dependencies (trivial).

recipe_engine:
  https://crrev.com/fb61dcf4145be9d98f85d02af72a498f09782800 [autoroll] cache commit_metadata operations.
  https://crrev.com/6488afec4a1b4ac51a8601e308c42cd6a176c190 [recipes.cfg] upgrade recipes.cfg to JSON.
  https://crrev.com/157bae7bdfe2608d4bff84eaa90db0fdae71e26b Add structured JSON result output to new 'test' command
  https://crrev.com/ef924b01de36ab3c70e79f7782acb3f66ffdd3fd [package.proto] Make recipe json loading forwards-compatible
  https://crrev.com/3e8a9964590120020a29e2749a99c043197d088b repo_test_util: use new 'test' command
  https://crrev.com/033f8117b5cb6de01ad56606aca0437b2ba7cd7c Update documentation about recipe tests
  https://crrev.com/3125a3b89e18dff89cf6d59f0a0486d832521bf1 [recipes.cfg] Switch to json for real, add canonical_repo_url.
  https://crrev.com/fd0d8541ec8f579c68bf8214acfaf08f23117882 autoroll: use new 'test' command
  https://crrev.com/e3bd68e54e94d7ec339fd7c8d90544975386f4fe Add support for recipe/test filters in new 'test' command
  https://crrev.com/4439877a3ea1acd4c3f4cf805fba138aeb5b16a5 [test_test.py] make root_dir realpath.
  https://crrev.com/84b34416f3e1b1582cf81ab7ffea34f1e84b1c95 [package.py] No trailing whitespace in json proto dump.

Bug: skia:
Change-Id: I0f4b1a8fcac9d0b3fc20a713b2caf3b1ba629db7
Reviewed-on: https://skia-review.googlesource.com/10127
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoManually roll recipes
Robert Iannucci [Sat, 25 Mar 2017 01:11:15 +0000 (18:11 -0700)]
Manually roll recipes

build:
  crrev.com/232ecb4e8e9a3175db1c14449dca0230ae01b80c Switch to an explicit swarming.summary placeholder instead of json.output.

Bug: skia:
Change-Id: I7c0dd6ce6225d48541c574ff6f38ea70e1823f1f
Reviewed-on: https://skia-review.googlesource.com/10126
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoManually roll recipes (trivial)
Robert Iannucci [Sat, 25 Mar 2017 00:45:40 +0000 (17:45 -0700)]
Manually roll recipes (trivial)

build:
  https://crrev.com/758ae9ec2bff2bb48071f78b80af3f84177870e4 Roll recipe dependencies (trivial).
  https://crrev.com/0796b26a2bbec373b875a604d1adfa6b8a7b9b75 Roll recipe dependencies (trivial).
  https://crrev.com/a14699eda6eb7971c71167d36901e2a374f6b744 Remove old recipe expectations
  https://crrev.com/2e802841367cdd8c47fb5a1b42f898948265b402 Roll recipe dependencies (trivial).
  https://crrev.com/34cf1f66235a1b70e97519055cbcff298971dd19 Remove recipe roller master from Kitchen whitelist
  https://crrev.com/f4a7f3ea36bd971090d02fa8dac321f0bfc867c1 Roll recipe dependencies (trivial).

depot_tools:
  https://crrev.com/0d6b46e32b99c7f6b7ecef5cde843aaf4e43449a git cl comment: require explicit --codereview with -i|--issue flag.
  https://crrev.com/aebadcc3a4349a0845fcab60242c6b146d0db1c8 Roll recipe dependencies (trivial).
  https://crrev.com/742adbd76f8d4c730866ba02d2e4b71524ce9049 Run new recipes 'test' command
  https://crrev.com/328f60d1a072d24b07e2726d447aa7c089c7b07e Roll recipe dependencies (trivial).

recipe_engine:
  https://crrev.com/aa0a2d61cd31decf9a5c048b677ba38eb209a1c6 Correctly handle tricky characters in test names in new 'test' command
  https://crrev.com/81de92519dd374d9b193362034fae8861476bc5f [autoroll] make autoroller propagate changes to recipes.py.
  https://crrev.com/0ee0446195595e5df02fc2dc82e4988b601b113e Carefully clean more unused recipe expectation directories in new 'test' command
  https://crrev.com/803d6ead998b4bbca601fb3a984e76ddc063806d Fix autoroll command.

Bug: skia:
Change-Id: I1a2bf0bf64b3ec9b27df785fcbf7d4b9e28727ac
Reviewed-on: https://skia-review.googlesource.com/10125
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agofocus hidden-visibility flags
Mike Klein [Mon, 27 Mar 2017 00:11:48 +0000 (20:11 -0400)]
focus hidden-visibility flags

This makes things like dladdr and backtrace_symbols not totally useless on Linux.

Change-Id: I26666a76c5b50fbf88aaf9709c869de0a697bb02
Reviewed-on: https://skia-review.googlesource.com/10176
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoManually roll recipes
Robert Iannucci [Sat, 25 Mar 2017 00:28:27 +0000 (17:28 -0700)]
Manually roll recipes

Removes unused recipe expectation.

build:
  https://crrev.com/e0f3d95ef043b98fcceb1f34b03f9b8fac091eb9 Roll recipe dependencies (trivial).

depot_tools:
  https://crrev.com/0bbe6fa00ef873080c4f6d145ea7a00497eeed3f Roll recipe dependencies (trivial).

recipe_engine:
  https://crrev.com/e300f3a3b8193b84b88599faa30c0301e155c906 Handle unused recipe expectations in new 'test' command

Bug: skia:
Change-Id: I3f00821de5b7f5158c6da2ff1206f2e1ec133e0f
Reviewed-on: https://skia-review.googlesource.com/10124
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoManually roll recipes (trivial)
Robert Iannucci [Sat, 25 Mar 2017 00:13:22 +0000 (17:13 -0700)]
Manually roll recipes (trivial)

build:
  https://crrev.com/440839111a2a562ca2ac214817d821cd480146a8 V8: Bump shards on arm branch builders
  https://crrev.com/7b6d0f6ecffaef81bbbcb8ffc5a522df08fd7e02 Roll recipe dependencies (trivial).
  https://crrev.com/5be20abc2276ab5ae7ab83707ed4966710475aec gatekeeper_ng: whitelist more masters for CBE
  https://crrev.com/1efede1c3cd2b2435cb27cac164fcd61a98199ae Roll recipe dependencies (trivial).
  https://crrev.com/4715a9958d426ec473c6f3e62dd58687640484e4 Roll recipe dependencies (trivial).
  https://crrev.com/973870a62af1f77ac5356fbabd9a471a4fdf6c91 Add 'CFI ThinLTO Linux ToT' buildbot (recipes part).
  https://crrev.com/d2d4c12efbc6df3fc7d1a2eca3d461f1b6b2efb4 Roll recipe dependencies (trivial).
  https://crrev.com/82f8e1417a99f8251595f6f9a75bdbe0e400e8b5 Don't write .isolate as JSON
  https://crrev.com/55807bc812e28d83f30a2efbebc8ba113693eaae Push bisect changes to prod.
  https://crrev.com/b08eff6b36e7c66482b38fa179da7f4992da60d6 Roll recipe dependencies (trivial).
  https://crrev.com/03fd1250afda1212ca9b63b43c49ae5a68e0e53d chromium: Rework layout test results archiving.
  https://crrev.com/f30cd17e8aaf3def5994b8384da96ef56e80b3dd Add a cast audio bot.
  https://crrev.com/6e47d11dafc3ca058652d7c93a60080462f0961e Temporary workaround missing commit_position in blink_downstream DEPS.

depot_tools:
  https://crrev.com/625986dba7852518199ec002fd4cece02929f4ab git cl comment: implement adding comment for Gerrit.
  https://crrev.com/680253d31518b5865a45be4d63bc1ed74a4f16e9 git cl description: don't bother if description diff is trailing whitespace.
  https://crrev.com/d8aa49f35b8d3e981d0afc3d539aae35a2f89415 git cl comment: refactor fetching comments for Rietveld and add tests.
  https://crrev.com/5a0cf20452b7dac174dd0377f5b030379ba543ef git cl comment: implement fetching comments for Gerrit.
  https://crrev.com/ecf3dbe49fcf18982c5d8fbfd8a9ed30d6d9e714 Roll recipe dependencies (trivial).
  https://crrev.com/e86f6de84296601c61a3d3e6d7655e596535c4d6 Fix smoke test to not hard-code python executable location.

recipe_engine:
  https://crrev.com/78f105cbebb6e8dc99d64638d400868851cb0c40 Add --train support to the new 'test' command

Bug: skia:
Change-Id: Ib1abe064f6684dcd6bdbdbe2f17c5fa9c506299a
Reviewed-on: https://skia-review.googlesource.com/10123
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoUpdate SKP version
UpdateSKPs [Sun, 26 Mar 2017 06:57:09 +0000 (06:57 +0000)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: I78f9d076d702bdc7b7e0e58d60fd5b3c320707b8
Reviewed-on: https://skia-review.googlesource.com/10131
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>

7 years agook: refactor Src/Dst interactions
Mike Klein [Sat, 25 Mar 2017 19:53:14 +0000 (15:53 -0400)]
ok: refactor Src/Dst interactions

This makes everything a lot more like DM, for the same reason:
it's the best way to make Vias work.

Instead of exposing a canvas, Dsts take a Src to draw.  Vias still are
Dsts that wrap Dsts.  They do their internal work in draw() then pass a
proxy Src encapsulating that work to the next Dst's draw().

A little refactoring in ok.cpp allows arbitrary chains of Vias.

I removed the guarantee that Src methods are called in strict order.
It's easy enough to make each Src initialize itself as needed.

I moved the .png encoding back to ok.cpp.  It seemed weird for Dsts to
have to think about files and paths.  One day Dst will want a data()
method for non-image output (.pdf, .skp), and then we'll want ok.cpp to
be the one to coordinate what to write where.

Change-Id: Id4a3674b2d05aef2b5f10e0077df0a8407c07b61
Reviewed-on: https://skia-review.googlesource.com/10175
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agook: basic Vias
Mike Klein [Sat, 25 Mar 2017 16:32:22 +0000 (12:32 -0400)]
ok: basic Vias

Not sure if these simple Src/Dst interfaces will last.
Vias are a little tricky, and some may be impossible.

Change-Id: I42d19b1ee74b51a830bb781f25a888c0b32ba98c
Reviewed-on: https://skia-review.googlesource.com/10174
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoSpin off non-core parts of ok into their own files.
Mike Klein [Sat, 25 Mar 2017 15:29:41 +0000 (11:29 -0400)]
Spin off non-core parts of ok into their own files.

Now ok.cpp handles only the high level coordination of Srcs and Dsts,
without having to know or care what they are.

Some minor refactoring to things like Options.

Change-Id: I02df890b26d6d069e980a125b6a1ce1a7067b900
Reviewed-on: https://skia-review.googlesource.com/10173
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRevert "Revert "simplify api to bitmapcache""
Mike Reed [Sat, 25 Mar 2017 13:51:00 +0000 (09:51 -0400)]
Revert "Revert "simplify api to bitmapcache""

Remove (for now) overly agressive assert

This reverts commit dd1b4e94c4298213f1f238a8634471086d6749fb.

Bug: skia:
Change-Id: Ibdcf0b2e92cf108ae710cd180d4fa359f81176d1
Reviewed-on: https://skia-review.googlesource.com/10129
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoRemove draw-as-clear workaround for Adreno 3xx in Chrome.
Brian Salomon [Fri, 24 Mar 2017 22:49:09 +0000 (18:49 -0400)]
Remove draw-as-clear workaround for Adreno 3xx in Chrome.

This caused a performance regression after Skia started seeing the real GL strings.

BUG=chromium:703774

Change-Id: Ib0878062670b5ea51a005718a64a58d89fbaa42c
Reviewed-on: https://skia-review.googlesource.com/10165
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoRevert "simplify api to bitmapcache"
Florin Malita [Fri, 24 Mar 2017 22:09:30 +0000 (22:09 +0000)]
Revert "simplify api to bitmapcache"

This reverts commit 9f4b0ae91e1875831cc11f0629b5db998ad85438.

Reason for revert: Nanobench asserts.

../../../src/core/SkBitmapCache.cpp:81: fatal error: "assert(scaledWidth != image->width() || scaledHeight != image->height())"
Aborted
Command exited with code 134
step returned non-zero exit code: 134

https://chromium-swarm.appspot.com/task?id=351b1d10c7936310&refresh=10

Original change's description:
> simplify api to bitmapcache
>
> Force all Find callers to make a bitmpacachedesc, which now
> has more rigid validation.
>
> Goal is to ensure we never make two desc (which turn into keys)
> that look different but represent the same image/transformation.
>
> BUG=skia:
>
> Change-Id: I8571837ee4754a69acc99e949bee9a465fa25f2b
> Reviewed-on: https://skia-review.googlesource.com/10114
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
>

TBR=brianosman@google.com,fmalita@chromium.org,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: I21b3c8a5bae409ba740cfc28b352c3b970dcf5af
Reviewed-on: https://skia-review.googlesource.com/10171
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agook: introduce the idea of Dsts
Mike Klein [Fri, 24 Mar 2017 18:06:47 +0000 (14:06 -0400)]
ok: introduce the idea of Dsts

Change-Id: I47ac01f0c2c0f2f7b925de09c18d3c8265398c8a
Reviewed-on: https://skia-review.googlesource.com/10117
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agosimplify api to bitmapcache
Mike Reed [Fri, 24 Mar 2017 21:00:17 +0000 (17:00 -0400)]
simplify api to bitmapcache

Force all Find callers to make a bitmpacachedesc, which now
has more rigid validation.

Goal is to ensure we never make two desc (which turn into keys)
that look different but represent the same image/transformation.

BUG=skia:

Change-Id: I8571837ee4754a69acc99e949bee9a465fa25f2b
Reviewed-on: https://skia-review.googlesource.com/10114
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoOmit tests causing IntelIris540 Vulkan to crash/fail.
Ben Wagner [Fri, 24 Mar 2017 16:11:51 +0000 (12:11 -0400)]
Omit tests causing IntelIris540 Vulkan to crash/fail.

BUG=skia:6398
NOTRY=true

Change-Id: I630727a2d69116bfb49fe1dece7b6417e10c251c
Reviewed-on: https://skia-review.googlesource.com/9872
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoTry a different calculation for computing convexity.
Jim Van Verth [Fri, 24 Mar 2017 18:28:57 +0000 (14:28 -0400)]
Try a different calculation for computing convexity.

Change-Id: I3b4a6a95ec9f890b35948d745dd02a2b05a8d7cb
Reviewed-on: https://skia-review.googlesource.com/10116
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agoRevert "Remove texture sampling from GrConfigConversionEffect"
Brian Osman [Fri, 24 Mar 2017 18:27:56 +0000 (18:27 +0000)]
Revert "Remove texture sampling from GrConfigConversionEffect"

This reverts commit 3e7cddaf32e280fe9f32eec5bfdd8168ca4941b6.

Reason for revert: Precision issue on some mobile GPUs.

Original change's description:
> Remove texture sampling from GrConfigConversionEffect
>
> Re-land fixed version of https://skia-review.googlesource.com/c/10026/
>
> BUG=skia:
>
> Change-Id: I0754ffb72da2966eb57e5cd7ec818b1cdce84a74
> Reviewed-on: https://skia-review.googlesource.com/10056
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: I66f52efe191b170612775e26d84a2af3d3f856af
Reviewed-on: https://skia-review.googlesource.com/10118
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoquick-fix to surface dox
Mike Reed [Fri, 24 Mar 2017 16:54:41 +0000 (12:54 -0400)]
quick-fix to surface dox

BUG=skia:

Change-Id: I63cab1d5467fa908358a46199dc44cfe53c20f4f
Reviewed-on: https://skia-review.googlesource.com/10115
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoFix SkImage_Gpu::getROPixels
Brian Osman [Fri, 24 Mar 2017 15:22:31 +0000 (11:22 -0400)]
Fix SkImage_Gpu::getROPixels

The dstColorSpace is a badly named parameter. It's a hint about where/how
the returned pixels are going to be used. Raster and GPU are meant to
ignore that information - codecs use it to drive our decoding heuristic.

I've adopted that name in several places, although it's quite bad. Maybe
usageColorSpace would be better?

Bug: skia:
Change-Id: I99acaac4bed57ed8acd8433e1c5b39a60c3af09e
Reviewed-on: https://skia-review.googlesource.com/10109
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoDelete SkColorSpace::ColorSpaceFlags
Matt Sarett [Fri, 24 Mar 2017 14:06:03 +0000 (10:06 -0400)]
Delete SkColorSpace::ColorSpaceFlags

BUG=skia:

Change-Id: Ia0688876915cd773614ca0c4ccd467cf6e7c603e
Reviewed-on: https://skia-review.googlesource.com/10105
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoAdd function to perform color fragment processor elimination while performing FP...
Brian Salomon [Fri, 24 Mar 2017 16:27:17 +0000 (12:27 -0400)]
Add function to perform color fragment processor elimination while performing FP analysis.

Use this in path and instanced ops.

Change-Id: I6c2d3fc9b3aaa0220c560c70aa1b85515bd35a6d
Reviewed-on: https://skia-review.googlesource.com/10059
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoUpdate Linux Intel Release driver with patch to fix Vulkan
Greg Daniel [Fri, 24 Mar 2017 15:40:29 +0000 (11:40 -0400)]
Update Linux Intel Release driver with patch to fix Vulkan

BUG=skia:

Change-Id: I973460374f2d4cbe141753ecd84cbefa68c9d8d0
Reviewed-on: https://skia-review.googlesource.com/10054
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoRun angle in 8 sample msaa on desktop
Brian Salomon [Fri, 24 Mar 2017 15:15:09 +0000 (11:15 -0400)]
Run angle in 8 sample msaa on desktop

Change-Id: If752152daabcdb7420fd13863fea4ce49f725aab
Reviewed-on: https://skia-review.googlesource.com/10108
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoDisable convex check for now.
Jim Van Verth [Fri, 24 Mar 2017 16:10:48 +0000 (12:10 -0400)]
Disable convex check for now.

Change-Id: Icd0e14cd8183f19c96eeb9a1c46aed3d7809c29f
Reviewed-on: https://skia-review.googlesource.com/10110
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
7 years agoRevert "Revert "Create new inset algorithm for spot shadows""
Brian Salomon [Fri, 24 Mar 2017 16:07:20 +0000 (16:07 +0000)]
Revert "Revert "Create new inset algorithm for spot shadows""

This reverts commit e7c85c45c4c0a97adc6711bb12ecacc36af4ba11.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Create new inset algorithm for spot shadows"
>
> This reverts commit e5f5bf5175e426ebb6aa234f4387831c898f20ad.
>
> Reason for revert: Breaking a bunch of bots. e.g:
>
> https://luci-milo.appspot.com/swarming/task/3519cae0a03c7b10/steps/dm/0/stdout
>
> Original change's description:
> > Create new inset algorithm for spot shadows
> >
> > BUG=skia:
> >
> > Change-Id: If7c67c2a5b9beea28f86d13362a5156b46394d0e
> > Reviewed-on: https://skia-review.googlesource.com/9875
> > Commit-Queue: Ravi Mistry <rmistry@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
> >
>
> TBR=jvanverth@google.com,bsalomon@google.com,rmistry@google.com,robertphillips@google.com,msarett@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Change-Id: I3d119ff631dbb1a41f873b9c8753d542ec91254e
> Reviewed-on: https://skia-review.googlesource.com/10112
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
>

TBR=jvanverth@google.com,bsalomon@google.com,rmistry@google.com,msarett@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: Ib3998300606d3a2e2fb3a14b2088cfad48363501
Reviewed-on: https://skia-review.googlesource.com/10113
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoRevert "Create new inset algorithm for spot shadows"
Brian Salomon [Fri, 24 Mar 2017 16:00:35 +0000 (16:00 +0000)]
Revert "Create new inset algorithm for spot shadows"

This reverts commit e5f5bf5175e426ebb6aa234f4387831c898f20ad.

Reason for revert: Breaking a bunch of bots. e.g:

https://luci-milo.appspot.com/swarming/task/3519cae0a03c7b10/steps/dm/0/stdout

Original change's description:
> Create new inset algorithm for spot shadows
>
> BUG=skia:
>
> Change-Id: If7c67c2a5b9beea28f86d13362a5156b46394d0e
> Reviewed-on: https://skia-review.googlesource.com/9875
> Commit-Queue: Ravi Mistry <rmistry@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
>

TBR=jvanverth@google.com,bsalomon@google.com,rmistry@google.com,robertphillips@google.com,msarett@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: I3d119ff631dbb1a41f873b9c8753d542ec91254e
Reviewed-on: https://skia-review.googlesource.com/10112
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agook: fix an assert from unbalanced save/restores
Mike Klein [Thu, 23 Mar 2017 22:57:59 +0000 (18:57 -0400)]
ok: fix an assert from unbalanced save/restores

The 'dont_clip_to_layer' GM does not balance its layers.  It calls
saveLayer() 3x but restore() only 2x.  This may be a bug in the GM
itself, but I'm not sure so I haven't changed it here.

If ok is writing .pngs, the surface passes ownership of its buffer to an
image snapshot, simply marking it as immutable.  Then, when the surface
is destroyed later, it destroys its inner canvas, which restores its
save stack to zero, actually doing some drawing in the case of
unbalanced saveLayer()s.  We then call notifyPixelsChanged() and hit an
assert saying "you just wrote some pixels but this buffer was marked
immutable."

DM doesn't show this problem because it's doesn't really use surfaces
and images, just bitmaps.  There's no ownership handoff and nothing is
ever immutable, so the condition triggering the assert never comes up.

I'm not really sure where we want to say is the bug:
  - SkCanvas can draw in its destructor?
  - SkSurface doesn't restore to zero before snapping an image?
  - that dont_clip_to_layer should call restore three times?

In any case, this guards against it in ok.

I was using this as a convenient crash to help figure out how to best
save and print stack traces, but now that I've got that worked out we
might as well fix this.

Change-Id: Id6d397f534dd1b50219e0d3078c989a4910883a6
Reviewed-on: https://skia-review.googlesource.com/10140
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agook: basic crash handling and stack trace dumps
Mike Klein [Thu, 23 Mar 2017 22:36:39 +0000 (18:36 -0400)]
ok: basic crash handling and stack trace dumps

This seems to work pretty nicely for each engine in the expected case of
few crashes.  The serial and thread engines just dump the first crash
stack to stderr before dying, while the fork engine saves all crashes to
a temporary file, then prints that to stderr once everything's finished.

I'm not sold on this TLS solution as being the best way to know what
was running when we crashed, but it's better than printing nothing.

Change-Id: I0aca66529301b1ad9bd51ec728848817586c606d
Reviewed-on: https://skia-review.googlesource.com/10102
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoCreate new inset algorithm for spot shadows
Jim Van Verth [Fri, 24 Mar 2017 13:40:51 +0000 (09:40 -0400)]
Create new inset algorithm for spot shadows

BUG=skia:

Change-Id: If7c67c2a5b9beea28f86d13362a5156b46394d0e
Reviewed-on: https://skia-review.googlesource.com/9875
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoAdd SkTransferFunctionBehavior flag: Use in codec and encoder
Matt Sarett [Thu, 23 Mar 2017 19:32:25 +0000 (15:32 -0400)]
Add SkTransferFunctionBehavior flag: Use in codec and encoder

This is a step towards removing the non-linear blending flag from
SkColorSpace.  The flag on SkColorSpace used to control the premul
behavior - now it is controlled by this option.

BUG=skia:

Change-Id: Ia29bd8c2b0596a93c6aa14332dcd9bd39e388a90
Reviewed-on: https://skia-review.googlesource.com/10008
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoRevert "Revert "Remove Android-specific SK_SUPPORT_LEGACY_IMG_SNAPSHOT flag""
Robert Phillips [Fri, 24 Mar 2017 11:59:47 +0000 (11:59 +0000)]
Revert "Revert "Remove Android-specific SK_SUPPORT_LEGACY_IMG_SNAPSHOT flag""

This reverts commit fde9bff19c2a2d84041983e20e443cca2f95ebb6.

Reason for revert: RenderNodeDrawableTests.cpp fix has landed in Android

Original change's description:
> Revert "Remove Android-specific SK_SUPPORT_LEGACY_IMG_SNAPSHOT flag"
>
> This reverts commit c3efe6785666cdd13848e63f36fdadca26c48649.
>
> Reason for revert: RenderNodeDrawableTests.cpp
>
> Original change's description:
> > Remove Android-specific SK_SUPPORT_LEGACY_IMG_SNAPSHOT flag
> >
> > Android has been updated to use the new signature so this should no longer be needed
> >
> > Change-Id: Id745191e815381d032aba6a49bf4baf9c53b2385
> > Reviewed-on: https://skia-review.googlesource.com/9985
> > Reviewed-by: Derek Sollenberger <djsollen@google.com>
> > Commit-Queue: Robert Phillips <robertphillips@google.com>
> >
>
> TBR=djsollen@google.com,robertphillips@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I0211342b237373fe40d205bb18bbef5efce56bf3
> Reviewed-on: https://skia-review.googlesource.com/9946
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
>

TBR=djsollen@google.com,robertphillips@google.com,reviews@skia.org
# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Ia517aafc7c9c589d18c0e94699cad3f5acc0e941
Reviewed-on: https://skia-review.googlesource.com/10103
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoRemove texture sampling from GrConfigConversionEffect
Brian Osman [Thu, 23 Mar 2017 20:24:50 +0000 (16:24 -0400)]
Remove texture sampling from GrConfigConversionEffect

Re-land fixed version of https://skia-review.googlesource.com/c/10026/

BUG=skia:

Change-Id: I0754ffb72da2966eb57e5cd7ec818b1cdce84a74
Reviewed-on: https://skia-review.googlesource.com/10056
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoExtract 4f gradient interval functionality
Florin Malita [Thu, 23 Mar 2017 21:04:54 +0000 (17:04 -0400)]
Extract 4f gradient interval functionality

... into structures usable outside Sk4fGradient classes.

Change-Id: Ifffdbe8bafa4f027f2016ce71eefede6034dd3ae
Reviewed-on: https://skia-review.googlesource.com/10060
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoremove dead code in bitmapcache
Mike Reed [Thu, 23 Mar 2017 19:51:43 +0000 (15:51 -0400)]
remove dead code in bitmapcache

BUG=skia:

Change-Id: If17511179851ac192758f9d96092ff6dd7c60888
Reviewed-on: https://skia-review.googlesource.com/10055
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoadd experimental flag for downscaling
Mike Reed [Thu, 23 Mar 2017 20:24:20 +0000 (16:24 -0400)]
add experimental flag for downscaling

enabling SK_USE_MIP_FOR_DOWNSCALE_HQ makes raster more closely match ganesh

BUG=skia:

Change-Id: I0fad43d6259755f95ec918ae133915d87be2f0c4
Reviewed-on: https://skia-review.googlesource.com/10058
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoFind cubic KLM functionals directly
csmartdalton [Thu, 23 Mar 2017 19:38:45 +0000 (13:38 -0600)]
Find cubic KLM functionals directly

- Updates GrPathUtils to computes the KLM functionals directly instead
  of deriving them from their explicit values at the control points.
- Updates the utility to return these functionals as a matrix
  rather than an array of scalar values.
- Adds a benchmark for chopCubicAtLoopIntersection.

BUG=skia:

Change-Id: I97a9b5cf610d33e15c9af96b9d9a8eb4a94b1ca7
Reviewed-on: https://skia-review.googlesource.com/9951
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoSkBlurDrawLooper: Start by deleting flags
Matt Sarett [Thu, 23 Mar 2017 20:23:38 +0000 (16:23 -0400)]
SkBlurDrawLooper: Start by deleting flags

Android is the only user of this looper.  They never pass any flags.

BUG=skia:

Change-Id: I87b02ef7bc0ed94bca82637d60adddf34575a3e6
Reviewed-on: https://skia-review.googlesource.com/10057
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoImprove TaskEngine::wait_one().
Mike Klein [Thu, 23 Mar 2017 19:29:26 +0000 (15:29 -0400)]
Improve TaskEngine::wait_one().

This runs much faster.  Very good idea.

Change-Id: I088aa9588c069a17e4745be55c2397114ee8a2bc
Reviewed-on: https://skia-review.googlesource.com/10053
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRemove tests from blacklist for Vk AMD
Greg Daniel [Thu, 23 Mar 2017 17:45:48 +0000 (13:45 -0400)]
Remove tests from blacklist for Vk AMD

From recent changes these should now all pass.

BUG=skia:6396

Change-Id: I4423de1a192017794a732e5bb6eeef7ccc87407c
Reviewed-on: https://skia-review.googlesource.com/10048
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoReplace Thinkness with Thickness.
Ben Wagner [Thu, 23 Mar 2017 18:01:22 +0000 (14:01 -0400)]
Replace Thinkness with Thickness.

The FontMetricsFlags::kUnderlineThinknessIsValid_Flag has a typo in it.
Fortunately no user currently uses this enumeration value by name but
instead uses the getter so the name can be updated.

BUG=skia:6174

Change-Id: I810260d826482de1da8876cd9739d24b3bfb0f95
Reviewed-on: https://skia-review.googlesource.com/10050
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoRevert "Remove texture sampling from GrConfigConversionEffect"
Brian Osman [Thu, 23 Mar 2017 18:51:59 +0000 (18:51 +0000)]
Revert "Remove texture sampling from GrConfigConversionEffect"

This reverts commit 3bc9bfea5e31b697033e4f0e4c4e4710c34e0387.

Reason for revert: I broke something subtle.

Original change's description:
> Remove texture sampling from GrConfigConversionEffect
>
> BUG=skia:
>
> Change-Id: If5df087d3fe11098f468deab5f2fc8beb782cc83
> Reviewed-on: https://skia-review.googlesource.com/10026
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: Icca2f435b30512305f3e483689320a5930dc1467
Reviewed-on: https://skia-review.googlesource.com/10052
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agook
Mike Klein [Tue, 21 Mar 2017 17:14:33 +0000 (13:14 -0400)]
ok

Change-Id: I9d01656a9d9b7aa3ab352dd4c168b26da620a903
Reviewed-on: https://skia-review.googlesource.com/9978
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoadd test and fix for canvas::isClipEmpty
Mike Reed [Thu, 23 Mar 2017 16:34:15 +0000 (12:34 -0400)]
add test and fix for canvas::isClipEmpty

BUG=skia:

Change-Id: I4e57e0da7111e861fbae1b88574bc1803442243c
Reviewed-on: https://skia-review.googlesource.com/10046
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>

7 years agoMake SkGr.h GrTexture-free
Robert Phillips [Thu, 23 Mar 2017 15:11:59 +0000 (11:11 -0400)]
Make SkGr.h GrTexture-free

Minor cleanup.

Change-Id: Ide69516c686450e6441368382c86444da6a74937
Reviewed-on: https://skia-review.googlesource.com/9950
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoFix MSAN issue found by fuzzer in GrStencilSettings::operator==
Brian Salomon [Wed, 22 Mar 2017 21:50:08 +0000 (17:50 -0400)]
Fix MSAN issue found by fuzzer in GrStencilSettings::operator==

Change-Id: Iebe46b1ec79f7746631cf1836b896d1a39b30d08
Reviewed-on: https://skia-review.googlesource.com/10029
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoIn vulkan align data in buffer when copying to image
Greg Daniel [Wed, 22 Mar 2017 21:03:45 +0000 (17:03 -0400)]
In vulkan align data in buffer when copying to image

BUG=skia:

Change-Id: If99ba2797dfca547ce98cd9c1a1f1c234cf8791e
Reviewed-on: https://skia-review.googlesource.com/10027
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoOverride onImageInfo() in SkColorSpaceXformCanvas
Matt Sarett [Thu, 23 Mar 2017 14:45:04 +0000 (10:45 -0400)]
Override onImageInfo() in SkColorSpaceXformCanvas

Fixes the gamut gm in gbr modes and maybe others.

BUG=skia:

Change-Id: I341f8fe795860862158a823c99efddaa4478a3a7
Reviewed-on: https://skia-review.googlesource.com/10040
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoRemove texture sampling from GrConfigConversionEffect
Brian Osman [Thu, 23 Mar 2017 13:06:13 +0000 (09:06 -0400)]
Remove texture sampling from GrConfigConversionEffect

BUG=skia:

Change-Id: If5df087d3fe11098f468deab5f2fc8beb782cc83
Reviewed-on: https://skia-review.googlesource.com/10026
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoOnly perform SkSafeRef race detection if on android framework
Derek Sollenberger [Thu, 23 Mar 2017 12:54:08 +0000 (08:54 -0400)]
Only perform SkSafeRef race detection if on android framework

Change-Id: If524a02e916d711057d6f2102efb0404b1c0b988
Reviewed-on: https://skia-review.googlesource.com/10036
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoMake reference counted assignment check for races.
Derek Sollenberger [Wed, 22 Mar 2017 13:56:37 +0000 (09:56 -0400)]
Make reference counted assignment check for races.

If SkRefCnt_SafeAssign is erroneously invoked simultaneously by two
threads on the same destination, a likely outcome is that the
reference count of an object other than the replaced dst will
be decremented. This results in an extra reference count decrement,
which usually means that the final reference count decrement will
be applied to a random location in an object that has already been
reallocated.  This is exceedingly hard to debug.

We add a hack to detect such data races with sufficiently high
probability, so that such a data race bug should sometimes actually
generate bug reports that lend themselves to diagnosis.

We detect changes within a relatively larger range that normally
includes several (typically slow) memory fences.  Not all such changes
would provoke a crash. Even if we decrement the wrong reference count,
there's a chance we would decrement a dead location. Thus, to
avoid potentially adding instability, we currently only log.

This change tries to minimize additional runtime overhead.
The macro is only expanded a few dozen times, so we do not worry too
much about code size.

Bug: b/31227650
Change-Id: Ia40c9ed2c4d0fa578ea682fbec4b71a2ef22a5d1
Reviewed-on: https://skia-review.googlesource.com/9994
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoTurn on x86-specific code when building zlib.
Mike Klein [Thu, 23 Mar 2017 02:50:02 +0000 (22:50 -0400)]
Turn on x86-specific code when building zlib.

The zlib source we DEPS in for testing has been patched with x86
optimizations, some requring SSE2, some SSE4.2, and some PCLMULQDQ
(between SSE4.2 and AVX).

Might as well turn them on?

zlib actually boils everything down into one do-we-have-everything bit.
That's a little weird... I don't see any real reason not to use
fill_window_sse() on a machine with SSE2 but not SSE4.2.  Whatever.

While tweaking libpng settings is really where it's at to make PNG
encoding faster, this is kind of a nice little cherry on top.  Won't
help people who are using their own zlib, of course.

BUG=skia:6409

Change-Id: I459689069f7559365a66d0d29b33664907704d8e
Reviewed-on: https://skia-review.googlesource.com/10033
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoMake SkImageCacherator be deferred (take 2)
Robert Phillips [Thu, 23 Mar 2017 12:21:00 +0000 (08:21 -0400)]
Make SkImageCacherator be deferred (take 2)

Split out of: https://skia-review.googlesource.com/c/8823/ (Remove GrFragmentProcessor-derived class' GrTexture-based ctors)

This is a second pass at: https://skia-review.googlesource.com/c/9945/ (Make SkImageCacherator be deferred)

Change-Id: I3451383eed497d1235686e8961087859c7c7bd30
Reviewed-on: https://skia-review.googlesource.com/10034
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoRevert "Revert "Add support for writing icc profiles to the jpeg encoder""
Matt Sarett [Wed, 22 Mar 2017 21:52:47 +0000 (21:52 +0000)]
Revert "Revert "Add support for writing icc profiles to the jpeg encoder""

This reverts commit dda14b9b7ac13dba9214f484fc6270b3ccf4b68b.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Add support for writing icc profiles to the jpeg encoder"
>
> This reverts commit 4ef01482025e2e629e35458aa214436d3b4138e8.
>
> Reason for revert: This breaks the android autoroller.
>
> Original change's description:
> > Add support for writing icc profiles to the jpeg encoder
> >
> > Also, share the impl for skjpeg_error_mgr between the
> > jpeg decoder and encoder.  They are already identical
> > anyway.
> >
> > BUG=skia:
> >
> > Change-Id: I4d67f28126388fef3057d62b6e0b203e21ed4afb
> > Reviewed-on: https://skia-review.googlesource.com/10011
> > Reviewed-by: Leon Scroggins <scroggo@google.com>
> > Commit-Queue: Matt Sarett <msarett@google.com>
> >
>
> TBR=msarett@google.com,scroggo@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Change-Id: Idbb9918370e8384e39d6b7d1c3bcd9545ce4cfd1
> Reviewed-on: https://skia-review.googlesource.com/10017
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Commit-Queue: Derek Sollenberger <djsollen@google.com>
>

TBR=djsollen@google.com,msarett@google.com,scroggo@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: I9c1df3f497a9187ac017e464976fd8f0333bad0e
Reviewed-on: https://skia-review.googlesource.com/10030
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoConsolidate Linux GCE dimensions
Kevin Lubick [Wed, 22 Mar 2017 19:54:54 +0000 (15:54 -0400)]
Consolidate Linux GCE dimensions

It appears we were not setting the CPU for our Build
Tasks, which confused our capacity metrics.

BUG=skia:

Change-Id: I60cbe3b99b9de6865141f124df5618975bf65a05
Reviewed-on: https://skia-review.googlesource.com/10020
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoDisable msaa configs on Intel
Brian Salomon [Wed, 22 Mar 2017 20:51:30 +0000 (16:51 -0400)]
Disable msaa configs on Intel

Change-Id: Ia66fa9c27ca2e5b7193b727c30bc0cf836a51c6d
Reviewed-on: https://skia-review.googlesource.com/10023
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoDisable dual source blending on AMD vulkan.
Greg Daniel [Wed, 22 Mar 2017 20:25:53 +0000 (16:25 -0400)]
Disable dual source blending on AMD vulkan.

BUG=skia:6405

Change-Id: I63b60135f1562a4ce1f1a37b719aa01fc62d8790
Reviewed-on: https://skia-review.googlesource.com/9984
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
7 years agoAdd AMD work around in Vulkan to create a new secondary command buffer
Greg Daniel [Wed, 22 Mar 2017 19:45:43 +0000 (15:45 -0400)]
Add AMD work around in Vulkan to create a new secondary command buffer
whenever we change the VkPipeline. All these secondary CBs are still
submitted within one render pass.

This works around the amd bug linked in the bug below. It will probably
cause a slight performance hit, so I will track it on perf and revert if
the hit is significant.

BUG=skia:6406

Change-Id: I48ff39ab36cfa96a67397f745ff65fe8b199f02b
Reviewed-on: https://skia-review.googlesource.com/9987
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoRevert "Revert "Add a new GrResourceCache purging mechanism for purging unused resour...
Brian Salomon [Wed, 22 Mar 2017 18:53:13 +0000 (14:53 -0400)]
Revert "Revert "Add a new GrResourceCache purging mechanism for purging unused resources.""

This reverts commit 20c322ef0cd04cf8e2592879d05d9f4e6cb19596.

Change-Id: I6df9a8594484837672308dc2c21c7c29b76ffa2c
Reviewed-on: https://skia-review.googlesource.com/10013
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agofix round_asymmetric_to_int to also bias bottom and right
Lee Salzman [Tue, 14 Mar 2017 18:52:51 +0000 (14:52 -0400)]
fix round_asymmetric_to_int to also bias bottom and right

BUG=skia:6294

Change-Id: I1ee1031f1fb7cb035916e8945ce5396759955885
Reviewed-on: https://skia-review.googlesource.com/9700
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>

7 years agoAdd Swizzle FP, and remove swizzle logic from GrConfigConversionEffect
Brian Osman [Wed, 22 Mar 2017 18:37:50 +0000 (14:37 -0400)]
Add Swizzle FP, and remove swizzle logic from GrConfigConversionEffect

Trying to decompose read/writePixels into some reusable chunks.

BUG=skia:5853

Change-Id: If08b004b008e8ca7d464d9dc47068e487bae850a
Reviewed-on: https://skia-review.googlesource.com/10015
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoRevert "Add support for writing icc profiles to the jpeg encoder"
Derek Sollenberger [Wed, 22 Mar 2017 18:54:25 +0000 (18:54 +0000)]
Revert "Add support for writing icc profiles to the jpeg encoder"

This reverts commit 4ef01482025e2e629e35458aa214436d3b4138e8.

Reason for revert: This breaks the android autoroller.

Original change's description:
> Add support for writing icc profiles to the jpeg encoder
>
> Also, share the impl for skjpeg_error_mgr between the
> jpeg decoder and encoder.  They are already identical
> anyway.
>
> BUG=skia:
>
> Change-Id: I4d67f28126388fef3057d62b6e0b203e21ed4afb
> Reviewed-on: https://skia-review.googlesource.com/10011
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>

TBR=msarett@google.com,scroggo@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: Idbb9918370e8384e39d6b7d1c3bcd9545ce4cfd1
Reviewed-on: https://skia-review.googlesource.com/10017
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>

7 years agoFix SkTArray operator= to work with self assignment
Greg Daniel [Wed, 22 Mar 2017 17:33:21 +0000 (13:33 -0400)]
Fix SkTArray operator= to work with self assignment

BUG=skia:

Change-Id: I2a403a7ccbb87a030757f3e57d2ea53503f72512
Reviewed-on: https://skia-review.googlesource.com/10012
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoInit Command buffer on inlineUploads in Vulkan
Greg Daniel [Tue, 21 Mar 2017 20:56:31 +0000 (16:56 -0400)]
Init Command buffer on inlineUploads in Vulkan

When the first thing we do in a GrGpuCommandBuffer is do an inlineUpload,
we need to make sure we've initialized the command buffer in Vulkan.

BUG=skia:

Change-Id: Iabee770864a61697c55fb1df18b31862d8df3cdc
Reviewed-on: https://skia-review.googlesource.com/9970
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoRevert "Make SkImageCacherator be deferred"
Robert Phillips [Wed, 22 Mar 2017 18:13:37 +0000 (18:13 +0000)]
Revert "Make SkImageCacherator be deferred"

This reverts commit 801f8b824fee6397422e47537f0f13034ac54ce6.

Reason for revert: Failures on Tegra3-based Android devices (so, npot issues)

Original change's description:
> Make SkImageCacherator be deferred
>
> Split out of: https://skia-review.googlesource.com/c/8823/ (Remove GrFragmentProcessor-derived class' GrTexture-based ctors)
>
> Change-Id: I16cf0aea9d887e5ebe053e9b5c94a970dc254beb
> Reviewed-on: https://skia-review.googlesource.com/9945
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ib143ef86cfad4a221e25145679ba7e48f6f7f3ba
Reviewed-on: https://skia-review.googlesource.com/9949
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoGM: some header cleanup
Mike Klein [Wed, 22 Mar 2017 17:47:51 +0000 (13:47 -0400)]
GM: some header cleanup

gm.h includes sk_tool_utils.h but does not use it.

The bulk of this CL makes each gm that uses sk_tool_utils include it.

sk_tool_utils.h also provided SkRandom and SkTDArray,
so a couple GMs add those headers too.

Change-Id: Ieb2a7c542f0ca89c3223f744fc11b0ff37af36c1
Reviewed-on: https://skia-review.googlesource.com/10014
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoAdd support for writing icc profiles to the jpeg encoder
Matt Sarett [Wed, 22 Mar 2017 16:53:27 +0000 (12:53 -0400)]
Add support for writing icc profiles to the jpeg encoder

Also, share the impl for skjpeg_error_mgr between the
jpeg decoder and encoder.  They are already identical
anyway.

BUG=skia:

Change-Id: I4d67f28126388fef3057d62b6e0b203e21ed4afb
Reviewed-on: https://skia-review.googlesource.com/10011
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoMake SkImageCacherator be deferred
Robert Phillips [Wed, 22 Mar 2017 16:21:03 +0000 (12:21 -0400)]
Make SkImageCacherator be deferred

Split out of: https://skia-review.googlesource.com/c/8823/ (Remove GrFragmentProcessor-derived class' GrTexture-based ctors)

Change-Id: I16cf0aea9d887e5ebe053e9b5c94a970dc254beb
Reviewed-on: https://skia-review.googlesource.com/9945
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agopath hang
Cary Clark [Tue, 21 Mar 2017 20:11:54 +0000 (16:11 -0400)]
path hang

In release, path hangs because buffers overflow.
Debug shows that the clipped cubic generates 34 points although
a maximum of 32 are expected.

The path has very small numbers that fool MaxCurvature into
thinking that there are more places to break the cubic than
are necessary.

To make this bullet-proof, increase the verbs and points.

Allow (1 line + 1 cubic) * (3 x-pieces) * (3 y-pieces) == 18 verbs.
Allow (6 points for line + cubic + line) * 9 pieces    == 54 points.

R=reed@google.com,liyuqian@google.com
BUG=698714

Change-Id: I04fad10c151c79d0c53465a2b658aa4dd59f1c98
Reviewed-on: https://skia-review.googlesource.com/9983
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>

7 years agoSupport premul/unpremul of F16 during read/writePixels
Brian Osman [Wed, 22 Mar 2017 14:57:00 +0000 (10:57 -0400)]
Support premul/unpremul of F16 during read/writePixels

Added PremulOutput and UnpremulOutput FP helpers. These are used
(rather than GrConfigConversionEffect) when working with FP16
textures (and will also be used for other configs that can't be
round-tripped via rounding).

BUG=skia:5853

Change-Id: I101592c26c4f0b379d5e5a8678ef7b2f08e6ad56
Reviewed-on: https://skia-review.googlesource.com/9980
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoFurther widen nondeterministic processor testing
Brian Osman [Wed, 22 Mar 2017 15:37:23 +0000 (11:37 -0400)]
Further widen nondeterministic processor testing

Add in all Windows and Mac bots

BUG=skia:6395

Change-Id: Ib0d2b36330a44c7cb04833fad6d55b3aa884aafe
Reviewed-on: https://skia-review.googlesource.com/10007
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoRevert "Add support for writing icc profiles to the jpeg encoder"
Derek Sollenberger [Wed, 22 Mar 2017 16:19:49 +0000 (16:19 +0000)]
Revert "Add support for writing icc profiles to the jpeg encoder"

This reverts commit e3b95ce468c73af8247ba9582a7b84548b19f06a.

Reason for revert: This is breaking the Android auto roller.

Original change's description:
> Add support for writing icc profiles to the jpeg encoder
>
> Also, share the impl for skjpeg_error_mgr between the
> jpeg decoder and encoder.  They are already identical
> anyway.
>
> BUG=skia:
>
> Change-Id: I029312406dee8734744cc3058acd1f153aefcd83
> Reviewed-on: https://skia-review.googlesource.com/9971
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>

TBR=msarett@google.com,scroggo@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: I05fb02610dbf4d9475f158d876d6495b0f7e9db4
Reviewed-on: https://skia-review.googlesource.com/10009
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>

7 years agoMark overridden destructors with 'override' and remove 'virtual'
Brian Salomon [Wed, 22 Mar 2017 16:05:03 +0000 (12:05 -0400)]
Mark overridden destructors with 'override' and remove 'virtual'

This silences a new warning in clang 5.0

Change-Id: Ieb5b75a6ffed60107c3fd16075d2ecfd515b55e8
Reviewed-on: https://skia-review.googlesource.com/10006
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRemove SkImage_Base::asTextureRef (in favor of asTextureProxyRef)
Robert Phillips [Wed, 22 Mar 2017 14:31:11 +0000 (10:31 -0400)]
Remove SkImage_Base::asTextureRef (in favor of asTextureProxyRef)

Minor consolidation/clean-up

Change-Id: I9f8ba794cfb95b33dd60ada0e734ddd2f5f21710
Reviewed-on: https://skia-review.googlesource.com/9947
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoImprove color type handling in SkImage_Base::makeColorSpace()
Matt Sarett [Wed, 22 Mar 2017 14:07:50 +0000 (10:07 -0400)]
Improve color type handling in SkImage_Base::makeColorSpace()

Color space xforms  with Alpha8 images are no-ops.
Other xforms should use 8888 as dst color type.

BUG=skia:

Change-Id: Iede3d94d23c8f4c3dabdaa5450af7b5bfff8d24f
Reviewed-on: https://skia-review.googlesource.com/9996
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agotest (and fix) clip_restriction in canvas
Mike Reed [Wed, 22 Mar 2017 14:01:53 +0000 (10:01 -0400)]
test (and fix) clip_restriction in canvas

BUG=skia:

Change-Id: I86d25d0fd82be35d01471fba59f77b360be5373c
Reviewed-on: https://skia-review.googlesource.com/9995
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>

7 years agoRevert "Add a new GrResourceCache purging mechanism for purging unused resources."
Brian Salomon [Wed, 22 Mar 2017 14:59:02 +0000 (14:59 +0000)]
Revert "Add a new GrResourceCache purging mechanism for purging unused resources."

This reverts commit fbb56ce83fc717b7c6722324bbccd1ae73c350a4.

Reason for revert: Chrome's ancient libstdc++ doesn't like use of steady_clock

Original change's description:
> Add a new GrResourceCache purging mechanism for purging unused resources.
>
> The client may call GrContext::purgeResourceNotUsedSince() with a stead_clock::time_point and all resources that have been purgeable since before that time point are purged.
>
> This is intended to replace the "max unused flushes" purging mechanism once Chrome adopts it.
>
> Change-Id: I28881dd2959cc01c0acca81b2d6001ee5626439d
> Reviewed-on: https://skia-review.googlesource.com/8920
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Eric Karl <ericrk@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com,ericrk@google.com,reviews@skia.org,ericrk@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I3baa3b2e80302315b757d4d625732459e13795d4
Reviewed-on: https://skia-review.googlesource.com/10004
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoAdd a new GrResourceCache purging mechanism for purging unused resources.
Brian Salomon [Wed, 22 Mar 2017 14:04:27 +0000 (10:04 -0400)]
Add a new GrResourceCache purging mechanism for purging unused resources.

The client may call GrContext::purgeResourceNotUsedSince() with a stead_clock::time_point and all resources that have been purgeable since before that time point are purged.

This is intended to replace the "max unused flushes" purging mechanism once Chrome adopts it.

Change-Id: I28881dd2959cc01c0acca81b2d6001ee5626439d
Reviewed-on: https://skia-review.googlesource.com/8920
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Eric Karl <ericrk@google.com>
7 years agoSmall downsample_3_3 optimization
Matt Sarett [Wed, 22 Mar 2017 13:20:02 +0000 (09:20 -0400)]
Small downsample_3_3 optimization

Just a little less math...

mipmap_build_2047x2047_0_gamma
Before: 15.8ms
After:  13.4ms

Hard to see much difference on the gamma correct
mips, which are more dominated by load time.

BUG=skia:

Change-Id: I978cbc85a7d75cfcca2d5cd3fbc75e93413782f2
Reviewed-on: https://skia-review.googlesource.com/9988
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoSkia Gerrit 10k!
Ravi Mistry [Wed, 22 Mar 2017 14:22:04 +0000 (10:22 -0400)]
Skia Gerrit 10k!

BUG=skia:
NOTRY=true

Change-Id: I37876c6f62c85d0532b22dcf8bea8b4e7f4147c0
Reviewed-on: https://skia-review.googlesource.com/10000
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
7 years agoRevert "Remove Android-specific SK_SUPPORT_LEGACY_IMG_SNAPSHOT flag"
Robert Phillips [Wed, 22 Mar 2017 14:18:02 +0000 (14:18 +0000)]
Revert "Remove Android-specific SK_SUPPORT_LEGACY_IMG_SNAPSHOT flag"

This reverts commit c3efe6785666cdd13848e63f36fdadca26c48649.

Reason for revert: RenderNodeDrawableTests.cpp

Original change's description:
> Remove Android-specific SK_SUPPORT_LEGACY_IMG_SNAPSHOT flag
>
> Android has been updated to use the new signature so this should no longer be needed
>
> Change-Id: Id745191e815381d032aba6a49bf4baf9c53b2385
> Reviewed-on: https://skia-review.googlesource.com/9985
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
>

TBR=djsollen@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I0211342b237373fe40d205bb18bbef5efce56bf3
Reviewed-on: https://skia-review.googlesource.com/9946
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoAdd support for writing icc profiles to the jpeg encoder
Matt Sarett [Tue, 21 Mar 2017 20:14:42 +0000 (16:14 -0400)]
Add support for writing icc profiles to the jpeg encoder

Also, share the impl for skjpeg_error_mgr between the
jpeg decoder and encoder.  They are already identical
anyway.

BUG=skia:

Change-Id: I029312406dee8734744cc3058acd1f153aefcd83
Reviewed-on: https://skia-review.googlesource.com/9971
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoRemove Android-specific SK_SUPPORT_LEGACY_IMG_SNAPSHOT flag
Robert Phillips [Tue, 21 Mar 2017 20:50:16 +0000 (16:50 -0400)]
Remove Android-specific SK_SUPPORT_LEGACY_IMG_SNAPSHOT flag

Android has been updated to use the new signature so this should no longer be needed

Change-Id: Id745191e815381d032aba6a49bf4baf9c53b2385
Reviewed-on: https://skia-review.googlesource.com/9985
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoMake SkImage_Gpu be deferred (take 2)
Robert Phillips [Tue, 21 Mar 2017 20:22:00 +0000 (16:22 -0400)]
Make SkImage_Gpu be deferred (take 2)

This CL removes the GrTexture-based ctor forcing everyone to create deferred SkImage_Gpus.

relanding of: https://skia-review.googlesource.com/c/6680/ (Make SkImage_Gpu be deferred)

split out into:
https://skia-review.googlesource.com/c/9106/ (Remove atlas creation from GrResourceProvider)

Change-Id: I834ede430b9706cf9b675bdfdddf1c8c624c2f14
Reviewed-on: https://skia-review.googlesource.com/9965
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoRevert "Revert "Remove GrPipeline from GrDrawOp.""
Brian Salomon [Tue, 21 Mar 2017 18:22:38 +0000 (14:22 -0400)]
Revert "Revert "Remove GrPipeline from GrDrawOp.""

This reverts commit c48af934608bbb65650641f66adb51f2102d4274.

Change-Id: I4ba78fd7e5a7d406b88223ca6f7245c029b60f76
Reviewed-on: https://skia-review.googlesource.com/9981
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>