6 ms·
Reading up on the N64 hardware a bit gives the impression that it was ahead of its time, more akin to the shader based pipelines of today than the kinds of hard
by digi_owl 9y ago
Reading up on the N64 hardware a bit gives the impression that it was ahead of its time, more akin to the shader based pipelines of today than the kinds of hardware that was starting to show up on PCs at the time.
https://en.wikipedia.org/wiki/Reality_Coprocessor https://en.wikipedia.org/wiki/Reality_Coprocessor
- jchw 9y agoThis is the impression that most people end up with, but it's not really like shaders at all. My understanding is limited, but it seems the microcode serves a somewhat limited role in the graphics pipeline, something along the lines of decoding data and controlling hardware registers.
- monocasa 9y agoIn most contexts, the RSP handles all T&L, making it analogous to modern vertex shaders.
- pandaman 9y agoThis was pretty standard at the time - everything had a programmable DMA controller, which was capable of extensive data transforms, and often there had been some vector ALU stuffed in. The difference with modern arcs is that it was sitting in front of fixed function hardware. After you did whatever you wanted with the data it still went into the fixed function hardware and came out as pixels on the screen. You could have the same data pre-computed and fed to the GPU for the same result. In modern architecture, there are programmable ALUs inside the fixed function hardware and its fixed functions are very limited, it's just triangle setup and color/depth buffer, usually. The GPU input is just a list of indices, which is transformed by the programmable processors inside.
- Jasper_ 9y agoRSP microcode switches are extremely slow -- they're designed to be programmed once when the game boots up, but some games switch back and forth between a 2D and 3D microcode during different modes. So they're not like shaders in that sense -- shaders are designed to be switched every frame. And keep in mind that the RSP doesn't handle blending. The RSP can kind of be compared to a vertex shader, and the RDP is the fixed-function unit that handles rasterization, interpolation, and blending. It's "programmable" in a glTexEnv sense, but you can't upload your own code.
- monocasa 9y agoFWIW, a lot of other 'fixed function' GPUs were internally little custom vector processors too, they just weren't exposed to external developers.