Jawed said:As I've said, a load of devs are already finding out what a unified architecture can do, with Xenos.
No they're not because there is nothing new to discover. You will have to write a vertex shader and a geometry shader and a pixel shader in HLSL, exacly like we do now. Except for the new integer and bitwise instructions support, there are no new instructions to use in any shader. Currently every matrix/vector/math instrcution can and is used in either vertex or pixel shader, and the same goes to texture lookups, function calling, condition statements, etc. From a higher, API way of organizing things, yah, sure, they are all "shaders".
In Direct3D 10, all shader stages offer the same base functionality, which is implemented by the Shader Model 4.0 Common Shader Core. In additional to the base each of the three shader stages (vertex, geometry, and pixel) offer some unique functionality only to that stage, such as the ability to generate new primitives from the geometry shader stage or to discard a specific pixel in the pixel shader stage.
What does that unify that isn't already, currently unified?
As for the next big thing being The Big Unification... Unification for who? Not for the developers, because HLSL, GLSL and Cg already do 99% of that. Maybe the hardware? Well, there I don't know. What I know is that the work of a vertex shader is and always will be diferent from the amount and type of work of a pixel shader, even if what they end up doing is just math and texture lookups.
In my opinion, the G80 will unify vertex and geometry shaders, but not the pixel shaders. Maybe with each unit running at diferent speeds, like for example a single vertex/geometry shader @ 2GHz and 32 pixel shaders at 700MHz? Is this brute force? Not elegant? Maybe, but it is the best way of getting the max out of each stage: with speciallized units.