Chinmay Garde 753e03413a [Impeller] More sundry fixes to the Vulkan backend. (flutter/engine#40603)
* Fix mip-map generation in unit-tests where the command buffer was not
  submitted.
* Cleanup descriptor counts being always 1 in Vulkan code-gen.
* Reworked capabilities. Platforms can add to the base capability set.
* Vulkan backend picks between more available color and stencil formats.
* Descriptor pools are dynamically sized.
* Layout transitions are more explicit. Both allocated and swapchain images
  track their own layouts and redundant transitions are avoided.
* Objects active in a pending command buffer are collected but the waits happen
  on a separate fence waiter. Thread is named
  "io.flutter.impeller.fence_waiter".
* Added queue and command buffer instant markers for better traces.
* Command pools and their buffers are now thread local. Fixes sync validation
  failure.
* Debug reports are now more readable and command buffer and queue breadcrumbs
  will be displayed on a validation report.
* Staging buffers are back.
* Pipeline caches have been wired up. After 50 frames, the current Vulkan
  pipeline cache will be written out to disk for subsequent launches. Writes
  will happen on a background worker.
* Runtime stages have been wired up. But the build rules to provide the right
  stages are still remaining.

Fixes https://github.com/flutter/flutter/issues/121536
Fixes https://github.com/flutter/flutter/issues/121627
Fixes https://github.com/flutter/flutter/issues/121632
Fixes https://github.com/flutter/flutter/issues/120499
2023-03-25 13:40:19 -07:00
..