mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 06:49:52 +08:00
Limit header includes from level_zero device.h
- remove including debugger_l0.h from device.h - add getL0Debugger() to shared NEO Device Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
e768d0ed5e
commit
5956aea18d
@@ -15,6 +15,22 @@ namespace NEO {
|
||||
template <class BaseClass>
|
||||
struct WhiteBox;
|
||||
|
||||
class MockDebuggerL0 : public NEO::DebuggerL0 {
|
||||
public:
|
||||
MockDebuggerL0(NEO::Device *device) : DebuggerL0(device) {
|
||||
isLegacyMode = false;
|
||||
}
|
||||
|
||||
void captureStateBaseAddress(NEO::LinearStream &cmdStream, SbaAddresses sba) override{};
|
||||
size_t getSbaTrackingCommandsSize(size_t trackedAddressCount) override {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void programSbaTrackingCommands(NEO::LinearStream &cmdStream, const SbaAddresses &sba) override{};
|
||||
size_t getSbaAddressLoadCommandsSize() override { return 0; };
|
||||
void programSbaAddressLoad(NEO::LinearStream &cmdStream, uint64_t sbaGpuVa) override{};
|
||||
};
|
||||
|
||||
template <typename GfxFamily>
|
||||
class MockDebuggerL0Hw : public NEO::DebuggerL0Hw<GfxFamily> {
|
||||
public:
|
||||
|
||||
@@ -19,10 +19,48 @@
|
||||
#include "shared/test/common/mocks/mock_gmm_helper.h"
|
||||
#include "shared/test/common/mocks/mock_l0_debugger.h"
|
||||
#include "shared/test/common/mocks/mock_memory_operations_handler.h"
|
||||
#include "shared/test/common/mocks/mock_source_level_debugger.h"
|
||||
#include "shared/test/common/test_macros/hw_test.h"
|
||||
|
||||
using namespace NEO;
|
||||
|
||||
TEST(Debugger, givenL0DebuggerWhenGettingL0DebuggerThenCorrectObjectIsReturned) {
|
||||
auto executionEnvironment = new NEO::ExecutionEnvironment();
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1);
|
||||
executionEnvironment->setDebuggingEnabled();
|
||||
|
||||
auto hwInfo = *NEO::defaultHwInfo.get();
|
||||
executionEnvironment->rootDeviceEnvironments[0]->setHwInfo(&hwInfo);
|
||||
executionEnvironment->rootDeviceEnvironments[0]->initGmm();
|
||||
executionEnvironment->initializeMemoryManager();
|
||||
|
||||
std::unique_ptr<NEO::MockDevice> neoDevice(NEO::MockDevice::create<NEO::MockDevice>(executionEnvironment, 0u));
|
||||
|
||||
auto mockDebugger = new MockDebuggerL0(neoDevice.get());
|
||||
executionEnvironment->rootDeviceEnvironments[0]->debugger.reset(mockDebugger);
|
||||
auto debugger = neoDevice->getL0Debugger();
|
||||
ASSERT_NE(nullptr, debugger);
|
||||
EXPECT_EQ(mockDebugger, debugger);
|
||||
}
|
||||
|
||||
TEST(Debugger, givenSourceLevelDebuggerWhenGettingL0DebuggerThenNullptrIsReturned) {
|
||||
auto executionEnvironment = new NEO::ExecutionEnvironment();
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1);
|
||||
executionEnvironment->setDebuggingEnabled();
|
||||
|
||||
auto hwInfo = *NEO::defaultHwInfo.get();
|
||||
executionEnvironment->rootDeviceEnvironments[0]->setHwInfo(&hwInfo);
|
||||
executionEnvironment->rootDeviceEnvironments[0]->initGmm();
|
||||
executionEnvironment->initializeMemoryManager();
|
||||
|
||||
std::unique_ptr<NEO::MockDevice> neoDevice(NEO::MockDevice::create<NEO::MockDevice>(executionEnvironment, 0u));
|
||||
|
||||
auto mockDebugger = new MockSourceLevelDebugger();
|
||||
executionEnvironment->rootDeviceEnvironments[0]->debugger.reset(mockDebugger);
|
||||
auto debugger = neoDevice->getL0Debugger();
|
||||
EXPECT_EQ(nullptr, debugger);
|
||||
}
|
||||
|
||||
TEST(Debugger, givenL0DebuggerOFFWhenGettingStateSaveAreaHeaderThenValidSipTypeIsReturned) {
|
||||
auto executionEnvironment = new NEO::ExecutionEnvironment();
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1);
|
||||
|
||||
@@ -38,6 +38,14 @@ TEST(DeviceBlitterTest, givenBlitterOperationsDisabledWhenCreatingBlitterEngineT
|
||||
EXPECT_THROW(factory.rootDevices[0]->createEngine(0, {aub_stream::EngineType::ENGINE_BCS, EngineUsage::LowPriority}), std::runtime_error);
|
||||
}
|
||||
|
||||
TEST(Device, givenNoDebuggerWhenGettingDebuggerThenNullptrIsReturned) {
|
||||
auto device = std::unique_ptr<Device>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(defaultHwInfo.get()));
|
||||
|
||||
EXPECT_EQ(nullptr, device->getDebugger());
|
||||
EXPECT_EQ(nullptr, device->getL0Debugger());
|
||||
EXPECT_EQ(nullptr, device->getSourceLevelDebugger());
|
||||
}
|
||||
|
||||
using DeviceTest = Test<DeviceFixture>;
|
||||
|
||||
TEST_F(DeviceTest, whenInitializeRayTracingIsCalledAndRtBackedBufferIsNullptrThenMemoryBackedBufferIsCreated) {
|
||||
|
||||
Reference in New Issue
Block a user