From 28c7113e41a70e278e033094d3088e58eeb00c88 Mon Sep 17 00:00:00 2001 From: Scott Mansell Date: Sat, 16 Jan 2016 23:49:39 +1300 Subject: Multithreadded Shadergen: Second Pass over geometery Shadergen --- Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp') diff --git a/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp b/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp index f899f7f078..72a9c6bb4c 100644 --- a/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp +++ b/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp @@ -196,10 +196,10 @@ void GeometryShaderCache::Shutdown() bool GeometryShaderCache::SetShader(u32 primitive_type) { - GeometryShaderUid uid = GetGeometryShaderUid(primitive_type, API_D3D); + GeometryShaderUid uid = GetGeometryShaderUid(primitive_type); if (g_ActiveConfig.bEnableShaderDebugging) { - ShaderCode code = GenerateGeometryShaderCode(primitive_type, API_D3D); + ShaderCode code = GenerateGeometryShaderCode(primitive_type, API_D3D, uid.GetUidData()); geometry_uid_checker.AddToIndexAndCheck(code, uid, "Geometry", "g"); } @@ -235,7 +235,7 @@ bool GeometryShaderCache::SetShader(u32 primitive_type) } // Need to compile a new shader - ShaderCode code = GenerateGeometryShaderCode(primitive_type, API_D3D); + ShaderCode code = GenerateGeometryShaderCode(primitive_type, API_D3D, uid.GetUidData()); D3DBlob* pbytecode; if (!D3D::CompileGeometryShader(code.GetBuffer(), &pbytecode)) -- cgit v1.2.3 From 95469ec225f325020221c4495b94a7b7cb2475a8 Mon Sep 17 00:00:00 2001 From: Scott Mansell Date: Sun, 17 Jan 2016 01:57:59 +1300 Subject: Remove UID Checker. Kind of pointless now that multiple shaders with the same UID are now fundementally impossible. --- Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp | 7 ------- 1 file changed, 7 deletions(-) (limited to 'Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp') diff --git a/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp b/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp index 72a9c6bb4c..bf0a75c7d8 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 GeometryShaderCache::geometry_uid_checker; const GeometryShaderCache::GSCacheEntry GeometryShaderCache::pass_entry; ID3D11GeometryShader* ClearGeometryShader = nullptr; @@ -177,7 +176,6 @@ void GeometryShaderCache::Clear() for (auto& iter : GeometryShaders) iter.second.Destroy(); GeometryShaders.clear(); - geometry_uid_checker.Invalidate(); last_entry = nullptr; } @@ -197,11 +195,6 @@ void GeometryShaderCache::Shutdown() bool GeometryShaderCache::SetShader(u32 primitive_type) { GeometryShaderUid uid = GetGeometryShaderUid(primitive_type); - if (g_ActiveConfig.bEnableShaderDebugging) - { - ShaderCode code = GenerateGeometryShaderCode(primitive_type, API_D3D, uid.GetUidData()); - geometry_uid_checker.AddToIndexAndCheck(code, uid, "Geometry", "g"); - } // Check if the shader is already set if (last_entry) -- cgit v1.2.3 From ebe5fd0b36556a39ac25052966261b56d90ea1ae Mon Sep 17 00:00:00 2001 From: Scott Mansell Date: Sun, 28 Feb 2016 09:46:58 +1300 Subject: Multithreadded Shadergen: Minor fixups. --- Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp') diff --git a/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp b/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp index bf0a75c7d8..bacca56a7b 100644 --- a/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp +++ b/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp @@ -228,7 +228,7 @@ bool GeometryShaderCache::SetShader(u32 primitive_type) } // Need to compile a new shader - ShaderCode code = GenerateGeometryShaderCode(primitive_type, API_D3D, uid.GetUidData()); + ShaderCode code = GenerateGeometryShaderCode(API_D3D, uid.GetUidData()); D3DBlob* pbytecode; if (!D3D::CompileGeometryShader(code.GetBuffer(), &pbytecode)) -- cgit v1.2.3 From 2f134c5c36c3a9c3c7a618635d98d0bf2191b9f2 Mon Sep 17 00:00:00 2001 From: Scott Mansell Date: Sun, 28 Feb 2016 10:01:25 +1300 Subject: Remove the rest of ShaderDebugging. Without UID checking, it's basically a no-op that disables shader cache and stores the shader source code (without ever reading it back). --- Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp | 8 -------- 1 file changed, 8 deletions(-) (limited to 'Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp') diff --git a/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp b/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp index bacca56a7b..1452e617e3 100644 --- a/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp +++ b/Source/Core/VideoBackends/D3D/GeometryShaderCache.cpp @@ -164,9 +164,6 @@ void GeometryShaderCache::Init() GeometryShaderCacheInserter inserter; g_gs_disk_cache.OpenAndRead(cache_filename, inserter); - if (g_Config.bEnableShaderDebugging) - Clear(); - last_entry = nullptr; } @@ -243,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; } -- cgit v1.2.3