ollin
4 days ago
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.
[1] https://www.taekim.comdavid-gpu
4 days ago
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.
jacquesm
4 days ago
Loooong before that in the German magazine Elektor (Elektuur in the netherlands) there was a series of articles describing a (2D) Graphics Display Processor aka a blitter.
https://www.elektormagazine.com/magazine/elektor-198510/4685...
I got the kit, built it and wrote a driver for my BBC micro for it and the speed was - for those days - phenomenal. The 6502 to do some matrix math and suddenly I had rotating cubes on a screen, it felt like heaven. Later I got into more fancy hardware and had SGI stuff to play with (far more powerful) but I did not take it with me to Canada.
And in the very early days of https://en.wikipedia.org/wiki/BrookGPU I used an NVIDIA card to help me work through a massive number of voxels to render the result of a mill bit running through a wood blank in real time. I loved that little card and I still have it somewhere. Without that little bit of code I would have wasted a lot more wood making my windmill.
jasonwatkinspdx
4 days ago
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.
booty
4 days ago
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...
CamperBob2
4 days ago
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."
ninkendo
4 days ago
> If Nintendo had invented that term in 1985 I wouldn't have seen anything wrong with them calling the NES' video chip a "GPU."
I mean, they basically did, just one letter off. The NES had a “PPU”, or pixel processing unit. Basically the same thing.
axus
4 days ago
"The first video card called a GPU by a marketing department"
ollin
4 days ago
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.
[1] The NVIDIA Way / https://www.taekim.com againpjmlp
4 days ago
To be pedantic there were already graphics processors with their own software based programming, like TMS34010, programmable in Assembly and C.
pak9rabid
4 days ago
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).
PorciiVorbesc
4 days ago
> 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.