mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-05 18:06:32 +08:00
refactor: encapsulate gmm page table manager handle
wrap destruction logic within unique ptr set csr handle when creating page table manager Related-To: NEO-11080 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
ad05878165
commit
145f03c294
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2022 Intel Corporation
|
||||
* Copyright (C) 2018-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -9,12 +9,8 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
GmmPageTableMngr *GmmPageTableMngr::create(GmmClientContext *clientContext, unsigned int translationTableFlags, GMM_TRANSLATIONTABLE_CALLBACKS *translationTableCb) {
|
||||
auto pageTableMngr = new MockGmmPageTableMngr(translationTableFlags, translationTableCb);
|
||||
GmmPageTableMngr *GmmPageTableMngr::create(GmmClientContext *clientContext, unsigned int translationTableFlags, GMM_TRANSLATIONTABLE_CALLBACKS *translationTableCb, void *aubCsrHandle) {
|
||||
auto pageTableMngr = new MockGmmPageTableMngr(translationTableFlags, translationTableCb, aubCsrHandle);
|
||||
return pageTableMngr;
|
||||
}
|
||||
void MockGmmPageTableMngr::setCsrHandle(void *csrHandle) {
|
||||
passedCsrHandle = csrHandle;
|
||||
setCsrHanleCalled++;
|
||||
}
|
||||
} // namespace NEO
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2022 Intel Corporation
|
||||
* Copyright (C) 2018-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -17,8 +17,8 @@ class MockGmmPageTableMngr : public GmmPageTableMngr {
|
||||
initContextAuxTableRegisterParamsPassed.clear();
|
||||
};
|
||||
|
||||
MockGmmPageTableMngr(unsigned int translationTableFlags, GMM_TRANSLATIONTABLE_CALLBACKS *translationTableCb)
|
||||
: translationTableFlags(translationTableFlags) {
|
||||
MockGmmPageTableMngr(unsigned int translationTableFlags, GMM_TRANSLATIONTABLE_CALLBACKS *translationTableCb, void *aubCsrHandle)
|
||||
: passedAubCsrHandle(aubCsrHandle), translationTableFlags(translationTableFlags) {
|
||||
if (translationTableCb) {
|
||||
this->translationTableCb = *translationTableCb;
|
||||
}
|
||||
@@ -53,10 +53,7 @@ class MockGmmPageTableMngr : public GmmPageTableMngr {
|
||||
uint32_t updateAuxTableCalled = 0u;
|
||||
GMM_STATUS updateAuxTableResult = GMM_STATUS::GMM_SUCCESS;
|
||||
|
||||
void setCsrHandle(void *csrHandle) override;
|
||||
|
||||
uint32_t setCsrHanleCalled = 0;
|
||||
void *passedCsrHandle = nullptr;
|
||||
void *passedAubCsrHandle = nullptr;
|
||||
|
||||
unsigned int translationTableFlags = 0;
|
||||
GMM_TRANSLATIONTABLE_CALLBACKS translationTableCb = {};
|
||||
|
||||
@@ -893,10 +893,9 @@ HWTEST_P(WddmCsrCompressionParameterizedTest, givenEnabledCompressionWhenInitial
|
||||
auto mockMngr = reinterpret_cast<MockGmmPageTableMngr *>(mockWddmCsr.pageTableManager.get());
|
||||
|
||||
if (aubCaptureMode) {
|
||||
EXPECT_EQ(1u, mockMngr->setCsrHanleCalled);
|
||||
EXPECT_EQ(&mockWddmCsr, mockMngr->passedCsrHandle);
|
||||
EXPECT_EQ(&mockWddmCsr, mockMngr->passedAubCsrHandle);
|
||||
} else {
|
||||
EXPECT_EQ(0u, mockMngr->setCsrHanleCalled);
|
||||
EXPECT_EQ(nullptr, mockMngr->passedAubCsrHandle);
|
||||
}
|
||||
|
||||
GMM_TRANSLATIONTABLE_CALLBACKS expectedTTCallbacks = {};
|
||||
|
||||
@@ -2878,7 +2878,7 @@ class WddmMemoryManagerTest : public ::Test<GdiDllFixture> {
|
||||
|
||||
for (auto engine : memoryManager->getRegisteredEngines(rootDeviceIndex)) {
|
||||
if (engine.getEngineUsage() == EngineUsage::regular) {
|
||||
engine.commandStreamReceiver->pageTableManager.reset(GmmPageTableMngr::create(nullptr, 0, &dummyTTCallbacks));
|
||||
engine.commandStreamReceiver->pageTableManager.reset(GmmPageTableMngr::create(nullptr, 0, &dummyTTCallbacks, nullptr));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user