From 276c606329966aa59bc09b311d925a6ff1a97769 Mon Sep 17 00:00:00 2001 From: Mateusz Jablonski Date: Wed, 19 Feb 2025 17:56:25 +0000 Subject: [PATCH] feature: update base layout of L0 handles to match ze_handle_t layout this layout is required by L0 DDI Handle extension Related-To: NEO-13121, NEO-13917 Signed-off-by: Mateusz Jablonski --- level_zero/api/sysman/zes_handles_struct.h | 75 ++++++++----------- level_zero/core/source/cmdlist/cmdlist.h | 6 +- level_zero/core/source/cmdqueue/cmdqueue.h | 6 +- level_zero/core/source/context/context.h | 11 +-- level_zero/core/source/device/device.h | 9 +-- level_zero/core/source/driver/driver.cpp | 2 +- level_zero/core/source/driver/driver_handle.h | 10 +-- level_zero/core/source/event/event.h | 10 +-- level_zero/core/source/fabric/fabric.h | 10 ++- level_zero/core/source/fence/fence.h | 5 +- level_zero/core/source/global_teardown.cpp | 2 +- .../core/source/helpers/api_handle_helper.h | 30 +++++++- level_zero/core/source/image/image.h | 9 +-- level_zero/core/source/kernel/kernel.h | 8 +- level_zero/core/source/module/module.h | 5 +- .../core/source/module/module_build_log.h | 5 +- level_zero/core/source/sampler/sampler.h | 8 +- .../unit_tests/sources/driver/test_driver.cpp | 2 +- .../experimental/source/tracing/tracing.h | 7 +- .../api/diagnostics/sysman_diagnostics.h | 4 +- .../sysman/source/api/engine/sysman_engine.h | 3 +- .../api/fabric_port/sysman_fabric_port.h | 2 +- level_zero/sysman/source/api/fan/sysman_fan.h | 3 +- .../source/api/firmware/sysman_firmware.h | 4 +- .../source/api/frequency/sysman_frequency.h | 4 +- .../sysman/source/api/memory/sysman_memory.h | 3 +- .../api/performance/sysman_performance.h | 4 +- .../sysman/source/api/power/sysman_power.h | 1 + level_zero/sysman/source/api/ras/sysman_ras.h | 3 +- .../source/api/scheduler/sysman_scheduler.h | 1 + .../source/api/standby/sysman_standby.h | 4 +- .../api/temperature/sysman_temperature.h | 3 +- .../api/vf_management/sysman_vf_management.h | 1 + level_zero/tools/source/debug/debug_session.h | 8 +- level_zero/tools/source/metrics/metric.h | 25 +++++-- .../source/sysman/diagnostics/diagnostics.h | 4 +- .../tools/source/sysman/engine/engine.h | 3 +- .../source/sysman/fabric_port/fabric_port.h | 2 +- level_zero/tools/source/sysman/fan/fan.h | 3 +- .../tools/source/sysman/firmware/firmware.h | 4 +- .../tools/source/sysman/frequency/frequency.h | 4 +- .../tools/source/sysman/memory/memory.h | 3 +- .../source/sysman/performance/performance.h | 4 +- level_zero/tools/source/sysman/power/power.h | 3 +- level_zero/tools/source/sysman/ras/ras.h | 3 +- .../tools/source/sysman/scheduler/scheduler.h | 1 + .../tools/source/sysman/standby/standby.h | 4 +- .../source/sysman/temperature/temperature.h | 3 +- .../sysman/vf_management/vf_management.h | 1 + 49 files changed, 180 insertions(+), 155 deletions(-) diff --git a/level_zero/api/sysman/zes_handles_struct.h b/level_zero/api/sysman/zes_handles_struct.h index 55ed2be285..564e5330a7 100644 --- a/level_zero/api/sysman/zes_handles_struct.h +++ b/level_zero/api/sysman/zes_handles_struct.h @@ -1,64 +1,51 @@ /* - * Copyright (C) 2023-2024 Intel Corporation + * Copyright (C) 2023-2025 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once -#include +#include "level_zero/core/source/helpers/api_handle_helper.h" -struct _zes_fabric_port_handle_t { - virtual ~_zes_fabric_port_handle_t() = default; -}; +struct _zes_fabric_port_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zes_fabric_port_handle_t>); -struct _zes_mem_handle_t { - virtual ~_zes_mem_handle_t() = default; -}; +struct _zes_mem_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zes_mem_handle_t>); -struct _zes_pwr_handle_t { - virtual ~_zes_pwr_handle_t() = default; -}; +struct _zes_pwr_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zes_pwr_handle_t>); -struct _zes_engine_handle_t { - virtual ~_zes_engine_handle_t() = default; -}; +struct _zes_engine_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zes_engine_handle_t>); -struct _zes_freq_handle_t { - virtual ~_zes_freq_handle_t() = default; -}; +struct _zes_freq_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zes_freq_handle_t>); -struct _zes_sched_handle_t { - virtual ~_zes_sched_handle_t() = default; -}; +struct _zes_sched_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zes_sched_handle_t>); -struct _zes_firmware_handle_t { - virtual ~_zes_firmware_handle_t() = default; -}; +struct _zes_firmware_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zes_firmware_handle_t>); -struct _zes_diag_handle_t { - virtual ~_zes_diag_handle_t() = default; -}; +struct _zes_diag_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zes_diag_handle_t>); -struct _zes_ras_handle_t { - virtual ~_zes_ras_handle_t() = default; -}; +struct _zes_ras_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zes_ras_handle_t>); -struct _zes_standby_handle_t { - virtual ~_zes_standby_handle_t() = default; -}; +struct _zes_standby_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zes_standby_handle_t>); -struct _zes_temp_handle_t { - virtual ~_zes_temp_handle_t() = default; -}; -struct _zes_perf_handle_t { - virtual ~_zes_perf_handle_t() = default; -}; +struct _zes_temp_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zes_temp_handle_t>); -struct _zes_fan_handle_t { - virtual ~_zes_fan_handle_t() = default; -}; +struct _zes_perf_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zes_perf_handle_t>); -struct _zes_vf_handle_t { - virtual ~_zes_vf_handle_t() = default; -}; \ No newline at end of file +struct _zes_fan_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zes_fan_handle_t>); + +struct _zes_vf_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zes_vf_handle_t>); \ No newline at end of file diff --git a/level_zero/core/source/cmdlist/cmdlist.h b/level_zero/core/source/cmdlist/cmdlist.h index e2f7a0180b..f1f6e9ce30 100644 --- a/level_zero/core/source/cmdlist/cmdlist.h +++ b/level_zero/core/source/cmdlist/cmdlist.h @@ -30,10 +30,8 @@ #include #include -struct _ze_command_list_handle_t { - const uint64_t objMagic = objMagicValue; - static const zel_handle_type_t handleType = ZEL_HANDLE_COMMAND_LIST; -}; +struct _ze_command_list_handle_t : BaseHandleWithLoaderTranslation {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_command_list_handle_t>); namespace NEO { class ScratchSpaceController; diff --git a/level_zero/core/source/cmdqueue/cmdqueue.h b/level_zero/core/source/cmdqueue/cmdqueue.h index cd34866875..f47cbd6b18 100644 --- a/level_zero/core/source/cmdqueue/cmdqueue.h +++ b/level_zero/core/source/cmdqueue/cmdqueue.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -18,8 +18,8 @@ #include #include -struct _ze_command_queue_handle_t { -}; +struct _ze_command_queue_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_command_queue_handle_t>); namespace NEO { class CommandStreamReceiver; diff --git a/level_zero/core/source/context/context.h b/level_zero/core/source/context/context.h index 52e14f9af4..0d542d872f 100644 --- a/level_zero/core/source/context/context.h +++ b/level_zero/core/source/context/context.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -14,11 +14,8 @@ #include #include -struct _ze_context_handle_t { - const uint64_t objMagic = objMagicValue; - static const zel_handle_type_t handleType = ZEL_HANDLE_CONTEXT; - virtual ~_ze_context_handle_t() = default; -}; +struct _ze_context_handle_t : BaseHandleWithLoaderTranslation {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_context_handle_t>); namespace NEO { class Device; @@ -44,7 +41,7 @@ struct Context : _ze_context_handle_t { return ZE_MEMORY_TYPE_UNKNOWN; } - ~Context() override = default; + virtual ~Context() = default; virtual ze_result_t destroy() = 0; virtual ze_result_t getStatus() = 0; virtual DriverHandle *getDriverHandle() = 0; diff --git a/level_zero/core/source/device/device.h b/level_zero/core/source/device/device.h index d7c4d62d96..c67de759f8 100644 --- a/level_zero/core/source/device/device.h +++ b/level_zero/core/source/device/device.h @@ -12,18 +12,15 @@ #include "shared/source/utilities/tag_allocator.h" #include "level_zero/core/source/helpers/api_handle_helper.h" -#include -#include #include #include static_assert(NEO::ProductHelper::uuidSize == ZE_MAX_DEVICE_UUID_SIZE); -struct _ze_device_handle_t { - const uint64_t objMagic = objMagicValue; - static const zel_handle_type_t handleType = ZEL_HANDLE_DEVICE; -}; +struct _ze_device_handle_t : BaseHandleWithLoaderTranslation {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_device_handle_t>); + namespace NEO { class CommandStreamReceiver; class DebuggerL0; diff --git a/level_zero/core/source/driver/driver.cpp b/level_zero/core/source/driver/driver.cpp index 4c365745c4..3c70b73fda 100644 --- a/level_zero/core/source/driver/driver.cpp +++ b/level_zero/core/source/driver/driver.cpp @@ -90,7 +90,7 @@ void DriverImp::initialize(ze_result_t *result) { } if (*result != ZE_RESULT_SUCCESS) { for (auto &driverHandle : *globalDriverHandles) { - delete driverHandle; + delete static_cast(driverHandle); } globalDriverHandles->clear(); } else if (envVariables.pin) { diff --git a/level_zero/core/source/driver/driver_handle.h b/level_zero/core/source/driver/driver_handle.h index 18ec01f8f6..d79618bc9b 100644 --- a/level_zero/core/source/driver/driver_handle.h +++ b/level_zero/core/source/driver/driver_handle.h @@ -10,18 +10,13 @@ #include "shared/source/helpers/non_copyable_or_moveable.h" #include "level_zero/core/source/helpers/api_handle_helper.h" -#include -#include #include #include #include -struct _ze_driver_handle_t { - const uint64_t objMagic = objMagicValue; - static const zel_handle_type_t handleType = ZEL_HANDLE_DRIVER; - virtual ~_ze_driver_handle_t() = default; -}; +struct _ze_driver_handle_t : BaseHandleWithLoaderTranslation {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_driver_handle_t>); namespace NEO { class Device; @@ -36,6 +31,7 @@ struct Device; struct L0EnvVariables; struct BaseDriver : _ze_driver_handle_t { + virtual ~BaseDriver() = default; virtual ze_result_t getExtensionFunctionAddress(const char *pFuncName, void **pfunc) = 0; static BaseDriver *fromHandle(ze_driver_handle_t handle) { return static_cast(handle); } }; diff --git a/level_zero/core/source/event/event.h b/level_zero/core/source/event/event.h index 4db69e0fd6..ab5d068ba3 100644 --- a/level_zero/core/source/event/event.h +++ b/level_zero/core/source/event/event.h @@ -15,7 +15,6 @@ #include "shared/source/os_interface/os_time.h" #include "level_zero/core/source/helpers/api_handle_helper.h" -#include #include #include @@ -25,12 +24,11 @@ #include #include -struct _ze_event_handle_t { - const uint64_t objMagic = objMagicValue; - static const zel_handle_type_t handleType = ZEL_HANDLE_EVENT; -}; +struct _ze_event_handle_t : BaseHandleWithLoaderTranslation {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_event_handle_t>); -struct _ze_event_pool_handle_t {}; +struct _ze_event_pool_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_event_pool_handle_t>); namespace NEO { class CommandStreamReceiver; diff --git a/level_zero/core/source/fabric/fabric.h b/level_zero/core/source/fabric/fabric.h index 01917e89e0..b1e30e1a22 100644 --- a/level_zero/core/source/fabric/fabric.h +++ b/level_zero/core/source/fabric/fabric.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022-2024 Intel Corporation + * Copyright (C) 2022-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -8,14 +8,16 @@ #pragma once #include "level_zero/core/source/fabric/fabric_device_interface.h" -#include +#include "level_zero/core/source/helpers/api_handle_helper.h" #include #include #include -struct _ze_fabric_vertex_handle_t {}; -struct _ze_fabric_edge_handle_t {}; +struct _ze_fabric_vertex_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_fabric_vertex_handle_t>); +struct _ze_fabric_edge_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_fabric_edge_handle_t>); namespace L0 { struct Device; diff --git a/level_zero/core/source/fence/fence.h b/level_zero/core/source/fence/fence.h index b9acdf585e..4d3b3c9d3a 100644 --- a/level_zero/core/source/fence/fence.h +++ b/level_zero/core/source/fence/fence.h @@ -10,12 +10,13 @@ #include "shared/source/command_stream/task_count_helper.h" #include "shared/source/helpers/constants.h" -#include +#include "level_zero/core/source/helpers/api_handle_helper.h" #include #include -struct _ze_fence_handle_t {}; +struct _ze_fence_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_fence_handle_t>); namespace L0 { diff --git a/level_zero/core/source/global_teardown.cpp b/level_zero/core/source/global_teardown.cpp index bb1cced6b0..51a70fcd3b 100644 --- a/level_zero/core/source/global_teardown.cpp +++ b/level_zero/core/source/global_teardown.cpp @@ -56,7 +56,7 @@ void globalDriverTeardown() { if (globalDriver != nullptr) { if (globalDriver->pid == NEO::SysCalls::getCurrentProcessId()) { - delete globalDriver; + delete static_cast(globalDriver); } globalDriver = nullptr; } diff --git a/level_zero/core/source/helpers/api_handle_helper.h b/level_zero/core/source/helpers/api_handle_helper.h index d25ef165da..c9a48813e4 100644 --- a/level_zero/core/source/helpers/api_handle_helper.h +++ b/level_zero/core/source/helpers/api_handle_helper.h @@ -1,17 +1,23 @@ /* - * Copyright (C) 2024 Intel Corporation + * Copyright (C) 2024-2025 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once +#include "level_zero/ddi/ze_ddi_tables.h" #include +#include +#include +#include +#include #include + namespace L0 { extern decltype(&zelLoaderTranslateHandle) loaderTranslateHandleFunc; -} +} // namespace L0 constexpr uint64_t objMagicValue = 0x8D7E6A5D4B3E2E1FULL; @@ -30,3 +36,23 @@ inline T toInternalType(T input) { } return nullptr; } + +struct BaseHandle : ze_handle_t { + BaseHandle() { + pCore = &L0::globalDriverDispatch.core; + pTools = &L0::globalDriverDispatch.tools; + pSysman = &L0::globalDriverDispatch.sysman; + } +}; + +template +struct BaseHandleWithLoaderTranslation : BaseHandle { + uint64_t objMagic = objMagicValue; + static const zel_handle_type_t handleType = hType; +}; + +template +concept IsCompliantWithDdiHandlesExt = offsetof(T, pCore) == +offsetof(ze_handle_t, pCore) && + offsetof(T, pTools) == offsetof(ze_handle_t, pTools) && + offsetof(T, pSysman) == offsetof(ze_handle_t, pSysman); \ No newline at end of file diff --git a/level_zero/core/source/image/image.h b/level_zero/core/source/image/image.h index 3b3a1ee9e8..b1001ee0c5 100644 --- a/level_zero/core/source/image/image.h +++ b/level_zero/core/source/image/image.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -8,12 +8,9 @@ #pragma once #include "level_zero/core/source/helpers/api_handle_helper.h" -#include -struct _ze_image_handle_t { - const uint64_t objMagic = objMagicValue; - static const zel_handle_type_t handleType = ZEL_HANDLE_IMAGE; -}; +struct _ze_image_handle_t : BaseHandleWithLoaderTranslation {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_image_handle_t>); namespace NEO { struct ImageInfo; diff --git a/level_zero/core/source/kernel/kernel.h b/level_zero/core/source/kernel/kernel.h index a34125eef6..fda862b949 100644 --- a/level_zero/core/source/kernel/kernel.h +++ b/level_zero/core/source/kernel/kernel.h @@ -14,16 +14,12 @@ #include "shared/source/unified_memory/unified_memory.h" #include "level_zero/core/source/helpers/api_handle_helper.h" -#include -#include #include #include -struct _ze_kernel_handle_t { - const uint64_t objMagic = objMagicValue; - static const zel_handle_type_t handleType = ZEL_HANDLE_KERNEL; -}; +struct _ze_kernel_handle_t : BaseHandleWithLoaderTranslation {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_kernel_handle_t>); namespace NEO { class Device; diff --git a/level_zero/core/source/module/module.h b/level_zero/core/source/module/module.h index f4a24761fa..689b994fc1 100644 --- a/level_zero/core/source/module/module.h +++ b/level_zero/core/source/module/module.h @@ -9,12 +9,13 @@ #include "shared/source/helpers/non_copyable_or_moveable.h" -#include +#include "level_zero/core/source/helpers/api_handle_helper.h" #include #include -struct _ze_module_handle_t {}; +struct _ze_module_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_module_handle_t>); namespace NEO { struct KernelDescriptor; diff --git a/level_zero/core/source/module/module_build_log.h b/level_zero/core/source/module/module_build_log.h index f73cd56a7e..c63d5d62e4 100644 --- a/level_zero/core/source/module/module_build_log.h +++ b/level_zero/core/source/module/module_build_log.h @@ -9,9 +9,10 @@ #include "shared/source/helpers/non_copyable_or_moveable.h" -#include +#include "level_zero/core/source/helpers/api_handle_helper.h" -struct _ze_module_build_log_handle_t {}; +struct _ze_module_build_log_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_module_build_log_handle_t>); namespace L0 { diff --git a/level_zero/core/source/sampler/sampler.h b/level_zero/core/source/sampler/sampler.h index f68999b644..4ee58bc2a2 100644 --- a/level_zero/core/source/sampler/sampler.h +++ b/level_zero/core/source/sampler/sampler.h @@ -1,15 +1,15 @@ /* - * Copyright (C) 2020-2022 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once +#include "level_zero/core/source/helpers/api_handle_helper.h" -#include - -struct _ze_sampler_handle_t {}; +struct _ze_sampler_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_ze_sampler_handle_t>); namespace L0 { struct Device; diff --git a/level_zero/core/test/unit_tests/sources/driver/test_driver.cpp b/level_zero/core/test/unit_tests/sources/driver/test_driver.cpp index fcab9cd4a4..99b77a3012 100644 --- a/level_zero/core/test/unit_tests/sources/driver/test_driver.cpp +++ b/level_zero/core/test/unit_tests/sources/driver/test_driver.cpp @@ -1209,7 +1209,7 @@ struct GtPinInitTest : public ::testing::Test { void TearDown() override { delete MockOsLibrary::loadLibraryNewObject; for (auto &driverHandle : *globalDriverHandles) { - delete driverHandle; + delete static_cast(driverHandle); } delete globalDriverHandles; globalDriverHandles = nullptr; diff --git a/level_zero/experimental/source/tracing/tracing.h b/level_zero/experimental/source/tracing/tracing.h index 7754c09707..a7ce43117c 100644 --- a/level_zero/experimental/source/tracing/tracing.h +++ b/level_zero/experimental/source/tracing/tracing.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -7,9 +7,10 @@ #pragma once -#include +#include "level_zero/core/source/helpers/api_handle_helper.h" -struct _zet_tracer_exp_handle_t {}; +struct _zet_tracer_exp_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zet_tracer_exp_handle_t>); namespace L0 { diff --git a/level_zero/sysman/source/api/diagnostics/sysman_diagnostics.h b/level_zero/sysman/source/api/diagnostics/sysman_diagnostics.h index 6bc0e20468..e8e7e589ec 100644 --- a/level_zero/sysman/source/api/diagnostics/sysman_diagnostics.h +++ b/level_zero/sysman/source/api/diagnostics/sysman_diagnostics.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 Intel Corporation + * Copyright (C) 2023-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -20,7 +20,7 @@ struct OsSysman; class Diagnostics : _zes_diag_handle_t { public: - ~Diagnostics() override {} + virtual ~Diagnostics() = default; virtual ze_result_t diagnosticsGetProperties(zes_diag_properties_t *pProperties) = 0; virtual ze_result_t diagnosticsGetTests(uint32_t *pCount, zes_diag_test_t *pTests) = 0; virtual ze_result_t diagnosticsRunTests(uint32_t start, uint32_t end, zes_diag_result_t *pResult) = 0; diff --git a/level_zero/sysman/source/api/engine/sysman_engine.h b/level_zero/sysman/source/api/engine/sysman_engine.h index 5883514584..80e8f764c6 100644 --- a/level_zero/sysman/source/api/engine/sysman_engine.h +++ b/level_zero/sysman/source/api/engine/sysman_engine.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -21,6 +21,7 @@ struct OsSysman; class Engine : _zes_engine_handle_t { public: + virtual ~Engine() = default; virtual ze_result_t engineGetProperties(zes_engine_properties_t *pProperties) = 0; virtual ze_result_t engineGetActivity(zes_engine_stats_t *pStats) = 0; virtual ze_result_t engineGetActivityExt(uint32_t *pCount, zes_engine_stats_t *pStats) = 0; diff --git a/level_zero/sysman/source/api/fabric_port/sysman_fabric_port.h b/level_zero/sysman/source/api/fabric_port/sysman_fabric_port.h index 1443be32a6..e696966c82 100644 --- a/level_zero/sysman/source/api/fabric_port/sysman_fabric_port.h +++ b/level_zero/sysman/source/api/fabric_port/sysman_fabric_port.h @@ -30,7 +30,7 @@ class FabricDevice { class FabricPort : _zes_fabric_port_handle_t { public: - ~FabricPort() override = default; + virtual ~FabricPort() = default; virtual ze_result_t fabricPortGetProperties(zes_fabric_port_properties_t *pProperties) = 0; virtual ze_result_t fabricPortGetLinkType(zes_fabric_link_type_t *pLinkType) = 0; virtual ze_result_t fabricPortGetConfig(zes_fabric_port_config_t *pConfig) = 0; diff --git a/level_zero/sysman/source/api/fan/sysman_fan.h b/level_zero/sysman/source/api/fan/sysman_fan.h index ce15688acc..2ba6c28779 100644 --- a/level_zero/sysman/source/api/fan/sysman_fan.h +++ b/level_zero/sysman/source/api/fan/sysman_fan.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 Intel Corporation + * Copyright (C) 2023-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -18,6 +18,7 @@ namespace Sysman { struct OsSysman; class Fan : _zes_fan_handle_t { public: + virtual ~Fan() = default; virtual ze_result_t fanGetProperties(zes_fan_properties_t *pProperties) = 0; virtual ze_result_t fanGetConfig(zes_fan_config_t *pConfig) = 0; virtual ze_result_t fanSetDefaultMode() = 0; diff --git a/level_zero/sysman/source/api/firmware/sysman_firmware.h b/level_zero/sysman/source/api/firmware/sysman_firmware.h index b9b9540005..c39bce16b7 100644 --- a/level_zero/sysman/source/api/firmware/sysman_firmware.h +++ b/level_zero/sysman/source/api/firmware/sysman_firmware.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -19,7 +19,7 @@ struct OsSysman; class Firmware : _zes_firmware_handle_t { public: - ~Firmware() override {} + virtual ~Firmware() = default; virtual ze_result_t firmwareGetProperties(zes_firmware_properties_t *pProperties) = 0; virtual ze_result_t firmwareFlash(void *pImage, uint32_t size) = 0; virtual ze_result_t firmwareGetFlashProgress(uint32_t *pCompletionPercent) = 0; diff --git a/level_zero/sysman/source/api/frequency/sysman_frequency.h b/level_zero/sysman/source/api/frequency/sysman_frequency.h index 4108948268..ddb6d3e9b5 100644 --- a/level_zero/sysman/source/api/frequency/sysman_frequency.h +++ b/level_zero/sysman/source/api/frequency/sysman_frequency.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2023 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -21,7 +21,7 @@ struct OsSysman; class Frequency : _zes_freq_handle_t { public: - ~Frequency() override {} + virtual ~Frequency() = default; virtual ze_result_t frequencyGetProperties(zes_freq_properties_t *pProperties) = 0; virtual ze_result_t frequencyGetAvailableClocks(uint32_t *pCount, double *phFrequency) = 0; diff --git a/level_zero/sysman/source/api/memory/sysman_memory.h b/level_zero/sysman/source/api/memory/sysman_memory.h index c59d5fc261..52c7da9959 100644 --- a/level_zero/sysman/source/api/memory/sysman_memory.h +++ b/level_zero/sysman/source/api/memory/sysman_memory.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2023 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -20,6 +20,7 @@ struct OsSysman; class Memory : _zes_mem_handle_t { public: + virtual ~Memory() = default; virtual ze_result_t memoryGetProperties(zes_mem_properties_t *pProperties) = 0; virtual ze_result_t memoryGetBandwidth(zes_mem_bandwidth_t *pBandwidth) = 0; virtual ze_result_t memoryGetState(zes_mem_state_t *pState) = 0; diff --git a/level_zero/sysman/source/api/performance/sysman_performance.h b/level_zero/sysman/source/api/performance/sysman_performance.h index 138c92b834..162e124687 100644 --- a/level_zero/sysman/source/api/performance/sysman_performance.h +++ b/level_zero/sysman/source/api/performance/sysman_performance.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 Intel Corporation + * Copyright (C) 2023-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -19,7 +19,7 @@ struct OsSysman; class Performance : _zes_perf_handle_t { public: - ~Performance() override {} + virtual ~Performance() = default; virtual ze_result_t performanceGetProperties(zes_perf_properties_t *pProperties) = 0; virtual ze_result_t performanceGetConfig(double *pFactor) = 0; virtual ze_result_t performanceSetConfig(double pFactor) = 0; diff --git a/level_zero/sysman/source/api/power/sysman_power.h b/level_zero/sysman/source/api/power/sysman_power.h index 3ee933419b..d16e71d657 100644 --- a/level_zero/sysman/source/api/power/sysman_power.h +++ b/level_zero/sysman/source/api/power/sysman_power.h @@ -18,6 +18,7 @@ namespace Sysman { struct OsSysman; class Power : _zes_pwr_handle_t { public: + virtual ~Power() = default; virtual ze_result_t powerGetProperties(zes_power_properties_t *pProperties) = 0; virtual ze_result_t powerGetEnergyCounter(zes_power_energy_counter_t *pEnergy) = 0; virtual ze_result_t powerGetLimits(zes_power_sustained_limit_t *pSustained, zes_power_burst_limit_t *pBurst, zes_power_peak_limit_t *pPeak) = 0; diff --git a/level_zero/sysman/source/api/ras/sysman_ras.h b/level_zero/sysman/source/api/ras/sysman_ras.h index 91fb6a7e5f..9060c38f56 100644 --- a/level_zero/sysman/source/api/ras/sysman_ras.h +++ b/level_zero/sysman/source/api/ras/sysman_ras.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 Intel Corporation + * Copyright (C) 2023-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -20,6 +20,7 @@ struct OsSysman; class Ras : _zes_ras_handle_t { public: + virtual ~Ras() = default; virtual ze_result_t rasGetProperties(zes_ras_properties_t *pProperties) = 0; virtual ze_result_t rasGetConfig(zes_ras_config_t *pConfig) = 0; virtual ze_result_t rasSetConfig(const zes_ras_config_t *pConfig) = 0; diff --git a/level_zero/sysman/source/api/scheduler/sysman_scheduler.h b/level_zero/sysman/source/api/scheduler/sysman_scheduler.h index d1ea7ff35e..53b7f23d9f 100644 --- a/level_zero/sysman/source/api/scheduler/sysman_scheduler.h +++ b/level_zero/sysman/source/api/scheduler/sysman_scheduler.h @@ -21,6 +21,7 @@ namespace Sysman { struct OsSysman; class Scheduler : _zes_sched_handle_t { public: + virtual ~Scheduler() = default; virtual ze_result_t schedulerGetProperties(zes_sched_properties_t *pProperties) = 0; virtual ze_result_t getCurrentMode(zes_sched_mode_t *pMode) = 0; virtual ze_result_t getTimeoutModeProperties(ze_bool_t getDefaults, zes_sched_timeout_properties_t *pConfig) = 0; diff --git a/level_zero/sysman/source/api/standby/sysman_standby.h b/level_zero/sysman/source/api/standby/sysman_standby.h index db60e2b786..a35d614616 100644 --- a/level_zero/sysman/source/api/standby/sysman_standby.h +++ b/level_zero/sysman/source/api/standby/sysman_standby.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 Intel Corporation + * Copyright (C) 2023-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -20,7 +20,7 @@ struct OsSysman; class Standby : _zes_standby_handle_t { public: - ~Standby() override {} + virtual ~Standby() = default; virtual ze_result_t standbyGetProperties(zes_standby_properties_t *pProperties) = 0; virtual ze_result_t standbyGetMode(zes_standby_promo_mode_t *pMode) = 0; virtual ze_result_t standbySetMode(const zes_standby_promo_mode_t mode) = 0; diff --git a/level_zero/sysman/source/api/temperature/sysman_temperature.h b/level_zero/sysman/source/api/temperature/sysman_temperature.h index 1329f044ca..7e4cbba745 100644 --- a/level_zero/sysman/source/api/temperature/sysman_temperature.h +++ b/level_zero/sysman/source/api/temperature/sysman_temperature.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2023 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -19,6 +19,7 @@ namespace Sysman { struct OsSysman; class Temperature : _zes_temp_handle_t { public: + virtual ~Temperature() = default; virtual ze_result_t temperatureGetProperties(zes_temp_properties_t *pProperties) = 0; virtual ze_result_t temperatureGetConfig(zes_temp_config_t *pConfig) = 0; virtual ze_result_t temperatureSetConfig(const zes_temp_config_t *pConfig) = 0; diff --git a/level_zero/sysman/source/api/vf_management/sysman_vf_management.h b/level_zero/sysman/source/api/vf_management/sysman_vf_management.h index f26a56935f..fc370461a0 100644 --- a/level_zero/sysman/source/api/vf_management/sysman_vf_management.h +++ b/level_zero/sysman/source/api/vf_management/sysman_vf_management.h @@ -22,6 +22,7 @@ struct OsSysman; class VfManagement : _zes_vf_handle_t { public: + virtual ~VfManagement() = default; virtual ze_result_t vfGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) = 0; virtual ze_result_t vfGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) = 0; virtual ze_result_t vfGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) = 0; diff --git a/level_zero/tools/source/debug/debug_session.h b/level_zero/tools/source/debug/debug_session.h index d9acceb028..771337c317 100644 --- a/level_zero/tools/source/debug/debug_session.h +++ b/level_zero/tools/source/debug/debug_session.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021-2024 Intel Corporation + * Copyright (C) 2021-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -10,13 +10,13 @@ #include "shared/source/helpers/topology_map.h" #include "shared/source/os_interface/os_thread.h" +#include "level_zero/core/source/helpers/api_handle_helper.h" #include "level_zero/tools/source/debug/eu_thread.h" -#include -#include #include -struct _zet_debug_session_handle_t {}; +struct _zet_debug_session_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zet_debug_session_handle_t>); namespace L0 { diff --git a/level_zero/tools/source/metrics/metric.h b/level_zero/tools/source/metrics/metric.h index f7c9746b0d..e68fd30406 100644 --- a/level_zero/tools/source/metrics/metric.h +++ b/level_zero/tools/source/metrics/metric.h @@ -9,21 +9,32 @@ #include "shared/source/helpers/constants.h" #include "level_zero/core/source/event/event.h" +#include "level_zero/core/source/helpers/api_handle_helper.h" #include "level_zero/tools/source/metrics/os_interface_metric.h" #include "level_zero/zet_intel_gpu_metric.h" -#include #include "metrics_discovery_api.h" #include #include -struct _zet_metric_group_handle_t {}; -struct _zet_metric_handle_t {}; -struct _zet_metric_streamer_handle_t {}; -struct _zet_metric_query_pool_handle_t {}; -struct _zet_metric_query_handle_t {}; -struct _zet_metric_programmable_exp_handle_t {}; +struct _zet_metric_group_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zet_metric_group_handle_t>); + +struct _zet_metric_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zet_metric_handle_t>); + +struct _zet_metric_streamer_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zet_metric_streamer_handle_t>); + +struct _zet_metric_query_pool_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zet_metric_query_pool_handle_t>); + +struct _zet_metric_query_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zet_metric_query_handle_t>); + +struct _zet_metric_programmable_exp_handle_t : BaseHandle {}; +static_assert(IsCompliantWithDdiHandlesExt<_zet_metric_programmable_exp_handle_t>); namespace L0 { diff --git a/level_zero/tools/source/sysman/diagnostics/diagnostics.h b/level_zero/tools/source/sysman/diagnostics/diagnostics.h index 3a1b5ad98b..3ccfec1517 100644 --- a/level_zero/tools/source/sysman/diagnostics/diagnostics.h +++ b/level_zero/tools/source/sysman/diagnostics/diagnostics.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021-2023 Intel Corporation + * Copyright (C) 2021-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -20,7 +20,7 @@ struct OsSysman; class Diagnostics : _zes_diag_handle_t { public: - ~Diagnostics() override {} + virtual ~Diagnostics() = default; virtual ze_result_t diagnosticsGetProperties(zes_diag_properties_t *pProperties) = 0; virtual ze_result_t diagnosticsGetTests(uint32_t *pCount, zes_diag_test_t *pTests) = 0; virtual ze_result_t diagnosticsRunTests(uint32_t start, uint32_t end, zes_diag_result_t *pResult) = 0; diff --git a/level_zero/tools/source/sysman/engine/engine.h b/level_zero/tools/source/sysman/engine/engine.h index 22377e3c1f..5d22dc1b97 100644 --- a/level_zero/tools/source/sysman/engine/engine.h +++ b/level_zero/tools/source/sysman/engine/engine.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -19,6 +19,7 @@ struct OsSysman; class Engine : _zes_engine_handle_t { public: + virtual ~Engine() = default; virtual ze_result_t engineGetProperties(zes_engine_properties_t *pProperties) = 0; virtual ze_result_t engineGetActivity(zes_engine_stats_t *pStats) = 0; virtual ze_result_t engineGetActivityExt(uint32_t *pCount, zes_engine_stats_t *pStats) = 0; diff --git a/level_zero/tools/source/sysman/fabric_port/fabric_port.h b/level_zero/tools/source/sysman/fabric_port/fabric_port.h index 1aadf716ff..6d4f167d27 100644 --- a/level_zero/tools/source/sysman/fabric_port/fabric_port.h +++ b/level_zero/tools/source/sysman/fabric_port/fabric_port.h @@ -29,7 +29,7 @@ class FabricDevice { class FabricPort : _zes_fabric_port_handle_t { public: - ~FabricPort() override = default; + virtual ~FabricPort() = default; virtual ze_result_t fabricPortGetProperties(zes_fabric_port_properties_t *pProperties) = 0; virtual ze_result_t fabricPortGetLinkType(zes_fabric_link_type_t *pLinkType) = 0; virtual ze_result_t fabricPortGetConfig(zes_fabric_port_config_t *pConfig) = 0; diff --git a/level_zero/tools/source/sysman/fan/fan.h b/level_zero/tools/source/sysman/fan/fan.h index b5b4bae569..266f5e42df 100644 --- a/level_zero/tools/source/sysman/fan/fan.h +++ b/level_zero/tools/source/sysman/fan/fan.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2023 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -18,6 +18,7 @@ namespace L0 { struct OsSysman; class Fan : _zes_fan_handle_t { public: + virtual ~Fan() = default; virtual ze_result_t fanGetProperties(zes_fan_properties_t *pProperties) = 0; virtual ze_result_t fanGetConfig(zes_fan_config_t *pConfig) = 0; virtual ze_result_t fanSetDefaultMode() = 0; diff --git a/level_zero/tools/source/sysman/firmware/firmware.h b/level_zero/tools/source/sysman/firmware/firmware.h index a55ee408a1..cfdb146fe4 100644 --- a/level_zero/tools/source/sysman/firmware/firmware.h +++ b/level_zero/tools/source/sysman/firmware/firmware.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2023 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -19,7 +19,7 @@ struct OsSysman; class Firmware : _zes_firmware_handle_t { public: - ~Firmware() override {} + virtual ~Firmware() = default; virtual ze_result_t firmwareGetProperties(zes_firmware_properties_t *pProperties) = 0; virtual ze_result_t firmwareFlash(void *pImage, uint32_t size) = 0; virtual ze_result_t firmwareGetFlashProgress(uint32_t *pCompletionPercent) = 0; diff --git a/level_zero/tools/source/sysman/frequency/frequency.h b/level_zero/tools/source/sysman/frequency/frequency.h index 3c7837248d..7727d2be95 100644 --- a/level_zero/tools/source/sysman/frequency/frequency.h +++ b/level_zero/tools/source/sysman/frequency/frequency.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2023 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -20,7 +20,7 @@ struct OsSysman; class Frequency : _zes_freq_handle_t { public: - ~Frequency() override {} + virtual ~Frequency() = default; virtual ze_result_t frequencyGetProperties(zes_freq_properties_t *pProperties) = 0; virtual ze_result_t frequencyGetAvailableClocks(uint32_t *pCount, double *phFrequency) = 0; diff --git a/level_zero/tools/source/sysman/memory/memory.h b/level_zero/tools/source/sysman/memory/memory.h index 4fb9025a81..3aced5607f 100644 --- a/level_zero/tools/source/sysman/memory/memory.h +++ b/level_zero/tools/source/sysman/memory/memory.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2023 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -19,6 +19,7 @@ struct OsSysman; class Memory : _zes_mem_handle_t { public: + virtual ~Memory() = default; virtual ze_result_t memoryGetProperties(zes_mem_properties_t *pProperties) = 0; virtual ze_result_t memoryGetBandwidth(zes_mem_bandwidth_t *pBandwidth) = 0; virtual ze_result_t memoryGetState(zes_mem_state_t *pState) = 0; diff --git a/level_zero/tools/source/sysman/performance/performance.h b/level_zero/tools/source/sysman/performance/performance.h index bc6387ae50..d8b1166392 100644 --- a/level_zero/tools/source/sysman/performance/performance.h +++ b/level_zero/tools/source/sysman/performance/performance.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021-2023 Intel Corporation + * Copyright (C) 2021-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -19,7 +19,7 @@ struct OsSysman; class Performance : _zes_perf_handle_t { public: - ~Performance() override {} + virtual ~Performance() = default; virtual ze_result_t performanceGetProperties(zes_perf_properties_t *pProperties) = 0; virtual ze_result_t performanceGetConfig(double *pFactor) = 0; virtual ze_result_t performanceSetConfig(double pFactor) = 0; diff --git a/level_zero/tools/source/sysman/power/power.h b/level_zero/tools/source/sysman/power/power.h index c6801147be..4b87049df2 100644 --- a/level_zero/tools/source/sysman/power/power.h +++ b/level_zero/tools/source/sysman/power/power.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2023 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -18,6 +18,7 @@ namespace L0 { struct OsSysman; class Power : _zes_pwr_handle_t { public: + virtual ~Power() = default; virtual ze_result_t powerGetProperties(zes_power_properties_t *pProperties) = 0; virtual ze_result_t powerGetEnergyCounter(zes_power_energy_counter_t *pEnergy) = 0; virtual ze_result_t powerGetLimits(zes_power_sustained_limit_t *pSustained, zes_power_burst_limit_t *pBurst, zes_power_peak_limit_t *pPeak) = 0; diff --git a/level_zero/tools/source/sysman/ras/ras.h b/level_zero/tools/source/sysman/ras/ras.h index a2bcb08349..51131a5d60 100644 --- a/level_zero/tools/source/sysman/ras/ras.h +++ b/level_zero/tools/source/sysman/ras/ras.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2023 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -19,6 +19,7 @@ struct OsSysman; class Ras : _zes_ras_handle_t { public: + virtual ~Ras() = default; virtual ze_result_t rasGetProperties(zes_ras_properties_t *pProperties) = 0; virtual ze_result_t rasGetConfig(zes_ras_config_t *pConfig) = 0; virtual ze_result_t rasSetConfig(const zes_ras_config_t *pConfig) = 0; diff --git a/level_zero/tools/source/sysman/scheduler/scheduler.h b/level_zero/tools/source/sysman/scheduler/scheduler.h index 9abc29c9dd..e294af0904 100644 --- a/level_zero/tools/source/sysman/scheduler/scheduler.h +++ b/level_zero/tools/source/sysman/scheduler/scheduler.h @@ -20,6 +20,7 @@ namespace L0 { struct OsSysman; class Scheduler : _zes_sched_handle_t { public: + virtual ~Scheduler() = default; virtual ze_result_t schedulerGetProperties(zes_sched_properties_t *pProperties) = 0; virtual ze_result_t getCurrentMode(zes_sched_mode_t *pMode) = 0; virtual ze_result_t getTimeoutModeProperties(ze_bool_t getDefaults, zes_sched_timeout_properties_t *pConfig) = 0; diff --git a/level_zero/tools/source/sysman/standby/standby.h b/level_zero/tools/source/sysman/standby/standby.h index 33a1f3bfb8..1a29a2ea20 100644 --- a/level_zero/tools/source/sysman/standby/standby.h +++ b/level_zero/tools/source/sysman/standby/standby.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2023 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -19,7 +19,7 @@ struct OsSysman; class Standby : _zes_standby_handle_t { public: - ~Standby() override {} + virtual ~Standby() = default; virtual ze_result_t standbyGetProperties(zes_standby_properties_t *pProperties) = 0; virtual ze_result_t standbyGetMode(zes_standby_promo_mode_t *pMode) = 0; virtual ze_result_t standbySetMode(const zes_standby_promo_mode_t mode) = 0; diff --git a/level_zero/tools/source/sysman/temperature/temperature.h b/level_zero/tools/source/sysman/temperature/temperature.h index 3a8b1615fe..fd49498b8e 100644 --- a/level_zero/tools/source/sysman/temperature/temperature.h +++ b/level_zero/tools/source/sysman/temperature/temperature.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2023 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -17,6 +17,7 @@ namespace L0 { struct OsSysman; class Temperature : _zes_temp_handle_t { public: + virtual ~Temperature() = default; virtual ze_result_t temperatureGetProperties(zes_temp_properties_t *pProperties) = 0; virtual ze_result_t temperatureGetConfig(zes_temp_config_t *pConfig) = 0; virtual ze_result_t temperatureSetConfig(const zes_temp_config_t *pConfig) = 0; diff --git a/level_zero/tools/source/sysman/vf_management/vf_management.h b/level_zero/tools/source/sysman/vf_management/vf_management.h index 5ac80ca6d9..f3dcf023e5 100644 --- a/level_zero/tools/source/sysman/vf_management/vf_management.h +++ b/level_zero/tools/source/sysman/vf_management/vf_management.h @@ -21,6 +21,7 @@ struct OsSysman; class VfManagement : _zes_vf_handle_t { public: + virtual ~VfManagement() = default; virtual ze_result_t vfGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) = 0; virtual ze_result_t vfGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) = 0; virtual ze_result_t vfGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) = 0;