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:
parent
90597995d2
commit
2dd3c11248
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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));
|
||||
|
|
Loading…
Reference in New Issue