Commit Graph

50243 Commits

Author SHA1 Message Date
skia-autoroll
d2f4008a52 Roll dawn from 076a4e58205d to fa4b74d479aa (2 revisions)
https://dawn.googlesource.com/dawn.git/+log/076a4e58205d..fa4b74d479aa

2020-08-05 rharrison@chromium.org Remove temporary disabling of validation check
2020-08-05 tommek@google.com Fixing linear texture data validation on bytesPerRow

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: cwallez@google.com
Change-Id: I54ce5e09580cf2a3e26d5eb53bafb43f29ff553f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308397
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-06 04:33:36 +00:00
Herb Derby
b72037527f Revert "Switch GN defs on Mac and iOS to use frameworks, take 2."
This reverts commit c5f8e7df81.

Reason for revert: This breaks CLion.

Original change's description:
> Switch GN defs on Mac and iOS to use frameworks, take 2.
> 
> GN will be removing support for frameworks in the libs variable, so
> might as well get ahead of it.
> 
> Change-Id: I990ffdb945c85a9868883d0cab1c2bdcdbdf545c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308189
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

TBR=mtklein@google.com,jvanverth@google.com,senorblanco@google.com

Change-Id: I5479693596f9bb07686325489b58489e89f60c05
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308338
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-08-05 23:36:48 +00:00
Michael Ludwig
672c47689d Replace 'master' with 'top-level' or 'gradient'
Bug: skia:10570
Change-Id: I257380fda62d99c7c27efabf2105478d20f23c57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308336
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-08-05 22:02:06 +00:00
Mike Klein
2b8940ee5e remove SkRP-based runtime effects
The SkVM backend can draw all the existing GMs.
Image diffs look good.  Rough local perf changes:

    spiral_rt:            14.3ms ->  5.9ms w/o JIT, or 2.5ms w/JIT
    overdrawcolorfilter:   4.2       4.9*              2.6
    overdraw_canvas:      10.1       8.9               2.7
    runtimecolorfilter:    8.5       8.5               7.5

with one regression marked with a *.

Change-Id: Ib4f11422f3c2e8756960794a965385fa616ad8bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308193
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-05 21:08:05 +00:00
Mike Klein
be3ea68fee allow SkSpriteBlitter::setup() to fail
This lets us notice that an SkRasterPipelineSpriteBlitter failed to set
up its stages (e.g. an SkColorFilter it can't handle) and instead of
using a NullBlitter, give SkVMSpriteBlitter a chance, just like we do in
the non-sprite blitters.

This is arguably working around the SkSpriteBlitter helper abstract
class' limitations, and removing that intermediate to SkBlitter might
make things clearer in the end.  Notice how SkVMSpriteBlitter is an
SkBlitter directly, not an SkSpriteBlitter, and it gets all its
information at once rather than split between constructor and setup().
We could make all the sprite blitters like that.

Change-Id: I905c744fdcf7b76e8a62634e8d7eb96d9d0ed391
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308277
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-05 20:44:56 +00:00
Jim Van Verth
c5f8e7df81 Switch GN defs on Mac and iOS to use frameworks, take 2.
GN will be removing support for frameworks in the libs variable, so
might as well get ahead of it.

Change-Id: I990ffdb945c85a9868883d0cab1c2bdcdbdf545c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308189
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-08-05 20:38:35 +00:00
Michael Ludwig
6397e80437 Specify aa type of draw to the GrClip
Change-Id: I9ed98859814e462c63ab29b94f0365ccc57d2e9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307706
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2020-08-05 20:18:56 +00:00
John Stiles
3ae071e4ea Update SymbolTable::takeOwnership interface to improve type safety.
Previously, `takeOwnership` was overloaded to take Symbols or IRNodes.
However, Symbols themselves are a subclass of IRNode, so attempting to
call `takeOwnership` with any subclass of Symbol was considered
ambiguous. This was fixed by splitting the API into
`takeOwnershipOfSymbol` and `takeOwnershipOfIRNode`, letting the caller
decide explicitly rather than forcing the compiler to choose.

These APIs also returned their input back to the caller as
`const Symbol*` and `const IRNode*`, although generally the caller
actually wanted the object in its original type. This meant most uses
of the return type were immediately cast back to their actual type.
(Some callers accidentally stripped const as well, although it would be
wrong to mutate an object in the symbol table.) Added templates to
allow the input to be returned as its original type, and removed
the now-unnecessary casts.

The String `takeOwnership` call was updated to `takeOwnershipOfString`
for consistency with its peers.

Change-Id: Ib44a08097d89caec2c30deb4a25463330b7d2bf2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307841
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-05 20:06:06 +00:00
Mike Klein
6d00de3ca9 allow SkRP color filters to fail
I think we decided at some point that we had implemented all existing
color filters with SkRasterPipeline, and then stopped checking for
appendStages() failure.  It's all still plumbed through, and I'd like to
start making some color filters fail to appendStage() and use
SkVMBlitter, at least some of the time.

Change-Id: I520151e7bfc01c4cf333a6ed515f27bee6cd55ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308195
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-05 19:58:25 +00:00
Brian Osman
4c97814f3a Fix SKP serialization when SK_DISABLE_EFFECT_SERIALIZATION is defined
We can still serialize things, but we have to rely on the type-name
code-path (because the factory methods don't exist).

Change-Id: I7a054b07168859154c691b9672e760e5b658ae50
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308260
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-08-05 19:31:25 +00:00
Leon Scroggins III
f21d6b9b71 Reland "Add an SkImageGenerator that uses NDK APIs"
This reverts commit 07438b0cda.

Bug: skia:10369
Bug: skia:10371

This will allow Skia clients developing for Android 11+ to rely on
Android's NDK APIs for decoding, which will allow them to decode
without including their own decoding libraries (e.g. libjpeg-turbo).
Using these APIs also provides support for static HEIF images.

Run ImageGenSrc in kPlatform_Mode on Android to verify decoding
visually.

Add tests and a grayscale png.

Update some test bots running Android R to specify ndk_api so they will
run the new code.

Change-Id: I4ca07d832dbd6a9d8cff0faea975fd70da00718f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308185
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-08-05 18:55:30 +00:00
Jorge Betancourt
749149278c get rid of unused include
Change-Id: I4a93050696b5c474c3accf27f570664939b49552
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308196
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-08-05 18:48:47 +00:00
Robert Phillips
b7531c5c30 Simplify GrSmallPathRenderer::visitProxies
As noted at line 341, the SmallPathOp doesn't reliably know the
proxies that will be used by the atlas when visitProxies is called.
Deleting this code gives us a bit more flexibility for upcoming
refactorings.

Change-Id: I0292e750ed46c8555a75d1b5fa2710f1f616b70b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308220
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-08-05 18:16:26 +00:00
Mike Klein
0abd7276b8 remove overdrawcolorfilter_runtime
SkOverdrawColorFilter is already implemented in an
identical way to overdrawcolorfilter_runtime, so it's
kind of just testing two copies of the same thing.

Change-Id: I8d3b28649ae1c686633ba8e8e1017e8dc5100b3d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308192
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-05 17:58:25 +00:00
Adlai Holler
2bc83187bf Remove staging API for SkImage::makeWithFilter
Chrome migration landed in CL 2335640

Bug: skia:104662
Change-Id: I787d7f469ff474bec1e7e2803cdd492e18821a6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308191
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
2020-08-05 17:51:46 +00:00
Adlai Holler
f7129fc173 Migrate MakeFromAdoptedTexture to GrRecordingContext
This also follows up on the comments Rob left in his zombie review.

Bug: skia:104662
Change-Id: I7031f7b2832eb3f47025e5d269248b854cc912e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307780
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
2020-08-05 17:47:25 +00:00
Mike Klein
813e8cc762 add a global may-we-JIT flag
The most interesting part of the CL is that we recheck gSkVMAllowJIT in
Program::eval() even though we've already checked it in the constructor.
This allows Viewer to toggle the JIT on and off without having to worry
about program caching. This is not something that you'd expect to come
up in practice if a program just sets gSkVMAllowJIT at the start of
main(); for real clients I think we can avoid all this with a simple
SkGraphics::allowJIT() that only lets clients opt-in, never back out.

I toyed with making '!' rotate through a tristate in Viewer, until I
realized that these really are independent bits: GMs like threshold_rt
that use both ordinary effects and SkVM-only effects demonstrate
different behavior and performance in all four modes.  So '!' continues
to toggle SkVMBlitter, and now '@' toggles the JIT.

I've left the test program default settings unchanged, with the JIT
enabled unless --nojit is passed.  Where we previously simplified the
command line by conflating --dylib with --skvm, we now conflate --dylib
with --jit.

Change-Id: If86bf524c657298c0846bcd33c706e3c3f91e788
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308184
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-05 16:35:45 +00:00
Greg Daniel
374b154d3b Don't allow transferring between special queues in vulkan in surface flush.
Incidentally this also adds the guard for the case where the request is
coming from GrContext::setBackendTextureState. I still thing the client
should be tracking what state requests go into the GrContext call so that
they are not requesting illegal transitions. However, it is easier to
make the fix here for surface that guards both then try to separate out
the two calls so that we only guard the surface version.

Bug: chromium:1108040
Change-Id: I5af0afe033eea55df19efb68f97a6a5aaa9f2da3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308178
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
2020-08-05 16:16:05 +00:00
John Stiles
0e041baeaa Fix out-of-bounds array access discovered by fuzzer.
The root cause of this error is that Metal does not support upcasting
a small matrix into a larger matrix (I was unfamiliar with this GLSL
ability). Proper support in Metal for that type of cast will be added in
a followup CL. For now, this CL adds defensive bounds-checking to
placate ASAN.

Change-Id: Ieb0d6b14f9bc7ecc9ef6223364c606612dc79e43
Bug: oss-fuzz:22776
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308182
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-08-05 16:01:15 +00:00
Nathaniel Nifong
2000c64e2b Publish version 0.17.3
Change-Id: I08199a86f59e33ed87ee48b879b405f496d03f67
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308166
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-08-05 15:23:05 +00:00
Leon Scroggins
07438b0cda Revert "Add an SkImageGenerator that uses NDK APIs"
This reverts commit cfef980939.

Reason for revert: Breaking Google3 roll

Original change's description:
> Add an SkImageGenerator that uses NDK APIs
> 
> Bug: skia:10369
> Bug: skia:10371
> 
> This will allow Skia clients developing for Android 11+ to rely on
> Android's NDK APIs for decoding, which will allow them to decode
> without including their own decoding libraries (e.g. libjpeg-turbo).
> Using these APIs also provides support for static HEIF images.
> 
> Run ImageGenSrc in kPlatform_Mode on Android to verify decoding
> visually.
> 
> Add tests and a grayscale png.
> 
> Update some test bots running Android R to specify ndk_api so they will
> run the new code.
> 
> Change-Id: Ica782339b2414d472ede0b61729a127ce41892a5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305689
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Leon Scroggins <scroggo@google.com>

TBR=djsollen@google.com,mtklein@google.com,scroggo@google.com,brianosman@google.com,reed@google.com

Change-Id: Ifed506a76a0ff5903d101c1bf7330d319b8376a6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10369
Bug: skia:10371
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308180
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-08-05 14:42:51 +00:00
Ben Wagner
8c9830bc46 Use SkUniqueCFRef with CTTypesetterCreateLine
This is a 'Create' and returns a reference. Be sure to release the
reference.

Bug: skia:10542
Change-Id: If4ed7a37a43efe5f8f17a4a15a0f82cdae7d9276
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307795
Auto-Submit: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-08-05 14:19:29 +00:00
Leon Scroggins III
cfef980939 Add an SkImageGenerator that uses NDK APIs
Bug: skia:10369
Bug: skia:10371

This will allow Skia clients developing for Android 11+ to rely on
Android's NDK APIs for decoding, which will allow them to decode
without including their own decoding libraries (e.g. libjpeg-turbo).
Using these APIs also provides support for static HEIF images.

Run ImageGenSrc in kPlatform_Mode on Android to verify decoding
visually.

Add tests and a grayscale png.

Update some test bots running Android R to specify ndk_api so they will
run the new code.

Change-Id: Ica782339b2414d472ede0b61729a127ce41892a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305689
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-08-05 13:44:39 +00:00
skia-autoroll
e7b08e4876 Roll ANGLE from 709472c9dd0c to 6c873cfde957 (13 revisions)
709472c9dd..6c873cfde9

2020-08-05 xinyi.he@arm.com Disable RobustBufferAccessWebGL2ValidationStateChangeTest on Mali
2020-08-05 jmadill@chromium.org Vulkan: Redo Sampler Serials.
2020-08-04 jmadill@chromium.org Vulkan: Refactor ImageViewHelper serials.
2020-08-04 timvp@google.com Create empty //tools/android/md5sum/BUILD.gn
2020-08-04 ccameron@chromium.org macOS/ARM: Allow populating GPU based on AGXAccelerator
2020-08-04 syoussefi@chromium.org Vulkan: EXT_multisampled_render_to_texture2 support
2020-08-04 syoussefi@chromium.org Vulkan: Fix blit/resolve of mixed-samples framebuffers
2020-08-04 jonahr@google.com Suppress SurfacelessContext test on Android/NVIDIA
2020-08-04 cnorthrop@google.com Tests: Remove more optimizations from traces
2020-08-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from 928b7b26bd73 to f881f08358b0 (2 revisions)
2020-08-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from b78f4b1518e0 to 92a71657fcba (1 revision)
2020-08-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Headers from a0f1f5149d91 to a6d08c75d219 (1 revision)
2020-08-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 4568d8587998 to 74cc8ea2b8df (2 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC herb@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: chromium:1110408,chromium:1110421
Tbr: herb@google.com
Test: Test: angle_perftests --gtest_filter="TracePerfTest.Run/*nba*"Test: Test: gn gen out/Android
Change-Id: Id3c460176cb85f7fdf1959d4ffbba21b70ab1204
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308057
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-05 05:08:39 +00:00
skia-autoroll
29332bf9bc Roll Chromium from be02bd1a2326 to b133b38aa4d3 (477 revisions)
be02bd1a23..b133b38aa4

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC herb@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: herb@google.com
Change-Id: I93013b097466de44453693e024607308ea065dd0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307954
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-05 04:41:59 +00:00
skia-autoroll
64691e3130 Roll SwiftShader from 74cc8ea2b8df to be7c55a2a8ce (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/74cc8ea2b8df..be7c55a2a8ce

2020-08-04 swiftshader.regress@gmail.com Regres: Update test lists @ 74cc8ea2
2020-08-04 dpranke@google.com Fix a Python3-compatibility issue for write_icd_json.py.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC herb@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: herb@google.com
Change-Id: I684ec1216b14c7c25f71e88c52321424b47d9aa8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307955
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-05 04:37:59 +00:00
skia-autoroll
4f2d07f3c7 Roll dawn from 1ea3a22f521e to 076a4e58205d (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/1ea3a22f521e..076a4e58205d

2020-08-04 rharrison@chromium.org Roll 6 dependencies and bypass changed API usage
2020-08-04 enga@chromium.org Implement depth-only/stencil-only copies on Vulkan and Metal
2020-08-04 jiawei.shao@intel.com Add tests for lazy initializing vertex and index buffers
2020-08-04 hao.x.li@intel.com Query API: Timestamp Query on D3D12

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang from 3ee5f2f1d331 to 2de6d657dde3
  https://chromium.googlesource.com/external/github.com/google/shaderc from cfacaaffd1fe to c626b912dc45

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: cwallez@google.com
Change-Id: I8a873f9f0b081a18be3a8d95c03878122bc1c2e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308056
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-05 04:30:59 +00:00
Herb Derby
bfcf8c4832 simplify next allocation size
Since the fibonacci sequence is always multiplied by
fFirstHeapAllocationSize, change the names ofr fFib0 and
fFib1 to fNextHeapAlloc, and fYetNextHeapAlloc, and assign
both to be fFirstHeapAllocationSize. This will create the
same sequence of heap allocation sizes. Now
fFirstHeapAllocationSize is only used in reset(). This will
simplify CL/307348 which move reset to a different class.

Change-Id: I54da1980239645acd36992476915137dd68ab9da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307349
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-08-05 00:36:58 +00:00
Harry Terkelsen
10f019c506 [CanvasKit] Expose TypefaceFontProvider.
Change-Id: I950a3a4f45b7b4a106299576bc918531054b23f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307873
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-08-04 20:55:21 +00:00
Herb Derby
17d9caaf8c remove unused scale for direct masks
Using a direct mask, the pixels in the cache are in 1:1 correspondence to the device pixels.
There is no need to scale.

Change-Id: I7d3f48cfb44a51882370527401a3bd0d162d9e76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307875
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-08-04 20:36:58 +00:00
John Stiles
c461551ef2 Fix debug visualization for SkString.
This was broken by the addition of the sk_sp visualizer.

Change-Id: Ibf7519a8a2e0388275e543a1e5a69d942d50ed96
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307867
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-08-04 19:52:38 +00:00
Ben Wagner
e426df96a1 Remove use of SK_IGNORE_MAC_OPSZ_FORCE
SK_IGNORE_MAC_OPSZ_FORCE should be removed since it is no longer defined
by any users.

Change-Id: Ib99082513292e55465131a42a7f676c5d1179113
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307863
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-08-04 19:43:38 +00:00
Julia Lavrova
093263ce45 Remove SK_PARAGRAPH_OLD_SPACE_RESOLUTION (staging changes done)
Change-Id: Ia67eb9055cb589c1ff73b5ac851a2c7b538c2575
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307790
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-08-04 19:35:38 +00:00
Brian Osman
f265afddf2 Remove bits of code related to sk_Args
AFAICT, there were two unrelated things happening here:

1) .fp files supported referencing class variables as if they existed in
   sk_Args. We never do this (they can be directly referenced).
2) When baking the values of 'in' variables into runtime SkSL, we
   generated intermediate 'Setting' objects that wrapped the literal
   values supplied by the user. Those Setting objects were named
   'sk_Args.<field_name>', even though this logic had nothing to do with
   the fake SkArgs type. In this case, the Setting objects don't appear
   to add any value, so just inject the literals directly (which is what
   constant propagation would do on the next iteration).

Change-Id: Ia54193c5282737653cf10b7aae77e38e5ab78c79
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307793
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-08-04 18:53:03 +00:00
Eric Boren
3f20166c66 Reland "[recipes] Verify that we actually deleted the file/dir on android"
This is a reland of aed15a701a

Original change's description:
> [recipes] Verify that we actually deleted the file/dir on android
> 
> Bug: skia:10539
> Change-Id: I3b51ef8c0106ac439f14a7f0ff61c8b88c7152ff
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305957
> Reviewed-by: Ravi Mistry <rmistry@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>

Bug: skia:10539
Change-Id: I23c6f85e5d446eea3fbd61cff3db29379e0b0702
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307794
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2020-08-04 18:48:00 +00:00
Adlai Holler
273bc3000d Remove two staging APIs post-Chrome-migration
These two staging flags were removed in Chrome CL 2327135

Bug: skia:104662
Change-Id: I5b794f0c5e2c53cca82ec471dda3da3a722f5c9e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307781
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
2020-08-04 18:48:00 +00:00
Ben Wagner
997c907f11 Rename kMultiMaster_FontFlag to kVariable_FontFlag
The older font format is mostly unused now. Use the new name for fonts
with parameteriazable glyph outlines.

Change-Id: Ia632f79684b2c4399d216855cfe0822f535189c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307792
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-08-04 18:12:26 +00:00
Mike Klein
ed80035850 try always setting fvisibility=hidden
It simplifies things to always build this way, to mimic how we're built
by clients, and to better approximate MSVC defaults.  I'm not sure I
believe my old note about making stack traces worse on Linux.

Change-Id: I0554a58573074fc6ae030fa09e11976a718645b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307834
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-04 18:04:36 +00:00
Ben Wagner
6fbd92db65 Better serialize variations, separate SkFontData.
SkFontDescriptor and its serialization and usage are updated to better
reflect how variations should be serialized. In addition this begins
teasing apart SkFontData since it is now mostly an artifact of how the
FreeType port works than anything else.

This also removes SkTypeface::MakeFromFontData since it is no longer
used and since SkFontData (which it takes as a parameter) was never
public. SkFontMgr::makeFromFontData now only exists to support older
skps and may be removed in the future.

Change-Id: I266bd5e87de85788661cdf5c571592ea1f2ae669
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307344
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-08-04 16:38:26 +00:00
Michael Ludwig
21efb7c7dd Fix inversion unit test
RRect needs 8 radii, 4 corners x XY, so should pass 8 values, not 4.

Change-Id: I997cbf2a61e6ffb32e4a13d5c95d16cb172152be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307789
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-08-04 16:09:06 +00:00
Julia Lavrova
2aa72457ba Chromium Project Code Inclusion
Change-Id: Iac6a1ca7131c74f297ee047e0e3841740e24e18b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307703
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2020-08-04 15:50:46 +00:00
Brian Osman
a8486d10e0 Revert "Revert "Revert "Put top level FPs into their own functions"""
Flutter saw a substantial perf regression:
https://github.com/flutter/flutter/issues/62447

This reverts commit 7a96c2a6bb.

Change-Id: Ib7d73f2df429508d85f9681eb2f0afd84917772e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307782
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-08-04 15:25:09 +00:00
Jim Van Verth
7e3616a1cf Reland "Revise GrMtlGpu::onUpdateBackendTexture."
This is a reland of c2dc572a03

Original change's description:
> Revise GrMtlGpu::onUpdateBackendTexture.
> 
> * Use main command buffer rather than a temporary
> * Use staging buffer for uploads
> * Set up finishedCallback
> 
> Bug: skia:10530
> Change-Id: I73dbf1466ec4a48de8c1dcb741fa1bb6de1cd554
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307230
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

Bug: skia:10530
Change-Id: Ie7e4d5d939a59c42e2e0689b0eac099fa0e640e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307785
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-08-04 15:21:47 +00:00
Eric Boren
a1cce35537 Revert "[recipes] Verify that we actually deleted the file/dir on android"
This reverts commit aed15a701a.

Reason for revert: some devices don't have "stat"

Original change's description:
> [recipes] Verify that we actually deleted the file/dir on android
> 
> Bug: skia:10539
> Change-Id: I3b51ef8c0106ac439f14a7f0ff61c8b88c7152ff
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305957
> Reviewed-by: Ravi Mistry <rmistry@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>

TBR=borenet@google.com,rmistry@google.com,kjlubick@google.com

Change-Id: I0c03c3ec581cb52829c51891f81c59b900625c50
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10539
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307787
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2020-08-04 15:17:47 +00:00
Michael Ludwig
80e3d42152 Fix inversion tracking across simplifies in GrShape
Change-Id: I68bb6bb239074d7cf657f56acf6c970771af62f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307717
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
2020-08-04 15:13:06 +00:00
Eric Boren
aed15a701a [recipes] Verify that we actually deleted the file/dir on android
Bug: skia:10539
Change-Id: I3b51ef8c0106ac439f14a7f0ff61c8b88c7152ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/305957
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2020-08-04 15:00:26 +00:00
Brian Osman
3000d6b8c2 Validate function return and parameter types in IR generator
Prevents invalid types from making it to the pipeline stage generator,
when it's too late to do anything.

Bug: oss-fuzz:24542
Change-Id: I8b6fa2afd5d586b0e60bea82e0ec4f3ae43de973
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307656
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-08-04 13:35:16 +00:00
Nathaniel Nifong
e09b314405 Add ParagraphBuilder.pushPaintStyle to allow text to be colors with paints.
Previously one could not color text with paints, even though TextStyle's foregroundColor and
backgroundColor fields are SkPaints. Canvaskit only exposed these as colors in order to allow
SimpleTextStyle to be a value object that would not have to be deleted by the user.

CanvasKit.Paint is a bound SkPaint. I wanted to allow a user to pass a paint to be used
in a text style without alterting SimpleTextStyle's status as a value-object.

So I've added a new bound method, pushPaintStyle which acts just like pushStyle but allows
a foreground and background paint to be supplied which are used to override the existing paints.

The user is responsible for deleting these paints.

Sorry for the kludgy design, if you have got a more elegant way, I'm open to suggestions.

Change-Id: Ib78464171346fe9f717f6d5b9d9428b1d0278498
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307596
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2020-08-04 13:23:06 +00:00
Michael Ludwig
1e4158db1c Add contains(SkPoint) to SkRRect
Change-Id: I6709963bae0c69e17f651e9688201f11ceae844e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307700
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
2020-08-04 12:57:56 +00:00
skia-autoroll
471235dba5 Roll ANGLE from 41442cce3d0f to 709472c9dd0c (23 revisions)
41442cce3d..709472c9dd

2020-08-04 m.maiya@samsung.com Vulkan: Fix variable scope bug during vkCreateInstance
2020-08-03 jmadill@chromium.org Vulkan: Add an overlay counter for descriptor writes.
2020-08-03 jmadill@chromium.org Vulkan: Move Resource Serial gen into Renderer.
2020-08-03 jmadill@chromium.org Trace Tests: Disable timestamp queries.
2020-08-03 jonahr@google.com Metal: Enable EGL_KHR_surfaceless_context.
2020-08-03 nguyenmh@google.com Add vertex array serialization capability
2020-08-03 m.maiya@samsung.com Capture/Replay: Account for EGL_KHR_no_config_context
2020-08-03 nguyenmh@google.com Add texture serialization capability
2020-08-03 lehoangq@gmail.com Metal: Implement EGL_ANGLE_iosurface_client_buffer.
2020-08-03 lehoangq@gmail.com Metal: Enable end2end tests on Intel.
2020-08-03 jonahr@google.com Add entry points for OES/EXT_texture_buffer
2020-08-03 cclao@google.com Vulkan: Set depthStencil loadOp to DontCare when not used and stored
2020-08-03 jmadill@chromium.org Capture/Replay: Use vector for resource maps.
2020-08-03 lehoangq@gmail.com Metal: Fix Intel's LOD clamp and blit shader's filtering.
2020-08-03 jmadill@chromium.org Vulkan: Remove ImageHelper::mSerial.
2020-08-03 jmadill@chromium.org Trace Tests: Scale results based on frames in capture.
2020-08-03 jmadill@chromium.org Vulkan: Clean up ScopedDescriptorSetUpdates.
2020-08-03 nguyenmh@google.com Add shaders and programs serialization capability
2020-08-03 jmadill@chromium.org Rename RenderPass test to performance counter test.
2020-08-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 71573c7f64cb to c967a2ddf18b (8 revisions)
2020-08-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from 7ab4564696a7 to 928b7b26bd73 (1 revision)
2020-08-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 2aaa8653da4f to b78f4b1518e0 (2 revisions)
2020-08-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from aa5bd7657e6c to 4568d8587998 (1 revision)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC herb@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: herb@google.com
Change-Id: Ic81a5016beb711e93c491290eab56dd649045e99
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307740
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-04 06:48:06 +00:00