33 lines
665 B
C
33 lines
665 B
C
![]() |
/*
|
||
|
* Copyright (C) 2023 Intel Corporation
|
||
|
*
|
||
|
* SPDX-License-Identifier: MIT
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
namespace NEO {
|
||
|
enum class TransferDirection {
|
||
|
HostToHost,
|
||
|
HostToLocal,
|
||
|
LocalToHost,
|
||
|
LocalToLocal,
|
||
|
};
|
||
|
|
||
|
inline TransferDirection createTransferDirection(bool srcLocal, bool dstLocal) {
|
||
|
if (srcLocal) {
|
||
|
if (dstLocal) {
|
||
|
return TransferDirection::LocalToLocal;
|
||
|
} else {
|
||
|
return TransferDirection::LocalToHost;
|
||
|
}
|
||
|
} else {
|
||
|
if (dstLocal) {
|
||
|
return TransferDirection::HostToLocal;
|
||
|
} else {
|
||
|
return TransferDirection::HostToHost;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
} // namespace NEO
|