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.
This commit is contained in:
Scott Mansell
2016-01-17 00:34:06 +13:00
parent 28c7113e41
commit 1a831cfc7d
8 changed files with 114 additions and 76 deletions

View File

@ -199,10 +199,10 @@ void VertexShaderCache::Shutdown()
bool VertexShaderCache::SetShader()
{
VertexShaderUid uid = GetVertexShaderUid(API_D3D);
VertexShaderUid uid = GetVertexShaderUid();
if (g_ActiveConfig.bEnableShaderDebugging)
{
ShaderCode code = GenerateVertexShaderCode(API_D3D);
ShaderCode code = GenerateVertexShaderCode(API_D3D, uid.GetUidData());
vertex_uid_checker.AddToIndexAndCheck(code, uid, "Vertex", "v");
}
@ -227,7 +227,7 @@ bool VertexShaderCache::SetShader()
return (entry.shader != nullptr);
}
ShaderCode code = GenerateVertexShaderCode(API_D3D);
ShaderCode code = GenerateVertexShaderCode(API_D3D, uid.GetUidData());
D3DBlob* pbytecode = nullptr;
D3D::CompileVertexShader(code.GetBuffer(), &pbytecode);