A working prototype of the FuryGpu project has been presented, developing a homemade GPU based on the Xilinx Zynq UltraScale+ FPGA, designed as a separate board that connects to a PC via the PCIe interface. Descriptions of hardware blocks are implemented in SystemVerilog, and the board design has been prepared in the open-source KiCAD PCB design software. In its current form, the FuryGpu GPU can already run the game Quake with a rendering performance of 60 FPS at a resolution of 1280 x 720.
The project has been under development since 2021 as a hobby by a programmer specializing in game development and hardware. The board schematics, Verilog descriptions, and drivers are not yet publicly available, but the project's author has stated intentions to open all related FuryGpu developments after resolving some legal issues with their employer (this approval is necessary to protect themselves from potential claims by the employer).

At the current stage of development, FuryGpu's capabilities are compared to a high-end graphics card from the mid-1990s. The GPU's functionality is defined by a set of fixed functions; support for programmable shaders is not yet available, and the main focus is on components for rendering, rasterization, and texture processing. A proprietary graphics API, FuryGL, is provided for performing graphics operations, which resembles the Vulkan API but is not compatible due to the lack of shader support.
Among the already available features are:
- Four independent tile rasterizers;
- GPU operating at a frequency of 400MHz, texture control unit operating at 480MHz;
- Frontend for performing floating-point operations (fp32);
- Mapping and texture processing block supporting linear and bilinear filtering with MIP-texturing support;
- PCIe Gen 2×4 interface. Presence of DisplayPort and HDMI ports for connecting a monitor.

Sursa: opennet.ro
