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/GeometryShaderCache.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/GeometryShaderCache.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp b/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp index f899f7f078..1452e617e3 100644 --- a/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp +++ b/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp @@ -26,7 +26,6 @@ namespace DX11 GeometryShaderCache::GSCache GeometryShaderCache::GeometryShaders; const GeometryShaderCache::GSCacheEntry* GeometryShaderCache::last_entry; GeometryShaderUid GeometryShaderCache::last_uid; -UidChecker<GeometryShaderUid, ShaderCode> GeometryShaderCache::geometry_uid_checker; const GeometryShaderCache::GSCacheEntry GeometryShaderCache::pass_entry; ID3D11GeometryShader* ClearGeometryShader = nullptr; @@ -165,9 +164,6 @@ void GeometryShaderCache::Init() GeometryShaderCacheInserter inserter; g_gs_disk_cache.OpenAndRead(cache_filename, inserter); - if (g_Config.bEnableShaderDebugging) - Clear(); - last_entry = nullptr; } @@ -177,7 +173,6 @@ void GeometryShaderCache::Clear() for (auto& iter : GeometryShaders) iter.second.Destroy(); GeometryShaders.clear(); - geometry_uid_checker.Invalidate(); last_entry = nullptr; } @@ -196,12 +191,7 @@ void GeometryShaderCache::Shutdown() bool GeometryShaderCache::SetShader(u32 primitive_type) { - GeometryShaderUid uid = GetGeometryShaderUid(primitive_type, API_D3D); - if (g_ActiveConfig.bEnableShaderDebugging) - { - ShaderCode code = GenerateGeometryShaderCode(primitive_type, API_D3D); - geometry_uid_checker.AddToIndexAndCheck(code, uid, "Geometry", "g"); - } + GeometryShaderUid uid = GetGeometryShaderUid(primitive_type); // Check if the shader is already set if (last_entry) @@ -235,7 +225,7 @@ bool GeometryShaderCache::SetShader(u32 primitive_type) } // Need to compile a new shader - ShaderCode code = GenerateGeometryShaderCode(primitive_type, API_D3D); + ShaderCode code = GenerateGeometryShaderCode(API_D3D, uid.GetUidData()); D3DBlob* pbytecode; if (!D3D::CompileGeometryShader(code.GetBuffer(), &pbytecode)) @@ -250,11 +240,6 @@ bool GeometryShaderCache::SetShader(u32 primitive_type) bool success = InsertByteCode(uid, pbytecode->Data(), pbytecode->Size()); pbytecode->Release(); - if (g_ActiveConfig.bEnableShaderDebugging && success) - { - GeometryShaders[uid].code = code.GetBuffer(); - } - return success; } |
