在PC硬件和復古游戲圈依然聲名顯赫的3dfx Voodoo圖形加速卡,如今以全新的FPGA實現(xiàn)形式“重返”舞臺。在多款DOS和PC模擬器已經(jīng)能較好重現(xiàn)Voodoo表現(xiàn)的基礎上,一位開發(fā)者選擇直接在可編程硬件上重構(gòu)這顆上世紀的經(jīng)典芯片。
![]()
3dfx這一品牌在2000年被英偉達收購并最終消失,但其Voodoo系列加速卡仍是眾多玩家和3D圖形愛好者心中的“神卡”,同時也是各類復古改裝項目和老游戲硬件方案中的核心組件。目前,Voodoo芯片已經(jīng)在DOSBox-X、PCem、86Box等多種模擬器中得到近乎完整的模擬,而硬件玩家也在不斷嘗試基于原始芯片或自制方案的改裝項目。
來自荷蘭公司VideowindoW的首席技術(shù)官Francisco Ayala Le Brun,選擇通過FPGA為Voodoo尋找一條全新“轉(zhuǎn)生”路徑。他使用SpinalHDL這種硬件描述語言,對Voodoo 1顯卡進行了完整描述,再將其轉(zhuǎn)換為可在現(xiàn)代現(xiàn)場可編程門陣列(FPGA)上運行的數(shù)字電路模型。
Le Brun在技術(shù)說明中強調(diào),Voodoo 1雖然在年代上已十分久遠,卻絕不是一個設計簡單的芯片。與現(xiàn)代GPU不同,它不具備變換與光照硬件或可編程著色器功能,所有圖形能力都以固定功能形式“寫死”在硅片里,包括用于Gouraud著色的漸變計算、紋理采樣、mipmapping、多級紋理過濾(雙線性和三線性)、alpha裁剪、裁剪計算等一整套流水線。
![]()
在基于3dfx的圖形渲染流程中,CPU負責完成描述3D場景所需的復雜數(shù)學運算,而Voodoo加速器則將帶紋理的三角形盡可能快速地繪制到屏幕上。Le Brun指出,這種“看上去很樸素”的職責劃分,很容易讓人誤以為硬件結(jié)構(gòu)也很簡單,實際上哪怕只渲染一個三角形,都要在芯片內(nèi)部完成顏色插值、紋理采樣、mip層級選擇、濾波、深度比較、裁剪以及霧效等一連串操作,而且這些都不是現(xiàn)代意義上的可編程流程,而是以固定電路形式固化在芯片中。
在重構(gòu)Voodoo 1的過程中,Le Brun需要解開其內(nèi)部隱藏的復雜性:重新梳理控制路徑、寄存器語義以及極為“深度”的流水線時序設計,使得這個早期3D加速器在FPGA上也能像當年那樣,把復雜渲染任務按像素切分,在多個階段流水處理,從而實現(xiàn)遠超純軟件渲染的數(shù)據(jù)吞吐能力。
借助SpinalHDL以及寄存器傳輸級(RTL)設計等現(xiàn)代工具,Le Brun在不丟失細節(jié)的前提下,把Voodoo的架構(gòu)理念“編碼”進了FPGA實現(xiàn)中。他將這一項目命名為“SpinalVoodoo”,并已在GitHub上開源,目前僅有原版Voodoo芯片的一小部分功能尚未補齊。
![]()
盡管這一項目在復古硬件愛好者群體中引發(fā)關注,Le Brun目前并未表現(xiàn)出圍繞SpinalVoodoo推出和銷售成品FPGA硬件的興趣。對3dfx粉絲和復古玩家來說,這一開源實現(xiàn)仍為未來的硬件項目、DIY卡或改裝方案,提供了一條極具吸引力的新路徑。
https://noquiche.fyi/voodoo
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.