Something from top-of-the-head:
- <snip>
- rendering to custom texture format (possibly 2-pass)
...YUV-alike, quincunx (checkerboard) luma subsampling, 1/8 chroma (4x less bandwidth)
- custom up-sizing via DSP
...edge-directed upsizer for luma and chroma to YUV422 (maybe something like this or this(IEEE subscription needed))
- final YUV->RGB conversion via overlay
This could give us a full 800x480 with good quality of luma (most visual information is there) and still acceptable quality of chroma at 1/4 of bandwidth cost of full rendering. Not sure about 'setup time' though...
I think I'll do some crude upsampling experiments in the weekend. B)
Other ideas ?
well, everything you say above pertains 100% to the ps3 ; )
let me throw in a common point of consideration:
just like every compression scheme, the YUV rendition is a neat bandwidth solution when you have fat pixels to write, and shader rate to burn. like on ps3's shader-capable, bandwidth-limited RSX, where there's at least one commercial project doing multi-sampled HDR rendition like this (heavenly sword - see below).
on the panda's SGX, we're not exactly in this situation - while we don't have any bandwidth (outside of the direct link to our tile buffer) we also don't have shader rate to burn. and the tile buffer, low and behold, cannot output below 16bpp, to the best of my knowledge. so it does not matter if you do fancy YUV rendition or plain 16bpp RGB - you would not save youself one bit of bandwidth.
so, what's left? i'd say a brute-force approach like compressing the bejesus out of your static textures, includingly those you'd not normally compress (at least not with the given schemes), would be the way to allow yourself some bandwidth headroom.
as for render-target textures, well, choose your pixel format wisely, and most importantly, don't go overboard with resolutions.
Exophase said:
I was wondering how much support in hardware SGX has for YUV, or how much is necessary (for instance for alpha blending, correct me if this can be done blindly as if they were RGB textures)
IIRC, lerping in YUV does not give you exactly alpha-blending, but it's not that much different either. for the interested, check out Marco Salvi's (AKA nAo@B3D) accounts on what he did in heavenly sword (i.e. NAO32 pixel format) to save fp framebuffer bandwidth and allow hw fsaa on the RSX. basically, he implemented logarithmic luma for their HDR rendering.
http://forum.beyond3d.com/showthread.php?t=42689
http://pixelstoomany.wordpress.com/2008/07...for-the-future/