Commit Graph

60560 Commits

Author SHA1 Message Date
skia-autoroll
39872b74be Roll SwiftShader from 2e793ae08002 to 2400435e05b1 (4 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/2e793ae08002..2400435e05b1

2022-05-05 amaiorano@google.com Update SPIR-V Headers to b765c355f
2022-05-05 amaiorano@google.com Update SPIR-V Tools to 7014be600
2022-05-05 amaiorano@google.com update-spirvheaders: run Gerrit hook on generated CLs
2022-05-05 amaiorano@google.com update-sprivtools: run Gerrit hook on generated CLs

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 jlavrova@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jlavrova@google.com
Change-Id: I35d3a6ac4a1cd59029e574b12bcac2c5dc77bce9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537899
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-06 04:45:47 +00:00
Brian Salomon
4cf577899c Add support for GPU-backed buffers to SkCustomMesh.
The client passes a GrDirectContext* when creating a vertex or index
buffer. The data is copied to a GPU accessible buffer object
and the client gets a Skia object that may only be used with the GrDirectContext. The GPU backend draws directly from the buffer, thereby
avoiding the per-draw copy cost.

The underlying Ganesh object is freed in a thread-safe manner using an
existing message bus to perform a delayed unref in GrResourceCache.

Bug: skia:12720
Change-Id: If2578fbbf094874967a294a095b3bc5d7616d73a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527918
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-05-06 00:13:57 +00:00
Michael Ludwig
e706ba895c Move Ganesh tessellation helpers to src/gpu/ganesh/tessellate
Change-Id: I2374fd376f3038e59c82f57c68ac13557058de8d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/534663
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-05-06 00:08:59 +00:00
skia-autoroll
0fe311ac02 Roll vulkan-deps from 7727106601af to 46b00d7bf03f (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/7727106601af..46b00d7bf03f

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools from 2c7fb9707b98 to 7014be600c7a

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

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: jlavrova@google.com
Change-Id: I923968d23f445a07601da141264d3c6d1d250c3b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537642
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-05 22:10:46 +00:00
Ravi Mistry
18ac3ef222 Revert "[infra] Use Python3 for our Presubmits"
This reverts commit 094bcdb9e5.

Reason for revert: Breaking Housekeeper-PerCommit-InfraTests_Linux. The bot will have to be updated as part of this change.

Original change's description:
> [infra] Use Python3 for our Presubmits
>
> https://source.chromium.org/chromium/chromium/tools/depot_tools/+/main:presubmit_support.py;l=319;drc=443d9135cc33f3156d5fe25ebec33f9adffbab65
>
> This also makes any errors from `make train -C infra/bots`
> look well formatted because check_output returns a bytestring
> in Python3 and when that is printed, the newlines et al are not
> rendered correctly. Thus we want the output of check_output
> to be encoded to UTF-8.
>
> Without setting the USE_PYTHON3 = True in PRESUBMIT.py,
> it appears that `git cl upload` would try to run our
> infra_tests.py in Python2 mode, which does not have
> the encoding argument for check_output.
>
> Apparently cipd_bin_packages/vpython3 does not have the
> "six" package installed (but cipd_bin_packages/vpython does)
> so I replaced the six.StringIO with io.StringIO, which
> is where that is located in Python3.
>
> Change-Id: Ic8f61bf943531583ba3d110a85260d69bdbf5eb2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537677
> Reviewed-by: Ravi Mistry <rmistry@google.com>
> Reviewed-by: Eric Boren <borenet@google.com>

Change-Id: I0becb25d155ce0b0281c25d83662f1b01aee8033
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537777
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Ravi Mistry <rmistry@google.com>
2022-05-05 20:54:07 +00:00
Robert Phillips
5a56530bf4 Handle allocation failure in the flush-time preFlush callback
In general, we drop the entire flush when we detect an allocation
failure. This CL makes an allocation failure in the flush-time preFlush
call also drop the entire flush.

Bug: 1320964
Change-Id: Idd2e24fbf5d2083c4fec8de7ccd028897a239b33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536837
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-05-05 20:30:59 +00:00
Michael Ludwig
a6d2bbfd3d Move writePatch() to private now that PatchWriter isn't subclassed
The HW stroke tessellator had subclassed PatchWriter and called
writePatch() directly. Now the fixed-count variants all just use
the trait templates to configure PatchWriter directly.

Bug: skia:13263, skia:13056
Change-Id: I51c674968fe46974b217069909d71446a0d829c9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/534568
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-05-05 20:22:54 +00:00
Michael Ludwig
842383b985 Use constants for max parametric segments everywhere
There had been plumbing for variable amounts of segments throughout
the patch writers and shaders because HW tessellation had to limit it
based on what the GPU could handle in its tessellation pipeline.

Now that everything just uses the fixed count approach, we can keep it
all as constants. I considered letting it remain parameterized in the
event we wanted ganesh and graphite to diverge, but figured it was
better to have consistent handling of paths.

Bug: skia:13263, skia:13056
Change-Id: I351d5d762bdab47e4091b18efbd857ac1e500be4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/534567
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2022-05-05 20:04:11 +00:00
Kevin Lubick
094bcdb9e5 [infra] Use Python3 for our Presubmits
https://source.chromium.org/chromium/chromium/tools/depot_tools/+/main:presubmit_support.py;l=319;drc=443d9135cc33f3156d5fe25ebec33f9adffbab65

This also makes any errors from `make train -C infra/bots`
look well formatted because check_output returns a bytestring
in Python3 and when that is printed, the newlines et al are not
rendered correctly. Thus we want the output of check_output
to be encoded to UTF-8.

Without setting the USE_PYTHON3 = True in PRESUBMIT.py,
it appears that `git cl upload` would try to run our
infra_tests.py in Python2 mode, which does not have
the encoding argument for check_output.

Apparently cipd_bin_packages/vpython3 does not have the
"six" package installed (but cipd_bin_packages/vpython does)
so I replaced the six.StringIO with io.StringIO, which
is where that is located in Python3.

Change-Id: Ic8f61bf943531583ba3d110a85260d69bdbf5eb2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537677
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2022-05-05 20:01:29 +00:00
Kevin Lubick
a683fe6c00 [canvaskit] Deploy 0.34.0
Change-Id: I0afd3eae5bfdc3b64158771fe1d6100552d99c07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537676
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2022-05-05 19:35:46 +00:00
Jim Van Verth
a924d7293a Move BulkUseUpdater to AtlasTypes.
This, combined with moving the def for GlyphVector::regenerateAtlas to
a Ganesh-only cpp file, allows us to move GlyphVector into the shared
gpu GN group.

Bug: skia:13118
Change-Id: I59b91f8406ac31f105f10fcddf6d0076d35c5bd9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537459
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2022-05-05 19:21:17 +00:00
Ben Wagner
f7daa168cb Allow use of ASAN with msvc.
Starting with Visual Studio 2019 version 16.9 (msvc++ 14.28,
__MSC_VER 1928) has support for it's own version of AddressSanitizer.

Change-Id: I106b7e765ac80e4fc6eabd5b88500cbec5e38714
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537461
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-05-05 19:04:23 +00:00
Ben Wagner
e3f2cfc2a4 FreeType configuration in public_defines.
Any settings in the FreeType build which may modify the public FreeType
headers must be public_defines. Otherwise FreeType may be built one way
and the dependents on this target may be built with what are essentially
different headers.

This fixes the Skia build with built-in FreeType on Windows.

Change-Id: I6b317fbe491dd6fdd135928b6f50436102a1e281
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537460
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2022-05-05 18:40:49 +00:00
Herb Derby
2008355f1e Remove default ctor for SkGlyphRunList
In preparation for making GlyphRunList handle the drawing buffers.
When handling the drawing buffers, there will no longer be
an empty glyph run list.

Change-Id: I7b3ff1bffc5e684515daabfa7601df0e107082f9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537458
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-05 18:40:19 +00:00
Robert Phillips
e533c9bfd5 Make the old-skp job's output match the size of the DDL jobs' output
This CL could, arguably, confuse the issue wrt why these images are
being generated but making the sizes match will make the images easier
to triage.

Bug: skia:13278
Change-Id: Ifb0b82eaaa4351fb589118d3b28673da9dd32e20
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537576
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-05-05 18:35:38 +00:00
Brian Salomon
437cd4d857 Make unref messages to GrResourceCache work with all resource types.
Previously we made them texture-only to fix an upcast that occurred
through a virtual inheritance link on a pointer to a deleted object.

This change changes the mechanism such that the sender of the message
maintains a ref that is moved into the sent message. The upcast happens
during creation of the message and thus before the resource is deleted.

The motivation is to use this for SkCustomMesh vertex/index buffers.

Bug: skia:13036
Change-Id: I0990eaed0d736257e1b19e9819e0dac8a9af8c18
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537084
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-05-05 18:35:07 +00:00
Jim Van Verth
35e1ca4b3b Move more GPU text classes to sktext::gpu namespace.
Moves GlyphVector, TextStrike, StrikeCache, and SubRunAllocator.

Bug: skia:13118
Change-Id: Ifa4957b5cff280f44606dc62bfd30f6a03063c07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536102
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-05-05 16:10:24 +00:00
Kevin Lubick
8d2fb64247 [canvaskit] Always serialize Typeface data into SKPs
Before: http://screen/4gnRTnRGyBuEsA9
After: http://screen/5jdoRcED7X3Taf7

There's a few misc fixes related to Bazel rules and tests too.

Change-Id: I2ac272fe5312c2a825944259f2f9031fff9887e0
Bug: skia:13247
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/535477
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-05-05 15:43:32 +00:00
Aditya Kushwah
1fb7b3d701 Plumb label through createTextureCommon.
In this CL, the labels will be plumbed through createTextureCommon,
into onCreateTexture, and then passed to the various Gr*Textures
constructors.

Bug: chromium:1164111

Plumb label from GrGpu's createTexture function.

In this CL, GrResourceProvider's functions, like createTexture etc,
get label string passed to it which are called from GrGpu which then
passes the label to setLabel method of GrGpuResource by making use of
intermediate GrGpuResourcePriv class.

Bug: chromium:1164111
Change-Id: I068a4b4bf3db8efa099bf742efce592f73a3008a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536879
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-05-05 15:21:23 +00:00
Michael Ludwig
9a393dd52b Move fixed-count constants into Tessellation.h
With HW tessellation removed, fixed-count is the only version of this
approach, so the fixed-count-only constants can be part of
Tessellation.h, leaving FixedCountBufferUtils.h purely for creating the
vertex/index buffers.

Bug: skia:13056, skia:13263
Change-Id: I413a9ebe19fe4427e1ebacee7484d57377abf44e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/534563
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2022-05-05 13:18:42 +00:00
skia-autoroll
d7ddbe668d Roll vulkan-deps from 40f4358a2a69 to 7727106601af (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/40f4358a2a69..7727106601af

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

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: jlavrova@google.com
Change-Id: Ic0bc50be956a434ee300bf83ae5c70c35d3391f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537376
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-05 09:29:47 +00:00
skia-autoroll
f19b77ef14 Roll ANGLE from edd331ebeef5 to 9865ed8b8117 (7 revisions)
edd331ebee..9865ed8b81

2022-05-04 doughorn@google.com Check in //build files needed.
2022-05-04 antonio.caggiano@collabora.com Vulkan: Wayland dmabuf extensions
2022-05-04 jmadill@chromium.org Re-land: "Vulkan: Cache ImageView serials on texture changes."
2022-05-04 amaiorano@google.com Fix build flags not in declare_args when angle_has_build is true
2022-05-04 syoussefi@chromium.org Presubmit: Verify comment before new tests
2022-05-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from cdf43bd816d7 to 643179694ec7 (4 revisions)
2022-05-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 55c89a3a09ac to 6db3a94387ed (508 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 jlavrova@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/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: jlavrova@google.com
Test: Test: ./scripts/roll_aosp.sh
Change-Id: Ifc877e4a834192b5ac7ef39b064b8084879a6e48
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537224
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-05 05:59:46 +00:00
skia-autoroll
33cedc38f2 Roll SwiftShader from ae17ef6d12d8 to 2e793ae08002 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/ae17ef6d12d8..2e793ae08002

2022-05-04 pkasting@chromium.org Remove use of std::iterator, which is gone in C++20.
2022-05-04 capn@google.com Always enable MemorySanitizer instrumentation for compute routines

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 jlavrova@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jlavrova@google.com
Change-Id: I5dd6d50cf096603c886900360f1dcff36225689d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537223
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-05 04:49:21 +00:00
Peter Kasting
5d969e3dd9 Fix to allow building in -std=c++20 mode.
Various kinds of math with enums are deprecated, so switch to
constexprs.

Bug: chromium:1284275
Change-Id: I7ec0aa493b170538170f2a9f3262e7bed870c568
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536886
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-05-04 20:58:16 +00:00
skia-autoroll
20d0b4301a Roll vulkan-deps from 1ebd98d952fa to 40f4358a2a69 (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/1ebd98d952fa..40f4358a2a69

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools from 58dc37ea6af7 to 2c7fb9707b98

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

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: jlavrova@google.com
Change-Id: I41ef8cab2893e34c95602adeefb8ca12fc93c43a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537220
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-04 20:52:26 +00:00
Michael Ludwig
de436b3d92 Remove HW tessellation related caps
Bug: skia:12198
Change-Id: I6f69ba61fc15ce21963875e7b8ad0fac9d8d9430
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/533701
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-05-04 20:51:27 +00:00
Michael Ludwig
e8968dce7a Remove HW tess info from GrProgramInfo and related types
Bug: skia:13263
Change-Id: I2289895e49d32664653165b8c1e29968edd3e0a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/533700
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-05-04 20:26:12 +00:00
Brian Osman
38d4fdebbb Remove all CommandBuffer support code
Bug: skia:13040
Change-Id: I1749f21162ea400a8b8fb00ed52e6024eb658d52
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537082
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-05-04 20:19:17 +00:00
Michael Ludwig
7ace65de40 Remove tessellation backdoor in GrGeometryProcessor
Bug: skia:13263, skia:12198
Change-Id: I70988b765dc21e7c8728ea614c0974f9696eac33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/534203
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-05-04 19:17:06 +00:00
Brian Osman
2e1cc9a946 Remove recipes code for RecreateSKPs bot, as well as chromium DEPS entry
Change-Id: I1ca07f97757f70debc0589648a57ba10b1729636
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537081
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2022-05-04 18:16:26 +00:00
Jorge Betancourt
b894c69abb set up tools for building Skia on Mac semi hermetically
Reviewer notes:
PS1 and PS2 handle everything up to the linking stage of the build
PS6 and PS7 are trivial renamings and rebases, diff between Base->PS5 for a cleaner review

No-Try: true
Change-Id: Ib21ce2e8839ecd4b4dd57280e82f56a98194e476
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532765
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2022-05-04 16:56:46 +00:00
Ravi Mistry
ec6cc1f422 Use the correct SKP asset number in OldestSupportedSkpVersion bot
Bug: skia:13278
Change-Id: Iefa842284b757f2908c4d5de6490033c68c9206a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536640
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2022-05-04 16:44:41 +00:00
Brian Salomon
60f2da5d15 Add buffer API to SkCustomMesh.
SkCustomMesh is a class with factory functions. Vertex and index
data are stored in buffer objects rather than raw pointers. User can
provide offsets into the buffers.

Currently the buffers are always CPU backend and are uploaded to the
GPU on each draw. However, buffer the creation API takes a
GrDirectContext which in the future will be used to create a GPU-backed
buffer specific to the passed context.

Bug: skia:12720
Change-Id: If1bb8110f0f2f219b030f9682ab844f1f2207d9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527917
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-05-04 16:29:27 +00:00
Brian Osman
4bec8d8ea2 Remove CommandBuffer bots and supporting code from infra scripts
Bug: skia:13040
Bug: skia:9235
Bug: skia:10412
Bug: skia:12437
Change-Id: Ia96f8332b5372ecf65cb20ffb9549bc0dc8f931b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537080
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-05-04 16:11:31 +00:00
Michael Ludwig
05a78241e5 Remove branch in robust_normalize_diff function
This removes one branch, one normalize, one max, and switches to
dividing by the magnitude once, instead of doing it twice; invMag may
not be exact but it's accuracy should be similar to doing the divide
directly.

I changed the magnitude scaling to happen after subtracting the two
points, since this was a better balance between dealing with points
that had really large coordinates, and points that differed by epsilon
(where upon dividing the original coordinate value would lose that
precision, but doing it after the subtraction preserved the
direction).

At the very least, this does not cause the accuracy failures for large
coordinates that I was seeing before robust_normalize_diff was first
added, and it avoids issues with epsilon sized stroke rectangles that I
ran into when evaluating other optimization variants of this function.

Bug: skia:13275
Change-Id: I07862b80b67ef905fce2aeeeabed3e907a63796a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/535438
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-05-04 15:56:20 +00:00
Brian Osman
6e517a9d7f Add dylib flag to DM
Change-Id: Ib81dc1f0c77a8300b20105612b7310d69027ea29
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537077
Reviewed-by: Herb Derby <herb@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-04 15:17:54 +00:00
Kevin Lubick
269e687f4f [bazel] Make PRESUBMIT ignore deleted BUILD.bazel files
Change-Id: Ia1d43e4814eb23fc111df0c1800425272337936c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536639
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-05-04 15:12:21 +00:00
Florin Malita
722d1c0679 SkM44::LookAt: handle zero-length vectors gracefully
Zero-length vectors cannot be normalized.

Bug: oss-fuzz:38738
Change-Id: I6c5f4114f70a8a9f03afc1cd70c871e6b6b520ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536637
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-05-04 15:05:35 +00:00
Brian Osman
efb1290cdf Add Mac ANGLE test bots
Bug: skia:13272
Bug: skia:13289
Bug: skia:13290
Bug: angleproject:7145
Bug: angleproject:7245
Change-Id: I2d56408126bcd40f0aba66b14020cb8e04624c2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536497
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2022-05-04 14:55:27 +00:00
Michael Ludwig
3afac9e553 Remove patch/HW tessellation concepts from GrTessellationShader
Bug: skia:13263
Change-Id: I045f7c3b5d0ea27fd231309ac4af275257bebf33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/534202
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-05-04 14:07:33 +00:00
Herb Derby
33583b9c36 Add initializer class to improve safety of AllocateClassMemoryAndArena
Change-Id: If5f14828029473afef25c5ef69db3971796cdfc4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537076
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-05-04 14:04:48 +00:00
Kevin Lubick
ad09d4b41d [bazel] Make presubmit for new Bazel files
Change-Id: Ie36fc895736999375d9a4b19fabeea7b64c81631
Bug: skia:13211
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537116
Reviewed-by: Ravi Mistry <rmistry@google.com>
2022-05-04 14:03:55 +00:00
Ravi Mistry
716447510a [infra] Make bot that runs DM on the oldest supported SKP version
There are two SKP versions we deal with here:
* The min and current supported versions in src/core/SkPicturePriv.h.
* The SKP asset version that is incremented weekly in infra/bots/assets/skp/VERSION.

We will need to update the asset version used by the bot when the min version in src/core/SkPicturePriv.h is updated.
Instructions on how to do that have been documented in src/core/SkPicturePriv.h.

As noted in https://bugs.chromium.org/p/skia/issues/detail?id=13278#c2 DM currently does not fail when it fails to parse an SKP. Till DM is updated to fail, developers will have to look for blank images in Gold via this new bot to determine when we are failing to support the oldest SKP version.

Bug: skia:13278
Change-Id: I8fff62cc289c3bd6abf5179bcee349baf0a8188a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536106
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2022-05-04 13:35:10 +00:00
Robert Phillips
6cd730f8f2 [graphite] Remove custom glue code for local matrix and blend shaders
We now pass the child output variable names into the snippet code after
all the uniforms.

This leaves the following 3 custom glue code generators:

GenerateImageShaderGlueCode          -- sampler
GenerateFixedFunctionBlenderGlueCode -- prior stage's output
GenerateShaderBasedBlenderGlueCode   -- dst read & prior stage's output

Bug: skia:12701
Change-Id: I9185d8f292cc45d351218b95fa6d7d70d639e2f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536098
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-05-04 13:17:29 +00:00
Kevin Lubick
33fe2f5609 Fix G3 Build
I need to add a presubmit that verifies our BUILD.bazel files
(i.e. the new ones) have the appropriate header.

Change-Id: I368d8e773aa59ff17b6d81812c67cb849c0a08fc
Bug: skia:13211
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536881
Reviewed-by: Ravi Mistry <rmistry@google.com>
2022-05-04 11:30:35 +00:00
skia-autoroll
b80fb89600 Roll vulkan-deps from 3b9b5a7559f3 to 1ebd98d952fa (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/3b9b5a7559f3..1ebd98d952fa

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

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: jlavrova@google.com
Change-Id: I4411e5c8b10ac95f2f5bb8e76be6cab4873d403a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537016
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-04 08:14:20 +00:00
skia-autoroll
c4f818e10a Roll ANGLE from 5113ae8ef06a to edd331ebeef5 (12 revisions)
5113ae8ef0..edd331ebee

2022-05-03 abdolrashidi@google.com Traces: Add a device arg to restricted_trace_perf
2022-05-03 m.maiya@samsung.com Consolidate handle list before pushing to mReleasedList
2022-05-03 jmadill@chromium.org infra: Remove some slow *SAN tests.
2022-05-03 senorblanco@chromium.org D3D11: fix BufferToTexture copy when UNPACK_ROW_LENGTH is set.
2022-05-03 antonio.caggiano@collabora.com Re-land: "Vulkan: Support Wayland"
2022-05-03 yuxinhu@google.com Basis Universal Texture Experiment
2022-05-03 jmadill@chromium.org Fix validation cache when deleting a Transform Feedback.
2022-05-03 ynovikov@chromium.org Skip flaky tests on Win ASAN
2022-05-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 1cde45b8d7aa to 4ca7acf89869 (6 revisions)
2022-05-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from adef92e7b4c6 to cdf43bd816d7 (8 revisions)
2022-05-03 ynovikov@chromium.org Revert "Re-land: "Vulkan: Support Wayland""
2022-05-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 929311ac6298 to 55c89a3a09ac (470 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 jlavrova@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/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: jlavrova@google.com
Test: Test: HandleAllocatorTest.ConsolidateRangeDuringRelease
Change-Id: I114db8ed57a7709160a5d1fde121857a453a9443
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536957
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-04 05:53:44 +00:00
skia-autoroll
c442a9405b Roll Chromium from 8a1d55bd2528 to 2635a346f46f (504 revisions)
8a1d55bd25..2635a346f4

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 jlavrova@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/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: jlavrova@google.com
Change-Id: Ic719b530f8a1afaee5753a3292067a501b3f4227
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536959
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-04 04:55:20 +00:00
skia-autoroll
c0ccfe748b Roll SwiftShader from cdf43bd816d7 to ae17ef6d12d8 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/cdf43bd816d7..ae17ef6d12d8

2022-05-04 capn@google.com Always enable MemorySanitizer instrumentation for sampling routines
2022-05-03 capn@google.com Handle instrumentation of scalar single-precision (_ss) intrinsics
2022-05-03 nicolascapens@google.com Revert "Always enable MemorySanitizer instrumentation for vertex routines"

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 jlavrova@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jlavrova@google.com
Change-Id: If48e13a685f46249eaaea833f99139257719bc98
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536958
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-04 04:51:24 +00:00
skia-autoroll
7425ab9c6d Roll Dawn from a1a3e0484c48 to 9483b741a884 (10 revisions)
https://dawn.googlesource.com/dawn.git/+log/a1a3e0484c48..9483b741a884

2022-05-03 enga@chromium.org Mark requestDevice_limits:supported_limits:* RetryOnFailure
2022-05-03 enga@chromium.org Roll third_party/webgpu-cts/ 547d67bc2..249f2b79 (8 commits)
2022-05-03 bclayton@google.com dawn/node: Roll to latest IDL
2022-05-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from cdf43bd816d7 to c75846ead9a0 (1 revision)
2022-05-03 bclayton@google.com tools: More CTS tooling improvements
2022-05-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from e39dfe0fe61c to 84e42c3b04da (30 revisions)
2022-05-03 bclayton@google.com tint: Fix indentation in code templates
2022-05-03 bclayton@google.com run-cts: Default enable colors iff stdout is a terminal.
2022-05-03 bclayton@google.com tint: Fix `[chromium-style]` auto pointer warnings
2022-05-03 bclayton@google.com tint: Don't generate 'smoothStep' tests

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 amaiorano@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: amaiorano@google.com
Change-Id: Ic7dcca1a1aaf3de4a8a3ebbf4ca1295fa84fb95b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536956
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-04 04:35:24 +00:00