mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-25 05:24:02 +08:00
Fixed AUB capture in HW mode for umd-migrated shared allocations
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
bce96e666f
commit
7cd4ca5ce7
@@ -119,9 +119,7 @@ inline void PageFaultManager::migrateStorageToCpuDomain(void *ptr, PageFaultData
|
||||
}
|
||||
|
||||
void PageFaultManager::selectGpuDomainHandler() {
|
||||
if (DebugManager.flags.SetCommandStreamReceiver.get() == CommandStreamReceiverType::CSR_AUB ||
|
||||
DebugManager.flags.SetCommandStreamReceiver.get() == CommandStreamReceiverType::CSR_TBX ||
|
||||
DebugManager.flags.SetCommandStreamReceiver.get() == CommandStreamReceiverType::CSR_TBX_WITH_AUB) {
|
||||
if (DebugManager.flags.SetCommandStreamReceiver.get() > CommandStreamReceiverType::CSR_HW) {
|
||||
this->gpuDomainHandler = &PageFaultManager::handleGpuDomainTransferForAubAndTbx;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -640,7 +640,8 @@ TEST_F(PageFaultManagerTest, givenUnifiedMemoryAllocWhenSetAubWritableIsCalledTh
|
||||
TEST_F(PageFaultManagerTest, givenAubOrTbxCsrWhenSelectingHandlerThenAubAndTbxGpuDomainHandlerIsSet) {
|
||||
DebugManagerStateRestore restorer;
|
||||
|
||||
for (auto csrType : {CommandStreamReceiverType::CSR_AUB, CommandStreamReceiverType::CSR_TBX, CommandStreamReceiverType::CSR_TBX_WITH_AUB}) {
|
||||
for (auto csrType : {CommandStreamReceiverType::CSR_AUB, CommandStreamReceiverType::CSR_TBX,
|
||||
CommandStreamReceiverType::CSR_HW_WITH_AUB, CommandStreamReceiverType::CSR_TBX_WITH_AUB}) {
|
||||
DebugManager.flags.SetCommandStreamReceiver.set(csrType);
|
||||
|
||||
auto pageFaultManager2 = std::make_unique<MockPageFaultManager>();
|
||||
@@ -655,14 +656,12 @@ TEST_F(PageFaultManagerTest, givenHwCsrWhenSelectingHandlerThenHwGpuDomainHandle
|
||||
|
||||
EXPECT_EQ(pageFaultManager->getHwHandlerAddress(), reinterpret_cast<void *>(pageFaultManager->gpuDomainHandler));
|
||||
|
||||
for (auto csrType : {CommandStreamReceiverType::CSR_HW, CommandStreamReceiverType::CSR_HW_WITH_AUB}) {
|
||||
DebugManager.flags.SetCommandStreamReceiver.set(csrType);
|
||||
DebugManager.flags.SetCommandStreamReceiver.set(CommandStreamReceiverType::CSR_HW);
|
||||
|
||||
auto pageFaultManager2 = std::make_unique<MockPageFaultManager>();
|
||||
pageFaultManager2->selectGpuDomainHandler();
|
||||
auto pageFaultManager2 = std::make_unique<MockPageFaultManager>();
|
||||
pageFaultManager2->selectGpuDomainHandler();
|
||||
|
||||
EXPECT_EQ(pageFaultManager->gpuDomainHandler, reinterpret_cast<void *>(pageFaultManager2->gpuDomainHandler));
|
||||
}
|
||||
EXPECT_EQ(pageFaultManager->gpuDomainHandler, reinterpret_cast<void *>(pageFaultManager2->gpuDomainHandler));
|
||||
}
|
||||
|
||||
struct PageFaultManagerTestWithDebugFlag : public ::testing::TestWithParam<uint32_t> {
|
||||
|
||||
Reference in New Issue
Block a user