Commit Graph

41098 Commits

Author SHA1 Message Date
Michael Ludwig
c47e81bdd7 Do not lose existing paint shaders when drawing alpha images
This fixes the case where SkBitmapDevice or SkDraw falls back to use an SkShader
to draw the image. Previously it just assigned a new shader to a paint clone,
which worked fine with color images that are defined to ignore any set shader.
However, with alpha images it would overwrite the effect. This changes it to
compose the image shader with the original shader.

It fixes the behavior of GMs bleed_alpha_image_shader, bleed_alpha_bmp_shader,
and alpha_image.

Bug: skia:
Change-Id: Iaf0552ddb9991dd8d414b76f625a45cd167b7070
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/190677
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-04-02 20:01:14 +00:00
recipe-roller
58f9950a45 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/e30d05137000c2f1ab463b394734c7faaa8cf447 roll_dep: update blacklist with new recipe roller. (tandrii@chromium.org)
  https://crrev.com/c1e4405da985a39e4211b999c19b00fb12c5b2ae Revert "git cl status: differentiate "dry-run" from generic "commit"." (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2a4da37dd986bd3d182096b20cd7661e515525dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205583
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-04-02 19:53:34 +00:00
Mike Klein
71c0e94220 We don't actually use thesee extensions with GLES
Bug: skia:8946
Change-Id: If0ed9aa440b5927d3fe2efb1698044d88afc4c62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205581
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-02 19:30:34 +00:00
Brian Salomon
7044f4ac7f Revert "Inset blur domain a tiny bit to prevent certain GPUs from sampling transparent black from scratch textures."
This reverts commit 730c53ae3c.

Reason for revert: Requires Layout Test suppressions.

Original change's description:
> Inset blur domain a tiny bit to prevent certain GPUs from sampling transparent black from scratch textures.
> 
> When running Skia GPU blur on an iPhone X, I noticed a bit a of transparency seeping into my clamped blur on the right and/or bottom edges of certain-sized rectangular blurs with large blur radii.
> 
> I could only repro this on an iPhone X; I couldn't repro on a retina Macbook Pro or a 1x external screen.
> 
> I think the iPhone X GPU is rounding the sampling coordinate a little differently than most other GPUs or there's some floating point error involved in the shader that makes it sample pixels outside of the desired blur domain. Since the blur source is inside a scratch texture filled with transparent black, some undesirable transparent black gets pulled in when we're decimating and blurring the source.
> 
> Bug: https://bugs.chromium.org/p/skia/issues/detail?id=8942
> 
> Change-Id: Iff28c3ee5d069c6999a831d4b156a650be3a9eb8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205208
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,mvujovic@adobe.com

Change-Id: I3b35965183e47b69167bb8763c433685c30e286a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://bugs.chromium.org/p/skia/issues/detail?id=8942
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205585
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-04-02 19:24:26 +00:00
Mike Klein
2292426cb1 add skottie support to fm
Draws the same as DM.

Change-Id: I741655786c3345dfd824438f9dcaca0d5046b197
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205493
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-04-02 19:14:44 +00:00
Mike Klein
a5c27173ea allow skipped source/backend pairs in fm
GMs sometimes want to skip instead of drawing or failing.
E.g. GPU-only GMs with a non-GPU backend.

Change-Id: I5bd8acecbef1aa88b4d7e6cfb88dfde04424aa8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205349
Reviewed-by: Mike Klein <mtklein@google.com>
2019-04-02 19:08:44 +00:00
Jim Van Verth
f16e0744d0 Fix some more Metal and iOS leaks
Bug: skia:8243
Change-Id: I2b9a4cd898bbb665dc250c2310311cdcdd75d064
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205497
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-04-02 19:05:04 +00:00
Brian Osman
29c8808ef6 Initialize renderability in GrMockOptions
Change-Id: I30a042a41991a47ff1a4e008b88431b4767453dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205496
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-02 19:00:28 +00:00
Greg Daniel
ab79ff989e Remove read access flags from src of memory barriers.
The src access flags on memory barriers are used to make writes to a specific
memory location by a specific agent and reference object available to the
entire domain (device in this case). When the previous operation done on a
reference was a read, we don't not need to make changes to that memory available.

Bug: skia:8933
Change-Id: I756b391f02cb8bf47bbe386a0b9e3b7ba788098e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204960
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-04-02 18:41:47 +00:00
Robert Phillips
ce0a2bf678 Add tracking of work to GrVkCommandBuffer
Change-Id: I504e93e2031df0d31f960f04dba079478493f06f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205485
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-04-02 18:08:58 +00:00
Brian Osman
47ba54d382 Remove samples that aren't built
Change-Id: Ied09d28149cdb38ab1b4a4b704c993a726324220
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205488
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-02 18:07:18 +00:00
Mike Klein
16b1efb871 allow GMs to fail in DM
And mark atlastext as GPU-only, so it's skipped instead
of running and failing on non-GPU --configs.

Change-Id: I9b41873bed14e20f2e086a04f57b247994e9266e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205347
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-04-02 17:46:26 +00:00
Brian Osman
f7cdb682bd Remove redundant setup code in readSurfacePixels
Change-Id: I78fe9ad9ac6a617d0f060d92262ddfe661aa06c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205487
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-02 17:37:16 +00:00
Jim Van Verth
ffacf656c8 Updates to iOS build
* Enable data bundling for all test apps unless specifically disabled.
* Add support to bundle symbols so that the stack trace in Instruments
  is correct.

Bug: skia:7525
Change-Id: I5eef9fa21ecee8f790b0736f5e23c9d678e47bef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205001
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-04-02 17:24:46 +00:00
Herb Derby
8341568629 Refactor main GPU glyph decisions
Change-Id: If36d53ab14b359b54f002c89557b9052087a584f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205304
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-02 16:14:56 +00:00
Mike Klein
f2d9b865d7 Add basic fm_bot script
This handles batching and things like figuring out "skps" means "all the
files under the directory skps", "gms" means "all the GMs linked into
fm", etc.

You can set up one job on the command line, or any number of them
with a -script file, e.g.

    ~/skia (fm-bot↑1|●1…) $ cat fm.script
    gms b=cpu w=foo/8888
    gms b=cpu w=foo/565  ct=565
    skps b=gl w=foo/msaa4-skps samples=4

Change-Id: I878c623bfc8673f04b4effa247bc850c0258a89b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204582
Reviewed-by: Brian Osman <brianosman@google.com>
2019-04-02 15:51:04 +00:00
Brian Osman
4428f2c39f Remove SkScalarSinCos
This differed from the separate versions in that it snapped to zero.
It was also strictly worse than calling the two separate versions.
Most clients don't need the snapping, so just call the two existing
functions. For clients that need the snapping, call new variants of
each that do snap.

Change-Id: Ia4e09fd9651932fe15caeab1399df7f6281bdc17
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205303
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-04-02 15:46:57 +00:00
Brian Salomon
08261b49a8 Make GrVkGpuCommandBuffer::CopyInfo hold source as pending read.
Bug: skia:8927
Change-Id: Iae9f6fe215705c94bc2a701c38c989204fdd55e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205481
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2019-04-02 15:42:46 +00:00
Mike Reed
7dafb09df6 add mtklein to api approvals
Change-Id: Ic6f86f615d046b7afdc8bd2fe21d76024d800613
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205348
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-04-02 15:16:56 +00:00
Mike Klein
556ef6ec76 remove SkColorFilter::onMakeComposed()
No implementations remain.

Change-Id: I569d2ca9c69df27228a33dd433790c6c06aebe08
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205340
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-04-02 15:01:31 +00:00
Mike Reed
9b2c4e94e2 remove double compose: lerp and mode
Bug: skia:8937
Change-Id: I5b890c03b0451afe4cbeb6a264798ebbb09b9888
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205346
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-04-02 14:56:27 +00:00
Ben Wagner
3bdb69c55f Clean up shaper handler.
Change-Id: Icb741ba9013747528e893c94df3b9242562028ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205341
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-04-02 14:56:26 +00:00
Florin Malita
3d846c98ca [skottie] Initial gradient ramp effect support
Implement gradient ramp using SG shader effects.

A couple of quirks:

- since the gradient type (linear/radial) is animatiable (?!),
  update sksg::ShaderEffect to allow resetting the shader

- gradient ramp doesn't have an assigned/stable JSON effect type,
  but the data is present; introduce a name-based effect lookup method
  (used as a fallback when the type is not recognized)


Change-Id: I02bbd6c75c3af175b64c1df502aa52b7c0875162
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205342
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-04-02 14:24:56 +00:00
Max Vujovic
730c53ae3c Inset blur domain a tiny bit to prevent certain GPUs from sampling transparent black from scratch textures.
When running Skia GPU blur on an iPhone X, I noticed a bit a of transparency seeping into my clamped blur on the right and/or bottom edges of certain-sized rectangular blurs with large blur radii.

I could only repro this on an iPhone X; I couldn't repro on a retina Macbook Pro or a 1x external screen.

I think the iPhone X GPU is rounding the sampling coordinate a little differently than most other GPUs or there's some floating point error involved in the shader that makes it sample pixels outside of the desired blur domain. Since the blur source is inside a scratch texture filled with transparent black, some undesirable transparent black gets pulled in when we're decimating and blurring the source.

Bug: https://bugs.chromium.org/p/skia/issues/detail?id=8942

Change-Id: Iff28c3ee5d069c6999a831d4b156a650be3a9eb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205208
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-04-02 14:11:56 +00:00
Brian Osman
215da624d1 Revert "Remove the NullGL interface (and associated test context)"
This reverts commit de206c75c2.

Reason for revert: Chrome is having issues with the switch to Mock in blink tests.

Original change's description:
> Remove the NullGL interface (and associated test context)
> 
> Bug: skia:
> Change-Id: Ie3c9ee39fc1e0a4406de085c60d8433ffb4419df
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203708
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com

Change-Id: Iff0cbf29dcea26957efc800a8c33d0ad8285de0a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205343
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-02 12:48:37 +00:00
Mike Reed
8e6aa55daa remove asComponentTable introspection method
Bug: skia:8941
Change-Id: I29d5a786987a517eff7ad50d92286e9a7edf3d2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205268
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-04-02 12:41:36 +00:00
Leon Scroggins III
70d8f4f3ac SkWuffsCodec: Use drawing to do color correction and scaling
Bug: skia:8235 (Wuffs)
Bug: skia:8751 (Color correction)
Bug: skia:8762 (565)

This was brought up in https://skia-review.googlesource.com/c/skia/+/171645/1/src/codec/SkWuffsCodec.cpp#499
Remove the SkSwizzler and code that supports it (e.g.
SkWuffsSpySampler). In its place, use an SkDraw and draw from Wuffs'
working buffer into the output pixel memory. This trivially allows
support for 565 and f16, while removing the blend function that was
8888 specific. The draw operation also takes care of color correction
and allows arbitrary downscaling.

Add the intermediate subclass SkScalingCodec, to share methods between
SkWebpCodec and SkWuffsCodec.

Allowing arbitrary scaling from an SkCodec subclass is a bit of a break
from an original goal of SkCodec, which was to only do what the
underlying format supports naturally. Otherwise a client could just use
Skia to do effectively the same thing in a layer above SkCodec. (e.g.
jpegs can be downscaled by throwing away information during decode,
which libjpeg(-turbo) will do as requested. But gifs don't scale down
naturally in the same way, so SkGifCodec did not support downscaling
except when used with SkAndroidCodec.) But SkCodec has already deviated
from this goals in two ways. With SkAndroidCodec, sampling is done
inside SkGifCodec (and others) in order to save on memory allocation (we
can sample on a single line without allocating memory for the full size
image at its original size). (Note that this memory is not saved anyway
in SkWuffsCodec, because wuffs has its own image buffer.) The second
deviation is color correction, which could also be done in a layer
outside SkCodec. Since SkCodec is already doing this extra work,
simplify it.

Change-Id: If9a1698e0c353f60250aef5b6229855e6538a42d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/194186
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Nigel Tao <nigeltao@google.com>
2019-04-02 12:37:56 +00:00
recipe-roller
d962070feb Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/3c830222aedad072e0ee6c9feb55214cc24b36f1 git cl status: differentiate "dry-run" from generic "commit". (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Idbcbd14040ded6214638c45daa486265c654def5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205380
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-04-02 06:55:15 +00:00
skia-recreate-skps
b3fd67ac36 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: Ice97288f5a2d1a10d4442acdb010e8ca191098ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205025
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-02 05:50:25 +00:00
skia-autoroll
f40addbcc8 Roll third_party/externals/angle2 3115a0fc17fa..6cb0cff57376 (9 commits)
3115a0fc17..6cb0cff573


git log 3115a0fc17fa..6cb0cff57376 --date=short --no-merges --format='%ad %ae %s'
2019-04-02 syoussefi@chromium.org Add a test for masked/scissored multi-attachment clear
2019-04-01 jmadill@chromium.org Add a presubmit builder.
2019-04-01 geofflang@chromium.org Add missing copyTexture functions in TextureNULL.
2019-04-01 jacek@codeweavers.com Correct case for includes.
2019-04-01 jonahr@google.com Ignore flaky failures from ANGLE's dEQP deps on Win/Linux/Mac.
2019-04-01 syoussefi@chromium.org Vulkan: Clear DS through render pass even if color is masked
2019-04-01 ynovikov@chromium.org Mark vertex attributes dirty during context switches
2019-04-01 jmadill@chromium.org Update texure cache after teleting bound texture.
2019-04-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src fcb845310450..320a7de5c9a5 (1 commits)


Created with:
  gclient setdep -r third_party/externals/angle2@6cb0cff57376

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=jlavrova@google.com

Change-Id: Ic866b8489a247bb402063c83e5bfe00339e6f932
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205365
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-02 04:58:45 +00:00
skia-autoroll
d9e660b6a9 Roll ../src e01c3e081ff3..b3f3a36219a1 (475 commits)
e01c3e081f..b3f3a36219


Created with:
  gclient setdep -r ../src@b3f3a36219

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=jlavrova@google.com

Change-Id: I9b0b39ff752738435991f11e40addd2bdc755bd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205364
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-02 04:54:45 +00:00
skia-autoroll
1acf79a3e5 Roll third_party/externals/swiftshader 52a67b6495ce..459453a96257 (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/52a67b6495ce..459453a96257


git log 52a67b6495ce..459453a96257 --date=short --no-merges --format='%ad %ae %s'
2019-04-01 capn@google.com Eliminate Intermediate::replace()
2019-04-01 capn@google.com Elide single basic block variable materialization
2019-04-01 capn@google.com Avoid Array<> assignment
2019-04-01 capn@google.com Implement missing Short8 assignment operators
2019-04-01 bclayton@google.com Common: Document sw::Resource


Created with:
  gclient setdep -r third_party/externals/swiftshader@459453a96257

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=jlavrova@google.com

Change-Id: I5da8cdd573595bf7dcd8c13b2c0fc9c6a5cee598
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205366
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-02 04:35:55 +00:00
Mike Reed
3f6a2ac636 remove unneeded asACompose
Bug: skia:8941
Change-Id: I020d5c00f18527ef3564a72a55d3326d647006ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205302
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-04-01 20:50:03 +00:00
Brian Osman
b27667a15a Remove ToolUtils::write_pixels
Change-Id: If5463ea352e4c8ec6cbb1e07cc9e461504d06b37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205300
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-04-01 20:24:55 +00:00
Nathaniel Nifong
036503b07e Include wasm debugger in continuous build part 2
Merge branch 'master' of https://skia.googlesource.com/skia into buildwasm


Two-part commit required, compile.sh changes first.


needed hashbang line to run in docker


Include wasm debugger in continuous build

Bug: skia:
Change-Id: I378bff703bdf884ca4da266d00069405ed8613d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205266
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2019-04-01 19:51:43 +00:00
Ben Wagner
1e08a7cbc4 Expose basic shaper iterators.
Change-Id: I1b4a04a296df6830c50461a891725b48a2defbd9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204261
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-04-01 19:42:53 +00:00
Mike Reed
e852427f1a mark introspection methods as deprecated
Bug: skia:8941
Change-Id: Ibf2269787540df699e56f5241c2f5d2852616ff0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205267
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-04-01 19:39:43 +00:00
Michael Ludwig
dcfbe32b21 Add geometry domain for non-rectilinear quads
Bug: chromium:947055
Change-Id: Ic110a1c4e83af0a8efa47ebf2dd035dfdb0e7af0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204725
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-04-01 19:27:23 +00:00
Chris Dalton
1d460d0ffe Fix mkdir_p in skpbench
We were crashing when trying to write an image on android.

Bug: skia:
Change-Id: Id8a4e07ea2385838e122291530710e2e4e74dd8d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205209
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-04-01 19:19:23 +00:00
Nathaniel Nifong
63f8e0a3a9 Include wasm debugger in continuous build
Bug: skia:
Change-Id: Ic51ef5706bff66482127e648f2cb9ca0826ef4ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205260
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-04-01 18:50:13 +00:00
Florin Malita
fb4bce8322 [sksg] Refactor gradient implementation
Currently, gradients are PaintNode subclasses - which limits their
applicability to leaf DAG nodes.

In order to support generalized gradient/shader effects:

  * introduce a new Shader base class
  * refactor gradients as Shader subclasses
  * introduce ShaderPaint (to support current Gradient-as-paint use)
  * introduce ShaderEffect (to support future Gradient-as-effect use)

Tangentially:

  * rename SkSGPaintNode.h -> SkSGPaint.h
  * consolidate sksg::Color into SkSGPaint.h

Change-Id: I94ba949f4504c09cfde4a4f030d927411fdd66a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205263
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-04-01 18:43:43 +00:00
Ben Wagner
f23ff10eb2 Cache data stream for CG typefaces.
CoreGraphics requires a full data copy for all operations involving font
tables or data. As a result, cache the font data stream either from font
creation or from when reconstructing the font stream from cg. This greatly
increases the speed and decreases memory use in common use cases with
variable fonts and shaping.

Change-Id: Ife0646987268cb7be3f56ba9c2aa2b62cb3777d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204720
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-04-01 18:29:23 +00:00
Brian Salomon
b916b7b227 GrBackendTextureImageGenerator proxy callback uses unique key to find existing GrTexture.
This removes a case where we can get the first ref on a GrGpuResource outside of
GrResourceCache.

Bug: skia:8927
Change-Id: I4068aff2f91a2e11ada059f4ef406a620140319b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204770
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-04-01 18:07:23 +00:00
Robert Phillips
acc10fa32b Make prepareSurfaceForExternalIO always flush
This probably isn't a huge change from current behavior but, short-term, could introduce some additional flushes.

The long-term plan is to update the drawing manager to perform partial flushes (i.e., flush only the portion of the DAG required for the target proxy) at which point performance should actually be better than the current situation (in which the entire DAG is flushed if there is any pendingIO on the target proxy).

Change-Id: I3270474344c7f982f97cf5087b2c85691bdc31d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205000
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-01 17:31:58 +00:00
Brian Salomon
5fd105778e Make GrVkGpuRTCommandBuffer::CommandBufferInfo hold textures by pending read.
Bug: skia:8927
Change-Id: I437bc2ad99248fba4b5dccfd01a5c499ce80cd31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205261
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-04-01 17:27:13 +00:00
Ravi Mistry
ef6c1742b1 Remove 4 page sets that are not useful as SKPs
After this lands we will have 50 SKPs in our repository. We can now
institute an "if we add one we have to delete another one rule".

NoTry: true
Bug: skia:8653
Change-Id: I4da8d2c2ce312878bfe8ac0c6bc2f7dc4711bb85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205262
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-04-01 17:26:54 +00:00
Brian Salomon
b6a3a3b245 Make lazy proxies have 2 modes for proxy/surface key management.
kSynced: Proxy and GrSurface key kept in sync.

kUnsynced: Proxy and GrSurface keys are unrelated.

This will allow cross-context image generators' lazy instantiation
callbacks to use unique keys to find any pre-existing backing GrTexture
rather than keeping an unref'ed bare pointer to the GrTexture.

Bug: skia:8927

Change-Id: Id15e2a64e8d2e56c4ce70b9399eb1d8bcea6ac9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204723
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-04-01 17:16:43 +00:00
Brian Osman
de206c75c2 Remove the NullGL interface (and associated test context)
Bug: skia:
Change-Id: Ie3c9ee39fc1e0a4406de085c60d8433ffb4419df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203708
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-01 14:56:23 +00:00
Mike Klein
ce90d6f088 more opinionated file loading in fm
Only try to parse .skp files as SkPictures, only .svg
files as SVG, and only try to parse any given file once.

This cleans up error logging from, e.g., trying to
parse a .jpg as an .svg.  Sometimes even asserts.

Change-Id: Ibfab76e201eb273107b96fcbd3af94d397862291
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204882
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-04-01 14:10:13 +00:00
Robert Phillips
73cc4e8d5f Temporarily restore old behavior of read/writeSurfacePixels
In the interest of only changing one thing at a time, this should fix the putImageData perf regression in Chrome. It will be followed up by a CL to change prepareSurfaceForExternalIO to always flush (which could have a different perf impact).

On Chrome's putImageData benchmark we get:

w/o this CL: avg 293.1247823176651 runs/s
w/  this CL: avg 374.8427288397461 runs/s

Bug: 942538
Change-Id: I9b9bc752532890f4313a45e5a6aa34b915d5e43d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205003
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-01 13:35:57 +00:00