diff options
author | Wollnashorn <Wollnashorn@users.noreply.github.com> | 2023-01-06 16:52:41 +0100 |
---|---|---|
committer | Wollnashorn <Wollnashorn@users.noreply.github.com> | 2023-01-06 16:52:41 +0100 |
commit | 457826a83b801c6a4687714998a7f606f084be4c (patch) | |
tree | ec9212ad3c78eec08c43d505ff23f79da64beafc /src | |
parent | 8b251fc3f60330f1b1311af2d17cdb1ae9874683 (diff) |
video_core/vulkan: Fixed loading of Vulkan driver pipeline cache
The header size of the Vulkan driver pipeline cache files was incorrectly in PipelineCache::LoadVulkanPipelineCache, for which the pipeline cache wasn't read correctly and got invalidated on each load.
Diffstat (limited to 'src')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index 013b42cf8..7e69b11d8 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp @@ -793,7 +793,8 @@ vk::PipelineCache PipelineCache::LoadVulkanPipelineCache(const std::filesystem:: return create_pipeline_cache(0, nullptr); } - const size_t cache_size = static_cast<size_t>(end) - magic_number.size(); + static constexpr size_t header_size = magic_number.size() + sizeof(cache_version); + const size_t cache_size = static_cast<size_t>(end) - header_size; std::vector<char> cache_data(cache_size); file.read(cache_data.data(), cache_size); |