summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/D3D/PixelShaderCache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoBackends/D3D/PixelShaderCache.cpp')
-rw-r--r--Source/Core/VideoBackends/D3D/PixelShaderCache.cpp19
1 files changed, 2 insertions, 17 deletions
diff --git a/Source/Core/VideoBackends/D3D/PixelShaderCache.cpp b/Source/Core/VideoBackends/D3D/PixelShaderCache.cpp
index 3d48784647..7e6bc036e7 100644
--- a/Source/Core/VideoBackends/D3D/PixelShaderCache.cpp
+++ b/Source/Core/VideoBackends/D3D/PixelShaderCache.cpp
@@ -26,7 +26,6 @@ namespace DX11
PixelShaderCache::PSCache PixelShaderCache::PixelShaders;
const PixelShaderCache::PSCacheEntry* PixelShaderCache::last_entry;
PixelShaderUid PixelShaderCache::last_uid;
-UidChecker<PixelShaderUid, ShaderCode> PixelShaderCache::pixel_uid_checker;
LinearDiskCache<PixelShaderUid, u8> g_ps_disk_cache;
@@ -505,9 +504,6 @@ void PixelShaderCache::Init()
PixelShaderCacheInserter inserter;
g_ps_disk_cache.OpenAndRead(cache_filename, inserter);
- if (g_Config.bEnableShaderDebugging)
- Clear();
-
last_entry = nullptr;
}
@@ -517,7 +513,6 @@ void PixelShaderCache::Clear()
for (auto& iter : PixelShaders)
iter.second.Destroy();
PixelShaders.clear();
- pixel_uid_checker.Invalidate();
last_entry = nullptr;
}
@@ -556,12 +551,7 @@ void PixelShaderCache::Shutdown()
bool PixelShaderCache::SetShader(DSTALPHA_MODE dstAlphaMode)
{
- PixelShaderUid uid = GetPixelShaderUid(dstAlphaMode, API_D3D);
- if (g_ActiveConfig.bEnableShaderDebugging)
- {
- ShaderCode code = GeneratePixelShaderCode(dstAlphaMode, API_D3D);
- pixel_uid_checker.AddToIndexAndCheck(code, uid, "Pixel", "p");
- }
+ PixelShaderUid uid = GetPixelShaderUid(dstAlphaMode);
// Check if the shader is already set
if (last_entry)
@@ -588,7 +578,7 @@ bool PixelShaderCache::SetShader(DSTALPHA_MODE dstAlphaMode)
}
// Need to compile a new shader
- ShaderCode code = GeneratePixelShaderCode(dstAlphaMode, API_D3D);
+ ShaderCode code = GeneratePixelShaderCode(dstAlphaMode, API_D3D, uid.GetUidData());
D3DBlob* pbytecode;
if (!D3D::CompilePixelShader(code.GetBuffer(), &pbytecode))
@@ -603,11 +593,6 @@ bool PixelShaderCache::SetShader(DSTALPHA_MODE dstAlphaMode)
bool success = InsertByteCode(uid, pbytecode->Data(), pbytecode->Size());
pbytecode->Release();
- if (g_ActiveConfig.bEnableShaderDebugging && success)
- {
- PixelShaders[uid].code = code.GetBuffer();
- }
-
GFX_DEBUGGER_PAUSE_AT(NEXT_PIXEL_SHADER_CHANGE, true);
return success;
}