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

Function daxa_cmd_dispatch_indirect

src/impl_command_recorder.cpp:802–815  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

800}
801
802auto daxa_cmd_dispatch_indirect(daxa_CommandRecorder self, daxa_DispatchIndirectInfo const * info) -> daxa_Result
803{
804 DAXA_CHECK_UNCOMPLETED(self)
805 daxa_Result result = DAXA_RESULT_SUCCESS;
806 result = validate_queue_type(self->info.queue_type, DAXA_QUEUE_TYPE_COMPUTE);
807 _DAXA_RETURN_IF_ERROR(result, result);
808 DAXA_CHECK_AND_REMEMBER_IDS(self, info->indirect_buffer)
809 if (!daxa::holds_alternative<daxa_ComputePipeline>(self->current_pipeline))
810 {
811 _DAXA_RETURN_IF_ERROR(DAXA_RESULT_NO_COMPUTE_PIPELINE_SET, DAXA_RESULT_NO_COMPUTE_PIPELINE_SET);
812 }
813 vkCmdDispatchIndirect(self->command_arena->vk_command_buffer, self->device->hot_slot(info->indirect_buffer).vk_buffer, info->offset);
814 return DAXA_RESULT_SUCCESS;
815}
816
817auto daxa_cmd_destroy_buffer_deferred(daxa_CommandRecorder self, daxa_BufferId buffer) -> daxa_Result
818{

Callers

nothing calls this directly

Calls 2

validate_queue_typeFunction · 0.85
hot_slotMethod · 0.80

Tested by

no test coverage detected