Enabling forcing fine grained SVM creation

Change-Id: I0eb0af5e72f5502b788c6c8be39728bc6948c0bb
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
This commit is contained in:
Maciej Dziuban
2020-06-08 12:13:47 +00:00
committed by sys_ocldev
parent 572779c8c1
commit fb43726cdc
2 changed files with 28 additions and 4 deletions

View File

@ -4143,10 +4143,16 @@ void *CL_API_CALL clSVMAlloc(cl_context context,
TRACING_EXIT(clSVMAlloc, &pAlloc);
return pAlloc;
}
if (!hwInfo.capabilityTable.ftrSupportsCoherency &&
(flags & (CL_MEM_SVM_FINE_GRAIN_BUFFER | CL_MEM_SVM_ATOMICS))) {
TRACING_EXIT(clSVMAlloc, &pAlloc);
return pAlloc;
if (flags & CL_MEM_SVM_FINE_GRAIN_BUFFER) {
bool supportsFineGrained = hwInfo.capabilityTable.ftrSupportsCoherency;
if (DebugManager.flags.ForceFineGrainedSVMSupport.get() != -1) {
supportsFineGrained = !!DebugManager.flags.ForceFineGrainedSVMSupport.get();
}
if (!supportsFineGrained) {
TRACING_EXIT(clSVMAlloc, &pAlloc);
return pAlloc;
}
}
pAlloc = pContext->getSVMAllocsManager()->createSVMAlloc(pDevice->getRootDeviceIndex(), size, MemObjHelper::getSvmAllocationProperties(flags), pDevice->getDeviceBitfield());