MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / setParallelRenderArgsTLS

Method setParallelRenderArgsTLS

Engine/EffectInstance.cpp:269–322  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

267}
268
269void
270EffectInstance::setParallelRenderArgsTLS(double time,
271 ViewIdx view,
272 bool isRenderUserInteraction,
273 bool isSequential,
274 U64 nodeHash,
275 const AbortableRenderInfoPtr& abortInfo,
276 const NodePtr & treeRoot,
277 int visitsCount,
278 const NodeFrameRequestPtr & nodeRequest,
279 const OSGLContextPtr& glContext,
280 int textureIndex,
281 const TimeLine* timeline,
282 bool isAnalysis,
283 bool isDuringPaintStrokeCreation,
284 const NodesList & rotoPaintNodes,
285 RenderSafetyEnum currentThreadSafety,
286 PluginOpenGLRenderSupport currentOpenGLSupport,
287 bool doNanHandling,
288 bool draftMode,
289 const RenderStatsPtr & stats)
290{
291 EffectTLSDataPtr tls = _imp->tlsData->getOrCreateTLSData();
292 std::list<ParallelRenderArgsPtr>& argsList = tls->frameArgs;
293 ParallelRenderArgsPtr args = std::make_shared<ParallelRenderArgs>();
294
295 args->time = time;
296 args->timeline = timeline;
297 args->view = view;
298 args->isRenderResponseToUserInteraction = isRenderUserInteraction;
299 args->isSequentialRender = isSequential;
300 args->request = nodeRequest;
301 if (nodeRequest) {
302 args->nodeHash = nodeRequest->nodeHash;
303 } else {
304 args->nodeHash = nodeHash;
305 }
306 assert(abortInfo);
307 args->abortInfo = abortInfo;
308 args->treeRoot = treeRoot;
309 args->visitsCount = visitsCount;
310 args->textureIndex = textureIndex;
311 args->isAnalysis = isAnalysis;
312 args->isDuringPaintStrokeCreation = isDuringPaintStrokeCreation;
313 args->currentThreadSafety = currentThreadSafety;
314 args->currentOpenglSupport = currentOpenGLSupport;
315 args->rotoPaintNodes = rotoPaintNodes;
316 args->doNansHandling = isAnalysis ? false : doNanHandling;
317 args->draftMode = draftMode;
318 args->tilesSupported = getNode()->getCurrentSupportTiles();
319 args->stats = stats;
320 args->openGLContext = glContext;
321 argsList.push_back(args);
322}
323
324bool
325EffectInstance::getThreadLocalRotoPaintTreeNodes(NodesList* nodes) const

Callers 2

Calls 5

getOrCreateTLSDataMethod · 0.80
getNodeFunction · 0.70
push_backMethod · 0.45
lockMethod · 0.45

Tested by

no test coverage detected