The Vulkan surface extension as used here is meant for testing only.
Since this isn't used, remove it so we don't have to maintain it.
Also remove the attempt to locate all related Vulkan entry points.
Test:
pixelbook:build topaz, launch a spinning cube
* Remove uses of ReleaseOwnership from vulkan backend.
Flutter no longer needs to release ownership of objects to skia so this change removes the api calls.
* Remove Release call from vulkan_device.cc
* Update vulkan_application.h
* Update vulkan_application.cc
* Update vulkan_handle.h
This changes the ownership of the VkInstance and VkDevice back to the flutter's objects. I am trying to move skia into a world where GrVkBackendContext is purely a description of the vulkan context skia should use and is just passed in during GrContext creation. It shouldn't need to be ref counted or actually do work in destructor (those changes to come later). This is just a first step towards getting there.
The old code called getBackendRenderTargetHandle() with a Read access to trigger the surface to flush, however the returned GrVkImageInfo was never used. This how process is equivalent to just calling flush on the surface so do that instead.
* Update vulkan_swampchain.cc to use getBackendRenderTarget.
The use of getRenderTargetHandle on SkSurface is being removed so switch over to the new API of getBackendRenderTarget.
* Update vulkan_swapchain.cc
* Update vulkan_surface_producer.cc
This syntax fails in conjunction with the new 6-argument constructor
that's been added. Fields were already initialized in the correct
order, so simply omit the field names. Once the constructor lands,
this will switch to calling that.
This moves to the new skia ctor for vulkan GrBackendRenderTarget which doesn't take a stencil count since vulkan doesn't bind stencil and render target together like GL does with framebuffer so it is not needed.
This is the same idea as pull, https://github.com/flutter/engine/pull/4962, but the github UI was only allowing me to change one file via the online edit :(
When resetting to a null GrVkAlloc alloc use the default ctor instead of the { } initializer. This is needed so an upcoming Skia change doesn't break the flutter build.
Required by the spec; see '6.7.4. Queue Family Ownership Transfer'
of Vulkan 1.0.66.
Transitioning the image layout also fixes an image resolve failure
issue introduced by optimizations present in the intel mesa vulkan
driver v17.2.
* Fix remaining ftl->fxl conversions
The previous scripting pass at this did not account for objective c file endings
* Update tonic DEPS reference to the post-fxl version
This change basically moves the singaling of the surface acquire event into the gpu driver, eliminating the VkQueueWaitIdle on surface submission
This change depends on https://skia-review.googlesource.com/c/25641/ so do not submit until Flutter has rolled Skia past that point