summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VertexManagerBase.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2026-01-18 12:59:25 +0100
committerJosJuice <josjuice@gmail.com>2026-01-18 13:04:06 +0100
commitfb07406f102eaa2d237c95c35e8853680d902b6a (patch)
tree9177a4784a336d799ed01d64f727ce3126af520d /Source/Core/VideoCommon/VertexManagerBase.cpp
parent373e35ed5b3202bd91c05f6dd1f49fcee449d2a5 (diff)
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.
Diffstat (limited to 'Source/Core/VideoCommon/VertexManagerBase.cpp')
-rw-r--r--Source/Core/VideoCommon/VertexManagerBase.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/Source/Core/VideoCommon/VertexManagerBase.cpp b/Source/Core/VideoCommon/VertexManagerBase.cpp
index 312b8cb005..2bc6d586d7 100644
--- a/Source/Core/VideoCommon/VertexManagerBase.cpp
+++ b/Source/Core/VideoCommon/VertexManagerBase.cpp
@@ -36,7 +36,6 @@
#include "VideoCommon/PixelShaderManager.h"
#include "VideoCommon/Statistics.h"
#include "VideoCommon/TextureCacheBase.h"
-#include "VideoCommon/TextureInfo.h"
#include "VideoCommon/VertexLoaderManager.h"
#include "VideoCommon/VertexShaderManager.h"
#include "VideoCommon/VideoBackendBase.h"
@@ -569,7 +568,7 @@ void VertexManagerBase::Flush()
{
for (const u32 i : used_textures)
{
- const auto cache_entry = g_texture_cache->Load(TextureInfo::FromStage(i));
+ const auto cache_entry = g_texture_cache->Load(i);
if (!cache_entry)
continue;
const float custom_tex_scale = cache_entry->GetWidth() / float(cache_entry->native_width);
@@ -581,7 +580,7 @@ void VertexManagerBase::Flush()
{
for (const u32 i : used_textures)
{
- const auto cache_entry = g_texture_cache->Load(TextureInfo::FromStage(i));
+ const auto cache_entry = g_texture_cache->Load(i);
if (cache_entry)
{
if (!Common::Contains(texture_names, cache_entry->texture_info_name))