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

Method setParallelRenderArgsTLS

Engine/EffectInstance.cpp:277–330  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

275}
276
277void
278EffectInstance::setParallelRenderArgsTLS(double time,
279 ViewIdx view,
280 bool isRenderUserInteraction,
281 bool isSequential,
282 U64 nodeHash,
283 const AbortableRenderInfoPtr& abortInfo,
284 const NodePtr & treeRoot,
285 int visitsCount,
286 const boost::shared_ptr<NodeFrameRequest> & nodeRequest,
287 const OSGLContextPtr& glContext,
288 int textureIndex,
289 const TimeLine* timeline,
290 bool isAnalysis,
291 bool isDuringPaintStrokeCreation,
292 const NodesList & rotoPaintNodes,
293 RenderSafetyEnum currentThreadSafety,
294 PluginOpenGLRenderSupport currentOpenGLSupport,
295 bool doNanHandling,
296 bool draftMode,
297 const boost::shared_ptr<RenderStats> & stats)
298{
299 EffectDataTLSPtr tls = _imp->tlsData->getOrCreateTLSData();
300 std::list<boost::shared_ptr<ParallelRenderArgs> >& argsList = tls->frameArgs;
301 boost::shared_ptr<ParallelRenderArgs> args(new ParallelRenderArgs);
302
303 args->time = time;
304 args->timeline = timeline;
305 args->view = view;
306 args->isRenderResponseToUserInteraction = isRenderUserInteraction;
307 args->isSequentialRender = isSequential;
308 args->request = nodeRequest;
309 if (nodeRequest) {
310 args->nodeHash = nodeRequest->nodeHash;
311 } else {
312 args->nodeHash = nodeHash;
313 }
314 assert(abortInfo);
315 args->abortInfo = abortInfo;
316 args->treeRoot = treeRoot;
317 args->visitsCount = visitsCount;
318 args->textureIndex = textureIndex;
319 args->isAnalysis = isAnalysis;
320 args->isDuringPaintStrokeCreation = isDuringPaintStrokeCreation;
321 args->currentThreadSafety = currentThreadSafety;
322 args->currentOpenglSupport = currentOpenGLSupport;
323 args->rotoPaintNodes = rotoPaintNodes;
324 args->doNansHandling = isAnalysis ? false : doNanHandling;
325 args->draftMode = draftMode;
326 args->tilesSupported = getNode()->getCurrentSupportTiles();
327 args->stats = stats;
328 args->openGLContext = glContext;
329 argsList.push_back(args);
330}
331
332bool
333EffectInstance::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