From 41f6670a1059d8dba3a715cb72a46765e21549a3 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Tue, 3 Feb 2026 17:50:20 +0800 Subject: [PATCH] [Perf] (MG_Backend/DirectGLES): less shared_ptr deref --- MobileGL/MG_Backend/DirectGLES/Managers.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/MobileGL/MG_Backend/DirectGLES/Managers.cpp b/MobileGL/MG_Backend/DirectGLES/Managers.cpp index ecbc9135..95bb6170 100644 --- a/MobileGL/MG_Backend/DirectGLES/Managers.cpp +++ b/MobileGL/MG_Backend/DirectGLES/Managers.cpp @@ -603,7 +603,8 @@ namespace MobileGL::MG_Backend::DirectGLES { return; } - Uint currentSamplerVersion = stateTextureObject->GetSamplerObject()->GetVersion(); + auto* samplerObject = stateTextureObject->GetSamplerObject().get(); + Uint currentSamplerVersion = samplerObject->GetVersion(); if (m_syncedSamplerVersion == currentSamplerVersion) { MGLOG_D("Sampler parameters have not changed for texture ID: %u, skipping sync.", m_backendTextureId); return; @@ -631,7 +632,7 @@ namespace MobileGL::MG_Backend::DirectGLES { // Update built-in sampler parameters MGLOG_D("Updating sampler parameters for texture with ID: %u", m_backendTextureId); - const auto& samplerParams = stateTextureObject->GetSamplerObject()->GetAllSamplerParameters(); + const auto& samplerParams = samplerObject->GetAllSamplerParameters(); #define SYNC_TEX_SAMPLER_PARAM_IF_CHANGED(internalName, glName, type) \ if (m_cacheSamplerParameters.internalName != samplerParams.internalName) { \