by Marisa the Magician » Wed Sep 25, 2019 7:47 am
Ah, figured out what the issue is, just take a look at this loop here in vk_shader.cpp
Code: Select all
for (unsigned i = 0; i < usershaders.Size(); i++)
{
FString name = ExtractFileBase(usershaders[i].shader);
FString defines = defaultshaders[usershaders[i].shaderType].Defines + usershaders[i].defines;
VkShaderProgram prog;
prog.vert = LoadVertShader(name, mainvp, defaultshaders[i].Defines);
prog.frag = LoadFragShader(name, mainfp, usershaders[i].shader, defaultshaders[usershaders[i].shaderType].lightfunc, defines, true, gbufferpass);
mMaterialShaders[j].push_back(std::move(prog));
}
Specifically that LoadVertShader call.
Edit: Oh, sorry, I fixed the links now. Yes, it's a SIGSEGV.
Edit 2: The fix is as simple as changing that last argument to be defaultshaders[usershaders
.shaderType].Defines
Ah, figured out what the issue is, just take a look at this loop here in vk_shader.cpp
[code]
for (unsigned i = 0; i < usershaders.Size(); i++)
{
FString name = ExtractFileBase(usershaders[i].shader);
FString defines = defaultshaders[usershaders[i].shaderType].Defines + usershaders[i].defines;
VkShaderProgram prog;
prog.vert = LoadVertShader(name, mainvp, defaultshaders[i].Defines);
prog.frag = LoadFragShader(name, mainfp, usershaders[i].shader, defaultshaders[usershaders[i].shaderType].lightfunc, defines, true, gbufferpass);
mMaterialShaders[j].push_back(std::move(prog));
}
[/code]
Specifically that LoadVertShader call.
Edit: Oh, sorry, I fixed the links now. Yes, it's a SIGSEGV.
Edit 2: The fix is as simple as changing that last argument to be defaultshaders[usershaders[i].shaderType].Defines