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>
17 lines
312 B
Plaintext
17 lines
312 B
Plaintext
#
|
|
# qmake configuration for common OS X
|
|
#
|
|
|
|
QMAKE_PLATFORM += macos osx macx
|
|
QMAKE_MAC_SDK = macosx
|
|
|
|
device.sdk = macosx
|
|
device.target = device
|
|
device.dir_affix = $${device.sdk}
|
|
device.CONFIG = $${device.sdk}
|
|
device.deployment_identifier = $${device.sdk}
|
|
|
|
QMAKE_LIBS_VULKAN =
|
|
|
|
include(mac.conf)
|