# Voodoo2

The Voodoo2 (or Voodoo$^2$) is a set of three specialized 3D graphics chips on a single chipset setup, made by 3dfx. It was released in February 1998 as a replacement for the original Voodoo Graphics chipset.

## Architecture and performance

The card runs at a chipset clock rate of 90 MHz and uses 100 MHz EDO DRAM, and is available for the PCI interface. The Voodoo2 comes in two models, one with 8 MB RAM and one with 12 MB RAM. The 8 MB card has 2 MB of memory per texture mapping unit (TMU) vs. 4 MB on the 12 MB model. The 4 MB framebuffer on both cards support a maximum screen resolution of 800 × 600, while the increased texture memory on the 12 MB card allows more detailed textures. Some boards with 8 MB can be upgraded to 12 MB with an additional daughter board.
Each of the three chips present on the card has its own 64-bit RAM interface, giving the card a "total" bus width of 192 bits or 800 MB/s per chip. The Voodoo2 has an increased chip-count compared to the original two-chip Voodoo card. Competing products such as the ATI Rage Pro, NVIDIA RIVA 128, and Rendition Verite 2x00 are single-chip products, each with integrated 2D GUI/VGA accelerators. As with the original Voodoo, the Voodoo2 is a dedicated 3D accelerator, and has to be used in conjunction with a conventional 2D graphics card. It requires an external pass-through VGA cable hooked up from the 2D card into the Voodoo card’s passthrough VGA port.
The Voodoo2's third chip was a second TMU that allows a second texture to be drawn during the same graphics engine pass, and thus with no performance penalty. At time of introduction, Voodoo2 was the only 3D card capable of single-cycle dual-texturing. Usage of the Voodoo2's second TMU depends on application software; Quake II and Unreal exploited dual-texturing to great effect. In games that did not use more than one texture layer, Voodoo2 is only faster than Voodoo1 because of its higher clock speed.
The Voodoo2 introduced Scan-Line Interleave (SLI) capability to the PC market. In SLI mode, two Voodoo2 boards installed in a PC run in parallel, each unit drawing half the lines of the display. Voodoo2 SLI not only doubles rendering throughput, it also increases the total framebuffer memory, and thus the maximum supported screen resolution increased to an impressive (for its time) 1024 × 768. However, texture memory is not doubled because each card needed to duplicate the scene data. The original Voodoo Graphics also has SLI capability, but it is only used in the arcade and professional markets.
In early 1999, 3dfx released the Voodoo3, which effectively replaced the Voodoo2 as the company's flagship product. The base model Voodoo3 2000 offers in a single card slightly greater performance than a Voodoo2 SLI + 2D card in some situations. The 3000 and 3500 models offers performance exceeding Voodoo2 SLI in certain environments. At the same time 3dfx also released the budget-priced Voodoo Banshee, a combination 2D/3D card that combines a 2D accelerator with an overclocked but incomplete Voodoo2, missing one of the texture units.
The Voodoo2 enjoyed remarkably long usage in many computer systems, as a Voodoo2 SLI setup was competitive with newer cards like NVIDIA's RIVA TNT2, Matrox's Millennium G400, and even NVIDIA's GeForce 256. 3dfx's Glide API played an essential role in this longevity because some games were still tailored more towards Glide than Direct3D or OpenGL. Long after the chipset's obsolescence, some dedicated enthusiasts did get later games working with a Voodoo2, e.g. Doom 3.

## Specifications

* Voodoo2 (V2 1000) 90 MHz clock (memory and core).
* 135 MHz RAMDAC, dithered 16-bit (65536 color) display.
* Full-screen, 3D-only accelerator, works with another 2D or 2D/3D VGA card through a VGA pass-through cable. Picture softened slightly by analogue VGA pass-through cable.
* Support full-screen games under DOS, Windows 95/98, etc.
* Support for game development tools including Gemini OpenGVS, Multigen, GameGen, SGI OpenGL, Glide, Direct3D, MiniGL and Autodesk 3D Studio under DOS, Win32 and IRIX.
* Resolution up to 800 × 600 and higher resolution through SLI (Scan Line Interleave), up to 1024 × 768.
* Supports 8 or 12 Megabytes high speed EDO DRAM rated at 100 MHz but running at 90 MHz, 25 ns.
* RAM configured into 4 Megabytes for frame buffer(s) and Z-buffer and 4 or 8 Megabytes texture memory.
* 90 million fully featured pixels/sec sustained fill rate for bilinear textures, with LOD MIP-mapping, Z-buffering, alpha-blending and fogging enabled).
* 3 million fully featured triangles/sec (Filtered, LOD MIP-mapped, Z-buffered, alpha-blended, fogging enabled, textured triangles).
* 180 million pixel/sec with scanline interleaved configuration.
* Bi-linear and tri-linear texture filtering.
* Level of Detail (LOD) mipmapping
* Supports multiple textures per pixel.
* Bump mapping through texture composition.
* Edge anti-aliasing.
* Hardware triangle set-up (independent strips and fans).
* Perspective, sub-pixel and sub-texel correction.
* Gouraud shading and texture modulation.
* Z-buffering (16/32 bpp, integer and floating point).
* Alpha blending and fogging.
* Linear frame buffer access.
* Single-pass tri-linear filtering.
* Single-pass dual textures per pixel.

## Models

| Model | Launch | Code name | VGA$^1$ | Fab (nm) | Bus interface | Memory (MB) | Core clock (MHz) | Memory clock (MHz) | Core config$^2$ | Fillrate | Fillrate | Fillrate | Fillrate | Memory | Memory | Memory | Direct3D support |
| Model | Launch | Code name | VGA$^1$ | Fab (nm) | Bus interface | Memory (MB) | Core clock (MHz) | Memory clock (MHz) | Core config$^2$ | MOperations/s | MPixels/s | MTexels/s | MVertices/s | Bandwidth (GB/s) | Bus type | Bus width (bit) | Direct3D support |
| Voodoo2 | March 1, 1998 | SST2 | add-on | 350 | PCI | 8, 12 | 90 | 90 | 2:1 | 90 | 90 | 180 | 0 | 2.16 | EDO | 192 | 5.0 |
| Voodoo Banshee | June 22, 1998 | Banshee | ✓ | 350 | AGP, PCI | 8, 16 | 100 | 100 | 1:1 | 100 | 100 | 100 | 0 | 1.6 | SDR | 128 | 6.0 |
* $^1$ VGA: Whether the card included a built-in VGA subsystem and ran as a standalone graphics card
* $^2$ Texture mapping units:render output units