Unified Shader architectures

Architecturally, one of the ongoing debates in graphics is about whether or not a Unified Shader pipeline is desirable. Let's get some quick context.

Graphics scenes are made up a vertices and pixels. These are shaded by two different parts of the graphics chip: the vertex pipeline and the pixel pipeline. There are two further aspects for this: the hardware and software layer. It is possible to have a unified software layer for programming, but a separated hardware layer.

ATI are firmly of the belief that unifying these two pipelines will lead to more efficiency.

Microsoft have written a unified software layer into the next version of WGF. Does this signify that Microsoft and ATI are on the same track, and NVIDIA are not following the same path?

"Well, let's get something straight. Microsoft makes APIs (Application Programming Interfaces- Ed) not hardware. WGF is a specification for an API specification - it's software, not hardware."

Interview: NVIDIA, RSX and the future Unified architectures
"For them, implementing Unified Shaders means a unified programming model. Since they don't build hardware, they're not saying anything about hardware.

"Debating unified against separate shader architecture is not really the important question. The strategy is simply to make the vertex and pixel pipelines go fast. The tactic is how you build an architecture to execute that strategy. We're just trying to work out what is the most efficient way.

"It's far harder to design a unified processor - it has to do, by design, twice as much. Another word for 'unified' is 'shared', and another word for 'shared' is 'competing'. It's a challenge to create a chip that does load balancing and performance prediction. It's extremely important, especially in a console architecture, for the performance to be predicable. With all that balancing, it's difficult to make the performance predictable. I've even heard that some developers dislike the unified pipe, and will be handling vertex pipeline calculations on the Xbox 360's triple-core CPU."

"Right now, I think the 7800 is doing pretty well for a discrete architecture?

So what about the future?

"We will do a unified architecture in hardware when it makes sense. When it's possible to make the hardware work faster unified, then of course we will. It will be easier to build in the future, but for the meantime, there's plenty of mileage left in this architecture."


Well, a big thanks to David, first of all, for taking the time out to talk to us. His opinions on the RSX and the Xbox 360 are revealing, and we find it interesting that he isn't ruling out a unified hardware architecture for the GeForce in the future, despite speculation in the past that that would be the case. Having hung on his every comment, we are really looking forward to future hardware that accelerates AA and HDR, and we can't wait to see what the PlayStation 3 can do.

We want to know your thoughts on all this: did Sony make the right move working with NVIDIA for Playstation 3? Do you care at all who's powering your next console, or is it "all about the gameplay"? Dive into our forums for some friendly banter on these subjects, and more.
Discuss this in the forums