Skip transfer when CL_MAP_INVALIDATE_REGION is specified

Resolves: NEO-5490
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
This commit is contained in:
Maciej Dziuban
2021-10-13 14:29:02 +00:00
committed by Compute-Runtime-Automation
parent 44112f8d94
commit 75b7adbe95
4 changed files with 106 additions and 17 deletions

View File

@@ -107,13 +107,17 @@ void *CommandQueue::cpuDataTransferHandler(TransferProperties &transferPropertie
switch (transferProperties.cmdType) {
case CL_COMMAND_MAP_BUFFER:
if (!transferProperties.memObj->isMemObjZeroCopy()) {
transferProperties.memObj->transferDataToHostPtr(transferProperties.size, transferProperties.offset);
if (transferProperties.mapFlags != CL_MAP_WRITE_INVALIDATE_REGION) {
transferProperties.memObj->transferDataToHostPtr(transferProperties.size, transferProperties.offset);
}
eventCompleted = true;
}
break;
case CL_COMMAND_MAP_IMAGE:
if (!transferProperties.memObj->isMemObjZeroCopy()) {
transferProperties.memObj->transferDataToHostPtr(transferProperties.size, transferProperties.offset);
if (transferProperties.mapFlags != CL_MAP_WRITE_INVALIDATE_REGION) {
transferProperties.memObj->transferDataToHostPtr(transferProperties.size, transferProperties.offset);
}
eventCompleted = true;
}
break;