2020-03-06 11:09:57 +01:00
|
|
|
/*
|
|
|
|
|
* Copyright (C) 2019-2020 Intel Corporation
|
|
|
|
|
*
|
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
2020-03-18 22:21:57 -07:00
|
|
|
#include "level_zero/core/source/cmdqueue/cmdqueue.h"
|
2020-07-22 10:40:20 -07:00
|
|
|
#include "level_zero/core/source/context/context.h"
|
2020-03-06 11:09:57 +01:00
|
|
|
#include <level_zero/ze_api.h>
|
|
|
|
|
|
2020-07-31 18:03:32 -07:00
|
|
|
ZE_APIEXPORT ze_result_t ZE_APICALL
|
2020-03-06 11:09:57 +01:00
|
|
|
zeCommandQueueCreate(
|
2020-07-22 10:40:20 -07: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-07-31 18:03:32 -07:00
|
|
|
ZE_APIEXPORT ze_result_t ZE_APICALL
|
2020-03-06 11:09:57 +01:00
|
|
|
zeCommandQueueDestroy(
|
|
|
|
|
ze_command_queue_handle_t hCommandQueue) {
|
2020-03-10 23:19:06 -07:00
|
|
|
return L0::CommandQueue::fromHandle(hCommandQueue)->destroy();
|
2020-03-06 11:09:57 +01:00
|
|
|
}
|
|
|
|
|
|
2020-07-31 18:03:32 -07:00
|
|
|
ZE_APIEXPORT ze_result_t ZE_APICALL
|
2020-03-06 11:09:57 +01:00
|
|
|
zeCommandQueueExecuteCommandLists(
|
|
|
|
|
ze_command_queue_handle_t hCommandQueue,
|
|
|
|
|
uint32_t numCommandLists,
|
|
|
|
|
ze_command_list_handle_t *phCommandLists,
|
|
|
|
|
ze_fence_handle_t hFence) {
|
2020-03-10 23:19:06 -07:00
|
|
|
return L0::CommandQueue::fromHandle(hCommandQueue)->executeCommandLists(numCommandLists, phCommandLists, hFence, true);
|
2020-03-06 11:09:57 +01:00
|
|
|
}
|
|
|
|
|
|
2020-07-31 18:03:32 -07:00
|
|
|
ZE_APIEXPORT ze_result_t ZE_APICALL
|
2020-03-06 11:09:57 +01:00
|
|
|
zeCommandQueueSynchronize(
|
|
|
|
|
ze_command_queue_handle_t hCommandQueue,
|
2020-07-29 02:45:54 -07:00
|
|
|
uint64_t timeout) {
|
2020-03-10 23:19:06 -07:00
|
|
|
return L0::CommandQueue::fromHandle(hCommandQueue)->synchronize(timeout);
|
2020-03-06 11:09:57 +01:00
|
|
|
}
|