summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/D3D12/ShaderCache.cpp
diff options
context:
space:
mode:
authorScott Mansell <phiren@gmail.com>2016-01-16 23:49:39 +1300
committerScott Mansell <phiren@gmail.com>2016-06-26 16:13:21 +1200
commit28c7113e41a70e278e033094d3088e58eeb00c88 (patch)
tree57039ebcb4e98b9a7a51397dd6be783c43e6e553 /Source/Core/VideoBackends/D3D12/ShaderCache.cpp
parentfa02f47729b0caeec455a47dcd032d663a47a645 (diff)
Multithreadded Shadergen: Second Pass over geometery Shadergen
Diffstat (limited to 'Source/Core/VideoBackends/D3D12/ShaderCache.cpp')
-rw-r--r--Source/Core/VideoBackends/D3D12/ShaderCache.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/Core/VideoBackends/D3D12/ShaderCache.cpp b/Source/Core/VideoBackends/D3D12/ShaderCache.cpp
index 2f93956003..677d50f426 100644
--- a/Source/Core/VideoBackends/D3D12/ShaderCache.cpp
+++ b/Source/Core/VideoBackends/D3D12/ShaderCache.cpp
@@ -162,7 +162,7 @@ void ShaderCache::LoadAndSetActiveShaders(DSTALPHA_MODE ps_dst_alpha_mode, u32 g
{
SetCurrentPrimitiveTopology(gs_primitive_type);
- GeometryShaderUid gs_uid = GetGeometryShaderUid(gs_primitive_type, API_D3D);
+ GeometryShaderUid gs_uid = GetGeometryShaderUid(gs_primitive_type);
PixelShaderUid ps_uid = GetPixelShaderUid(ps_dst_alpha_mode, API_D3D);
VertexShaderUid vs_uid = GetVertexShaderUid(API_D3D);
@@ -219,7 +219,7 @@ void ShaderCache::HandleGSUIDChange(GeometryShaderUid gs_uid, u32 gs_primitive_t
if (g_ActiveConfig.bEnableShaderDebugging)
{
- ShaderCode code = GenerateGeometryShaderCode(gs_primitive_type, API_D3D);
+ ShaderCode code = GenerateGeometryShaderCode(gs_primitive_type, API_D3D, gs_uid.GetUidData());
s_geometry_uid_checker.AddToIndexAndCheck(code, gs_uid, "Geometry", "g");
}
@@ -236,7 +236,8 @@ void ShaderCache::HandleGSUIDChange(GeometryShaderUid gs_uid, u32 gs_primitive_t
}
else
{
- ShaderCode gs_code = GenerateGeometryShaderCode(gs_primitive_type, API_D3D);
+ ShaderCode gs_code =
+ GenerateGeometryShaderCode(gs_primitive_type, API_D3D, gs_uid.GetUidData());
ID3DBlob* gs_bytecode = nullptr;
if (!D3D::CompileGeometryShader(gs_code.GetBuffer(), &gs_bytecode))