2020-03-06 18:09:57 +08:00
|
|
|
/*
|
2021-05-17 02:51:16 +08:00
|
|
|
* Copyright (C) 2020-2021 Intel Corporation
|
2020-03-06 18:09:57 +08:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2020-03-19 13:21:57 +08:00
|
|
|
#include "level_zero/core/source/cmdqueue/cmdqueue.h"
|
2020-07-23 01:40:20 +08:00
|
|
|
#include "level_zero/core/source/context/context.h"
|
2020-03-06 18:09:57 +08:00
|
|
|
#include <level_zero/ze_api.h>
|
|
|
|
|
2020-08-01 09:03:32 +08:00
|
|
|
ZE_APIEXPORT ze_result_t ZE_APICALL
|
2020-03-06 18:09:57 +08:00
|
|
|
zeCommandQueueCreate(
|
2020-07-23 01:40:20 +08:00
|
|
|
ze_context_handle_t hContext,
|
|
|
|
ze_device_handle_t hDevice,
|
|
|
|
const ze_command_queue_desc_t *desc,
|
|
|
|
ze_command_queue_handle_t *phCommandQueue) {
|
|
|
|
return L0::Context::fromHandle(hContext)->createCommandQueue(hDevice, desc, phCommandQueue);
|
|
|
|
}
|
|
|
|
|
2020-08-01 09:03:32 +08:00
|
|
|
ZE_APIEXPORT ze_result_t ZE_APICALL
|
2020-03-06 18:09:57 +08:00
|
|
|
zeCommandQueueDestroy(
|
|
|
|
ze_command_queue_handle_t hCommandQueue) {
|
2020-03-11 14:19:06 +08:00
|
|
|
return L0::CommandQueue::fromHandle(hCommandQueue)->destroy();
|
2020-03-06 18:09:57 +08:00
|
|
|
}
|
|
|
|
|
2020-08-01 09:03:32 +08:00
|
|
|
ZE_APIEXPORT ze_result_t ZE_APICALL
|
2020-03-06 18:09:57 +08:00
|
|
|
zeCommandQueueExecuteCommandLists(
|
|
|
|
ze_command_queue_handle_t hCommandQueue,
|
|
|
|
uint32_t numCommandLists,
|
|
|
|
ze_command_list_handle_t *phCommandLists,
|
|
|
|
ze_fence_handle_t hFence) {
|
2020-03-11 14:19:06 +08:00
|
|
|
return L0::CommandQueue::fromHandle(hCommandQueue)->executeCommandLists(numCommandLists, phCommandLists, hFence, true);
|
2020-03-06 18:09:57 +08:00
|
|
|
}
|
|
|
|
|
2020-08-01 09:03:32 +08:00
|
|
|
ZE_APIEXPORT ze_result_t ZE_APICALL
|
2020-03-06 18:09:57 +08:00
|
|
|
zeCommandQueueSynchronize(
|
|
|
|
ze_command_queue_handle_t hCommandQueue,
|
2020-07-29 17:45:54 +08:00
|
|
|
uint64_t timeout) {
|
2020-03-11 14:19:06 +08:00
|
|
|
return L0::CommandQueue::fromHandle(hCommandQueue)->synchronize(timeout);
|
2020-03-06 18:09:57 +08:00
|
|
|
}
|