Aggiornamento dei sorgenti Vulkan per Raspberry PI

vulkan per raspberry pi

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:

vulkan per raspberry pi

Vulkan Raspberry PI

Vulkan Raspberry PI

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.

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.