Commit Graph

61051 Commits

Author SHA1 Message Date
Pavel.Sergeev
a9aac9d677 Perform population UTF16Mapping only once
Bug: skia: https://bugs.chromium.org/p/skia/issues/detail?id=13396
Change-Id: I043ecfa175f18cde666a034af8290fe98a701855
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547776
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2022-06-10 18:17:10 +00:00
Herb Derby
26282a522c Remove more or SkGlyphRunPainter
* Move SkSubRunBuffers implementation to where it lives now.
* Clean up unused #if stuff.
* Clean up includes.

Change-Id: I9f606d1ecbe1cfb94e00c1890f30adeec05c8b3b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/549039
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-06-10 18:09:39 +00:00
Brian Osman
0497090555 Fix WGSL pipeline stage attributes
@stage() is deprecated, the new form is @vertex or @fragment.
Re-generated the .wgsl files to fix the Housekeeper bot.

Change-Id: I7f0a9ee4a456a1a6b0ddadf0c1063eac77130af2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/549096
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2022-06-10 18:08:51 +00:00
Robert Phillips
5930798bad [graphite] Add CombinationBuilderTestAccess.h
In an upcoming CL the CombinationBuilderTestAccess object will need
to be accessed in multiple test .cpp files.

Bug: skia:12701
Change-Id: I66c969dbe054b7fd333bcd201fcebed4c1dfcc91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548698
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-06-10 17:21:13 +00:00
Iliyan Dinev
f65a8fa59e Fix UnitTest_SkSLVectorScalarMath_GPU FP16 precision-issue
Bug: skia:13420
Change-Id: I4b99a5d75e9fa4ce87b3f0bcb1210d2ec47ae112
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548996
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-06-10 17:20:59 +00:00
skia-autoroll
03f6a7b733 Roll vulkan-deps from 12989fc8d7d2 to cb1ab827eb4c (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/12989fc8d7d2..cb1ab827eb4c

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross from a97bbc24c5ba to 197a273fd494

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 djsollen@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: djsollen@google.com
Change-Id: Ic9dfbdf1763ac4b48fd1d0178d276177368c3d57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548922
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-10 16:45:48 +00:00
Brian Osman
2679cf9abf Preserve Z when converting 3x3 to 4x4 matrix
Bug: chromium:1335249
Change-Id: I441d48fd97e0fccfb25de2bd4a2d8006c2e80ce7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/549038
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2022-06-10 16:33:53 +00:00
Kevin Lubick
91f158c825 Manual roll of Dawn
gpu_info.json was moved

Change-Id: Ica01030b6d081e440264398590f895cc79ada072
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/549056
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-06-10 15:19:33 +00:00
Herb Derby
1a3e8e9c94 Remove bit-field optimization for RemoteGlyphCache
I have two reasons for doing this. The first is that I don't think
it was doing anything. In order to set the bit field the statement:

digest->canDrawAsMask() && digest->canDrawAsSDFT()

had to be true. Which I think is impossible because this is
in the mask (not SDFT) case, nd the mask is never SDF when 
preparing for mask drawing, since SDF masks will be prepared 
when preparing for SDF drawing.

Second, this code is optimized for TextBlob use. Optimizing for
Slugs means that we will need to keep more information around.
This bit vector will never be useful for Slugs.

Change-Id: Ic9233a8a061b58a53d773ae278756b0b714f7c73
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548481
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-06-10 15:16:24 +00:00
Herb Derby
53c8e32aec Remove friendship of deleted old class GrTextBlob
Change-Id: I27eb99450b2b261a4688c62d91a9002dfe7d14df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548484
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-06-10 14:40:50 +00:00
Robert Phillips
7769b5d4c2 [graphite] Remove usage of CreateKey from the CommandBufferTest
Bug: skia:12701
Change-Id: Ibaeedcbf478546f2942df95d362bee8632ba0ded
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548419
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-10 14:20:25 +00:00
Robert Phillips
29b7c629b5 [graphite] Pass builder into SkShaderCodeDictionary::findOrCreate rather than the key
Just a minor cleanup to hide some cruft.

Bug: skia:12701
Change-Id: I70e9c8ba89a5b7d100a3d3f9b9dd084ad0a70715
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548418
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-06-10 14:20:25 +00:00
John Stiles
8481c5fca7 Fix fuzzer-discovered error with positions when casting arrays.
We were returning Expressions from ConstructorArrayCast which didn't
match the passed-in Position. We now make sure to set the position of
the returned expression properly.

Change-Id: I2099d006e7dff2c94a9590c7159c4b0947c91257
Bug: oss-fuzz:47935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548483
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-06-10 13:59:26 +00:00
Peng Huang
62f460742b Not disable L16F with ANGLE
We are trying to enable ANGLE on Android. However with ANGLE, chrome
will use L16F instead of R16F textures, so we should not disable it
with ANGLE. BTW, if there is a driver bug for L16F, ANGLE can emulate
L16F with R16F.

Bug: chromium:983167
Change-Id: I6d0edfdc8d33c2b8a650f67ab36c7c84ef448372
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547836
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-06-10 13:54:57 +00:00
John Stiles
eee915fd1c Factor out overload-set handling from symbol lookup.
Symbol name lookup is generally simple, except for overload handling.
This factors out the complex, rarely-hit parts into a separate function.
Also, this replaces a vector with a span, which is probably a wash
since it's generally either empty or needs to be modified.

Change-Id: Ia4207fabc08e11b0214406de372cf429c4967ffd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548158
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-06-10 13:44:42 +00:00
Aditya Kushwah
4c6e6c1935 [Part 2]: Update the label string.
Replace the empty label string with the label name for
different Skia components.

Bug: chromium:1164111
Change-Id: I10bf62f8febace584db624a33b07b272517df38e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548857
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-06-10 13:37:32 +00:00
Robert Phillips
c031956513 [graphite] Handle case where there are no uniforms
Bug: skia:13415
Change-Id: Ibbae05761f843cd78daaa3493bbdcd6f87d8ad7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548780
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-10 13:23:22 +00:00
Heather Miller
0a1ed2795d Update Skia milestone to 105
Change-Id: I0925a52cc3a504c95ec4453e74c4580ce692275c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548896
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
Auto-Submit: Heather Miller <hcm@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2022-06-10 12:13:43 +00:00
skia-autoroll
d840bd77e6 Roll ANGLE from 48b928d98fc8 to 3dfc800437f7 (18 revisions)
48b928d98f..3dfc800437

2022-06-10 syoussefi@chromium.org Vulkan: Optimize sync followed by swap
2022-06-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 4658acb376d4 to ae46affd7997 (1334 revisions)
2022-06-10 cclao@google.com Vulkan: Optimize glEGLImageTargetTexture2DOES with same args
2022-06-09 cnorthrop@google.com Capture/Replay: Reset default uniforms
2022-06-09 chris@rive.app Bootstrap pixel local storage
2022-06-09 cclao@google.com Vulkan: Add test for glEGLImageTargetTexture2DOES issue
2022-06-09 syoussefi@chromium.org Vulkan: Don't enable Qualcomm workarounds on OSS driver
2022-06-09 syoussefi@chromium.org Vulkan: Fix the VulkanRenderPassBufferCount overlay widget
2022-06-09 syoussefi@chromium.org Overlay: Support globbing
2022-06-09 cclao@google.com Vulkan: Remove redundant vertex array dirty bit processing
2022-06-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from acf70aaf3fdb to 8817dcf9c1ec (36 revisions)
2022-06-09 ianelliott@google.com Disable KHR_no_error for Android/SwiftShader
2022-06-09 yuxinhu@google.com Vulkan: Handling VK_EXT_load_store_op_none on ARM
2022-06-09 syoussefi@chromium.org Vulkan: Enable custom border colors on SwiftShader
2022-06-09 dnfield@google.com Optionally support vulkan_memory_allocator 3.x
2022-06-09 syoussefi@chromium.org infra: Remove linux-tsan-test from CQ
2022-06-09 jmadill@chromium.org Revert "Remove cwd manipulations."
2022-06-09 rohitrao@chromium.org Removes uses of sprintf() in ceval.

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 djsollen@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: djsollen@google.com
Test: Test: Animal Crossing MEC, Star Wars KOTOR MEC
Change-Id: I35300f1d65fefd54e47a0bd1004bed049f389be9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548878
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-10 05:59:43 +00:00
skia-autoroll
640aec6245 Roll SwiftShader from f1a62bb45663 to d68d367047f5 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f1a62bb45663..d68d367047f5

2022-06-09 swiftshader.regress@gmail.com Regres: Update test lists @ f1a62bb4

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 djsollen@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: djsollen@google.com
Change-Id: I17818a15cd8b0973ede8cf5eebd3dd090419fb88
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548879
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-10 04:49:48 +00:00
skia-autoroll
78c25310f7 Roll vulkan-deps from 22255d13ec18 to 12989fc8d7d2 (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/22255d13ec18..12989fc8d7d2

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 djsollen@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: djsollen@google.com
Change-Id: Ib338c13efcd975334bd23fc05a0888e86d1debfb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548876
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-10 04:05:22 +00:00
Aditya Kushwah
8397375ef8 [Part 1]: Update the label string.
In this CL:
1. Replace the empty label string with the label name for
different Skia components.
2. If the label string is empty, avoid sending it.
3. Append "_Skia_" at the beginning of the label string.

Bug: chromium:1164111
Change-Id: I8154f960591f0c001c6746f25e1939e0eb65d7fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548516
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-06-09 20:13:50 +00:00
John Stiles
0a0f0a3ec6 Simplify array-span creation.
SkMakeSpan can automatically deduce the length of our arrays; we don't
need to add an extra variable to tell it. (We could also have used
SK_ARRAY_COUNT to let the compiler automatically deduce the size.)

Change-Id: Ib0e86d18b8b4105824e97d6195cca7930ea1f1f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548782
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-09 20:13:15 +00:00
Jorge Betancourt
cca906569c fix bulge typo in src file list
No-Tree-Checks: true
No-Try: true
Change-Id: I22dec8059722072932d8fc3260530abbd22d0abe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548779
Auto-Submit: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2022-06-09 19:43:24 +00:00
Robert Phillips
e2de71615d [graphite] Convert key helpers from being namespaces to classes
Bug: skia:12701
Change-Id: I17ff95cd7f7fc518158e951d24c109fc5d4d003d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548417
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-09 18:46:17 +00:00
Michael Reed
5aa7848010 Update to latest rive
Change-Id: I603b03b4359d5d18bf72bdefcedbc684e1b2f4d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548479
Commit-Queue: Florin Malita <fmalita@google.com>
Auto-Submit: Mike Reed <mike@reedtribe.org>
Reviewed-by: Florin Malita <fmalita@google.com>
2022-06-09 17:47:45 +00:00
Jorge Betancourt
f1265e12bb correct typo in bulge effect file name
Change-Id: Ief8f5df1cd49562dc63d787fa9e9a1a9e8dc71cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548697
Auto-Submit: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2022-06-09 17:19:51 +00:00
skia-autoroll
19cdb1a9a6 Roll vulkan-deps from 1190dc2b6863 to 22255d13ec18 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/1190dc2b6863..22255d13ec18

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers from 3ef4c97fd6ea to ec9b96aae53e

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 djsollen@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: djsollen@google.com
Change-Id: I53df4965c527ae4e48ebee4800821ec9269cd6e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548601
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-09 15:23:42 +00:00
Robert Phillips
60ce7871e7 [graphite] Add SkNthSet
Bug: skia:12701
Change-Id: I9d24a0605cf8a877deebf66c7308c55ad6eb0ea9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548416
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2022-06-09 13:57:53 +00:00
John Stiles
4e00544801 Fix const-correctness in CombinationBuilder::beginBlock.
The code was using C-style casts, accidentally stripping away const.

Change-Id: Ie34105a3974dcbf1879322cd15e2a9e392db95e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548476
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-09 13:16:38 +00:00
Kevin Lubick
e25e4dc7e7 [bazel] Specify files required for the toolchain more precisely.
This improves performance with sandboxing.

One can have Bazel output performance data [1][2], which can be
viewed via chrome://tracing or https://ui.perfetto.dev/.

With Perfetto, the following SQL queries [3][4] can summarize
the sandboxing metrics, as well as the actual compilation
time. http://screen/5TxbeZTso4gNDfD
Note that the dur column is in nanoseconds, so we convert
to seconds. These numbers could further be divided by
the number of processes (in my case 48) to get a scaled output.

SELECT SUM(dur) / 1000000000.0 FROM slice WHERE name = "sandbox.createFileSystem";
SELECT SUM(dur) / 1000000000.0 FROM slice WHERE name = "sandbox.delete";
SELECT SUM(dur) / 1000000000.0 FROM slice WHERE name = "subprocess.run";

I benchmarked the local compilation of //:skia_public using
--config=clang_linux (our custom Linux toolchain). I was
sure to clear the Bazel cache before each run and not count
the time to download/update a toolchain for the first time.

The control measurements (without this CL) are:
  Wall Time = 272.2s
  sandbox.createFileSystem = 5466.9s
  subprocess.run = 2961.0s
  sandbox.delete = 4112.3s

With this CL:
  Wall Time = 53.9s (5.05x faster)
  sandbox.createFileSystem = 403.4s
  subprocess.run = 1610.3s
  sandbox.delete = 348.8s

The control measurement is a touch misleading. Due to it being
so slow, I had recommended developers use a ramdisk when building
on machines with sufficient RAM via the Bazel flag
--sandbox_base=/dev/shm

Here is the control measurement when using a RAM disk:
  Wall Time = 21.2s
  sandbox.createFileSystem = 58.9s
  subprocess.run = 705.1s
  sandbox.delete = 46.6s

With this CL and a RAM disk:
  Wall Time = 19.2s (10% faster)
  sandbox.createFileSystem = 21.8s
  subprocess.run = 722.9s
  sandbox.delete = 16.2s

For devs who cannot or are not using a RAM disk, this is
a huge win. With a RAM disk, it's a modest improvement.

On an RBE build, this had minimal impact. I did my best
to bust the action cache with a fake define and the before
and after times were about the same.

This was inspired by [5] and [6].

[1] Add --profile=/tmp/profile.gz to any command
[2] https://bazel.build/rules/performance#performance-profiling
[3] https://perfetto.dev/docs/quickstart/trace-analysis#sample-queries
[4] https://perfetto.dev/docs/analysis/sql-tables#slice
[5] 93f21c9ef3
[6] 311acff345
Change-Id: Iceb2606e86111159141a286d01fc002d09fe3fe4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547822
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-06-09 11:58:45 +00:00
skia-autoroll
6a36fc1491 Roll ANGLE from 4ea62009c99b to 48b928d98fc8 (5 revisions)
4ea62009c9..48b928d98f

2022-06-09 syoussefi@chromium.org Vulkan: Overlay widgets for pipeline cache/hit stats
2022-06-08 romanl@google.com Remove cwd manipulations.
2022-06-08 jmadill@chromium.org De-template out dEQP GTest bridge class.
2022-06-08 geofflang@chromium.org Revert "GL: Temporarily enable validation for all GL calls."
2022-06-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 23b710f1a0b3 to 00594ab942b5 (41 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 djsollen@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: djsollen@google.com
Change-Id: Ibef662f349fc8de68f9c8943af3384a2eea0955e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548577
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-09 05:51:47 +00:00
skia-autoroll
328798c77d Roll Dawn from bd30d9e59422 to 5fb759f6e76a (7 revisions)
https://dawn.googlesource.com/dawn.git/+log/bd30d9e59422..5fb759f6e76a

2022-06-09 senorblanco@chromium.org OpenGL: factor out Adapter (GL) into its own file.
2022-06-09 enga@chromium.org Add unittests for dawn::native::Blob
2022-06-09 jiawei.shao@intel.com Disallow creating multisampled textures without RenderAttachment usage
2022-06-09 jiawei.shao@intel.com Clamp clearStencilValue into the range of stencil format
2022-06-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 4ea62009c99b to c11af00ae1d1 (4 revisions)
2022-06-08 shrekshao@google.com DAWN_PLATFORM and DAWN_COMPILER macro improvements
2022-06-08 cwallez@chromium.org Add reflection APIs for wgpu::Texture.

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 enga@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: enga@google.com
Test: Test: dawn_end2end_tests
Test: Test: dawn_unittests
Change-Id: I9f3c6082c1b3960e5037a2dca3277e0487f7c50c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548576
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-09 04:52:22 +00:00
skia-autoroll
6376c0c001 Roll SwiftShader from afbfd351374d to f1a62bb45663 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/afbfd351374d..f1a62bb45663

2022-06-08 sugoi@google.com OpSelect implementation for pointers
2022-06-08 srisser@google.com Implement descriptor indexing for storage buffers
2022-06-08 antonio.caggiano@collabora.com GN: Fix wayland import check

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 djsollen@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: djsollen@google.com
Change-Id: I25819bb0f5b010e88b4d2f8367f146254544bcf4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548578
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-09 04:48:10 +00:00
skia-autoroll
124f9b0234 Roll vulkan-deps from 5b0dd8c6d0a7 to 1190dc2b6863 (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/5b0dd8c6d0a7..1190dc2b6863

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools from 044ff1aabf65 to fad68a75519f

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 djsollen@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: djsollen@google.com
Change-Id: If23940c08d30e276bea487da2c1e00b960360ccb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548556
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-09 02:44:12 +00:00
Robert Phillips
ce763d8f94 [graphite] Add the combination system's BeginBlock usages
This is just the lowest level of the combination system. The higher
level iteration to accumulate the keys will be in a following CL.

Bug: skia:12701
Change-Id: I4015790a7bca49f11f8eb1a4fda32f235845c049
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547819
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-08 20:08:12 +00:00
Herb Derby
661353407f Fix leak in SubRunInitializer
Bug: oss-fuzz:47844
Change-Id: I5b44801bb11433bfa1bfb88f374f750051dc7eec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548397
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-06-08 20:07:22 +00:00
John Stiles
220f6e4ab1 Simplify lexer transition code.
This removes an if-check from the top of get_transition, removes an if-
check from the top of Lexer::next(), simplifies a bounds check, and
removes bitfields from the index array. Disappointingly, on my machine,
I can't measure any change at all; `get_transition` and `next`
stubbornly remain at about 4-5% of total nanobench time for
`sksl_large`. However, it's still simpler and hopefully slightly smaller
code.

Change-Id: If4187c01f350fe642b7af7cb6bd2c8250ca3c00e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548396
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-06-08 19:13:55 +00:00
Kevin Lubick
93b2030ffd [codesize] Use hours and UTC in GCS file names
codesize.skia.org was missing data and a misunderstanding of
file names was one cause.

To be consistent with Gold (and Perf?) we should use UTC as the
time zone for the folders and add hours. The server has been
switched to UTC in https://skia-review.googlesource.com/c/buildbot/+/548262/

This also fixes a race condition caused by upload the .tsv files
before the .json files. When the server sees a Pub/Sub event
for a .tsv file, it indexs the corresponding .json file.
Frequently, the .json file wouldn't have been uploaded yet,
so the indexing would fail.

Change-Id: Iabe64786db6e5c6020a3fc5dda244ccbe478c401
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548357
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-06-08 19:05:43 +00:00
Leandro Lovisolo
09a20afc9c [dm] Upload old SKPs into a separate "old-skp" Gold corpus.
The goal of this CL is to upload SKPs produced by the Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-OldestSupportedSkpVersion into a new "old-skp" Gold corpus. This will make triaging SKPs easier.

Other approaches I considered:

- Define a new --oldSkp flag. Redundant since we can recover this information by looking at the --config flag.
- Define a new "old-skp" value accepted by the --src flag. More complex; requires larger changes in DM.cpp, and changes to the Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-OldestSupportedSkpVersion task definition.

Bug: skia:13398
Change-Id: Ie8311e715eee0daf335e277132b7484a46b94489
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548076
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2022-06-08 18:53:13 +00:00
Aditya Kushwah
fd86891407 Implement onSetLabel 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. onSetLabel method, which is called from setLabel
method of GrGpuResource, will pass labels to Skia OpenGL backend
using ANGLE's labeling API.

Bug: chromium:1164111
Change-Id: I516c06f0ebbf6bbe6d31ea5a4a64b2baeedd1560
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545717
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-06-08 18:43:34 +00:00
Robert Phillips
9eacc01a7f [graphite] Move addition of children out of AddToKey ...
and rename it BeginBlock.

The motivation for this CL is that it is simpler for the combination
system and the shaders to iterate over their children themselves rather
than shoehorning it into AddToKey.

Bug: skia:12701
Change-Id: I334fbcb7ce83af0681fb06d8449125fdbe8b05f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547446
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-08 18:35:25 +00:00
Kevin Lubick
94f90622eb Manual Dawn Roll
We decided to be ok with an empty version because caching
shader compilations is not that much overhead compared to
the rest of the backends that just have to redo them.

Change-Id: I995b3c75a7e723a1188184f8753450634fa0b629
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548356
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-06-08 18:17:28 +00:00
Kevin Lubick
308b839a44 [codesize] Add skottie_tool and -Oz to compile flags
Change-Id: Ia059e8e215bd46dd4aac5b5b509fe73a19a5c051
Bug: skia:12151
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548296
Reviewed-by: Brian Osman <brianosman@google.com>
2022-06-08 17:12:34 +00:00
Robert Phillips
13143ed2a1 [graphite] Move blendInfo from gatherer to builder
We have a SkPaintParamsKeyBuilder at precompile time but not a
SkPipelineDataGatherer. We need the blend info at precompilation
time so that we can create a complete SkShaderCodeDictionary entry
for the precompiled combination(s).

Bug: skia:12701
Change-Id: I7686162ba93cb331f7c7dc2422e2d6937f367397
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547820
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-08 16:55:49 +00:00
Michael Ludwig
ce2e111e7c [graphite] Make nanobench measure the right amount of work in SKPs
SKPBench tiles the SkPicture into multiple surfaces, with tile WH
differing between GPU and CPU backends. Graphite was being incorrectly
classified as a CPU backend and ended up using smaller tile sizes, so
the SkPicture would be played back many more times relative to Ganesh.
In addition, each surface's contents is a subset of the total picture,
so batching was artificially limited compared to Ganesh.

Added a call to Device::flushPendingWorkToRecorder() in
Surface_Graphite::onFlush(). This ensures DrawPass::Make() is called
when nanobench and viewer are measuring the bulk of the work
(viewer's "flush" time was always 0 for Graphite since the
DrawPass::Make was only being counted in the total time when it
was executed for swapBuffers()). Flushing in this manner also prevents
batching across loops in nanobench, or resetting/clearing prior loops
recorded draws when the benchmark starts with a fullscreen clear.

The SKPBench change should make all graphite benchmarks report lower
times compared to what's in perf.skia.org. The flush change should
increase their reported times for benchmarks that required multiple
loops to get an accurate time measurement (for expensive SKPs with
loops == 1, it shouldn't be affected).

Change-Id: I9256dbfc4c7c021377be8f5137b48036cc67e4a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548157
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-06-08 15:43:00 +00:00
Robert Phillips
9c5063271a Add skgpu::BlendInfo
This unifies GrXferProcessor::BlendInfo and SkPipelineDataGatherer::BlendInfo.

The motivation for this is that I want to store a blend info on the
SkPaintParamsBuilder and having the BlendInfo in SkPipelineDataGatherer
made that difficult. Once moved to Blend.h it didn't make sense to have
the GrXferProcessor version.

Change-Id: I8c36feeef0bfe85dfc3f53b6bbb0193b29136bfd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547816
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-06-08 15:33:04 +00:00
John Stiles
9245ecb239 Clean up in find_existing_declaration.
Instead of copying a vector, now we use a span. Also, migrate out a
parameter-equality test to a helper function (allowing a "match"
temporary variable to be removed, and improving readability a bit).

Change-Id: Ic7f3274f244f8dd9444a6780c08465f9026b63f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548156
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-06-08 14:53:01 +00:00
John Stiles
2a376045ca Remove accessor functions from ShaderCaps.
Change-Id: Ifc4616c99bddd7d40d5a0bd2dd3c57bfb973500f
Bug: skia:12559
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/547825
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-06-08 14:16:07 +00:00
skia-autoroll
0cb1463f90 Roll vulkan-deps from cf0460217e98 to 5b0dd8c6d0a7 (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/cf0460217e98..5b0dd8c6d0a7

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers from b2a156e1c043 to 36c0c1596225
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools from c94501352d54 to 044ff1aabf65

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 djsollen@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: djsollen@google.com
Change-Id: Ibeb47240bbd835f84bfc09e51f555c39f4bbe469
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/548136
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-06-08 14:00:42 +00:00