Commit Graph

60496 Commits

Author SHA1 Message Date
Brian Osman
8b3731b336 Move settings tweak for "generic" programs into the compiler
Change-Id: I4643cc4c1f75deab279625e752b9fee7da2e2779
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539039
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-05-10 17:49:36 +00:00
Greg Daniel
2eddf1a560 Set VMA version define to limit it to vulkan 1.1.
Bug: b/231953246
Change-Id: Ib2b6ae50bfd13c7aff0e0c656bc61e5f8a6e4345
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539038
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-05-10 17:43:56 +00:00
skia-autoroll
6079423e54 Roll ANGLE from e316203a6a2f to 2b8172b9b21e (13 revisions)
e316203a6a..2b8172b9b2

2022-05-09 cclao@google.com Vulkan: Add missing initialization for mTotalMemorySize
2022-05-09 syoussefi@chromium.org Vulkan: Remove suppressions and workarounds for old AMD/Windows
2022-05-09 ynovikov@chromium.org Revert "Vulkan: GBM platform"
2022-05-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from bc117969dbb5 to 7f78f00fdc5c (162 revisions)
2022-05-09 geofflang@chromium.org Reset the program executable if async linking fails.
2022-05-09 antonio.caggiano@collabora.com Vulkan: GBM platform
2022-05-09 cclao@google.com Vulkan: Fix VVL error for black desert mobile
2022-05-09 lexa.knyazev@gmail.com Add CopyTextureTest.ClearAfterCopySubTexture
2022-05-09 jmadill@chromium.org Vulkan: Use ImageView layer count functions in TextureVk.
2022-05-09 geofflang@chromium.org HLSL: Disambiguate functions that have int/uint parameters.
2022-05-09 jmadill@chromium.org Vulkan: Always init image views using image format.
2022-05-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 74e34ab97aeb to 1dd93361b1d9 (3 revisions)
2022-05-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 333c8248b125 to bc117969dbb5 (506 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 lovisolo@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: lovisolo@google.com
Change-Id: I5e012995f7315271cdfe78b8e786ae347805b512
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538977
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-10 17:20:31 +00:00
Brian Osman
d724c74a4f Ensure skia_gl_standard is correct when skia_use_angle is true
This simplifies the bot script slightly. More importantly, it means that
local developers don't need to remember to do this when building ANGLE
on Mac.

Cq-Include-Trybots: luci.skia.skia.primary:Test-Mac12-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-ANGLE
Change-Id: Ia60cd07f15e3b447b58cfa1198ea26f68f72384b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539036
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2022-05-10 17:13:15 +00:00
skia-autoroll
d886bdc4f6 Roll vulkan-deps from 626b2fd72bde to 100b1c52ea66 (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/626b2fd72bde..100b1c52ea66

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools from ffc8f2d45566 to ad3514b73237
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers from 8ba8294c86d0 to 33d4dd987fc8

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 lovisolo@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: lovisolo@google.com
Change-Id: I26efc982cfbd2e5d94ff343e6ca4e0d33277f1e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539016
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-10 17:05:08 +00:00
skia-autoroll
0cd16173b0 Roll SwiftShader from 1dd93361b1d9 to e4a6f2d74d3c (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/1dd93361b1d9..e4a6f2d74d3c

2022-05-09 swiftshader.regress@gmail.com Regres: Update test lists @ f5cda783
2022-05-09 swiftshader.regress@gmail.com Regres: Update test lists @ 1dd93361

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 lovisolo@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: lovisolo@google.com
Change-Id: I9c6d332064ee074acfb01c52be8400ab0aa2d8cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538978
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-10 16:59:59 +00:00
Herb Derby
14427f740d Enhance debug tracing
Use if constexpr so that tracing code does not bit rot.

Change-Id: Ib85f79b53c6a48bb1b80a51e5539dbdf077802d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538898
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-10 16:59:47 +00:00
Kevin Lubick
167e608bb3 [infra] Remove old python scripts and urllib2 references
I was searching for urllib2 while resolving issues with
https://skia-review.googlesource.com/c/skia/+/538636
when I found several old, apparently unused scripts.

Rather than fix them, let's get rid of them. If they
are still in use, the conversion to urllib.request is
pretty easy.

Change-Id: I27d419601e81c93a3d53e280188a379dfab927c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538936
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2022-05-10 16:54:39 +00:00
Herb Derby
add4004be5 Extract the CPU code of SkGlyphRunPainter called SkGlyphRunPainterCPU
Simplify the fields used by each, and simplify the CTORs in
the original SkGlyphRunPainter.

TODO: come up with a better no gpu method. Eventually, this
should be pure Sk. There is no need for GPU to make and
serialize a slug only to draw them.

Change-Id: I446fe0c285ae778a14b30e09c8a2cff3cd1a56c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538896
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-05-10 16:54:33 +00:00
Herb Derby
ee0d15dc9f Move the SubRun buffers to the Canvas using the GlyphRunBuilder
Move the SubRun buffers from the Paint to the Builder that is held
by the Canvas. This allows better sharing of the buffers, and enables
splitting the Painter into CPU and GPU.

Change-Id: I860441732b4042be0534af3d002d63ece02de8c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538662
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-09 17:43:57 +00:00
Ben Wagner
638fcaea9f Keep SkStrike alive for its SkDrawables.
In theory all glyph representations including masks, paths and drawables
should keep a reference to the SkStrike which owns the actual data they
refer to. For paths this is worked around by always creating a copy of
the path (which is inexpensive) which itself simply reference counts the
underlying path data which is not directly owned by the SkStrike. For
masks it is impractical for every mask to hold a reference to the
SkStrike in any event as the pointer alone would often be larger than
the image. For drawables the implementation may be simply a pointer to
the scaler context and a glyph id. In theory each drawable could hold a
reference to the SkStrike, but potentially means a lot of references
when ensuring the SkStrike outlives any drawables it produces would be
more effecient.

This change ensures that the SkStrike is referenced while holding
references to drawables the SkStrike produced.

Bug: chromium:1322902
Change-Id: I6db8ae1bd614167da008caaff089e7d3e15aa9bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537980
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-05-09 17:23:49 +00:00
Brian Salomon
05d6d80743 SkImage_Raster::onMakeColorTypeAndColorSpace checks for alloc failure
Bug: chromium:1319093
Change-Id: Ie3e602538a9728d80e48f60507f73ca8c7f05f32
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/534498
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-05-09 17:00:19 +00:00
Herb Derby
344a7a20c8 Isolate the buffers for generating SubRuns
Isolate the buffers to move them from the Painter, where they are
situated on the Device(CPU) or SurfaceDrawContext(GPU), to the
Canvas. This will allow better sharing of the buffers, and the
splitting out of the CPU and GPU parts of the Painter.

Change-Id: Ie2a99dc7f9e784c4f00012b71ece5ff482687a88
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538660
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2022-05-09 16:14:01 +00:00
Herb Derby
3e7e4e94b4 Manage buffers at the list level only
Now that the painter has moved from a GlyphRun to a GlyphRunList,
handle the buffers at the GlyphRunList level only.

Change-Id: I37416c8b2164bbde207ecab0a77b419775d58e66
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538659
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-09 15:43:45 +00:00
James Godfrey-Kittle
cfe50e2e47 Update docs to reference python3
Also updates a script with 2to3 to be python3-compatible.

Change-Id: I45981349664aef4491e7ab20e49889d461f8bf3f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538417
Commit-Queue: James Godfrey-Kittle <jamesgk@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2022-05-09 15:07:22 +00:00
Michael Ludwig
072000b5d4 Do not disable tessellating path renderer over command buffer
Bug: skia:13263
Change-Id: I29e04ccc88a9ff2286c82302740e404aeba1b740
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/534669
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-05-09 14:37:12 +00:00
Brian Salomon
f7082cb9fa Rename SkCustomMesh to SkMesh
Also rename associated files, types, functions, etc.

Bug: skia:12720
Change-Id: Ibebb4e7071fa19c5a81cd36d567c96a42cd824f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538040
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-05-09 13:36:21 +00:00
skia-autoroll
0b81e99101 Roll ANGLE from 1d5d09e4191a to e316203a6a2f (17 revisions)
1d5d09e419..e316203a6a

2022-05-08 zzyiwei@chromium.org Vulkan: add forceContinuousRefreshOnSharedPresent feature
2022-05-07 yuxinhu@google.com Tests: Add Mortal Kombat App Trace
2022-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 4ca7acf89869 to 626b2fd72bde (22 revisions)
2022-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 3bc34dd4d819 to 333c8248b125 (124 revisions)
2022-05-06 cnorthrop@google.com Tests: Add Basemark GPU trace
2022-05-06 abdolrashidi@google.com Revert "Remove limit_max_texture_size_to_4096 workaround"
2022-05-06 ynovikov@chromium.org [Fuchsia] Download the gn sdk instead of core
2022-05-06 cnorthrop@google.com Tests: Add Puzzles and Survival trace
2022-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 106df4122297 to acf70aaf3fdb (12 revisions)
2022-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 643179694ec7 to 74e34ab97aeb (7 revisions)
2022-05-06 cnorthrop@google.com Tests: Add Monument Valley trace
2022-05-06 cnorthrop@google.com Tests: Add Dead Cells trace
2022-05-06 chonggu@google.com Migrate Fuchsia sdk checkout from using script to CIPD
2022-05-06 jmadill@chromium.org Vulkan: Simplify external format Chroma code.
2022-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 617cd3226543 to 3bc34dd4d819 (40 revisions)
2022-05-06 lubosz.sarnecki@collabora.com util/X11Window: Set PMinSize and PMaxSize hints.
2022-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 7a60295b6324 to 617cd3226543 (278 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 lovisolo@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: lovisolo@google.com
Test: Test: angle_end2end_tests --gtest_filter="EGLSingleBufferTest*"
Test: Test: angle_perftests --gtest_filter="*basemark_gpu*"
Test: Test: angle_perftests --gtest_filter="*dead_cells*"
Test: Test: angle_perftests --gtest_filter="*monument_valley*"
Test: Test: angle_perftests --gtest_filter="*mortal_kombat*"
Test: Test: angle_perftests --gtest_filter="*puzzles_and_survival*"
Test: Test: smooth draw with gpu accelerated low latency stylus in ChromeOS
Change-Id: I3b2402677f5c34b2c3dee1a403793599a4276e22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538597
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-09 05:54:17 +00:00
skia-autoroll
1ae84d1a68 Roll SwiftShader from 2400435e05b1 to 1dd93361b1d9 (5 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/2400435e05b1..1dd93361b1d9

2022-05-07 capn@google.com Always enable MemorySanitizer instrumentation for vertex routines
2022-05-07 capn@google.com Don't make use of roundps in MSan builds
2022-05-07 capn@google.com Don't make use of cvtps2dq in MSan builds
2022-05-06 capn@google.com Override the SPIRV-Headers path to use local copy
2022-05-06 capn@google.com Fix SPIRV-Tools Android.bp build

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 lovisolo@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: lovisolo@google.com
Change-Id: Ib3bbdb383963d2284fb06cc80545ba8343e95fb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538596
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-09 04:46:25 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
83739ee0da Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: Idcced8f213e46ea32ed5ef81a50e6055ef91e957
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538556
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-05-08 08:21:17 +00:00
skia-autoroll
0820e69d7c Roll vulkan-deps from 65a0abb71586 to 626b2fd72bde (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/65a0abb71586..626b2fd72bde

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

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: Id4621cce2cc9207f9103e0c9a36cd661a08f13a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538090
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 23:34:44 +00:00
Brian Osman
ea640e7579 Hack to suppress warnings from MSL compiler
Change-Id: I43ca73d208334c71b393a4b6352b758c8c45ce27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538045
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-05-06 20:51:59 +00:00
James Godfrey-Kittle
eba022af78 [graphite] Add radial gradient shader
Bug: skia:13302
Change-Id: I6c8e8e9e6741862977a3d1b89fb58bff9cb76ee7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537981
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: James Godfrey-Kittle <jamesgk@google.com>
2022-05-06 20:25:05 +00:00
skia-autoroll
aac8e4545a Roll SK Tool from 52605d78544b to 3cd767f7c947
https://skia.googlesource.com/buildbot.git/+log/52605d78544b..3cd767f7c947

2022-05-06 kjlubick@google.com [infra] Remove Python2 binaries from all Infra tasks.
2022-05-06 kjlubick@google.com Regenerate schema

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 rmistry@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

Tbr: rmistry@google.com
Change-Id: I0ec61566e151a13766f8b54d356d0addcc1b25ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538085
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 20:08:20 +00:00
Michael Ludwig
2ad7b3f65e Move src/gpu/tessellate/ types into skgpu::tess namespace
For usages of constants in classes outside of skgpu::tess (e.g. when
using tessellation in skgpu::v1 or skgpu::graphite), the constants are
accessed with tess::. This is just to help with clarity since it scopes
the constant name. However, functions and types are still referred to
without that, and using namespace skgpu::tess is used to keep those
references simpler.

In headers, tess:: is added when there are only a few usages of the
types, or it's brought in as an alias.

Change-Id: I12af595659fe791de419db0393482dae6cd238e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/534668
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-05-06 19:57:42 +00:00
Brian Osman
2537af901d Replace SPIRV generator's intrinsic map with a simple switch
On a Linux x64 build, this saves ~17 KB of code size.
It also reliably makes all sksl_spirv_ benchmarks faster.

Change-Id: If4a0f7cc320eb73017791d2e09127f96addec629
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538044
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-05-06 19:27:10 +00:00
Herb Derby
9f44b7fa84 Have processGlyphRun take a glyphRunList, and rename function
Rename processGlyphRun to categorizeGlyphRunList. Change processing
a single glyph run to processing the entire list. By taking
an SkGlyphRunList the code will have access to the buffers it needs
for processing when I move the buffers to the builder.

Clean up - remove some unneeded includes.

Change-Id: I2ce66292b7e63b9cbc63610ba9653b255417d7c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538037
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-06 19:25:47 +00:00
James Godfrey-Kittle
5d553ed398 Fix presubmits for Python 3
Calls to "python" won't work on vanilla MacOS installs (nor many
distributions of Linux), and AFAICT we're assuming it refers to python3
anyways.

xreadlines was removed in Python 3, and the suggested equivalent is to
use the file directly as an iterator:
https://docs.python.org/2.7/library/stdtypes.html#file.xreadlines

Change-Id: Iae51e3923e38ea63f857a17b9ff80e79871efee5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537982
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: James Godfrey-Kittle <jamesgk@google.com>
2022-05-06 18:48:47 +00:00
Robert Phillips
b346e421a7 Add FailFlushTimeCallbacks jobs
Bug: 1320964
Change-Id: I5f05ea469b824b1382f64c1eb3fb9be0498cf329
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537517
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-05-06 18:37:51 +00:00
Herb Derby
0dcb88b44c Encapsulate a pointer to the Builder in the GlyphRunList
The canvas contains the builder. By passing a pointer to the
builder with the GlyphRunList, we can add the machinety for
building SubRuns in future CLs.

Currently, all the buffers needed for building SubRuns are
maintained in the Device for CPU and the SurfaceDrawContext
for GPU. Because of the Layer mechanism in the API this means
we can have multiple sets of buffers. By moving the buffers to
the builder, there will be only one set, and the memory will
be hotter.

Change-Id: I47223b0dcfbab7d9b383d8410bb8d8e897706dd2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537776
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-06 18:17:48 +00:00
Kevin Lubick
3413ca474b [infra] Add BazelBuild task to build CanvasKit on the CI with Bazel
For additional context, see "Codifying Certain Build Options"
and "Building on the CI" in the design doc go/skia-bazel

Suggested review order:
 - builder_name_schema.json to see the three required and
   one optional part of BazelBuild jobs.
 - jobs.json to see one new BazelBuild job added. In an
   ideal world, this job would have been named
   BazelBuild-//modules/canvaskit:canvaskit_wasm-debug-linux_x64
   but Buildbucket (?) requires jobs match the regex
   ^[a-zA-Z0-9\\-_.\\(\\) ]{1,128}$
   so we use spaces instead of slashes or colons.
 - gen_tasks_logic.go; noting the makeBazelLabel function
   expands most of the spaces to / and the last one to a
   colon to make a single-target label. If there are three
   dots, then it is a multi-target label, and we do not
   need to add a colon.
 - bazel_build.go; This is a very simple task driver, and
   I do not anticipate getting too much more complex.
   The place where we decide which args to augment
   a build with depend on the host platform and thus
   should be set in gen_tasks_logic.go.
 - bazel/buildrc to see some initial configurations set,
   one of which, "debug", is used by the new job.
   The "release" version of CanvasKit probably works on
   3.1.10 which had a bugfix, but we are still on
   3.1.9
 - .bazelrc to see a rename of the linux-rbe config to
   linux_rbe (our configs should have no dashes if
   we want to specify them verbatim in our Job names).
   It also imports the Skia-specified build configs
   from //bazel/buildrc and supports the user-specified
   //bazel/user/buildrc file if it exists.
 - All other files in any order.

Change-Id: Ib954dd6045100eadcbbf4ffee0888f6fbce65fa7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537797
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2022-05-06 17:54:08 +00:00
Robert Phillips
4ff975ccd2 Make the old-skp job's output match the size of the DDL jobs' output (take 2)
Bug: skia:13278
Change-Id: I06d0551a2f2b50e584e6bb547c22bf6e76a9ea2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537800
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-05-06 16:31:45 +00:00
Kevin Lubick
2f576263e4 Reland "[infra] Use Python3 for our Presubmits"
This is a reland of commit 094bcdb9e5

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: Ia7fb2f3b6d8b70ca95cf10763782d4a0122053e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537978
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-05-06 14:01:35 +00:00
Robert Phillips
2f60656f83 Remove unused renderTask ID span parameter to pre- and post-Flush callbacks
I don't know if we ever actually used this feature. Removing it removes
and needless loop over all the render tasks.

Change-Id: Ife8014c45a34fdec743227dea09e440e0d1d9ea3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537516
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-05-06 13:57:51 +00:00
skia-autoroll
d77f5acbcd Roll vulkan-deps from 46b00d7bf03f to 65a0abb71586 (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/46b00d7bf03f..65a0abb71586

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: I66743dc776ba20a52161a80d294f3b911dacd648
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538056
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-06 10:55:47 +00:00
skia-autoroll
080fe3d744 Roll ANGLE from 9865ed8b8117 to 1d5d09e4191a (14 revisions)
9865ed8b81..1d5d09e419

2022-05-06 syoussefi@chromium.org Vulkan: Prefer MAILBOX over IMMEDIATE present mode
2022-05-05 cclao@google.com Vulkan: Reduce kMaxBufferToImageCopySize to 64M
2022-05-05 cclao@google.com Vulkan: Limit the total bytes of suballocation garbages in flight
2022-05-05 lubosz.sarnecki@collabora.com FramebufferTest: Add FramebufferChangeTest test.
2022-05-05 cnorthrop@google.com Scripts: Strip prebuilt debug APK from AOSP roll
2022-05-05 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 1c301e690de1 to 7a60295b6324 (184 revisions)
2022-05-05 cclao@google.com Vulkan: Force prune when there are lots of suballocations destroyed
2022-05-05 boliu@google.com Remove limit_max_texture_size_to_4096 workaround
2022-05-05 cclao@google.com Vulkan: Use heuristic to decide how many empty buffers to keep
2022-05-05 lubosz.sarnecki@collabora.com Tests: Add Alto's Odyssey trace.
2022-05-05 pkasting@chromium.org Fixes for C++20 support.
2022-05-05 abdolrashidi@google.com Vulkan: Set timeout for MultiContextDrawWithSwap*
2022-05-05 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 6db3a94387ed to 1c301e690de1 (550 revisions)
2022-05-05 ynovikov@chromium.org Decommission win7-x86-amd and win7-x64-nvidia

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 and inspect //build
Test: Test: angle_end2end_tests --gtest_filter="FramebufferTest_ES3.FramebufferChangeTest/*"
Test: Test: angle_perftests --gtest_filter="*altos_odyssey*"
Change-Id: I9fb3e027c895be626e0385dcc533a8e56f71c582
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/537900
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 05:55:46 +00:00
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