qt5base-lts/mkspecs/common
Morten Johan Sørvig 60457e6cd0 macOS: Experimental Vulkan support via MoltenVK
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>
2018-05-08 11:27:26 +00:00
..
aix Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
android Add QIODevice::NewOnly and QIODevice::ExistingOnly OpenMode flags 2018-01-17 04:32:47 +00:00
bsd Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
c89
integrity Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
mac Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
nacl
posix Add QIODevice::NewOnly and QIODevice::ExistingOnly OpenMode flags 2018-01-17 04:32:47 +00:00
qnx Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
uikit
winrt_winphone Merge remote-tracking branch 'origin/5.9' into 5.10 2017-10-04 13:41:04 +02:00
android-base-head.conf android: Add support for precompiled headers 2018-05-04 10:25:05 +00:00
android-base-tail.conf Detect C standard and try using the most recent one (take 2) 2018-04-21 09:05:14 +00:00
angle.conf Restore behavior of using libEGL and libGLESv2 as default for angle 2017-05-11 08:35:54 +00:00
clang-mac.conf Move Apple-specific -fapplication-extensions option to the mkspec 2017-04-12 03:37:01 +00:00
clang.conf Detect C standard and try using the most recent one (take 2) 2018-04-21 09:05:14 +00:00
g++-base.conf Detect C standard and try using the most recent one (take 2) 2018-04-21 09:05:14 +00:00
g++-macx.conf
g++-unix.conf
g++-win32.conf mkspecs: Factorize common parts of win32-g++ and win32-clang-g++ 2018-02-21 18:08:01 +00:00
g++.conf
gcc-base-mac.conf
gcc-base-unix.conf Generate gdb indexing for faster debugging on Linux 2017-12-19 11:50:12 +00:00
gcc-base.conf Make the use of -fdata-sections and --gc-sections more generic in Qt 2018-04-27 06:47:35 +00:00
ghs-base.conf Remove QMAKE_LIBS_CORE variable 2017-08-28 13:10:38 +00:00
ghs-integrity-armv7.conf Add -bigswitch on INTEGRITY 2017-04-03 08:08:46 +00:00
ghs-integrity-armv8.conf Add INTEGRITY mkspec for ARMv8 Drive CX 2017-05-29 09:46:12 +00:00
ghs-integrity-x86.conf
ios.conf
linux.conf Merge remote-tracking branch 'origin/5.9' into dev 2017-08-31 14:31:31 +02:00
llvm.conf
mac.conf
macx.conf macOS: Experimental Vulkan support via MoltenVK 2018-05-08 11:27:26 +00:00
msvc-desktop.conf Merge remote-tracking branch 'origin/5.9' into 5.11 2018-02-14 12:51:24 +01:00
msvc-version.conf Merge remote-tracking branch 'origin/5.9' into 5.11 2018-02-14 12:51:24 +01:00
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 qmake: add support for mkspecs which don't support strict_c++ 2018-04-05 18:55:46 +00:00
qcc-base.conf Merge remote-tracking branch 'origin/5.9' into dev 2017-06-19 16:12:34 +02:00
sanitize.conf
shell-unix.conf
shell-win32.conf
solaris.conf Remove unused mkspecs variable QMAKE_LIBS_NIS 2017-08-28 13:10:44 +00:00
tvos.conf
uikit.conf Remove useless DARWIN_NO_CARBON define from uikit mkspecs 2017-01-24 19:40:29 +00:00
unix.conf
watchos.conf
windows-vulkan.conf Fix WebEngine build when VULKAN_SDK environment variable is present 2017-07-25 13:48:41 +00:00