mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
FenceWaiterVK and fix termination bugs (flutter/engine#45870)
Fixes https://github.com/flutter/flutter/issues/134751, and @jonahwilliams suspects it could be related to a number of other flaky/texture leak scenarios (https://github.com/flutter/flutter/issues/133506#issuecomment-1720275749) that only happen sometimes (i.e. on CI but not real devices), i.e. stuff like: ```txt --- Vulkan Debug Report  ---------------------------------------- |         Severity: Error |           Type: { Validation } |         ID Name: VUID-vkDestroyBuffer-buffer-00922 |        ID Number: -464217071 |    Queue Breadcrumbs: [NONE] |  CMD Buffer Breadcrumbs: [NONE] |     Related Objects: Device [94498356231456] [ImpellerDevice] |         Trigger: Validation Error: [ VUID-vkDestroyBuffer-buffer-00922 ] Object 0: handle = 0x55f21cf47d20, name = ImpellerDevice, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xe4549c11 | Cannot call vkDestroyBuffer on VkBuffer 0xbb00000000bb[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to buffer, either directly or via a VkBufferView, must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkDestroyBuffer-buffer-00922) ----------------------------------------------------------------- ``` --- ~~This PR will look a bit like a mess until the last 2 PRs merge in, but locally it appears to fix fence races/segfaults that I was seeing on CI, including on Linux with validations enabled. We can test it further tomorrow.~~ EDIT: Updated.
Description
Flutter makes it easy and fast to build beautiful apps for mobile and beyond
androidapp-frameworkcross-platformdartdart-platformdesktopflutterflutter-packagefuchsiaioslinux-desktopmacosmaterial-designmobilemobile-developmentskiawebweb-frameworkwindows
2.5 GiB
Languages
Dart
75%
C++
16.5%
Objective-C++
2.9%
Java
2.8%
Objective-C
0.7%
Other
1.9%