Commit Graph

870 Commits

Author SHA1 Message Date
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
skia-autoroll
ca2980bf0d Roll skcms from 1ea0b89e7a7e to 3fa993c258a9 (1 revision)
https://skia.googlesource.com/skcms.git/+log/1ea0b89e7a7e..3fa993c258a9

2022-01-21 lovisolo@google.com Fix skcms-Linux task.

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: Iff4e3d3d8d4407ad5643b09383f21bf7a98e02da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497722
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-21 21:18:53 +00:00
Ben Wagner
0aad22f568 Make roll_harfbuzz.sh work properly on Mac.
On Mac `find` by default interprets the first parameter literally as a
directory string and does not normalize the resulting file names the way
`find` does on Linux. Remove the unnecessary trailing '/' so that both
Mac and Linux versions produce the expected output.

Change-Id: I40e1e3ea546c572254c3e3b5e9bbaddf430ba191
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/494242
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-01-12 22:53:52 +00:00
Kevin Lubick
7a14f783bd [bazel] Sketching out HelloWorld sk_app using GL
bazel run //example:hello_world --config=clang
causes a window to open and draws a circle and a square.
Text to follow in a future CL.

To make this work, I had to get rid of musl and use glibc.
All the shared libraries (.so files) that were pre-built
and available for download (e.g. from https://packages.debian.org/bullseye/amd64/libgl1/download)
were compiled against glibc. When I tried to run a
program statically linked with musl and dynamically linked
against things using glibc, I got a segmentation fault
on things like calloc().

Initial attempts to use glibc had failed because it was thought
that the libc.so.6 file could only be referred to by absolute
path (and thus Bazel would not be happy about it). As it turns out,
that was simply a misconfiguration of the builtin_sysroot
parameter to cc_common.create_cc_toolchain_config_info
(see //toolchain/clang_toolchain_config.bzl). By setting that
to `external/clang_linux_amd64` and not
`external/clang_linux_amd64/usr`, the libc binary which had
been extracted to `external/clang_linux_amd64/lib/x86_64-linux-gnu`
was perfectly reachable from
`external/clang_linux_amd64/usr/usr/lib/x86_64-linux-gnu/libc.so`

To bring in the shared libraries to link against (e.g. X11, GL)
I made build_toolchain.bzl easier to modify in that we simply need
to add a debian download url and sha256 hash to a list (rather than
having to plumb this through via arguments).

Recommended Review Order:
 - example/BUILD.bazel (not sure if we always want to set bare
   link arguments like that or if we want to use "features" to
   pass those along to the toolchain).
 - tools/sk_app/BUILD.bazel to see initial cc_library for
   wrapping sk_app code.
 - toolchain/build_toolchain.bzl to see removal of musl and
   new list of debs.
 - toolchain/clang_toolchain_config.bzl (where use of the
   no-canonical-prefixes was key to compilation success).
   Notice also that we statically linked libc++ (I did not
   have any shared libraries for it locally, so I guessed
   a typical developer might not either).
 - Rest of toolchain/ for trivial renames.
 - bazel/Makefile to see extra docs on those targets and
   a new target that compiles all the exes so far for a
   quick way to test the build.
 - third_party/BUILD.bazel and src/gpu/BUILD.bazel which have
   non-generated changes. (all other BUILD.bazel files do).
 - go.mod, which needed to update the infra repo version in
   order to pick up http://review.skia.org/491736).

Change-Id: I8687bd227353040eca2dffa9465798d8bd395027
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492117
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-01-11 13:06:19 +00:00
Brian Osman
90263a14b5 Revert "Spruce up SkSL slide with a much nicer editor"
This reverts commit 88c5af7ecd.

Reason for revert: Various input bugs in the new editor make it somewhat unusable.

Original change's description:
> Spruce up SkSL slide with a much nicer editor
>
> Pulls in a new GitHub repo that implements a syntax-highlighting code
> editor ImGui widget.
>
> Change-Id: I968e5eb827c226259eaaad2996eeaad9de592e37
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491444
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

Change-Id: Ifa5bc87327785d107956201c4d866c7259006ec2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492359
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-01-07 15:56:16 +00:00
Kevin Lubick
96e4053be7 Update Bazel files
- Use latest emscripten toolchain (3.1.0)
 - Autogenerate the atoms and manually fix some of the file lists.
 - Add a known_good_builds target to bazel/Makefile to help
   check the things we expect to work with Bazel.

Change-Id: Ia5f51e7b9eb5c108386820ad59180c8f862f5a70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491438
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-01-06 18:10:57 +00:00
Brian Osman
88c5af7ecd Spruce up SkSL slide with a much nicer editor
Pulls in a new GitHub repo that implements a syntax-highlighting code
editor ImGui widget.

Change-Id: I968e5eb827c226259eaaad2996eeaad9de592e37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491444
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-01-05 20:19:49 +00:00
John Stiles
45c9eab786 Update ImGui to v1.85.
Change-Id: Ia490c514722b3d23cbf54a5905d301272e7ef161
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/481856
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2021-12-09 15:10:31 +00:00
Kevin Lubick
4bd08c52c0 [infra] Add SkParagraph (harfbuzz, ICU) to Canvaskit Bazel build.
As a follow-up to https://skia-review.googlesource.com/c/skia/+/476219,
this sketches out how we can maybe use cc_library for the things
in //modules to make sure something in //src doesn't depend on
anything in //modules, for example.

The following succeeds:
bazel build //modules/skparagraph:skparagraph --config=clang \
  --shaper_backend=harfbuzz_shaper --with_icu

As does `make bazel_canvaskit_debug` in //modules/canvaskit

Suggested Review Order:
 - third_party/BUILD.bazel for ICU and harfbuzz rules. Pay
   special attention to the genrules used to call the python
   script for turning the icu .dat file into .S or .cpp.
 - bazelrc and bazel/ for new flags and defines that control
   use of ICU and harfbuzz. Unlike GN, with the public_defines
   that get added in automatically if icu or harfbuzz is
   depended upon, we need to set the defines at the top level.
   This necessity might go away if we change the atoms to
   depend on //modules/skshaper, which could define that flag.
 - Top level BUILD.bazel files in //modules/skparagraph,
   //modules/skshaper, //modules/skunicode, //modules/canvaskit
 - All other .bazel file changes are automatic.

Bug: skia:12541
Change-Id: I38a9e0a9261d7e142eeb271c2ddb23f362f91473
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478116
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-11-30 21:01:06 +00:00
Kevin Lubick
6ba9f702ba [bazel] Try adding cc_binary rules that use generated rules
To make the atomic rules a bit easier to work with, in many
of the folders, this adds in cc_library rules to group
together the sources from that folder (and subfolders
where prudent). We only needs sources because those atoms
should have their headers as deps.

One issue that was pointed out is that there is currently
no way to restrict the inclusion of certain packages,
a la, `gn check`. For example, there is no mechanism from
stopping a dev from adding
#include "modules/canvaskit/WasmCommon.h"
to something in //src/core (except circular dependencies).
We can probably address that using Bazel's visibility
rules as needed:
https://docs.bazel.build/versions/main/visibility.html
https://docs.bazel.build/versions/main/be/functions.html#package_group

It is recommended to look at this CL patchset by patchset.
PS1: Update gazelle command to generate rules in more folders.
PS2: A few changes to make generation work better.
PS3: The result of running make generate in //bazel
PS4: Adding the rules to build sksllex, the simplest binary I
     could find in the Skia repo.
PS5: Adding the rules to build skdiff, a more complex binary.
     I tried a few approaches, but ended up gravitating back
     towards the layout where we have each folder/package
     group up the sources. I imagine at some point, we'll have
     skdiff depend on skia_core or something, which will
     have things like //src/core, //src/codecs, //src/pathops
     all bundled together.
PS7: Added in the groupings of sources, similar to what we had
     earlier. I liked these for readability. These helped fix
     up the //:skia_core build, and by extension, the CanvasKit
     build.

Change-Id: I3faa7c4e821c876b243617aacf0246efa524cbde
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/476219
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-11-30 18:18:53 +00:00
Ben Wagner
ca7976f799 Roll HarfBuzz from a52c6df3 to 31607897 (132 commits)
a52c6df38a..3160789701

Change-Id: I36ae4f5d2a07dffd944eb3987e757db5c7d22a3d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/476537
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-11-29 20:00:24 +00:00
Kevin Lubick
9488e0237d [infra] Experiment generating BUILD.bazel files
This uses the gazelle extension from
https://skia-review.googlesource.com/c/buildbot/+/473357

Review Tips:
 - Ignore any changes to .h or .cpp files. Those have been
   pulled out into their own CLs.
 - Start with bazel/macros.bzl.
 - Read the CL with the generation code, if you haven't already.
 - Look at third_party/file_map_for_bazel.json.
 - See experimental/bazel_test for an idea of how a cc_binary
   would be made.
 - Spot check one or two of the BUILD.bazel files.

This CL generates the "atomic" rules for src/, include/ and
modules/skshaper, as a starting point.

`bazel build --config clang //include/...` works

`bazel build --config clang //src/...` starts compiling,
(which verifies that the BUILD.bazel files are all valid),
but runs into errors because not all third_party deps have
been resolved, and there are some files missing from the
toolchain still (e.g. EGL headers).

Change-Id: Ib7e0fb0efdb9f08655f06cbc56e9bb4cf416294b
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474240
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-11-23 18:53:16 +00:00
Kevin Lubick
888d4efa77 [canvaskit] Add Freetype/Fonts to Bazel Build
This re-works src/ports/BUILD.bazel to work like our other
BUILD files, i.e. one rule "srcs" that brings in the necessary
private filegroups.

To work around an abort with LLVM [1], we have to go back to an
earlier version of emscripten (temporarily?).

Future work should look at using transitions [2] to allow various
executables (e.g. CanvasKit, DM) to set their own set of Bazel
flags, w/o the build invokers having to specify them.

These transitions might be able to handle more complex cases
that we currently use if statements in GN to deal with.

The Freetype build rule was created by taking the BUILD.gn
rule, adding in all the sources listed there and then playing
compile-whack-a-mole to add in all the headers and included
.c files.

Suggested Review Order:
 - third_party/BUILD.bazel to see freetype build rules
 - bazel/common_config_settings/ to see treatment of fontmgr
   like codecs (many possible) and fontmgr_factory (only one).
 - src/ports/BUILD.bazel
 - BUILD.bazel
 - modules/canvaskit/BUILD.bazel. Take note of the gen_rule that
   calls tools/embed_resources.py to produce the .cpp file
   containing the embedded font data.
 - Everything else.

[1] https://github.com/emscripten-core/emscripten/issues/15528
[2] https://github.com/bazelbuild/examples/tree/main/rules/starlark_configurations/cc_binary_selectable_copts
Bug: skia:12541
Change-Id: I08dab82a901d80507007b354ca20cbfad2c2388f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/471636
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-11-17 13:06:35 +00:00
skia-autoroll
9f300e4cb1 Roll skcms from 103005b3c336 to 1ea0b89e7a7e (1 revision)
https://skia.googlesource.com/skcms.git/+log/103005b3c336..1ea0b89e7a7e

2021-11-15 lovisolo@google.com [bazel] SkCMS: Android RBE 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 jlavrova@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: jlavrova@google.com,brianosman@google.com
Change-Id: I95d8f456999d48387ce586be3d574ac36238590c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/471868
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-16 00:27:10 +00:00
skia-autoroll
1554910206 Roll skcms from 9019104061d8 to 103005b3c336 (1 revision)
https://skia.googlesource.com/skcms.git/+log/9019104061d8..103005b3c336

2021-11-15 lovisolo@google.com [bazel] SkCMS: Android config (32- and 64-bit, local and RBE).

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,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:Canary-Chromium
Tbr: brianosman@google.com,jlavrova@google.com
Change-Id: I212b3bf001118961a516109f83eb5eccfbe03898
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/471814
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-15 22:40:09 +00:00
skia-autoroll
152299ee42 Roll skcms from 0d5496480324 to 9019104061d8 (1 revision)
https://skia.googlesource.com/skcms.git/+log/0d5496480324..9019104061d8

2021-11-12 borenet@google.com [infra] Update Mac dimensions to target MacMinis

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 bsalomon@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: bsalomon@google.com,brianosman@google.com
Change-Id: I8c3f3249a666b179cfa3e606b92e2f292c3e9551
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/470781
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-12 16:50:37 +00:00
Brandon DeRosier
c0ff5a8560 Add flag that can be used to disable std::shared_mutex use in VMA.
This is needed for enabling Skia's Vulkan backend for Flutter on Windows and iOS 9, as the standard libraries in both of these contexts don't have `std::shared_mutex`.

When disabled on Windows, VMA falls back to using Win32 SRWLock.
The `vulkan.h` import in `vk_mem_alloc.h` which would normally import `windows.h` is commented out for Skia, and so the relevant symbols need to be declared before importing `vk_mem_alloc.h`.

Relevant Flutter Engine PR: https://github.com/flutter/engine/pull/29520

Change-Id: I2b1a621417155071b21e5c6d3b5ccc375c92a622
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/469207
Reviewed-by: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brandon DeRosier <bdero@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-11-12 01:35:08 +00:00
Kevin Lubick
8ed49ea6e3 [infra] Add Bazel rules for codecs.
This ports the third_party BUILD.gn files related to codecs
(with a best-effort on arm/SIMD stuff). This includes:
 - libpng
 - libjpeg-turbo
 - libwebp
 - wuffs (gif)
 - libgifcodec
 - dng_sdk and piex (raw codec)

This expands the string_flag_with_values macro to allow
multiple values to be set at once. This was added in Bazel 5.0.0,
however the latest pre-release version of that has a bug [1]
which slows down compilation dramatically. This was fixed at
ToT, but not released. As a result, I started using the Bazel
6 pre-release (via bazelisk).

The macro select_multi makes writing select() where multiple
elements could be on possible/easier.

One can try compiling certain codecs by running:
bazel build :skia-core --config clang --include_codec=raw_codec --include_codec=png_codec

Suggested Review Order:
 - bazel/macros.bzl
 - bazel/common_config_settings/defs.bzl and its BUILD.bazel
   to see how the codec options are defined.
 - BUILD.bazel to see how the codec settings are used.
 - src/codec/BUILD.bazel to see the inclusion of Skia files to
   deal with specific codecs.
 - third_party/BUILD.bazel (while referencing the corresponding
   BUILD.gn files, such as third_party/libwebp/BUILD.gn)
 - Everything else.

Change-Id: I797375a35fa345d9835e7b2a2ab23371c45953c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/469456
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2021-11-11 20:10:01 +00:00
Kevin Lubick
1f8c31b101 [infra] Add initial Bazel rules and files
These rules can be used to build our GMs on WASM+WebGL and
libskia.a with just the CPU backend (and most other features
turned off).

This can be done with the following commands:
  - bazel build //modules/canvaskit:gm-bindings-wasm --gpu_backend=gl_backend --with_gl_standard=webgl_standard
  - bazel build :skia-core --config clang

This pivots slightly from http://review.skia.org/463517
by using config_settings [1] instead of platforms for
the optional features that we control. This pivot was
suggested in [2]

We have BUILD.bazel files in many of the subdirectories
that specify filegroups for the appropriate files. In
an effort to make //BUILD.bazel more readable, it is
the responsibility of these subfolders to deal with
conditionally including certain .h or .cpp files.
This is done using select statements and config_settings
or platform constraints as necessary.

For example, src/gpu/BUILD.bazel will different private
filegroups for each of the supported gpu backends [3]
and a more-visible filegroup called "srcs" that has
the right selection of the private files to be used
for compilation.

An effort has been made to avoid using glob() in our
BUILD.bazel files. These file lists were made by using
`ls -1` and some regex to add in quotes. We might want
to make a helper script to assist with that, if necessary.

To specify which options we have, the settings in
//bazel/common_config_settings/BUILD.bazel have been
redesigned. They make use of a macro `string_flag_with_values`
that removes the boilerplate. Patchset 36 shows what the
file looks like w/o the macro.

The top level BUILD.bazel file will still need to use
some logic to handle defines, because local_defines is
a list of strings, not a list of labels [4].

Suggested Review Order:
  - WORKSPACE.bazel to see the new dependencies on the
    emsdk toolchain and bazel_skylib
  - bazel/common_config_settings/* to see the few settings
    defined (we have more to define, see BUILD.gn and
    //gn/skia.gni for ideas)
  - BUILD.bazel to see the "skia-core" cc_library rule.
    See also "gms" and "tests"
  - modules/canvaskit/BUILD.bazel to see the use of
    the emscripten "wasm_cc_binary" rule, which depends
    on the "skia-core", "gms", and "tests" rule. Note that
    it only builds some of the gms as a proof of concept.
  - The other BUILD.bazel files. Some of these are not
    platform or feature dependent (e.g. pathops). Others
    are (e.g. gpu).
  - All other files.

[1] https://docs.bazel.build/versions/4.2.1/skylark/config.html#user-defined-build-settings
[2] https://github.com/emscripten-core/emsdk/pull/920
[3] In this CL, that's just the webgl one.
[4] https://docs.bazel.build/versions/main/be/c-cpp.html#cc_library.local_defines

Change-Id: Ieecf9c106d5e3a6ae97d13d66be06b4b3c207089
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/458637
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Owners-Override: Kevin Lubick <kjlubick@google.com>
2021-11-09 12:32:25 +00:00
Kevin Lubick
97284f255b [infra] Add initial platforms and constraint values
This makes use of Bazel's pre-defined platforms
https://github.com/bazelbuild/platforms
and some of our own defined values (see
//bazel/common_config_settings/BUILD.bazel) to customize
the build rules.

I verified this by building bazel_test locally for
linux x64 as well as using the third_party deps for
a WASM build (using build files not seen in this CL).

Suggested Review Order:
 - https://docs.bazel.build/versions/main/platforms.html if not
   already familiar with Bazel Platforms
 - third_party/BUILD.bazel to see that 1) all globs have
   been removed and 2) select() targets various
   platform constants or groups of constants to control
   sources, headers, and local_defines.
 - common_config_settings/ to see the groups of constraints
   created, as well as new constraint_settings defined
   (skdebug_impl)
 - supported_combinations/ to see how we can define supported
   sets of the constraint values (aka Bazel platforms).
   I imagine expanding this more, so we might have platforms
   named "linux_x64_emptyfontmgr_vulkan" or such.
 - //BUILD.bazel and bazel_test.cpp to see use of SkDebugf.
 - Everything else.

Change-Id: I49e4abdbcf7b76f0674efdbb1f53dc8823d110ee
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/463517
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Owners-Override: Kevin Lubick <kjlubick@google.com>
2021-10-26 18:27:13 +00:00
Kevin Lubick
05ac1b86ad Add LICENSE to third_party/musl_compat
Change-Id: I997446733308e61db850aa022e06fd3609b0d914
Bug: skia:12563
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/462076
Reviewed-by: Ravi Mistry <rmistry@google.com>
2021-10-21 13:49:16 +00:00
Kevin Lubick
4d41304def [infra] Add hermetic toolchain for C/C++ using Clang+Musl
This can successfully build a C library:
   bazel build --config=clang //third_party:libpng

This can build and run a statically-linked executable:
   bazel test --config=clang //:bazel_test

For more verbose compile and linking output, add the
`--features diagnostic`
flag to a Bazel command (see _make_diagnostic_flags() in
toolchain/clang_toolchain_config.bzl. Similarly, a
`--features print_search_dirs` can be used to show where
clang is looking for libraries etc to link against.
These features are made available for easier debugging.

Suggested review order:
 - Read https://docs.bazel.build/versions/4.2.1/tutorial/cc-toolchain-config.html
   if unfamiliar with setting up C++ toolchains in Bazel
 - .bazelrc and WORKSPACE.bazel that configure use and download
   of the toolchain (Clang 13, musl 1.2.2)
 - toolchain/build_toolchain.bzl which downloads and assembles
   the toolchain (w/o installing anything on the host machine)
 - toolchain/BUILD.bazel and toolchain/*trampoline.sh to see
   the setup of the toolchain rules.
 - toolchain/clang_toolchain_config.bzl to see the configuration
   of the toolchain. Pay special attention to the various
   command line flags that are set.
 - See that tools/bazel_test.cc has made a new home in
   experimental/bazel_test/bazel_test.cpp, with a companion
   BUILD.bazel. Note the addition of some function calls
   that test use of the C++ standard library.
   The number being used to test the PNG library is the latest
   and greatest that verifies we are compiling the one brought
   in via DEPS (and not a local one).
 - third_party/* to see how png (and its dependent zlib) have
   been built. Pay special attention to the musl_compat hack
   to fix static linking (any idea what the real cause is?)
- //BUILD.bazel to see definition of the bazel_test executable.

Change-Id: I7b0922d0d45cb9be8df2fd5fa5a1f48492654d5f
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461178
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-10-21 12:43:49 +00:00
skia-autoroll
1347e1334f Roll skcms from b5aafce0db45 to 0d5496480324 (1 revision)
https://skia.googlesource.com/skcms.git/+log/b5aafce0db45..0d5496480324

2021-10-06 lovisolo@google.com [skcms] Run Bazel tryjobs using the VM service account, not JSON keys.

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,michaelludwig@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,michaelludwig@google.com
Change-Id: Ic396880c09df7c726bb39565c48650badcbded2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/456597
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-06 21:51:25 +00:00
skia-autoroll
5d1822a8b1 Roll skcms from a00edc64c486 to b5aafce0db45 (1 revision)
https://skia.googlesource.com/skcms.git/+log/a00edc64c486..b5aafce0db45

2021-10-04 lovisolo@google.com [bazel] SkCMS: Add Windows Bazel 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 michaelludwig@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: michaelludwig@google.com,brianosman@google.com
Change-Id: Ide1683c374b65c14408067eed4dbd3afd56638e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/455822
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-04 23:44:23 +00:00
skia-autoroll
a20c60d9e5 Roll skcms from 9aafe826f922 to a00edc64c486 (1 revision)
https://skia.googlesource.com/skcms.git/+log/9aafe826f922..a00edc64c486

2021-09-29 lovisolo@google.com [bazel] SkCMS RBE config for Windows.

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 csmartdalton@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: csmartdalton@google.com,brianosman@google.com
Change-Id: Icd362e9d4e8ce2cfad591e836f7c26c784ecf443
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/454176
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-29 20:26:20 +00:00
Ben Wagner
639f71ace6 Roll FreeType from 61903609 to 12ef831f (10 commits)
6190360967..12ef831fc3

Also update the roll script to something useful.

Disable: treat-URL-as-trailer
Change-Id: I6fd0e77c06d353568031ebb745fceda44c6ae498
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/453758
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-09-29 14:28:39 +00:00
Ben Wagner
2dc9c5d98f Roll HarfBuzz from 6f190943 to a52c6df3 (2 commits)
6f19094398..a52c6df38a

Pick up fixes for component depth tracking.

Also ensure all build files are listed to simplify updating the build
when rolling. Add a check to the roll script to check for source files
listed multiple times.

Change-Id: I5aa5fb5246cd123019b43fe5207a47d9672752d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/453576
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-09-28 18:52:38 +00:00
Ben Wagner
5814ba9b5a Roll HarfBuzz from 368e9578 to 6f190943 (313 commits)
368e957887..6f19094398

With HarfBuzz past 3.0.0 the subsetter API is now public and stable.

Also add a roll script to ease rolling.

Change-Id: I206b54a38321e8887bdaee5778079b4d0e560ba9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/453097
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-09-27 20:18:15 +00:00
skia-autoroll
e9bf155282 Roll skcms from 3021821e8f79 to 9aafe826f922 (1 revision)
https://skia.googlesource.com/skcms.git/+log/3021821e8f79..9aafe826f922

2021-09-24 lovisolo@google.com [bazel] SkCMS: Add Bazel tasks (local and RBE).

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 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
Change-Id: I9a8554a87c95a71f19b7bd789e37ee74e56e152f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/452444
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-24 05:04:41 +00:00
skia-autoroll
f8a6faf94b Roll skcms from cf7d3f925b87 to 3021821e8f79 (1 revision)
https://skia.googlesource.com/skcms.git/+log/cf7d3f925b87..3021821e8f79

2021-09-22 lovisolo@google.com [bazel] SkCMS RBE config for Linux.

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 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
Change-Id: Ia4ee01b57ecbc4532905b53268e7844194b9dd00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/451876
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-22 19:30:42 +00:00
skia-autoroll
88018b6e41 Roll skcms from c1e907c8f007 to cf7d3f925b87 (1 revision)
https://skia.googlesource.com/skcms.git/+log/c1e907c8f007..cf7d3f925b87

2021-09-02 lovisolo@google.com Add BAZEL.md file with build and test instructions on all supported platforms.

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 fmalita@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: fmalita@google.com,brianosman@google.com
Change-Id: Ic8c1fa91cdc6227f4aa27ee7a86bccd67ff1fc4d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/445223
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-02 22:51:45 +00:00
skia-autoroll
25b392329f Roll skcms from 4f7135f89d98 to c1e907c8f007 (1 revision)
https://skia.googlesource.com/skcms.git/+log/4f7135f89d98..c1e907c8f007

2021-09-01 rmistry@google.com Use repo-specific tree_status_url in skcms

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 fmalita@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: fmalita@google.com,brianosman@google.com
Change-Id: Ifdafe51d96ebb0b3dd2fa4ddda273ae9375c6ff8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444700
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-01 22:42:05 +00:00
skia-autoroll
8ecd9e0309 Roll skcms from b3fa31431c6a to 4f7135f89d98 (1 revision)
https://skia.googlesource.com/skcms.git/+log/b3fa31431c6a..4f7135f89d98

2021-08-25 kjlubick@google.com Add OWNERS

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 herb@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: herb@google.com,brianosman@google.com
Change-Id: Ic298bff011998d2c4537fb19b3d10bb55141ed19
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/441979
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-25 20:09:24 +00:00
James Zern
7d095952c2 update libwebp to v1.2.1
https://chromium.googlesource.com/webm/libwebp/+log/v1.2.0..v1.2.1

- 7/20/2021: version 1.2.1
  This is a binary compatible release.
  * minor lossless encoder improvements and x86 color conversion speed up
  * add ARM64 simulator support to xcframeworkbuild.sh (#510)
  * further security related hardening in libwebp & examples
    (issues: #497, #508, #518)
    (chromium: #1196480, #1196773, #1196775, #1196777, #1196778, #1196850)
    (oss-fuzz: #28658, #28978)
  * toolchain updates and bug fixes (#498, #501, #502, #504, #505, #506, #509,
                                     #533)
  * use more inclusive language within the source (#507)

Bug: b/188435220
Change-Id: I7e01c96d3598c8738fb11d541b9a078b6f29fbc0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434197
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2021-08-16 13:57:40 +00:00
Ben Wagner
51d83abcd2 Ease HarfBuzz API change with feature detection
Skia has been using the not entirely public HarfBuzz subsetting API.
This API is changing for public release. In order to make the transition
from old to new build flags were added, which would require build
changes as HarfBuzz is updated downstream. Instead detect the existence
of the old or new API and use whichever is present automatically.

Change-Id: I0727f97ad7d394dfb24553076d4b383570cf0002
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/437121
Reviewed-by: Garret Rieger <grieger@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-08-06 17:22:22 +00:00
Ben Wagner
faf0187b51 Really fix CMake HarfBuzz build
CMake is the only build system which ensures all the referenced headers
actually exist. In the last HarfBuzz roll a few header files were
removed but the headers were not removed from the BUILD.gn file. Remove
the files from the build since they no longer exists.

Apparently CMake bails as fast as possible and only reports one
non-existent file at a time, so this time kept going until it actually
built.

Change-Id: Ib85ef8427a751b507986473ab586a0e7d0261563
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/437336
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-08-06 15:42:30 +00:00
Ravi Mistry
94fcb37e5b Add LICENSE file to third_party/harfbuzz
To get the Flutter license checks to pass

Bug: skia:12317
Change-Id: I73a1f618276d32a1c737015b5d231daecd8c63ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/437236
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-08-06 15:01:25 +00:00
Ben Wagner
68403f131d Fix CMake HarfBuzz build.
CMake is the only build system which ensures all the referenced headers
actually exist. In the last HarfBuzz roll a header file was removed
because support for an old table was dropped but the header was not
removed from the BUILD.gn file. Remove the file from the build since it
no longer exists.

Change-Id: I3093e215cfa001534247208787a365db73629f2a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/437196
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-08-06 06:33:41 +00:00
Garret Rieger
66684b17b3 Roll HarfBuzz from 2.6.4 to 2.8.2-147
3a74ee5282..368e957887

Additionally adds a build option that switches to the new
harfbuzz subsetting api which is coming in the next version
of harfbuzz.

Change-Id: I924a7b4978412d636d4c8d19f5c6021ea3c73d21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433737
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-08-06 02:54:40 +00:00
Florin Malita
40f3db41af Reland "Experimental ICU runtime linking"
This is a reland of f4aab0584d

Original change's description:
> Experimental ICU runtime linking
>
> Introduce a build config option where ICU symbols are resolved at
> runtime, against existing system libs.
>
> Change-Id: I2325537438de0063fcc4a7c0f8411764cf550f09
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431037
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Florin Malita <fmalita@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

Change-Id: I6f67a5eb842743d2486ccc4519e2d8cb9fac3458
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433277
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-07-27 19:51:31 +00:00
Florin Malita
6cce9615a0 Revert "Experimental ICU runtime linking"
This reverts commit f4aab0584d.

Reason for revert: build failures

Original change's description:
> Experimental ICU runtime linking
>
> Introduce a build config option where ICU symbols are resolved at
> runtime, against existing system libs.
>
> Change-Id: I2325537438de0063fcc4a7c0f8411764cf550f09
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431037
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Florin Malita <fmalita@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

TBR=djsollen@google.com,bungeman@google.com,fmalita@chromium.org,fmalita@google.com,jlavrova@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: Ic252af1d7ba0a72b3c596e61f86746c27a0685b7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433276
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-07-27 12:13:39 +00:00
Florin Malita
f4aab0584d Experimental ICU runtime linking
Introduce a build config option where ICU symbols are resolved at
runtime, against existing system libs.

Change-Id: I2325537438de0063fcc4a7c0f8411764cf550f09
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431037
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-07-26 21:18:17 +00:00
Ben Wagner
c4de11b6d7 Don't build hb-icu
Since "Build HarfBuzz without ICU support" e07555f6aa, HarfBuzz in Skia
has not been using ICU. However, hb-icu support files are still being
built. Remove them from the build.

Change-Id: Ib8dcf8a2139255ee1a1019197c38414305ca082e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432997
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-07-26 16:51:44 +00:00
skia-autoroll
f953071c11 Roll skcms from ba17399285ce to b3fa31431c6a (1 revision)
https://skia.googlesource.com/skcms.git/+log/ba17399285ce..b3fa31431c6a

2021-07-20 rmistry@google.com Add SkCQ cfg file to skcms

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: ethannicholas@google.com,mtklein@google.com
Change-Id: Ia5ae9d6c709c6c28af60765fa009f4dbcf035ae6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/430559
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-20 19:47:34 +00:00
skia-autoroll
51eb0ca549 Roll skcms from bae5e281e80f to ba17399285ce (1 revision)
https://skia.googlesource.com/skcms.git/+log/bae5e281e80f..ba17399285ce

2021-07-13 johnstiles@google.com Fix GCC 8.3 spurious warning when disabling -Wpsabi.

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: johnstiles@google.com,mtklein@google.com
Change-Id: Ie44498b3083c90675dbc545cf15582510896bbef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/427477
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-13 16:48:24 +00:00
Brian Osman
36ddc4de79 Roll ICU
Picks up python3 fixes for make_data_assembly

Change-Id: I9bb46ef08d30c951f12d7c427c7cbdabcfaa41e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421924
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-06-25 17:40:19 +00:00
Ben Wagner
e07555f6aa Build HarfBuzz without ICU support
In addition to reducing the dependency footprint of HarfBuzz as a
library, removing the slow conversion from ICU script to HarfBuzz script
representation should speed things up a bit. Additional clean up to
remove the no longer used SkUnicodeScript parameter will be put off
until later as a separate API change.

Bug: skia:12095
Change-Id: Ib7982a59670cc9c25cb1489b9622a98968ae1a38
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419196
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-06-17 15:44:13 +00:00
Brian Osman
bdda1a3ccd Remove SDL from DEPS (and SDL example that used it)
Change-Id: Ia18badfdd174015b67ce09ae3ec3180df0481710
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413378
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-05-27 21:37:57 +00:00
Brian Osman
ce9d8e143d Remove all traces of OpenCL
Change-Id: I4e00edd2d1572c3e2c1fcb56824239c166253cbc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412958
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-27 19:17:17 +00:00
Ravi Mistry
ace17c2f46 Add LICENSE file to third_party/expat/include/expat_config/
Bug: skia:12052
Change-Id: Idd74b7bfec1e5259e426187bcb191e1696320247
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413116
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-05-27 18:15:18 +00:00
Ben Wagner
f893d47a21 Add copyright header to expat_config.h
This minimal config was created by hand attmpting to set things the same
way they had been before expat_config.h was required.

Bug: skia:12052
Change-Id: I29f90851312a1a6f8866f8ea30e21c246b340276
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413077
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-05-27 15:40:10 +00:00
Ben Wagner
f81ac4270c Roll libexpat to 2-4-1
https: //chromium.googlesource.com/external/github.com/libexpat/libexpat.git/+log/e976867fb57a0cd87e3b..a28238bdeebc087
Change-Id: I973d2e342046079e7219110f103021fd06142c2c

Due to "Resolve macro HAVE_EXPAT_CONFIG_H" 8d1bd6ff2c09 it is now
required to provide an expat_config.h. A minimal and maximally portable
one is added.

Change-Id: I973d2e342046079e7219110f103021fd06142c2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412776
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
2021-05-26 21:18:49 +00:00
skia-autoroll
028de13d6f Roll skcms from 31ba46d6a284 to bae5e281e80f (1 revision)
https://skia.googlesource.com/skcms.git/+log/31ba46d6a284..bae5e281e80f

2021-05-08 rmistry@google.com Add whitespace.txt

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: egdaniel@google.com,mtklein@google.com
Change-Id: If800196fd280423d58126d506f67d3dce51fb527
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/405899
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-08 21:32:59 +00:00
Leon Scroggins
5ead7e1e84 Update version of libjpeg-turbo used by Skia's test infra
libjpeg-turbo recently released 2.1, and Chromium is now using that
version. Update tests to use the same to verify everything works as
expected.

Update BUILD.gn

Change-Id: I751fb376b4a532d740122f8a4acd0100c42f984e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402276
Commit-Queue: Leon Scroggins <scroggo@google.com>
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2021-05-04 21:49:45 +00:00
skia-autoroll
e07788ee2c Roll skcms from 623cdd693261 to 31ba46d6a284 (1 revision)
https://skia.googlesource.com/skcms.git/+log/623cdd693261..31ba46d6a284

2021-04-21 mtklein@google.com use print_shortest_float() for matrix values

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: jvanverth@google.com,mtklein@google.com
Change-Id: Ia751e80822bae892cf60a7f6fa287d73d1f97ad5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399164
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-21 18:28:27 +00:00
skia-autoroll
9db8bb4b05 Roll skcms from a638db877ef8 to 623cdd693261 (1 revision)
https://skia.googlesource.com/skcms.git/+log/a638db877ef8..623cdd693261

2021-04-21 mtklein@google.com zero output_channels to skip B2A CLUT

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: mtklein@google.com,jvanverth@google.com
Change-Id: Ib3205076620ff133dfcb54bdbf21b60a32acf3e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399137
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-21 17:39:07 +00:00
skia-autoroll
665920e9b9 Roll skcms from 163066c2a041 to a638db877ef8 (1 revision)
https://skia.googlesource.com/skcms.git/+log/163066c2a041..a638db877ef8

2021-04-15 mtklein@google.com require 3 or 4 B2A output channels

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: brianosman@google.com,mtklein@google.com
Change-Id: I4a4834a7a01cf6d4855b40d6da47af6e29f1d11e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/397122
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-15 18:26:22 +00:00
skia-autoroll
e264ba393d Roll skcms from 411e27776f5c to 163066c2a041 (1 revision)
https://skia.googlesource.com/skcms.git/+log/411e27776f5c..163066c2a041

2021-04-14 mtklein@google.com B2A part 3, turn it on

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: brianosman@google.com,mtklein@google.com
Change-Id: I629f77a5d49673edef2b1a67318fbcc45ac89225
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396720
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-14 17:17:58 +00:00
skia-autoroll
c16efbd66e Roll skcms from c8a56c57ab7c to 411e27776f5c (1 revision)
https://skia.googlesource.com/skcms.git/+log/c8a56c57ab7c..411e27776f5c

2021-04-01 mtklein@google.com fix fuzzer bug

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: mtklein@google.com
Change-Id: I2d0c3ad72746561bb5329e9ede53688be0b7882f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391817
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-01 16:00:03 +00:00
skia-autoroll
3d358fe2e5 Roll skcms from 170996808234 to c8a56c57ab7c (1 revision)
https://skia.googlesource.com/skcms.git/+log/170996808234..c8a56c57ab7c

2021-04-01 mtklein@google.com B2A part 2, CLUT refactoring

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: mtklein@google.com
Change-Id: Ib8f02751a45beeb47e79dc33776761affbd5d71f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391344
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-01 03:23:03 +00:00
skia-autoroll
1e7e14ba34 Roll skcms from 5b3a2ab8be02 to 170996808234 (1 revision)
https://skia.googlesource.com/skcms.git/+log/5b3a2ab8be02..170996808234

2021-03-31 mtklein@google.com roundtrip any profiles we can

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: mtklein@google.com
Change-Id: I6cb7c09e7c1457bcecde24544b0efb744fbac992
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391340
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-31 21:06:43 +00:00
skia-autoroll
a4d85e708b Roll skcms from 4e8691e28194 to 5b3a2ab8be02 (1 revision)
https://skia.googlesource.com/skcms.git/+log/4e8691e28194..5b3a2ab8be02

2021-03-31 mtklein@google.com dump src->xyz transform as %.2f

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: mtklein@google.com
Change-Id: I4a3ef0bd1e5f687d2ec6fb1929fdffcfc22e72bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391337
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-31 19:44:12 +00:00
skia-autoroll
94dc3b709b Roll skcms from b9593d4e39ea to 4e8691e28194 (1 revision)
https://skia.googlesource.com/skcms.git/+log/b9593d4e39ea..4e8691e28194

2021-03-31 mtklein@google.com B2A part 1, types and parsing

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: mtklein@google.com
Change-Id: I52d7f3b5ca56be4bb6c8a4955b70dc09bf63ad96
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391159
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-31 16:31:52 +00:00
skia-autoroll
ced1d35bc5 Roll skcms from 65de465d622d to b9593d4e39ea (1 revision)
https://skia.googlesource.com/skcms.git/+log/65de465d622d..b9593d4e39ea

2021-03-25 mtklein@google.com inclusivity in comments

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: reed@google.com,mtklein@google.com
Change-Id: I7e5a4e221e5442d663fee36a214b3f46b5acb6cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389198
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-25 19:25:41 +00:00
skia-autoroll
2159f8b220 Roll skcms from 16a890f7be9d to 65de465d622d (1 revision)
https://skia.googlesource.com/skcms.git/+log/16a890f7be9d..65de465d622d

2021-03-23 mtklein@google.com parse profile following user-supplied A2B priority

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: reed@google.com,mtklein@google.com
Change-Id: Ic59268102ac3e65a0161e7ee0eed822c972924ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388377
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-23 19:17:22 +00:00
skia-autoroll
ffc49942b2 Roll skcms from 57e818ae88b7 to 16a890f7be9d (1 revision)
https://skia.googlesource.com/skcms.git/+log/57e818ae88b7..16a890f7be9d

2021-03-23 mtklein@google.com simplify diagnostic ignored "-Wpsabi"

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: mtklein@google.com,reed@google.com
Change-Id: Id5c30dc38d2aac787f1c3ba647c2e3577c734c78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388256
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-23 17:52:05 +00:00
Ben Wagner
3d9ab7e7ec Separate general defaults from Skia defaults
In the build there are some defaults which actually apply to every
use of a built-in target type, but there are some (particularaly
warnings) which apply only to targets controlled by Skia. Currently
these unwanted defaults are magically known to exist and removed
wherever they are not wanted. Instead, create 'skia_' prefixed target
templates and apply these defaults to those instead.

Change-Id: I3a2afb53c7205a2e2748d1cfad46319f2e93d3b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385516
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-03-22 15:30:56 +00:00
skia-autoroll
9a16c13249 Roll skcms from 4e5402c56973 to 57e818ae88b7 (1 revision)
https://skia.googlesource.com/skcms.git/+log/4e5402c56973..57e818ae88b7

2021-03-16 brianosman@google.com Suppress psabi warning on Clang, too

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: michaelludwig@google.com,mtklein@google.com
Change-Id: I19bd2ba14092601fce14da8ae6b2b0ea9ef6574d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385536
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-16 20:09:24 +00:00
Corentin Wallez
89d6e79ec0 Roll spirv-tools and spirv-headers and use upstream GN files
This will allow rolling spirv-tools and spirv-headers without additional
manual changes to fix Skia's copy of their BUILD.gn files.

Roll third_party/externals/spirv-headers/ c0df742ec..bcf55210f (59 commits)

c0df742ec0..bcf55210f1

$ git log c0df742ec..bcf55210f --date=short --no-merges --format='%ad %ae %s'
2020-07-03 dneto Support SPV_KHR_expect_assume
2020-07-03 dneto Support SPV_KHR_linkonce_odr
2021-03-01 alanbaker Change operand name in OpReadClockKHR to match extension
2021-02-13 dmalyshau Add Naga as SPIR-V generation tool
2020-08-19 jason Add header changes for SPV_EXT_shader_atomic_float_min_max
2021-01-27 jason.ekstrand Re-run buildSpvHeaders to fix indentation
2021-01-19 dneto Header generator: Check enumerant ordering
2021-01-27 ben.ashbaugh add generated headers
2021-01-27 ben.ashbaugh add None as a possible value for DebugInfoFlags
2021-01-25 caio.oliveira Add SPV_KHR_workgroup_memory_explicit_layout
2021-01-20 dneto Push FPDenormMode, FPOperationMode to the end
2021-01-20 dmitry.sidorov Apply suggestions to Intel extensions PR
2020-12-16 dmitry.sidorov Update generated files
2020-12-16 dmitry.sidorov Add SPV_INTEL_long_constant_composite extension
2020-12-16 dmitry.sidorov Add SPV_INTEL_loop_fuse extension
2020-11-23 dmitry.sidorov Add SPV_INTEL_fpga_cluster_attributes and SPV_INTEL_fp_fast_math_mode
2020-11-23 dmitry.sidorov Update SPV_INTEL_fpga_loop_controls extension
2020-11-16 dmitry.sidorov Update SPV_INTEL_kernel_attributes extension
2020-11-09 dmitry.sidorov Update SPV_INTEL_function_pointers extension
2020-11-09 dmitry.sidorov Upstream SPV_INTEL_float_controls2 extension
2020-11-09 dmitry.sidorov Upstream SPV_INTEL_vector_compute extension
2020-11-06 dmitry.sidorov Upstream SPV_INTEL_fpga_memory_accesses extension
2020-11-06 dmitry.sidorov Upstream SPV_INTEL_io_pipes extension
2020-11-05 dmitry.sidorov Upstream SPV_INTEL_variable_length_array extension
2020-11-05 dmitry.sidorov Upstream SPV_INTEL_usm_storage_classes extension
2020-11-05 dmitry.sidorov Upstream SPV_INTEL_arbitrary_precision_integers extensions
2020-11-05 dmitry.sidorov Upstream SPV_INTEL_inline_assembly extension
2020-11-03 dmitry.sidorov Upstream SPV_INTEL_fpga_buffer_location extension
2021-01-05 ben.ashbaugh add function control bitfield reservation section reserve bit 16 for an upcoming Intel extension
2020-11-26 dkoch remove HitTKHR
2020-11-12 dneto MeshShadingNV enables builtins PrimitiveId, Layer, and ViewportIndex
2020-10-16 dkoch de-alias/reassign OpIgnoreIntersectionKHR/OpTerminateRayKHR
2020-06-29 alele Raytracing and Rayquery updates for final
2020-06-15 alele Updated headers for new trace/executeCallable and acceleration structure cast.
2020-11-05 orbea cmake: Install cmake files to CMAKE_INSTALL_DATADIR
2020-11-04 michael.kinsner Reserve additional loop control bit for Intel extension (NoFusionINTEL) (#175)
2020-11-02 4464295+XAMPPRocky Add EmbarkStudios/rust-gpu to vendor list. (#174)
2020-10-23 john Bump revision to 4, for SPIR-V 1.5.
2020-10-19 TobyHector Add SPV_EXT_shader_image_int64 (#170)
2020-10-19 TobyHector Added SPV_KHR_fragment_shading_rate (#172)
2020-10-12 hwguy.siplus  Register the Xenia emulator as a generator (#171)
2020-09-27 atyuwen Register the Messiah SPIR-V CodeGen (#169)
2020-09-10 syoussefi Register the ANGLE compiler (#168)
2020-09-08 cepheus Rebuild of latest headers, which slightly moves OpTerminateInvocation
2020-08-03 44190824+mmerecki Reserve SPIR-V token range for upcoming Intel extensions. (#165)
2020-07-29 alanbaker Update BUILD.bazel and BUILD.gn (#166)
2020-07-29 alanbaker Publish the headers for the clspv embedded reflection non-semantic extended instruction set (#164)
2020-07-29 johnkslang Update the registry in spir-v.xml to modernize and split out opcodes. (#156)
2020-07-21 alanbaker Support SPV_KHR_terminate_invocation (#163)
2020-07-19 vkushwaha Add changes for SPV_EXT_shader_atomic_float
2020-06-26 dj2 Register the Tint compiler
2020-06-01 dneto spir-v.xml: Use plain ASCII quotes in comment
2020-05-29 cepheus Rebuild headers against the previous grammar commit.
2020-05-29 dmitry.sidorov Apply suggestions
2020-04-05 dmitry.sidorov Add Intel specific definitions from KhronosGroup/SPIRV-LLVM-Translator
2020-05-29 cepheus Header build from previous grammar update.
2020-05-25 michael.kinsner Propose bit allocation mechanism for the FP Fast Math Mode bitfield, following from the mechanism previously added for the loop control bitfield.
2020-05-20 dneto Update example to use unified1 headers
2020-04-05 dmitry.sidorov Add SPV_INTEL_function_pointers preview extension

Roll third_party/externals/spirv-tools/ e95fbfb1f..5d8c40399 (488 commits)

e95fbfb1f5..5d8c40399e

$ git log e95fbfb1f..5d8c40399 --date=short --no-merges --format='%ad %ae %s'
2021-03-11 cwallez BUILD.gn: fix typo for 'cflags' (#4169)
2021-03-10 cwallez Suppress warning (#4168)
2021-03-10 alastair.donaldson spirv-fuzz: Avoid unnecessary dependency (#4165)
2021-03-10 dgkoch Add `void` in function declaration to keep some compilers happy (#4160)
2021-03-09 cwallez Fix -Wextra-semi-stmt -Wsuggest-destructor-override -Wdeprecated-copy-dtor (#4164)
2021-03-08 46493288+sfricke-samsung spirv-val: Vulkan 64-bit OpAtomicStore check (#4163)
2021-03-05 vasniktel spirv-fuzz: Fix the bug in TransformationReplaceBranchFromDeadBlockWithExit (#4140)
2021-03-05 vasniktel spirv-fuzz: Fix PartialCount (#4159)
2021-03-03 afd spirv-fuzz: Handle Vulkan SPIR-V versions (#4156)
2021-03-03 vasniktel spirv-fuzz: Add persistent state to the fuzzer (#4137)
2021-03-02 alanbaker Require an OpSelectionMerge before an OpSwitch (#4154)
2021-03-01 stevenperron Use standard function to get stdin to binary mode. (#4141)
2021-02-26 bclayton Fixes for the vscode language server extension (#4150)
2021-02-19 atte.seppala spirv-opt: Don't call GenerateCopy for mismatched image types (#4126)
2021-02-18 jaebaek Start SPIRV-Tools v2021.0
2021-02-18 jaebaek Finalize SPIRV-Tools v2020.7
2021-02-16 jaebaek Update CHANGES
2021-02-11 greg Generate differentiated error codes for buffer oob checking (#4144)
2021-02-10 dj2 Update a few virtuals to overrides. (#4143)
2021-02-05 46493288+sfricke-samsung spriv-val: Vulkan image gather constant component (#4133)
2021-02-05 46493288+sfricke-samsung spirv-val: Fix/Label UniformConstant VUID (#4134)
2021-02-05 46493288+sfricke-samsung spirv-val: Add Vulkan Invariant Decoration VUID (#4132)
2021-02-02 46493288+sfricke-samsung spirv-val: label tests for VUID 04657 (#4119)
2021-02-01 46493288+sfricke-samsung spirv-val: Add Vulkan PSB64 convert VUID (#4122)
2021-01-28 stevenperron Mark module as modified if convert-to-half removes decorations. (#4127)
2021-01-28 jaebaek Set correct scope and line info for DebugValue (#4125)
2021-01-27 caio.oliveira Validate SPV_KHR_workgroup_memory_explicit_layout (#4128)
2021-01-27 alanbaker Validate VK_KHR_zero_initialize_workgroup_memory (#4124)
2021-01-27 46493288+sfricke-samsung spirv-val: Add Vulkan image gather offset VUID (#4118)
2021-01-27 alanbaker Add cmake to windows path for kokoro (#4129)
2021-01-25 46493288+sfricke-samsung spirv-val: Label Vulkan atomic semantics VUIDs (#4120)
2021-01-25 46493288+sfricke-samsung spirv-val: Label VUID 04662 (#4123)
2021-01-25 46493288+sfricke-samsung spirv-val: Label VUID 04683 (#4121)
2021-01-22 machenbach Remove obsolete GN config (#4110)
2021-01-20 46493288+sfricke-samsung spirv-val: Add Vulkan EXT builtins (#4115)
2021-01-20 dneto Support pending Intel extensions (#4116)
2021-01-19 dneto Validate Sampled=1 for Vulkan ImageQuerySizeLod, ImageQueryLevels, ImageQueryLod (#4103)
2021-01-19 46493288+sfricke-samsung spirv-val: Add Vulkan Memory Scope VUs (#4106)
2021-01-18 bclayton Migrate all Kokoro build scripts over to use the docker VM image (#4114)
2021-01-15 46493288+sfricke-samsung spirv-val: Add Vulkan Addressing Model check (#4107)
2021-01-14 rharrison Remove WebGPU support (#4108)
2021-01-14 46493288+sfricke-samsung spirv-val: Vulkan atomic storage class (#4079)
2021-01-13 jaebaek Avoid integrity check failures caused by propagating line instructions (#4096)
2021-01-13 pierremoreau Linker usability improvements (#4084)
2021-01-12 dj2 Revert "Generate differentiated error codes for buffer oob checking (#4097)" (#4100)
2021-01-11 greg Generate differentiated error codes for buffer oob checking (#4097)
2021-01-07 dneto use std::string::empty() to test for emptiness (#4098)
2021-01-07 46493288+sfricke-samsung spirv-val: Label standalone Vulkan VUID (#4091)
2021-01-06 46493288+sfricke-samsung spirv-val: Add Vulkan decroation VUID (#4090)
2021-01-06 stevenperron Fix binding number calculation in desc sroa (#4095)
(...)
2020-05-19 vasniktel spirv-fuzz: Remove FuzzerPassAddUsefulConstructs (#3341)
2020-05-19 vasniktel Add support for StorageBuffer (#3348)
2020-05-19 462213+sl1pkn07 Prevent Effcee install his things when build spirv-tools with testing enabled (#3256)
2020-05-19 stevenperron Don't register edges twice in merge return (#3350)
2020-05-14 stevenperron Revert "Revert "[spirv-opt] refactor inlining pass (#3328)" (#3342)" (#3345)
2020-05-14 afdx spirv-reduce: Remove unused struct members (#3329)
2020-05-14 andreperezmaselco.developer Add adjust branch weights transformation (#3336)
2020-05-13 stevenperron Revert "[spirv-opt] refactor inlining pass (#3328)" (#3342)
2020-05-13 jaebaek [spirv-opt] refactor inlining pass (#3328)
2020-05-13 afdx spirv-reduce: Remove unused uniforms and similar (#3321)
2020-05-13 afdx spirv-fuzz: Fix to fact manager (#3339)
2020-05-13 afdx spirv-fuzz: Get rid of unnecessary template method (#3340)
2020-05-12 stevenperron Do merge return if the return is not at the end of the function. (#3337)
2020-05-06 jaebaek Preserve debug info for wrap-opkill (#3331)
2020-05-05 jbolz Validate ShaderCallKHR memory scope (#3332)
2020-05-01 afdx spirv-fuzz: Do not allow adding stores to read-only pointers (#3316)
2020-04-30 paulthomson reduce: increase default step limit (#3327)
2020-04-30 afdx Generalize IsReadOnlyVariable() to apply to pointers (#3325)
2020-04-28 stevenperron Delete nullptr in function bb list immedietly (#3326)
2020-04-28 jaebaek Set DebugScope for termination instructions (#3323)
2020-04-28 afdx spirv-fuzz: Do not outline regions that end with a loop header (#3312)
2020-04-27 bclayton vscode: Handle '|' chains on BitEnum / ValueEnum (#3309)
2020-04-27 jaebaek Add debug information analysis (#3305)
2020-04-27 dneto Add spvtools::opt::Operand::AsLiteralUint64 (#3320)
2020-04-27 afdx spirv-fuzz: Pass on validator options during shrinking (#3317)
2020-04-27 afdx spirv-fuzz: Clamp statically out-of-bounds accesses in code donation (#3315)
2020-04-27 afdx spirv-fuzz: Fix memory management in the fact manager (#3313)
2020-04-27 afdx spirv-fuzz: Do not replace the Sample argument in OpImageTexelPointer (#3311)
2020-04-23 afdx Allow various validation options to be passed to spirv-opt (#3314)
2020-04-23 Chaitanyas0101 typo fix: in README.md exectuable->executable (#3306)
2020-04-20 afdx spirv-fuzz: Make handling of synonym facts more efficient (#3301)
2020-04-15 stevenperron Remove unreachable code. (#3304)
2020-04-15 afdx spirv-fuzz: Fix to outliner (#3302)
2020-04-14 afdx spirv-fuzz: Do not outline regions that produce pointer outputs (#3291)
2020-04-14 afdx spirv-fuzz: Handle OpRuntimeArray when replacing ids with synonyms (#3292)
2020-04-14 afdx spirv-fuzz: Handle image storage class in donation (#3290)
2020-04-14 afdx spirv-fuzz: Respect rules for OpSampledImage (#3287)
2020-04-14 afdx spirv-fuzz: Fix comment. (#3300)
2020-04-14 stevenperron Sampled images as read-only storage (#3295)
2020-04-14 alanbaker Remove implicit fallthrough (#3298)
2020-04-14 stevenperron Add tests for recently added command line option (#3297)
2020-04-14 dneto If SPIRV-Headers is in our tree, include it as subproject (#3299)
2020-04-13 stevenperron Struct CFG analysus and single block loop (#3293)
2020-04-13 jaebaek Preserve debug info in eliminate-dead-functions (#3251)
2020-04-13 stevenperron Update acorn version (#3294)
2020-04-09 stevenperron Handle more cases in dead member elim (#3289)
2020-04-09 h.baensch.92 Fix pch macro to ignore clang-cl (#3283)
2020-04-07 afdx spirv-fuzz: Improve the handling of equation facts (#3281)
2020-04-07 afdx spirv-fuzz: Handle more general SPIR-V in donation (#3280)
2020-04-06 afdx spirv-fuzz: Improve support for compute shaders in donation (#3277)

Created with:
  roll-dep third_party/externals/spirv-headers third_party/externals/spirv-tools

Bug: dawn:706

Change-Id: I4ca1acd84b4905cf5454e146a917e36fc8c2d399
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/381237
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-03-11 19:07:20 +00:00
Florin Malita
4aa19871ec Force-include assert.h for third_party/oboe
Oboe uses assert but doesn't seem to include the header explicitly:

../../third_party/externals/oboe/src/flowgraph/resampler/PolyphaseResamplerStereo.cpp:25:5: error: use of undeclared identifier 'assert'
    assert(builder.getChannelCount() == STEREO);

Change-Id: Ib008ffaeade0b84196141102b956bc6e5606a468
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383698
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-03-11 16:55:10 +00:00
Corentin Wallez
a0178b2513 Remove DEPS on shaderc and glslang
These were used by Dawn at some point but are no longer needed since
they are only used by Dawn's tests that aren't discovered by Skia's GN
build.

Bug: dawn:706
Change-Id: Icb75856955c16f659203ebf20462db59f4165873
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/381236
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-03-08 14:14:55 +00:00
skia-autoroll
68c43dbc5f Roll skcms from 4a4ff5bbefdf to 4e5402c56973 (3 revisions)
https://skia.googlesource.com/skcms.git/+log/4a4ff5bbefdf..4e5402c56973

2021-02-23 mtklein@google.com skcms build updates
2021-02-23 mtklein@google.com roll xcode to 12.4
2021-02-23 borenet@google.com [infra] Switch from isolate to RBE-CAS

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: fmalita@google.com,mtklein@google.com
Change-Id: If379427bdf8e5fdc88479b32529b9f8569390f2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374578
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-24 07:02:54 +00:00
skia-autoroll
ad2fa06f2b Roll skcms from 8247d3c2481b to 4a4ff5bbefdf (1 revision)
https://skia.googlesource.com/skcms.git/+log/8247d3c2481b..4a4ff5bbefdf

2021-02-23 mtklein@google.com update emscripten/node

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: fmalita@google.com,mtklein@google.com
Change-Id: I94c570f0581f8fbcaeed8836c70f7b3c1e868a29
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374196
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-23 19:43:51 +00:00
Mike Klein
07fea19ca0 NEON libjpeg-turbo on iOS and Mac
Not sure why these are off... let's find out.

Cq-Include-Trybots: luci.skia.skia.primary:Build-Mac-Clang-arm64-Debug-iOS,Build-Mac-Clang-x64-Release-iOS,Build-Mac-Xcode11.4.1-arm64-Debug-iOS_Metal,Build-Mac-Xcode11.4.1-arm64-Release-iOS,Build-Mac-Clang-arm64-Release-iOS_Metal,Build-Mac-Clang-arm64-Debug,Build-Mac-Clang-arm64-Release
Change-Id: Ibeaa3707eca3df2cd41b91b06ed329568e5398f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/364498
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-02 22:07:54 +00:00
Ben Wagner
2c73fc43a3 Roll freetype
40c5681ab9..60ba8fe9e7

FreeType has moved from git.sv.nongnu.org to gitlab.freedesktop.org.
Since the chromium.googlesource.com mirror has already been changed to
reflect this new url, use it as the new upstream.

Change-Id: Iac78b913d5a98f0fd8d082092f81ebdfda737972
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/357281
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-01-22 20:09:59 +00:00
Mike Klein
4f4c064d5b roll gn to latest
Nice periodically, and this version also has a Mac arm64 binary.

Refine a few visibility rules from ":*" (any target in this file)
to "./*" (any target in any .gn file anywhere under this directory).

Use frameworks over libs where now required.

Change-Id: Ic19e1533e2810d18ae4684645d8555b422320b7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/354536
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-01-15 15:34:00 +00:00
skia-autoroll
83a60d9ac4 Roll skcms from 069b8f699b59 to 8247d3c2481b (1 revision)
https://skia.googlesource.com/skcms.git/+log/069b8f699b59..8247d3c2481b

2021-01-06 mtklein@google.com generalize hlg curves

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: johnstiles@google.com,mtklein@google.com
Change-Id: I5cbfaf6ee8a908c57e97554a1cc666be9f7fb192
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/350601
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-06 18:13:10 +00:00
Greg Daniel
04cf690185 Update etc1.cpp.
I don't think our version actually has any issues since we added the else
to 0 out r2,g2, and b2. But this just updates it to look more like other
updates to etc1 outside skia.

Bug: chromium:1153993
Change-Id: I78e0b7cdd00fc9f03a2857f3d1b3502a1131a0f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/344956
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-12-16 17:57:26 +00:00
Jorge Betancourt
f607dbbbe8 implement SkAudioPLayer for Android
move SkAudioPlayer for Android to proper module
refine playback features for the Android AudioPlayer

Change-Id: I1906c3b3ef91fa4173f66c2c068dc40a3cf824ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/319037
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-12-15 00:12:48 +00:00
Ben Wagner
0e54c18590 System harfbuzz also means harfbuzz-icu.
The local build of harfbuzz builds against icu bindings and the shaper
expects to be able to find them. When packaged these icu bindings are in
a separate harfbuzz-icu library. Depend on this library as well so that
everything links properly when using system harfbuzz.

Change-Id: I45d378efb9152af070f4fed9ae1596f5430e4729
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/340337
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-12-08 16:17:42 +00:00
Kevin Lubick
a502878308 [canvaskit] Add support for woff2 fonts
Requested by Flutter. This adds about 80k of code size
due in large part to the brotli decoding logic.

This also updates the check_deps error to point at
a doc on how to create a new GOB mirror.

Brotli version is 1.0.9; the latest as of today.

Change-Id: I1580cb2189ff1205a9bffca3d887ff2b98a4042e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333218
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2020-11-10 15:07:26 +00:00
Martin Vejdarski
ed435953df Fix issues with latest GN
Change-Id: I9490479242a025fa1f5ff84a556ae43d8de4c19a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/332897
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-11-07 13:55:45 +00:00
Herb Derby
7e581790bf update build for Apple Silicon
You can use this to cross complie from an x86_64 mac if you have
at least XCode12 beta 2 installed, and you set target_cpu = "arm64"
in your gn args.

Change-Id: I3fcdcd162155ac0242c15260994de09177ff2f97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328659
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-11-02 20:06:09 +00:00
Ben Wagner
541601602e Roll freetype 0a3d2bb99b45b72e1d45..40c5681ab92e7db1
0a3d2bb99b..40c5681ab9

More or less 2.10.1 to 2.10.4.

Change-Id: Ide743e911438dc321ce2b02ed7e18f619c7b86f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/330107
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-10-28 16:56:01 +00:00
Mike Klein
40f8107eab remove absl experiment
We've given up on Abseil, and these warnings are annoying:

    ... libtool: warning same member name (libabsl.escaping.o) ...

Bug: skia:10165
Change-Id: I144573206174cbe9b48fce8e86ed22eb4a4e29b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/329937
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-10-27 13:45:10 +00:00