summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_pipeline_cache.h
diff options
context:
space:
mode:
authorameerj <aj662@drexel.edu>2020-07-31 23:30:05 +0200
committerameerj <aj662@drexel.edu>2020-08-16 18:02:22 +0200
commitc02464f64e302b8c9ea0f310e6fd85834d26cca5 (patch)
treeddf37cedd4f779690a677a89770b394905da7196 /src/video_core/renderer_vulkan/vk_pipeline_cache.h
parentAddress feedback. Bruteforce delete duplicates (diff)
downloadyuzu-c02464f64e302b8c9ea0f310e6fd85834d26cca5.tar
yuzu-c02464f64e302b8c9ea0f310e6fd85834d26cca5.tar.gz
yuzu-c02464f64e302b8c9ea0f310e6fd85834d26cca5.tar.bz2
yuzu-c02464f64e302b8c9ea0f310e6fd85834d26cca5.tar.lz
yuzu-c02464f64e302b8c9ea0f310e6fd85834d26cca5.tar.xz
yuzu-c02464f64e302b8c9ea0f310e6fd85834d26cca5.tar.zst
yuzu-c02464f64e302b8c9ea0f310e6fd85834d26cca5.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_vulkan/vk_pipeline_cache.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.h b/src/video_core/renderer_vulkan/vk_pipeline_cache.h
index 404f2b3f7..777ef2038 100644
--- a/src/video_core/renderer_vulkan/vk_pipeline_cache.h
+++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.h
@@ -193,6 +193,8 @@ public:
return renderpass_cache;
}
+ void EmplacePipeline(std::unique_ptr<VKGraphicsPipeline> pipeline);
+
protected:
void OnShaderRemoval(Shader* shader) final;
@@ -216,6 +218,7 @@ private:
VKGraphicsPipeline* last_graphics_pipeline = nullptr;
std::vector<std::unique_ptr<VKGraphicsPipeline>> duplicates;
+ std::mutex pipeline_cache;
std::unordered_map<GraphicsPipelineCacheKey, std::unique_ptr<VKGraphicsPipeline>>
graphics_cache;
std::unordered_map<ComputePipelineCacheKey, std::unique_ptr<VKComputePipeline>> compute_cache;