Skip to content

Commit 56eced2

Browse files
Don't allow 32bit allocation for SVM allocation type
Change-Id: I2fbae4ce3be956a386bdc22c9b129f37d75c8e8f Signed-off-by: Mateusz Jablonski <[email protected]>
1 parent fad2f8d commit 56eced2

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

runtime/memory_manager/memory_manager.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,14 +205,21 @@ bool MemoryManager::getAllocationData(AllocationData &allocationData, const Allo
205205
case GraphicsAllocation::AllocationType::PRINTF_SURFACE:
206206
case GraphicsAllocation::AllocationType::CONSTANT_SURFACE:
207207
case GraphicsAllocation::AllocationType::GLOBAL_SURFACE:
208-
case GraphicsAllocation::AllocationType::SVM:
209208
allow64KbPages = true;
210209
allow32Bit = true;
211210
break;
212211
default:
213212
break;
214213
}
215214

215+
switch (properties.allocationType) {
216+
case GraphicsAllocation::AllocationType::SVM:
217+
allow64KbPages = true;
218+
break;
219+
default:
220+
break;
221+
}
222+
216223
switch (properties.allocationType) {
217224
case GraphicsAllocation::AllocationType::BUFFER:
218225
case GraphicsAllocation::AllocationType::BUFFER_HOST_MEMORY:

unit_tests/memory_manager/memory_manager_allocate_in_preferred_pool_tests.inl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,13 @@ TEST(MemoryManagerTest, givenSvmAllocationTypeWhenGetAllocationDataIsCalledThenZ
354354
EXPECT_TRUE(allocData.flags.allocateMemory);
355355
}
356356

357+
TEST(MemoryManagerTest, givenSvmAllocationTypeWhenGetAllocationDataIsCalledThen64kbPagesAreAllowedAnd32BitAllocationIsDisallowed) {
358+
AllocationData allocData;
359+
MockMemoryManager::getAllocationData(allocData, {1, GraphicsAllocation::AllocationType::SVM}, 0, nullptr);
360+
EXPECT_TRUE(allocData.flags.allow64kbPages);
361+
EXPECT_FALSE(allocData.flags.allow32Bit);
362+
}
363+
357364
TEST(MemoryManagerTest, givenUndecidedTypeWhenGetAllocationDataIsCalledThenSystemMemoryIsRequested) {
358365
AllocationData allocData;
359366
MockMemoryManager::getAllocationData(allocData, {1, GraphicsAllocation::AllocationType::UNDECIDED}, 0, nullptr);

0 commit comments

Comments
 (0)