UberShader: Handle case where entry points come from imported modules
This commit is contained in:
parent
f3c889c5d5
commit
813314b5d5
|
|
@ -100,6 +100,7 @@ namespace Nz
|
||||||
|
|
||||||
nzsl::Ast::SanitizeVisitor::Options sanitizeOptions;
|
nzsl::Ast::SanitizeVisitor::Options sanitizeOptions;
|
||||||
sanitizeOptions.allowPartialSanitization = true;
|
sanitizeOptions.allowPartialSanitization = true;
|
||||||
|
sanitizeOptions.moduleResolver = Graphics::Instance()->GetShaderModuleResolver();
|
||||||
|
|
||||||
nzsl::Ast::ModulePtr sanitizedModule = nzsl::Ast::Sanitize(module, sanitizeOptions);
|
nzsl::Ast::ModulePtr sanitizedModule = nzsl::Ast::Sanitize(module, sanitizeOptions);
|
||||||
|
|
||||||
|
|
@ -122,7 +123,7 @@ namespace Nz
|
||||||
};
|
};
|
||||||
|
|
||||||
nzsl::Ast::ReflectVisitor reflect;
|
nzsl::Ast::ReflectVisitor reflect;
|
||||||
reflect.Reflect(*sanitizedModule->rootNode, callbacks);
|
reflect.Reflect(*sanitizedModule, callbacks);
|
||||||
|
|
||||||
if ((m_shaderStages & supportedStageType) != m_shaderStages)
|
if ((m_shaderStages & supportedStageType) != m_shaderStages)
|
||||||
throw std::runtime_error("shader doesn't support all required shader stages");
|
throw std::runtime_error("shader doesn't support all required shader stages");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue