9 #ifndef __PDG_PARTITIONER_H__
10 #define __PDG_PARTITIONER_H__
23 class PDG_FeedbackBegin;
46 bool inclusive)
const override;
71 {
return (myPartitionWhen > eAllInputsCooked); }
96 bool did_cook)
override;
120 bool dynamic_inputs)
override;
161 eAllTargetsGenerated,
164 eEachTargetGenerated,
197 bool cacheMergePatterns();
200 void mergePartitionData(
211 bool partitionFromTarget(
219 bool partitionWorkItems(
226 bool partitionStandard(
243 void addLoopDependency(
249 void addLoopDependencies(
254 void removeStalePartitions();
264 PartitionMap myPartitionMap;
266 PDG_FeedbackBegin* myFeedbackBegin;
268 LoopDependencies myLoopDependencies;
269 TargetMap myTargetPartitions;
270 TargetMapInv myTargetPartitionsInv;
278 SplitMissing mySplitMissing;
280 PartitionWhen myPartitionWhen;
281 PartitionFrame myPartitionFrame;
285 bool myHasCustomFrame;
286 bool myMergeAttributes;
287 bool myStoreWorkItemIDs;
288 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
int preCookLoop()
Sets the loop depth and loop block reference on the node.
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.
virtual PDGE_Dependency::State evalResolve(PDGE_Resolutions &, const PDGE_Evaluator &, PDGE_Dependency *)
Called when a dependency owned by this object is resolved.
virtual bool cacheBuiltinParms(PDG_NodeSet &dirty, bool dynamic_inputs)
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