Here we go, another cannabis abuse:
What about using 3 or 4 SPUs to mimic the Dreamcast rendering engine:
- small tile, let say 64x64=4096 pixel
- per-pixel sorting, transparency "for free"
* The first SPU sort the triangles and dispatch them on the tiles
* when there's enough triangle on one tile, they are sent to the second SPU which rasterise them and accumulate the fragment (eventually writting a Z value for visibility hierachical-Z optimisation)
* a third SPU is processing fragment list (per pixel), and shade them
Colors and depth tile-buffers would be in main RAM, and each tile is processed one-at-a-time.
Having a "GPU" so close to the PPU and other SPUs would also open new opportunity to dynamic vertex generation, like adaptative multi-resolution mesh.
I guess making this king of algorithm fast enough on Cell is very hard.
Also, the RSX power should not be wasted. Post-process ? "General purpose" ?
Anyway, it could quite ironic in the end to find a good balance where the RSX is not doing what it's suppose to do.
Probably an insane idea, but "tile" rime with "256k local store"...
What about using 3 or 4 SPUs to mimic the Dreamcast rendering engine:
- small tile, let say 64x64=4096 pixel
- per-pixel sorting, transparency "for free"
* The first SPU sort the triangles and dispatch them on the tiles
* when there's enough triangle on one tile, they are sent to the second SPU which rasterise them and accumulate the fragment (eventually writting a Z value for visibility hierachical-Z optimisation)
* a third SPU is processing fragment list (per pixel), and shade them
Colors and depth tile-buffers would be in main RAM, and each tile is processed one-at-a-time.
Having a "GPU" so close to the PPU and other SPUs would also open new opportunity to dynamic vertex generation, like adaptative multi-resolution mesh.
I guess making this king of algorithm fast enough on Cell is very hard.
Also, the RSX power should not be wasted. Post-process ? "General purpose" ?
Anyway, it could quite ironic in the end to find a good balance where the RSX is not doing what it's suppose to do.
Probably an insane idea, but "tile" rime with "256k local store"...