Commit Graph

47022 Commits

Author SHA1 Message Date
Brian Salomon
a54af92392 Make AHWBuffer generator responsible for MIP maps.
It already makes copies for other reason and is the only generator
relying on the caller.

Change-Id: I5dfdc3bd39040f817c0f953eecf81e8fbdc649a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274862
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-03-03 23:12:21 +00:00
Eric Boren
4036cb1f0b [recipes] Re-disable SKPs on iOS and images on GPU in nanobench
These were accidentally enabled in
https://skia-review.googlesource.com/c/skia/+/274553 which changed the
order of the flags.

Change-Id: I6d9eb3d5c78baa5bc0d987fa61fe2b1ce305b138
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274856
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2020-03-03 19:43:32 +00:00
Robert Phillips
d6900440ef Switch member destructor order in SkDeferredDisplayList
With the addition programInfos being stored on DDLs we need to ensure that the programInfos are deleted before the GrCCPerOpsTaskPaths.

W/o this change we can hit an assert in ~GrCCClipPath.

Change-Id: I02a2b195cae1dfd84a3e9cd2cf6c9b5194c430a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274860
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-03 19:32:20 +00:00
Stephen White
2860ee9e9a Dawn backend: update to onBindBuffer() changes.
Change-Id: I7ae6100a36c1764f40b97f089817b77263544e8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274857
Auto-Submit: Stephen White <senorblanco@chromium.org>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-03-03 19:08:51 +00:00
Mike Klein
f471b0ee9a have each program own LLVMContext
As far as I can tell the TLS contexts were an unjustified paranoia.
90%+ of runtime in setupLLVM() is spent under getFunctionAddress()
JITting the function.  This change does not affect overhead AFAICT.

Change-Id: I2abe3832ed7b42c0ac67a7605cf7d0bf63e7bd55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274783
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-03 17:56:21 +00:00
Mike Klein
1394e52577 Program::LLVMState
Add a pimpl struct to hold Program LLVM state,
and have it ref the TLS LLVMContext so we can
manage its lifetime properly instead of leaking.

TODO: try per-program, non-TLS contexts

Change-Id: Iec064678a575f285560a3e9e1e6c0308883dd23a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274781
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-03 17:51:11 +00:00
Brian Salomon
964aa91580 Simplify adding key in SkImage_Lazy::lockTexturProxyView
Don't try to move listener from one key to another.

Ease up on asserts (they're redundant with other asserts)

Change-Id: I554e5e44b1b2fb027698cf4286b0f5ea206d93af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274678
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-03 16:58:01 +00:00
Brian Salomon
a624a534ed Use spin lock in SkIDChangeListener
This lock should almost never be contested. This simplifies things and
also avoid mutex locks when one thread has multiple refs on a path,
image, ...

Change-Id: I909b490363cb9e81b38ed9edd04272133fb2692b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274676
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-03 16:58:00 +00:00
Ben Wagner
a913895468 Check for invalid unicode in fallback.
CFStringCreateWithBytes will return nullptr if the raw string passed is
not valid in the encoding specified. It turns out that in UTF32 the
values between 0xD800 and 0xDFFF and above 0x10FFFF are invalid.

Bug: chromium:1057692
Change-Id: Ic3984d113106cbf8ef393048a97ccc906fb89966
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274679
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-03-03 16:24:21 +00:00
Julia Lavrova
3c79a23414 Selection in justification: Bugs: skia: 9969
Make sure getGlyphPositionAtCoordinate works in RTL

Change-Id: I394d868bbbd4a3042e1a2f50901d137c65f1f2b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274544
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-03-03 16:02:20 +00:00
Florin Malita
ae2da5e7f9 [skottie] Add another text grouping test
TBR=

Change-Id: I9c1ca3e834fdc5b017446811db52582a326d777b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274740
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-03 15:17:20 +00:00
Michael Ludwig
94b928cd7d Fix GM for preAbandonGpu flag
Change-Id: Ifc0ab9c5c41cf139a5b6f79e29e6c0112d563667
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274741
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-03-03 15:14:50 +00:00
Michael Ludwig
1e58c1ab3a Don't draw as sprite when alpha, CF, or MF are present
This makes SkCanvas::drawImage() consistent with the AutoLayerForImageFilter
that applies when the draw isn't a sprite, or if drawImageRect or drawRect
with an image-shader was used instead.

Bug: skia:9561
Change-Id: Ic395f580b06753706ddcaed832535ec4edb3bb5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274507
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-03-03 14:28:10 +00:00
Robert Phillips
b58098f34c Add onPrePrepareDraws & createProgramInfo methods to GrDrawVerticesOp (take 2)
This CL also incidentally adds:

1) a GrMeshDrawOp::Target 'outputView' virtual and switches GrOpFlushState over to overriding it.

2) a createProgramInfo helper to GrSimpleMeshDrawOpHelper

Bug: skia:9455
Change-Id: I88ce51c585b1458ee79a9aaa7024190e9f19198c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274506
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-03 13:48:41 +00:00
Mike Reed
a2cf8ae420 switch to virtual with no bones
Bug: skia:9984
Change-Id: I89d8f5f227690c71be875b5a7718aba0ad058650
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274504
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-03-03 13:35:00 +00:00
Eric Boren
96c2eb6258 [recipes] Move nanobench flags logic into gen_tasks_logic/nanobench_flags.go
Change-Id: Ie00a12db04350ab0f8c754b3674eaa5a0a556b63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274596
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-03-03 11:20:25 +00:00
Eric Boren
0c2f61e9ed [recipes] Compute nanobench flags in gen_tasks
Change-Id: Ia37e0b9cd2f6b6c6e9a728741bec642cdba9f7b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274555
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-03-03 11:16:30 +00:00
Eric Boren
d89a8b1e41 [recipes] Move nanobench flags to a separate file
This particular location was chosen because we can rely on it being
present in the recipe bundle. We'll soon run the script to generate
DM flags in gen_tasks, before finally porting the logic to Go inside
gen_tasks itself.

Change-Id: I7e65ec4f354225deafbc03e1b0453ccf4404b041
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274554
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-03-03 11:15:20 +00:00
Eric Boren
853789cdfe [recipes] Refactor nanobench flags
No behavioral change, just re-organizing the flags.

Change-Id: I49148a92342a8d615a218a85962433d771729959
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274553
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-03-03 11:11:10 +00:00
skia-recreate-skps
b194080401 Update Go Deps
Change-Id: I05ed6230fb9416d6db8118e12fb94d84f9812d35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274717
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-03-03 05:25:20 +00:00
skia-autoroll
31db11df5e Roll ../src 66a8fb005d91..13184a2df875 (377 commits)
66a8fb005d..13184a2df8


Created with:
  gclient setdep -r ../src@13184a2df8

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/+/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
Bug: None
Tbr: herb@google.com
Change-Id: Idea6e4cba40f97df31b30a6af71997366ea53af0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274701
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-03 04:37:50 +00:00
skia-autoroll
d1a1db7ade Roll third_party/externals/angle2 ff60abaf62b4..b84969ad69c3 (6 commits)
ff60abaf62..b84969ad69

git log ff60abaf62b4..b84969ad69c3 --date=short --first-parent --format='%ad %ae %s'
2020-03-03 jmadill@chromium.org Vulkan: Use QueryHelper for internal GPU timing.
2020-03-03 jmadill@chromium.org Split up EGLContextCompatibilityTest.
2020-03-03 jmadill@chromium.org Vulkan: Clean up QueryHelper uses.
2020-03-03 jmadill@chromium.org Expose glGetInteger64vEXT.
2020-03-02 lexa.knyazev@gmail.com Add OES_draw_buffers_indexed autogenerated wrappers and validation redirects.
2020-03-02 geofflang@google.com Add scripts for rolling and generating Android.bp for AOSP

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

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/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-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: I0a322d79c138baf2efe3a91f00d768e113132a7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274700
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-03 04:34:40 +00:00
skia-autoroll
3e9a81de86 Roll third_party/externals/swiftshader 416d37452275..176f3a3dbbc9 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/416d37452275..176f3a3dbbc9

git log 416d37452275..176f3a3dbbc9 --date=short --first-parent --format='%ad %ae %s'
2020-03-02 swiftshader.regress@gmail.com Regres: Update test lists @ 416d3745
2020-03-02 capn@google.com Enable ASTC on supported builds only

Created with:
  gclient setdep -r third_party/externals/swiftshader@176f3a3dbbc9

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/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: herb@google.com
Change-Id: Iaa61aeda0ec7d1109e7efd2e4b046a38c932d054
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274702
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-03 04:32:40 +00:00
Herb Derby
73ae40a424 Search for Strike at head of LRU first
Switch to checking the head of the linked list for the LRU before searching
the hash table.

Change-Id: If28f4759ef609dde11778db8ba91cc9dfdd6a259
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274399
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-03-03 03:50:19 +00:00
Mike Klein
8121d27b29 stick to 256-bit ymm on skx
I haven't yet seen it slower, and it ought to avoid the most egregious
downclocking from zmm use.  Still gets to use all the fancy AVX-512 new
instructions, so it does seem to run faster than just targeting AVX2.

Change-Id: I5738bc28c490619e0303813d69e00c8b6d7bb184
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274592
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-03 00:32:51 +00:00
Mike Klein
15902a5b55 allow FMA discovery
Change-Id: Iea9c4892c27fd233c04ca441c7cc4fa6cf110dd4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274656
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-02 23:17:50 +00:00
Stephen White
e7612f4d83 Dawn: increase maximum texture size in caps to 8192.
There are plans in WebGPU for queries for device/adapter limits, but
they haven't been implemented yet. In the meantime, 8K is a reasonable
minimum (e.g., it's the D3D10 minimum, and WebGPU will require D3D12).

Change-Id: Ib948411ec1083e1eedd478c0981b5e86ef5160cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274552
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-02 23:08:09 +00:00
Florin Malita
960f3d4cd1 [skottie] Text anchor point grouping support
Implement all AE grouping modes: character/word/line/all.

 -- character grouping was already supported (default mode)

 -- for word and line grouping, expand the existing domain mapping logic
    to also track cumulative advance and max(ascent) per span, then use
    this info to compute anchor point boxes

 -- for "all" grouping, the anchor point box coincides with the text box

(https://helpx.adobe.com/after-effects/using/animating-text.html#text_anchor_point_properties)

TBR=
Change-Id: I8564f1349d167d82c31862d8f7e57615cdae0dcf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274201
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-02 23:07:39 +00:00
recipe-roller
3705bf1b25 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/a3b6fd06f9d70795dc18d4ce8c7d66f6bf5a9c04 (ehmaldonado@google.com)
    Reland "my_activity.py: Run using vpython3 by default."

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I451a212f09dec80de3560ecd98e0cbd4fb26d911
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274509
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>
2020-03-02 22:51:39 +00:00
Brian Salomon
71fe945da3 Prevent unbounded listener growth on SkPixelRefs.
Use SkIDChangeListener and update GrBitmapTextureMaker to add listener
to key to deregister if texture is purged before genID changes.

Add a common listener list implementation and replace existing lists.

Change-Id: Ib0c78241eaf59b59b892d8b004b2bb095140bc6d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274549
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-03-02 22:32:09 +00:00
Mike Klein
89c995c196 hoist1
Add scalar hoisting too.  Nothing tricky.

Scalar loop is now good like the vector one:

    0x1065c7160: movl   %eax, (%rdx)
    0x1065c7162: decl   %edi
    0x1065c7164: addq   $0x4, %rdx
    0x1065c7168: testl  %edi, %edi
    0x1065c716a: jg     0x1065c7160

Change-Id: I9352e85bcae8d6be0d9092b2664841fde2c3c7d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274587
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-02 22:25:19 +00:00
Mike Klein
6a63365fee auto-detect MCPU
Change-Id: Id38c51704c99810b2237d18c18163d9d776451bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274588
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-02 22:21:49 +00:00
Ben Wagner
4b7052d714 [infra] Upgrade iPhone6 to iOS 12.4.5
Change-Id: Ifce942d04351964a67a50275fbaa3287bfa4dd63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274199
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Weston Tracey <westont@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-03-02 22:09:49 +00:00
Mike Klein
5a879c47e2 basic hoisting
We've got this can_hoist analysis... why not use it?
I need to do some pen and paper work before I can do
this for the scalar loop, so that's TODO.

The tight part of a memset-from-uniforms loop becomes

    0x1065c70e0: vmovdqu64 %zmm0, (%rdx)
    0x1065c70e6: addl   $-0x10, %edi
    0x1065c70e9: addq   $0x40, %rdx
    0x1065c70ed: cmpl   $0xf, %edi
    0x1065c70f0: jg     0x1065c70e0

Change-Id: Iad8ee018ae65ee9f370980939a70f042ee3f9138
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274586
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-02 21:58:29 +00:00
Robert Phillips
b43cfa4d3f Revert "Add onPrePrepareDraws & createProgramInfo methods to GrDrawVerticesOp"
This reverts commit d3606518fa.

Reason for revert: DDL3 bots are red

Original change's description:
> Add onPrePrepareDraws & createProgramInfo methods to GrDrawVerticesOp
> 
> This CL also incidentally adds:
> 
> 1) a GrMeshDrawOp::Target 'outputView' virtual and switches GrOpFlushState over to overriding it.
> 
> 2) a createProgramInfo helper to GrSimpleMeshDrawOpHelper
> 
> Bug: skia:9455
> Change-Id: Iecd712d3ac76038651bd2e0512134e310930d527
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274551
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

TBR=egdaniel@google.com,robertphillips@google.com

Change-Id: I6e44ba3bc47df27479af9344af946e27f0a2e937
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9455
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274505
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-02 20:50:54 +00:00
Mike Klein
8248ba64f2 noalias for params, inbounds for GEPs
These don't get us to be able to hoist uniforms yet,
but I think they're required.  Tests still pass.

The nullptrs in the CreateGEP calls were implied by
the old special cases we were calling before.  They
mean, pick up the type from the pointer argument.

Change-Id: Idd2b5c4b782229ebf2640f87e0ed6ebb63809042
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274583
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-02 20:34:09 +00:00
Mike Reed
5caf9358c3 remove bones from SkVertices
Bug: skia:9984
Change-Id: I7c4f33ee82087eb1b0a60243183f0c68e310f10d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274547
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-03-02 20:30:59 +00:00
Robert Phillips
d3606518fa Add onPrePrepareDraws & createProgramInfo methods to GrDrawVerticesOp
This CL also incidentally adds:

1) a GrMeshDrawOp::Target 'outputView' virtual and switches GrOpFlushState over to overriding it.

2) a createProgramInfo helper to GrSimpleMeshDrawOpHelper

Bug: skia:9455
Change-Id: Iecd712d3ac76038651bd2e0512134e310930d527
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274551
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-02 20:26:10 +00:00
Jim Van Verth
37f84c05db Fill in most D3DCaps texture property queries.
Not sure about read/write pixels at this point, so left those as stubs.
Also commented out sections that apply to YCbCr formats, which will
be added later.

Bug: skia:9935
Change-Id: I715b5a2a894af9a4fbbfcd89a6eab284913293dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273608
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-03-02 20:19:11 +00:00
Brian Osman
4a4e9c9f2c Restore logic to check for .git in ANGLE BUILD.gn
This should ensure that for users where the ANGLE git repo is present,
we correctly re-generate commit.h when rolling to a new revision.

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-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
Change-Id: Ib3c77a19d243896f4e7359dc4f14e87d4907739e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274498
Reviewed-by: Geoff Lang <geofflang@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-03-02 20:02:19 +00:00
recipe-roller
b3573a1512 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/4576851428ddafb6b996765adcbd4e5918145e6d (ehmaldonado@google.com)
    git-cl: Remove support for GetPreferredTryMasters.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia5805a1f4ae84dc86ddabdae6e5ec85a7cf8baf8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274582
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>
2020-03-02 19:39:39 +00:00
Chris Dalton
ded437003d Add a bindBuffers() call to GrOpsRenderPass
Adds a bindBuffers() call and removes the GrBuffer arguments from the
draw calls.

Change-Id: I43c2dd8afe80c41e48c1d9d5210affcfe6f095fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273840
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-03-02 19:13:19 +00:00
Ravi Mistry
4c0ffe7820 [Tree Status] Update all references in Skia repo to tree-status
* Mainly updates to documentation.
* Fix some comments in PRESUBMIT.py.
* Delete tools/lua/trigger_ct_lua. It has not worked in many years.

Bug: skia:9962
Change-Id: If6f58f173f2c8bd3fc9bdfc4db440f42489fee08
Docs-Preview: https://skia.org/?cl=274597
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274597
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-03-02 18:43:49 +00:00
Leon Scroggins III
9eb7874844 SkJpegCodec: Gracefully handle malloc failure
Bug: b/150353577

If malloc fails, don't let SkJpegCodec attempt to decode into it.
Return kInternalError, which is what we return for OOM.

Change-Id: I6750e907c5e649d9e12ba75e84c8d9e91a66dd61
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273809
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-03-02 18:40:49 +00:00
Brian Salomon
99a813ca29 Avoid unbounded listener growth on SkImage_Lazy when textures are purged
Generalizes the system used on SkPathRef where a GrTexture's key
destructor signals that a listener on the image can be removed via
the unique key custom data.

Removes texturesAreCacheable() from SkImageGenerator. This was used to
prevent unbounded growth in a narrow situation related to
GrBackendTextureImageGenerator.


Change-Id: I3c605da099acfac94751e793331e356a0979d359
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274038
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-02 18:38:09 +00:00
Eric Boren
a1613c917e [recipes] Move DM flags logic into gen_tasks_logic/dm_flags.go
Change-Id: I294495f952c8310bf1518363778fda9690c8c83e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274202
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-03-02 18:21:49 +00:00
Nathaniel Nifong
c6ce3d469d Patch public.bzl change from cl/298337962
Bug: b/150386856
Change-Id: Ic200bda7b63f0bde84df4b32e2d7967d8572740c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274541
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-03-02 17:55:39 +00:00
Brian Osman
470f0637ae (Manual) Roll third_party/externals/angle2 4dc19c38c0c5..ff60abaf62b4 (51 commits)
4dc19c38c0..ff60abaf62

git log 4dc19c38c0c5..ff60abaf62b4 --date=short --first-parent --format='%ad %ae %s'
2020-03-02 tobine@google.com Vulkan:Disable FramebufferVk cache on Apple
2020-03-02 geofflang@google.com Change commit_id 'check' back to looking for .git files.
2020-03-02 wangra@google.com Vulkan: reserve extra varyings
2020-03-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 8c312ef4c7a9..cb689b0b1d30 (4 commits)
2020-03-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 05f5e0b34ac8..416d37452275 (3 commits)
2020-03-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 70f888131ede..e1688b60caf7 (2 commits)
2020-03-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src f13d38f3cd3c..56364b6b6026 (5 commits)
2020-03-02 jmadill@chromium.org Test Runner: Add stub register function to GLES 1 CTS.
2020-03-01 jmadill@chromium.org Test Runner: Add stub register function to white box tests.
2020-03-01 jmadill@chromium.org Test Runner: Use system path for gtest-internal.
2020-03-01 jmadill@chromium.org Add RegisterContextCompatibilityTests stub.
2020-02-29 jmadill@chromium.org Upgrade gl2ext.h.
2020-02-29 jmadill@chromium.org Trace/Replay: Add framebuffer change callback.
2020-02-28 geofflang@google.com Add the ANGLE Android developer options to the ANGLE repository.
2020-02-28 xiaoxuan.liu@arm.com Vulkan: Add robust init for NULL texture image.
2020-02-28 b.schade@samsung.com Add Android boot animation and rounding error test
2020-02-28 ynovikov@chromium.org Suppress SwANGLE dEQP-GLES3.functional.texture.compressed.astc.* failures
2020-02-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 07e1a0a67aee..f13d38f3cd3c (1 commits)
2020-02-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 38f68cce445b..8c312ef4c7a9 (5 commits)
2020-02-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 4b34ee3de531..05f5e0b34ac8 (2 commits)
2020-02-28 tobine@google.com Revert "Vulkan:Include precision qualifier in GLSL"
2020-02-27 rnk@chromium.org Revert "Vulkan: Disable global merge for volk"
2020-02-27 jmadill@chromium.org Capture/Replay: Capture DrawBuffersEXT.
2020-02-27 jmadill@chromium.org Fix out-of-bounds read in test.
2020-02-27 jonahr@google.com eglGetConfigAttrib validation missing extension check
2020-02-27 geofflang@chromium.org Make GLSLTest_ES31.MixOfAllResources more lenient.
2020-02-27 cclao@google.com Vulkan: Optimize element buffer conversion
2020-02-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader da659b374113..4b34ee3de531 (3 commits)
2020-02-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 3f4d08da8897..38f68cce445b (1 commits)
2020-02-27 ianelliott@google.com Vulkan: Updated expectations after SwS fixed 4259
2020-02-27 ynovikov@chromium.org Fix Android component build.
2020-02-27 ianelliott@google.com Vulkan: Implement Android pre-rotation
2020-02-27 geofflang@google.com Always use commit_id.py to generate commit.h
2020-02-27 jmadill@chromium.org Vulkan: Document command access APIs.
2020-02-26 jmadill@chromium.org Fix MultipleDrawBuffers sample.
2020-02-26 tobine@google.com Vulkan:Include precision qualifier in GLSL
2020-02-26 b.schade@samsung.com glslang: enforce initialize and release as once per process
2020-02-26 courtneygo@google.com Save binding information when caching shader
2020-02-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 8910ea5f1c7b..70f888131ede (2 commits)
2020-02-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src a09ab94aa920..3f4d08da8897 (2 commits)
2020-02-26 robliao@chromium.org Revert "Always use commit_id.py to generate commit.h"
2020-02-26 tobine@google.com Vulkan:Refactor precision emulation code
2020-02-25 capn@google.com Update DEPS for SPIRV-Tools and SwiftShader
2020-02-25 jmadill@chromium.org Vulkan: Use new APIs in BufferHelper::copyFromBuffer.
2020-02-25 jmadill@chromium.org Vulkan: Fix padding out Buffer allocations on AMD.
2020-02-25 jmadill@chromium.org Vulkan: Update buffer accumulation TODO bug IDs.
2020-02-25 xinyi.he@arm.com Fix the condition of glOrtho{fx} validation
2020-02-25 pmberube@google.com Fix a GCC 10 build failure.
2020-02-25 b.schade@samsung.com Vulkan: prevent volk reloading on null instance and devices
2020-02-25 jmadill@chromium.org Trace/Replay: Add uniform locations map.
2020-02-25 jmadill@chromium.org Vulkan: Update ContextVk command buffer access methods.

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

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,brianosman@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/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-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,brianosman@google.com
Change-Id: I3bbe489230900973f4b2eacbde23a7444ffc0a65
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274047
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-03-02 17:53:29 +00:00
Chris Dalton
d42d2001ac Reland "Move setupGeometry() from GrGLGpu to GrGLOpsRenderPass"
This is a reland of b67081f9cb

Original change's description:
> Move setupGeometry() from GrGLGpu to GrGLOpsRenderPass
> 
> Change-Id: I8788b96e07216be738c0ce1babb810b05bf46694
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273696
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

Change-Id: Ic30c9e1b1d9a3ae29623ff8239b9b1d7b2dad273
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274057
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-03-02 17:31:39 +00:00
Florin Malita
ed38d201de [skottie] Stroke dash support
AE supports dashing all strokes.  Dashes are specified as an arbitrary
number of intervals (alternating dash/gap) plus a start offset.

All values can be animated independently (but of course!).

  - implement a SkSG dash effect (based on SkDashPathEffect)
  - expand the shape builder logic to allow local geometry adjustments
    (kind of a bummer that dashing is a stroke/paint property as opposed
    to a geometry effect in AE)

Change-Id: Ic9ff35f2f9a552a3c26f9e1596ce58ad81f7ced5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274550
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-02 16:56:22 +00:00