MCPcopy Create free account
hub / github.com/Ipotrick/Daxa / uses_head

Method uses_head

include/daxa/utils/task_graph.hpp:654–674  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

652
653 template <typename NewTaskHeadInfo>
654 auto uses_head() -> TInlineTask<NewTaskHeadInfo>
655 requires(!HAS_HEAD)
656 {
657 DAXA_DBG_ASSERT_TRUE_M(value._internal._attachments.size() == 0, "Detected invalid task head attachment use! Task heads must be added to tasks BEFORE ANY non-head attachments are added to a task!");
658 auto head_default_stage = task_type_default_stage(NewTaskHeadInfo::TYPE);
659 if (value._internal._name.size() == 0)
660 {
661 value._internal._name = NewTaskHeadInfo::NAME;
662 }
663 TInlineTask<NewTaskHeadInfo> ret = {};
664
665 TaskStages default_stage = value._internal._default_stage != TaskStages::NONE ? value._internal._default_stage : head_default_stage;
666 for (u32 i = 0; i < NewTaskHeadInfo::ATTACHMENT_COUNT; ++i)
667 {
668 ret.value._internal._attachments.push_back(detail::complete_head_attachment_info(NewTaskHeadInfo::AT._internal.value[i], {}, default_stage, value._internal._name));
669 }
670 ret.value._internal._callback = this->value._internal._callback;
671 ret.value._internal._name = this->value._internal._name;
672 ret.value._internal._task_type = this->value._internal._task_type;
673 return ret;
674 }
675
676 auto reads(TaskHeadT::Views const & views) -> TInlineTask &
677 requires(HAS_HEAD)

Callers

nothing calls this directly

Calls 4

task_type_default_stageFunction · 0.85
sizeMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected