47 Commits

Author SHA1 Message Date
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
Adam Barth
73554a1c32 Add //garnet (#4043)
This repository contains FTL now in the Fuchsia build.
2017-08-31 16:47:13 -07:00
Chinmay Garde
ff720419c7 Use GrBackendRenderTarget rather than the deprecated GrBackendRenderTargetDesc. (#4028) 2017-08-28 15:53:57 -07:00
John Bauman
4b96f40947 Enable VK_GOOGLE_external_memory_magma extension on Fuchsia (#3999)
Newer version of the vulkan validation layer check that this
extension is enabled before allowing vkExportDeviceMemoryMAGMA.
2017-08-23 11:53:22 -07:00
jbauman42
af147ba1b7 Update VK_KHX_external_memory dependency to KHR (#3992)
The extension was made official.
2017-08-21 17:09:29 -07:00
Chinmay Garde
925298d947 Update the content handler to use the Mozart session API. (#3887) 2017-07-18 15:40:18 -07:00
freiling
674b8f1171 Vulkan on Fuchsia performance tuning (#3822)
* increase Vulkan GrContext resource cache limits to match android

* [content handler] tune VulkanSurfaceProducer allocation and recycling heuristics
2017-06-23 16:02:23 -07:00
freiling
aa0bf7d347 [vulkan] make validation layer errors non-fatal on Fuchsia (#3674) 2017-05-10 10:36:26 -07:00
mikejurka
ffed885296 Enable Vulkan validation layers on Fuchsia in debug mode. (#3663)
Disable info debug messages from the layers to cut down log spam.
2017-05-09 14:32:17 -07:00
mikejurka
0304668183 Include new Vulkan enum values only on Fuchsia (#3658)
Fixes build.
2017-05-08 13:44:07 -07:00
mikejurka
15cb187cc9 Update to match the latest Vulkan loader in Fuchsia (#3654) 2017-05-08 12:58:17 -07:00
Chinmay Garde
9740093f67 Account for updated GrVkFormatToPixelConfig signature. (#3615)
Fixes Vulkan backend.
2017-04-21 15:15:36 -07:00
Chinmay Garde
ad64948112 Account for GrVkBackendContext assuming ownership of the VkInstance and VkDevice. (#3604) 2017-04-18 14:21:42 -07:00
freiling
2a4af6906e Back Vulkan Rasterizer with Mozart View (#3568)
This version does not recycle buffers. It is meant only as an initial solution,
and the proper buffer recycling logic has been broken out into a separate change
2017-04-07 17:22:53 -07:00
mikejurka
9e59a83ac1 Add private Skia methods needed to support Vulkan (#3564) 2017-04-05 11:48:56 -07:00
mikejurka
90dd98ff33 Workaround for surface size on Fuchsia/Magma (#3458)
Allow surface size to be passed by caller
temporarily until we get a proper Display API
2017-03-01 21:08:06 -08:00
Chinmay Garde
2f3d960369 Use updated calls to SkColorSpace in flutter/vulkan. (#3416) 2017-02-13 18:23:32 -08:00
Chinmay Garde
cd19497b3b Fix breaking build after formats reorder in #3384 (#3385) 2017-02-01 15:01:16 -08:00
Chinmay Garde
dd45346928 [Vulkan] Try a desired list of surface formats before picking one at random. (#3384) 2017-02-01 14:54:10 -08:00
Chinmay Garde
0c3e6ff414 Account for vk.GetPhysicalDeviceSurfaceCapabilitiesKHR returning invalid extents. (#3376) 2017-01-30 16:27:00 -08:00
Chinmay Garde
94306f4103 Add a Vulkan backend for Fuchsia and Android. (#3282) 2017-01-20 14:37:10 -08:00
Chinmay Garde
b843b255b7 Make the creation of VulkanWindow platform agnostic by refactoring out Android specific surface creation routines. (#3048) 2016-09-20 15:55:48 -07:00
Chinmay Garde
1b67eb2b82 Setup a vulkan window with device selection and swapchain setup. (#3033) 2016-09-15 17:38:16 -07:00