Commit Graph

55117 Commits

Author SHA1 Message Date
Brian Osman
9eb0bb6256 Revert "Added DSL flags"
This reverts commit 71430593f0.

Reason for revert: Clang-tidy bot unhappy. (Not sure how this slipped by).

Original change's description:
> Added DSL flags
>
> This adds some basic flags to the DSL initialization which allows us to
> toggle things like optimization and validation.
>
> Change-Id: I35b10526af1678c88901eaacd5a2c4a9f5cd21a7
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406896
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: I7512b8bcc6e94707949904eec42c396faa7fdaf8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/407176
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-11 22:04:10 +00:00
Ethan Nicholas
71430593f0 Added DSL flags
This adds some basic flags to the DSL initialization which allows us to
toggle things like optimization and validation.

Change-Id: I35b10526af1678c88901eaacd5a2c4a9f5cd21a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406896
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-05-11 20:44:29 +00:00
Brian Salomon
594a1af19e Remove unused pixel ops caps from GrGLCaps.
Change-Id: Ic568a6774175741ca4765288ecd90c07471200db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406996
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-05-11 20:32:29 +00:00
Julia Lavrova
a3262aa1d2 Switching SkText to UTF16
Required some changes in SkUnicode to support it
SkShaper still works on UTF8

Change-Id: I76645668e1d9bf95eb4539a066deea2b24ecf5e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406360
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-05-11 20:31:29 +00:00
Chris Dalton
7d979919a4 Tune up tessellated stroke gms
* Make sure to actually use hardware tessellation on the *_tess_segs_5
  gms. These had started using the fixed count tessellator.

* Add a trickycubicstrokes version with round caps to test upcoming
  coverage AA modes.

* Make the colors more appealing since I spend all day looking at
  these gms.

Bug: skia:10419
Change-Id: Ie7ab4e936ffa3ccffe4999e51fac4c3d4ab97f06
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406976
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-11 20:26:49 +00:00
Brian Osman
ae87bf1e49 Remove SkSpan class template deduction guides
This effectively reverts a80ce1a36d,
and goes back to using SkMakeSpan (which works in C++14).

Change-Id: Iaa63c86b5acaadbdd60588b0a5c703820e810770
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406938
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-11 20:06:29 +00:00
John Stiles
543fd5f279 Revert "Transform verts using nonsquare matrices in FPs."
This reverts commit f3c38a3d0a.

Reason for revert: this breaks the Chrome roll

Original change's description:
> Transform verts using nonsquare matrices in FPs.
>
> IF THE CHROME ROLL BREAKS, ROLL BACK THIS CL!
>
> This relands one portion of http://review.skia.org/403079, which was
> rolled back due to a Chrome roll issue (a pixel-gap introduced in a form
> rendering test).
>
> Change-Id: I3d8f900c80c79f20e876ae360a93febe16a0a4bc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406836
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>

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

Change-Id: I45fced067ee18acfc7a36273bf9421f55eeaab5e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/407096
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-05-11 20:03:40 +00:00
Ethan Nicholas
b22fcaf627 Added DSL layout() support
Change-Id: I698dd607ff4676b6fb29be0a718c6073b66dc7c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406336
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-05-11 19:52:59 +00:00
Brian Salomon
3945895ea8 Fix prefer-flat in GrGLCaps
Another accidental logic change when removing GrGLDriver::kANGLE.

Change-Id: I3b79e86d66ad2edc6801d879ed54f9556aa97aa6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406940
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-05-11 18:57:29 +00:00
Julia Lavrova
6d14195309 Multi line + LTR/RTL
Change-Id: I0859773c00b6a4bd19047d25b75ee7c6727bc470
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403837
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-05-11 18:20:29 +00:00
Florin Malita
4882f97829 [svgcanvas] Add support for relative path encoding
- expand SkParsePath to support relative path encoding
 - introduce a new SkSVGCanvas flag for clients to opt into relative
   encoding

Bug: skia:11981
Change-Id: I2d6c63254df23311f1a86dee9481bde9531c3b61
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406876
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-05-11 17:44:59 +00:00
Michael Ludwig
4e1c1a77ad Implement computeFastBounds for PathEffects
Makes computeFastBounds not part of the public API, it's only accessible
to subclasses of SkPathEffect, GrStyle, and SkPaint. Subclasses can
invoke it other path effects using SkPathEffectPriv::ComputeFastBounds.

Changes the internal function to
  bool computeFastBounds(SkRect* bounds) const;

Subclasses of SkPathEffect must implement this, and can choose to return
false when fast bounds aren't computable.

Provides implementations of computeFastBounds() for path effects
bundled with Skia.

Bug: skia:11974
Change-Id: I545ccf99b4e669d3af9df13acfac28573306fab8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406140
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-05-11 17:01:59 +00:00
John Stiles
33ef30ec68 Optimize remaining simple 1-argument intrinsics.
Aside from sqrt() and normalize(), we now optimize all the intrinsics
which take a single argument as input, and return that argument with
each of its components permuted as output.

This CL also introduces a minor restriction--we no longer optimize
intrinsics which evaluate to inf or nan, such as `inversesqrt(-1)`.
These will be left in the source as-is.

Change-Id: I4919b3c18a2df81accd6daf2f650b9f587ff43fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406577
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-05-11 16:44:09 +00:00
John Stiles
f3c38a3d0a Transform verts using nonsquare matrices in FPs.
IF THE CHROME ROLL BREAKS, ROLL BACK THIS CL!

This relands one portion of http://review.skia.org/403079, which was
rolled back due to a Chrome roll issue (a pixel-gap introduced in a form
rendering test).

Change-Id: I3d8f900c80c79f20e876ae360a93febe16a0a4bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406836
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-05-11 16:09:40 +00:00
John Stiles
7c328b4b42 Replace macro with constexpr now that we require C++14.
Change-Id: I71531f4cb3b306687c0d532d5e5e9c1c36ed5357
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406476
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-11 15:28:29 +00:00
skia-autoroll
dae1676d56 Roll ANGLE from 2e84e59ab3e3 to 125f128e6239 (7 revisions)
2e84e59ab3..125f128e62

2021-05-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d3354ebca460 to 055e71b2a367 (1 revision)
2021-05-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from e260190edbd2 to dcb33711bd4b (3 revisions)
2021-05-11 lubosz.sarnecki@collabora.com FrameCatpure: Move capturing default vertex attribs to function.
2021-05-11 lubosz.sarnecki@collabora.com FrameCapture: Add GLES1 support to CaptureVertexArrayData.
2021-05-11 lubosz.sarnecki@collabora.com DEPS: Add Android tombstone resolution dependencies.
2021-05-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 518c3462c0a9 to fff9d6fb8ddf (568 revisions)
2021-05-11 gert.wollny@collabora.com Capture/Replay: reset CWD after the test ends

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 robertphillips@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
Tbr: robertphillips@google.com
Change-Id: I5b828b1333a3dcfceee71e7b2c03edf1d407a93e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406797
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-11 15:15:52 +00:00
Chris Dalton
85dbeb5e93 Move tessellation back doors into GrGLSLGeometryProcessor
This makes them easier to integrate with other shader code than having
them in GrGeometryProcessor.

Bug: skia:11396
Change-Id: I572348b8484ae46e00ac15832cd818390d536441
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406437
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-11 15:05:48 +00:00
Mike Reed
a5b17fd8d0 Move paragraph extra into demos
Change-Id: I5006e412084ad8e82eae5671577228f9241dbc1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406176
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-05-11 14:46:28 +00:00
John Stiles
be0eedcf6d Remove obsolete forward declaration of ExternalValue.
This IRNode was removed when the bytecode interpreter was replaced with
SkVM.

Change-Id: Iaade5632e4b76bced00dfb3766c7d911064d2722
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406758
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>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-05-11 14:37:29 +00:00
Brian Salomon
96bc12d19b Fix workaround for anglebug.com/4536.
Accidentally changed the triggering of this. (Though, it looks like
it probably isn't necessary anymore).

Bug: 1203705
Change-Id: Id7f1f4efa80b50fae602b6bd8b520d76edf79d6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406756
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-05-11 14:27:09 +00:00
John Stiles
7bb100ec04 Optimize not() intrinsic.
This is similar to the intrinsic optimization for any() and all(). Tests
for all three intrinsics have been bulked up a bit as well.

Change-Id: I262b9448e543b4709d1e7c8585f74a206c4b5abd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406576
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-05-11 14:08:39 +00:00
Leon Scroggins III
7c40b6761a SkAnimatedImage: consider exif orientation
Bug: skia:11968

In the simple constructor without an SkImageInfo, cropRect, etc, read
the orientation and swap the width and height if necessary. Although
SkAnimatedImage respects the orientation at decode time, initializing
with backwards width/height results in treating them as a scale.

Change-Id: I0500c3e9a99701c0ec2bba8994c356587a3c876c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406456
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2021-05-11 13:59:48 +00:00
Brian Salomon
bb006430ae When running on ANGLE GL backend use the underlying GL driver info
to setup caps.

Bug: 1203705
Change-Id: Ia50dfc6aef44848d81c735dc98dafdc692e8da40
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406117
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-05-11 13:07:58 +00:00
skia-autoroll
abdffd5d00 Roll Chromium from ed46c1e47728 to 5d4a69b076e1 (584 revisions)
ed46c1e477..5d4a69b076

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 robertphillips@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: robertphillips@google.com
Change-Id: I10c3a12bd7f2232337e9ce0900a6d72e058e65a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406676
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-11 08:16:56 +00:00
skia-autoroll
6709699cca Roll ANGLE from 0639f7a9e653 to 2e84e59ab3e3 (2 revisions)
0639f7a9e6..2e84e59ab3

2021-05-11 timvp@google.com Skip EndWithDifferentProgram() on Vulkan+Pixel 2
2021-05-10 jmadill@chromium.org samples: Use rpath on Linux/ChromeOS.

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 robertphillips@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
Tbr: robertphillips@google.com
Test: Test: TransformFeedbackTest::EndWithDifferentProgram()
Change-Id: I680053635edc35ba3dab7f8614a21c383e71cfa4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406559
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-11 05:48:06 +00:00
skia-autoroll
e918606a11 Roll Dawn from 26468c407175 to e2f083e4b0f5 (6 revisions)
https://dawn.googlesource.com/dawn.git/+log/26468c407175..e2f083e4b0f5

2021-05-11 enga@chromium.org Add tests for copies between 3D and 2D array textures
2021-05-11 enga@chromium.org Implement 3D texture copies on OpenGL/ES
2021-05-11 enga@chromium.org Implement 3D texture copies on Metal
2021-05-10 enga@chromium.org Implement 3D texture copies on Vulkan
2021-05-10 enga@chromium.org Validate that 3D texture copies cannot be between the same subresource
2021-05-10 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 6a56744b557c to 9fdfa1e32374 (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 6a56744b557c to 9fdfa1e32374

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 kainino@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: kainino@google.com
Change-Id: I329872804b1e794d7549b318253aae2e5341b080
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406560
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-11 05:43:36 +00:00
skia-autoroll
cb41df0bfa Roll SwiftShader from e260190edbd2 to dcb33711bd4b (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/e260190edbd2..dcb33711bd4b

2021-05-10 srisser@google.com Allow unrestricted depth bounds
2021-05-10 srisser@google.com Make clang-format-all.sh git aware
2021-05-10 sugoi@google.com Reduce size of SampledImageDescriptor

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 robertphillips@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: robertphillips@google.com
Change-Id: I86bda4d104da35e9016585d12943c72aade77553
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406558
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-11 05:28:36 +00:00
skia-autoroll
dc753cfc65 Roll ANGLE from 69d593b5d650 to 0639f7a9e653 (40 revisions)
69d593b5d6..0639f7a9e6

2021-05-10 jmadill@chromium.org Check angle_has_build before including runtime_deps.
2021-05-10 cnorthrop@google.com Tests: Add --fixed-test-time option
2021-05-10 cnorthrop@google.com Tests: Run Android tests fullscreen
2021-05-10 syoussefi@chromium.org Translator: Ensure structs and blocks are uniquely defined
2021-05-10 m.maiya@samsung.com Vulkan: Add device local fallback in findCompatibleMemoryIndex(...)
2021-05-10 timvp@google.com Remove Settings GUI from AOSP Builds and make product-specific
2021-05-10 jmadill@chromium.org infra: Remove duplicated trybots from the CQ.
2021-05-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from e839645bb9a6 to e260190edbd2 (2 revisions)
2021-05-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 13d25088cdc6 to d3354ebca460 (6 revisions)
2021-05-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 5f1f8ce65c68 to 518c3462c0a9 (330 revisions)
2021-05-10 lubosz.sarnecki@collabora.com TracePerfTest: Delete offscreen objects only when initialized.
2021-05-10 lubosz.sarnecki@collabora.com Capture/Replay: Add GLES1 test expectations.
2021-05-10 lubosz.sarnecki@collabora.com samples: Add TorusLighting sample.
2021-05-10 lexa.knyazev@gmail.com Update entry points for GL_EXT_texture_sRGB_RG8
2021-05-10 lubosz.sarnecki@collabora.com FrameCapture: Capture GLES1 vertex buffer pointers.
2021-05-08 syoussefi@chromium.org Translator: remove image2DRect
2021-05-08 syoussefi@chromium.org Vulkan: Cleanup buffer format fallbacks
2021-05-08 syoussefi@chromium.org Use ANGLE GL for Lacros Chrome
2021-05-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from f4228a4b663d to 5f1f8ce65c68 (809 revisions)
2021-05-07 m.maiya@samsung.com Vulkan: Don't assume host visibility for external buffers
2021-05-07 jmadill@chromium.org infra: Re-enable swarming tests.
2021-05-07 jplate@google.com Remove redundant OpenCL ICD library
2021-05-06 lubosz.sarnecki@collabora.com capture_gles_1_0: Implement ES1 capture functions.
2021-05-06 m.maiya@samsung.com Vulkan: Handle GL_MAP_PERSISTENT_BIT_EXT for external buffer
2021-05-06 jmadill@chromium.org Add missing perf results merger scripts.
2021-05-06 syoussefi@chromium.org Allow translator to use headers from common/spirv
2021-05-06 jmadill@chromium.org Explicitly include "runtime_deps" on Windows.
2021-05-06 m.maiya@samsung.com Vulkan: Honor mapRangeImpl and unmapImpl abstraction
2021-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 9698f0db4cd5 to dab93ea8f88c (1 revision)
2021-05-06 sergeyu@google.com [Fuchsia] Disable Vulkan validation
2021-05-06 jplate@google.com Add warning messages for not (yet) supported CL commands
2021-05-06 jmadill@chromium.org infra: Temporarily disable all swarming tests.
2021-05-06 jmadill@chromium.org Revert "Temporarily remove standalone tester bots from CQ."
2021-05-06 jmadill@chromium.org infra: Fix exclusion spec JSON.
2021-05-06 jplate@google.com Add loader for CL pass-through back end
2021-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 476acb91ebc2 to 9698f0db4cd5 (14 revisions)
2021-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 484a3e15893c to e839645bb9a6 (5 revisions)
2021-05-06 lubosz.sarnecki@collabora.com queryutils: Handle AmbientAndDiffuse param count.
2021-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from bc5a26253bb7 to 13d25088cdc6 (7 revisions)
2021-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 2270e13321c2 to f4228a4b663d (543 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 robertphillips@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
Tbr: robertphillips@google.com
Test: Test: angle_perftests
Test: Test: angle_perftests --fixed-test-time 20
Test: Test: angle_perftests --max-trial-time 2
Test: Test: python3 src/tests/capture_replay_tests.py --gtest_filter="*/ES1_Vulkan_SwiftShader"
Change-Id: I20cd4156b8f5199c3ceb12650a6679d6be532151
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406381
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-10 23:33:34 +00:00
Jorge Betancourt
e3934b937e [androidkit] expose lookAt, perspective, and inverse Matrix construction
Change-Id: I94de24b2e47365cd65025166d83dd8b6c8fda90a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405857
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-05-10 23:25:54 +00:00
Ethan Nicholas
614fb1ef9c Removed early_fragment_tests layout qualifier
This layout qualifier is not actually used anywhere.

Change-Id: I817c9affdd00e492c70f251eb52680644b7ff3f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406141
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-05-10 23:21:34 +00:00
Brian Salomon
99ebb17aed Add detection of underlying GL driver info on ANGLE GL backend.
Also remove kANGLE from GrGLVendor and GrGLDriver. Just use
GrGLANGLEBackend to detect if on ANGLE.

Bug: 1203705
Change-Id: I676dcf52ae5209abf6227175d0435441d0d42e25
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405692
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-05-10 22:42:55 +00:00
Ethan Nicholas
4fe43b3ad8 Added a comment explaining DSL Declare's signature
Change-Id: Ie151d31f7662586862b17d994ccf196b1d492a68
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406201
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-05-10 19:47:52 +00:00
John Stiles
420c563ba1 Add support for uint types in DSL C++ code generation.
UInt support was added to DSL in http://review.skia.org/403601. We use
the UInt type in the DitherEffect fragment processor.

Change-Id: I2770eb0196177ee403b461134c9895d2e0b2e6db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406139
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-10 18:43:52 +00:00
Brian Osman
a372429440 Align SkSpan API with std::span
SkSpan is a convenient type to use on API boundaries - callers can have
their collection in a stack-allocated array, or any contiguous container
(std::vector, etc). Those will all implicitly convert to SkSpan, making
call-sites easy to read/write.

Before making it part of Skia's public API, this CL removes parts of the
API that aren't present in std::span -- when Skia moves to C++20, this
should allow us to use std::span instead, and remove SkSpan entirely.

The most disruptive change is the removal of `int count()`. That's
replaced by a new free function `SkCount` that works on any container,
and incorporates the overflow check from SkTo<int>.

Change-Id: I86cdfad1700f341da3b81a965b396ca9d8b79df9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405816
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-10 17:41:52 +00:00
Brian Salomon
5ff9b79f44 Split out GrGLDriver/driver version detection from GrGLGetDriverInfo.
This will make it possible to reuse this code to detect the GL driver
info when running on ANGLE's GL backend.

Bug: 1203705
Change-Id: Ib0ef3f1ea50e462d743f5a0be3ec1eef3850c62b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405691
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-05-10 17:18:32 +00:00
John Stiles
60cafdf336 Simplify generated SkSL in emitNormalizedSkPosition.
This relands one portion of http://review.skia.org/403079, which was
rolled back due to a Chrome roll issue (a pixel-gap introduced in a form
rendering test).

Change-Id: I1a609ca54be58dd7ceeb2a63c22aac6eea90e8b6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406138
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>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-05-10 16:52:02 +00:00
Jorge Betancourt
c44ede6c78 [androidkit] expose minimal stroke settings to Java
Change-Id: I012aa2760ff2b39f0c21d6e235cf6731d13bfe3f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405856
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2021-05-10 16:33:32 +00:00
Ben Wagner
51308f145c SkTHashTable assert key self equal.
Add an assert in SkTHashTable::uncheckedSet that each added key is equal
to itself. This is an implied precondition which is easy to get wrong if
the key contains floating point values which may become NaN.

Motivated by https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30314
which would have been much easier to track down with this assert, since
the issue would have been discovered at insertion instead of much later
on removal.

Change-Id: I4eabb6892d2bff1e7bc33c04fd6b297b189a3b02
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405695
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-05-10 15:51:02 +00:00
Shahbaz Youssefi
8d8a68339b Fix ANGLE roll
ANGLE requires two new variables to be defined; angle_spirv_headers_dir
and angle_spirv_tools_dir.

This change adds those variables in preparation for an ANGLE roll.

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
Change-Id: I0c45cb19fd07c6a8551de68cdfe430675108ddb2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405678
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-05-10 15:34:52 +00:00
Michael Ludwig
799658f5c2 More sanitization of coordinates in GrTriangulator
It took a few "independent" changes in order to get the linked fuzzer
bugs to pass without failing. Leaving any out triggered an issue :/

 1. I changed nearly_flat to be <= epsilon, since if it's == epsilon and
    we split the edge, then the new coordinates would have
    difference < epsilon.
 2. I updated double_to_clamped_scalar to also snap very small values to
    0 (right now 16 * float epsilon).
 3. double_to_clamped_scalar is now used to clean up the computed
    intersection of two edges, and is used to process all initial
    vertices (in case the curve evaluation generates lots of denormals
    etc.)
 4. I updated the use of nearly_flat in checkForIntersection to report
    no intersection if both lines are nearly_flat. The comments suggest
    nearly_flat means you can't split along that line since the new
    coord is incalculable. So if both lines are flat, it's a really
    tough numerical scenario and I just punt.

Then I made a few other changes for the fuzzer and debugging:
 1. Added more logging messages and updated the code so that it compiles
    correctly if TRIANGULATOR_LOGGING is defined.
 2. I was also getting asserts in the fuzzer because the vertex
    allocator expects the vertex buffer to be detached by the path
    renderer before its destroyed, so I just have the fuzzer detach and
    discard it. Running locally, the fuzzer test cases from the two
    linked bugs pass successfully without oom'ing or timing out.

Bug: oss-fuzz:33672, oss-fuzz:33620
Change-Id: I7687b920db0a9e200b3fa79b323974b7812e52ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404120
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-05-10 15:23:02 +00:00
Dominik Röttsches
ee98a42d72 Avoid code duplication in retrieving color stops
Define a lambda to iterate over a FT_ColorStopIterator and copy the
stops and colors to a vector.

No functional changes.

Change-Id: I505b32c3add7b723beb43f6ec10cfcd3feaf3b9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405716
Commit-Queue: Dominik Röttsches <drott@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-05-10 14:59:02 +00:00
John Stiles
edac7716aa Evaluate single-argument generic intrinsics at compile time.
In particular, this optimizes abs() and sign() when all inputs are known
at compile time. This resolves a TODO on a test case in
`IllegalIndexing.rts`.

Change-Id: Ica310522a85b42dc7ae255bd25004a6629d04176
Bug: skia:10835
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405676
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-05-10 14:50:50 +00:00
Brian Salomon
96263aa7c6 Reuse GL enums for ANGLE vendor/renderer
Currently our ANGLE vendor/renderer detection is based ANGLE's D3D
backends. To detect on the GL backend it'd be helpful to reuse the
normal GL detection after extracting the relevant GL backend strings
that ANGLE puts in GL_RENDERER in its GLES frontend. This is a step in
that direction.

Bug: 1203705
Change-Id: I5367c49e8aaee2e138088316566f95900b9c4831
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405689
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-05-10 13:38:30 +00:00
skia-autoroll
bdadfc16df Roll SK Tool from 33de3938b244 to bccbf0e3ae0f
https://skia.googlesource.com/buildbot.git/+log/33de3938b244..bccbf0e3ae0f

2021-05-10 kjlubick@google.com [gold] Search for closest diffs in parallel
2021-05-08 rmistry@google.com Use main branch in skcms-skia roller

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC lovisolo@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

Tbr: lovisolo@google.com
Change-Id: I13892d0d7056b2f9de5c104fe9a77afa6afc4efb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406076
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-10 12:59:01 +00:00
skia-autoroll
e03030e1a7 Roll Chromium from 54647a439c14 to ed46c1e47728 (599 revisions)
54647a439c..ed46c1e477

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 robertphillips@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: robertphillips@google.com
Change-Id: Ie39c76e663678ed767efca5a36a22517adec7531
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406022
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-10 05:41:00 +00:00
skia-autoroll
bb2acbb147 Roll Dawn from 09a97ad44611 to 26468c407175 (6 revisions)
https://dawn.googlesource.com/dawn.git/+log/09a97ad44611..26468c407175

2021-05-08 enga@chromium.org Metal: Add CommandRecordingContext argument to ClearTexture
2021-05-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 25df959dadb0 to 6a56744b557c (9 revisions)
2021-05-07 bajones@chromium.org Suppress specific Vulkan validation messages
2021-05-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 698d01383cda to 25df959dadb0 (7 revisions)
2021-05-07 jiawei.shao@intel.com Skip CopyTests_T2B/CopyOneRowWithDepth32Float on D3D12
2021-05-07 jrprice@google.com Remove use of EmitVertexPointSize transform

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 698d01383cda to 6a56744b557c

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 bajones@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: bajones@google.com
Change-Id: Ic3b51bfca7eb42602496aeafd202e13d47498e03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406025
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-10 04:59:00 +00:00
skia-autoroll
6100cd8c1a Roll SwiftShader from 8b09c1078a2b to e260190edbd2 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/8b09c1078a2b..e260190edbd2

2021-05-07 sugoi@google.com Obtain all sampler parameters through SamplingRoutineCache::Key

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 robertphillips@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: robertphillips@google.com
Change-Id: I231c327da76c806ea5dc0b96e7115ba8ad0e819b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406023
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-10 04:51:33 +00:00
Mike Reed
1f85dd9159 Expose embolden on Font
Change-Id: I92c3b86b8cfff1a77e2a27503ec0cdc8b0cab784
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406037
Reviewed-by: Mike Reed <reed@google.com>
2021-05-09 18:03:44 +00:00
Mike Reed
7d093d8828 Quick out-of-range fix for selections
Change-Id: I6373f9a70c6e341a39114f0bdce50a92ee745dcb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406036
Reviewed-by: Mike Reed <reed@google.com>
2021-05-09 17:28:45 +00:00
Mike Reed
511c327de6 Sync styles when inserting/deleting text
Change-Id: I263ae85b0b229d359b865d8b8c9f4aed736b0654
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405880
Reviewed-by: Mike Reed <reed@google.com>
2021-05-09 17:00:14 +00:00