Fix #1060: Could crash if using --source-entry-point with -e; fixed.
This commit is contained in:
parent
5a57ca680f
commit
3693e631f5
@ -781,8 +781,12 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
|||||||
shader->setStringsWithLengthsAndNames(compUnit.text, NULL, compUnit.fileNameList, compUnit.count);
|
shader->setStringsWithLengthsAndNames(compUnit.text, NULL, compUnit.fileNameList, compUnit.count);
|
||||||
if (entryPointName) // HLSL todo: this needs to be tracked per compUnits
|
if (entryPointName) // HLSL todo: this needs to be tracked per compUnits
|
||||||
shader->setEntryPoint(entryPointName);
|
shader->setEntryPoint(entryPointName);
|
||||||
if (sourceEntryPointName)
|
if (sourceEntryPointName) {
|
||||||
|
if (entryPointName == nullptr)
|
||||||
|
printf("Warning: Changing source entry point name without setting an entry-point name.\n"
|
||||||
|
"Use '-e <name>'.\n");
|
||||||
shader->setSourceEntryPoint(sourceEntryPointName);
|
shader->setSourceEntryPoint(sourceEntryPointName);
|
||||||
|
}
|
||||||
if (UserPreamble.isSet())
|
if (UserPreamble.isSet())
|
||||||
shader->setPreamble(UserPreamble.get());
|
shader->setPreamble(UserPreamble.get());
|
||||||
shader->addProcesses(Processes);
|
shader->addProcesses(Processes);
|
||||||
|
|||||||
@ -152,7 +152,7 @@ public:
|
|||||||
{
|
{
|
||||||
// Replace the entry point name given in the shader with the real entry point name,
|
// Replace the entry point name given in the shader with the real entry point name,
|
||||||
// if there is a substitution.
|
// if there is a substitution.
|
||||||
if (name != nullptr && *name == sourceEntryPointName)
|
if (name != nullptr && *name == sourceEntryPointName && intermediate.getEntryPointName().size() > 0)
|
||||||
name = NewPoolTString(intermediate.getEntryPointName().c_str());
|
name = NewPoolTString(intermediate.getEntryPointName().c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user