Eben Upton ha riportato sul blog Raspberry PI un post di Iago Toral (Igalia), sviluppatore dello stack del driver grafico Vulkan Mesa per il Pi 4.
Sono trascorsi cinque mesi dall’annuncio dell’impresa Vulkan per il Raspberry PI. Vulkan rappresenta una interfaccia applicativa (API) di nuova generazione, che incrementa l’efficienza nello sviluppo di applicazioni grafiche cross-platform sulle GPU moderne. Le API Vulkan sono state progettate per risolvere i problemi di performance in OpenGL, offrendo in tal modo agli sviluppatori grafici nuove possibilità per sfruttare l’hardware.
Ai tempi dell’annuncio, in Gennaio, era stato renderizzato il famoso triangolo sfumato, che coinvolgeva s olo una piccola parte delle API 1.0 del driver. Ad oggi sono stati eseguiti con successo oltre 70.000 test della “Khronos Conformance Test Suite for Vulkan 1.0”, ed è stato implementato un ragguardevole sottoinsieme delle API Vulcan 1.0.
Immagini dello sviluppo
“Potevamo stupirvi con immagini favolose… e lo abbiamo fatto.” Anziché annoiare la platea con numeri e parole, sono state presentate le immagini relative ai successi intervenuti in questi mesi nello sviluppo. Di seguito le immagini di popolari demo Vulkan di Sascha Willems lanciati su di un Raspberry Pi 4:
Occorre ricordare che, nonostante l’effetto iniziale, questi demo rappresentano solo una piccola parte dell osforzo necessario per completare un videogame. C’è parecchio lavoro ancora da completare prima che i driver possano affrontare compiti ludici ben più pesanti.
E quindi?
Non di sole immagini vive il gamer. Ecco quindi una serie di altre attività in sviluppo.
La prima priorità è rappresentata dal sistema di API Vulkan 1.0 completo. Ciò richiede almeno il supporto del calcolo degli shaders, gli input attachments, i texel buffers, il salvataggio delle immagini, il caching delle pipeline ed il multisampling. In sostanza ciò che renderà il sistema di gestione più dinamico. Occorre inoltre rinforzare alcune funzioni specifiche, sulle quali comunque il team di sviluppo sta gà lavorando.
Seguirà la fase di bugfixing e le operazioni che condurranno alla CTS conformance
Infine si procederà con un massiccio performance tuning con un lavoro di ottimizzazione durante gli ultimi stadi di sviluppo.
C’è ancora un po’ di strada da fare, ma possiamo iniziare a toccare con mano i risultati, grazie ad un video demo postato su YouTube da Mike Hooper:
Spostare lo sviluppo in un repository open
Ed ecco unì’altra interessante sfaccetatura di questo annuncio. Lo sviluppo del driver verrà spostato verso un open repository con tutte le istruzioni necessarie per lavorarci. C’è voluto un po’ di tempo per stabilizzare la catena di sviluppo, ma alla fine la richiesta di molti programmatori appassionati di grafica è stata soddisfatta.
Gli interessati potranno comunque seguire lo sviluppo anche sul canale irc.freenode.net, #videocore.