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
|
/*
* Copyright (C) 2019-2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "level_zero/experimental/source/tracing/tracing_imp.h"
ZE_APIEXPORT ze_result_t ZE_APICALL
zeImageGetProperties_Tracing(ze_device_handle_t hDevice,
const ze_image_desc_t *desc,
ze_image_properties_t *pImageProperties) {
ZE_HANDLE_TRACER_RECURSION(driver_ddiTable.core_ddiTable.Image.pfnGetProperties,
hDevice,
desc,
pImageProperties);
ze_image_get_properties_params_t tracerParams;
tracerParams.phDevice = &hDevice;
tracerParams.pdesc = &desc;
tracerParams.ppImageProperties = &pImageProperties;
L0::APITracerCallbackDataImp<ze_pfnImageGetPropertiesCb_t> apiCallbackData;
ZE_GEN_PER_API_CALLBACK_STATE(apiCallbackData, ze_pfnImageGetPropertiesCb_t, Image, pfnGetPropertiesCb);
return L0::APITracerWrapperImp(driver_ddiTable.core_ddiTable.Image.pfnGetProperties,
&tracerParams,
apiCallbackData.apiOrdinal,
apiCallbackData.prologCallbacks,
apiCallbackData.epilogCallbacks,
*tracerParams.phDevice,
*tracerParams.pdesc,
*tracerParams.ppImageProperties);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeImageCreate_Tracing(ze_context_handle_t hContext,
ze_device_handle_t hDevice,
const ze_image_desc_t *desc,
ze_image_handle_t *phImage) {
ZE_HANDLE_TRACER_RECURSION(driver_ddiTable.core_ddiTable.Image.pfnCreate,
hContext,
hDevice,
desc,
phImage);
ze_image_create_params_t tracerParams;
tracerParams.phContext = &hContext;
tracerParams.phDevice = &hDevice;
tracerParams.pdesc = &desc;
tracerParams.pphImage = &phImage;
L0::APITracerCallbackDataImp<ze_pfnImageCreateCb_t> apiCallbackData;
ZE_GEN_PER_API_CALLBACK_STATE(apiCallbackData, ze_pfnImageCreateCb_t, Image, pfnCreateCb);
return L0::APITracerWrapperImp(driver_ddiTable.core_ddiTable.Image.pfnCreate,
&tracerParams,
apiCallbackData.apiOrdinal,
apiCallbackData.prologCallbacks,
apiCallbackData.epilogCallbacks,
*tracerParams.phContext,
*tracerParams.phDevice,
*tracerParams.pdesc,
*tracerParams.pphImage);
}
ZE_APIEXPORT ze_result_t ZE_APICALL
zeImageDestroy_Tracing(ze_image_handle_t hImage) {
ZE_HANDLE_TRACER_RECURSION(driver_ddiTable.core_ddiTable.Image.pfnDestroy,
hImage);
ze_image_destroy_params_t tracerParams;
tracerParams.phImage = &hImage;
L0::APITracerCallbackDataImp<ze_pfnImageDestroyCb_t> apiCallbackData;
ZE_GEN_PER_API_CALLBACK_STATE(apiCallbackData, ze_pfnImageDestroyCb_t, Image, pfnDestroyCb);
return L0::APITracerWrapperImp(driver_ddiTable.core_ddiTable.Image.pfnDestroy,
&tracerParams,
apiCallbackData.apiOrdinal,
apiCallbackData.prologCallbacks,
apiCallbackData.epilogCallbacks,
*tracerParams.phImage);
}
|