mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 06:49:52 +08:00
Taking into account additionals heaps in gpu VA reservation in WSL
Related-To: NEO-7337 Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
af57d2bd38
commit
5d3f82a8a5
@@ -171,7 +171,7 @@ typedef struct __GMM_GFX_PARTITIONING {
|
||||
Reserved0,
|
||||
Reserved1,
|
||||
SVM,
|
||||
Reserved2,
|
||||
TR,
|
||||
Heap32[4];
|
||||
} GMM_GFX_PARTITIONING;
|
||||
|
||||
|
||||
@@ -200,12 +200,18 @@ bool Wddm::configureDeviceAddressSpace() {
|
||||
return false;
|
||||
}
|
||||
if (gfxPartition.Standard64KB.Limit <= maxUsmSize) {
|
||||
uintptr_t usmLowPartMax = gfxPartition.Heap32[0].Base;
|
||||
for (const auto &usmMaxAddr : {gfxPartition.Standard.Base, gfxPartition.Standard64KB.Base, gfxPartition.TR.Base}) {
|
||||
if (usmMaxAddr != 0) {
|
||||
usmLowPartMax = std::min(usmLowPartMax, usmMaxAddr);
|
||||
}
|
||||
}
|
||||
// reserved cpu address range splits USM into 2 partitions
|
||||
struct {
|
||||
uint64_t minAddr;
|
||||
uint64_t maxAddr;
|
||||
} usmRanges[] = {{usmBase, gfxPartition.Heap32->Base},
|
||||
{gfxPartition.Standard64KB.Limit, maxUsmSize}};
|
||||
} usmRanges[] = {{usmBase, usmLowPartMax},
|
||||
{alignUp(gfxPartition.Standard64KB.Limit, MemoryConstants::pageSize64k), maxUsmSize}};
|
||||
|
||||
bool usmGpuRangeIsReserved = true;
|
||||
for (const auto &usmRange : usmRanges) {
|
||||
|
||||
Reference in New Issue
Block a user