mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-20 08:36:09 +08:00
Add the supportsMultiStorageResources flag
Related-To: NEO-3182 Change-Id: I618b734b37c5fb983be55b50d89a965eaedc78fe Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
This commit is contained in:
committed by
sys_ocldev
parent
eac89caf15
commit
007982b51f
@@ -215,6 +215,7 @@ class MemoryManager {
|
||||
bool asyncDeleterEnabled = false;
|
||||
bool enable64kbpages = false;
|
||||
bool localMemorySupported = false;
|
||||
bool supportsMultiStorageResources = true;
|
||||
ExecutionEnvironment &executionEnvironment;
|
||||
EngineControlContainer registeredEngines;
|
||||
std::unique_ptr<HostPtrManager> hostPtrManager;
|
||||
|
||||
@@ -38,6 +38,7 @@ DrmMemoryManager::DrmMemoryManager(gemCloseWorkerMode mode,
|
||||
pinBB(nullptr),
|
||||
forcePinEnabled(forcePinAllowed),
|
||||
validateHostPtrMemory(validateHostPtrMemory) {
|
||||
supportsMultiStorageResources = false;
|
||||
gfxPartition.init(platformDevices[0]->capabilityTable.gpuAddressSpace);
|
||||
MemoryManager::virtualPaddingAvailable = true;
|
||||
if (mode != gemCloseWorkerMode::gemCloseWorkerInactive) {
|
||||
|
||||
@@ -39,6 +39,7 @@ WddmMemoryManager::WddmMemoryManager(ExecutionEnvironment &executionEnvironment)
|
||||
wddm(executionEnvironment.osInterface->get()->getWddm()) {
|
||||
DEBUG_BREAK_IF(wddm == nullptr);
|
||||
|
||||
supportsMultiStorageResources = false;
|
||||
asyncDeleterEnabled = DebugManager.flags.EnableDeferredDeleter.get();
|
||||
if (asyncDeleterEnabled)
|
||||
deferredDeleter = createDeferredDeleter();
|
||||
|
||||
@@ -47,6 +47,11 @@ using namespace NEO;
|
||||
|
||||
typedef Test<MemoryAllocatorFixture> MemoryAllocatorTest;
|
||||
|
||||
TEST(MemoryManagerTest, whenCreatingOsAgnosticMemoryManagerThenSupportsMultiStorageResourcesFlagIsSetToTrue) {
|
||||
MockMemoryManager memoryManager;
|
||||
EXPECT_TRUE(memoryManager.supportsMultiStorageResources);
|
||||
}
|
||||
|
||||
TEST(MemoryBank, givenDifferentDeviceOrdinalsWhenGettingBankThenCorrectBanksAreReturned) {
|
||||
auto bank = MemoryBanks::getBank(0);
|
||||
EXPECT_EQ(MemoryBanks::MainBank, bank);
|
||||
|
||||
@@ -55,6 +55,7 @@ class TestedDrmMemoryManager : public MemoryManagerCreate<DrmMemoryManager> {
|
||||
using DrmMemoryManager::pinThreshold;
|
||||
using DrmMemoryManager::setDomainCpu;
|
||||
using DrmMemoryManager::sharingBufferObjects;
|
||||
using DrmMemoryManager::supportsMultiStorageResources;
|
||||
using MemoryManager::allocateGraphicsMemoryInDevicePool;
|
||||
|
||||
TestedDrmMemoryManager(ExecutionEnvironment &executionEnvironment) : MemoryManagerCreate(gemCloseWorkerMode::gemCloseWorkerInactive,
|
||||
|
||||
@@ -41,6 +41,7 @@ class MockMemoryManager : public MemoryManagerCreate<OsAgnosticMemoryManager> {
|
||||
using MemoryManager::localMemoryUsageBankSelector;
|
||||
using MemoryManager::multiContextResourceDestructor;
|
||||
using MemoryManager::registeredEngines;
|
||||
using MemoryManager::supportsMultiStorageResources;
|
||||
using MemoryManager::useInternal32BitAllocator;
|
||||
using OsAgnosticMemoryManager::allocateGraphicsMemoryForImageFromHostPtr;
|
||||
using MemoryManagerCreate<OsAgnosticMemoryManager>::MemoryManagerCreate;
|
||||
|
||||
@@ -56,6 +56,10 @@ AllocationProperties createAllocationProperties(size_t size, bool forcePin) {
|
||||
typedef Test<DrmMemoryManagerFixture> DrmMemoryManagerTest;
|
||||
typedef Test<DrmMemoryManagerFixtureWithoutQuietIoctlExpectation> DrmMemoryManagerWithExplicitExpectationsTest;
|
||||
|
||||
TEST_F(DrmMemoryManagerTest, whenCreatingDrmMemoryManagerThenSupportsMultiStorageResourcesFlagIsSetToFalse) {
|
||||
EXPECT_FALSE(memoryManager->supportsMultiStorageResources);
|
||||
}
|
||||
|
||||
TEST_F(DrmMemoryManagerWithExplicitExpectationsTest, givenDefaultDrmMemoryMangerWhenItIsCreatedThenItContainsInternal32BitAllocator) {
|
||||
EXPECT_NE(nullptr, memoryManager->getDrmInternal32BitAllocator());
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ class MockWddmMemoryManager : public MemoryManagerCreate<WddmMemoryManager> {
|
||||
using BaseClass::createWddmAllocation;
|
||||
using BaseClass::gfxPartition;
|
||||
using BaseClass::localMemorySupported;
|
||||
using BaseClass::supportsMultiStorageResources;
|
||||
using MemoryManagerCreate<WddmMemoryManager>::MemoryManagerCreate;
|
||||
|
||||
MockWddmMemoryManager(ExecutionEnvironment &executionEnvironment) : MemoryManagerCreate(false, false, executionEnvironment) {
|
||||
|
||||
@@ -1692,3 +1692,7 @@ TEST_F(WddmMemoryManagerSimpleTest, givenSvmCpuAllocationWhenSizeAndAlignmentPro
|
||||
|
||||
memoryManager->freeGraphicsMemory(allocation);
|
||||
}
|
||||
|
||||
TEST_F(WddmMemoryManagerSimpleTest, whenCreatingWddmMemoryManagerThenSupportsMultiStorageResourcesFlagIsSetToFalse) {
|
||||
EXPECT_FALSE(memoryManager->supportsMultiStorageResources);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user