From a8d82a2a047695a560955826f8688c98f1a198f1 Mon Sep 17 00:00:00 2001 From: Vitor Kiguchi Date: Sat, 3 Sep 2022 14:44:40 +0200 Subject: [PATCH 1/2] Include gl_shader_util in shader cache version hash calculation --- CMakeModules/GenerateSCMRev.cmake | 2 ++ src/common/CMakeLists.txt | 2 ++ 2 files changed, 4 insertions(+) diff --git a/CMakeModules/GenerateSCMRev.cmake b/CMakeModules/GenerateSCMRev.cmake index 3ee4f6505..a011c6cbf 100644 --- a/CMakeModules/GenerateSCMRev.cmake +++ b/CMakeModules/GenerateSCMRev.cmake @@ -68,6 +68,8 @@ set(HASH_FILES "${VIDEO_CORE}/renderer_opengl/gl_shader_disk_cache.h" "${VIDEO_CORE}/renderer_opengl/gl_shader_gen.cpp" "${VIDEO_CORE}/renderer_opengl/gl_shader_gen.h" + "${VIDEO_CORE}/renderer_opengl/gl_shader_util.cpp" + "${VIDEO_CORE}/renderer_opengl/gl_shader_util.h" "${VIDEO_CORE}/shader/shader.cpp" "${VIDEO_CORE}/shader/shader.h" "${VIDEO_CORE}/pica.cpp" diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 29338dbe9..2bfea7175 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -32,6 +32,8 @@ add_custom_command(OUTPUT scm_rev.cpp "${VIDEO_CORE}/renderer_opengl/gl_shader_disk_cache.h" "${VIDEO_CORE}/renderer_opengl/gl_shader_gen.cpp" "${VIDEO_CORE}/renderer_opengl/gl_shader_gen.h" + "${VIDEO_CORE}/renderer_opengl/gl_shader_util.cpp" + "${VIDEO_CORE}/renderer_opengl/gl_shader_util.h" "${VIDEO_CORE}/shader/shader.cpp" "${VIDEO_CORE}/shader/shader.h" "${VIDEO_CORE}/pica.cpp" From c6fc00bc77aa46f30bb576f0a0e18bb9cc45e4d9 Mon Sep 17 00:00:00 2001 From: Vitor Kiguchi Date: Sat, 3 Sep 2022 15:09:09 +0200 Subject: [PATCH 2/2] GetShaderCacheVersionHash: add comment explaining where the hash comes from --- src/video_core/renderer_opengl/gl_shader_disk_cache.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp b/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp index 1a3ea1d73..f2b0757d3 100644 --- a/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp +++ b/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp @@ -33,6 +33,8 @@ enum class PrecompiledEntryKind : u32 { constexpr u32 NativeVersion = 1; +// The hash is based on relevant files. The list of files can be found at src/common/CMakeLists.txt +// and CMakeModules/GenerateSCMRev.cmake ShaderCacheVersionHash GetShaderCacheVersionHash() { ShaderCacheVersionHash hash{}; const std::size_t length = std::min(std::strlen(Common::g_shader_cache_version), hash.size());