diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2021-03-10 05:47:39 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2021-03-19 00:38:19 +0000 |
| commit | fa545a9faeaf884dc1b1bf53bedb2046025bb0a8 (patch) | |
| tree | 78b9182aa90158adbcbd5d21ca7c108f4904ed7d /Graphics/GraphicsEngine | |
| parent | Renamed Texture*_OGL to Texture*_GL (diff) | |
| download | DiligentCore-fa545a9faeaf884dc1b1bf53bedb2046025bb0a8.tar.gz DiligentCore-fa545a9faeaf884dc1b1bf53bedb2046025bb0a8.zip | |
Unified PRS hash calculation
Diffstat (limited to 'Graphics/GraphicsEngine')
| -rw-r--r-- | Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp b/Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp index c2f3e2bc..cf0870fc 100644 --- a/Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp +++ b/Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp @@ -45,6 +45,7 @@ #include "PlatformMisc.hpp" #include "SRBMemoryAllocator.hpp" #include "ShaderResourceCacheCommon.hpp" +#include "HashUtils.hpp" namespace Diligent { @@ -593,6 +594,18 @@ protected: return SamplerInd; } + void CalculateHash() + { + const auto* const pThisImpl = static_cast<const PipelineResourceSignatureImplType*>(this); + + m_Hash = CalculatePipelineResourceSignatureDescHash(this->m_Desc); + for (Uint32 i = 0; i < this->m_Desc.NumResources; ++i) + { + const auto& Attr = pThisImpl->GetResourceAttribs(i); + HashCombine(m_Hash, Attr.GetHash()); + } + } + protected: std::unique_ptr<void, STDDeleterRawMem<void>> m_pRawMemory; |
