1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
/*
* Copyright (C) 2020-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "level_zero/core/source/cmdqueue/cmdqueue.h"
#include "level_zero/core/source/context/context.h"
#include <level_zero/ze_api.h>
namespace L0 {
ze_result_t ZE_APICALL zeCommandQueueCreate(
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);
}
ze_result_t ZE_APICALL zeCommandQueueDestroy(
ze_command_queue_handle_t hCommandQueue) {
return L0::CommandQueue::fromHandle(hCommandQueue)->destroy();
}
ze_result_t ZE_APICALL zeCommandQueueExecuteCommandLists(
ze_command_queue_handle_t hCommandQueue,
uint32_t numCommandLists,
ze_command_list_handle_t *phCommandLists,
ze_fence_handle_t hFence) {
return L0::CommandQueue::fromHandle(hCommandQueue)->executeCommandLists(numCommandLists, phCommandLists, hFence, true, nullptr, nullptr);
}
ze_result_t ZE_APICALL zeCommandQueueSynchronize(
ze_command_queue_handle_t hCommandQueue,
uint64_t timeout) {
return L0::CommandQueue::fromHandle(hCommandQueue)->synchronize(timeout);
}
ze_result_t ZE_APICALL zeCommandQueueGetOrdinal(
ze_command_queue_handle_t hCommandQueue,
uint32_t *pOrdinal) {
return L0::CommandQueue::fromHandle(hCommandQueue)->getOrdinal(pOrdinal);
}
ze_result_t ZE_APICALL zeCommandQueueGetIndex(
ze_command_queue_handle_t hCommandQueue,
uint32_t *pIndex) {
return L0::CommandQueue::fromHandle(hCommandQueue)->getIndex(pIndex);
}
} // namespace L0
extern "C" {
ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandQueueCreate(
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::zeCommandQueueCreate(
hContext,
hDevice,
desc,
phCommandQueue);
}
ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandQueueDestroy(
ze_command_queue_handle_t hCommandQueue) {
return L0::zeCommandQueueDestroy(
hCommandQueue);
}
ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandQueueExecuteCommandLists(
ze_command_queue_handle_t hCommandQueue,
uint32_t numCommandLists,
ze_command_list_handle_t *phCommandLists,
ze_fence_handle_t hFence) {
return L0::zeCommandQueueExecuteCommandLists(
hCommandQueue,
numCommandLists,
phCommandLists,
hFence);
}
ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandQueueSynchronize(
ze_command_queue_handle_t hCommandQueue,
uint64_t timeout) {
return L0::zeCommandQueueSynchronize(
hCommandQueue,
timeout);
}
ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandQueueGetOrdinal(
ze_command_queue_handle_t hCommandQueue,
uint32_t *pOrdinal) {
return L0::zeCommandQueueGetOrdinal(
hCommandQueue,
pOrdinal);
}
ZE_APIEXPORT ze_result_t ZE_APICALL zeCommandQueueGetIndex(
ze_command_queue_handle_t hCommandQueue,
uint32_t *pIndex) {
return L0::zeCommandQueueGetIndex(
hCommandQueue,
pIndex);
}
}
|