OpenGL guy
Veteran
You are assuming that the memory tiling for textures are different from the tiling for backbuffers. This doesn't have to be the case, and your own argument is a good reason whyKristof said:There is quite a good reason why rendered surfaces are slower to render from that regular uploaded textures. When you upload a texture its not just uploaded, the data is re-ordered aka twiddled/swizzled/whatever, this data re-ordering improves the cache hit ratio and make bilinear/trilinear operations pretty much guaranteed to be free. When you render to a texture you do so in scaline way, you do not render twiddled. So the data order for a rendered surface is not optimal for accessing as a texture
Chips with tiled memory, in my experience, don't render in a "scanline" way: That would defeat the purpose of having tiled memory. The rendering is done tile by tile in order to get the most memory bandwidth.
Just wanted to clear that up.