La carte accélératrice graphique 3dfx Voodoo, toujours célèbre dans les cercles du matériel PC et des jeux rétro, « revient » désormais sur scène sous la forme d'une nouvelle implémentation FPGA. Partant du fait que plusieurs simulateurs DOS et PC ont réussi à bien reproduire les performances de Voodoo, un développeur a choisi de reconstruire directement cette puce classique du siècle dernier sur du matériel programmable.

La marque 3dfx a été acquise par Nvidia en 2000 et a finalement disparu, mais ses cartes accélératrices de la série Voodoo sont toujours les « cartes magiques » dans le cœur de nombreux joueurs et amateurs de graphisme 3D, et sont également des composants essentiels dans divers projets de modification rétro et anciennes solutions matérielles de jeu. À l'heure actuelle, les puces Voodoo ont été presque entièrement simulées dans divers simulateurs tels que DOSBox-X, PCem et 86Box, et les acteurs du matériel informatique tentent constamment des projets de modification basés sur des puces originales ou des solutions maison.
Francisco Ayala Le Brun, directeur technologique de la société néerlandaise VideowindoW, a choisi de trouver une nouvelle voie de « réincarnation » pour Voodoo via FPGA. Il a utilisé SpinalHDL, un langage de description de matériel, pour décrire entièrement la carte graphique Voodoo 1, puis l'a convertie en un modèle de circuit numérique pouvant fonctionner sur un réseau de portes programmable sur site (FPGA) moderne.
Le Brun a souligné dans la description technique que bien que Voodoo 1 soit très ancien, il ne s'agit en aucun cas d'une simple conception de puce. Contrairement aux GPU modernes, il ne dispose pas de matériel de transformation et d'éclairage ni de fonctions de shader programmables. Toutes les capacités graphiques sont "codées en dur" dans la puce de silicium sous la forme de fonctions fixes, y compris un pipeline complet de calculs de gradient pour l'ombrage Gouraud, l'échantillonnage de texture, le mipmapping, le filtrage de texture multi-niveaux (bilinéaire et trilinéaire), l'écrêtage alpha, les calculs d'écrêtage, etc.


Dans le processus de rendu graphique basé sur 3dfx, le processeur est chargé d'effectuer les opérations mathématiques complexes nécessaires pour décrire la scène 3D, tandis que l'accélérateur Voodoo dessine les triangles texturés à l'écran le plus rapidement possible. Le Brun a souligné que cette répartition des responsabilités « en apparence simple » peut facilement laisser penser que la structure matérielle est également très simple. En fait, même si un seul triangle est rendu, une série d'opérations telles que l'interpolation des couleurs, l'échantillonnage de texture, la sélection du niveau MIP, le filtrage, la comparaison de profondeur, le recadrage et les effets de brouillard doivent être effectuées à l'intérieur de la puce. De plus, ce ne sont pas des processus programmables au sens moderne du terme, mais sont solidifiés dans la puce sous forme de circuits fixes.
Dans le processus de reconstruction de Voodoo 1, Le Brun devait dévoiler la complexité cachée à l'intérieur : réorganiser le chemin de contrôle, la sémantique des registres et la conception de synchronisation de pipeline extrêmement « approfondie », afin que ce premier accélérateur 3D puisse également diviser les tâches de rendu complexes par pixels sur FPGA comme il le faisait à l'époque, et traiter le pipeline en plusieurs étapes, atteignant ainsi des capacités de débit de données qui dépassent de loin celles du rendu logiciel pur.
Avec l'aide d'outils modernes tels que SpinalHDL et la conception de niveau de transfert de registre (RTL), Le Brun a « codé » les concepts architecturaux de Voodoo dans l'implémentation FPGA sans perdre de détails. Il a nommé ce projet « SpinalVoodoo » et l'a rendu open source sur GitHub. Actuellement, seule une petite partie des fonctions de la puce Voodoo d’origine n’est pas terminée.

Bien que le projet ait généré du buzz parmi la communauté des passionnés de matériel rétro, Le Brun n'a pas encore manifesté d'intérêt pour le lancement et la vente de matériel FPGA prêt à l'emploi autour de SpinalVoodoo. Pour les fans de 3dfx et les joueurs rétro, cette implémentation open source offre toujours une nouvelle voie attrayante pour les futurs projets matériels, cartes de bricolage ou solutions de modding.
apprendre encore plus:
https://noquiche.fyi/voodoo