Unified shader pipelines... good or bad?

Jeff7181

Lifer
Aug 21, 2002
18,368
11
81
It's pretty obvious Microsoft wants unified shaders, which means no seaparate pixel and vertex shader pipelines.

On one hand, it would give developers more freedom in the sense that if their particular game requires more vertex shader power than pixel shader power, and visa versa, they can balance the two as they see fit.

On the other hand 32 unified shader pipelines won't be able to process pixel shaders as fast as 32 dedicated pixel shader pipelines.

It's my opinion that a unified design would be better because it would allow all shader pipelines to be used at all times. In the current designs, the pixel shader pipelines or vertex shader pipelines may sit idle at times because they have nothing to do. As Intel will tell you, having parts of your hardware sitting idle is bad... they created HyperThreading to combat that issue... and it seems GPU's will be taking on a more general purpose design to combat that issue.

Thoughts?
 

Elcs

Diamond Member
Apr 27, 2002
6,278
6
81
The idea of generalising shaders to reduce any idle time seems like a good one counterbalanced by the problem that a dedicated shader would run faster.

Perhaps a mixture of unified and specific shaders is the way forward? It sounds like a designing nightmare to me.

One minor point that just cropped up in my mind, wouldnt changing every shader into a unified one generate more heat? If in the current system, certain shaders are idle at times... in a unified shader system, every shader would be going at the same time... thus generating more heat. Perhaps..... a problem for designers maybe since heat is already a difficult issue to face.
 

IeraseU

Senior member
Aug 25, 2004
778
0
71
MS will push for for unified shaders because the Xbox 360 has unified shaders and this will make PC to Xbox 360 ports more trivial. I'd say we're moving in that direction, but probably not until some point after longhorn is mainstream.
 

Pete

Diamond Member
Oct 10, 1999
4,953
0
0
Assuming the drivers will make switching between fragment and vertex shading seamless, then unified shaders would seem a natural progression towards giving devs more freedom. We went from TnL to register combiners to SM2/3, and unified shaders seem only logical. The more freedom for devs, the better, at least in terms of game graphics diversity (some titles shader-heavy, others, geometry-heavy).

You can't really compare 32 unified shaders to 32 pixel shaders, as you have to account for separate vertex shaders in the second chip. It's probably more like 32 unified vs 24/8 PS/VS, and that's very, very loosely similar to Xenos vs. RSX. I say loosely because we also seem to be moving toward a higher ALU to pipeline ratio, so even the concept of pipelines may not perfectly apply to unified vs. separate shader architectures. Xenos seems to have three "pipelines" with 16 ALUs per pipe, whereas RSX/G70 has 24 pixel pipes with two ALUs per, as well as eight vertex pipes.

Heck, with unified shaders, dual-core CPUs, and PCIe/HyperMemory/TurboCache, we might just see unified GPUs using all their resources on fragment shading, and one of the CPU cores dedicated to vertex shading. So, it's even more flexible in that case, though I really don't know the performance implications of pushing all the vertex work onto the CPU and main memory.