Commit Graph

60775 Commits

Author SHA1 Message Date
Kevin Lubick
2c65579aad [bazel] Add in hierarchical filegroup Bazel rules.
The primary goal of this organization structure is to keep
our top level BUILD.bazel file short, with as little logic
as feasible. The logic required to control which files to
include, which third_party deps are needed, what system libraries
should be linked again, etc, should be in the BUILD.bazel
file best should be as close to the affected files as feasible.

In essence, we use filegroup() rules to bubble up the files
needed to build Skia (all as one big cc_library call) and
cc_library rules to bubble up the other components needed to build.

For example, //src/ports/SkFontHost_FreeType.cpp needs FreeType,
but only if we are compiling Skia with that type of font
support. With the new organization structure in this CL,
//src/ports/BUILD.bazel should have the logic that determines
if the cpp file should be included in the build of Skia and
if it is, that the Skia build should depend on //third_party:freetype2

Another example is //src/gpu/ganesh/BUILD.bazel, which
chooses which of the dawn, gl, vulkan, etc backend sources,
and the associated dependencies to include in the build.
It does not specify what those are, but delegates to the
BUILD.bazel files in the subdirectories housing the
backend-specific code.

The structure guidelines for BUILD.bazel files are as follows:
 - Have a filegroup() called "hdrs" (for public headers) or
   "srcs" (for private headers and all .cpp files) that is
   visible to the parent directory. This should list the
   files from the containing directory to include in the
   build.
   See //include/core/BUILD.bazel and //src/effects/BUILD.bazel
   as examples.
 - filegroup() rules can list a child directory's "hdrs"
   or "srcs" in their "srcs" attributes, but should not contain
   select statements pertaining to child directory files.
   See //include/gpu/BUILD.bazel and //src/gpu/ganesh/BUILD.bazel
   as examples.
 - May have a cc_library() called "deps". This can specify
   dependencies, cc_opts, and linkopts, but not srcs or hdrs. [1]
   See //src/codec/BUILD.bazel as an example. These should
   be visible to the parent directory.
 - "hdrs", "srcs", and "deps" for the primary Skia build
   (currently called "skia_core") should bubble up through
   //include/BUILD.bazel and //src/BUILD.bazel, one directory
   at a time.

This CL demonstrates a very basic build of Skia with many features
turned off (CPU only, no fonts, no codecs). Follow-on CLs will
add to these rules as more targets are supported. See bazel/Makefile
for the builds that work with just this CL.

Suggested Review Order:
 - //BUILD.bazel to see the very small skia_core rule which
   delegates all the logic down stack. Note that it has a
   dependency on //bazel:defines_from_flags which will set
   all the defines listed there when compiling all the
   .cpp and .h files in skia_core *and* anything that depends
   on skia_core, but *not* //src:deps.
 - //include/BUILD.bazel and other BUILD.bazel files in the
   subdirectories of that folder. Note that the filegroups in
   //include/private/... are called "srcs" to be similar to
   how Bazel wants "private headers" to be in the "srcs" of
   cc_library, cc_binary, etc. and only public headers are
   to be in "hdrs" [2].
 - //src/BUILD.bazel and other BUILD.bazel files in the
   subdirectories of that folder. //src/gpu/ganesh/...
   will be filled in for dawn, vulkan, and GL in the next CL.
 - //PRESUBMIT.py, which adds a check that runs buildifier [3]
   on modified BUILD.bazel files to make sure they stay
   consistently formatted.
 - //bazel/... to see the new option I added to make sksl
   opt-in or opt-out, so one could build Skia with sksl,
   but not with a gpu backend.
 - Misc .h and .cpp files, whose includes were removed if
   unnecessary or #ifdef'd out to make the minimal build
   work without GPU or SkSL includes.
 - //bazel/Makefile to see the builds that work with this CL.

[1] Setting srcs or hdrs is error-prone at best, because those
   files will be compiled with a different set of defines than
   the rest of skia_core, because they wouldn't depend on
   //bazel:defines_from_flags.
[2] https://bazel.build/reference/be/c-cpp#cc_library.hdrs
[3] https://github.com/bazelbuild/buildtools/releases
Change-Id: I5e0e3ae01ad42d672506d5aad1239f2512188191
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543977
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-05-31 14:14:54 +00:00
Kevin Lubick
4511c7b7fb [bazel] Delete gazelle-based BUILD.bazel files
gazelle ended up being more liability than asset for our C++ rules.

It required devs to manually run the command frequently (and was
easy to forget until the CQ failed). The fact that we still had to
edit the source files (e.g. the "srcs" cc_libraries) meant that
the mixture between generated and hand-written caused some
tension (see include/third_party/vulkan for a good example).

The combination of gazelle and our IWYU enforcement added several
bits of churn without any real benefit. The generated rules
also didn't help identify cases where we were not keeping tight
boundaries (e.g. non-gpu code and gpu code).

Identifying third_party deps automatically ended up being trickier
than anticipated (see the deleted //third_party/file_map_for_bazel.json)

Using the "maximum set of dependencies" worked ok, but ended up
increasing build time unnecessarily. For example, compiling
CanvasKit for WebGL always needed to compile Dawn because
SkSLCompiler.cpp sometimes needs to include tint/tint.h.

Follow-up CLs will rebuild the BUILD.bazel rules without gazelle.

Note to Reviewers:
 - The only file worth manually reviewing here is bazel/Makefile.

Change-Id: I36d6fc3747487fabaf699690780c95f1f6765770
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543976
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-05-31 14:14:54 +00:00
Brian Salomon
790e8cc4e3 Don't take initial buffer data in GrGpu::createBuffer.
Bug: skia: 12720
Change-Id: I1d025689e4c977fe487989f8c7a3200b3c9c9e1a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544245
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-05-31 14:10:16 +00:00
John Stiles
0b1384de5a Disable Control-Flow Integrity in SkTArray when casting buffer to T*.
We disable Control-Flow Integrity sanitization (go/cfi) when updating
the item-array buffer. CFI flags this code as dangerous because we are
casting `buffer` to a T* while the buffer's contents might still be
uninitialized memory. When T has a vtable, this is especially risky
because we could hypothetically access a virtual method on fItemArray
and jump to an unpredictable location in memory. Of course, SkTArray
won't actually use fItemArray in this way, and we don't want to
construct a T before the user requests one. There's no real risk here,
so disable CFI when doing these casts.

Change-Id: I5708053339f4a600b12c841fcd38880f9932f7d6
Bug: skia:13339
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542643
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-05-31 13:42:02 +00:00
Kevin Lubick
0582a9e619 [bazel] Document need for --cc_output_directory_tag
Change-Id: Ia47d3a3e9c23b63b1651dc1f638d917b3c302911
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544636
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Kevin Lubick <kjlubick@google.com>
2022-05-31 12:56:26 +00:00
Ian Prest
72c7c37737 Fix bazel makefile on Windows
The `make -C bazel generate` command doesn't function properly on
Windows builders because Windows uses backslashes as the path separator.

Fortunately, adding quotes around the path is enough to concince
Windows to run the executable, allowing the `generate` target to
complete successfully, and doing so doesn't impact Linux builders.

Bug: skia:13366
Change-Id: I50c461635b70cc59cd6e79bf17a6945c80df1986
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544756
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-05-31 12:20:41 +00:00
skia-autoroll
a3d2d62509 Roll ANGLE from a2fe4445dce5 to 0b533e64cf61 (7 revisions)
a2fe4445dc..0b533e64cf

2022-05-30 jmadill@chromium.org Make GLProgram non-copyable.
2022-05-30 jmadill@chromium.org Vulkan: Refactor command buffer retain calls.
2022-05-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 528f7d8e618c to 59aa5963cf64 (8 revisions)
2022-05-30 lexa.knyazev@gmail.com Fix ValidateFragmentShaderColorBufferMaskMatch for indexed masks
2022-05-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 5ca5b0ae5a7d to d070309f7d15 (5 revisions)
2022-05-30 syoussefi@chromium.org Vulkan: Make drawable size uniform
2022-05-30 syoussefi@chromium.org Vulkan: SPIR-V Gen: No RelaxedPrecision on bitCount() and findLSB()

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: bungeman@google.com
Change-Id: I94783eaeb182c6a4452d25c22baae95291906420
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545056
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-31 05:51:45 +00:00
skia-autoroll
44444cccb8 Roll SwiftShader from d070309f7d15 to 51c43dc015b7 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/d070309f7d15..51c43dc015b7

2022-05-30 swiftshader.regress@gmail.com Regres: Update test lists @ d070309f

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: bungeman@google.com
Change-Id: If2240e197aa4b1b8fa6bda9ce48394f528ea803d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545057
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-31 04:46:47 +00:00
skia-autoroll
fb2d7d7a59 Roll ANGLE from ae3de1a8c446 to a2fe4445dce5 (11 revisions)
ae3de1a8c4..a2fe4445dc

2022-05-29 syoussefi@chromium.org Vulkan: Sync pipeline cache only when truly changed
2022-05-27 m.maiya@samsung.com Bug fix in GL_EXT_YUV_target
2022-05-27 geofflang@chromium.org Initialize buffer contents separately from BufferImpl::setData
2022-05-27 syoussefi@chromium.org Vulkan: Pack driver uniforms
2022-05-27 syoussefi@chromium.org Vulkan: Reduce pre-rotation spec const to bool
2022-05-27 m.maiya@samsung.com Add support for comparison operator in FlatUnorderedSet
2022-05-27 senorblanco@chromium.org D3D11: fix constant buffer cache lookup.
2022-05-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 6885957e17e7 to 528f7d8e618c (11 revisions)
2022-05-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from b5cb037f0292 to 5ca5b0ae5a7d (4 revisions)
2022-05-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from f86f5d40df44 to 312583ebe76f (401 revisions)
2022-05-27 lubosz.sarnecki@collabora.com FramebufferTest: Add FramebufferConditionalFeedbackLoop test.

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: bungeman@google.com
Test: Test: angle_end2end_tests --gtest_filter="FramebufferTest_ES3.FramebufferConditionalFeedbackLoop/*"
Change-Id: I174def9b09a52c802cd81344af345eede4b0e925
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544916
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-30 05:50:47 +00:00
skia-autoroll
ddbc340987 Roll SwiftShader from 5ca5b0ae5a7d to d070309f7d15 (5 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5ca5b0ae5a7d..d070309f7d15

2022-05-27 capn@google.com Add a pragma option to zero-initialize Reactor local variables
2022-05-27 capn@google.com Provide access to TLS variables for origin tracking
2022-05-27 swiftshader.regress@gmail.com Regres: Update test lists @ 5ca5b0ae
2022-05-27 nicolascapens@google.com Merge changes I10d8c713,Ib474fd28
2022-05-27 sugoi@google.com Fix SpirvShader::Interpolate() for Centroid without multisampling

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: bungeman@google.com
Change-Id: Ife25bd4ca0a8ce5156798c27f29adacb8437f4cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544917
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-30 04:49:19 +00:00
Aaron Krajeski
1f150eb68c Comment SkColor4f's makeOpaque function
Change-Id: I7ef9d50eeb49076dbd71fd7070a0f849085c4dc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543978
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-05-29 23:50:43 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
d05aff78a0 Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I26bf4ea2dbe31c8b7feda0e7fbe1f858d88bf82c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544856
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-05-29 08:21:42 +00:00
skia-autoroll
20a2f7b4d4 Roll vulkan-deps from 2f94e7e4c5bb to 59aa5963cf64 (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/2f94e7e4c5bb..59aa5963cf64

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: tdenniston@google.com
Change-Id: If6a6a14ed73effc2f33c0a4d0ebdc2882fe4f410
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544799
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-28 12:33:12 +00:00
Joe Gregorio
ee6f41262b Add Pixel5 Android12 jobs.
This change introduces the use of "Android12" as an OS, so
many checks had to be changed from b.os("Android") to
b.matchOs("Android") which treats "Android" and "Android12"
the same.

Bug: skia:12912
Change-Id: Ib0a5f9d8f1a06b62e529a1567efcde52c7bb44d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527496
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2022-05-28 00:54:23 +00:00
skia-autoroll
9753199415 Roll vulkan-deps from 528f7d8e618c to 2f94e7e4c5bb (6 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/528f7d8e618c..2f94e7e4c5bb

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross from 3f855646f0c5 to 50b4d5389b6a

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: tdenniston@google.com
Change-Id: I2e9c10b4953a580feb269c7d07310a0b2f9b44c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544741
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-27 23:51:17 +00:00
skia-autoroll
162dfca340 Roll vulkan-deps from 0899816630a9 to 528f7d8e618c (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/0899816630a9..528f7d8e618c

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools from 903245157779 to dd7e8d2fbbda

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: tdenniston@google.com
Change-Id: Ie94687c9bcc2970d219d866fbfe972ee10cb0fba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544526
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-27 11:10:22 +00:00
skia-autoroll
6e1e6f3825 Roll ANGLE from 7ad48b846545 to ae3de1a8c446 (7 revisions)
7ad48b8465..ae3de1a8c4

2022-05-27 syoussefi@chromium.org Add test for primitive state change
2022-05-26 gman@chromium.org Metal: Upstream uniform limits from WebKit
2022-05-26 jmadill@chromium.org Trace Tests: Remove Pixel 2 expectations.
2022-05-26 syoussefi@chromium.org Vulkan: Fix reserve varying for xfb (take 2)
2022-05-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from c8893896acff to 6885957e17e7 (7 revisions)
2022-05-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 1f342b327faa to f86f5d40df44 (495 revisions)
2022-05-26 syoussefi@chromium.org Vulkan: Fix mid-RP draw clear w.r.t growing scissor

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: tdenniston@google.com
Change-Id: I1ac33854a935b45c2c544cd326703825d77fa71b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544169
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-27 05:51:26 +00:00
skia-autoroll
c41cf0d4f8 Roll SwiftShader from b5cb037f0292 to 5ca5b0ae5a7d (4 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b5cb037f0292..5ca5b0ae5a7d

2022-05-26 capn@google.com Only zero-initialize device memory for non-MSan GN builds
2022-05-26 capn@google.com Set linear tiling format features as a subset of optimal tiling
2022-05-26 sugoi@google.com Fix SpirvShader::Interpolate() not handling noperspective
2022-05-26 capn@google.com Remove redundant MemorySanitizerInstrumentation pragma uses

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: tdenniston@google.com
Change-Id: Ic77520404e9a5ee5c7b1d80855dc2d546d1c6674
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544170
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-27 04:49:01 +00:00
skia-autoroll
b0831daddc Roll vulkan-deps from 6885957e17e7 to 0899816630a9 (7 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/6885957e17e7..0899816630a9

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross from b3ff97d0feaf to 3f855646f0c5
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools from c26712784629 to 82d91083cb56

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: tdenniston@google.com
Change-Id: I8b8191582585e5847e451143d299ee7d7d37e6e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544200
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-26 22:30:51 +00:00
Olivier Li
93b0629262 Allow callers of SkEventTracer::SetInstance to avoid installing atexit() callback.
Bug: skia:13178

Change-Id: I9505b211e6afa6872ac51837964394f2a1a84916
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/534500
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-05-26 20:13:52 +00:00
Jorge Betancourt
13fda2a4e7 implement animatable particle drawables
this change relands: https://skia-review.googlesource.com/c/skia/+/538042

It addresses the problem that skqp was excluding skottie source files but still loading particles.

Change-Id: I8849c5285bd2c41b76c2e5fd77b06eca0184719e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542144
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2022-05-26 19:03:31 +00:00
Herb Derby
2d51639e4b Reorder code to reduce namespace transitions
Change-Id: I04e9ced51f4874741c2b1cb9b52d45823e11f910
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544242
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-26 18:14:47 +00:00
Herb Derby
e12fbb2f74 Remove unused method BlobCast; small cleanups
Change-Id: Ia0186cd53e9c0a0178d27b4cf07378a249aa6351
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544243
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-26 18:13:05 +00:00
Kevin Lubick
27d842a14c Manual roll of dawn
Change-Id: Ic6c4e6d4cec11c7ea0053d260f5022b6978ace4a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544396
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2022-05-26 18:09:26 +00:00
Ben Wagner
072f35ce05 Roll FreeType from a8e4563c to b98dd169 (32 commits)
a8e4563c34..b98dd169a1

Change-Id: Id13089de28a23b16fb1568764708fbaa2cbaef72
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544240
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-05-26 17:41:39 +00:00
Tyler Denniston
d78d52a86f Revert "Add Perfetto library (gn & bazel) and bare-bones SkPerfTrace class"
This reverts commit bfc9b94840.

Reason for revert: new dependency causing Android build error

Original change's description:
> Add Perfetto library (gn & bazel) and bare-bones SkPerfTrace class
>
> First incremental step to incorporating Perfetto tracing into Skia, more CLs to follow
>
> NOTE: The presubmit check is failing. This appears to be due to the known issue where the presubmit check bugs out if the DEPS file is edited, which it was on this CL (modified to include Perfetto).
>
> Bug: skia:13303
> Change-Id: I908be0392b520e8da14b34588b842bf6d955bd93
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543081
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Nicolette Prevost <nicolettep@google.com>

Bug: skia:13303
Change-Id: Ia2b883bbab1f8fb4f3914b63104a39240cc60e86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544239
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Auto-Submit: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Nicolette Prevost <nicolettep@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2022-05-26 16:21:27 +00:00
Tyler Denniston
6a67f1f40f Revert "Reland "Create updateResourceLabel method.""
This reverts commit 35ef74b7a4.

Reason for revert: causing chrome roll failure?

Original change's description:
> Reland "Create updateResourceLabel method."
>
> This is a reland of commit 605f92c7d7
>
> Original change's description:
> > Create updateResourceLabel method.
> >
> > In this CL, the GrSurfaceProxy's and GrDrawOpAtlas's label strings
> > are plumbed so that it can be stored in the label string of
> > GrGpuResource. updateResourceLabel method, which is called from
> > setLabel method, will add labels to Skia OpenGL backend using ANGLE's
> > labeling API.
> >
> > Bug: chromium:1164111
> > Change-Id: I370715d186357e920d260d624d77586cdddd11e8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541230
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
>
> Bug: chromium:1164111
> Change-Id: Ia20a81d22e320813cbc4ad1d41e06e47dc3827bb
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544058
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

Bug: chromium:1164111
Change-Id: Icacb3a0f2f2ee03afc09e03c2ee59b03d5bdd811
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544241
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Tyler Denniston <tdenniston@google.com>
2022-05-26 15:25:22 +00:00
Herb Derby
89f4bd44ed Fix missed tracing line; convert to if constexpr
Change-Id: I67d3e9e43ca3985acf6552a8f2edbbcf5f1abad4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544236
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-26 14:36:02 +00:00
Herb Derby
4f4f48150c Reduce SkGlyphRunPainter.h includes
Change-Id: I51962d957f1da584074e805d2c1258d60695de73
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543922
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2022-05-26 14:32:19 +00:00
Aditya Kushwah
35ef74b7a4 Reland "Create updateResourceLabel method."
This is a reland of commit 605f92c7d7

Original change's description:
> Create updateResourceLabel method.
>
> In this CL, the GrSurfaceProxy's and GrDrawOpAtlas's label strings
> are plumbed so that it can be stored in the label string of
> GrGpuResource. updateResourceLabel method, which is called from
> setLabel method, will add labels to Skia OpenGL backend using ANGLE's
> labeling API.
>
> Bug: chromium:1164111
> Change-Id: I370715d186357e920d260d624d77586cdddd11e8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541230
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

Bug: chromium:1164111
Change-Id: Ia20a81d22e320813cbc4ad1d41e06e47dc3827bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544058
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-05-26 14:16:41 +00:00
skia-autoroll
f92fbda207 Roll vulkan-deps from 52bc20ec61a0 to 6885957e17e7 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/52bc20ec61a0..6885957e17e7

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: tdenniston@google.com
Change-Id: Ib6bd27aa5c0e6cb0c80c22cd7e6b8331168b5674
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543997
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-26 09:51:25 +00:00
skia-autoroll
bf7409b321 Roll ANGLE from c608df696874 to 7ad48b846545 (9 revisions)
c608df6968..7ad48b8465

2022-05-26 kainino@chromium.org Revert "Add Vulkan backend support for texture labels"
2022-05-25 abdolrashidi@google.com Vulkan: Remove removeEarlyFragmentTestsOpt flag
2022-05-25 jmadill@chromium.org Vulkan: Remove invalid ASSERT in DescriptorSetDesc.
2022-05-25 antonio.caggiano@collabora.com Vulkan: Support Wayland EGL_DEFAULT_DISPLAY
2022-05-25 jmadill@chromium.org D3D: Fix race condition with parallel shader compile.
2022-05-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 82a65519c521 to c8893896acff (10 revisions)
2022-05-25 gert.wollny@collabora.com libANGLE: Fix evaluating the sample count
2022-05-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from d624307d6d25 to 1f342b327faa (484 revisions)
2022-05-25 gert.wollny@collabora.com Capture/Replay: Override eglCreateImage and eglDestroyImage

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: tdenniston@google.com
Change-Id: I79959f7410fdaecbf8370e1e2f263c1dcf39ed8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/544156
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-26 05:52:22 +00:00
Nicolette Prevost
c9c86fef72 Force removal of broken symlink that ships with Perfetto
Bug: skia:13303
Change-Id: I2b439ba443c865b08c20aef586b85e3d311b7bc8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543920
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-05-25 21:27:30 +00:00
skia-autoroll
f12058860b Roll vulkan-deps from c8893896acff to 52bc20ec61a0 (6 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/c8893896acff..52bc20ec61a0

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers from b765c355f488 to 5a121866927a
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools from 98340ec500e9 to c26712784629
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools from 6be9971a3737 to 903245157779

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: tdenniston@google.com
Change-Id: I651fa7aeb998ff1c721e06f168bfd275db61b311
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543962
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-25 21:09:50 +00:00
Greg Daniel
f58d05a909 [graphite] Move some types and basic structs off CommandBuffer.
As the CommandEncoder class is added we'll need this structs there as
well and I don't want to have to include CommandBuffer.h to get them.

Bug: skia:13357
Change-Id: I6071ac31214b891f09e9565b05e726e141b56f37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543919
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-05-25 19:45:36 +00:00
Jason Simmons
945d04d2fe Shift glyphs only by the horizontal offset in OneLineShaper::finish
See https://github.com/flutter/flutter/issues/104092

Change-Id: Ib055f494eca074d73edf2f27a8f5b95139ab77bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543756
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2022-05-25 18:53:24 +00:00
Jason Simmons
3860cfd7b4 Apply styles when painting lines containing only placeholders
See https://github.com/flutter/flutter/issues/104077#issuecomment-1133771312

Change-Id: I7522ecdc943a3629f902369d2116456dc9202bb6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543758
Commit-Queue: Jason Simmons <jsimmons@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2022-05-25 18:47:24 +00:00
Herb Derby
bb43e141ec Move SkGlyphPositionRoundingSpec to Glyph
SkGlyphRunPainter will soon disappear. Move the
SkGlyphPositionRoundingSpec helper class to a better location.

Change-Id: Id6d3db9b149d5c904964552b662b3b85f4a66218
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543918
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-05-25 18:36:27 +00:00
Herb Derby
052566d8cc Remove all uses of SkGlyphRunPainterInterface
Change-Id: I97321a101a246399fca5667718fdaf6778530e6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543917
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-25 17:57:51 +00:00
Herb Derby
4ce55b0c2f Inline all the process* SubRun routines into CategorizeGlyphRunList
At this point all the SlugImpl::process* and TextBlob::process*
routines are the same. Inline the process{DeviceMask|SourcePaths
|SourceDrawables|SourceSDFT|SourceMask} into CategorizeGlyphRunList.

Change-Id: I963033250b2d096a58bc1bc29feed35307643b31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543916
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2022-05-25 17:00:34 +00:00
Herb Derby
b3a74c7d8b move CategorizeGlyphRunList to TextBlob.cpp
Change-Id: I37290f1cc02db275d30d158a4b98463d75982fbe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543489
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2022-05-25 16:48:21 +00:00
Lei Zhang
c41f07bd1d Clean up includes in Swizzle.h.
Replace unnecessary includes with what's actually needed to reduce the
build cost.

Change-Id: Ib5b30652f82a34b79ebaa85550dbe5b3ebfae01b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543696
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Lei Zhang <thestig@chromium.org>
2022-05-25 16:01:47 +00:00
Nicolette Prevost
bfc9b94840 Add Perfetto library (gn & bazel) and bare-bones SkPerfTrace class
First incremental step to incorporating Perfetto tracing into Skia, more CLs to follow

NOTE: The presubmit check is failing. This appears to be due to the known issue where the presubmit check bugs out if the DEPS file is edited, which it was on this CL (modified to include Perfetto).

Bug: skia:13303
Change-Id: I908be0392b520e8da14b34588b842bf6d955bd93
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543081
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Nicolette Prevost <nicolettep@google.com>
2022-05-25 14:50:57 +00:00
Tyler Denniston
b946b55586 Revert "Create updateResourceLabel method."
This reverts commit 605f92c7d7.

Reason for revert: breaking bots on CQ

Original change's description:
> Create updateResourceLabel method.
>
> In this CL, the GrSurfaceProxy's and GrDrawOpAtlas's label strings
> are plumbed so that it can be stored in the label string of
> GrGpuResource. updateResourceLabel method, which is called from
> setLabel method, will add labels to Skia OpenGL backend using ANGLE's
> labeling API.
>
> Bug: chromium:1164111
> Change-Id: I370715d186357e920d260d624d77586cdddd11e8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541230
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

Bug: chromium:1164111
Change-Id: I1f2d8585fefde6b74d23f2ea14d91ee6d3e1e60d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543486
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-05-25 14:36:13 +00:00
Aditya Kushwah
605f92c7d7 Create updateResourceLabel method.
In this CL, the GrSurfaceProxy's and GrDrawOpAtlas's label strings
are plumbed so that it can be stored in the label string of
GrGpuResource. updateResourceLabel method, which is called from
setLabel method, will add labels to Skia OpenGL backend using ANGLE's
labeling API.

Bug: chromium:1164111
Change-Id: I370715d186357e920d260d624d77586cdddd11e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541230
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-05-25 14:02:55 +00:00
skia-autoroll
70e432e727 Roll vulkan-deps from f2e3235f6ca7 to c8893896acff (3 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/f2e3235f6ca7..c8893896acff

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: tdenniston@google.com
Change-Id: I54b63dd3ed9d390ba4bb213d4279deef73b41686
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543764
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-25 08:26:23 +00:00
skia-autoroll
5934f0e640 Roll ANGLE from 58fd315775c8 to c608df696874 (34 revisions)
58fd315775..c608df6968

2022-05-25 ffz@google.com Code Cleanup
2022-05-25 lfy@google.com Add ffz@google.com to OWNERS
2022-05-25 senorblanco@chromium.org D3D: implement whole-struct assignment in SSBOs.
2022-05-24 lexa.knyazev@gmail.com Fix ValidCompressedSubImageSize for 3D uploads
2022-05-24 m.maiya@samsung.com Vulkan: Bug fix in GL_QCOM_shading_rate
2022-05-24 mark@lunarg.com Add Vulkan backend support for texture labels
2022-05-24 cnorthrop@google.com Capture/Replay: Allow repeated Gen-on-Bind for resources
2022-05-24 jmadill@chromium.org GN: Add angle_build_tests.
2022-05-24 syoussefi@chromium.org Vulkan: Dump graphics pipeline cache graph
2022-05-24 yuxinhu@google.com Revert "util/X11Window: Set PMinSize and PMaxSize hints."
2022-05-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 99a468a0505d to d624307d6d25 (438 revisions)
2022-05-24 hailinzhang@google.com Vulkan: Fix EXT_texture_buffer support condition
2022-05-24 antonio.caggiano@collabora.com dEQP: Support Wayland
2022-05-24 antonio.caggiano@collabora.com Vulkan: Use packed enum for present modes
2022-05-23 cnorthrop@google.com Traces: Update restricted_trace_perf.py
2022-05-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 880c9e0050c6 to 82a65519c521 (5 revisions)
2022-05-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 73679602bc0b to b5cb037f0292 (2 revisions)
2022-05-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from f0d8ec07c77f to 99a468a0505d (698 revisions)
2022-05-22 syoussefi@chromium.org Vulkan: Rearrange GraphicsPipelineDesc to reduce footprint
2022-05-22 syoussefi@chromium.org Capture/Replay: Make sure replay tests build libEGL
2022-05-21 ayzhao@google.com Silence all std::iterator deperecation warnings
2022-05-21 syoussefi@chromium.org Drop support for 64xMSAA+
2022-05-21 syoussefi@chromium.org Vulkan: Dynamic state for primitive restart enable
2022-05-20 sunnyps@chromium.org Enable EXT_texture_norm16 on ES2/D3D11
2022-05-20 syoussefi@chromium.org Vulkan: Dynamic state for depth bias enable
2022-05-20 syoussefi@chromium.org Vulkan: Dynamic state for rasterizer discard enable
2022-05-20 syoussefi@chromium.org Vulkan: Optimize pipeline desc w.r.t dynamic state
2022-05-20 m.maiya@samsung.com Account for GL_ANGLE_yuv_internal_format when setting yuv state
2022-05-20 jmadill@chromium.org Move trace loader code to a common location.
2022-05-20 thakis@chromium.org Temporarily disable deprecation warnings for VK-GL-CTS
2022-05-20 senorblanco@chromium.org D3D: fix whole-array assignment to SSBOs.
2022-05-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from c37d1e2ab98c to 880c9e0050c6 (19 revisions)
2022-05-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 2933d3126969 to 73679602bc0b (4 revisions)
2022-05-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 170d12460fd5 to f0d8ec07c77f (430 revisions)

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: tdenniston@google.com
Test: Test: ImageTestES3.SourceYUVTextureTargetExternalRGBSampleYUVSample*
Test: Test: Star Wars: KOTOR MEC
Test: Test: restricted_trace_perf.py
Change-Id: I0643ff0aeb7d1811673a2f76e91a19171dc99e5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543760
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-25 05:51:22 +00:00
skia-autoroll
9b037f4081 Roll Dawn from c45f11ddb539 to f8a3a7c121a3 (9 revisions)
https://dawn.googlesource.com/dawn.git/+log/c45f11ddb539..f8a3a7c121a3

2022-05-24 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from aae529072cf3 to 3ddf465ad15a (6 revisions)
2022-05-24 bclayton@google.com tint: Clean up CMakeLists.txt file list
2022-05-24 bclayton@google.com tint: Implement abstract-numeric materialization
2022-05-24 dsinclair@chromium.org Remove outdated lint suppression.
2022-05-24 bajones@chromium.org Update createView default logic to match spec
2022-05-24 enga@chromium.org Remove device-child wire hack and enable DeviceLifetimeTests on the wire
2022-05-24 enga@chromium.org Move clearing DeviceBase::mQueue from Destroy() to WillDropLastExternalRef
2022-05-24 yunchao.he@intel.com Re-suppress WebGPU expectations
2022-05-24 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 96612da0dde0 to aae529072cf3 (1 revision)

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: bclayton@google.com
Change-Id: Ibf3cddbba364f703b8d2eb531d7458ddaf454f6f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543761
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-25 04:39:30 +00:00
skia-autoroll
45ecc58628 Roll vulkan-deps from aae529072cf3 to f2e3235f6ca7 (5 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/aae529072cf3..f2e3235f6ca7

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers from 1b4f46a3cc69 to 245d25ce8c33
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools from 689140c20446 to 6be9971a3737

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: tdenniston@google.com
Change-Id: I9f43f9a6bee4fc394056177a4eaff967b2188ebe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543465
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-24 19:46:54 +00:00
Herb Derby
fb7d1e5d7b Simplfy namespaces in TextBlob
Change-Id: I7ff3cd59401392c55ac27c9da9183fe9a3f62e4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543083
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2022-05-24 19:00:57 +00:00