A four-year tortuous journey that turned the company around
By Jon Peddie
It wasn’t an April fool’s joke in 1997 when Nvidia released the RIVA 128, based on the NV3 media accelerator. However, it was almost the company’s last gasp.
The story begins in 1993 when Nvidia (which has gone through three interactions on its name, first being nVidia, then NVidia, then Nvidia, and now as it prefers using all capital letter for its name). Founded in Sunnyvale and backed by a combination of venture capital and corporate technology funding, the company had a novel idea for a graphics accelerator based on quadratic surfaces — a departure from the somewhat established polygonal approach used by other firms.
The NV1. The company came out of stealth mode in July 1995 and announced its first chip, the NV1, which it described as a Media Accelerator. The single-chip media accelerator, the company said at the time, would enable PC platforms to deliver high-performance 2D and 3D graphics, video, and advanced audio capability to accelerate the rapidly growing installed base of multimedia applications. NV1 also included features like wavetable audio and digital joystick support
The company had ambitious goals then, and founder president Jensen Huang said at the time, “We intend to fulfill the potential of multimedia by driving it to the limits of human perception and NVidia will achieve its goal by leveraging its wealth of leading-edge workstation, PC, and ASIC design experience.”
The features of the NV1 where impressive:
- hardware accelerated polygon rendering
- texture mapping
- perspective correct quadratic texture mapping and rendering of curved surfaces
- bilinear texture mapping
- surface effects such as diffused and specular highlighting, opaque and translucent surfaces
- alpha blending for fog, smoke, and transparency
- Gouraud shading
- double buffering
- BLT, transparent BLT, stretch BLT
- points, lines, polylines, polygons, fills, patterns, text
- arbitrary rectangle clipping
SEGA had used quadratic texture maps in its arcade and Saturn game console. In late 1994 SEGA wanted to bring some of their games to the PC and selected the NV1 chip. That was a major break through for Nvidia at the time. SEGA had also implied it would use Nvidia in their next generation console.
As a result, in May 1995 Nvidia partnered with SGS-Thompson to build the chip. Nvidia would sell the NV1 VRAM versions, and SGS would offer the STG2000 as a DRAM version. Add-in boards would sell at $250 for 2 Mbyte DRAM models and around $299 for 2 Mbyte VRAM models (about $503 in 2019 US dollars).
Figure 1: Nvidia STG2000 architecture-circa 1995 (source SGS-Thompson)
In September 1995, a leading ADD-IN BOARD (AIB) vendor at the time, Diamond Multimedia (San Jose, CA), announced it would introduce a family of VRAM and DRAM boards called the Diamond Edge 3D in October for Windows 95 and the PCI bus with a VL-bus version planned for Q1‘96.
The Diamond Edge 3D had hoped to exploit Sega’s agreement with Nvidia to bring Saturn titles to the PC and equipped the Edge 3D with a second bracket containing I/O ports to support two Sega game controllers like the Saturn Control Pad, Mission Stick (joystick), Arcade Racer (steering wheel), or other specialized third-party controllers.
Figure 2: Diamond Multimedia’s NV1-based Edge 3D gaming AIB-circa 1995 (source Wikipedia)
But things didn’t quite work out the way Nvidia, Diamond, and SGS planned. For one thing the marketplace was full of several competing proprietary standards, and supporting them, or tolerating them was a major challenge and annoyance to Microsoft who was getting all the compliant calls when things didn’t work or failed.
As a result, Microsoft introduced the DirectX API and announced it would no longer support any other graphcis APIs. In late 1994, Microsoft was ready to release Windows 95. The company released the first version of DirectX in September 1995 as the Windows Games SDK.
Market interest in the NV1 quickly ended when Microsoft announced the DirectX specifications, based upon triangle polygon rendering. While demos of quadratic rendered round spheres looked good, developing programs with quadratic texture maps was extremely difficult.
Adding another blow to Nvidia’s prospects, SEGA pulled out of the unofficial agreement with Nvidia for the next console and chose instead Imagination Technologies’ Power VR technology. After SEGA didn’t go ahead with NV1: There was a question on whether SEGA made a next console gen or just became a software company at that point.
However, Nvidia was, and still is, resilient if nothing else, and seeing the early difficulties using quadratic surfaces, the company began investigating polygonal graphics processing.
In just 18 months after Microsoft released DirectX, with basically no customers and greatly reduced staff, Nvidia brought out the polygonal-based DirectX compatible NV3 — RIVA 128.
RIVA 128. Short for Real-time Interactive Video and Animation, the RIVA 128 was one of the first AGP AIBs and introduced many consumers to the Nvidia name. It supported higher resolutions than its Voodoo 1 competition, but had poor initial driver support, which meant it couldn’t perform to the same standard — that would change.
Figure 3: Nvidia’s NV3 RIVA 128 Media accelerator-circa 1997 (source SGS-Thompson)
Packed with 3.5 million transistors and manufactured by SGS-Thompson at 350 nm, the chip was in a 90 mm2 package and supported AGP 1x and PCI. Based on a 100MHz clock it offered a 100 MHz texture and pixel fill rate and came equipped with 4 MB SDR RAM on a 128-bit memory bus, also running at 100 MHz.
The chip offered advanced features in a small package:
- Massive array of floating-point Geometry Processing Units
- Fast 32-bit VGA/SVGA
- 128-bit 2D/GUI/DirectDraw Acceleration
- Video Acceleration (including acceleration for MPEG 1, MPEG 2 and Indeo)
- Multiple color space conversion engines
- X and Y up and down video scaling
- CCIR-656 video port
- 206 MHz Palette-DAC
- NTSC and PAL output with flicker filter and over-scan/underscan support
- Bus Mastering DMA 66MHz AGP 1.0 Interface
- Bus Mastering DMA PCI 2.1 Interface
- 128-bit 100 MHz SGRAM frame buffer inter-face with bus bandwidth of 1.6Gigabytes per second
Diamond Multimedia stuck with Nvidia and when the NV3 was ready they introduced an AIB based on it. STB was the AIB launch partner for RIVA 128. Diamond came out with their AIB afterwards after the PC Bench scores were published.
Figure 4: Diamond Multimedia’s RIVA 128, NV3-based Viper V330 4MB gaming AIB-circa 1995 (source Wikipedia)
There are many challenges to overcome in delivering high quality 3D acceleration on a PC at an affordable cost. One of the goals is to offload the CPU so it can concentrate on gameplay, transforms and lighting. The graphics processor must provide highly detailed content with hundreds of thousands of triangles, which at 100 bytes per triangle could rapidly saturate the system bus of the time.
High frame rates with detailed content are extremely compute intensive, and yet demanded by the user. Therefore, a 3D accelerator must be able to support billions of floating point and integer computations per second. And that requires detailed content with rich textures (10+ MBytes). That required storing textures in system memory and overcoming latency and bandwidth issues.
High frame rates also require sustaining peak performance in the frame buffer interface. Meanwhile, Z-buffering and alpha blending needed read modify write operations that could quickly saturate the available bandwidth — lots of challenges.
Figure 1: Nvidia’s RIVA 128 3D graphics engine: source SGS-Thompson
The RIVA 128 met those challenges and offered display list processing which avoided CPU stalls by allowing the graphics pipeline to execute independently of the CPU. It had a 5 GFLOP setup and rendering engine, which freed the CPU from any setup mathematics.
The NV3 was one of the first chips to offer vertex caching which avoided saturating the host interface with repeated vertices, and that lowered bus occupancy and reduced system memory collisions.
And it had a 15 GOP integer pixel processing engine, one of the highest of the time. It offered texture caching which allowed texture storage in system memory on both PCI and AGP.
The RIVA 128 was the last AIB the company would build without a fan. Chips got bigger and started drawing more power and needed external cooling.
The RIVA 128 put Nvidia back on the map, generated revenue for them that the company ploughed back into R&D and helped establish the company as a leader in computer graphics. The 128 was the turning point and catalyst to the company’s 25-year success.