mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-05 17:41:26 +08:00
TransferProperties: lock resource only when transfer on CPU is requested
Change-Id: Ic93b4fd438e75f5d54cbae9bec332c4b18c6b1ee Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
sys_ocldev
parent
e82d6e63cb
commit
f3d17008ee
@@ -14,7 +14,7 @@
|
||||
|
||||
namespace NEO {
|
||||
TransferProperties::TransferProperties(MemObj *memObj, cl_command_type cmdType, cl_map_flags mapFlags, bool blocking,
|
||||
size_t *offsetPtr, size_t *sizePtr, void *ptr)
|
||||
size_t *offsetPtr, size_t *sizePtr, void *ptr, bool doTransferOnCpu)
|
||||
: memObj(memObj), cmdType(cmdType), mapFlags(mapFlags), blocking(blocking), ptr(ptr) {
|
||||
|
||||
// no size or offset passed for unmap operation
|
||||
@@ -22,7 +22,9 @@ TransferProperties::TransferProperties(MemObj *memObj, cl_command_type cmdType,
|
||||
if (memObj->peekClMemObjType() == CL_MEM_OBJECT_BUFFER) {
|
||||
size[0] = *sizePtr;
|
||||
offset[0] = *offsetPtr;
|
||||
if ((false == MemoryPool::isSystemMemoryPool(memObj->getGraphicsAllocation()->getMemoryPool())) && (memObj->getMemoryManager() != nullptr)) {
|
||||
if (doTransferOnCpu &&
|
||||
(false == MemoryPool::isSystemMemoryPool(memObj->getGraphicsAllocation()->getMemoryPool())) &&
|
||||
(memObj->getMemoryManager() != nullptr)) {
|
||||
this->lockedPtr = memObj->getMemoryManager()->lockResource(memObj->getGraphicsAllocation());
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user