summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_disk_cache.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/renderer_opengl/gl_shader_disk_cache.h')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_disk_cache.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_disk_cache.h b/src/video_core/renderer_opengl/gl_shader_disk_cache.h
index f11693789..c44a776d9 100644
--- a/src/video_core/renderer_opengl/gl_shader_disk_cache.h
+++ b/src/video_core/renderer_opengl/gl_shader_disk_cache.h
@@ -4,9 +4,11 @@
#pragma once
+#include <optional>
#include <set>
#include <string>
#include <tuple>
+#include <utility>
#include <vector>
#include <glad/glad.h>
@@ -142,13 +144,14 @@ struct ShaderDiskCacheDump {
class ShaderDiskCacheOpenGL {
public:
- /// Loads transferable cache. If file has a old version, it deletes it. Returns true on success.
- bool LoadTransferable(std::vector<ShaderDiskCacheRaw>& raws,
- std::vector<ShaderDiskCacheUsage>& usages);
-
- /// Loads current game's precompiled cache. Invalidates if emulator's version has changed.
- bool LoadPrecompiled(std::map<u64, ShaderDiskCacheDecompiled>& decompiled,
- std::map<ShaderDiskCacheUsage, ShaderDiskCacheDump>& dumps);
+ /// Loads transferable cache. If file has a old version or on failure, it deletes the file.
+ std::optional<std::pair<std::vector<ShaderDiskCacheRaw>, std::vector<ShaderDiskCacheUsage>>>
+ LoadTransferable();
+
+ /// Loads current game's precompiled cache. Invalidates on failure.
+ std::pair<std::map<u64, ShaderDiskCacheDecompiled>,
+ std::map<ShaderDiskCacheUsage, ShaderDiskCacheDump>>
+ LoadPrecompiled();
/// Removes the transferable (and precompiled) cache file.
void InvalidateTransferable() const;