nicer error handling in the tonemapper when given the -t parameter
parent
f24b51666a
commit
31761b3afd
|
@ -283,6 +283,7 @@ public:
|
||||||
|
|
||||||
if (runParallel) {
|
if (runParallel) {
|
||||||
ref<Logger> logger = Thread::getThread()->getLogger();
|
ref<Logger> logger = Thread::getThread()->getLogger();
|
||||||
|
std::vector<std::string> messages;
|
||||||
|
|
||||||
#if defined(MTS_OPENMP)
|
#if defined(MTS_OPENMP)
|
||||||
#pragma omp parallel for schedule(static)
|
#pragma omp parallel for schedule(static)
|
||||||
|
@ -293,7 +294,7 @@ public:
|
||||||
thread = Thread::registerUnmanagedThread("omp");
|
thread = Thread::registerUnmanagedThread("omp");
|
||||||
thread->setLogger(logger);
|
thread->setLogger(logger);
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
fs::path inputFile = fileResolver->resolve(argv[i]);
|
fs::path inputFile = fileResolver->resolve(argv[i]);
|
||||||
Log(EInfo, "Loading image \"%s\" ..", inputFile.string().c_str());
|
Log(EInfo, "Loading image \"%s\" ..", inputFile.string().c_str());
|
||||||
ref<FileStream> is = new FileStream(inputFile, FileStream::EReadOnly);
|
ref<FileStream> is = new FileStream(inputFile, FileStream::EReadOnly);
|
||||||
|
@ -349,6 +350,15 @@ public:
|
||||||
|
|
||||||
ref<FileStream> os = new FileStream(outputFile, FileStream::ETruncReadWrite);
|
ref<FileStream> os = new FileStream(outputFile, FileStream::ETruncReadWrite);
|
||||||
output->write(format, os);
|
output->write(format, os);
|
||||||
|
} catch (const std::exception &e) {
|
||||||
|
#pragma omp critical
|
||||||
|
messages.push_back(e.what());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!messages.empty()) {
|
||||||
|
Log(EWarn, "The tonemapping worker threads encountered several issues:");
|
||||||
|
for (size_t i=0; i<messages.size(); ++i)
|
||||||
|
Log(EWarn, "Exception %i: %s", (int) i, messages[i].c_str());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ref<Bitmap> bloomFilter;
|
ref<Bitmap> bloomFilter;
|
||||||
|
|
Loading…
Reference in New Issue