tree 09d1e51c3bce75610811a7945f2c5888ce42d454
parent bd9b0416acdcadd34bee3645dedfe75744d128ef
author skia-flutter-autoroll <skia-flutter-autoroll@skia.org> 1702361892 -0500
committer GitHub <noreply@github.com> 1702361892 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJld/skCRBK7hj4Ov3rIwAAo08IAH5BP65f1Erhk76D8L803N9D
 UOg7xAMVqRu35KzML5NbAcA9vJvFm6NKwtYYbxTJbuyZirn31PjHRqT+EbtS2jsO
 /LORHwvRO5IVI+t9W1dK6XIR23z05Xgu9F32tkmMP/nT9ZMcYTRSg6DrCoxKgBI/
 TLNxxMfzbjYVLY5dMFNGPSuIcvLVFVG6A0iZzjOgHcHTLIG7k8hcUf26lV1KYns5
 ZTPy2oSLq288KTVziTgCXrb9Wa6s5NPZxpprunMUf37osBsNRNoOA0MddgQomG3K
 2mCoN/ZQz/A6VPRBXZ8kp+SXvGkhGvKrSg+quYM0zCk6uZ0dIKYArIMSGgtnw/4=
 =b6dV
 -----END PGP SIGNATURE-----
 

Roll Skia from 0b3bebcd0907 to 9ee61bf39374 (1 revision) (#48915)

https://skia.googlesource.com/skia.git/+log/0b3bebcd0907..9ee61bf39374

2023-12-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from b8ca8de43841 to de591cff0316 (15 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,chinmaygarde@google.com,michaelludwig@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://issues.skia.org/issues/new?component=1389291&template=1850622

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