Qt s’ouvre petit à petit à d’autres API de rendu qu’OpenGL, comme Direct3D 12 ou encore Vulkan. Metal devrait bientôt être accessible sur macOS — et tant mieux, vu qu’il n’y aura bientôt plus d’OpenGL et probablement jamais d’implémentation officielle de Vulkan. Grâce à MoltenVK, une implémentation de Vulkan par-dessus Metal, les premiers développements de Qt pour gérer Metal pourront facilement être généralisés à Vulkan !

Ainsi, avec Qt 5.12, en demandant une surface de type QSurface::VulkanSurface lors de la construction d’une instance de QWindow, la fenêtre QWindow et son NSView associé seront dessinés par une couche CAMetalLayer, laquelle est directement utilisable avec MoltenVK.

De plus, en compilant Qt avec MoltenVK (pour avoir accès aux fichiers d’en-tête de Vulkan), QVulkanWindow devient accessible. MoltenVK doit aussi être accessible à l’exécution, afin de fournir les fonctions nécessaires ; pour ce faire, il suffit d’exporter la variable d’environnement QT_VULKAN_LIB et de la faire pointer vers le dossier de MoltenVK : elle sera chargée de manière dynamique, comme sur les autres plateformes.

Sources et détails supplémentaires : Vulkan for Qt on macOS.