From f9e199e1a00fed1d591f59af2ea801976add9c61 Mon Sep 17 00:00:00 2001 From: Fire Cube Date: Sun, 13 Jul 2025 17:20:20 +0200 Subject: [PATCH] cleanup --- src/common/hash.h | 9 ++++++--- src/video_core/renderer_vulkan/shader_cache.h | 4 +++- src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/common/hash.h b/src/common/hash.h index b29cfb90f..d5cacedd7 100644 --- a/src/common/hash.h +++ b/src/common/hash.h @@ -5,7 +5,10 @@ #include "common/types.h" -template -T HashCombine(const T& seed, const U& value) { - return seed ^ (static_cast(value) + 0x9e3779b9 + (seed << 6) + (seed >> 2)); +[[nodiscard]] inline u64 HashCombine(const u64 seed, const u64 hash) { + return seed ^ (hash + 0x9e3779b9 + (seed << 12) + (seed >> 4)); +} + +[[nodiscard]] inline u32 HashCombine(const u32 seed, const u32 hash) { + return seed ^ (hash + 0x9e3779b9 + (seed << 6) + (seed >> 2)); } \ No newline at end of file diff --git a/src/video_core/renderer_vulkan/shader_cache.h b/src/video_core/renderer_vulkan/shader_cache.h index d2320e455..c9518e918 100644 --- a/src/video_core/renderer_vulkan/shader_cache.h +++ b/src/video_core/renderer_vulkan/shader_cache.h @@ -1,6 +1,8 @@ +// SPDX-FileCopyrightText: Copyright 2025 shadPS4 Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once -#include #include #include #include diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index 0e54c46d0..d15b212d6 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp @@ -569,7 +569,7 @@ PipelineCache::Result PipelineCache::GetProgram(Stage stage, LogicalStage l_stag Shader::ShaderParams params, Shader::Backend::Bindings& binding) { auto runtime_info = BuildRuntimeInfo(stage, l_stage); - auto [it_pgm, new_program] = program_cache.try_emplace(params.hash); // code in vs + auto [it_pgm, new_program] = program_cache.try_emplace(params.hash); if (new_program) { it_pgm.value() = std::make_unique(stage, l_stage, params); auto& program = it_pgm.value();