È stato presentato un prototipo funzionante del progetto FuryGpu, che sviluppa una GPU fai-da-te basata su FPGA Xilinx Zynq UltraScale+, progettata come una scheda separata collegabile al PC tramite interfaccia PCIe. Le descrizioni dei blocchi hardware sono implementate in SystemVerilog e il progetto della scheda è stato realizzato con il sistema di progettazione elettronica open source KiCAD. Nella sua attuale configurazione, la GPU FuryGpu è in grado di eseguire il gioco Quake con prestazioni di rendering di 60 FPS a una risoluzione di 1280 x 720.
Il progetto è in fase di sviluppo dal 2021 come hobby da parte di un programmatore specializzato nello sviluppo di giochi e interessato all'hardware. Gli schemi della scheda, le descrizioni Verilog e i driver non sono ancora disponibili pubblicamente, ma l'autore del progetto ha dichiarato l'intenzione di rendere pubblici tutti i lavori correlati a FuryGpu dopo aver risolto alcune questioni legali con il proprio datore di lavoro (la convalida è necessaria per tutelarsi da possibili rivendicazioni da parte del datore di lavoro).

Nella fase attuale di sviluppo, le capacità della FuryGpu sono paragonabili a quelle di una scheda grafica avanzata della metà degli anni '90. La funzionalità della GPU è definita da un insieme di funzioni fisse; l'esecuzione di shader programmabili non è ancora supportata, e l'attenzione principale è rivolta ai componenti per il rendering, rasterizzazione e gestione delle texture. Per l'esecuzione delle operazioni grafiche è disponibile una API grafica proprietaria, FuryGL, simile all'API Vulkan, ma non compatibile con essa a causa della mancanza di supporto per gli shader.
Tra le funzionalità già disponibili:
- Quattro rasterizzatori di tile indipendenti;
- Funzionamento della GPU a una frequenza di 400 MHz, funzionamento del blocco di gestione delle texture a una frequenza di 480 MHz;
- Front-end per eseguire operazioni in virgola mobile (fp32);
- Blocco di mappatura e gestione delle texture, che supporta filtraggio lineare e bilineare con supporto per texture MIP;
- Interfaccia PCIe Gen 2×4. Presenza di porte DisplayPort e HDMI per il collegamento di un monitor.

Fonte: opennet.ru
