Do not copy ze_ipc_mem_handle_t in internal functions of NEO

The size of this type is at least 64 bytes due to
ZE_MAX_IPC_HANDLE_SIZE. This change introduces usage
of const reference instead of copying.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
This commit is contained in:
Patryk Wrobel 2022-10-17 13:20:22 +00:00 committed by Compute-Runtime-Automation
parent 90597995d2
commit 2dd3c11248
4 changed files with 5 additions and 5 deletions

View File

@ -91,7 +91,7 @@ struct Context : _ze_context_handle_t {
void **pptr) = 0;
virtual ze_result_t openIpcMemHandle(ze_device_handle_t hDevice,
ze_ipc_mem_handle_t handle,
const ze_ipc_mem_handle_t &handle,
ze_ipc_memory_flags_t flags,
void **ptr) = 0;
virtual ze_result_t getMemAllocProperties(const void *ptr,

View File

@ -485,13 +485,13 @@ ze_result_t ContextImp::getIpcMemHandles(const void *ptr,
}
ze_result_t ContextImp::openIpcMemHandle(ze_device_handle_t hDevice,
ze_ipc_mem_handle_t pIpcHandle,
const ze_ipc_mem_handle_t &pIpcHandle,
ze_ipc_memory_flags_t flags,
void **ptr) {
uint64_t handle = 0u;
memcpy_s(&handle,
sizeof(handle),
reinterpret_cast<void *>(pIpcHandle.data),
pIpcHandle.data,
sizeof(handle));
*ptr = getMemHandlePtr(hDevice, handle, flags);

View File

@ -58,7 +58,7 @@ struct ContextImp : Context {
ze_result_t getIpcMemHandle(const void *ptr,
ze_ipc_mem_handle_t *pIpcHandle) override;
ze_result_t openIpcMemHandle(ze_device_handle_t hDevice,
ze_ipc_mem_handle_t handle,
const ze_ipc_mem_handle_t &handle,
ze_ipc_memory_flags_t flags,
void **ptr) override;

View File

@ -40,7 +40,7 @@ struct Mock<Context> : public Context {
ADDMETHOD_NOBASE(getMemAddressRange, ze_result_t, ZE_RESULT_SUCCESS, (const void *ptr, void **pBase, size_t *pSize));
ADDMETHOD_NOBASE(getIpcMemHandle, ze_result_t, ZE_RESULT_SUCCESS, (const void *ptr, ze_ipc_mem_handle_t *pIpcHandle));
ADDMETHOD_NOBASE(closeIpcMemHandle, ze_result_t, ZE_RESULT_SUCCESS, (const void *ptr));
ADDMETHOD_NOBASE(openIpcMemHandle, ze_result_t, ZE_RESULT_SUCCESS, (ze_device_handle_t hDevice, ze_ipc_mem_handle_t handle, ze_ipc_memory_flags_t flags, void **ptr));
ADDMETHOD_NOBASE(openIpcMemHandle, ze_result_t, ZE_RESULT_SUCCESS, (ze_device_handle_t hDevice, const ze_ipc_mem_handle_t &handle, ze_ipc_memory_flags_t flags, void **ptr));
ADDMETHOD_NOBASE(createModule, ze_result_t, ZE_RESULT_SUCCESS, (ze_device_handle_t hDevice, const ze_module_desc_t *desc, ze_module_handle_t *phModule, ze_module_build_log_handle_t *phBuildLog));
ADDMETHOD_NOBASE(createSampler, ze_result_t, ZE_RESULT_SUCCESS, (ze_device_handle_t hDevice, const ze_sampler_desc_t *pDesc, ze_sampler_handle_t *phSampler));
ADDMETHOD_NOBASE(createCommandQueue, ze_result_t, ZE_RESULT_SUCCESS, (ze_device_handle_t hDevice, const ze_command_queue_desc_t *desc, ze_command_queue_handle_t *commandQueue));