1212#include " level_zero/core/source/device/device.h"
1313#include " level_zero/core/source/driver/driver_handle.h"
1414#include " level_zero/core/source/module/module.h"
15+ #include " level_zero/tools/source/debug/debug_session.h"
1516#include " level_zero/tools/source/metrics/metric.h"
1617
1718namespace L0 {
1819struct SysmanDevice ;
20+
1921struct DeviceImp : public Device {
2022 uint32_t getRootDeviceIndex () override ;
2123 ze_result_t canAccessPeer (ze_device_handle_t hPeerDevice, ze_bool_t *value) override ;
@@ -44,6 +46,8 @@ struct DeviceImp : public Device {
4446 ze_result_t getCommandQueueGroupProperties (uint32_t *pCount,
4547 ze_command_queue_group_properties_t *pCommandQueueGroupProperties) override ;
4648 ze_result_t getExternalMemoryProperties (ze_device_external_memory_properties_t *pExternalMemoryProperties) override ;
49+ ze_result_t getDebugProperties (zet_device_debug_properties_t *pDebugProperties) override ;
50+
4751 ze_result_t systemBarrier () override ;
4852 void *getExecEnvironment () override ;
4953 BuiltinFunctionsLib *getBuiltinFunctionsLib () override ;
@@ -54,6 +58,8 @@ struct DeviceImp : public Device {
5458 NEO::OSInterface &getOsInterface () override ;
5559 uint32_t getPlatformInfo () const override ;
5660 MetricContext &getMetricContext () override ;
61+ DebugSession *getDebugSession (const zet_debug_config_t &config) override ;
62+
5763 uint32_t getMaxNumHwThreads () const override ;
5864 ze_result_t activateMetricGroups (uint32_t count,
5965 zet_metric_group_handle_t *phMetricGroups) override ;
@@ -95,6 +101,7 @@ struct DeviceImp : public Device {
95101 protected:
96102 NEO::GraphicsAllocation *debugSurface = nullptr ;
97103 SysmanDevice *pSysmanDevice = nullptr ;
104+ std::unique_ptr<DebugSession> debugSession = nullptr ;
98105};
99106
100107} // namespace L0
0 commit comments