# S3 ViRGE

The S3 ViRGE (Video and Rendering Graphics Engine) graphics chipset was one of the first 2D/3D accelerators designed for the mass market.
Introduced in 1996 by then graphics powerhouse S3, Inc., the ViRGE was S3's first foray into 3D-graphics. The S3/Virge was the successor to the successful Trio64V+. ViRGE/325 was pin compatible with the Trio64 chip, retaining the DRAM-framebuffer interface (up to 4MB), and clocking both the core and memory up to 80 MHz. In Windows, Virge was benchmarked as the fastest DRAM-based accelerator of the era. The VRAM-based version, ViRGE/VX, was actually slower in lower resolutions, but had a faster RAMDAC to support high-resolution modes not available on the 325.

## Support

Part of S3's marketing plan for the ViRGE included the "S3D" standard, stating that members of the ViRGE family carried the S3D Graphics Engine. Games that supported ViRGE directly put this logo on their box so owners of the 3D card would know that it would run as well as possible on their computer. And, despite its lackluster 3D-speed, the ViRGE did receive some S3D enhanced games, due in large part to the brand prestige S3 carried in this period. Some examples of the ViRGE-enhanced versions were: Terminal Velocity, Descent II, Monster Truck Madness, Tomb Raider, MechWarrior 2, FX Fighter Turbo, Terracide, POD, Incoming, and Jedi Knight.

## Performance

With the successful launch of the Sony PlayStation home game-console, pressure was on the PC market to incorporate hardware that could compete in the area of realtime 3D graphics rendering, something that software-based host-CPU rendering could not do well on its own. That is, main-CPU software-based rendering could render realtime 3D graphics—as demonstrated by games like Descent, which used only the main CPU and standard VGA hardware to render full-screen 3D video with 6-degrees-of-freedom motion in real time—but the resolution, polygon count, and quality of shading, smoothing, etc. were not competitive with dedicated 3D rendering hardware. While the market demand was clearly present, realtime 3D graphics rendering was new and unfamiliar territory for S3 and many of its hardware competitors. With a sizable chunk of ViRGE's hardware real-estate already devoted to other key functions (such as the VGA-controller, 2D/BITBLT engine, RAMDAC, PCI and memory interface), and the need to serve traditional 2D applications, the resulting 3D functionality was both limited and slow.
When performing basic 3D-rendering with only texture mapping and no other advanced features, ViRGE's pixel throughput was somewhat faster than the best software-optimized (host-based CPU) 3D-rendering of the era, and with better (16bpp) color fidelity. But when additional rendering operations were added to the polygon load (such as perspective-correction, Z-depth fogging, and bilinear filtering), rendering throughput dropped to the speed of software-based rendering on an entry-level CPU. 3D-rendering on the high-end VRAM based ViRGE/VX (988) was even slower than the less expensive ViRGE/325, due to the VX's slower core and memory clock rates. The upgraded ViRGE/DX and ViRGE/GX models did improve 3D rendering performance, but by the time of their introduction they were still unable to distinguish the ViRGE family in an already crowded 3D market.
Outside of 3D rendering, ViRGE was a solid performer in familiar tasks as DOS VGA and Microsoft Windows. Here, S3's substantial experience in high-performance Windows acceleration showed, with ViRGE benchmarking near the top among competing DRAM-based VGA cards. In OEM PC markets, ViRGE sold well as a direct replacement to S3's highly successful Trio/64 family. The ViRGE family delivered faster Windows acceleration in the same physical footprint as its predecessor.
The introduction of competing hardware, 3dfx's Voodoo Graphics and Rendition's Verité, and game titles such as Id Software's popular Quake engine, resulted in an industry-wide shakeout. S3, along with other previously well-established VGA vendors in the PC market, were unable to adapt to the rapidly evolving PC 3D graphics market, being relegated to sell into market segments where 3D graphics functionality was unimportant. Although the ViRGE sold well in the OEM market, poor Direct3D performance and lack of OpenGL support prevented the ViRGE from competing in the more lucrative 3D graphics segment.

## Variants

Between its birth in 1995 and retirement near the year 2000, the ViRGE family received regular upgrades. The ViRGE/DX boosted the performance of the original ViRGE/325 by improving perspective correction and implementing a full-speed trilinear filter. The ViRGE/GX added support for more modern SD/SGRAM. The ViRGE/GX2 was one of the first VGA chipsets to support AGP, although the level of support extended little beyond electrical compliance. Substantial use of AGP's feature-set would have to wait until the Savage 3D.
The ViRGE was ultimately replaced by the Savage 3D in S3's top-end graphics segment in 1998, which lacks support for the S3D API. However, at least one derivative (Trio3D) of the ViRGE remained in production even after the discontinuation of the Savage 3D.

## Specifications

* 64-bit 2D/3D graphics S3d Engine with integrated 135 MHz (325 and MX), 170 MHz (DX/GX/GX2) or 220 MHz (VX) RAMDAC and clock synthesizer
* S3 Streams Processor for accelerated video
** On-the-fly stretching and blending of primary RGB stream and RGB or YUV (video) secondary stream
** Each stream can have a different color depth
** Hardware-assisted video playback with horizontal interpolation
** Support for Indeo, Cinepak, and software and hardware-accelerated MPEG-1 video
* S3 Scenic Highway for direct interface to live video and MPEG-1 peripherals
* 2D GUI acceleration. (BitBLT, line draw, polygon fill)
* 3D texture mapping
** Perspective correction, flat and Gouraud shading. ViRGE/DX and later feature 'parallel processing' perspective correction for better performance
** Bilinear and trilinear texture filtering, MIP Mapping, alpha blending, and video texture mapping. Trilinear filtering is full-speed on ViRGE/DX and later, termed 'SmartFilter' technology.
** Depth cueing and fogging, Z-buffering
* 1600×1200 with 16 colors (VX), 1280×1024 with 256 colors at 75 Hz refresh, 1024×768 with 64K colors at 75 Hz refresh, 800×600 16.7M colors at 75 Hz refresh (these are the non-interlaced modes; higher color depths are supported with interlaced video)
* 64-bit DRAM or VRAM (VX) memory interface, 2, 4, and 8 (VX) MiB video memory, Single-cycle EDO operation
* Glueless PCI 2.1 bus interface and VESA VL-Bus (325) interface
* PCI bus mastering for display list processing and video capture support
* Drivers for major operating systems and APIs: Windows 95, Windows 3.1x, Windows NT, IBM OS/2 2.1 and 3.0 (Warp), ADI 4.2, Direct3D, BRender, RenderWare and OpenGL
* Full hardware and BIOS support for VESA Display Power Management Signaling (DPMS) monitor power savings modes
* DDC monitor communications
* 325 uses 208-pin PQFP package. VX uses 288-pin BGA package
* ViRGE 325 pin compatible with S3 Trio64V+