Multithreadded Shadergen: Second Pass over geometery Shadergen

This commit is contained in:
Scott Mansell
2016-01-16 23:49:39 +13:00
parent fa02f47729
commit 28c7113e41
7 changed files with 69 additions and 71 deletions

View File

@ -27,7 +27,7 @@ public:
protected:
virtual Uid GetUid(DSTALPHA_MODE dst_alpha_mode, u32 primitive_type, API_TYPE api_type) = 0;
virtual ShaderCode GenerateCode(DSTALPHA_MODE dst_alpha_mode, u32 primitive_type,
API_TYPE api_type) = 0;
API_TYPE api_type, Uid uid) = 0;
private:
std::map<Uid, std::string> m_shaders;
@ -47,8 +47,8 @@ protected:
{
return GetVertexShaderUid(api_type);
}
ShaderCode GenerateCode(DSTALPHA_MODE dst_alpha_mode, u32 primitive_type,
API_TYPE api_type) override
ShaderCode GenerateCode(DSTALPHA_MODE dst_alpha_mode, u32 primitive_type, API_TYPE api_type,
VertexShaderUid uid) override
{
return GenerateVertexShaderCode(api_type);
}
@ -63,12 +63,12 @@ protected:
GeometryShaderUid GetUid(DSTALPHA_MODE dst_alpha_mode, u32 primitive_type,
API_TYPE api_type) override
{
return GetGeometryShaderUid(primitive_type, api_type);
return GetGeometryShaderUid(primitive_type);
}
ShaderCode GenerateCode(DSTALPHA_MODE dst_alpha_mode, u32 primitive_type,
API_TYPE api_type) override
ShaderCode GenerateCode(DSTALPHA_MODE dst_alpha_mode, u32 primitive_type, API_TYPE api_type,
GeometryShaderUid uid) override
{
return GenerateGeometryShaderCode(primitive_type, api_type);
return GenerateGeometryShaderCode(primitive_type, api_type, uid.GetUidData());
}
};
@ -83,8 +83,8 @@ protected:
{
return GetPixelShaderUid(dst_alpha_mode, api_type);
}
ShaderCode GenerateCode(DSTALPHA_MODE dst_alpha_mode, u32 primitive_type,
API_TYPE api_type) override
ShaderCode GenerateCode(DSTALPHA_MODE dst_alpha_mode, u32 primitive_type, API_TYPE api_type,
PixelShaderUid) override
{
return GeneratePixelShaderCode(dst_alpha_mode, api_type);
}