iree/hal/local/task_queue.c
// Forks out multiple wait tasks prior to issuing the commands.
Forks out multiple wait tasks prior to issuing the commands.
Forks out multiple wait tasks prior to issuing the commands .
static iree_status_t iree_hal_task_queue_wait_cmd(
    uintptr_t user_context, iree_task_t* task,
    iree_task_submission_t* pending_submission) {
  iree_hal_task_queue_wait_cmd_t* cmd = (iree_hal_task_queue_wait_cmd_t*)task;
  IREE_TRACE_ZONE_BEGIN(z0);
  iree_status_t status = iree_ok_status();
  for (iree_host_size_t i = 0; i < cmd->wait_semaphores.count; ++i) {
    status = iree_hal_task_semaphore_enqueue_timepoint(
        cmd->wait_semaphores.semaphores[i],
        cmd->wait_semaphores.payload_values[i],
        cmd->task.header.completion_task, cmd->arena, pending_submission);
    if (IREE_UNLIKELY(!iree_status_is_ok(status))) break;
  }
  IREE_TRACE_ZONE_END(z0);
  return status;
}
static iree_status_t iree_hal_task_queue_wait_cmd ( uintptr_t user_context , iree_task_t * task , iree_task_submission_t * pending_submission ) { iree_hal_task_queue_wait_cmd_t * cmd = ( iree_hal_task_queue_wait_cmd_t * ) task ; IREE_TRACE_ZONE_BEGIN ( z0 ) ; iree_status_t status = iree_ok_status ( ) ; for ( iree_host_size_t i = 0 ; i < cmd -> wait_semaphores . count ; ++ i ) { status = iree_hal_task_semaphore_enqueue_timepoint ( cmd -> wait_semaphores . semaphores [ i ] , cmd -> wait_semaphores . payload_values [ i ] , cmd -> task . header . completion_task , cmd -> arena , pending_submission ) ; if ( IREE_UNLIKELY ( ! iree_status_is_ok ( status ) ) ) break ; } IREE_TRACE_ZONE_END ( z0 ) ; return status ; }
Forks out multiple wait tasks prior to issuing the commands.
Forks out multiple wait tasks prior to issuing the commands .