60457e6cd0
Add support for QSurface::VulkanSurface and QVulkanWindow. Usage: 1) Build MoltenVK according to instructions 2) Configure Qt: ./configure -I /path/to/MoltenVK/Package/Release/MoltenVK/include 3) export QT_VULKAN_LIB=/path/to/MoltenVK/Package/Release/MoltenVK/macOS/libMoltenVK. Implement support for QSurface::VulkanSurface by enabling layer mode for QNSView and then creating a CAMetalLayer, which the MoltenVK translation layer can run on. MoltenVK provides an implementation of the Vulcan API, which means that the platform integration is similar to other platforms: implement a QCocoaVulkanInstance where we pass the QNSView instance to the vkCreateMacOSSurfaceMVK Vulkan surface constructor function. Using Vulkan directly without QVulkanWindow is possible, but not tested. We currently load libMoltenVK at run-time and use the existing QT_VULKAN_LIB environment variable to set its path. For deployment purposes it would be better to link against MoltenVK.frameworkm, but this Task-number: QTBUG-66966 Change-Id: I04ec6289c40b199dca9fed32902b5d2ad4e9c030 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> |
||
---|---|---|
.. | ||
aix | ||
android | ||
bsd | ||
c89 | ||
integrity | ||
mac | ||
nacl | ||
posix | ||
qnx | ||
uikit | ||
winrt_winphone | ||
android-base-head.conf | ||
android-base-tail.conf | ||
angle.conf | ||
clang-mac.conf | ||
clang.conf | ||
g++-base.conf | ||
g++-macx.conf | ||
g++-unix.conf | ||
g++-win32.conf | ||
g++.conf | ||
gcc-base-mac.conf | ||
gcc-base-unix.conf | ||
gcc-base.conf | ||
ghs-base.conf | ||
ghs-integrity-armv7.conf | ||
ghs-integrity-armv8.conf | ||
ghs-integrity-x86.conf | ||
ios.conf | ||
linux.conf | ||
llvm.conf | ||
mac.conf | ||
macx.conf | ||
msvc-desktop.conf | ||
msvc-version.conf | ||
qcc-base-qnx-aarch64le.conf | ||
qcc-base-qnx-armle-v7.conf | ||
qcc-base-qnx-x86-64.conf | ||
qcc-base-qnx-x86.conf | ||
qcc-base-qnx.conf | ||
qcc-base.conf | ||
sanitize.conf | ||
shell-unix.conf | ||
shell-win32.conf | ||
solaris.conf | ||
tvos.conf | ||
uikit.conf | ||
unix.conf | ||
watchos.conf | ||
windows-vulkan.conf |