Does anyone here think this might have a performance benefit? I noticed that we have 32 texture slots to play with. If I wrote a texture manager to use all 32 slots (leaving recently used textures in inactive slots to reduce texture change overhead) and then changed the shader's texture slot IDs to match, the extra slots could be used to keep textures from being needlessly brought in and put away almost like Carmack's Megatexture. So if I used textures A, B, C, then A, then B, the engine would reuse the least fresh texture slots to cache A, B and C but when it went back to A and B it wouldn't need to switch back to them; it'd just change the texture slot IDs exposed to the shader thus making it return to the previously loaded slots.
Would this have a performance benefit or would there be a downside to holding so many textures in cache? When it comes down to it, it's intended to produce a similar outcome to Megatexture whilst keeping the images separate.



