From a91e4387492b6204954e7d144c89132587f77ce2 Mon Sep 17 00:00:00 2001 From: Mateusz Jablonski Date: Wed, 10 Apr 2024 10:38:37 +0000 Subject: [PATCH] fix: fill ddi entries based on required version Signed-off-by: Mateusz Jablonski --- level_zero/api/core/ze_core_loader.cpp | 182 ++++++------ level_zero/api/sysman/ze_sysman_loader.cpp | 328 ++++++++++----------- level_zero/api/tools/ze_tools_loader.cpp | 156 +++++----- 3 files changed, 306 insertions(+), 360 deletions(-) diff --git a/level_zero/api/core/ze_core_loader.cpp b/level_zero/api/core/ze_core_loader.cpp index 8039d9806f..803d334e67 100644 --- a/level_zero/api/core/ze_core_loader.cpp +++ b/level_zero/api/core/ze_core_loader.cpp @@ -522,31 +522,30 @@ zeGetModuleProcAddrTable( ze_module_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; driverDdiTable.enableTracing = getEnvToBool("ZET_ENABLE_API_TRACING_EXP"); ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnCreate = L0::zeModuleCreate; - pDdiTable->pfnDestroy = L0::zeModuleDestroy; - pDdiTable->pfnDynamicLink = L0::zeModuleDynamicLink; - pDdiTable->pfnGetNativeBinary = L0::zeModuleGetNativeBinary; - pDdiTable->pfnGetGlobalPointer = L0::zeModuleGetGlobalPointer; - pDdiTable->pfnGetKernelNames = L0::zeModuleGetKernelNames; - pDdiTable->pfnGetFunctionPointer = L0::zeModuleGetFunctionPointer; - pDdiTable->pfnGetProperties = L0::zeModuleGetProperties; - pDdiTable->pfnInspectLinkageExt = L0::zeModuleInspectLinkageExt; + fillDdiEntry(pDdiTable->pfnCreate, L0::zeModuleCreate, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnDestroy, L0::zeModuleDestroy, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnDynamicLink, L0::zeModuleDynamicLink, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetNativeBinary, L0::zeModuleGetNativeBinary, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetGlobalPointer, L0::zeModuleGetGlobalPointer, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetKernelNames, L0::zeModuleGetKernelNames, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetFunctionPointer, L0::zeModuleGetFunctionPointer, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zeModuleGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnInspectLinkageExt, L0::zeModuleInspectLinkageExt, version, ZE_API_VERSION_1_3); driverDdiTable.coreDdiTable.Module = *pDdiTable; if (driverDdiTable.enableTracing) { - pDdiTable->pfnCreate = zeModuleCreateTracing; - pDdiTable->pfnDestroy = zeModuleDestroyTracing; - pDdiTable->pfnGetNativeBinary = zeModuleGetNativeBinaryTracing; - pDdiTable->pfnDynamicLink = zeModuleDynamicLinkTracing; - pDdiTable->pfnGetGlobalPointer = zeModuleGetGlobalPointerTracing; - pDdiTable->pfnGetFunctionPointer = zeModuleGetFunctionPointerTracing; - pDdiTable->pfnGetKernelNames = zeModuleGetKernelNamesTracing; - pDdiTable->pfnGetProperties = zeModuleGetPropertiesTracing; + fillDdiEntry(pDdiTable->pfnCreate, zeModuleCreateTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnDestroy, zeModuleDestroyTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetNativeBinary, zeModuleGetNativeBinaryTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnDynamicLink, zeModuleDynamicLinkTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetGlobalPointer, zeModuleGetGlobalPointerTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetFunctionPointer, zeModuleGetFunctionPointerTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetKernelNames, zeModuleGetKernelNamesTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetProperties, zeModuleGetPropertiesTracing, version, ZE_API_VERSION_1_0); } return result; } @@ -557,18 +556,17 @@ zeGetModuleBuildLogProcAddrTable( ze_module_build_log_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; driverDdiTable.enableTracing = getEnvToBool("ZET_ENABLE_API_TRACING_EXP"); ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnDestroy = L0::zeModuleBuildLogDestroy; - pDdiTable->pfnGetString = L0::zeModuleBuildLogGetString; + fillDdiEntry(pDdiTable->pfnDestroy, L0::zeModuleBuildLogDestroy, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetString, L0::zeModuleBuildLogGetString, version, ZE_API_VERSION_1_0); driverDdiTable.coreDdiTable.ModuleBuildLog = *pDdiTable; if (driverDdiTable.enableTracing) { - pDdiTable->pfnDestroy = zeModuleBuildLogDestroyTracing; - pDdiTable->pfnGetString = zeModuleBuildLogGetStringTracing; + fillDdiEntry(pDdiTable->pfnDestroy, zeModuleBuildLogDestroyTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetString, zeModuleBuildLogGetStringTracing, version, ZE_API_VERSION_1_0); } return result; } @@ -579,38 +577,37 @@ zeGetKernelProcAddrTable( ze_kernel_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; driverDdiTable.enableTracing = getEnvToBool("ZET_ENABLE_API_TRACING_EXP"); ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnCreate = L0::zeKernelCreate; - pDdiTable->pfnDestroy = L0::zeKernelDestroy; - pDdiTable->pfnSetGroupSize = L0::zeKernelSetGroupSize; - pDdiTable->pfnSuggestGroupSize = L0::zeKernelSuggestGroupSize; - pDdiTable->pfnSuggestMaxCooperativeGroupCount = L0::zeKernelSuggestMaxCooperativeGroupCount; - pDdiTable->pfnSetArgumentValue = L0::zeKernelSetArgumentValue; - pDdiTable->pfnSetIndirectAccess = L0::zeKernelSetIndirectAccess; - pDdiTable->pfnGetIndirectAccess = L0::zeKernelGetIndirectAccess; - pDdiTable->pfnGetSourceAttributes = L0::zeKernelGetSourceAttributes; - pDdiTable->pfnGetProperties = L0::zeKernelGetProperties; - pDdiTable->pfnSetCacheConfig = L0::zeKernelSetCacheConfig; - pDdiTable->pfnGetName = L0::zeKernelGetName; + fillDdiEntry(pDdiTable->pfnCreate, L0::zeKernelCreate, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnDestroy, L0::zeKernelDestroy, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetGroupSize, L0::zeKernelSetGroupSize, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSuggestGroupSize, L0::zeKernelSuggestGroupSize, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSuggestMaxCooperativeGroupCount, L0::zeKernelSuggestMaxCooperativeGroupCount, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetArgumentValue, L0::zeKernelSetArgumentValue, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetIndirectAccess, L0::zeKernelSetIndirectAccess, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetIndirectAccess, L0::zeKernelGetIndirectAccess, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetSourceAttributes, L0::zeKernelGetSourceAttributes, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zeKernelGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetCacheConfig, L0::zeKernelSetCacheConfig, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetName, L0::zeKernelGetName, version, ZE_API_VERSION_1_0); driverDdiTable.coreDdiTable.Kernel = *pDdiTable; if (driverDdiTable.enableTracing) { - pDdiTable->pfnCreate = zeKernelCreateTracing; - pDdiTable->pfnDestroy = zeKernelDestroyTracing; - pDdiTable->pfnSetGroupSize = zeKernelSetGroupSizeTracing; - pDdiTable->pfnSuggestGroupSize = zeKernelSuggestGroupSizeTracing; - pDdiTable->pfnSuggestMaxCooperativeGroupCount = zeKernelSuggestMaxCooperativeGroupCountTracing; - pDdiTable->pfnSetArgumentValue = zeKernelSetArgumentValueTracing; - pDdiTable->pfnSetIndirectAccess = zeKernelSetIndirectAccessTracing; - pDdiTable->pfnGetIndirectAccess = zeKernelGetIndirectAccessTracing; - pDdiTable->pfnGetSourceAttributes = zeKernelGetSourceAttributesTracing; - pDdiTable->pfnGetProperties = zeKernelGetPropertiesTracing; - pDdiTable->pfnSetCacheConfig = zeKernelSetCacheConfigTracing; - pDdiTable->pfnGetName = zeKernelGetNameTracing; + fillDdiEntry(pDdiTable->pfnCreate, zeKernelCreateTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnDestroy, zeKernelDestroyTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetGroupSize, zeKernelSetGroupSizeTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSuggestGroupSize, zeKernelSuggestGroupSizeTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSuggestMaxCooperativeGroupCount, zeKernelSuggestMaxCooperativeGroupCountTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetArgumentValue, zeKernelSetArgumentValueTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetIndirectAccess, zeKernelSetIndirectAccessTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetIndirectAccess, zeKernelGetIndirectAccessTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetSourceAttributes, zeKernelGetSourceAttributesTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetProperties, zeKernelGetPropertiesTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetCacheConfig, zeKernelSetCacheConfigTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetName, zeKernelGetNameTracing, version, ZE_API_VERSION_1_0); } return result; } @@ -621,18 +618,17 @@ zeGetSamplerProcAddrTable( ze_sampler_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; driverDdiTable.enableTracing = getEnvToBool("ZET_ENABLE_API_TRACING_EXP"); ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnCreate = L0::zeSamplerCreate; - pDdiTable->pfnDestroy = L0::zeSamplerDestroy; + fillDdiEntry(pDdiTable->pfnCreate, L0::zeSamplerCreate, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnDestroy, L0::zeSamplerDestroy, version, ZE_API_VERSION_1_0); driverDdiTable.coreDdiTable.Sampler = *pDdiTable; if (driverDdiTable.enableTracing) { - pDdiTable->pfnCreate = zeSamplerCreateTracing; - pDdiTable->pfnDestroy = zeSamplerDestroyTracing; + fillDdiEntry(pDdiTable->pfnCreate, zeSamplerCreateTracing, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnDestroy, zeSamplerDestroyTracing, version, ZE_API_VERSION_1_0); } return result; } @@ -643,13 +639,12 @@ zeGetKernelExpProcAddrTable( ze_kernel_exp_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnSetGlobalOffsetExp = L0::zeKernelSetGlobalOffsetExp; - pDdiTable->pfnSchedulingHintExp = L0::zeKernelSchedulingHintExp; + fillDdiEntry(pDdiTable->pfnSetGlobalOffsetExp, L0::zeKernelSetGlobalOffsetExp, version, ZE_API_VERSION_1_1); + fillDdiEntry(pDdiTable->pfnSchedulingHintExp, L0::zeKernelSchedulingHintExp, version, ZE_API_VERSION_1_2); driverDdiTable.coreDdiTable.KernelExp = *pDdiTable; return result; } @@ -660,15 +655,14 @@ zeGetMemExpProcAddrTable( ze_mem_exp_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetIpcHandleFromFileDescriptorExp = L0::zeMemGetIpcHandleFromFileDescriptorExp; - pDdiTable->pfnGetFileDescriptorFromIpcHandleExp = L0::zeMemGetFileDescriptorFromIpcHandleExp; - pDdiTable->pfnSetAtomicAccessAttributeExp = L0::zeMemSetAtomicAccessAttributeExp; - pDdiTable->pfnGetAtomicAccessAttributeExp = L0::zeMemGetAtomicAccessAttributeExp; + fillDdiEntry(pDdiTable->pfnGetIpcHandleFromFileDescriptorExp, L0::zeMemGetIpcHandleFromFileDescriptorExp, version, ZE_API_VERSION_1_6); + fillDdiEntry(pDdiTable->pfnGetFileDescriptorFromIpcHandleExp, L0::zeMemGetFileDescriptorFromIpcHandleExp, version, ZE_API_VERSION_1_6); + fillDdiEntry(pDdiTable->pfnSetAtomicAccessAttributeExp, L0::zeMemSetAtomicAccessAttributeExp, version, ZE_API_VERSION_1_7); + fillDdiEntry(pDdiTable->pfnGetAtomicAccessAttributeExp, L0::zeMemGetAtomicAccessAttributeExp, version, ZE_API_VERSION_1_7); driverDdiTable.coreDdiTable.MemExp = *pDdiTable; return result; } @@ -679,13 +673,12 @@ zeGetImageExpProcAddrTable( ze_image_exp_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetMemoryPropertiesExp = L0::zeImageGetMemoryPropertiesExp; - pDdiTable->pfnViewCreateExp = L0::zeImageViewCreateExp; + fillDdiEntry(pDdiTable->pfnGetMemoryPropertiesExp, L0::zeImageGetMemoryPropertiesExp, version, ZE_API_VERSION_1_2); + fillDdiEntry(pDdiTable->pfnViewCreateExp, L0::zeImageViewCreateExp, version, ZE_API_VERSION_1_2); driverDdiTable.coreDdiTable.ImageExp = *pDdiTable; return result; } @@ -697,15 +690,14 @@ zeGetFabricVertexExpProcAddrTable( if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetExp = L0::zeFabricVertexGetExp; - pDdiTable->pfnGetSubVerticesExp = L0::zeFabricVertexGetSubVerticesExp; - pDdiTable->pfnGetPropertiesExp = L0::zeFabricVertexGetPropertiesExp; - pDdiTable->pfnGetDeviceExp = L0::zeFabricVertexGetDeviceExp; + fillDdiEntry(pDdiTable->pfnGetExp, L0::zeFabricVertexGetExp, version, ZE_API_VERSION_1_4); + fillDdiEntry(pDdiTable->pfnGetSubVerticesExp, L0::zeFabricVertexGetSubVerticesExp, version, ZE_API_VERSION_1_4); + fillDdiEntry(pDdiTable->pfnGetPropertiesExp, L0::zeFabricVertexGetPropertiesExp, version, ZE_API_VERSION_1_4); + fillDdiEntry(pDdiTable->pfnGetDeviceExp, L0::zeFabricVertexGetDeviceExp, version, ZE_API_VERSION_1_4); driverDdiTable.coreDdiTable.FabricVertexExp = *pDdiTable; return result; } @@ -717,14 +709,13 @@ zeGetFabricEdgeExpProcAddrTable( if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetExp = L0::zeFabricEdgeGetExp; - pDdiTable->pfnGetVerticesExp = L0::zeFabricEdgeGetVerticesExp; - pDdiTable->pfnGetPropertiesExp = L0::zeFabricEdgeGetPropertiesExp; + fillDdiEntry(pDdiTable->pfnGetExp, L0::zeFabricEdgeGetExp, version, ZE_API_VERSION_1_4); + fillDdiEntry(pDdiTable->pfnGetVerticesExp, L0::zeFabricEdgeGetVerticesExp, version, ZE_API_VERSION_1_4); + fillDdiEntry(pDdiTable->pfnGetPropertiesExp, L0::zeFabricEdgeGetPropertiesExp, version, ZE_API_VERSION_1_4); driverDdiTable.coreDdiTable.FabricEdgeExp = *pDdiTable; return result; } @@ -736,12 +727,11 @@ zeGetDriverExpProcAddrTable( if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnRTASFormatCompatibilityCheckExp = L0::zeDriverRTASFormatCompatibilityCheckExp; + fillDdiEntry(pDdiTable->pfnRTASFormatCompatibilityCheckExp, L0::zeDriverRTASFormatCompatibilityCheckExp, version, ZE_API_VERSION_1_7); driverDdiTable.coreDdiTable.DriverExp = *pDdiTable; return result; } @@ -753,15 +743,14 @@ zeGetRTASParallelOperationExpProcAddrTable( if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnCreateExp = L0::zeRTASParallelOperationCreateExp; - pDdiTable->pfnGetPropertiesExp = L0::zeRTASParallelOperationGetPropertiesExp; - pDdiTable->pfnJoinExp = L0::zeRTASParallelOperationJoinExp; - pDdiTable->pfnDestroyExp = L0::zeRTASParallelOperationDestroyExp; + fillDdiEntry(pDdiTable->pfnCreateExp, L0::zeRTASParallelOperationCreateExp, version, ZE_API_VERSION_1_7); + fillDdiEntry(pDdiTable->pfnGetPropertiesExp, L0::zeRTASParallelOperationGetPropertiesExp, version, ZE_API_VERSION_1_7); + fillDdiEntry(pDdiTable->pfnJoinExp, L0::zeRTASParallelOperationJoinExp, version, ZE_API_VERSION_1_7); + fillDdiEntry(pDdiTable->pfnDestroyExp, L0::zeRTASParallelOperationDestroyExp, version, ZE_API_VERSION_1_7); driverDdiTable.coreDdiTable.RTASParallelOperationExp = *pDdiTable; return result; } @@ -773,15 +762,14 @@ zeGetRTASBuilderExpProcAddrTable( if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnCreateExp = L0::zeRTASBuilderCreateExp; - pDdiTable->pfnGetBuildPropertiesExp = L0::zeRTASBuilderGetBuildPropertiesExp; - pDdiTable->pfnBuildExp = L0::zeRTASBuilderBuildExp; - pDdiTable->pfnDestroyExp = L0::zeRTASBuilderDestroyExp; + fillDdiEntry(pDdiTable->pfnCreateExp, L0::zeRTASBuilderCreateExp, version, ZE_API_VERSION_1_7); + fillDdiEntry(pDdiTable->pfnGetBuildPropertiesExp, L0::zeRTASBuilderGetBuildPropertiesExp, version, ZE_API_VERSION_1_7); + fillDdiEntry(pDdiTable->pfnBuildExp, L0::zeRTASBuilderBuildExp, version, ZE_API_VERSION_1_7); + fillDdiEntry(pDdiTable->pfnDestroyExp, L0::zeRTASBuilderDestroyExp, version, ZE_API_VERSION_1_7); driverDdiTable.coreDdiTable.RTASBuilderExp = *pDdiTable; return result; } diff --git a/level_zero/api/sysman/ze_sysman_loader.cpp b/level_zero/api/sysman/ze_sysman_loader.cpp index 0b9619328a..cc4a31e991 100644 --- a/level_zero/api/sysman/ze_sysman_loader.cpp +++ b/level_zero/api/sysman/ze_sysman_loader.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2023 Intel Corporation + * Copyright (C) 2020-2024 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -23,48 +23,47 @@ zesGetDeviceProcAddrTable( zes_device_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesDeviceGetProperties; - pDdiTable->pfnGetState = L0::zesDeviceGetState; - pDdiTable->pfnReset = L0::zesDeviceReset; - pDdiTable->pfnProcessesGetState = L0::zesDeviceProcessesGetState; - pDdiTable->pfnPciGetProperties = L0::zesDevicePciGetProperties; - pDdiTable->pfnPciGetState = L0::zesDevicePciGetState; - pDdiTable->pfnPciGetBars = L0::zesDevicePciGetBars; - pDdiTable->pfnPciGetStats = L0::zesDevicePciGetStats; - pDdiTable->pfnEnumDiagnosticTestSuites = L0::zesDeviceEnumDiagnosticTestSuites; - pDdiTable->pfnEnumEngineGroups = L0::zesDeviceEnumEngineGroups; - pDdiTable->pfnEventRegister = L0::zesDeviceEventRegister; - pDdiTable->pfnEnumFabricPorts = L0::zesDeviceEnumFabricPorts; - pDdiTable->pfnEnumFans = L0::zesDeviceEnumFans; - pDdiTable->pfnEnumFirmwares = L0::zesDeviceEnumFirmwares; - pDdiTable->pfnEnumFrequencyDomains = L0::zesDeviceEnumFrequencyDomains; - pDdiTable->pfnEnumLeds = L0::zesDeviceEnumLeds; - pDdiTable->pfnEnumMemoryModules = L0::zesDeviceEnumMemoryModules; - pDdiTable->pfnEnumPerformanceFactorDomains = L0::zesDeviceEnumPerformanceFactorDomains; - pDdiTable->pfnEnumPowerDomains = L0::zesDeviceEnumPowerDomains; - pDdiTable->pfnGetCardPowerDomain = L0::zesDeviceGetCardPowerDomain; - pDdiTable->pfnEnumPsus = L0::zesDeviceEnumPsus; - pDdiTable->pfnEnumRasErrorSets = L0::zesDeviceEnumRasErrorSets; - pDdiTable->pfnEnumSchedulers = L0::zesDeviceEnumSchedulers; - pDdiTable->pfnEnumStandbyDomains = L0::zesDeviceEnumStandbyDomains; - pDdiTable->pfnEnumTemperatureSensors = L0::zesDeviceEnumTemperatureSensors; - pDdiTable->pfnEccAvailable = L0::zesDeviceEccAvailable; - pDdiTable->pfnEccConfigurable = L0::zesDeviceEccConfigurable; - pDdiTable->pfnGetEccState = L0::zesDeviceGetEccState; - pDdiTable->pfnSetEccState = L0::zesDeviceSetEccState; - pDdiTable->pfnGet = L0::zesDeviceGet; - pDdiTable->pfnSetOverclockWaiver = L0::zesDeviceSetOverclockWaiver; - pDdiTable->pfnGetOverclockDomains = L0::zesDeviceGetOverclockDomains; - pDdiTable->pfnGetOverclockControls = L0::zesDeviceGetOverclockControls; - pDdiTable->pfnResetOverclockSettings = L0::zesDeviceResetOverclockSettings; - pDdiTable->pfnReadOverclockState = L0::zesDeviceReadOverclockState; - pDdiTable->pfnEnumOverclockDomains = L0::zesDeviceEnumOverclockDomains; - pDdiTable->pfnResetExt = L0::zesDeviceResetExt; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesDeviceGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetState, L0::zesDeviceGetState, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnReset, L0::zesDeviceReset, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnProcessesGetState, L0::zesDeviceProcessesGetState, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnPciGetProperties, L0::zesDevicePciGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnPciGetState, L0::zesDevicePciGetState, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnPciGetBars, L0::zesDevicePciGetBars, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnPciGetStats, L0::zesDevicePciGetStats, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumDiagnosticTestSuites, L0::zesDeviceEnumDiagnosticTestSuites, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumEngineGroups, L0::zesDeviceEnumEngineGroups, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEventRegister, L0::zesDeviceEventRegister, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumFabricPorts, L0::zesDeviceEnumFabricPorts, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumFans, L0::zesDeviceEnumFans, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumFirmwares, L0::zesDeviceEnumFirmwares, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumFrequencyDomains, L0::zesDeviceEnumFrequencyDomains, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumLeds, L0::zesDeviceEnumLeds, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumMemoryModules, L0::zesDeviceEnumMemoryModules, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumPerformanceFactorDomains, L0::zesDeviceEnumPerformanceFactorDomains, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumPowerDomains, L0::zesDeviceEnumPowerDomains, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumPsus, L0::zesDeviceEnumPsus, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumRasErrorSets, L0::zesDeviceEnumRasErrorSets, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumSchedulers, L0::zesDeviceEnumSchedulers, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumStandbyDomains, L0::zesDeviceEnumStandbyDomains, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEnumTemperatureSensors, L0::zesDeviceEnumTemperatureSensors, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetCardPowerDomain, L0::zesDeviceGetCardPowerDomain, version, ZE_API_VERSION_1_3); + fillDdiEntry(pDdiTable->pfnEccAvailable, L0::zesDeviceEccAvailable, version, ZE_API_VERSION_1_4); + fillDdiEntry(pDdiTable->pfnEccConfigurable, L0::zesDeviceEccConfigurable, version, ZE_API_VERSION_1_4); + fillDdiEntry(pDdiTable->pfnGetEccState, L0::zesDeviceGetEccState, version, ZE_API_VERSION_1_4); + fillDdiEntry(pDdiTable->pfnSetEccState, L0::zesDeviceSetEccState, version, ZE_API_VERSION_1_4); + fillDdiEntry(pDdiTable->pfnGet, L0::zesDeviceGet, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnSetOverclockWaiver, L0::zesDeviceSetOverclockWaiver, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnGetOverclockDomains, L0::zesDeviceGetOverclockDomains, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnGetOverclockControls, L0::zesDeviceGetOverclockControls, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnResetOverclockSettings, L0::zesDeviceResetOverclockSettings, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnReadOverclockState, L0::zesDeviceReadOverclockState, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnEnumOverclockDomains, L0::zesDeviceEnumOverclockDomains, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnResetExt, L0::zesDeviceResetExt, version, ZE_API_VERSION_1_7); return result; } @@ -75,12 +74,11 @@ zesGetGlobalProcAddrTable( zes_global_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnInit = L0::zesInit; + fillDdiEntry(pDdiTable->pfnInit, L0::zesInit, version, ZE_API_VERSION_1_5); return result; } @@ -91,16 +89,15 @@ zesGetDriverProcAddrTable( zes_driver_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnEventListen = L0::zesDriverEventListen; - pDdiTable->pfnEventListenEx = L0::zesDriverEventListenEx; - pDdiTable->pfnGet = L0::zesDriverGet; - pDdiTable->pfnGetExtensionProperties = L0::zesDriverGetExtensionProperties; - pDdiTable->pfnGetExtensionFunctionAddress = L0::zesDriverGetExtensionFunctionAddress; + fillDdiEntry(pDdiTable->pfnEventListen, L0::zesDriverEventListen, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnEventListenEx, L0::zesDriverEventListenEx, version, ZE_API_VERSION_1_1); + fillDdiEntry(pDdiTable->pfnGet, L0::zesDriverGet, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnGetExtensionProperties, L0::zesDriverGetExtensionProperties, version, ZE_API_VERSION_1_8); + fillDdiEntry(pDdiTable->pfnGetExtensionFunctionAddress, L0::zesDriverGetExtensionFunctionAddress, version, ZE_API_VERSION_1_8); return result; } @@ -110,14 +107,13 @@ zesGetDiagnosticsProcAddrTable( zes_diagnostics_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesDiagnosticsGetProperties; - pDdiTable->pfnGetTests = L0::zesDiagnosticsGetTests; - pDdiTable->pfnRunTests = L0::zesDiagnosticsRunTests; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesDiagnosticsGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetTests, L0::zesDiagnosticsGetTests, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnRunTests, L0::zesDiagnosticsRunTests, version, ZE_API_VERSION_1_0); return result; } @@ -128,15 +124,14 @@ zesGetEngineProcAddrTable( zes_engine_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesEngineGetProperties; - pDdiTable->pfnGetActivity = L0::zesEngineGetActivity; - pDdiTable->pfnGetActivityExt = L0::zesEngineGetActivityExt; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesEngineGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetActivity, L0::zesEngineGetActivity, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetActivityExt, L0::zesEngineGetActivityExt, version, ZE_API_VERSION_1_7); return result; } @@ -147,19 +142,18 @@ zesGetFabricPortProcAddrTable( zes_fabric_port_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesFabricPortGetProperties; - pDdiTable->pfnGetLinkType = L0::zesFabricPortGetLinkType; - pDdiTable->pfnGetConfig = L0::zesFabricPortGetConfig; - pDdiTable->pfnSetConfig = L0::zesFabricPortSetConfig; - pDdiTable->pfnGetState = L0::zesFabricPortGetState; - pDdiTable->pfnGetThroughput = L0::zesFabricPortGetThroughput; - pDdiTable->pfnGetFabricErrorCounters = L0::zesFabricPortGetFabricErrorCounters; - pDdiTable->pfnGetMultiPortThroughput = L0::zesFabricPortGetMultiPortThroughput; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesFabricPortGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetLinkType, L0::zesFabricPortGetLinkType, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetConfig, L0::zesFabricPortGetConfig, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetConfig, L0::zesFabricPortSetConfig, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetState, L0::zesFabricPortGetState, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetThroughput, L0::zesFabricPortGetThroughput, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetFabricErrorCounters, L0::zesFabricPortGetFabricErrorCounters, version, ZE_API_VERSION_1_7); + fillDdiEntry(pDdiTable->pfnGetMultiPortThroughput, L0::zesFabricPortGetMultiPortThroughput, version, ZE_API_VERSION_1_7); return result; } @@ -170,17 +164,16 @@ zesGetFanProcAddrTable( zes_fan_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesFanGetProperties; - pDdiTable->pfnGetConfig = L0::zesFanGetConfig; - pDdiTable->pfnSetDefaultMode = L0::zesFanSetDefaultMode; - pDdiTable->pfnSetFixedSpeedMode = L0::zesFanSetFixedSpeedMode; - pDdiTable->pfnSetSpeedTableMode = L0::zesFanSetSpeedTableMode; - pDdiTable->pfnGetState = L0::zesFanGetState; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesFanGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetConfig, L0::zesFanGetConfig, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetDefaultMode, L0::zesFanSetDefaultMode, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetFixedSpeedMode, L0::zesFanSetFixedSpeedMode, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetSpeedTableMode, L0::zesFanSetSpeedTableMode, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetState, L0::zesFanGetState, version, ZE_API_VERSION_1_0); return result; } @@ -191,14 +184,13 @@ zesGetFirmwareProcAddrTable( zes_firmware_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesFirmwareGetProperties; - pDdiTable->pfnFlash = L0::zesFirmwareFlash; - pDdiTable->pfnGetFlashProgress = L0::zesFirmwareGetFlashProgress; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesFirmwareGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnFlash, L0::zesFirmwareFlash, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetFlashProgress, L0::zesFirmwareGetFlashProgress, version, ZE_API_VERSION_1_8); return result; } @@ -209,29 +201,28 @@ zesGetFrequencyProcAddrTable( zes_frequency_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesFrequencyGetProperties; - pDdiTable->pfnGetAvailableClocks = L0::zesFrequencyGetAvailableClocks; - pDdiTable->pfnGetRange = L0::zesFrequencyGetRange; - pDdiTable->pfnSetRange = L0::zesFrequencySetRange; - pDdiTable->pfnGetState = L0::zesFrequencyGetState; - pDdiTable->pfnGetThrottleTime = L0::zesFrequencyGetThrottleTime; - pDdiTable->pfnOcGetCapabilities = L0::zesFrequencyOcGetCapabilities; - pDdiTable->pfnOcGetFrequencyTarget = L0::zesFrequencyOcGetFrequencyTarget; - pDdiTable->pfnOcSetFrequencyTarget = L0::zesFrequencyOcSetFrequencyTarget; - pDdiTable->pfnOcGetVoltageTarget = L0::zesFrequencyOcGetVoltageTarget; - pDdiTable->pfnOcSetVoltageTarget = L0::zesFrequencyOcSetVoltageTarget; - pDdiTable->pfnOcSetMode = L0::zesFrequencyOcSetMode; - pDdiTable->pfnOcGetMode = L0::zesFrequencyOcGetMode; - pDdiTable->pfnOcGetIccMax = L0::zesFrequencyOcGetIccMax; - pDdiTable->pfnOcSetIccMax = L0::zesFrequencyOcSetIccMax; - pDdiTable->pfnOcGetTjMax = L0::zesFrequencyOcGetTjMax; - pDdiTable->pfnOcSetTjMax = L0::zesFrequencyOcSetTjMax; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesFrequencyGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetAvailableClocks, L0::zesFrequencyGetAvailableClocks, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetRange, L0::zesFrequencyGetRange, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetRange, L0::zesFrequencySetRange, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetState, L0::zesFrequencyGetState, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetThrottleTime, L0::zesFrequencyGetThrottleTime, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnOcGetCapabilities, L0::zesFrequencyOcGetCapabilities, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnOcGetFrequencyTarget, L0::zesFrequencyOcGetFrequencyTarget, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnOcSetFrequencyTarget, L0::zesFrequencyOcSetFrequencyTarget, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnOcGetVoltageTarget, L0::zesFrequencyOcGetVoltageTarget, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnOcSetVoltageTarget, L0::zesFrequencyOcSetVoltageTarget, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnOcSetMode, L0::zesFrequencyOcSetMode, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnOcGetMode, L0::zesFrequencyOcGetMode, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnOcGetIccMax, L0::zesFrequencyOcGetIccMax, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnOcSetIccMax, L0::zesFrequencyOcSetIccMax, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnOcGetTjMax, L0::zesFrequencyOcGetTjMax, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnOcSetTjMax, L0::zesFrequencyOcSetTjMax, version, ZE_API_VERSION_1_0); return result; } @@ -242,15 +233,14 @@ zesGetLedProcAddrTable( zes_led_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesLedGetProperties; - pDdiTable->pfnGetState = L0::zesLedGetState; - pDdiTable->pfnSetState = L0::zesLedSetState; - pDdiTable->pfnSetColor = L0::zesLedSetColor; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesLedGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetState, L0::zesLedGetState, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetState, L0::zesLedSetState, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetColor, L0::zesLedSetColor, version, ZE_API_VERSION_1_0); return result; } @@ -261,14 +251,13 @@ zesGetMemoryProcAddrTable( zes_memory_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesMemoryGetProperties; - pDdiTable->pfnGetState = L0::zesMemoryGetState; - pDdiTable->pfnGetBandwidth = L0::zesMemoryGetBandwidth; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesMemoryGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetState, L0::zesMemoryGetState, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetBandwidth, L0::zesMemoryGetBandwidth, version, ZE_API_VERSION_1_0); return result; } @@ -279,14 +268,13 @@ zesGetPerformanceFactorProcAddrTable( zes_performance_factor_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesPerformanceFactorGetProperties; - pDdiTable->pfnGetConfig = L0::zesPerformanceFactorGetConfig; - pDdiTable->pfnSetConfig = L0::zesPerformanceFactorSetConfig; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesPerformanceFactorGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetConfig, L0::zesPerformanceFactorGetConfig, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetConfig, L0::zesPerformanceFactorSetConfig, version, ZE_API_VERSION_1_0); return result; } @@ -297,19 +285,18 @@ zesGetPowerProcAddrTable( zes_power_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesPowerGetProperties; - pDdiTable->pfnGetEnergyCounter = L0::zesPowerGetEnergyCounter; - pDdiTable->pfnGetLimits = L0::zesPowerGetLimits; - pDdiTable->pfnSetLimits = L0::zesPowerSetLimits; - pDdiTable->pfnGetLimitsExt = L0::zesPowerGetLimitsExt; - pDdiTable->pfnSetLimitsExt = L0::zesPowerSetLimitsExt; - pDdiTable->pfnGetEnergyThreshold = L0::zesPowerGetEnergyThreshold; - pDdiTable->pfnSetEnergyThreshold = L0::zesPowerSetEnergyThreshold; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesPowerGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetEnergyCounter, L0::zesPowerGetEnergyCounter, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetLimits, L0::zesPowerGetLimits, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetLimits, L0::zesPowerSetLimits, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetEnergyThreshold, L0::zesPowerGetEnergyThreshold, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetEnergyThreshold, L0::zesPowerSetEnergyThreshold, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetLimitsExt, L0::zesPowerGetLimitsExt, version, ZE_API_VERSION_1_4); + fillDdiEntry(pDdiTable->pfnSetLimitsExt, L0::zesPowerSetLimitsExt, version, ZE_API_VERSION_1_4); return result; } @@ -320,13 +307,12 @@ zesGetPsuProcAddrTable( zes_psu_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesPsuGetProperties; - pDdiTable->pfnGetState = L0::zesPsuGetState; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesPsuGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetState, L0::zesPsuGetState, version, ZE_API_VERSION_1_0); return result; } @@ -337,15 +323,14 @@ zesGetRasProcAddrTable( zes_ras_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesRasGetProperties; - pDdiTable->pfnGetConfig = L0::zesRasGetConfig; - pDdiTable->pfnSetConfig = L0::zesRasSetConfig; - pDdiTable->pfnGetState = L0::zesRasGetState; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesRasGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetConfig, L0::zesRasGetConfig, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetConfig, L0::zesRasSetConfig, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetState, L0::zesRasGetState, version, ZE_API_VERSION_1_0); return result; } @@ -356,13 +341,12 @@ zesGetRasExpProcAddrTable( zes_ras_exp_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetStateExp = L0::zesRasGetStateExp; - pDdiTable->pfnClearStateExp = L0::zesRasClearStateExp; + fillDdiEntry(pDdiTable->pfnGetStateExp, L0::zesRasGetStateExp, version, ZE_API_VERSION_1_7); + fillDdiEntry(pDdiTable->pfnClearStateExp, L0::zesRasClearStateExp, version, ZE_API_VERSION_1_7); return result; } @@ -373,19 +357,18 @@ zesGetSchedulerProcAddrTable( zes_scheduler_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesSchedulerGetProperties; - pDdiTable->pfnGetCurrentMode = L0::zesSchedulerGetCurrentMode; - pDdiTable->pfnGetTimeoutModeProperties = L0::zesSchedulerGetTimeoutModeProperties; - pDdiTable->pfnGetTimesliceModeProperties = L0::zesSchedulerGetTimesliceModeProperties; - pDdiTable->pfnSetTimeoutMode = L0::zesSchedulerSetTimeoutMode; - pDdiTable->pfnSetTimesliceMode = L0::zesSchedulerSetTimesliceMode; - pDdiTable->pfnSetExclusiveMode = L0::zesSchedulerSetExclusiveMode; - pDdiTable->pfnSetComputeUnitDebugMode = L0::zesSchedulerSetComputeUnitDebugMode; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesSchedulerGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetCurrentMode, L0::zesSchedulerGetCurrentMode, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetTimeoutModeProperties, L0::zesSchedulerGetTimeoutModeProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetTimesliceModeProperties, L0::zesSchedulerGetTimesliceModeProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetTimeoutMode, L0::zesSchedulerSetTimeoutMode, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetTimesliceMode, L0::zesSchedulerSetTimesliceMode, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetExclusiveMode, L0::zesSchedulerSetExclusiveMode, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetComputeUnitDebugMode, L0::zesSchedulerSetComputeUnitDebugMode, version, ZE_API_VERSION_1_0); return result; } @@ -396,14 +379,13 @@ zesGetStandbyProcAddrTable( zes_standby_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesStandbyGetProperties; - pDdiTable->pfnGetMode = L0::zesStandbyGetMode; - pDdiTable->pfnSetMode = L0::zesStandbySetMode; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesStandbyGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetMode, L0::zesStandbyGetMode, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetMode, L0::zesStandbySetMode, version, ZE_API_VERSION_1_0); return result; } @@ -414,15 +396,14 @@ zesGetTemperatureProcAddrTable( zes_temperature_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProperties = L0::zesTemperatureGetProperties; - pDdiTable->pfnGetConfig = L0::zesTemperatureGetConfig; - pDdiTable->pfnSetConfig = L0::zesTemperatureSetConfig; - pDdiTable->pfnGetState = L0::zesTemperatureGetState; + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zesTemperatureGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetConfig, L0::zesTemperatureGetConfig, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetConfig, L0::zesTemperatureSetConfig, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetState, L0::zesTemperatureGetState, version, ZE_API_VERSION_1_0); return result; } @@ -434,20 +415,19 @@ zesGetOverclockProcAddrTable( ) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetDomainProperties = L0::zesOverclockGetDomainProperties; - pDdiTable->pfnGetDomainVFProperties = L0::zesOverclockGetDomainVFProperties; - pDdiTable->pfnGetDomainControlProperties = L0::zesOverclockGetDomainControlProperties; - pDdiTable->pfnGetControlCurrentValue = L0::zesOverclockGetControlCurrentValue; - pDdiTable->pfnGetControlPendingValue = L0::zesOverclockGetControlPendingValue; - pDdiTable->pfnSetControlUserValue = L0::zesOverclockSetControlUserValue; - pDdiTable->pfnGetControlState = L0::zesOverclockGetControlState; - pDdiTable->pfnGetVFPointValues = L0::zesOverclockGetVFPointValues; - pDdiTable->pfnSetVFPointValues = L0::zesOverclockSetVFPointValues; + fillDdiEntry(pDdiTable->pfnGetDomainProperties, L0::zesOverclockGetDomainProperties, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnGetDomainVFProperties, L0::zesOverclockGetDomainVFProperties, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnGetDomainControlProperties, L0::zesOverclockGetDomainControlProperties, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnGetControlCurrentValue, L0::zesOverclockGetControlCurrentValue, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnGetControlPendingValue, L0::zesOverclockGetControlPendingValue, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnSetControlUserValue, L0::zesOverclockSetControlUserValue, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnGetControlState, L0::zesOverclockGetControlState, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnGetVFPointValues, L0::zesOverclockGetVFPointValues, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnSetVFPointValues, L0::zesOverclockSetVFPointValues, version, ZE_API_VERSION_1_5); return result; } diff --git a/level_zero/api/tools/ze_tools_loader.cpp b/level_zero/api/tools/ze_tools_loader.cpp index 3402be9a4b..c456ad699b 100644 --- a/level_zero/api/tools/ze_tools_loader.cpp +++ b/level_zero/api/tools/ze_tools_loader.cpp @@ -26,10 +26,9 @@ zetGetContextProcAddrTable( ze_result_t result = ZE_RESULT_SUCCESS; if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; - pDdiTable->pfnActivateMetricGroups = L0::zetContextActivateMetricGroups; + fillDdiEntry(pDdiTable->pfnActivateMetricGroups, L0::zetContextActivateMetricGroups, version, ZE_API_VERSION_1_0); return result; } @@ -39,14 +38,13 @@ zetGetMetricStreamerProcAddrTable( zet_metric_streamer_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnOpen = L0::zetMetricStreamerOpen; - pDdiTable->pfnClose = L0::zetMetricStreamerClose; - pDdiTable->pfnReadData = L0::zetMetricStreamerReadData; + fillDdiEntry(pDdiTable->pfnOpen, L0::zetMetricStreamerOpen, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnClose, L0::zetMetricStreamerClose, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnReadData, L0::zetMetricStreamerReadData, version, ZE_API_VERSION_1_0); return result; } @@ -57,15 +55,14 @@ zetGetTracerExpProcAddrTable( zet_tracer_exp_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnCreate = L0::zetTracerExpCreate; - pDdiTable->pfnDestroy = L0::zetTracerExpDestroy; - pDdiTable->pfnSetPrologues = L0::zetTracerExpSetPrologues; - pDdiTable->pfnSetEpilogues = L0::zetTracerExpSetEpilogues; - pDdiTable->pfnSetEnabled = L0::zetTracerExpSetEnabled; + fillDdiEntry(pDdiTable->pfnCreate, L0::zetTracerExpCreate, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnDestroy, L0::zetTracerExpDestroy, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetPrologues, L0::zetTracerExpSetPrologues, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetEpilogues, L0::zetTracerExpSetEpilogues, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnSetEnabled, L0::zetTracerExpSetEnabled, version, ZE_API_VERSION_1_0); return result; } @@ -75,14 +72,13 @@ zetGetCommandListProcAddrTable( zet_command_list_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnAppendMetricStreamerMarker = L0::zetCommandListAppendMetricStreamerMarker; - pDdiTable->pfnAppendMetricQueryBegin = L0::zetCommandListAppendMetricQueryBegin; - pDdiTable->pfnAppendMetricQueryEnd = L0::zetCommandListAppendMetricQueryEnd; - pDdiTable->pfnAppendMetricMemoryBarrier = L0::zetCommandListAppendMetricMemoryBarrier; + fillDdiEntry(pDdiTable->pfnAppendMetricStreamerMarker, L0::zetCommandListAppendMetricStreamerMarker, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnAppendMetricQueryBegin, L0::zetCommandListAppendMetricQueryBegin, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnAppendMetricQueryEnd, L0::zetCommandListAppendMetricQueryEnd, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnAppendMetricMemoryBarrier, L0::zetCommandListAppendMetricMemoryBarrier, version, ZE_API_VERSION_1_0); return result; } @@ -92,11 +88,10 @@ zetGetModuleProcAddrTable( zet_module_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetDebugInfo = L0::zetModuleGetDebugInfo; + fillDdiEntry(pDdiTable->pfnGetDebugInfo, L0::zetModuleGetDebugInfo, version, ZE_API_VERSION_1_0); return result; } @@ -106,11 +101,10 @@ zetGetKernelProcAddrTable( zet_kernel_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetProfileInfo = L0::zetKernelGetProfileInfo; + fillDdiEntry(pDdiTable->pfnGetProfileInfo, L0::zetKernelGetProfileInfo, version, ZE_API_VERSION_1_0); return result; } @@ -120,13 +114,12 @@ zetGetMetricGroupProcAddrTable( zet_metric_group_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGet = L0::zetMetricGroupGet; - pDdiTable->pfnGetProperties = L0::zetMetricGroupGetProperties; - pDdiTable->pfnCalculateMetricValues = L0::zetMetricGroupCalculateMetricValues; + fillDdiEntry(pDdiTable->pfnGet, L0::zetMetricGroupGet, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zetMetricGroupGetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnCalculateMetricValues, L0::zetMetricGroupCalculateMetricValues, version, ZE_API_VERSION_1_0); return result; } @@ -136,13 +129,12 @@ zetGetMetricProcAddrTable( zet_metric_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGet = L0::zetMetricGet; - pDdiTable->pfnGetProperties = L0::zetMetricGetProperties; + fillDdiEntry(pDdiTable->pfnGet, L0::zetMetricGet, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetProperties, L0::zetMetricGetProperties, version, ZE_API_VERSION_1_0); return result; } @@ -152,12 +144,11 @@ zetGetMetricQueryPoolProcAddrTable( zet_metric_query_pool_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnCreate = L0::zetMetricQueryPoolCreate; - pDdiTable->pfnDestroy = L0::zetMetricQueryPoolDestroy; + fillDdiEntry(pDdiTable->pfnCreate, L0::zetMetricQueryPoolCreate, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnDestroy, L0::zetMetricQueryPoolDestroy, version, ZE_API_VERSION_1_0); return result; } @@ -167,15 +158,14 @@ zetGetMetricQueryProcAddrTable( zet_metric_query_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnCreate = L0::zetMetricQueryCreate; - pDdiTable->pfnDestroy = L0::zetMetricQueryDestroy; - pDdiTable->pfnReset = L0::zetMetricQueryReset; - pDdiTable->pfnGetData = L0::zetMetricQueryGetData; + fillDdiEntry(pDdiTable->pfnCreate, L0::zetMetricQueryCreate, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnDestroy, L0::zetMetricQueryDestroy, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnReset, L0::zetMetricQueryReset, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetData, L0::zetMetricQueryGetData, version, ZE_API_VERSION_1_0); return result; } @@ -185,12 +175,11 @@ zetGetDeviceProcAddrTable( zet_device_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetDebugProperties = L0::zetDeviceGetDebugProperties; + fillDdiEntry(pDdiTable->pfnGetDebugProperties, L0::zetDeviceGetDebugProperties, version, ZE_API_VERSION_1_0); return result; } @@ -200,23 +189,22 @@ zetGetDebugProcAddrTable( zet_debug_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnAttach = L0::zetDebugAttach; - pDdiTable->pfnDetach = L0::zetDebugDetach; - pDdiTable->pfnReadEvent = L0::zetDebugReadEvent; - pDdiTable->pfnAcknowledgeEvent = L0::zetDebugAcknowledgeEvent; - pDdiTable->pfnInterrupt = L0::zetDebugInterrupt; - pDdiTable->pfnResume = L0::zetDebugResume; - pDdiTable->pfnReadMemory = L0::zetDebugReadMemory; - pDdiTable->pfnWriteMemory = L0::zetDebugWriteMemory; - pDdiTable->pfnGetRegisterSetProperties = L0::zetDebugGetRegisterSetProperties; - pDdiTable->pfnReadRegisters = L0::zetDebugReadRegisters; - pDdiTable->pfnWriteRegisters = L0::zetDebugWriteRegisters; - pDdiTable->pfnGetThreadRegisterSetProperties = L0::zetDebugGetThreadRegisterSetProperties; + fillDdiEntry(pDdiTable->pfnAttach, L0::zetDebugAttach, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnDetach, L0::zetDebugDetach, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnReadEvent, L0::zetDebugReadEvent, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnAcknowledgeEvent, L0::zetDebugAcknowledgeEvent, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnInterrupt, L0::zetDebugInterrupt, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnResume, L0::zetDebugResume, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnReadMemory, L0::zetDebugReadMemory, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnWriteMemory, L0::zetDebugWriteMemory, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetRegisterSetProperties, L0::zetDebugGetRegisterSetProperties, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnReadRegisters, L0::zetDebugReadRegisters, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnWriteRegisters, L0::zetDebugWriteRegisters, version, ZE_API_VERSION_1_0); + fillDdiEntry(pDdiTable->pfnGetThreadRegisterSetProperties, L0::zetDebugGetThreadRegisterSetProperties, version, ZE_API_VERSION_1_5); return result; } @@ -227,23 +215,19 @@ zetGetMetricGroupExpProcAddrTable( zet_metric_group_exp_dditable_t *pDdiTable) { if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version) || - ZE_MINOR_VERSION(driverDdiTable.version) > ZE_MINOR_VERSION(version)) + if (ZE_MAJOR_VERSION(driverDdiTable.version) != ZE_MAJOR_VERSION(version)) return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnCalculateMultipleMetricValuesExp = L0::zetMetricGroupCalculateMultipleMetricValuesExp; - pDdiTable->pfnGetGlobalTimestampsExp = L0::zetMetricGroupGetGlobalTimestampsExp; - pDdiTable->pfnGetExportDataExp = L0::zetMetricGroupGetExportDataExp; - pDdiTable->pfnCalculateMetricExportDataExp = L0::zetDriverCalculateMetricExportDataExp; - - if (version >= ZE_API_VERSION_1_9) { - pDdiTable->pfnCreateExp = L0::zetMetricGroupCreateExp; - pDdiTable->pfnAddMetricExp = L0::zetMetricGroupAddMetricExp; - pDdiTable->pfnRemoveMetricExp = L0::zetMetricGroupRemoveMetricExp; - pDdiTable->pfnCloseExp = L0::zetMetricGroupCloseExp; - pDdiTable->pfnDestroyExp = L0::zetMetricGroupDestroyExp; - } + fillDdiEntry(pDdiTable->pfnCalculateMultipleMetricValuesExp, L0::zetMetricGroupCalculateMultipleMetricValuesExp, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnGetGlobalTimestampsExp, L0::zetMetricGroupGetGlobalTimestampsExp, version, ZE_API_VERSION_1_5); + fillDdiEntry(pDdiTable->pfnGetExportDataExp, L0::zetMetricGroupGetExportDataExp, version, ZE_API_VERSION_1_6); + fillDdiEntry(pDdiTable->pfnCalculateMetricExportDataExp, L0::zetDriverCalculateMetricExportDataExp, version, ZE_API_VERSION_1_6); + fillDdiEntry(pDdiTable->pfnCreateExp, L0::zetMetricGroupCreateExp, version, ZE_API_VERSION_1_9); + fillDdiEntry(pDdiTable->pfnAddMetricExp, L0::zetMetricGroupAddMetricExp, version, ZE_API_VERSION_1_9); + fillDdiEntry(pDdiTable->pfnRemoveMetricExp, L0::zetMetricGroupRemoveMetricExp, version, ZE_API_VERSION_1_9); + fillDdiEntry(pDdiTable->pfnCloseExp, L0::zetMetricGroupCloseExp, version, ZE_API_VERSION_1_9); + fillDdiEntry(pDdiTable->pfnDestroyExp, L0::zetMetricGroupDestroyExp, version, ZE_API_VERSION_1_9); return result; } @@ -255,15 +239,12 @@ zetGetMetricProgrammableExpProcAddrTable( if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (version < ZE_API_VERSION_1_9) { - return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; - } ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnGetExp = L0::zetMetricProgrammableGetExp; - pDdiTable->pfnGetPropertiesExp = L0::zetMetricProgrammableGetPropertiesExp; - pDdiTable->pfnGetParamInfoExp = L0::zetMetricProgrammableGetParamInfoExp; - pDdiTable->pfnGetParamValueInfoExp = L0::zetMetricProgrammableGetParamValueInfoExp; + fillDdiEntry(pDdiTable->pfnGetExp, L0::zetMetricProgrammableGetExp, version, ZE_API_VERSION_1_9); + fillDdiEntry(pDdiTable->pfnGetPropertiesExp, L0::zetMetricProgrammableGetPropertiesExp, version, ZE_API_VERSION_1_9); + fillDdiEntry(pDdiTable->pfnGetParamInfoExp, L0::zetMetricProgrammableGetParamInfoExp, version, ZE_API_VERSION_1_9); + fillDdiEntry(pDdiTable->pfnGetParamValueInfoExp, L0::zetMetricProgrammableGetParamValueInfoExp, version, ZE_API_VERSION_1_9); return result; } @@ -275,13 +256,10 @@ zetGetMetricExpProcAddrTable( if (nullptr == pDdiTable) return ZE_RESULT_ERROR_INVALID_ARGUMENT; - if (version < ZE_API_VERSION_1_9) { - return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; - } ze_result_t result = ZE_RESULT_SUCCESS; - pDdiTable->pfnCreateFromProgrammableExp = L0::zetMetricCreateFromProgrammableExp; - pDdiTable->pfnDestroyExp = L0::zetMetricDestroyExp; + fillDdiEntry(pDdiTable->pfnCreateFromProgrammableExp, L0::zetMetricCreateFromProgrammableExp, version, ZE_API_VERSION_1_9); + fillDdiEntry(pDdiTable->pfnDestroyExp, L0::zetMetricDestroyExp, version, ZE_API_VERSION_1_9); return result; } \ No newline at end of file