tree 2ed501cadf337c4ea8d4e12192e46f58cdad54e1
parent 0956ef53590a5a46a50368eab04fbfa708843418
author skia-flutter-autoroll <skia-flutter-autoroll@skia.org> 1696290383 -0400
committer GitHub <noreply@github.com> 1696290383 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJlG1ZPCRBK7hj4Ov3rIwAAVowIACw8wgvs+yRNUkyQVitc6W/E
 ARZbbir5aEzH+nPPqcyMqEKEpa632eYFEtyQ/x/chJ0eY4eDhl/EnCSNZMyHZvi2
 0S6ewZNWAty3i3XheiLzB/8gYGklWDa0EVEfl8a3f4XMaywHc1GiND1fZEW5q9Ns
 /TMGUHss1Z9KY9v1C0m5j0XqXexFnn7G8oCMB9Q+AFV0f6L2Jr8YhIqHduOX4MGq
 mbO4YWlZLhT/zopdXgqM+/KkRjj15KYVz+Ck7IftknyKVMP2+8obdViXIttNzxl1
 SPNt3xyBwQHeYHuV7uLL3lBPYm7+xE+i54Pu30zpJv0ffaXEymLXj1oHY/bzmWg=
 =Ja/R
 -----END PGP SIGNATURE-----
 

Roll Skia from 064f144adedd to 1ec5c024f61e (1 revision) (#46481)

https://skia.googlesource.com/skia.git/+log/064f144adedd..1ec5c024f61e

2023-10-02 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 1e40b8e966f5 to 9849247aab3a (12 revisions)

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

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