xbdestroya said:
Where I'm coming from is the angle that at any given moment in time all the ALU's in a given array must be working on either vertex or pixel work - as in though the work itself might be dynamic, within a given array you can't have 5 ALU's working on vertex and 11 ALU's working on pixel at the same moment in time.
Or is this wrong?
Nope. A shader array is defined simply by the fact that it is an array of 16 execution units, each of which shares a single program counter. It's a single-instruction multiple-data array.
In a conventional GPU the array would consist of 4 units in a "quad". In Xenos, it's 16. It's simply larger grained.
Every unit is performing precisely the same instruction. Effectively there are 16 threads all being processed, one instruction at a time.
On the next tick of the clock, a completely different set of 16 threads are processed. Maybe with the same instruction (e.g. another 16 fragments). Equally, it could be a different instruction in different threads, e.g. for 16 vertices.
Jawed