Files
UnrealEngine/Engine/Source/ThirdParty/Intel/oneAPILevelZero/1.21.9/include/zet_ddi.h
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

1198 lines
48 KiB
C

/*
*
* Copyright (C) 2019-2021 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
* @file zet_ddi.h
* @version v1.12-r1.12.15
*
*/
#ifndef _ZET_DDI_H
#define _ZET_DDI_H
#if defined(__cplusplus)
#pragma once
#endif
#include "zet_api.h"
#if defined(__cplusplus)
extern "C" {
#endif
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricProgrammableGetExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricProgrammableGetExp_t)(
zet_device_handle_t,
uint32_t*,
zet_metric_programmable_exp_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricProgrammableGetPropertiesExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricProgrammableGetPropertiesExp_t)(
zet_metric_programmable_exp_handle_t,
zet_metric_programmable_exp_properties_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricProgrammableGetParamInfoExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricProgrammableGetParamInfoExp_t)(
zet_metric_programmable_exp_handle_t,
uint32_t*,
zet_metric_programmable_param_info_exp_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricProgrammableGetParamValueInfoExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricProgrammableGetParamValueInfoExp_t)(
zet_metric_programmable_exp_handle_t,
uint32_t,
uint32_t*,
zet_metric_programmable_param_value_info_exp_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of MetricProgrammableExp functions pointers
typedef struct _zet_metric_programmable_exp_dditable_t
{
zet_pfnMetricProgrammableGetExp_t pfnGetExp;
zet_pfnMetricProgrammableGetPropertiesExp_t pfnGetPropertiesExp;
zet_pfnMetricProgrammableGetParamInfoExp_t pfnGetParamInfoExp;
zet_pfnMetricProgrammableGetParamValueInfoExp_t pfnGetParamValueInfoExp;
} zet_metric_programmable_exp_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's MetricProgrammableExp table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetMetricProgrammableExpProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_metric_programmable_exp_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetMetricProgrammableExpProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetMetricProgrammableExpProcAddrTable_t)(
ze_api_version_t,
zet_metric_programmable_exp_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricTracerCreateExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricTracerCreateExp_t)(
zet_context_handle_t,
zet_device_handle_t,
uint32_t,
zet_metric_group_handle_t*,
zet_metric_tracer_exp_desc_t*,
ze_event_handle_t,
zet_metric_tracer_exp_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricTracerDestroyExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricTracerDestroyExp_t)(
zet_metric_tracer_exp_handle_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricTracerEnableExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricTracerEnableExp_t)(
zet_metric_tracer_exp_handle_t,
ze_bool_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricTracerDisableExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricTracerDisableExp_t)(
zet_metric_tracer_exp_handle_t,
ze_bool_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricTracerReadDataExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricTracerReadDataExp_t)(
zet_metric_tracer_exp_handle_t,
size_t*,
uint8_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricTracerDecodeExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricTracerDecodeExp_t)(
zet_metric_decoder_exp_handle_t,
size_t*,
uint8_t*,
uint32_t,
zet_metric_handle_t*,
uint32_t*,
uint32_t*,
uint32_t*,
zet_metric_entry_exp_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of MetricTracerExp functions pointers
typedef struct _zet_metric_tracer_exp_dditable_t
{
zet_pfnMetricTracerCreateExp_t pfnCreateExp;
zet_pfnMetricTracerDestroyExp_t pfnDestroyExp;
zet_pfnMetricTracerEnableExp_t pfnEnableExp;
zet_pfnMetricTracerDisableExp_t pfnDisableExp;
zet_pfnMetricTracerReadDataExp_t pfnReadDataExp;
zet_pfnMetricTracerDecodeExp_t pfnDecodeExp;
} zet_metric_tracer_exp_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's MetricTracerExp table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetMetricTracerExpProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_metric_tracer_exp_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetMetricTracerExpProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetMetricTracerExpProcAddrTable_t)(
ze_api_version_t,
zet_metric_tracer_exp_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricDecoderCreateExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricDecoderCreateExp_t)(
zet_metric_tracer_exp_handle_t,
zet_metric_decoder_exp_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricDecoderDestroyExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricDecoderDestroyExp_t)(
zet_metric_decoder_exp_handle_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricDecoderGetDecodableMetricsExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricDecoderGetDecodableMetricsExp_t)(
zet_metric_decoder_exp_handle_t,
uint32_t*,
zet_metric_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of MetricDecoderExp functions pointers
typedef struct _zet_metric_decoder_exp_dditable_t
{
zet_pfnMetricDecoderCreateExp_t pfnCreateExp;
zet_pfnMetricDecoderDestroyExp_t pfnDestroyExp;
zet_pfnMetricDecoderGetDecodableMetricsExp_t pfnGetDecodableMetricsExp;
} zet_metric_decoder_exp_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's MetricDecoderExp table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetMetricDecoderExpProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_metric_decoder_exp_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetMetricDecoderExpProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetMetricDecoderExpProcAddrTable_t)(
ze_api_version_t,
zet_metric_decoder_exp_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDeviceGetDebugProperties
typedef ze_result_t (ZE_APICALL *zet_pfnDeviceGetDebugProperties_t)(
zet_device_handle_t,
zet_device_debug_properties_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of Device functions pointers
typedef struct _zet_device_dditable_t
{
zet_pfnDeviceGetDebugProperties_t pfnGetDebugProperties;
} zet_device_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's Device table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetDeviceProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_device_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetDeviceProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetDeviceProcAddrTable_t)(
ze_api_version_t,
zet_device_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDeviceGetConcurrentMetricGroupsExp
typedef ze_result_t (ZE_APICALL *zet_pfnDeviceGetConcurrentMetricGroupsExp_t)(
zet_device_handle_t,
uint32_t,
zet_metric_group_handle_t *,
uint32_t *,
uint32_t *
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDeviceCreateMetricGroupsFromMetricsExp
typedef ze_result_t (ZE_APICALL *zet_pfnDeviceCreateMetricGroupsFromMetricsExp_t)(
zet_device_handle_t,
uint32_t,
zet_metric_handle_t *,
const char *,
const char *,
uint32_t *,
zet_metric_group_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of DeviceExp functions pointers
typedef struct _zet_device_exp_dditable_t
{
zet_pfnDeviceGetConcurrentMetricGroupsExp_t pfnGetConcurrentMetricGroupsExp;
zet_pfnDeviceCreateMetricGroupsFromMetricsExp_t pfnCreateMetricGroupsFromMetricsExp;
} zet_device_exp_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's DeviceExp table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetDeviceExpProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_device_exp_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetDeviceExpProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetDeviceExpProcAddrTable_t)(
ze_api_version_t,
zet_device_exp_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetContextActivateMetricGroups
typedef ze_result_t (ZE_APICALL *zet_pfnContextActivateMetricGroups_t)(
zet_context_handle_t,
zet_device_handle_t,
uint32_t,
zet_metric_group_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of Context functions pointers
typedef struct _zet_context_dditable_t
{
zet_pfnContextActivateMetricGroups_t pfnActivateMetricGroups;
} zet_context_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's Context table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetContextProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_context_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetContextProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetContextProcAddrTable_t)(
ze_api_version_t,
zet_context_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetCommandListAppendMetricStreamerMarker
typedef ze_result_t (ZE_APICALL *zet_pfnCommandListAppendMetricStreamerMarker_t)(
zet_command_list_handle_t,
zet_metric_streamer_handle_t,
uint32_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetCommandListAppendMetricQueryBegin
typedef ze_result_t (ZE_APICALL *zet_pfnCommandListAppendMetricQueryBegin_t)(
zet_command_list_handle_t,
zet_metric_query_handle_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetCommandListAppendMetricQueryEnd
typedef ze_result_t (ZE_APICALL *zet_pfnCommandListAppendMetricQueryEnd_t)(
zet_command_list_handle_t,
zet_metric_query_handle_t,
ze_event_handle_t,
uint32_t,
ze_event_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetCommandListAppendMetricMemoryBarrier
typedef ze_result_t (ZE_APICALL *zet_pfnCommandListAppendMetricMemoryBarrier_t)(
zet_command_list_handle_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of CommandList functions pointers
typedef struct _zet_command_list_dditable_t
{
zet_pfnCommandListAppendMetricStreamerMarker_t pfnAppendMetricStreamerMarker;
zet_pfnCommandListAppendMetricQueryBegin_t pfnAppendMetricQueryBegin;
zet_pfnCommandListAppendMetricQueryEnd_t pfnAppendMetricQueryEnd;
zet_pfnCommandListAppendMetricMemoryBarrier_t pfnAppendMetricMemoryBarrier;
} zet_command_list_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's CommandList table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetCommandListProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_command_list_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetCommandListProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetCommandListProcAddrTable_t)(
ze_api_version_t,
zet_command_list_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetModuleGetDebugInfo
typedef ze_result_t (ZE_APICALL *zet_pfnModuleGetDebugInfo_t)(
zet_module_handle_t,
zet_module_debug_info_format_t,
size_t*,
uint8_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of Module functions pointers
typedef struct _zet_module_dditable_t
{
zet_pfnModuleGetDebugInfo_t pfnGetDebugInfo;
} zet_module_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's Module table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetModuleProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_module_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetModuleProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetModuleProcAddrTable_t)(
ze_api_version_t,
zet_module_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetKernelGetProfileInfo
typedef ze_result_t (ZE_APICALL *zet_pfnKernelGetProfileInfo_t)(
zet_kernel_handle_t,
zet_profile_properties_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of Kernel functions pointers
typedef struct _zet_kernel_dditable_t
{
zet_pfnKernelGetProfileInfo_t pfnGetProfileInfo;
} zet_kernel_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's Kernel table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetKernelProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_kernel_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetKernelProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetKernelProcAddrTable_t)(
ze_api_version_t,
zet_kernel_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricGet
typedef ze_result_t (ZE_APICALL *zet_pfnMetricGet_t)(
zet_metric_group_handle_t,
uint32_t*,
zet_metric_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricGetProperties
typedef ze_result_t (ZE_APICALL *zet_pfnMetricGetProperties_t)(
zet_metric_handle_t,
zet_metric_properties_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of Metric functions pointers
typedef struct _zet_metric_dditable_t
{
zet_pfnMetricGet_t pfnGet;
zet_pfnMetricGetProperties_t pfnGetProperties;
} zet_metric_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's Metric table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetMetricProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_metric_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetMetricProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetMetricProcAddrTable_t)(
ze_api_version_t,
zet_metric_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricCreateFromProgrammableExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricCreateFromProgrammableExp_t)(
zet_metric_programmable_exp_handle_t,
zet_metric_programmable_param_value_exp_t*,
uint32_t,
const char*,
const char*,
uint32_t*,
zet_metric_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricDestroyExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricDestroyExp_t)(
zet_metric_handle_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricCreateFromProgrammableExp2
typedef ze_result_t (ZE_APICALL *zet_pfnMetricCreateFromProgrammableExp2_t)(
zet_metric_programmable_exp_handle_t,
uint32_t,
zet_metric_programmable_param_value_exp_t*,
const char*,
const char*,
uint32_t*,
zet_metric_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of MetricExp functions pointers
typedef struct _zet_metric_exp_dditable_t
{
zet_pfnMetricCreateFromProgrammableExp_t pfnCreateFromProgrammableExp;
zet_pfnMetricDestroyExp_t pfnDestroyExp;
zet_pfnMetricCreateFromProgrammableExp2_t pfnCreateFromProgrammableExp2;
} zet_metric_exp_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's MetricExp table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetMetricExpProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_metric_exp_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetMetricExpProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetMetricExpProcAddrTable_t)(
ze_api_version_t,
zet_metric_exp_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricGroupGet
typedef ze_result_t (ZE_APICALL *zet_pfnMetricGroupGet_t)(
zet_device_handle_t,
uint32_t*,
zet_metric_group_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricGroupGetProperties
typedef ze_result_t (ZE_APICALL *zet_pfnMetricGroupGetProperties_t)(
zet_metric_group_handle_t,
zet_metric_group_properties_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricGroupCalculateMetricValues
typedef ze_result_t (ZE_APICALL *zet_pfnMetricGroupCalculateMetricValues_t)(
zet_metric_group_handle_t,
zet_metric_group_calculation_type_t,
size_t,
const uint8_t*,
uint32_t*,
zet_typed_value_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of MetricGroup functions pointers
typedef struct _zet_metric_group_dditable_t
{
zet_pfnMetricGroupGet_t pfnGet;
zet_pfnMetricGroupGetProperties_t pfnGetProperties;
zet_pfnMetricGroupCalculateMetricValues_t pfnCalculateMetricValues;
} zet_metric_group_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's MetricGroup table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetMetricGroupProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_metric_group_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetMetricGroupProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetMetricGroupProcAddrTable_t)(
ze_api_version_t,
zet_metric_group_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricGroupCalculateMultipleMetricValuesExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricGroupCalculateMultipleMetricValuesExp_t)(
zet_metric_group_handle_t,
zet_metric_group_calculation_type_t,
size_t,
const uint8_t*,
uint32_t*,
uint32_t*,
uint32_t*,
zet_typed_value_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricGroupGetGlobalTimestampsExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricGroupGetGlobalTimestampsExp_t)(
zet_metric_group_handle_t,
ze_bool_t,
uint64_t*,
uint64_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricGroupGetExportDataExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricGroupGetExportDataExp_t)(
zet_metric_group_handle_t,
const uint8_t*,
size_t,
size_t*,
uint8_t *
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricGroupCalculateMetricExportDataExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricGroupCalculateMetricExportDataExp_t)(
ze_driver_handle_t,
zet_metric_group_calculation_type_t,
size_t,
const uint8_t*,
zet_metric_calculate_exp_desc_t*,
uint32_t*,
uint32_t*,
uint32_t*,
zet_typed_value_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricGroupCreateExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricGroupCreateExp_t)(
zet_device_handle_t,
const char*,
const char*,
zet_metric_group_sampling_type_flags_t,
zet_metric_group_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricGroupAddMetricExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricGroupAddMetricExp_t)(
zet_metric_group_handle_t,
zet_metric_handle_t,
size_t *,
char*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricGroupRemoveMetricExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricGroupRemoveMetricExp_t)(
zet_metric_group_handle_t,
zet_metric_handle_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricGroupCloseExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricGroupCloseExp_t)(
zet_metric_group_handle_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricGroupDestroyExp
typedef ze_result_t (ZE_APICALL *zet_pfnMetricGroupDestroyExp_t)(
zet_metric_group_handle_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of MetricGroupExp functions pointers
typedef struct _zet_metric_group_exp_dditable_t
{
zet_pfnMetricGroupCalculateMultipleMetricValuesExp_t pfnCalculateMultipleMetricValuesExp;
zet_pfnMetricGroupGetGlobalTimestampsExp_t pfnGetGlobalTimestampsExp;
zet_pfnMetricGroupGetExportDataExp_t pfnGetExportDataExp;
zet_pfnMetricGroupCalculateMetricExportDataExp_t pfnCalculateMetricExportDataExp;
zet_pfnMetricGroupCreateExp_t pfnCreateExp;
zet_pfnMetricGroupAddMetricExp_t pfnAddMetricExp;
zet_pfnMetricGroupRemoveMetricExp_t pfnRemoveMetricExp;
zet_pfnMetricGroupCloseExp_t pfnCloseExp;
zet_pfnMetricGroupDestroyExp_t pfnDestroyExp;
} zet_metric_group_exp_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's MetricGroupExp table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetMetricGroupExpProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_metric_group_exp_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetMetricGroupExpProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetMetricGroupExpProcAddrTable_t)(
ze_api_version_t,
zet_metric_group_exp_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricStreamerOpen
typedef ze_result_t (ZE_APICALL *zet_pfnMetricStreamerOpen_t)(
zet_context_handle_t,
zet_device_handle_t,
zet_metric_group_handle_t,
zet_metric_streamer_desc_t*,
ze_event_handle_t,
zet_metric_streamer_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricStreamerClose
typedef ze_result_t (ZE_APICALL *zet_pfnMetricStreamerClose_t)(
zet_metric_streamer_handle_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricStreamerReadData
typedef ze_result_t (ZE_APICALL *zet_pfnMetricStreamerReadData_t)(
zet_metric_streamer_handle_t,
uint32_t,
size_t*,
uint8_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of MetricStreamer functions pointers
typedef struct _zet_metric_streamer_dditable_t
{
zet_pfnMetricStreamerOpen_t pfnOpen;
zet_pfnMetricStreamerClose_t pfnClose;
zet_pfnMetricStreamerReadData_t pfnReadData;
} zet_metric_streamer_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's MetricStreamer table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetMetricStreamerProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_metric_streamer_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetMetricStreamerProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetMetricStreamerProcAddrTable_t)(
ze_api_version_t,
zet_metric_streamer_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricQueryPoolCreate
typedef ze_result_t (ZE_APICALL *zet_pfnMetricQueryPoolCreate_t)(
zet_context_handle_t,
zet_device_handle_t,
zet_metric_group_handle_t,
const zet_metric_query_pool_desc_t*,
zet_metric_query_pool_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricQueryPoolDestroy
typedef ze_result_t (ZE_APICALL *zet_pfnMetricQueryPoolDestroy_t)(
zet_metric_query_pool_handle_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of MetricQueryPool functions pointers
typedef struct _zet_metric_query_pool_dditable_t
{
zet_pfnMetricQueryPoolCreate_t pfnCreate;
zet_pfnMetricQueryPoolDestroy_t pfnDestroy;
} zet_metric_query_pool_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's MetricQueryPool table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetMetricQueryPoolProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_metric_query_pool_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetMetricQueryPoolProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetMetricQueryPoolProcAddrTable_t)(
ze_api_version_t,
zet_metric_query_pool_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricQueryCreate
typedef ze_result_t (ZE_APICALL *zet_pfnMetricQueryCreate_t)(
zet_metric_query_pool_handle_t,
uint32_t,
zet_metric_query_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricQueryDestroy
typedef ze_result_t (ZE_APICALL *zet_pfnMetricQueryDestroy_t)(
zet_metric_query_handle_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricQueryReset
typedef ze_result_t (ZE_APICALL *zet_pfnMetricQueryReset_t)(
zet_metric_query_handle_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetMetricQueryGetData
typedef ze_result_t (ZE_APICALL *zet_pfnMetricQueryGetData_t)(
zet_metric_query_handle_t,
size_t*,
uint8_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of MetricQuery functions pointers
typedef struct _zet_metric_query_dditable_t
{
zet_pfnMetricQueryCreate_t pfnCreate;
zet_pfnMetricQueryDestroy_t pfnDestroy;
zet_pfnMetricQueryReset_t pfnReset;
zet_pfnMetricQueryGetData_t pfnGetData;
} zet_metric_query_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's MetricQuery table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetMetricQueryProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_metric_query_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetMetricQueryProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetMetricQueryProcAddrTable_t)(
ze_api_version_t,
zet_metric_query_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetTracerExpCreate
typedef ze_result_t (ZE_APICALL *zet_pfnTracerExpCreate_t)(
zet_context_handle_t,
const zet_tracer_exp_desc_t*,
zet_tracer_exp_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetTracerExpDestroy
typedef ze_result_t (ZE_APICALL *zet_pfnTracerExpDestroy_t)(
zet_tracer_exp_handle_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetTracerExpSetPrologues
typedef ze_result_t (ZE_APICALL *zet_pfnTracerExpSetPrologues_t)(
zet_tracer_exp_handle_t,
zet_core_callbacks_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetTracerExpSetEpilogues
typedef ze_result_t (ZE_APICALL *zet_pfnTracerExpSetEpilogues_t)(
zet_tracer_exp_handle_t,
zet_core_callbacks_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetTracerExpSetEnabled
typedef ze_result_t (ZE_APICALL *zet_pfnTracerExpSetEnabled_t)(
zet_tracer_exp_handle_t,
ze_bool_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of TracerExp functions pointers
typedef struct _zet_tracer_exp_dditable_t
{
zet_pfnTracerExpCreate_t pfnCreate;
zet_pfnTracerExpDestroy_t pfnDestroy;
zet_pfnTracerExpSetPrologues_t pfnSetPrologues;
zet_pfnTracerExpSetEpilogues_t pfnSetEpilogues;
zet_pfnTracerExpSetEnabled_t pfnSetEnabled;
} zet_tracer_exp_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's TracerExp table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetTracerExpProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_tracer_exp_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetTracerExpProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetTracerExpProcAddrTable_t)(
ze_api_version_t,
zet_tracer_exp_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDebugAttach
typedef ze_result_t (ZE_APICALL *zet_pfnDebugAttach_t)(
zet_device_handle_t,
const zet_debug_config_t*,
zet_debug_session_handle_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDebugDetach
typedef ze_result_t (ZE_APICALL *zet_pfnDebugDetach_t)(
zet_debug_session_handle_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDebugReadEvent
typedef ze_result_t (ZE_APICALL *zet_pfnDebugReadEvent_t)(
zet_debug_session_handle_t,
uint64_t,
zet_debug_event_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDebugAcknowledgeEvent
typedef ze_result_t (ZE_APICALL *zet_pfnDebugAcknowledgeEvent_t)(
zet_debug_session_handle_t,
const zet_debug_event_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDebugInterrupt
typedef ze_result_t (ZE_APICALL *zet_pfnDebugInterrupt_t)(
zet_debug_session_handle_t,
ze_device_thread_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDebugResume
typedef ze_result_t (ZE_APICALL *zet_pfnDebugResume_t)(
zet_debug_session_handle_t,
ze_device_thread_t
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDebugReadMemory
typedef ze_result_t (ZE_APICALL *zet_pfnDebugReadMemory_t)(
zet_debug_session_handle_t,
ze_device_thread_t,
const zet_debug_memory_space_desc_t*,
size_t,
void*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDebugWriteMemory
typedef ze_result_t (ZE_APICALL *zet_pfnDebugWriteMemory_t)(
zet_debug_session_handle_t,
ze_device_thread_t,
const zet_debug_memory_space_desc_t*,
size_t,
const void*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDebugGetRegisterSetProperties
typedef ze_result_t (ZE_APICALL *zet_pfnDebugGetRegisterSetProperties_t)(
zet_device_handle_t,
uint32_t*,
zet_debug_regset_properties_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDebugReadRegisters
typedef ze_result_t (ZE_APICALL *zet_pfnDebugReadRegisters_t)(
zet_debug_session_handle_t,
ze_device_thread_t,
uint32_t,
uint32_t,
uint32_t,
void*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDebugWriteRegisters
typedef ze_result_t (ZE_APICALL *zet_pfnDebugWriteRegisters_t)(
zet_debug_session_handle_t,
ze_device_thread_t,
uint32_t,
uint32_t,
uint32_t,
void*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetDebugGetThreadRegisterSetProperties
typedef ze_result_t (ZE_APICALL *zet_pfnDebugGetThreadRegisterSetProperties_t)(
zet_debug_session_handle_t,
ze_device_thread_t,
uint32_t*,
zet_debug_regset_properties_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Table of Debug functions pointers
typedef struct _zet_debug_dditable_t
{
zet_pfnDebugAttach_t pfnAttach;
zet_pfnDebugDetach_t pfnDetach;
zet_pfnDebugReadEvent_t pfnReadEvent;
zet_pfnDebugAcknowledgeEvent_t pfnAcknowledgeEvent;
zet_pfnDebugInterrupt_t pfnInterrupt;
zet_pfnDebugResume_t pfnResume;
zet_pfnDebugReadMemory_t pfnReadMemory;
zet_pfnDebugWriteMemory_t pfnWriteMemory;
zet_pfnDebugGetRegisterSetProperties_t pfnGetRegisterSetProperties;
zet_pfnDebugReadRegisters_t pfnReadRegisters;
zet_pfnDebugWriteRegisters_t pfnWriteRegisters;
zet_pfnDebugGetThreadRegisterSetProperties_t pfnGetThreadRegisterSetProperties;
} zet_debug_dditable_t;
///////////////////////////////////////////////////////////////////////////////
/// @brief Exported function for filling application's Debug table
/// with current process' addresses
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_VERSION
ZE_DLLEXPORT ze_result_t ZE_APICALL
zetGetDebugProcAddrTable(
ze_api_version_t version, ///< [in] API version requested
zet_debug_dditable_t* pDdiTable ///< [in,out] pointer to table of DDI function pointers
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Function-pointer for zetGetDebugProcAddrTable
typedef ze_result_t (ZE_APICALL *zet_pfnGetDebugProcAddrTable_t)(
ze_api_version_t,
zet_debug_dditable_t*
);
///////////////////////////////////////////////////////////////////////////////
/// @brief Container for all DDI tables
typedef struct _zet_dditable_t
{
zet_metric_programmable_exp_dditable_t MetricProgrammableExp;
zet_metric_tracer_exp_dditable_t MetricTracerExp;
zet_metric_decoder_exp_dditable_t MetricDecoderExp;
zet_device_dditable_t Device;
zet_device_exp_dditable_t DeviceExp;
zet_context_dditable_t Context;
zet_command_list_dditable_t CommandList;
zet_module_dditable_t Module;
zet_kernel_dditable_t Kernel;
zet_metric_dditable_t Metric;
zet_metric_exp_dditable_t MetricExp;
zet_metric_group_dditable_t MetricGroup;
zet_metric_group_exp_dditable_t MetricGroupExp;
zet_metric_streamer_dditable_t MetricStreamer;
zet_metric_query_pool_dditable_t MetricQueryPool;
zet_metric_query_dditable_t MetricQuery;
zet_tracer_exp_dditable_t TracerExp;
zet_debug_dditable_t Debug;
} zet_dditable_t;
/// @brief Container for all DDI tables with version and tables set by the Driver
typedef struct _zet_dditable_driver_t
{
ze_api_version_t version;
uint8_t isValidFlag;
zet_metric_programmable_exp_dditable_t * MetricProgrammableExp;
zet_metric_tracer_exp_dditable_t * MetricTracerExp;
zet_metric_decoder_exp_dditable_t * MetricDecoderExp;
zet_device_dditable_t * Device;
zet_device_exp_dditable_t * DeviceExp;
zet_context_dditable_t * Context;
zet_command_list_dditable_t * CommandList;
zet_module_dditable_t * Module;
zet_kernel_dditable_t * Kernel;
zet_metric_dditable_t * Metric;
zet_metric_exp_dditable_t * MetricExp;
zet_metric_group_dditable_t * MetricGroup;
zet_metric_group_exp_dditable_t * MetricGroupExp;
zet_metric_streamer_dditable_t * MetricStreamer;
zet_metric_query_pool_dditable_t * MetricQueryPool;
zet_metric_query_dditable_t * MetricQuery;
zet_tracer_exp_dditable_t * TracerExp;
zet_debug_dditable_t * Debug;
} zet_dditable_driver_t;
#if defined(__cplusplus)
} // extern "C"
#endif
#endif // _ZET_DDI_H