72 Commits

Author SHA1 Message Date
George Wright
d2aab27b4f
Enable shell_unittests on Fuchsia with Vulkan dependencies. (#16376)
This also adds a dependency on SwiftShader's Vulkan frontend.
2020-02-06 15:07:01 -08:00
George Wright
677b563b9a
Refactor of Vulkan GPUSurface code (#16224)
Co-authored-by: David Worsham <arbreng@gmail.com>
2020-02-04 10:44:35 -08:00
Chinmay Garde
f7b78e001d
Remove all uses of the redundant flutter_root variable. (#16311)
This was only necessary when the Engine had to build in multiple buildroots
where the sources where checked out at different paths relative to the
buildroot. This is no longer the case and there are already cases GN rules
have been written that mix and match variable usage with the direct
specification of the path to the Flutter sources relative to the sole buildroot.
2020-01-31 21:49:48 -08:00
Dan Field
89f3471fa7
the the fix (#15973) 2020-01-24 12:43:32 -08:00
Kaushik Iska
201cfae8c7
[vulkan] Bundle vulkan validation layer so files (#13930)
Enable vulkan validation for Fuchsia in debug mode as well.
2019-11-25 16:09:56 -08:00
gaaclarke
89e395853c
Refactor to passing functions by const ref (#13975)
Moved our code to passing functions by const ref
2019-11-22 12:20:02 -08:00
Chinmay Garde
f6e6d39860
Wire up Fuchsia SDK related updated for shell dependencies. #8869
This does not actually import the runners into the engine. It only sets up the targets so they need no modifications are necessary when the migration is done. The engine has been verified to build in both buildroots.
2019-05-06 18:01:59 -07:00
Craig Stout
82c9104143 Remove old Fuchsia external mem,sem extensions 2019-03-29 11:00:18 -07:00
Craig Stout
51f23fedf2 [vulkan] Add FUCHSIA external sem/mem extensions
The KHR versions will be renamed once references are removed.

MA-510 #comment
2019-03-26 12:51:40 -07:00
Craig Stout
6c40f84a5b [vulkan] Fix Fuchsia build
Stub out VulkanSwapchain.

Test:Fuchsia release *and* debug builds
2018-12-14 14:08:43 -08:00
Craig Stout
da9985a89f [vulkan] Define VK_USE_PLATFORM_FUCHSIA
VK_USE_PLATFORM_MAGMA_KHR is old and will be removed.
2018-12-10 10:09:53 -08:00
Craig Stout
f3de9c98c7 [vulkan] Remove magma native surface
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
2018-12-10 10:09:53 -08:00
Chinmay Garde
84e3b137a1
Dont attempt to log names of extensions as these change depending on the header used. (#6949) 2018-11-26 15:30:03 -08:00
Jason Simmons
a64049a14e
Update Vulkan headers to 1.1 (#6806) 2018-11-09 12:01:57 -08:00
Mehmet Fidanboylu
94dd7165ef
Skia Cleanup (#6786) 2018-11-07 15:29:52 -08:00
Michael Goderbauer
70a1106b50
Unify copyright lines (#6757) 2018-11-07 12:24:35 -08:00
John Bauman
e80bc1003b
Enable VK_KHR_get_physical_device_properties2 (#5982) 2018-08-10 15:33:21 -07:00
John Bauman
aee78c8c2e
Add VK_ERROR_FRAGMENTATION_EXT (#5981) 2018-08-10 15:33:03 -07:00
Chinmay Garde
9f8285ac6c
Remove all dependencies on Garnet. (#5869) 2018-07-26 12:49:34 -07:00
egdaniel
380eb84c43 Remove unused function CreateSkiaInterface (#5812)
* Remove unused function CreateSkiaInterface.

* Remove include.
2018-07-23 18:27:41 -04:00
egdaniel
4eb2a5ea47 Remove use of GrVkInterface in vulkan. (#5764) 2018-07-17 08:59:36 -04:00
egdaniel
0ecd42a6b2 Nosksp backend context (#5544)
* Use new vulkan factory of GrContext which doens't take an sk_sp.

* remove unneeded member.
2018-06-15 14:53:50 -04:00
Zachary Anderson
6cd1ee15ad
Revert: Remove uses of ReleaseOwnership from vulkan backend (#5484) 2018-06-07 10:42:48 -07:00
egdaniel
44863aa4f5 Remove uses of ReleaseOwnership from vulkan backend (#5458)
* 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
2018-06-04 15:46:24 -04:00
egdaniel
8c84737ea8 Update GrVkBackendContext to no longer own the VkInstance and VkDevice (#5457)
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.
2018-06-04 14:46:12 -04:00
Chinmay Garde
79b9ffb14b
Fixup Fuchsia content handler post shell refactor. (#5072) 2018-04-23 20:16:01 -07:00
egdaniel
62aeab72c4 Call SkSurface::flush instead of getting a backend handle in vulkan_swapchain. (#5012)
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.
2018-04-16 10:21:53 -04:00
egdaniel
69d9590e43 Update skia vulkan usages to use getBackendRenderTarget. (#4982)
* 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
2018-04-12 14:06:28 -04:00
Brian Osman
44bff286de
Remove named field initialization of GrVkImageInfo (#4972)
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.
2018-04-11 14:52:28 -04:00
egdaniel
0c8993a1a1 Update to use new vulkan GrBackendRenderTarget ctor (part 2) (#4963)
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 :(
2018-04-10 14:54:59 -04:00
Craig Stout
7dc7f58131 [vulkan] Add VK_ERROR_NOT_PERMITTED_EXT 2018-04-03 17:49:27 -07:00
Zachary Anderson
5bfdc8f9bb
Retry fixing vulkan include (#4874) 2018-03-27 10:10:45 -07:00
Ryan Macnak
a80905b5ee Revert "Fix vulkan include path (#4870)" (#4872)
Breaks Linux and Mac build bots.

This reverts commit d9ec2de7d081b24d844590ebdb5fca37b57731c6.
2018-03-26 16:56:00 -07:00
Zachary Anderson
d9ec2de7d0
Fix vulkan include path (#4870) 2018-03-26 14:05:25 -07:00
Brian Salomon
8a218122f8 Vulkan swap chain setup no longer uses GrPixelConfig and doesn't include from skia/src (#4856) 2018-03-23 12:38:41 -04:00
egdaniel
c97883dd24 Update how create a null GrVkAlloc object. (#4714)
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.
2018-02-26 09:51:46 -05:00
Brian Salomon
58e6c23ece Modernize GrContext creation (#4640) 2018-02-06 13:45:31 -08:00
Craig Stout
0de8218778 Transition render target images before submit.
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.
2018-01-27 13:17:28 -08:00
Craig Stout
fb9782a529 Introduce VulkanProvider
For more consistent access to base vulkan functionality owned
elsewhere.
2018-01-27 13:17:28 -08:00
Jason Simmons
37c132e2ac
Provide the skia_vulkan_header variable now required by Skia's Vulkan build scripts (#4459) 2017-12-13 17:17:05 -08:00
mikejurka
b8fc6b788d
Vulkan: Enable Fuchsia memory extensions on initialization. (#4301)
Refactor querying of supported Vulkan extensions.
2017-10-31 12:08:27 -07:00
mikejurka
9db1c6ba3b
Don't query for deprecated magma extension (#4292) 2017-10-30 10:09:38 -07:00
mikejurka
93da8c8423
Migrate from VkExportDeviceMemoryMAGMA (deprecated). (#4288) 2017-10-27 13:34:39 -07:00
P.Y. Laligand
5fae5d52cf Allow the project to be mapped to a location other than //flutter. (#4203)
This is for Fuchsia where we would like it to be located at //third_party/flutter.
2017-10-13 17:00:58 -07:00
Craig Stout
9c518cb751 Update vulkan semaphore extension
Use fuchsia specific extension to avoid casting handles as fds.
2017-09-26 11:34:34 -07:00
Michael Goderbauer
08961f8ec5 Format all c-like sources with clang-format (#4088)
* format

* license script adaptions

* updated licenses

* review comments
2017-09-12 15:36:20 -07:00
George Kulakowski
6502090278 Fix remaining ftl->fxl conversions (#4091)
* 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
2017-09-11 16:31:18 -07:00
George Kulakowski
3aa7522c11 Rename ftl to fxl in Fuchsia specific code (#4090) 2017-09-11 15:58:48 -07:00
Petr Hosek
51f12604f7 Add missing virtual destructors to virtual classes (#4083)
These were previously undetected because Wdelete-non-virtual-dtor
didn't work with std::unique_ptr, but that's no longer the case.
2017-09-09 14:01:31 -07:00
freiling
1c99b3f470 [content handler] pipeline surface submission to mozart (#3915)
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
2017-09-05 12:39:18 -07:00