From 7f1cb14d3386daaf4d4246d21846d320d625f754 Mon Sep 17 00:00:00 2001 From: BZLZHH Date: Mon, 2 Feb 2026 22:00:29 +0800 Subject: [PATCH] [Feat] (MG_State/SamplerState): Add resource version. --- .../GLState/SamplerState/SamplerObject.cpp | 14 ++++++++++++++ .../MG_State/GLState/SamplerState/SamplerObject.h | 2 ++ 2 files changed, 16 insertions(+) diff --git a/MobileGL/MG_State/GLState/SamplerState/SamplerObject.cpp b/MobileGL/MG_State/GLState/SamplerState/SamplerObject.cpp index 2e24802b..9721be49 100644 --- a/MobileGL/MG_State/GLState/SamplerState/SamplerObject.cpp +++ b/MobileGL/MG_State/GLState/SamplerState/SamplerObject.cpp @@ -15,26 +15,32 @@ namespace MobileGL { void SamplerObject::SetWrapS(SamplerWrapMode mode) { m_samplerParameters.wrapS = mode; + ++m_version; } void SamplerObject::SetWrapT(SamplerWrapMode mode) { m_samplerParameters.wrapT = mode; + ++m_version; } void SamplerObject::SetWrapR(SamplerWrapMode mode) { m_samplerParameters.wrapR = mode; + ++m_version; } void SamplerObject::SetMinFilter(SamplerFilterMode mode) { m_samplerParameters.minFilter = mode; + ++m_version; } void SamplerObject::SetMagFilter(SamplerFilterMode mode) { m_samplerParameters.magFilter = mode; + ++m_version; } void SamplerObject::SetMipmapMode(SamplerMipmapMode mode) { m_samplerParameters.mipmapMode = mode; + ++m_version; } void SamplerObject::SetLodRange(Float minLod, Float maxLod) { @@ -43,18 +49,22 @@ namespace MobileGL { } m_samplerParameters.minLod = minLod; m_samplerParameters.maxLod = maxLod; + ++m_version; } void SamplerObject::SetLodBias(Float bias) { m_samplerParameters.lodBias = bias; + ++m_version; } void SamplerObject::SetSamplerCompareFunc(SamplerCompareFunc func) { m_samplerParameters.compareFunc = func; + ++m_version; } void SamplerObject::SetCompareMode(SamplerCompareMode mode) { m_samplerParameters.compareMode = mode; + ++m_version; } SamplerWrapMode SamplerObject::GetWrapS() const { @@ -108,6 +118,10 @@ namespace MobileGL { const SamplerParameters& SamplerObject::GetAllSamplerParameters() const { return m_samplerParameters; } + + Uint16 SamplerObject::GetVersion() const { + return m_version; + } } // namespace GLState } // namespace MG_State } // namespace MobileGL diff --git a/MobileGL/MG_State/GLState/SamplerState/SamplerObject.h b/MobileGL/MG_State/GLState/SamplerState/SamplerObject.h index 9b56f4b5..c1468677 100644 --- a/MobileGL/MG_State/GLState/SamplerState/SamplerObject.h +++ b/MobileGL/MG_State/GLState/SamplerState/SamplerObject.h @@ -98,10 +98,12 @@ namespace MobileGL { SamplerCompareMode GetCompareMode() const; SamplerCompareFunc GetSamplerCompareFunc() const; Uint GetExternalIndex() const; + Uint16 GetVersion() const; const SamplerParameters& GetAllSamplerParameters() const; private: const Uint m_externalIndex; + Uint16 m_version = 0; SamplerParameters m_samplerParameters; }; } // namespace GLState