diff options
| author | Scott Mansell <phiren@gmail.com> | 2016-06-26 21:55:22 +1200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-06-26 21:55:22 +1200 |
| commit | ee9e3432cb980ff75b40b40b9f5729fa25a68fc2 (patch) | |
| tree | ae43d36c26ba467b96847c8f0ed16af2a069a0f2 /Source/Core/VideoBackends/D3D/VertexShaderCache.cpp | |
| parent | 2776bcbf55ccc256fd7b43008ee4349d59739cff (diff) | |
| parent | 2f134c5c36c3a9c3c7a618635d98d0bf2191b9f2 (diff) | |
Merge pull request #3513 from phire/make_hdkr_happy
Get shadergen ready for Multithreadded generation of shaders.
Diffstat (limited to 'Source/Core/VideoBackends/D3D/VertexShaderCache.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/D3D/VertexShaderCache.cpp | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/Source/Core/VideoBackends/D3D/VertexShaderCache.cpp b/Source/Core/VideoBackends/D3D/VertexShaderCache.cpp index 7b3f71da26..cdcff17d02 100644 --- a/Source/Core/VideoBackends/D3D/VertexShaderCache.cpp +++ b/Source/Core/VideoBackends/D3D/VertexShaderCache.cpp @@ -24,7 +24,6 @@ namespace DX11 VertexShaderCache::VSCache VertexShaderCache::vshaders; const VertexShaderCache::VSCacheEntry* VertexShaderCache::last_entry; VertexShaderUid VertexShaderCache::last_uid; -UidChecker<VertexShaderUid, ShaderCode> VertexShaderCache::vertex_uid_checker; static ID3D11VertexShader* SimpleVertexShader = nullptr; static ID3D11VertexShader* ClearVertexShader = nullptr; @@ -166,9 +165,6 @@ void VertexShaderCache::Init() VertexShaderCacheInserter inserter; g_vs_disk_cache.OpenAndRead(cache_filename, inserter); - if (g_Config.bEnableShaderDebugging) - Clear(); - last_entry = nullptr; } @@ -177,7 +173,6 @@ void VertexShaderCache::Clear() for (auto& iter : vshaders) iter.second.Destroy(); vshaders.clear(); - vertex_uid_checker.Invalidate(); last_entry = nullptr; } @@ -199,12 +194,7 @@ void VertexShaderCache::Shutdown() bool VertexShaderCache::SetShader() { - VertexShaderUid uid = GetVertexShaderUid(API_D3D); - if (g_ActiveConfig.bEnableShaderDebugging) - { - ShaderCode code = GenerateVertexShaderCode(API_D3D); - vertex_uid_checker.AddToIndexAndCheck(code, uid, "Vertex", "v"); - } + VertexShaderUid uid = GetVertexShaderUid(); if (last_entry) { @@ -227,7 +217,7 @@ bool VertexShaderCache::SetShader() return (entry.shader != nullptr); } - ShaderCode code = GenerateVertexShaderCode(API_D3D); + ShaderCode code = GenerateVertexShaderCode(API_D3D, uid.GetUidData()); D3DBlob* pbytecode = nullptr; D3D::CompileVertexShader(code.GetBuffer(), &pbytecode); @@ -242,11 +232,6 @@ bool VertexShaderCache::SetShader() bool success = InsertByteCode(uid, pbytecode); pbytecode->Release(); - if (g_ActiveConfig.bEnableShaderDebugging && success) - { - vshaders[uid].code = code.GetBuffer(); - } - GFX_DEBUGGER_PAUSE_AT(NEXT_VERTEX_SHADER_CHANGE, true); return success; } |
