[Feat] (MG_State/SamplerState): Add resource version.

This commit is contained in:
BZLZHH
2026-02-02 22:01:48 +08:00
parent de17fdf5b0
commit 7f1cb14d33
2 changed files with 16 additions and 0 deletions
@@ -15,26 +15,32 @@ namespace MobileGL {
void SamplerObject::SetWrapS(SamplerWrapMode mode) { void SamplerObject::SetWrapS(SamplerWrapMode mode) {
m_samplerParameters.wrapS = mode; m_samplerParameters.wrapS = mode;
++m_version;
} }
void SamplerObject::SetWrapT(SamplerWrapMode mode) { void SamplerObject::SetWrapT(SamplerWrapMode mode) {
m_samplerParameters.wrapT = mode; m_samplerParameters.wrapT = mode;
++m_version;
} }
void SamplerObject::SetWrapR(SamplerWrapMode mode) { void SamplerObject::SetWrapR(SamplerWrapMode mode) {
m_samplerParameters.wrapR = mode; m_samplerParameters.wrapR = mode;
++m_version;
} }
void SamplerObject::SetMinFilter(SamplerFilterMode mode) { void SamplerObject::SetMinFilter(SamplerFilterMode mode) {
m_samplerParameters.minFilter = mode; m_samplerParameters.minFilter = mode;
++m_version;
} }
void SamplerObject::SetMagFilter(SamplerFilterMode mode) { void SamplerObject::SetMagFilter(SamplerFilterMode mode) {
m_samplerParameters.magFilter = mode; m_samplerParameters.magFilter = mode;
++m_version;
} }
void SamplerObject::SetMipmapMode(SamplerMipmapMode mode) { void SamplerObject::SetMipmapMode(SamplerMipmapMode mode) {
m_samplerParameters.mipmapMode = mode; m_samplerParameters.mipmapMode = mode;
++m_version;
} }
void SamplerObject::SetLodRange(Float minLod, Float maxLod) { void SamplerObject::SetLodRange(Float minLod, Float maxLod) {
@@ -43,18 +49,22 @@ namespace MobileGL {
} }
m_samplerParameters.minLod = minLod; m_samplerParameters.minLod = minLod;
m_samplerParameters.maxLod = maxLod; m_samplerParameters.maxLod = maxLod;
++m_version;
} }
void SamplerObject::SetLodBias(Float bias) { void SamplerObject::SetLodBias(Float bias) {
m_samplerParameters.lodBias = bias; m_samplerParameters.lodBias = bias;
++m_version;
} }
void SamplerObject::SetSamplerCompareFunc(SamplerCompareFunc func) { void SamplerObject::SetSamplerCompareFunc(SamplerCompareFunc func) {
m_samplerParameters.compareFunc = func; m_samplerParameters.compareFunc = func;
++m_version;
} }
void SamplerObject::SetCompareMode(SamplerCompareMode mode) { void SamplerObject::SetCompareMode(SamplerCompareMode mode) {
m_samplerParameters.compareMode = mode; m_samplerParameters.compareMode = mode;
++m_version;
} }
SamplerWrapMode SamplerObject::GetWrapS() const { SamplerWrapMode SamplerObject::GetWrapS() const {
@@ -108,6 +118,10 @@ namespace MobileGL {
const SamplerParameters& SamplerObject::GetAllSamplerParameters() const { const SamplerParameters& SamplerObject::GetAllSamplerParameters() const {
return m_samplerParameters; return m_samplerParameters;
} }
Uint16 SamplerObject::GetVersion() const {
return m_version;
}
} // namespace GLState } // namespace GLState
} // namespace MG_State } // namespace MG_State
} // namespace MobileGL } // namespace MobileGL
@@ -98,10 +98,12 @@ namespace MobileGL {
SamplerCompareMode GetCompareMode() const; SamplerCompareMode GetCompareMode() const;
SamplerCompareFunc GetSamplerCompareFunc() const; SamplerCompareFunc GetSamplerCompareFunc() const;
Uint GetExternalIndex() const; Uint GetExternalIndex() const;
Uint16 GetVersion() const;
const SamplerParameters& GetAllSamplerParameters() const; const SamplerParameters& GetAllSamplerParameters() const;
private: private:
const Uint m_externalIndex; const Uint m_externalIndex;
Uint16 m_version = 0;
SamplerParameters m_samplerParameters; SamplerParameters m_samplerParameters;
}; };
} // namespace GLState } // namespace GLState