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 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
|
/*
* Copyright (C) 2019-2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "level_zero/core/source/context/context.h"
#include "level_zero/core/source/driver/driver_handle.h"
#include <level_zero/ze_api.h>
ZE_APIEXPORT ze_result_t ZE_APICALL
zeContextCreate(
ze_driver_handle_t hDriver,
const ze_context_desc_t *desc,
ze_context_handle_t *phContext) {
return L0::DriverHandle::fromHandle(hDriver)->createContext(desc, phContext);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeContextDestroy(ze_context_handle_t hContext) {
return L0::Context::fromHandle(hContext)->destroy();
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeContextGetStatus(ze_context_handle_t hContext) {
return L0::Context::fromHandle(hContext)->getStatus();
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeVirtualMemReserve(
ze_context_handle_t hContext,
const void *pStart,
size_t size,
void **pptr) {
return L0::Context::fromHandle(hContext)->reserveVirtualMem(pStart, size, pptr);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeVirtualMemFree(
ze_context_handle_t hContext,
const void *ptr,
size_t size) {
return L0::Context::fromHandle(hContext)->freeVirtualMem(ptr, size);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeVirtualMemQueryPageSize(
ze_context_handle_t hContext,
ze_device_handle_t hDevice,
size_t size,
size_t *pagesize) {
return L0::Context::fromHandle(hContext)->queryVirtualMemPageSize(hDevice, size, pagesize);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zePhysicalMemCreate(
ze_context_handle_t hContext,
ze_device_handle_t hDevice,
ze_physical_mem_desc_t *desc,
ze_physical_mem_handle_t *phPhysicalMemory) {
return L0::Context::fromHandle(hContext)->createPhysicalMem(hDevice, desc, phPhysicalMemory);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zePhysicalMemDestroy(
ze_context_handle_t hContext,
ze_physical_mem_handle_t hPhysicalMemory) {
return L0::Context::fromHandle(hContext)->destroyPhysicalMem(hPhysicalMemory);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeVirtualMemMap(
ze_context_handle_t hContext,
const void *ptr,
size_t size,
ze_physical_mem_handle_t hPhysicalMemory,
size_t offset,
ze_memory_access_attribute_t access) {
return L0::Context::fromHandle(hContext)->mapVirtualMem(ptr, size, hPhysicalMemory, offset, access);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeVirtualMemUnmap(
ze_context_handle_t hContext,
const void *ptr,
size_t size) {
return L0::Context::fromHandle(hContext)->unMapVirtualMem(ptr, size);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeVirtualMemSetAccessAttribute(
ze_context_handle_t hContext,
const void *ptr,
size_t size,
ze_memory_access_attribute_t access) {
return L0::Context::fromHandle(hContext)->setVirtualMemAccessAttribute(ptr, size, access);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeVirtualMemGetAccessAttribute(
ze_context_handle_t hContext,
const void *ptr,
size_t size,
ze_memory_access_attribute_t *access,
size_t *outSize) {
return L0::Context::fromHandle(hContext)->getVirtualMemAccessAttribute(ptr, size, access, outSize);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeContextSystemBarrier(
ze_context_handle_t hContext,
ze_device_handle_t hDevice) {
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeContextMakeMemoryResident(
ze_context_handle_t hContext,
ze_device_handle_t hDevice,
void *ptr,
size_t size) {
return L0::Context::fromHandle(hContext)->makeMemoryResident(hDevice, ptr, size);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeContextEvictMemory(
ze_context_handle_t hContext,
ze_device_handle_t hDevice,
void *ptr,
size_t size) {
return L0::Context::fromHandle(hContext)->evictMemory(hDevice, ptr, size);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeContextMakeImageResident(
ze_context_handle_t hContext,
ze_device_handle_t hDevice,
ze_image_handle_t hImage) {
return L0::Context::fromHandle(hContext)->makeImageResident(hDevice, hImage);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeContextEvictImage(
ze_context_handle_t hContext,
ze_device_handle_t hDevice,
ze_image_handle_t hImage) {
return L0::Context::fromHandle(hContext)->evictImage(hDevice, hImage);
}
|