fixed a bug that it don't Add(mtl) at RenderResource::CreateMaterial(MaterialCreateInfo *)

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-03-21 18:05:27 +08:00
parent fb4c8ed8c2
commit bc9fc9b50f

View File

@ -199,7 +199,7 @@ Material *RenderResource::CreateMaterial(const OSString &filename)
return(mtl); return(mtl);
} }
Material *RenderResource::CreateMaterial(const hgl::shadergen::MaterialCreateInfo *mci) Material *RenderResource::CreateMaterial(const MaterialCreateInfo *mci)
{ {
if(!mci) if(!mci)
return(nullptr); return(nullptr);
@ -211,8 +211,6 @@ Material *RenderResource::CreateMaterial(const hgl::shadergen::MaterialCreateInf
if(material_by_name.Get(mtl_name,mtl)) if(material_by_name.Get(mtl_name,mtl))
return mtl; return mtl;
SHADERGEN_NAMESPACE_USING
const uint count=GetShaderCountByBits(mci->GetShaderStage()); const uint count=GetShaderCountByBits(mci->GetShaderStage());
const ShaderModule *sm; const ShaderModule *sm;
@ -272,6 +270,10 @@ Material *RenderResource::CreateMaterial(const hgl::shadergen::MaterialCreateInf
delete mdm; delete mdm;
delete smm; delete smm;
} }
else
{
Add(mtl);
}
material_by_name.Add(mtl_name,mtl); material_by_name.Add(mtl_name,mtl);
return mtl; return mtl;