Hoewel de hoogwaardige grafische en reken-API van Vulkan door veel leveranciers wordt ondersteund, zijn Microsoft en Apple twee opmerkelijke organisaties die deze Khronos Group-standaard niet hebben ondersteund. Van de kant van Microsoft geven ze duidelijk de voorkeur aan hun eigen Direct3D. Microsoft treft echter voorbereidingen voor het indienen van hun eerste Vulkan-extensie.
Als onderdeel van de voorbereidingen voor het indienen van hun eerste Vulkan-extensie, was er van de ene op de andere dag een fusie met de Vulkan-specificatierepository voor het toevoegen van het leveranciersvoorvoegsel”MSFT”.
De vk.xml heeft nu een MSFT-tag voor toekomstige Microsoft Corporation-extensies.
Microsoft-technici werken aan een Vulkan gelaagde stuurprogramma-extensie. De bedoeling van de voorgestelde VK_MSFT_layered_driver-extensie is om de gewone Vulkan-lader te helpen beter om te gaan met driver-layering om de sortering van fysieke apparaten te verbeteren. Hier is hun probleemstelling die de situatie uitlegt die de nog te fuseren VK_MSFT_layered_driver hoopt aan te pakken:
“De Vulkan-lader kan fysieke apparaten sorteren volgens platformspecifieke criteria. In Windows gebruikt de lader bijvoorbeeld LUID’s om fysieke apparaten in dezelfde volgorde te plaatsen als DXGI-adapters. Het is echter mogelijk om meerdere Vulkan-stuurprogramma’s te hebben die ondersteuning bieden voor hetzelfde fysieke apparaat, waarbij de ene een”native”door de leverancier geleverde implementatie is en de andere een”gelaagde”implementatie bovenop een andere API. van de gelaagde implementaties zijn VulkanOn12 (ook bekend als Dozen), gelaagd op D3D12, en MoltenVK, gelaagd op Metal.
Op een systeem waar een fysiek apparaat twee mogelijke stuurprogramma’s heeft, is de sorteervolgorde ertussen momenteel niet gespecificeerd. Een ideale sorteervolgorde zou alle native/niet-gelaagde stuurprogramma’s gesorteerd moeten plaatsen vóór alle gelaagde stuurprogramma’s, omdat verwacht mag worden dat native stuurprogramma’s meer functionaliteit en betere prestaties zullen bieden, aangezien gelaagdheid inherent extra overhead toevoegt. Maar de lader weet niet aan welke chauffeur hij de voorkeur geeft.
Een bijkomend probleem dat niet door deze specificatie wordt aangepakt, is het geval dat u meerdere”native”stuurprogramma’s voor een enkel fysiek apparaat hebt. In dat geval blijft de sorteervolgorde niet gespecificeerd, omdat een correcte volgorde tussen stuurprogramma’s niet voor de hand ligt.”
Vanuit het perspectief van Microsoft proberen ze de afhandeling van hun eigen Mesa Dzn-stuurprogramma te verbeteren voor Vulkan API bovenop Direct3D 12. Zoals gezegd kan deze extensie ook nuttig zijn voor MoltenVK in Vulkan bovenop Apple’s Metal graphics/compute API.
Degenen die geïnteresseerd zijn in het gelaagde stuurprogramma-uitbreidingswerk kunnen dit pull-verzoek voor de laatste discussies. Het is in ieder geval leuk om te zien hoe Microsoft hun eerste Vulkan-bijdrage voorbereidt.