From 5115a42b0841a769d18b6e362d11c4df3eb02775 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Mon, 30 Sep 2019 02:08:09 +0200 Subject: [PATCH] [dxvk] Expose key-based lookup hash in DxvkShader --- src/dxvk/dxvk_shader.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/dxvk/dxvk_shader.h b/src/dxvk/dxvk_shader.h index 492eb97f..ec159999 100644 --- a/src/dxvk/dxvk_shader.h +++ b/src/dxvk/dxvk_shader.h @@ -223,6 +223,7 @@ namespace dxvk { */ void setShaderKey(const DxvkShaderKey& key) { m_key = key; + m_hash = key.hash(); } /** @@ -232,6 +233,18 @@ namespace dxvk { DxvkShaderKey getShaderKey() const { return m_key; } + + /** + * \brief Get lookup hash + * + * Retrieves a non-unique hash value derived from the + * shader key which can be used to perform lookups. + * This is better than relying on the pointer value. + * \returns Hash value for map lookups + */ + size_t getHash() const { + return m_hash; + } /** * \brief Retrieves debug name @@ -252,6 +265,7 @@ namespace dxvk { DxvkShaderOptions m_options; DxvkShaderConstData m_constData; DxvkShaderKey m_key; + size_t m_hash = 0; std::vector m_capabilities;