diff options
| author | Jules Blok <jules.blok@gmail.com> | 2017-02-19 12:02:47 +0100 |
|---|---|---|
| committer | Jules Blok <jules.blok@gmail.com> | 2017-02-19 12:05:44 +0100 |
| commit | 21967b1f6e5b61d2799e9d416021acc47a3a9fc5 (patch) | |
| tree | 8ca38aeb1f84a736fc04beccae9209338a7150bb /Source/Core/VideoBackends/Vulkan/ObjectCache.cpp | |
| parent | 51944afa56fca91c30c2b098ee75728d3784c0ae (diff) | |
VideoBackends: Add a developer option to disable the shader cache.
Makes it easier to disable the cache while working on the shaders.
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/ObjectCache.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/Vulkan/ObjectCache.cpp | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp b/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp index e484c27dac..94d9178aa9 100644 --- a/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp +++ b/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp @@ -536,21 +536,25 @@ struct ShaderCacheReader : public LinearDiskCacheReader<Uid, u32> void ObjectCache::LoadShaderCaches() { - ShaderCacheReader<VertexShaderUid> vs_reader(m_vs_cache.shader_map); - m_vs_cache.disk_cache.OpenAndRead(GetDiskCacheFileName("vs"), vs_reader); - SETSTAT(stats.numVertexShadersCreated, static_cast<int>(m_vs_cache.shader_map.size())); - SETSTAT(stats.numVertexShadersAlive, static_cast<int>(m_vs_cache.shader_map.size())); + if (g_ActiveConfig.bShaderCache) + { + ShaderCacheReader<VertexShaderUid> vs_reader(m_vs_cache.shader_map); + m_vs_cache.disk_cache.OpenAndRead(GetDiskCacheFileName("vs"), vs_reader); - ShaderCacheReader<PixelShaderUid> ps_reader(m_ps_cache.shader_map); - m_ps_cache.disk_cache.OpenAndRead(GetDiskCacheFileName("ps"), ps_reader); - SETSTAT(stats.numPixelShadersCreated, static_cast<int>(m_ps_cache.shader_map.size())); - SETSTAT(stats.numPixelShadersAlive, static_cast<int>(m_ps_cache.shader_map.size())); + ShaderCacheReader<PixelShaderUid> ps_reader(m_ps_cache.shader_map); + m_ps_cache.disk_cache.OpenAndRead(GetDiskCacheFileName("ps"), ps_reader); - if (g_vulkan_context->SupportsGeometryShaders()) - { - ShaderCacheReader<GeometryShaderUid> gs_reader(m_gs_cache.shader_map); - m_gs_cache.disk_cache.OpenAndRead(GetDiskCacheFileName("gs"), gs_reader); + if (g_vulkan_context->SupportsGeometryShaders()) + { + ShaderCacheReader<GeometryShaderUid> gs_reader(m_gs_cache.shader_map); + m_gs_cache.disk_cache.OpenAndRead(GetDiskCacheFileName("gs"), gs_reader); + } } + + SETSTAT(stats.numPixelShadersCreated, static_cast<int>(m_ps_cache.shader_map.size())); + SETSTAT(stats.numPixelShadersAlive, static_cast<int>(m_ps_cache.shader_map.size())); + SETSTAT(stats.numVertexShadersCreated, static_cast<int>(m_vs_cache.shader_map.size())); + SETSTAT(stats.numVertexShadersAlive, static_cast<int>(m_vs_cache.shader_map.size())); } template <typename T> |
