Per The NVIDIA Way [1], the GeForce 256 was branded as "the first GPU" for marketing reasons alone; the actual first GPU was the subsequent GeForce 3 (which introduced programmable shaders):
[Sanford] Russell grabbed Michael Hara for a thirty-minute brainstorm session to figure out how to market the GeForce 256 more effectively, and both executives remember coming out of the room with the notion to call the new chip the first entry in an entirely new product category altogether: a graphics processing unit, or GPU, which would be to graphics rendering what the computer's main central processing unit (CPU) was for all other computational tasks.
Even so, the GPU moniker, when applied first to the GeForce 256, was controversial among Nvidia engineers, who pointed out that a chip could not truly be called a GPU unless it had several features that the GeForce 256 did not. The chip lacked a "state machine," a technical term meaning a dedicated processor that transitions from various states to execute and fetch instructions, in the same manner that a CPU does for programming commands. It was not programmable, meaning that graphics styles and features could not easily be customized by third-party developers. Instead, developers would have to rely on a fixed set of Nvidia-defined hardware functions. Moreover, the GeForce 256 did not have its own programming language.
But the marketing team argued that such features were already planned for the next generation of graphics chips. And even without them, the GeForce 256 delivered a step change in performance that would be obvious to every gamer and computer enthusiast in the world. While not literally a GPU, the GeForce 256 could still be a category-defining product. The chips that would follow-the "true" GPUs that would be fully programmable by outside developers-were coming soon enough.
So Nvidia's marketing team pushed forward with the GPU name over the dissent of Nvidia's engineers. "We don't need anyone's approval," Vivoli told them. He didn't think anyone outside of the industry would really care about the technical definition. Besides, "we knew the next one was going to be programmable. We decided to take a leap, make a stretch that this is a GPU."
In February 2001, Nvidia released the GeForce 3, whose programmable shader technology and support for third-party development of its core graphics functions made it the first true GPU.
AIRC the 256 was the first consumer card with hardware transform and lighting, so it's not wholly dishonest to refer to it as something more substantial than just a triangle rasterizer. Also DirectX didn't support shaders until a year or two later.
Yeah, never thought I'd say this but I think I agree with the marketing guys here. I guess there's a first time for everything.
"Graphics Processing Unit" was purely a marketing term at the time. I mean, there's no lies there. It was a unit, and it processed graphics. It doesn't claim any specific sort of processing capability. If Nintendo had invented that term in 1985 I wouldn't have seen anything wrong with them calling the NES' video chip a "GPU."
Of course today "GPU" has a pretty specific meaning. It basically inherited the meaning from the clunky outdated term "GPGPU."
No one objected to calling an 80387 or a Weitek chip an "FPU", even though those chips just had simple stack and register interfaces. So I don't think a good case can be made for refusing to label anything from the original Voodoo card forward as a "GPU."
Right! The 256 introduced hardware T&L, which was a great advance in capability (but harder to explain than "it's the first GPU"). From the same chapter [1]:
It was incontrovertibly true that the GeForce 256 represented a significant advancement in traditional graphics capabilities, which by this point was typical and expected of every new chip generation Nvidia produced. It featured four graphics pipelines, allowing it to process four pixels at the same time. It also integrated a hardware transform and lighting (T&L) engine, which meant it could take on the calculation tasks essential to the moving, rotation, and scaling of 3-D objects.
Those tasks were usually handled by the CPU; the GeForce 256 thus took even more computational burden off of the CPU and made the entire computer run faster.
"By putting dedicated hardware to do that, you could suddenly process a lot more geometry and make much more interesting pictures," said former chief scientist David Kirk.
The management team at Nvidia thought that this was far too technical to pitch to customers. The typical in-house naming formula of acronym and number wouldn't work. Nvidia needed something bigger to market its new product.
"We had to find a way to position this product as a much better graphics processor for 3-D graphics than anything out there," said Dan Vivoli. "The chip is big. It has texture and lighting. We've got to charge a lot for it. We need to come up with a way to make sure how great this thing is." He challenged his product-marketing team to come up with something brilliant.
The ATI Radeon 7000 series, which came out a few months after the GeForce 256, did have programmable vertex processing, even if that feature was internal to the device driver and not exposed to the application. I know because I worked on that stuff a few years later when it trickled into smartphones.
I can't find confirmation that the GeForce 256's implementation of HW T&L also relied on microcode running in the vertex processor, but it sure sounds like the most obvious way to implement that feature.
Just because a feature isn't visible through the API that is exposed to the general public, it doesn't mean it doesn't exist internally. I know of multiple examples of this.
Edit: In the drivers I had access to for the Radeon 7000 series, which I presume were very close to the original desktop drivers, the HW T&L microcode was generated on the fly, directly in machine code. There was no compiler; just a few C macros to put a handful of instructions together. It was mainly vec4 dot products. I thankfully had little exposure to that Eldritch horror. I remember a very talented coworker from Bitboys, a Finnish startup acquired by ATI, explaining gleefully how he was optimizing the code generator to save an instruction here and there. Sheer insanity sprinkled with salmiakki, as far as I was concerned.
Yep, came here to say the same thing. I still remember Carmack presenting Doom3 with the GF3 at the Macworld Expo (Feb 2001) and recall him referring to it as the first true GPU.
Funny, though, that when Doom3 was actually released in 2004 a GF3 wouldn't come anywhere close to playing it at an acceptable framerate (a GeForce 6800 was what you wanted for it in those days).
> I still remember Carmack presenting Doom3 with the GF3 at the Macworld Expo (Feb 2001)
Initial trailers of games when they were announced, and the year they launched had like 3 years between them when much HW development progress happened.
Max Payne also was first shown at E3 in 1997 but launched in 2001.
I played Panzer Dragoon on an NV1-based Diamond Multimedia card at CES in January 1996. nVIDIA gave me an nV1 t-shirt at the time, which I wore periodically for the next 10 years.
Came here to comment, my first exposure to NVIDIA was the Riva 128, then I got a Riva TNT 16mb a little later which despite being only 1 generation difference was much faster.
I forget when and what my first GeForce card was. Somehow those earlier ones were imprinted in my memory. Perhaps because each generation had a unique name, whereas "GeForce" has been common for decades now.
I also remember sometime during the dotcom boom, hearing a CNBC anchor struggling to pronounce and explain what Nvidia was. From the narrow lens of that memory, we are sort of still in that exact same place.
I forget which early GPU-labelled card I got but when I got it, I aligned myself with nvidia (as a graphics provider) because it was clear that the pipelines could be re-used for other purposes (in my case, I wanted to run molecular dynamics simulations). The card replaced the previous one (ATI FireGL which had excellent OpenGL support for Linux early on) and I've stuck exclusively with nVidia since. They are the only company I've seen that saw the early vision and carried it through with focus through today. Nowadays I run a large fleet of nvidia GPUs for frontier research at work and also have the last few generations of cards in workstations at home.
>ATI FireGL which had excellent OpenGL support for Linux early on
Nvidia also had excellent Linux support early on. Quadro Cards were used on Dell workstation PCs to render the VFX for Matrix 1999. When people say Nvidia sucks, they mean Nvidia's support for DEs and gaming on Linux sucks, but they never cared about that, they care about enterprise users buying Quadros for running VFX, CAD/CAE workloads on Linux/BSD.
I don't recall why I picked the FireGL versus the Quadro, I think the drivers looked better in 2001. I do recall we paid $2K for it which seemed like a lot at the time, but my personal annual budget for gfx cards is still $2K.
Even before that, I had this insane software OpenGL called MetroX which was a full replacement for XFree86 that had native OpenGL support, allowing me to port a molecular graphics package (MidasPlus) to Linux (at the time, the authors used expensive SGIs and Alpha workstations). Later, Mesa replaced MetroX and was fast enough to do routine modelling for smaller systems, and eventually, with nvida T&L we could finally do decent large scale modelling (although the program used lines, which typically were not well-accelerated on the lower end cards that I could afford). At that point, the group I worked with looked at my machine (a linux box with a consumer grade GPU) and looked at their SGIs (including the abysmal SGI Visual Workstation running NT) and Alphas and saw the writing on the wall and eventually switched to Linux as their primary platform.
It really was a perfect example of "first they laugh at you, then they fight you, then you win" for me.
Might be the first GPU, but they made video cards well before the GeForce era... Riva 128 was their first card with 3D acceleration if I remember correctly?
First we had video or graphics accelerators, for video, or rendering. Then 2D/3D mentions with different performance or quality became a topic.
Then we got GPUs to say "This thing is closer to a CPU by now".
Then those were recoined into GPGPU, as in general purpose GPU, when CUDA became an important feature and again to say "This thing is closer to a CPU by now".
To the best of my recollection, the GeForce 256 was the first one that was marketed as a âGPUâ and began to popularize that term in the industry.
Specifically because it did transformation and lighting calcs in (non-programmable until GeForce 3) hardware, instead of in software on the main CPU.
Yes, NVIDIA made 3D accelerators before the GeForce line. I have many of them in my collection. But (IIRC) it did not market them as âGPUsâ. That term wasnât really used yet.
Got it. Well, to be honest the marketing distinction isn't terribly interesting. But it would still be cool to see how the early GPUs (even if not called that) evolved.
Doing all those calculations in hardware (the distinction the marketing was based on) seemed like a pretty big deal at the time, at least within the context of consumer PC graphics cards. (It had long existed in the high-end workstation space, SGI etc. but the workstation and consumer PC ecosystems were more separated than they are these days.)
There were many periods in the 80s and 90s where console graphics hardware was kinda ahead of (even high-end/enthusiast) PC graphics hardware in certain ways that mattered for games of the time. Hasn't really been the case for a couple decades now, I guess.
I was gonna say hey that isn't true, the PS3 had hardware that was ahead of PC graphics hardware, and then I realized that was a couple decades ago. Oof.
Funnily enough, I already âfoundâ that term in my brain and then decided to write ânon-programmableâ instead, in the hopes of being a bit clearer to readers who donât know this space and its specialized terms already.
The big feature of the GeForce 256 was hardware offloading of transform and lighting calculations. While it was fixed function it was programmable. This offloaded a pretty significant amount of work from the CPU and lightened the IO load single the math was done on geometry living in the VRAM.
The NV1 and other cards before the GF256 did accelerated drawing and geometry raster but lighting and transformations were done on the CPU in main memory then transferred to VRAM and rasterized.
Even if the GF256 had say the same texel output performance as a TNT2, the T&L running on the GPU would allow for more complex scenes at higher frame rates than a TNT2 doing T&L on the CPU. The GF256 also had better raster performance so for many games it was just a "free" performance upgrade over a TNT2.
Meh my Verite 1000 chip in my Creative 3d blaster was an actual mips processor. You could probably turn it into the worlds slowest ray tracer if you wanted to.
Per The NVIDIA Way [1], the GeForce 256 was branded as "the first GPU" for marketing reasons alone; the actual first GPU was the subsequent GeForce 3 (which introduced programmable shaders):
[1] https://www.taekim.comAIRC the 256 was the first consumer card with hardware transform and lighting, so it's not wholly dishonest to refer to it as something more substantial than just a triangle rasterizer. Also DirectX didn't support shaders until a year or two later.
Yeah, never thought I'd say this but I think I agree with the marketing guys here. I guess there's a first time for everything.
"Graphics Processing Unit" was purely a marketing term at the time. I mean, there's no lies there. It was a unit, and it processed graphics. It doesn't claim any specific sort of processing capability. If Nintendo had invented that term in 1985 I wouldn't have seen anything wrong with them calling the NES' video chip a "GPU."
Of course today "GPU" has a pretty specific meaning. It basically inherited the meaning from the clunky outdated term "GPGPU."
https://en.wikipedia.org/wiki/General-purpose_computing_on_g...
No one objected to calling an 80387 or a Weitek chip an "FPU", even though those chips just had simple stack and register interfaces. So I don't think a good case can be made for refusing to label anything from the original Voodoo card forward as a "GPU."
"The first video card called a GPU by a marketing department"
Right! The 256 introduced hardware T&L, which was a great advance in capability (but harder to explain than "it's the first GPU"). From the same chapter [1]:
[1] The NVIDIA Way / https://www.taekim.com againTo be pedantic there were already graphics processors with their own software based programming, like TMS34010, programmable in Assembly and C.
https://en.wikipedia.org/wiki/TMS34010
The ATI Radeon 7000 series, which came out a few months after the GeForce 256, did have programmable vertex processing, even if that feature was internal to the device driver and not exposed to the application. I know because I worked on that stuff a few years later when it trickled into smartphones.
I can't find confirmation that the GeForce 256's implementation of HW T&L also relied on microcode running in the vertex processor, but it sure sounds like the most obvious way to implement that feature.
Just because a feature isn't visible through the API that is exposed to the general public, it doesn't mean it doesn't exist internally. I know of multiple examples of this.
Edit: In the drivers I had access to for the Radeon 7000 series, which I presume were very close to the original desktop drivers, the HW T&L microcode was generated on the fly, directly in machine code. There was no compiler; just a few C macros to put a handful of instructions together. It was mainly vec4 dot products. I thankfully had little exposure to that Eldritch horror. I remember a very talented coworker from Bitboys, a Finnish startup acquired by ATI, explaining gleefully how he was optimizing the code generator to save an instruction here and there. Sheer insanity sprinkled with salmiakki, as far as I was concerned.
Yep, came here to say the same thing. I still remember Carmack presenting Doom3 with the GF3 at the Macworld Expo (Feb 2001) and recall him referring to it as the first true GPU.
Funny, though, that when Doom3 was actually released in 2004 a GF3 wouldn't come anywhere close to playing it at an acceptable framerate (a GeForce 6800 was what you wanted for it in those days).
> I still remember Carmack presenting Doom3 with the GF3 at the Macworld Expo (Feb 2001)
Initial trailers of games when they were announced, and the year they launched had like 3 years between them when much HW development progress happened.
Max Payne also was first shown at E3 in 1997 but launched in 2001.
The Riva 128 says, "What am I, chopped liver?"
NV1 is the chopped liver, Riva 128 was commercially successful so it's foie gras.
https://en.wikipedia.org/wiki/NV1
I played Panzer Dragoon on an NV1-based Diamond Multimedia card at CES in January 1996. nVIDIA gave me an nV1 t-shirt at the time, which I wore periodically for the next 10 years.
Came here to comment, my first exposure to NVIDIA was the Riva 128, then I got a Riva TNT 16mb a little later which despite being only 1 generation difference was much faster.
I forget when and what my first GeForce card was. Somehow those earlier ones were imprinted in my memory. Perhaps because each generation had a unique name, whereas "GeForce" has been common for decades now.
I also remember sometime during the dotcom boom, hearing a CNBC anchor struggling to pronounce and explain what Nvidia was. From the narrow lens of that memory, we are sort of still in that exact same place.
I forget which early GPU-labelled card I got but when I got it, I aligned myself with nvidia (as a graphics provider) because it was clear that the pipelines could be re-used for other purposes (in my case, I wanted to run molecular dynamics simulations). The card replaced the previous one (ATI FireGL which had excellent OpenGL support for Linux early on) and I've stuck exclusively with nVidia since. They are the only company I've seen that saw the early vision and carried it through with focus through today. Nowadays I run a large fleet of nvidia GPUs for frontier research at work and also have the last few generations of cards in workstations at home.
>ATI FireGL which had excellent OpenGL support for Linux early on
Nvidia also had excellent Linux support early on. Quadro Cards were used on Dell workstation PCs to render the VFX for Matrix 1999. When people say Nvidia sucks, they mean Nvidia's support for DEs and gaming on Linux sucks, but they never cared about that, they care about enterprise users buying Quadros for running VFX, CAD/CAE workloads on Linux/BSD.
ATI's FireGL came a while after Quadro.
I don't recall why I picked the FireGL versus the Quadro, I think the drivers looked better in 2001. I do recall we paid $2K for it which seemed like a lot at the time, but my personal annual budget for gfx cards is still $2K.
Even before that, I had this insane software OpenGL called MetroX which was a full replacement for XFree86 that had native OpenGL support, allowing me to port a molecular graphics package (MidasPlus) to Linux (at the time, the authors used expensive SGIs and Alpha workstations). Later, Mesa replaced MetroX and was fast enough to do routine modelling for smaller systems, and eventually, with nvida T&L we could finally do decent large scale modelling (although the program used lines, which typically were not well-accelerated on the lower end cards that I could afford). At that point, the group I worked with looked at my machine (a linux box with a consumer grade GPU) and looked at their SGIs (including the abysmal SGI Visual Workstation running NT) and Alphas and saw the writing on the wall and eventually switched to Linux as their primary platform.
It really was a perfect example of "first they laugh at you, then they fight you, then you win" for me.
Binary blobs != excellent
Also, 25 years ago XFree86 would frequently crash when using their blobs, taking down the kernel with it.
What does it mean that the HN audience is far more sentimental about this hardware than NVidia's own remaining co-founder and CEO?
BTW, did you hear yet NV is stopping production for the 5090 RTX line? - the replacement chip will be 50% the size and transistors.
Relevant discussion here:
Nvidia Reportedly Ending the RTX 5090, Reserves GB202 for Workstation GPUs
https://news.ycombinator.com/item?id=50081435
Might be the first GPU, but they made video cards well before the GeForce era... Riva 128 was their first card with 3D acceleration if I remember correctly?
First we had video or graphics accelerators, for video, or rendering. Then 2D/3D mentions with different performance or quality became a topic.
Then we got GPUs to say "This thing is closer to a CPU by now".
Then those were recoined into GPGPU, as in general purpose GPU, when CUDA became an important feature and again to say "This thing is closer to a CPU by now".
What about the NV1? It was marketed as a "3D accelerator" but was a GPU nonetheless.
To the best of my recollection, the GeForce 256 was the first one that was marketed as a âGPUâ and began to popularize that term in the industry.
Specifically because it did transformation and lighting calcs in (non-programmable until GeForce 3) hardware, instead of in software on the main CPU.
Yes, NVIDIA made 3D accelerators before the GeForce line. I have many of them in my collection. But (IIRC) it did not market them as âGPUsâ. That term wasnât really used yet.
"The GeForce 256, which nVidia calls the world's first graphics processing unit, will be the successor to its TNT 2 line of graphics chips." https://web.archive.org/web/20241023155821/https://money.cnn...
Got it. Well, to be honest the marketing distinction isn't terribly interesting. But it would still be cool to see how the early GPUs (even if not called that) evolved.
Doing all those calculations in hardware (the distinction the marketing was based on) seemed like a pretty big deal at the time, at least within the context of consumer PC graphics cards. (It had long existed in the high-end workstation space, SGI etc. but the workstation and consumer PC ecosystems were more separated than they are these days.)
Which is kind of funny because the 1996 N64 RSP was a programmable GPU with Hardware T&L.
Yep, developed by/in partnership with SGI!
There were many periods in the 80s and 90s where console graphics hardware was kinda ahead of (even high-end/enthusiast) PC graphics hardware in certain ways that mattered for games of the time. Hasn't really been the case for a couple decades now, I guess.
I was gonna say hey that isn't true, the PS3 had hardware that was ahead of PC graphics hardware, and then I realized that was a couple decades ago. Oof.
How? Once they realized Cell isn't going to cut it PS3 just included Nvidia graphics chip.
xbox 360 would have been better example, xenos with its unified shaders was in some ways more advanced than its contemporary desktop gpus at launch.
> (non-programmable until GeForce 3) hardware
I think the term you're looking for is fixed-function hardware.
Funnily enough, I already âfoundâ that term in my brain and then decided to write ânon-programmableâ instead, in the hopes of being a bit clearer to readers who donât know this space and its specialized terms already.
But thank you for condescending anyway.
Or the Riva 128 https://en.wikipedia.org/wiki/RIVA_128
The big feature of the GeForce 256 was hardware offloading of transform and lighting calculations. While it was fixed function it was programmable. This offloaded a pretty significant amount of work from the CPU and lightened the IO load single the math was done on geometry living in the VRAM.
The NV1 and other cards before the GF256 did accelerated drawing and geometry raster but lighting and transformations were done on the CPU in main memory then transferred to VRAM and rasterized.
Even if the GF256 had say the same texel output performance as a TNT2, the T&L running on the GPU would allow for more complex scenes at higher frame rates than a TNT2 doing T&L on the CPU. The GF256 also had better raster performance so for many games it was just a "free" performance upgrade over a TNT2.
Fun fact: "GeForce" is short for "Geometry Force".
Fascinating hardware history! Thanks for sharing!
I remember buying the Diamond Viper V330 with the nVidia RIVA but unable to use its power because of a lack of [nVidia] Linux support [1].
[1] https://www.nvidia.com/en-us/drivers/linux-readme-install/
Meh my Verite 1000 chip in my Creative 3d blaster was an actual mips processor. You could probably turn it into the worlds slowest ray tracer if you wanted to.