27 cdata->_dispatches.push_back(num_groups);
39 add_dispatch(
int num_groups_x,
int num_groups_y,
int num_groups_z) {
40 LVecBase3i num_groups(num_groups_x, num_groups_y, num_groups_z);
52 cdata->_dispatches.clear();
64 return cdata->_dispatches.size();
76 nassertr(n >= 0 && (
size_t)n < cdata->_dispatches.size(),
LVecBase3i::zero());
77 return cdata->_dispatches[n];
85 INLINE ComputeNode::Dispatcher::CData::
94 INLINE ComputeNode::Dispatcher::CData::
96 _dispatches(copy._dispatches)
void clear_dispatches()
Removes all dispatch commands.
int get_num_dispatches() const
Returns the number of times add_dispatch has been called on this object.
static const LVecBase3i & zero()
Returns a zero-length vector.
const LVecBase3i & get_dispatch(int i) const
Returns the group counts of the nth dispatch associated with this object.
This template class calls PipelineCycler::read_unlocked(), and then provides a transparent read-only ...
This template class calls PipelineCycler::write() in the constructor and PipelineCycler::release_writ...
This is the base class for all three-component vectors and points.
void add_dispatch(const LVecBase3i &num_groups)
Adds a dispatch command with the given number of work groups in the X, Y, and Z dimensions.