Commit Graph

854 Commits

Author SHA1 Message Date
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
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
Kevin Lubick
1f99c991d8 Manually roll Dawn from 41e4d9a34c1d to a1a3e0484c48 (18 revisions)
https://dawn.googlesource.com/dawn.git/+log/41e4d9a34c1d..a1a3e0484c48

2022-05-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 717818ff1f86 to 4957ae734445 (4 revisions)
2022-05-03 lokokung@google.com Hide blob caching behind a toggle on the device for now.
2022-05-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 02576edd7f4f to cdf43bd816d7 (4 revisions)
2022-05-03 lokokung@google.com Removes device from load/store in caching interface.
2022-05-03 lokokung@google.com Adds pipeline cache and implementation for Vulkan backend.
2022-05-03 lokokung@google.com Wrap get_gitHash in try-catch to prevent failures in tarball builds.
2022-05-02 bclayton@google.com Roll third_party/webgpu-cts/ 21af43c62..547d67bc2 (15 commits)
2022-05-02 bclayton@google.com tools/cts: Bunch of fixes for 'cts roll'
2022-05-02 bclayton@google.com tools: Add the 'cts roll' sub-command
2022-05-02 bclayton@google.com tools: Add the 'cts export' sub-command
2022-05-02 brandon1.jones@intel.com Add External Texture Conversion Constant Params
2022-05-02 bclayton@google.com Fix dawn/node build with make
2022-05-02 amaiorano@google.com Factor out code to flatten bindings for msl
2022-05-02 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 1cde45b8d7aa to 717818ff1f86 (1 revision)
2022-05-02 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 6fb4e0498abd to 02576edd7f4f (1 revision)
2022-05-02 jrprice@google.com Fix uniformity issue in CopyTextureForBrowserHelper
2022-05-02 jrprice@google.com wgsl: Use commas for structs in helper shaders
2022-05-02 jrprice@google.com tint: Add ProgramBuilder::Else() helper

Change-Id: Iec54e3374ad1cc517a160150eb44b7b286fdb757
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/536396
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2022-05-03 13:24:06 +00:00
Kevin Lubick
c3a448ec61 [bazel] Put licenses() after legacy_exports
G3 prefers license() first.

This was done mechanically with a big find/replace

Change-Id: I8c33c7bc10a6bec42e966cad81c259954e841811
Bug: skia:13211
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/535898
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-05-02 15:04:33 +00:00
Brian Salomon
795d87486b Manual roll Dawn from 7098d3d69282 to cede544df34f (38 revisions)
https://dawn.googlesource.com/dawn.git/+log/7098d3d69282..cede544df34f

2022-04-29 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 8234ec2dd0ae to c9e605688988 (2 revisions)
2022-04-29 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 9f2ef7c8b867 to adef92e7b4c6 (3 revisions)
2022-04-29 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 2a6e123b16ff to 437053a1635b (5 revisions)
2022-04-29 jrprice@google.com tint: Refactor if-else statement representation
2022-04-28 bclayton@google.com tools: Add src/cts/expectations
2022-04-28 enga@chromium.org Fix 64 to 32 bit narrowing in dawn/utils
2022-04-28 lokokung@google.com Add multiple device testing capability in DawnTest.
2022-04-28 cwallez@chromium.org Add MetalRenderR8RG8UnormSmallMipToTempTexture workaround
2022-04-28 bclayton@google.com tint: Remove '_type' suffix from file names
2022-04-28 bclayton@google.com tint/writer/spirv: Replace Operand with std::variant
2022-04-28 enga@chromium.org Fix 64 to 32 bit narrowing in dawn/common
2022-04-28 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 1963b94c99e8 to 8234ec2dd0ae (1 revision)
2022-04-28 dsinclair@chromium.org Cleanup duplicate files; Combine README and build docs.
2022-04-28 bclayton@google.com tint/writer: Replace scope_stack_, fix type ctor scoping.
2022-04-28 cwallez@chromium.org GN: Rely on the Chromium macOS deployment target again.
2022-04-28 amaiorano@google.com tint: regen skips for hlsl files that were missing error message in the output
2022-04-28 bclayton@google.com tint: ProgramBuilder: Rename Const() to Let()
2022-04-28 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from b92f7acb7e81 to 9f2ef7c8b867 (1 revision)
2022-04-28 bclayton@google.com Roll third_party/webgpu-cts/ 900765392..21af43c62 (10 commits)
2022-04-28 bclayton@google.com tint/writer: Replace use of strings for cache keys
2022-04-28 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from c95bd5e7e882 to 2a6e123b16ff (43 revisions)
2022-04-28 bclayton@google.com tools: Move go.mod & go.sum files to root
2022-04-28 dsinclair@chromium.org Rename UniformConstant to Handle.
2022-04-28 bclayton@google.com DEPS: Update Dawn standalone toolchains
2022-04-28 lokokung@google.com Fix freed memory access due to DestroyObjects.
2022-04-28 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 78787fde6ea0 to 1963b94c99e8 (1 revision)
2022-04-28 bajones@chromium.org Surface D3D12 validation messages in WebGPU errors
2022-04-28 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from f88fc3b53c52 to b92f7acb7e81 (3 revisions)
2022-04-27 enga@chromium.org Fix 64 to 32 bit narrowing in dawn::wire
2022-04-27 senorblanco@chromium.org OpenGL ES: implement support for BGRA textures and reads.
2022-04-27 cwallez@chromium.org Suppress a flake for RGBA32Float zero init on Intel.
2022-04-27 cwallez@chromium.org Metal: Move Metal render pass workarounds to UtilsMetal
2022-04-27 bclayton@google.com Roll third_party/webgpu-cts/ e23ca12d5..900765392 (15 commits)
2022-04-27 cwallez@chromium.org Tighten the suppression for texture_zero failures.
2022-04-27 cwallez@chromium.org Remove test suppressions due to SPIRV-Cross
2022-04-27 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from e799ba9fb972 to 78787fde6ea0 (2 revisions)
2022-04-27 zhaoming.jiang@intel.com tint: Add `i` suffix and validate UInt literal non-negative
2022-04-27 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 79d4c6cae485 to f88fc3b53c52 (1 revision)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC bclayton@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
Change-Id: Ib512ef51f56e93838dcb606b688179fa17170091
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/535537
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-04-29 20:35:34 +00:00
Kevin Lubick
46eaab3959 [bazel] Add shims to help translation into G3
Ran the following commands:
find -name "BUILD.bazel" -exec sed -i -e '1iload("//bazel:macros.bzl", "cc_library", "exports_files_legacy")\nexports_files_legacy()' {} +
buildifier --lint=fix --mode=fix -r .

This had the effect of making sure we can export all of our
files in G3 (until we no longer have legacy targets) and
making all of our cc_libraries shim-able.

bazel/macros.bzl has the human-contributed changes, the rest
were mechanical.

Change-Id: I8e24e30e74b038cfd072cdbe4078bfd1d213dd46
Bug: skia:13211
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/535359
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-04-29 19:27:54 +00:00
Kevin Lubick
0b6cef82dc [bazel] Point to vk_mem_alloc from DEPS
To make it easier to use the G3 version of this dep,
we make a reference to it in the WORKSPACE.bazel, so
we can refer to this external dep with the @ notation.

I would like to do this for all of our third party
deps, but one at a time.

Change-Id: I03e0beca124225e0faf1232278dae641da8a3e4d
Bug: skia:13240, skia:13211
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/535358
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2022-04-29 12:45:56 +00:00
Brandon DeRosier
4230297004 Specify VMA include relative to source root
This is to help unblock the Skia->Flutter roll after https://skia.googlesource.com/skia.git/+/3b51120a92aa83ab7e465c6437bce23e0c094546.

See also: https://github.com/flutter/flutter/issues/102806#issuecomment-1112998932

Change-Id: I3fd061e495478efccda70d4c3e1647b7c6f375e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/535356
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-04-29 11:35:32 +00:00
Greg Daniel
3b51120a92 Use DEPS to pull in VulkanMemoryAllocator.
Also updated the gn_to_bp.py to handle using the DEPSed vk_mem_alloc.h.
When rolled into Android we will copy the vk_mem_alloc.h from a local
DEPS checkout into a vma_android folder that will be checked into the
skia that lands with Android. We are using vma_android folder instead
of the current third_party/vulkanmemoryallocator folder because we
soon plan to move the latter into src/ instead of third_party. So just
using a different directory allows us to avoid doing an additional
change to the auto roller.

Bug: skia:13240
Bug: skia:13242
Change-Id: Ia344e13e3f7c7efecc2e6a97a96820f3ae58b5c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531318
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2022-04-28 22:59:02 +00:00
Brian Salomon
3e35228b40 Add enable.cc to TINT_SRCS to fix dawn bazel build
Change-Id: Ic93f264fb556ecf271f9c2642f7c60665669b092
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/534499
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2022-04-27 18:58:06 +00:00
Brian Salomon
62471d80c9 Manual roll Dawn from 7b20709d0ea8 to 7098d3d69282 (12 revisions)
https://dawn.googlesource.com/dawn.git/+log/7b20709d0ea8..7098d3d69282

2022-04-27 zhaoming.jiang@intel.com tint: Add enable directive for extensions
2022-04-27 lokokung@google.com Remove PersistentCache and suppress shader cache tests.
2022-04-26 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from f685346e2e51 to e799ba9fb972 (1 revision)
2022-04-26 dsinclair@chromium.org Fixup validator tests added during split from resolver.
2022-04-26 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 5f5faa3a2aad to 79d4c6cae485 (3 revisions)
2022-04-26 cwallez@chromium.org DawnTest: handle buffer readbacks not aligned to 4.
2022-04-26 bclayton@google.com tools: Fix LoadCredentials()
2022-04-26 bclayton@google.com Revert "Add External Texture Gamma/Gamut Correction"
2022-04-26 bclayton@google.com Roll third_party/webgpu-cts/ 501cb3643..e23ca12d5 (7 commits)
2022-04-26 bclayton@google.com dawn/common: Comment UNIMPLEMENTED()
2022-04-26 cwallez@chromium.org utils: Add more defaults for CreateBuffer/TextureImageCopy
2022-04-26 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from f13461dbb23c to 5f5faa3a2aad (1 revision)

Change-Id: I711c74e9fca2ce8e5b0c4711f4bc371304e7f625
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/534497
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-04-27 16:16:06 +00:00
Jorge Betancourt
a2fbd43671 add compiler flags for zlib when building for mac (intel processors)
Change-Id: If62a0ba82fee63bc0e30d946e3aa385eb0970ce7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/533678
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2022-04-26 14:41:32 +00:00
Ben Wagner
9cbadcd928 Add optional OT-SVG support to FreeType
Bug: skia:12290
Change-Id: I064bee781d3a714e46f102cb48494fbe8f3e46e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516436
Reviewed-by: Florin Malita <fmalita@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-04-25 18:51:01 +00:00
Kevin Lubick
cb76656bb2 Roll Dawn from 4091e0fa9c1e to c2f9fea56bee (12 revisions)
https://dawn.googlesource.com/dawn.git/+log/4091e0fa9c1e..c2f9fea56bee

2022-04-22 stephen@hexops.com dawn/native: Fix undefined behaviour in BindGroupTracker when passing no dynamic offsets
2022-04-22 enga@chromium.org Add back fail expectation on CTS Windows x86
2022-04-21 enga@chromium.org Make the dawn-try-win10-x86-rel trybot includable
2022-04-21 bclayton@google.com Roll third_party/webgpu-cts/ a06666e00..45d2ccd25 (3 commits)
2022-04-21 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from b2a1f0d28a62 to 0439d9cd25b4 (25 revisions)
2022-04-21 aleksi.sapon@faro.com Fix dawn_version_generator.py on Windows when not using depot_tools
2022-04-21 jrprice@google.com tint: Update FirstIndexOffsetTest expected results
2022-04-21 dsinclair@chromium.org Fix readability/todo issues.
2022-04-21 dsinclair@chromium.org Fix build/namespaces issues
2022-04-21 brandon1.jones@intel.com Change External Texture YUV-to-RGB Conversion to Use Matrix
2022-04-21 bclayton@google.com Update WebGPU CTS expectations
2022-04-21 dsinclair@chromium.org [tint] Move validation code into a Validator class.

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

Change-Id: Ic8dfe5e0e20b076516df279a8bc5debad8c26662
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532759
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-04-22 13:16:01 +00:00
Kevin Lubick
14ab6ab256 Roll Dawn from 93a2bed032a9 to 4091e0fa9c1e (18 revisions)
https://dawn.googlesource.com/dawn.git/+log/93a2bed032a9..4091e0fa9c1e

2022-04-21 lokokung@google.com Factor out common cache testing code.
2022-04-21 yunchao.he@intel.com Update webgpu-cts/expectations.txt
2022-04-21 enrico.galli@intel.com D3D12: Duplicate first/baseVertex on Draw[Indexed]Indirect
2022-04-21 lokokung@google.com Adds typing to cache keys to avoid clashes.
2022-04-21 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 158676f39f3b to df3a617e7556 (6 revisions)
2022-04-21 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from ea5f37f39193 to 71f3089b729c (5 revisions)
2022-04-20 lokokung@google.com Adds new BlobCache "re-declaration" of PersistentCache.
2022-04-20 enga@chromium.org Check GLFW window creation before discovering GL adapters
2022-04-20 bclayton@google.com tools/src/cts/result: Add more helpers
2022-04-20 bclayton@google.com tools/src/cts/query: Add Tree
2022-04-20 dsinclair@chromium.org Fixup readability/casting lint issues
2022-04-20 dsinclair@chromium.org Ignore remaining explicit warnings.
2022-04-20 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 55c21842b204 to b2a1f0d28a62 (8 revisions)
2022-04-20 dsinclair@chromium.org Ignore BindingLayoutEntryInitializationHelper for runtime/explicit.
2022-04-20 yunchao.he@intel.com D3D12: work around buffer size insufficient issue for copy
2022-04-20 dsinclair@chromium.org Fix test expectation missing blank line.
2022-04-20 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 1380023f9816 to 158676f39f3b (1 revision)
2022-04-20 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from b5af7cabd5ea to ea5f37f39193 (1 revision)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC shrekshao@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
Change-Id: I82a8b90efddf8174d9e35ce36be82a60be1ce15c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532396
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-04-21 12:47:30 +00:00
Kevin Lubick
f4d0c2c9c8 [bazel] Move skcms and vulkanmemoryalloctor to subdirs
It's time to better organize //third_party/BUILD.bazel

This CL starts by moving the "third party" stuff we closely own.

Change-Id: I3e0be0044b790794e94f34af6202860ce0a7b7aa
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531999
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-04-21 12:15:50 +00:00
Kevin Lubick
ed60541341 [bazel] Silence gazelle warnings for unknown files
Change-Id: Id3824d5b72a6e8b28535c78254629fd506e5185d
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532082
Reviewed-by: Florin Malita <fmalita@google.com>
2022-04-20 16:33:18 +00:00
Michael Ludwig
610ef02504 Manual Dawn roll with bazel build update
Change-Id: Ia4dac275a8614d7597e5c17cae77ad3770ba27e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532001
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-04-20 15:00:45 +00:00
Greg Daniel
2cf8e9b602 Reland "Update VMA to latest version."
This is a reland of commit f33cf451a2

Original change's description:
> Update VMA to latest version.
>
> This is needed so that we can use non skia supplied vk_mem_alloc.h on
> clients that have already updated to newest version. As we transition
> to Bazel builds this helps to make it so we can set the rules for
> specific clients around VMA without things breaking
>
> Bug: skia:13211
> Change-Id: I5d38a3a91a44f6b3fdf75894a3248ee3991dd5d9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531157
> Reviewed-by: Kevin Lubick <kjlubick@google.com>

Bug: skia:13211
Change-Id: Ia4a863819a7d0bb4763f1b516acfa1cc76c47a8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531548
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-04-20 00:07:47 +00:00
Derek Sollenberger
d5c047004d Revert "Update VMA to latest version."
This reverts commit f33cf451a2.

Reason for revert: breaking the android roller

Original change's description:
> Update VMA to latest version.
>
> This is needed so that we can use non skia supplied vk_mem_alloc.h on
> clients that have already updated to newest version. As we transition
> to Bazel builds this helps to make it so we can set the rules for
> specific clients around VMA without things breaking
>
> Bug: skia:13211
> Change-Id: I5d38a3a91a44f6b3fdf75894a3248ee3991dd5d9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531157
> Reviewed-by: Kevin Lubick <kjlubick@google.com>

Bug: skia:13211
Change-Id: Ibd621aa2f07359f9b72e1a35df0f50ca3c063e86
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531543
Auto-Submit: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-04-19 14:49:08 +00:00
Greg Daniel
f33cf451a2 Update VMA to latest version.
This is needed so that we can use non skia supplied vk_mem_alloc.h on
clients that have already updated to newest version. As we transition
to Bazel builds this helps to make it so we can set the rules for
specific clients around VMA without things breaking

Bug: skia:13211
Change-Id: I5d38a3a91a44f6b3fdf75894a3248ee3991dd5d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531157
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2022-04-18 20:28:30 +00:00
Kevin Lubick
a45e3ca967 Add missing Dawn deps
Leftover from the roll https://skia-review.googlesource.com/c/skia/+/530180

Change-Id: I1e00b85c7c374f4ddccff7e8bff451a04c97b6de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/530338
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-04-14 22:40:05 +00:00
Kevin Lubick
1d3fe5b289 Roll Dawn from 088a600b0367 to 17b1a4525363 (147 revisions)
https://dawn.googlesource.com/dawn.git/+log/088a600b0367..17b1a4525363

2022-04-14 bsheedy@google.com Split large CTS logs
2022-04-14 bclayton@google.com Roll CTS and update expectations
2022-04-14 yunchao.he@intel.com Add data verification for e2e tests in RequiredBufferSizeInCopyTests.cpp
2022-04-14 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from de965415a139 to 1d450ae99a0f (2 revisions)
2022-04-14 bclayton@google.com tools: Add resultsdb package
2022-04-14 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 01c0bc215f4a to 871878352630 (4 revisions)
2022-04-14 bclayton@google.com tools: Add buildbucket package
2022-04-14 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from c9be322642fb to 7e9ab0686bf4 (5 revisions)
2022-04-14 shaobo.yan@intel.com Skip Unneccessary GetPendingCommandContext() Call To Save An Extra Fence
2022-04-14 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 011bba68c819 to de965415a139 (2 revisions)
2022-04-14 lokokung@google.com Reland "Add render pipeline cache key generation for Vulkan."
2022-04-13 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from eeb396535317 to 01c0bc215f4a (22 revisions)
2022-04-13 rharrison@chromium.org Fix path for stamp file in fuzzer corpuse generation
2022-04-13 lokokung@google.com Changes dependency on vulkan-tools typemap header.
2022-04-13 cwallez@chromium.org Roll third_party/webgpu-cts/ dcba3ac6b..5e83d8349 (25 commits)
2022-04-13 enga@chromium.org Revert "Add render pipeline cache key generation for Vulkan."
2022-04-13 enga@chromium.org Add WebGPU Adapter tags to the expectations file
2022-04-13 dsinclair@chromium.org Fixup CQ and Kokoro lint mismatches.
2022-04-13 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 9c0d5b64c767 to c9be322642fb (4 revisions)
2022-04-13 cwallez@chromium.org Change Dawn samples to use surface-based swapchains.
2022-04-13 dsinclair@chromium.org Fixup kokoro lint issue
2022-04-13 bajones@chromium.org Refactored how debug labels are set with Vulkan
2022-04-13 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3f37fd8e4fbe to 011bba68c819 (3 revisions)
2022-04-13 dsinclair@chromium.org Remove redundant virtual.
2022-04-13 lokokung@google.com Add render pipeline cache key generation for Vulkan.
2022-04-12 lokokung@google.com Adds device-side cache key generation.
2022-04-12 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 9b2a1bfa4434 to 9c0d5b64c767 (5 revisions)
2022-04-12 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 620982155d55 to 3f37fd8e4fbe (1 revision)
2022-04-12 bclayton@google.com tools: Add gitiles package
2022-04-12 dsinclair@chromium.org Remove redundant override in include/dawn.
2022-04-12 dsinclair@chromium.org Fix build/include_order in include/dawn.
2022-04-12 dsinclair@chromium.org Remove fuzzer CPPLINT file.
2022-04-12 dsinclair@chromium.org Fixup explicit on some constructors.
2022-04-12 dsinclair@chromium.org Add explicit in include/dawn
2022-04-12 cwallez@chromium.org Rework dawn/native/ProcTable.cpp's template to better handle functions.
2022-04-12 ukai@google.com use stamp file for tint_generate_wgsl_corpus
2022-04-12 bclayton@google.com tools: Minor improvements to the git package
2022-04-12 bclayton@google.com tools: Flesh out the gerrit package
2022-04-12 cwallez@chromium.org Make WebGPU CTS scripts use Python3
2022-04-12 bclayton@google.com kokoro: Check go tool unit tests
2022-04-12 bclayton@google.com tools: Remove old tint test runner
2022-04-12 bclayton@google.com tint: Fix doxygen failure
2022-04-12 cwallez@chromium.org dawn.node: Make run-cts --print-stdout print the run's stdout/err
2022-04-12 dsinclair@chromium.org Remove extra CPPLINT.cfg files.
2022-04-12 dsinclair@chromium.org Fix copyright issues in src/include forwarding headers.
2022-04-12 dsinclair@chromium.org Fix missing copyrights in src/dawn.
2022-04-12 dsinclair@chromium.org Add missing include/webgpu copyrights.
2022-04-12 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ca8ce3e715c2 to 9b2a1bfa4434 (6 revisions)
2022-04-12 ynovikov@chromium.org Revert "Ignore VUID-vkCmdDraw-None-06538 VVL message"
2022-04-12 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from b120ab6d49f4 to eeb396535317 (12 revisions)
2022-04-12 enga@chromium.org Mark webgpu:shader,execution,shader_io,compute_builtins:inputs:* failing on Windows x86 NVIDIA
2022-04-12 senorblanco@chromium.org GLES: revert part of the view format reinterpretation on GLES.
2022-04-12 bajones@chromium.org Enable Queue, Device labels to be set. (Take 2)
2022-04-11 bclayton@google.com tint: Re-enable doxygen
2022-04-11 bclayton@google.com dawn/node: Fix GCC warning
2022-04-11 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from d15c42482560 to 620982155d55 (2 revisions)
2022-04-11 amaiorano@google.com tint: Make GLSL backend consistent with the others
2022-04-11 amaiorano@google.com tint: spirv writer: add a GeneralImpl to be consistent with HLSL and MSL backends
2022-04-11 bclayton@google.com dawn/node: Define NAPI_DISABLE_CPP_EXCEPTIONS
2022-04-11 bclayton@google.com tint: More doxygen fixes
2022-04-11 bclayton@google.com Roll CTS and update expectations
2022-04-11 dsinclair@chromium.org Enable build/header_guard
2022-04-11 bclayton@google.com tint: Fix doxygen errors
2022-04-11 cwallez@chromium.org CMake: Add support with Swiftshader with DAWN_ENABLE_SWIFTSHADER
2022-04-11 cwallez@chromium.org Move samples/ under src/dawn/samples/
2022-04-11 amaiorano@google.com tint: Simplify backend Sanitize functions by passing in Options
2022-04-11 dsinclair@chromium.org Fixup include directory errors in src/dawn.
2022-04-11 dsinclair@chromium.org Enable empty_if_body lint.
2022-04-11 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 60e6ec01372a to ca8ce3e715c2 (1 revision)
2022-04-11 amaiorano@google.com Add ifdefs for Tint API usage that may not be available
2022-04-11 dsinclair@chromium.org Fix build/include lint in samples/
2022-04-11 bclayton@google.com tint: Standardize the way we forward-declare
2022-04-11 dsinclair@chromium.org Fixup readability/braces lint warning.
2022-04-11 dsinclair@chromium.org Enable runtime/printf
2022-04-11 dsinclair@chromium.org Fixup build/include issues in src/dawn
2022-04-11 dsinclair@chromium.org Create more targeted CPPLINT.cfg files.
2022-04-11 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 1b94c585682b to b120ab6d49f4 (1 revision)
2022-04-11 bclayton@google.com tools: Add src/cts/result
2022-04-11 bclayton@google.com tools: Simplify gerrit-stats and snippets
2022-04-10 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 727cd8ef6634 to 1b94c585682b (1 revision)
2022-04-10 dsinclair@chromium.org Combine contributing files.
2022-04-10 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 19082e8adae0 to 60e6ec01372a (2 revisions)
2022-04-09 senorblanco@chromium.org OpenGLES: simulate glTextureView() with texture-to-texture copies.
2022-04-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d4572ee122d4 to 19082e8adae0 (1 revision)
2022-04-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 09a24f3d53cd to 727cd8ef6634 (3 revisions)
2022-04-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 2ce1d878f9c9 to d4572ee122d4 (6 revisions)
2022-04-09 lokokung@google.com Add compute pipeline cache key generation for Vulkan.
2022-04-08 amaiorano@google.com tint: Fix copy instead of move of ArrayLengthFromUniform::used_size_indices
2022-04-08 dsinclair@chromium.org Fixup whitespace/comments issues.
2022-04-08 amaiorano@google.com tint: handle CRLF on Windows when splitting WGSL source
2022-04-08 bclayton@google.com CMake: Fix sanitizer builds
2022-04-08 bclayton@google.com Kokoro: Ensure that no CRLF creep in
2022-04-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 3cea7fcc01ce to 09a24f3d53cd (2 revisions)
2022-04-08 cwallez@chromium.org dawn.node: Detach buffer mappings on GPUBuffer.destroy.
2022-04-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from acc216fde2a5 to 2ce1d878f9c9 (4 revisions)
2022-04-08 bclayton@google.com Normalize all line endings to LF
2022-04-08 bclayton@google.com Kokoro: install GLFW dependencies
2022-04-08 dsinclair@chromium.org Re-enable lint presubmit
2022-04-08 jiawei.shao@intel.com Always use 0 for the Depth operand of OpTypeImage
2022-04-08 cwallez@chromium.org Validate that alignment limits are powers of two.
2022-04-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 17311a73f6fb to acc216fde2a5 (7 revisions)
2022-04-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from d09282e5c609 to d15c42482560 (2 revisions)
2022-04-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from ba04fcfd10c7 to 3cea7fcc01ce (6 revisions)
2022-04-07 rharrison@chromium.org Clean up contributing documentation post tint merge
2022-04-07 bclayton@google.com CMake: Fix building of tint with fuzzers enabled
2022-04-07 dsinclair@chromium.org Minor formatting changes.
2022-04-07 enga@chromium.org Make texture view default format robust against invalid aspects
2022-04-07 bclayton@google.com Remove standalone.gclient
2022-04-07 bclayton@google.com Move kokoro dir under infra
2022-04-07 bclayton@google.com .vscode/tasks.json - Add 'cmake gen'
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/.
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/reader.
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/reader/spirv.
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/ast.
2022-04-07 bclayton@google.com tools: Replace copy-pasta scripts
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/inspector.
2022-04-07 cwallez@chromium.org Add top-level OWNERS and scope Tint owners more tightly.
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/reader/wgsl.
2022-04-07 amaiorano@google.com Ignore tools/cmake*
2022-04-07 bclayton@google.com tools/src: Fix up paths post-tint-merge
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/fuzzers.
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/resolver.
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/diagnostic.
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/utils.
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/transform.
2022-04-07 amaiorano@google.com spirv: Remove AssembleFailure() tests
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/sem.
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/writer.
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/val
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/writer/glsl.
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/writer/hlsl.
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/writer/spirv.
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/writer/msl.
2022-04-07 jrprice@google.com Add support for increment/decrement statements
2022-04-07 jrprice@google.com wgsl: Add support for increment/decrement statements
2022-04-07 jrprice@google.com resolver: Validate increment/decrement statements
2022-04-07 jrprice@google.com ast: Add an IncrementDecrementStatement node
2022-04-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 746dd371204b to 17311a73f6fb (9 revisions)
2022-04-07 enga@chromium.org Implement rendering with view format reinterpretation
2022-04-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 9c16e141823e to d09282e5c609 (3 revisions)
2022-04-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 152616eedcfd to ba04fcfd10c7 (6 revisions)
2022-04-07 cwallez@chromium.org Remove lintcpp from presubmits since it fails on all Dawn files
2022-04-07 dsinclair@chromium.org Condense namespaces in tint/writer/wgsl.
2022-04-07 cwallez@chromium.org DEPS: add the clang-format hook on windows back.
2022-04-07 bclayton@google.com OWNERS: Move bclayton to core owners
2022-04-06 rharrison@chromium.org Remove hooks that are causing *-rel builds to fail
2022-04-06 jrprice@google.com Add Tint's .clang-format file to src/tint

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,brianosman@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: bajones@google.com,brianosman@google.com
Test: Test: tint_unittests
Change-Id: Ib0786ce79bc994d7228d6967b27f11554cd9dfbb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/530180
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-04-14 19:38:26 +00:00
Kevin Lubick
83cee23c98 [bazel] Run buildifier on BUILD.bazel files
buildifier --lint=fix -r .

Change-Id: I6a41858270d20137978f8271c8f6160b51120777
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/529751
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-04-14 18:13:43 +00:00
Kevin Lubick
458f4ded2b [bazel] Consolidate skylib loads
For importing into G3, this will simplify the regex needed
and allow us to stub out things not supported (e.g. gazelle)

Change-Id: I770f5dee6f29e555356742dae36212ad6cfb713a
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/529836
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-04-14 11:37:08 +00:00
skia-autoroll
3aa6ec7bbd Roll skcms from 0ff18ebed22b to dcb0286a1e17 (1 revision)
https://skia.googlesource.com/skcms.git/+log/0ff18ebed22b..dcb0286a1e17

2022-04-13 lovisolo@google.com [bazel] Use hermetic Android NDK C++ toolchain in CI tasks.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC armansito@google.com,brianosman@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:Canary-Chromium
Tbr: armansito@google.com,brianosman@google.com
Change-Id: Ia65a51f237365353540527c936de91150c548002
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/529891
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-14 00:20:15 +00:00
skia-autoroll
35f80d69e8 Roll skcms from 5394ae3ed6c8 to 0ff18ebed22b (1 revision)
https://skia.googlesource.com/skcms.git/+log/5394ae3ed6c8..0ff18ebed22b

2022-04-13 lovisolo@google.com [bazel] Add hermetic Android NDK C++ toolchain.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC armansito@google.com,brianosman@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:Canary-Chromium
Tbr: armansito@google.com,brianosman@google.com
Change-Id: I9519d90a799bf6c1e75bb7dee7531baccc09326e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/529673
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-13 22:14:15 +00:00
Kevin Lubick
b98328a27b [bazel] Add license to all our BUILD.bazel files
find -name "BUILD.bazel" -exec sed -i -e '1i licenses(["notice"])\n' {} +

Change-Id: Ie48f163b7d8d6ede9ba5f952e87232dd5c9fa8e6
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/529808
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-04-13 19:50:29 +00:00
skia-autoroll
319f38e9f7 Roll skcms from 30c8e303800c to 5394ae3ed6c8 (1 revision)
https://skia.googlesource.com/skcms.git/+log/30c8e303800c..5394ae3ed6c8

2022-04-13 lovisolo@google.com Ignore .vscode.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC armansito@google.com,brianosman@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:Canary-Chromium
Tbr: armansito@google.com,brianosman@google.com
Change-Id: Ia82a4c2072a951e1b2fad286e5cd4b0812813ca1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/529571
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-13 14:59:11 +00:00
Kevin Lubick
a9f6ceebed [bazel] Add executable for skslc
This ports the GN skia_executable [1] and adds third_party
Bazel rules for spirv_cross, translated from [2]. spirv_cross,
unlike spirv_tools, did not have pre-made Bazel rules.

This binary compiles and links with

    bazelisk build //tools/skslc --config=clang

[1] ad324a31e6/BUILD.gn (L712)
[2] ad324a31e6/third_party/spirv-cross/BUILD.gn (L10)

Change-Id: I4abd51889552153fc7e64a5f7f3d9f0f597524e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/528044
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-04-08 17:25:24 +00:00
Kevin Lubick
503a2bd982 Update Skia to use the new combined Dawn+Tint repo
Includes a manual roll of Dawn, as well as tweaks to the Tint build
overrides.

Dawn needs git in order to generate a header that has the
version of Dawn compiled in. If we use Dawn's GN rules to
build it, we need git to generate that file.

Our (now updated) Bazel rules to build Dawn do not need to
do this because we (Skia) do not use this file [1]

[1] https://dawn.googlesource.com/dawn/+/088a600b03679cd20991f145173a573ed9c03480/src/dawn/common/BUILD.gn#177

Change-Id: Id19fdbb9b53fdad2397a0044a4a314b1444faeb0
Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn,Build-Win-Clang-x86_64-Release-Dawn
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/528157
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-04-07 20:31:14 +00:00
Kevin Lubick
fed97e8f40 [bazel] Add RBE support using hermetic Linux Clang toolchain
A new RBE worker-pool called gce_linux was created in
conjunction with this CL. See
https://docs.google.com/document/d/14xMZCKews69SSTfULhE8HDUzT5XvPwZ4CvRufEvcZ74/edit#
for some details on that.

Note: everything under bazel/rbe/gce_linux was autogenerated
and can be ignored from manual review. It basically specifies
what files are on the RBE image that are necessary for running
Bazel.

Testing it out can be done by authenticating for RBE
gcloud auth application-default login --no-browser

Then, run make -C bazel rbe_known_good_builds
to test it out.

On my 4 core laptop with an empty local cache, but a
warm remote cache, the build took <2 min instead of the
10+ minutes it would have [1].

The folder structure in //bazel/rbe is meant to let us
have multiple remote configurations there, e.g.
//bazel/rbe/gce_windows.

Suggested Review Order:
 - bazel/rbe/README.md
 - bazel/rbe/gce_linux_container/Dockerfile to see the
   bare-bones RBE image.
 - bazel/rbe/BUILD.bazel to see a custom platform defined.
   It is nearly identical to the autogenerated one
   in bazel/rbe/gce_linux/config/BUILD, with one extra
   field to force the gce_linux pool to be used.
 - .bazelrc to see the settings needed to make
   --config=linux-rbe work. The naming convention was
   inspired by SkCMS's setup [2], and allows us to have
   some common RBE settings (i.e. config:remote) and
   some specialized ones for the given host machine
   (e.g. config:linux-rbe) A very important, but subtle
   configuration, is on line 86 of .bazelrc where we say
   to use our hermetic toolchain and not whatever C++
   compiler and headers are on the host machine (aka
   the RBE container).
 - toolchain/build_toolchain.bzl to see some additional
   dependencies needed in the toolchain (to run IWYU) which
   I had installed locally but didn't realize were important.
 - third_party/BUILD.bazel to see an example of how failing
   to specify all files can result in something that works
   locally, but fails remotely.
   --execution_log_json_file=/tmp/execlog.json helped debug
   these issues.
 - All other files.

[1] http://go/scrcast/NjM1ODE4MDI0NzM3MTc3Nnw3ODViZmFkMi1iOA
[2] https://skia.googlesource.com/skcms/+/30c8e303800c256febb03a09fdcda7f75d119b1b/.bazelrc#20


Change-Id: Ia0a9e6a06c1a13071949ab402dc5d897df6b12e1
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524359
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-03-28 13:56:16 +00:00
Kevin Lubick
54bd442fad [bazel] Use hermetic Python with jinja2+MarkupSafe
The file generation logic that dawn [1] uses to make some
source files requires jinja2, which also requires MarkupSafe.

The GN build handles this by specifying those repos in
DEPS, checking them out at a certain git hash, and then
providing them via a command line arg [2].

We do not have to do it this way in Bazel to have reproducible
builds. This CL specifies an exact version (verified by sha256)
of those two deps and then uses a hermetic version of
Python 3.9 to run all py_binary commands.

Previously, we would rely on the system Python (and installed
libraries). That happened to work on my machine, but not on
other machines without jinja2 and MarkupSafe installed. After
this CL, it should work on machines that do not have python
even installed.

I chose the same jinja2 version used by Dawn [3], which was
2.11.3. Then I chose the newest version of MarkupSafe that
was compatible with jinja2 (2.0.1).

If we have other python scripts that need external deps, we
should be able to specify them in the py_binary that needs
them and in requirements.txt. Then, the pip_install() step
in WORKSPACE.bazel will download them and make them available.

[1] https://dawn.googlesource.com/dawn.git/+/refs/heads/main/docs/dawn/overview.md
[2] https://dawn.googlesource.com/dawn.git/+/e45ff6a4b3c2f06dade68ec0f01ddc3bfd70c282/generator/generator_lib.gni#77
[3] ee69aa00ee

Change-Id: I3d0074f3003de179400e239e00107c34f35f4901
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524217
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-03-28 13:56:16 +00:00
Kevin Lubick
aab019a15e [bazel] Fix build
Most of these are pretty mechanical generated changes.

IWYU noticed one issue with DSLCore.h, which was fixed here.

Change-Id: I5629565ad3c2817daa71907c62f932d93f9d78ab
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524617
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-03-28 13:56:16 +00:00
Kevin Lubick
14abec45f0 [bazel] Add support for Dawn (via Vulkan)
sk_app has existing support for Dawn on top of Vulkan, and
this adds support to build //example:hello_world_dawn and
get this to run on Linux.

Dawn depends on Tint and abseil-cpp. Tint further depends on
spirv_tools and spirv_headers (for writing to the SPIR-V format).
Dawn and Tint only have GN and CMake support, so we need to make
our Bazel rules for them (see //third_party/BUILD.bazel).

abseil-cpp and the SPIR-V libraries have Bazel support, so we
can just include them (see //WORKSPACE.bazel). It is important
that @spirv_headers be called that exactly because @spirv_tools
depends on it by that name.

The hand-crafted cc_library rules for Dawn and Tint were produced
by reading the appropriate GN files and using the parts necessary
for a supporting Vulkan+Linux. If we use Dawn for other backends
(e.g. WebGPU), we will need to expand the Bazel rules. One day,
we might contribute the Bazel rules to Dawn and Tint so they
can support them and avoid breaking us if new files are added.

Suggested Review Order
 - bazel/common_config_settings/BUILD.bazel to see introduction
   of new select-able option "has_gpu_backend" which cleans up
   some of our code that is enabled for any GPU backend.
 - src/*/BUILD.bazel to see has_gpu_backend rolled out.
 - WORKSPACE.bazel to see DEPS declared there (using the files
   in third_party/externals, which are brought in via
   tools/git-sync-deps).
 - third_party/BUILD.bazel which adds Dawn and Tint rules.
   It may be helpful to look in third_party/externals for
   the Dawn [1] and Tint [2] GN files. Especially interesting
   are the Python scripts [3] Dawn uses to generate some
   header and source files.
 - All other files.

[1] https://dawn.googlesource.com/dawn/+/d9f22ce0346b222759d5510be3d1cd93caa5ab86/src/dawn/native/BUILD.gn#183
[2] https://dawn.googlesource.com/tint/+/453d5ae84ec30ab51ac592c13d472412ae8b5fc9/src/tint/BUILD.gn#174
[3] https://dawn.googlesource.com/dawn/+/d9f22ce0346b222759d5510be3d1cd93caa5ab86/generator/dawn_json_generator.py#774
Change-Id: Ied5b162045d8e841b9666457f0158457e2b078d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516996
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-22 13:05:52 +00:00
Kevin Lubick
0364f7b80e [bazel] Fix/update rules
This regenerates the files and fixes the harfbuzz rule so CanvasKit
compiles.

Change-Id: I2db2bddaabf793f360e8a4fa1a6a2b96222dfdf8
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522816
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-03-21 17:19:54 +00:00
Kevin Lubick
7ac7413f08 [bazel] Support Vulkan
PS1 regenerates BUILD.bazel files

I suggest reviewing the deltas between PS1 and the latest
PS to focus on the interesting bits.

The changes here allow for a Vulkan-only build of HelloWorld
based on sk_app. The toughest change was properly fetching
the VisualID after removing the gl calls that used to
fill that in.

There are a few changes that fix resolution of Dawn
header files, but those won't actually be built until
a follow-on CL.

Change-Id: I54fb58b5dd7ecd4313562aed401759b3eaed53c0
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516999
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-08 21:21:17 +00:00
Ben Wagner
d1b52f58a7 Roll HarfBuzz from a8b7f188 to 8d1b000a (207 commits)
a8b7f18804..8d1b000a3e

Updates to 4.0.0.

Change-Id: Id5fafcb6c811b4f0b2cb5fc5a4fb552979833872
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514175
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
2022-03-02 22:34:16 +00:00
Kevin Lubick
c13cd6479d Reland "Build CanvasKit using GN/Ninja"
This is a reland of ecac712bec

Changes (best viewed comparing PS1 to latest)
 - Use emsdk 3.1.3 which includes important bug fixes
 - Remove unnecessary steps in compile.sh
 - Fix use of various gn args.
 - Avoid conflicts with Flutter's GN symbols
 - Add/update docs
 - Make activate-emsdk script compatible with our infra.

Original change's description:
> Build CanvasKit using GN/Ninja
>
> Build with
>
> ./bin/gn gen out/wasm_debug '--args=target_cpu="wasm"'
>
> or
>
> ./bin/gn gen out/wasm_release '--args=target_cpu="wasm" is_debug=false'
>
> Change-Id: Ib74586bf8397d57064a3899eaa6da76f9bce9049
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502036
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

Change-Id: I601712a8953c2799fa029e782e097905b95e6b59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/507717
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-02-15 16:31:10 +00:00
Kevin Lubick
a59af6e4f2 Revert "Build CanvasKit using GN/Ninja"
This reverts commit ecac712bec.

Reason for revert: possibly breaking flutter, definitely breaking docker wasm builds

Original change's description:
> Build CanvasKit using GN/Ninja
>
> Build with
>
> ./bin/gn gen out/wasm_debug '--args=target_cpu="wasm"'
>
> or
>
> ./bin/gn gen out/wasm_release '--args=target_cpu="wasm" is_debug=false'
>
> Change-Id: Ib74586bf8397d57064a3899eaa6da76f9bce9049
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502036
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

Change-Id: I04dbb3b1cff7511064f603d7dc7c8a4168bf0d56
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/507616
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-02-11 13:35:19 +00:00
Harry Terkelsen
ecac712bec Build CanvasKit using GN/Ninja
Build with

./bin/gn gen out/wasm_debug '--args=target_cpu="wasm"'

or

./bin/gn gen out/wasm_release '--args=target_cpu="wasm" is_debug=false'

Change-Id: Ib74586bf8397d57064a3899eaa6da76f9bce9049
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502036
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-02-11 13:05:44 +00:00
Kevin Lubick
9cb74e9079 [bazel] Compile gms for wasm and WebGL
PS 1 is re-generating existing BUILD.bazel files
PS 2 is generating BUILD.bazel files for tests/gms
PS 3+ makes modifications to build all of the gms and tests.

It is recommended to view this CL with just a diff between
PS 2 and the end, due to the large amount of generated changes
in PS 1 and 2.

We make a filegroup for the gms and tests because they need
to be compiled as one large blob in order for the registries
to work. Maybe in the future we will break these up, but at least
for WASM/JS, the overhead of starting a browser for each new
test would likely grind things to a halt, so we just group them
all together for now. It's also the most similar to what we
currently do.

In gm/BUILD.bazel and tests/BUILD.bazel, we add a cc_library
that encapsulates all of the deps of the tests, so we can
easily include that the build. These were discovered via
trial and error, not anything automatic or systematic.

The is_skia_dev_build config_setting is very similar to the
GN equivalent from which it was based.

The list of gms and tests to skip (e.g. which are incompatible
with WASM) was determined by building the wasm bundle:

modules/canvaskit$ make bazel_gms_release
tools/run-wasm-gm-tests$ make run_local_debug
# Don't forget to click the button on the screen after the
# browser loads

This way of invoking the tests will be replace soon with
`bazel test <something>`. As such, I didn't bother fully
documenting the current way.

Suggested review order:
 - modules/canvaskit/BUILD.bazel taking note that we always
   use profiling-funcs to make the stacktraces human readable.
 - gm/BUILD.bazel and tests/BUILD.bazel to see the lists of
   gms/tests. Notice the tests are roughly partitioned because
   we don't support things like vulkan/PDF in the wasm build
   and we will want a way to not build certain tests for
   certain configurations
 - tools/* noting some of the cc_libraries added to make
   dependencies easier to add when needed.
 - All other files.

Change-Id: I43059cd93c28af1c4c12b93d6ebd9c46a12d381f
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/506256
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-02-09 18:56:17 +00:00
Kevin Lubick
e94b52c442 [canvaskit] Add skottie to Bazel build
PS 1 regenerates existing Bazel files
PS 2 adds generated Bazel files to skottie and its dependencies,
as well as incorporating it into CanvasKit.

This changes the version of Bazel we use to 5.0.0 (recently
released).We had been using a pre-release of 6.0 because we
wanted the new features in one of the 5.0 release candidates,
but not the regression that was there (and reverted before the
full 5.0 release). I'd like to stick to the latest stable Bazel
release where possible.

Suggested Review Order:
 - //modules/skottie/BUILD.bazel (this was hand written
   to encapsulate the skottie library). The files in the
   deps are based on skottie.gni.
 - //modules/skresources/BUILD.bazel and //modules/sksg/BUILD.bazel
   which expose all sources
 - //third_party/file_map_for_bazel.json which ignores the
   ffmpeg libraries (we won't actually build the SkVideoDecoder
   stuff because HAVE_VIDEO_DECODER is not set).
 - //modules/canvaskit/BUILD.bazel which makes use of the skottie
   library and includes the interface skottie.js file.
 - .bazelversion which changes the Bazel version used (e.g. by
   Bazelisk).
 - All other changes should be auto-generated or related to
   deleted files.

Change-Id: Ic26f9a9dea5310f2cbd9cda7d701847924a39a22
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503828
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2022-02-04 19:18:27 +00:00
Evgenii Kliuchnikov
0dae2e870d Add MVP implementation of JPEGXL decoder.
Change-Id: I90140348eeb87c849a857a12008c201efc9e328d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/482596
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-02-02 15:17:14 +00:00
Kevin Lubick
98d664096d [bazel] Regenerate files and build with c++17
See toolchain/clang_toolchain_config.bzl for the c++17 switch.
Most of the other changes were automatically generated
(with the exception of //third_party).

Change-Id: I8c0f4b29b5967da3f48b17eb298a7e92156277ac
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502407
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-02-01 13:15:22 +00:00
Ben Wagner
385a90aa9d Quote things in roll-freetype.sh.
A number of strings should be quoted for correctness. This allows for
proper handling of things like paths with spaces in their names.

Change-Id: I81f18d8a6be990733666ea55d20ff2fe9f2bcb34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499156
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-01-25 16:17:06 +00:00
Ben Wagner
a8ed76ac96 Roll FreeType from cff026d4 to 5e9caaee (77 commits)
cff026d415..5e9caaee78

Change-Id: I13af7c3aff6e440bd2cc8cf1e3e2c0f3f3ba2a9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/498917
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-01-24 20:44:11 +00:00
Ben Wagner
f53675554b Roll HarfBuzz from 31607897 to a8b7f188 (180 commits)
3160789701..a8b7f18804

Change-Id: I61d20c372574bf14c6783ce48bbcfecad2c1733a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/498618
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-01-24 19:40:15 +00:00
skia-autoroll
4350707fe0 Roll skcms from 3fa993c258a9 to 30c8e303800c (2 revisions)
https://skia.googlesource.com/skcms.git/+log/3fa993c258a9..30c8e303800c

2022-01-21 johnstiles@google.com Fix overflow issue in approx_exp2().
2022-01-21 johnstiles@google.com Add .DS_Store to skcms ignore list.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC brianosman@google.com,scroggo@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:Canary-Chromium
Tbr: brianosman@google.com,scroggo@google.com
Change-Id: Idcdc3b42caa52fc5417ca9b6ecd5a8134c6ef176
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497762
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-22 00:10:20 +00:00