diff options
| author | Scott Mansell <phiren@gmail.com> | 2016-01-17 00:34:06 +1300 |
|---|---|---|
| committer | Scott Mansell <phiren@gmail.com> | 2016-06-26 16:13:21 +1200 |
| commit | 1a831cfc7d4c43f418ae4d65b579bf430aeb278d (patch) | |
| tree | 108d1f51697f594cb64c676fdaa9515368db054a /Source/Core/VideoBackends/D3D12/ShaderCache.cpp | |
| parent | 28c7113e41a70e278e033094d3088e58eeb00c88 (diff) | |
Multithreadded Shadergen: Second Pass over vertex/lighting Shadergens
As much as possible, the asserts have been moved out of the GetUID
function. But there are some places where asserts depend on variables
that aren't stored in the shader UID.
Diffstat (limited to 'Source/Core/VideoBackends/D3D12/ShaderCache.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/D3D12/ShaderCache.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Source/Core/VideoBackends/D3D12/ShaderCache.cpp b/Source/Core/VideoBackends/D3D12/ShaderCache.cpp index 677d50f426..5c4cf17962 100644 --- a/Source/Core/VideoBackends/D3D12/ShaderCache.cpp +++ b/Source/Core/VideoBackends/D3D12/ShaderCache.cpp @@ -164,7 +164,7 @@ void ShaderCache::LoadAndSetActiveShaders(DSTALPHA_MODE ps_dst_alpha_mode, u32 g GeometryShaderUid gs_uid = GetGeometryShaderUid(gs_primitive_type); PixelShaderUid ps_uid = GetPixelShaderUid(ps_dst_alpha_mode, API_D3D); - VertexShaderUid vs_uid = GetVertexShaderUid(API_D3D); + VertexShaderUid vs_uid = GetVertexShaderUid(); bool gs_changed = gs_uid != s_last_geometry_shader_uid; bool ps_changed = ps_uid != s_last_pixel_shader_uid; @@ -304,7 +304,7 @@ void ShaderCache::HandleVSUIDChange(VertexShaderUid vs_uid) if (g_ActiveConfig.bEnableShaderDebugging) { - ShaderCode code = GenerateVertexShaderCode(API_D3D); + ShaderCode code = GenerateVertexShaderCode(API_D3D, vs_uid.GetUidData()); s_vertex_uid_checker.AddToIndexAndCheck(code, vs_uid, "Vertex", "v"); } @@ -316,7 +316,7 @@ void ShaderCache::HandleVSUIDChange(VertexShaderUid vs_uid) } else { - ShaderCode vs_code = GenerateVertexShaderCode(API_D3D); + ShaderCode vs_code = GenerateVertexShaderCode(API_D3D, vs_uid.GetUidData()); ID3DBlob* vs_bytecode = nullptr; if (!D3D::CompileVertexShader(vs_code.GetBuffer(), &vs_bytecode)) |
