From 75d56f4201469eb9eeecadb990f62f3f71dbc784 Mon Sep 17 00:00:00 2001 From: Markus Sauermann <6299227+Sauermann@users.noreply.github.com> Date: Tue, 22 Nov 2022 19:46:54 +0100 Subject: [PATCH] Fix parameters for hash_murmur3_one_32 In multiple locations in the codebase hash_murmur3_one_32 is used for generating hash values. Whenever a sequence of multiple hash-calculation happens within a single function, the previous hash value is always used as input in the following hash-calculations. The only exception is get_cache_multipass, where currently the previous hash value is overridden without utilizing it. This patch corrects that. --- servers/rendering/renderer_rd/framebuffer_cache_rd.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/servers/rendering/renderer_rd/framebuffer_cache_rd.h b/servers/rendering/renderer_rd/framebuffer_cache_rd.h index f50d6baa306..8cf25cf44a9 100644 --- a/servers/rendering/renderer_rd/framebuffer_cache_rd.h +++ b/servers/rendering/renderer_rd/framebuffer_cache_rd.h @@ -254,11 +254,11 @@ public: RID get_cache_multipass(const Vector &p_textures, const Vector &p_passes, uint32_t p_views = 1) { uint32_t h = hash_murmur3_one_32(p_views); - h = hash_murmur3_one_32(p_textures.size()); + h = hash_murmur3_one_32(p_textures.size(), h); for (int i = 0; i < p_textures.size(); i++) { h = hash_murmur3_one_64(p_textures[i].get_id(), h); } - h = hash_murmur3_one_32(p_passes.size()); + h = hash_murmur3_one_32(p_passes.size(), h); for (int i = 0; i < p_passes.size(); i++) { h = _hash_pass(p_passes[i], h); }