| 800 | } |
| 801 | |
| 802 | auto 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 | |
| 817 | auto daxa_cmd_destroy_buffer_deferred(daxa_CommandRecorder self, daxa_BufferId buffer) -> daxa_Result |
| 818 | { |
nothing calls this directly
no test coverage detected