Skip to content

Commit c12b127

Browse files
authored
Merge pull request #2734 from nrspruit/fix_subbuffer_release_0_11.x
[UR][L0] Release parent of sub-buffer when sub-buffer dies
2 parents a6acc9d + 4c2b070 commit c12b127

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

source/adapters/level_zero/memory.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -2368,6 +2368,11 @@ _ur_buffer::_ur_buffer(ur_context_handle_t Context, size_t Size,
23682368
LastDeviceWithValidAllocation = Device;
23692369
}
23702370

2371+
_ur_buffer::~_ur_buffer() {
2372+
if (isSubBuffer())
2373+
ur::level_zero::urMemRelease(SubBuffer->Parent);
2374+
}
2375+
23712376
ur_result_t _ur_buffer::getZeHandlePtr(char **&ZeHandlePtr,
23722377
access_mode_t AccessMode,
23732378
ur_device_handle_t Device,

source/adapters/level_zero/memory.hpp

+2
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ struct _ur_buffer final : ur_mem_handle_t_ {
116116
Parent->RefCount.increment();
117117
}
118118

119+
~_ur_buffer();
120+
119121
// Interop-buffer constructor
120122
_ur_buffer(ur_context_handle_t Context, size_t Size,
121123
ur_device_handle_t Device, char *ZeMemHandle, bool OwnZeMemHandle);

0 commit comments

Comments
 (0)