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
|
/*
*
* Copyright (C) 2021-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
* @file zer_tracing_register_cb.h
*
*/
#include "tracing.h"
#include "ze_tracing_layer.h"
#include "layers/zel_tracing_api.h"
#include "layers/zel_tracing_ddi.h"
#include "layers/zel_tracing_register_cb.h"
#include "zer_api.h"
extern "C" {
/// APIs to register callbacks for each zer API
ZE_DLLEXPORT ze_result_t ZE_APICALL
zelTracerGetLastErrorDescriptionRegisterCallback(
zel_tracer_handle_t hTracer,
zel_tracer_reg_t callback_type,
zer_pfnGetLastErrorDescriptionCb_t pfnGetLastErrorDescriptionCb
) {
ze_result_t result;
auto& cbs = tracing_layer::APITracer::fromHandle(hTracer)->getZerProEpilogues(callback_type, result);
if (result == ZE_RESULT_SUCCESS)
cbs.Global.pfnGetLastErrorDescriptionCb = pfnGetLastErrorDescriptionCb;
return result;
}
ZE_DLLEXPORT ze_result_t ZE_APICALL
zelTracerTranslateDeviceHandleToIdentifierRegisterCallback(
zel_tracer_handle_t hTracer,
zel_tracer_reg_t callback_type,
zer_pfnTranslateDeviceHandleToIdentifierCb_t pfnTranslateDeviceHandleToIdentifierCb
) {
ze_result_t result;
auto& cbs = tracing_layer::APITracer::fromHandle(hTracer)->getZerProEpilogues(callback_type, result);
if (result == ZE_RESULT_SUCCESS)
cbs.Global.pfnTranslateDeviceHandleToIdentifierCb = pfnTranslateDeviceHandleToIdentifierCb;
return result;
}
ZE_DLLEXPORT ze_result_t ZE_APICALL
zelTracerTranslateIdentifierToDeviceHandleRegisterCallback(
zel_tracer_handle_t hTracer,
zel_tracer_reg_t callback_type,
zer_pfnTranslateIdentifierToDeviceHandleCb_t pfnTranslateIdentifierToDeviceHandleCb
) {
ze_result_t result;
auto& cbs = tracing_layer::APITracer::fromHandle(hTracer)->getZerProEpilogues(callback_type, result);
if (result == ZE_RESULT_SUCCESS)
cbs.Global.pfnTranslateIdentifierToDeviceHandleCb = pfnTranslateIdentifierToDeviceHandleCb;
return result;
}
ZE_DLLEXPORT ze_result_t ZE_APICALL
zelTracerGetDefaultContextRegisterCallback(
zel_tracer_handle_t hTracer,
zel_tracer_reg_t callback_type,
zer_pfnGetDefaultContextCb_t pfnGetDefaultContextCb
) {
ze_result_t result;
auto& cbs = tracing_layer::APITracer::fromHandle(hTracer)->getZerProEpilogues(callback_type, result);
if (result == ZE_RESULT_SUCCESS)
cbs.Global.pfnGetDefaultContextCb = pfnGetDefaultContextCb;
return result;
}
} //extern C
|