22 cdata->_dispatches.push_back(num_groups);
31 add_dispatch(
int num_groups_x,
int num_groups_y,
int num_groups_z) {
32 LVecBase3i num_groups(num_groups_x, num_groups_y, num_groups_z);
42 cdata->_dispatches.clear();
48 INLINE
size_t ComputeNode::
49 get_num_dispatches()
const {
50 Dispatcher::CDReader cdata(_dispatcher->_cycler);
51 return cdata->_dispatches.size();
59 Dispatcher::CDReader cdata(_dispatcher->_cycler);
60 nassertr(n < cdata->_dispatches.size(), LVecBase3i::zero());
61 return cdata->_dispatches[n];
69 Dispatcher::CDWriter cdata(_dispatcher->_cycler);
70 nassertv(n < cdata->_dispatches.size());
71 cdata->_dispatches[n] = dispatch;
82 Dispatcher::CDWriter cdata(_dispatcher->_cycler);
83 if (n > cdata->_dispatches.size()) {
84 n = cdata->_dispatches.size();
86 cdata->_dispatches.insert(cdata->_dispatches.begin(), dispatch);
94 Dispatcher::CDWriter cdata(_dispatcher->_cycler);
95 nassertv(n < cdata->_dispatches.size());
96 cdata->_dispatches.erase(cdata->_dispatches.begin() + n);
102 INLINE ComputeNode::Dispatcher::CData::
109 INLINE ComputeNode::Dispatcher::CData::
111 _dispatches(copy._dispatches)
void clear_dispatches()
Removes all dispatch commands.
remove_dispatch
Erases the given dispatch index from the list.
get_dispatch
Returns the group counts of the nth dispatch associated with this object.
set_dispatch
Sets the group counts of the nth dispatch associated with this object.
insert_dispatch
Inserts a dispatch command with the given number of work groups in the X, Y, and Z dimensions at the ...
This template class calls PipelineCycler::write() in the constructor and PipelineCycler::release_writ...
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.