9 #ifndef __PDG_PARTITIONER_H__
10 #define __PDG_PARTITIONER_H__
23 class PDG_FeedbackBegin;
46 bool inclusive)
const override;
71 {
return (myPartitionWhen > eAllInputsCooked); }
98 bool did_cook)
override;
123 bool dynamic_inputs)
override;
164 eAllTargetsGenerated,
167 eEachTargetGenerated,
210 bool cacheMergePatterns();
213 SyncResult syncPartitionAttributes(
224 bool partitionFromTarget(
232 bool partitionWorkItems(
239 bool partitionStandard(
256 void addLoopDependency(
262 void addLoopDependencies(
267 void removeStalePartitions();
277 PartitionMap myPartitionMap;
279 PDG_FeedbackBegin* myFeedbackBegin;
281 LoopDependencies myLoopDependencies;
282 TargetMap myTargetPartitions;
283 TargetMapInv myTargetPartitionsInv;
291 SplitMissing mySplitMissing;
293 PartitionWhen myPartitionWhen;
294 PartitionFrame myPartitionFrame;
298 bool myHasCustomFrame;
299 bool myMergeAttributes;
300 bool myStoreWorkItemIDs;
301 bool myIgnoreFailedItems;
virtual bool cookWorkItem(PDGE_Resolutions &resolutions, PDG_WorkItem *work_item, bool did_cook)
virtual bool queueWorkItem(PDG_WorkItem *work_item)
virtual PDGE_Dependency::State evalPartial(PDGE_Resolutions &, const PDGE_Evaluator &, PDGE_Dependency *, const Array &)
friend class PDG_Partitioner
virtual bool deserializeWorkItem(PDG_WorkItem *work_item)
virtual void clearAllWorkItems()
virtual void addCommonDeps()
UT_Optional< fpreal > PDG_OptionalFrame
Optional frame value, used when constructing work items and partitions.
~PDG_Partitioner() override
virtual void queueWorkItemDeps(PDGE_Evaluator &evaluator, PDG_NodeSet &visited_nodes, PDG_WorkItemIDSet &visited_items, PDG_Filter &filter)
Builds evaluation dependencies to cook a specific set of work items.
virtual void clearWorkItem(const PDG_WorkItem *work_item)
bool isTargetedPartitioner() const
GLuint const GLchar * name
PDG_AttributeMergeOp
Enumeration of different ways that attributes can be combined.
virtual void addInputDeps(PDG_Node *input_node)
virtual void commitWorkItem(PDG_WorkItem *work_item)
Called after a work item is completely deserialized.
int preCookLoop(PDG_NodeSet &visited)
Sets the loop depth and loop block reference on the node.
virtual PDGE_Dependency::State evalResolve(PDGE_Resolutions &, const PDGE_Evaluator &, PDGE_Dependency *)
Called when a dependency owned by this object is resolved.
void resetOwner() override
Resets the owner.
virtual void memoryInfo(PDG_MemoryInfo &memory_info, bool inclusive) const
Returns the memory usage as a PDG_MemoryInfo struct.
virtual bool requiresCookedInputs(bool cook) const
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
virtual bool cacheBuiltinParms(PDG_NodeSet &dirty, int num_inputs, bool dynamic_inputs)