Nintendo migliora le API Vulkan
Redattore per Q-Gin. Clicca su '// TUTTI_GLI_ARTICOLI' per esplorare le altre pubblicazioni scritte da // Luca_Pio.
Nintendo migliora le API Vulkan
Questa è una notizia piuttosto inaspettata. Come spesso accade, è stato rilasciato un nuovo aggiornamento delle specifiche di Vulkan, accompagnato dall’introduzione di una nuova estensione che riguarda gli shader e alla quale Nintendo ha contribuito.
La notizia è stata menzionata in un post sul // blog dello sviluppatore di driver Mike Blumenkrantz, nonché in un // annuncio completo di Khronos Group, ossia, il consorzio che supervisiona lo sviluppo di Vulkan. Comunque, l’annuncio ufficiale è stato persino scritto da uno sviluppatore di Nintendo. Ecco le note dell’annuncio:
Oggi, Khronos sta rilasciando una nuova estensione multi-vendor di Vulkan che mira a semplificare radicalmente la specificazione e lo stato degli shader da parte delle applicazioni, mantenendo allo stesso tempo l’etica di Vulkan di essere un’API ad alte prestazioni “senza segreti”.
Questa estensione si chiama VK_EXT_shader_object e introduce un nuovo tipo di oggetto, VkShaderEXT, che rappresenta una singola fase di shader compilato, insieme a 4 nuove funzioni per manipolare e utilizzare gli oggetti VkShaderEXT.
Questi oggetti shader svolgono un ruolo simile alle pipeline, ma espongono un’interfaccia più semplice e flessibile, progettata per consentire alle applicazioni le cui architetture e/o esigenze di “dynamism” potrebbero aver reso l’uso delle pipeline difficile. In ambienti in cui è supportata VK_EXT_shader_object, le applicazioni possono scegliere di utilizzare solo pipeline, solo oggetti shader o una miscela arbitraria dei due.
Daniel Story

Per di più, il post di Blumenkrantz approdondisce ulteriormente le funzionalità di questa estensione e descrive come essa rappresenti la “culminazione di anni di lavoro per portare agli sviluppatori di Vulkan modalità sempre più potenti e facili da usare per gestire gli shader”. Stando al post dello sviluppatore:
Si tratta di un’estensione molto interessante per Zink. In pratica, significa che le varianti degli shader (non ottimizzati) possono essere generate molto rapidamente. Talmente rapidamente che l’estensione dovrebbe risolvere tutti i problemi rimanenti con la compilazione degli shader e lo stuttering, consentendo alle applicazioni (come Zink) di creare e collegare gli shader direttamente, senza la necessità di oggetti pipeline.
Mike Blumenkrantz
Sembra che l’estensione VK_EXT_shader_object rappresenti un grande passo in avanti e potrebbe portare a elevati guadagni di performance e a meno stuttering. Infatti, esortiamo tutti gli sviluppatori che in passato hanno bistrattato Vulkan a dargli una seconda possibilità.
