mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-05 09:09:04 +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() {
|
void PageFaultManager::selectGpuDomainHandler() {
|
||||||
if (DebugManager.flags.SetCommandStreamReceiver.get() == CommandStreamReceiverType::CSR_AUB ||
|
if (DebugManager.flags.SetCommandStreamReceiver.get() > CommandStreamReceiverType::CSR_HW) {
|
||||||
DebugManager.flags.SetCommandStreamReceiver.get() == CommandStreamReceiverType::CSR_TBX ||
|
|
||||||
DebugManager.flags.SetCommandStreamReceiver.get() == CommandStreamReceiverType::CSR_TBX_WITH_AUB) {
|
|
||||||
this->gpuDomainHandler = &PageFaultManager::handleGpuDomainTransferForAubAndTbx;
|
this->gpuDomainHandler = &PageFaultManager::handleGpuDomainTransferForAubAndTbx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -640,7 +640,8 @@ TEST_F(PageFaultManagerTest, givenUnifiedMemoryAllocWhenSetAubWritableIsCalledTh
|
|||||||
TEST_F(PageFaultManagerTest, givenAubOrTbxCsrWhenSelectingHandlerThenAubAndTbxGpuDomainHandlerIsSet) {
|
TEST_F(PageFaultManagerTest, givenAubOrTbxCsrWhenSelectingHandlerThenAubAndTbxGpuDomainHandlerIsSet) {
|
||||||
DebugManagerStateRestore restorer;
|
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);
|
DebugManager.flags.SetCommandStreamReceiver.set(csrType);
|
||||||
|
|
||||||
auto pageFaultManager2 = std::make_unique<MockPageFaultManager>();
|
auto pageFaultManager2 = std::make_unique<MockPageFaultManager>();
|
||||||
@@ -655,14 +656,12 @@ TEST_F(PageFaultManagerTest, givenHwCsrWhenSelectingHandlerThenHwGpuDomainHandle
|
|||||||
|
|
||||||
EXPECT_EQ(pageFaultManager->getHwHandlerAddress(), reinterpret_cast<void *>(pageFaultManager->gpuDomainHandler));
|
EXPECT_EQ(pageFaultManager->getHwHandlerAddress(), reinterpret_cast<void *>(pageFaultManager->gpuDomainHandler));
|
||||||
|
|
||||||
for (auto csrType : {CommandStreamReceiverType::CSR_HW, CommandStreamReceiverType::CSR_HW_WITH_AUB}) {
|
DebugManager.flags.SetCommandStreamReceiver.set(CommandStreamReceiverType::CSR_HW);
|
||||||
DebugManager.flags.SetCommandStreamReceiver.set(csrType);
|
|
||||||
|
|
||||||
auto pageFaultManager2 = std::make_unique<MockPageFaultManager>();
|
auto pageFaultManager2 = std::make_unique<MockPageFaultManager>();
|
||||||
pageFaultManager2->selectGpuDomainHandler();
|
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> {
|
struct PageFaultManagerTestWithDebugFlag : public ::testing::TestWithParam<uint32_t> {
|
||||||
|
|||||||
Reference in New Issue
Block a user