MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/Falcor / link

Method link

Source/Falcor/Core/Program/Program.cpp:319–346  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

317}
318
319bool Program::link() const
320{
321 while (1)
322 {
323 // Create the program
324 std::string log;
325 auto pVersion = mpDevice->getProgramManager()->createProgramVersion(*this, log);
326
327 if (pVersion == nullptr)
328 {
329 std::string msg = "Failed to link program:\n" + getProgramDescString() + "\n\n" + log;
330 bool showMessageBox = is_set(getErrorDiagnosticFlags(), ErrorDiagnosticFlags::ShowMessageBoxOnError);
331 if (showMessageBox && reportErrorAndAllowRetry(msg))
332 continue;
333 FALCOR_THROW(msg);
334 }
335 else
336 {
337 if (!log.empty())
338 {
339 logWarning("Warnings in program:\n{}\n{}", getProgramDescString(), log);
340 }
341
342 mpActiveVersion = pVersion;
343 return true;
344 }
345 }
346}
347
348void Program::reset()
349{

Callers

nothing calls this directly

Calls 5

getErrorDiagnosticFlagsFunction · 0.85
reportErrorAndAllowRetryFunction · 0.85
createProgramVersionMethod · 0.80
logWarningFunction · 0.50
emptyMethod · 0.45

Tested by

no test coverage detected