VideoCommon: Defer creating TextureInfo

TextureCacheBase::LoadImpl has a hot path where the passed-in
TextureInfo never gets used. Instead of passing in a TextureInfo, let's
pass in the stage and create the TextureInfo from the stage if needed.

This unlocks somewhere above an additional 4% performance boost in the
Hoth level of Rogue Squadron 2 on my PC. Performance varies, making it
difficult for me to measure, so treat this as a very approximate number.
This commit is contained in:
JosJuice
2026-01-18 13:04:06 +01:00
parent 373e35ed5b
commit fb07406f10
3 changed files with 12 additions and 13 deletions
+2 -2
View File
@@ -277,7 +277,7 @@ public:
void Invalidate();
void ReleaseToPool(TCacheEntry* entry);
TCacheEntry* Load(const TextureInfo& texture_info);
TCacheEntry* Load(u32 stage);
RcTcacheEntry GetTexture(const int textureCacheSafetyColorSampleSize,
const TextureInfo& texture_info);
RcTcacheEntry GetXFBTexture(u32 address, u32 width, u32 height, u32 stride,
@@ -346,7 +346,7 @@ private:
static bool DidLinkedAssetsChange(const TCacheEntry& entry);
TCacheEntry* LoadImpl(const TextureInfo& texture_info, bool force_reload);
TCacheEntry* LoadImpl(u32 stage, bool force_reload);
bool CreateUtilityTextures();