47 Commits

Author SHA1 Message Date
Chinmay Garde
7293d4cef9 Fixup Fuchsia content handler post shell refactor. (flutter/engine#5072) 2018-04-23 20:16:01 -07:00
egdaniel
ad967fceb2 Call SkSurface::flush instead of getting a backend handle in vulkan_swapchain. (flutter/engine#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
a3613c9d5f Update skia vulkan usages to use getBackendRenderTarget. (flutter/engine#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
ff49f86059 Remove named field initialization of GrVkImageInfo (flutter/engine#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
679a670c34 Update to use new vulkan GrBackendRenderTarget ctor (part 2) (flutter/engine#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
fb8aae52b8 [vulkan] Add VK_ERROR_NOT_PERMITTED_EXT 2018-04-03 17:49:27 -07:00
Zachary Anderson
a3666e8280 Retry fixing vulkan include (flutter/engine#4874) 2018-03-27 10:10:45 -07:00
Ryan Macnak
fcb00ca95b Revert "Fix vulkan include path (#4870)" (flutter/engine#4872)
Breaks Linux and Mac build bots.

This reverts commit 2321c199f0bd35878cd9cecc36d69dbab5245041.
2018-03-26 16:56:00 -07:00
Zachary Anderson
2321c199f0 Fix vulkan include path (flutter/engine#4870) 2018-03-26 14:05:25 -07:00
Brian Salomon
828875524a Vulkan swap chain setup no longer uses GrPixelConfig and doesn't include from skia/src (flutter/engine#4856) 2018-03-23 12:38:41 -04:00
egdaniel
b0e6b1b55e Update how create a null GrVkAlloc object. (flutter/engine#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
53b3c06c97 Modernize GrContext creation (flutter/engine#4640) 2018-02-06 13:45:31 -08:00
Craig Stout
fa96568e15 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
9ee335cdff Introduce VulkanProvider
For more consistent access to base vulkan functionality owned
elsewhere.
2018-01-27 13:17:28 -08:00
Jason Simmons
49769ea252 Provide the skia_vulkan_header variable now required by Skia's Vulkan build scripts (flutter/engine#4459) 2017-12-13 17:17:05 -08:00
mikejurka
06355f7c80 Vulkan: Enable Fuchsia memory extensions on initialization. (flutter/engine#4301)
Refactor querying of supported Vulkan extensions.
2017-10-31 12:08:27 -07:00
mikejurka
e7a4cfc863 Don't query for deprecated magma extension (flutter/engine#4292) 2017-10-30 10:09:38 -07:00
mikejurka
126dd15633 Migrate from VkExportDeviceMemoryMAGMA (deprecated). (flutter/engine#4288) 2017-10-27 13:34:39 -07:00
P.Y. Laligand
235f07742a Allow the project to be mapped to a location other than //flutter. (flutter/engine#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
47c2e0b979 Update vulkan semaphore extension
Use fuchsia specific extension to avoid casting handles as fds.
2017-09-26 11:34:34 -07:00
Michael Goderbauer
ac24af87f0 Format all c-like sources with clang-format (flutter/engine#4088)
* format

* license script adaptions

* updated licenses

* review comments
2017-09-12 15:36:20 -07:00
George Kulakowski
b2b9a646ca Fix remaining ftl->fxl conversions (flutter/engine#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
fa539e618e Rename ftl to fxl in Fuchsia specific code (flutter/engine#4090) 2017-09-11 15:58:48 -07:00
Petr Hosek
4bee84e385 Add missing virtual destructors to virtual classes (flutter/engine#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
6c58def18b [content handler] pipeline surface submission to mozart (flutter/engine#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
2cf3cffd3f Add //garnet (flutter/engine#4043)
This repository contains FTL now in the Fuchsia build.
2017-08-31 16:47:13 -07:00
Chinmay Garde
c78cf3d594 Use GrBackendRenderTarget rather than the deprecated GrBackendRenderTargetDesc. (flutter/engine#4028) 2017-08-28 15:53:57 -07:00
John Bauman
65dbd61aca Enable VK_GOOGLE_external_memory_magma extension on Fuchsia (flutter/engine#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
68448fcd3c Update VK_KHX_external_memory dependency to KHR (flutter/engine#3992)
The extension was made official.
2017-08-21 17:09:29 -07:00
Chinmay Garde
f7b67119d3 Update the content handler to use the Mozart session API. (flutter/engine#3887) 2017-07-18 15:40:18 -07:00
freiling
09b35b4170 Vulkan on Fuchsia performance tuning (flutter/engine#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
9f9edcc382 [vulkan] make validation layer errors non-fatal on Fuchsia (flutter/engine#3674) 2017-05-10 10:36:26 -07:00
mikejurka
cc3ffeb6f0 Enable Vulkan validation layers on Fuchsia in debug mode. (flutter/engine#3663)
Disable info debug messages from the layers to cut down log spam.
2017-05-09 14:32:17 -07:00
mikejurka
eee9292e3b Include new Vulkan enum values only on Fuchsia (flutter/engine#3658)
Fixes build.
2017-05-08 13:44:07 -07:00
mikejurka
eaba4f5a5d Update to match the latest Vulkan loader in Fuchsia (flutter/engine#3654) 2017-05-08 12:58:17 -07:00
Chinmay Garde
b90200a5bb Account for updated GrVkFormatToPixelConfig signature. (flutter/engine#3615)
Fixes Vulkan backend.
2017-04-21 15:15:36 -07:00
Chinmay Garde
f05379f248 Account for GrVkBackendContext assuming ownership of the VkInstance and VkDevice. (flutter/engine#3604) 2017-04-18 14:21:42 -07:00
freiling
22838a8ebe Back Vulkan Rasterizer with Mozart View (flutter/engine#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
2933cfa76f Add private Skia methods needed to support Vulkan (flutter/engine#3564) 2017-04-05 11:48:56 -07:00
mikejurka
f6a5f79902 Workaround for surface size on Fuchsia/Magma (flutter/engine#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
9dfad95808 Use updated calls to SkColorSpace in flutter/vulkan. (flutter/engine#3416) 2017-02-13 18:23:32 -08:00
Chinmay Garde
78ef0ab0b6 Fix breaking build after formats reorder in #3384 (flutter/engine#3385) 2017-02-01 15:01:16 -08:00
Chinmay Garde
e6e3d4c3b6 [Vulkan] Try a desired list of surface formats before picking one at random. (flutter/engine#3384) 2017-02-01 14:54:10 -08:00
Chinmay Garde
d0128e48f6 Account for vk.GetPhysicalDeviceSurfaceCapabilitiesKHR returning invalid extents. (flutter/engine#3376) 2017-01-30 16:27:00 -08:00
Chinmay Garde
26fe5e1b12 Add a Vulkan backend for Fuchsia and Android. (flutter/engine#3282) 2017-01-20 14:37:10 -08:00
Chinmay Garde
37ee7c506c Make the creation of VulkanWindow platform agnostic by refactoring out Android specific surface creation routines. (flutter/engine#3048) 2016-09-20 15:55:48 -07:00
Chinmay Garde
923c36f013 Setup a vulkan window with device selection and swapchain setup. (flutter/engine#3033) 2016-09-15 17:38:16 -07:00