summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/ObjectCache.h
diff options
context:
space:
mode:
authorStenzek <stenzek@users.noreply.github.com>2017-07-27 13:30:38 +1000
committerGitHub <noreply@github.com>2017-07-27 13:30:38 +1000
commita11bde7d167c65bb693e5138e47dd4586683c092 (patch)
tree84f9128b0478b0b18e271e0426fceb499c9e72e3 /Source/Core/VideoBackends/Vulkan/ObjectCache.h
parent10db1bcbca947a56e872ed4b6625d9d3de31b298 (diff)
parent3ea9d86faa2544b8c1c235db9456f271baf42fec (diff)
Merge pull request #5679 from stenzek/no-host-state-in-uids
ShaderGen: Decouple host state from shader UIDs
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/ObjectCache.h')
-rw-r--r--Source/Core/VideoBackends/Vulkan/ObjectCache.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/ObjectCache.h b/Source/Core/VideoBackends/Vulkan/ObjectCache.h
index 97c457a7f8..53f0485698 100644
--- a/Source/Core/VideoBackends/Vulkan/ObjectCache.h
+++ b/Source/Core/VideoBackends/Vulkan/ObjectCache.h
@@ -154,16 +154,17 @@ public:
// Recompile shared shaders, call when stereo mode changes.
void RecompileSharedShaders();
+ // Reload pipeline cache. This will destroy all pipelines.
+ void ReloadShaderAndPipelineCaches();
+
// Shared shader accessors
VkShaderModule GetScreenQuadVertexShader() const { return m_screen_quad_vertex_shader; }
VkShaderModule GetPassthroughVertexShader() const { return m_passthrough_vertex_shader; }
VkShaderModule GetScreenQuadGeometryShader() const { return m_screen_quad_geometry_shader; }
VkShaderModule GetPassthroughGeometryShader() const { return m_passthrough_geometry_shader; }
- // Gets the filename of the specified type of cache object (e.g. vertex shader, pipeline).
- std::string GetDiskCacheFileName(const char* type);
-
private:
- bool CreatePipelineCache(bool load_from_disk);
+ bool CreatePipelineCache();
+ bool LoadPipelineCache();
bool ValidatePipelineCache(const u8* data, size_t data_length);
void DestroyPipelineCache();
void LoadShaderCaches();