-
Notifications
You must be signed in to change notification settings - Fork 194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BsfImportTool depends on pre-built assets, crashes without them #387
Comments
Yeah I've encountered this myself last week. The proper solution would be to get the import tool to compile with null renderer and render backend. If that's not enough, then add checks in these sort of places, so they can handle the case when the builtin assets are missing (or an #if with a separate code path for the import tool). It's something I'll get around to, but for now not a high priority unless its blocking someone. |
Simply replacing it with null renderer and backend fails around here
|
I've encountered this problem when working on the
VertexDataDecl
PR, when theVertexDataDecl
was used in some places that caused the serialized structure layout to change inGpuProgramBytecode
. I can force it to work by reverting a few changes around there, but I think that this problem can make any future changes to serialized shader asset layout quite painful? Below is the analysis of the issue:The import tool cannot be started if the compiled shader assets are missing. Even if we want to create compiled shader assets 😄
This is caused by the following reduced chain of calls:
bsfImportTool
on"IrradianceComputeSH.bsl"
executes:Application::startUp
which callsRenderBeast::initializeCore
which callsRenderBeastIBLUtility::filterCubemapForIrradiance
which requires thatBuiltinResources::getShader
returned a proper shader for"IrradianceComputeSH.bsl"
This looks very much like a bootstrap problem encountered when a compiler is written in a language it's meant to compile.
The text was updated successfully, but these errors were encountered: