Yeah but we're not talking about a PC. You could have a few small buffers, poll RSX's command buffer pointer every time the SPU job manager is ready to dispatch another task, and start filling an empty buffer when appropriate.
Doable but inefficient, you don't really want to have a granularity like that cause you might have many jobs running and many of them could be working on completely different problems (physics, visibility, etc..), and also you don't want to poll GPU registers..it's old fashioned and slow
Okay, that's a pretty novel idea, but I'm unconvinced that you gain much out of it. It seems like the SPUs couldn't offer too much help, especially since 6 SPUs running at 100% efficiency still couldn't match RSX's speed.
SPUs don't need to match RSX speed, as long as they can shift a relevant workload from RSX to them.
IMO the cool lighting shaders need texture access too (weren't you preaching the advantages of forward shadow mapping?)
Maybe you're confusing me with someone else, HS uses a deferred shadowing approach..
so they wouldn't run well on an SPU.
So it would run particularly well on a SPU, thanks
Finally, I'm not a fan of deferred shading as you could probably tell from the deferred shading thread, because there's too many extra operations and too much BW-eating data flow.
I'm not advocating deferred rendering, I just wrote the thing first thing I could think of.
BTW, the BW price you pay with deferred rendering could be greatly reduced with smart packing of data, probably one can do wonders just packing storing 12-16 bytes worth of data per pixel (or more if AA is needed..)
Also, even if your g-buffers are 30 bytes per pixel and the SPUs do all the shading, 1080p @ 60fps is only 3.6 GB/s.
You're missing the point here, it's not about bandwidth since you were complaining about the fact that CELL - RSX working together is really nothing new and is overblown..I gave you an example which need extensive and avanced synchronization between these 2 processors to be efficient, and all the bw in the world can't give you that.
We're back to plain old data transfer again which is only needed because of the split memory pool. So unfortunately your example falls under my "mitigating disadvantages" category.
Umh? Do you realize that RSX can read from/write to any memory pool right? think twice about what you wrote
I appreciate the effort, though! :smile:
I would appreciate if you would not dismiss an idea just cause you don't like it, I gave you a non trivial way to make CELL and RSX work together in a tightly couple fashion..but hey..you don't like deferred rendering. I suppose I'll have to think something else, something even more juicy to satisfy your unsatiable appetite..maybe I should add EMBM to the equation!
(So am I correct in thinking RSX controlling SPUs is roughly similar to XPS?)
Dunno, I don't remember how XPS work anymore, and I could not confirm or deny anything anyway.