Skip to content

Commit 0cfdbee

Browse files
committed
Add decrementAndTest back in to fix logic in checks.
1 parent 4dc4233 commit 0cfdbee

19 files changed

+23
-22
lines changed

unified-runtime/source/adapters/level_zero/command_buffer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -846,7 +846,7 @@ urCommandBufferRetainExp(ur_exp_command_buffer_handle_t CommandBuffer) {
846846

847847
ur_result_t
848848
urCommandBufferReleaseExp(ur_exp_command_buffer_handle_t CommandBuffer) {
849-
if (!CommandBuffer->decrementRefCount() == 0)
849+
if (!CommandBuffer->decrementAndTest())
850850
return UR_RESULT_SUCCESS;
851851

852852
UR_CALL(waitForOngoingExecution(CommandBuffer));

unified-runtime/source/adapters/level_zero/context.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ ur_device_handle_t ur_context_handle_t_::getRootDevice() const {
251251
// from the list of tracked contexts.
252252
ur_result_t ContextReleaseHelper(ur_context_handle_t Context) {
253253

254-
if (!Context->decrementRefCount() == 0)
254+
if (!Context->decrementAndTest())
255255
return UR_RESULT_SUCCESS;
256256

257257
if (IndirectAccessTrackingEnabled) {

unified-runtime/source/adapters/level_zero/device.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1674,7 +1674,7 @@ ur_result_t urDeviceRetain(ur_device_handle_t Device) {
16741674
ur_result_t urDeviceRelease(ur_device_handle_t Device) {
16751675
// Root devices are destroyed during the piTearDown process.
16761676
if (Device->isSubDevice()) {
1677-
if (Device->decrementRefCount() == 0) {
1677+
if (Device->decrementAndTest()) {
16781678
delete Device;
16791679
}
16801680
}

unified-runtime/source/adapters/level_zero/event.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1088,7 +1088,7 @@ ur_event_handle_t_::~ur_event_handle_t_() {
10881088

10891089
ur_result_t urEventReleaseInternal(ur_event_handle_t Event,
10901090
bool *isEventDeleted) {
1091-
if (!Event->decrementRefCount() == 0)
1091+
if (!Event->decrementAndTest())
10921092
return UR_RESULT_SUCCESS;
10931093

10941094
if (Event->OriginAllocEvent) {

unified-runtime/source/adapters/level_zero/kernel.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -946,7 +946,7 @@ ur_result_t urKernelRetain(
946946
ur_result_t urKernelRelease(
947947
/// [in] handle for the Kernel to release
948948
ur_kernel_handle_t Kernel) {
949-
if (!Kernel->decrementRefCount() == 0)
949+
if (!Kernel->decrementAndTest())
950950
return UR_RESULT_SUCCESS;
951951

952952
auto KernelProgram = Kernel->Program;

unified-runtime/source/adapters/level_zero/memory.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1642,7 +1642,7 @@ ur_result_t urMemRetain(
16421642
ur_result_t urMemRelease(
16431643
/// [in] handle of the memory object to release
16441644
ur_mem_handle_t Mem) {
1645-
if (!Mem->decrementRefCount() == 0)
1645+
if (!Mem->decrementAndTest())
16461646
return UR_RESULT_SUCCESS;
16471647

16481648
if (Mem->isImage()) {

unified-runtime/source/adapters/level_zero/physical_mem.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ ur_result_t urPhysicalMemRetain(ur_physical_mem_handle_t hPhysicalMem) {
4747
}
4848

4949
ur_result_t urPhysicalMemRelease(ur_physical_mem_handle_t hPhysicalMem) {
50-
if (!hPhysicalMem->decrementRefCount() == 0)
50+
if (!hPhysicalMem->decrementAndTest())
5151
return UR_RESULT_SUCCESS;
5252

5353
if (checkL0LoaderTeardown()) {

unified-runtime/source/adapters/level_zero/program.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -565,7 +565,7 @@ ur_result_t urProgramRetain(
565565
ur_result_t urProgramRelease(
566566
/// [in] handle for the Program to release
567567
ur_program_handle_t Program) {
568-
if (!Program->decrementRefCount() == 0)
568+
if (!Program->decrementAndTest())
569569
return UR_RESULT_SUCCESS;
570570

571571
delete Program;
@@ -1115,7 +1115,7 @@ void ur_program_handle_t_::ur_release_program_resources(bool deletion) {
11151115
// must be destroyed before the Module can be destroyed. So, be sure
11161116
// to destroy build log before destroying the module.
11171117
if (!deletion) {
1118-
if (!decrementRefCount() == 0) {
1118+
if (!decrementAndTest()) {
11191119
return;
11201120
}
11211121
}

unified-runtime/source/adapters/level_zero/queue.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -612,7 +612,7 @@ ur_result_t urQueueRelease(
612612
// internal reference count. When the External Reference count == 0, then
613613
// cleanup of the queue begins and the final decrement of the internal
614614
// reference count is completed.
615-
static_cast<void>(Queue->decrementRefCount() == 0);
615+
static_cast<void>(Queue->decrementAndTest());
616616
return UR_RESULT_SUCCESS;
617617
}
618618

@@ -1588,7 +1588,7 @@ void ur_queue_handle_t_::clearEndTimeRecordings() {
15881588
}
15891589

15901590
ur_result_t urQueueReleaseInternal(ur_queue_handle_t Queue) {
1591-
if (!Queue->decrementRefCount() == 0)
1591+
if (!Queue->decrementAndTest())
15921592
return UR_RESULT_SUCCESS;
15931593

15941594
for (auto &Cache : Queue->EventCaches) {

unified-runtime/source/adapters/level_zero/sampler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ ur_result_t urSamplerRetain(
131131
ur_result_t urSamplerRelease(
132132
/// [in] handle of the sampler object to release
133133
ur_sampler_handle_t Sampler) {
134-
if (!Sampler->decrementRefCount() == 0)
134+
if (!Sampler->decrementAndTest())
135135
return UR_RESULT_SUCCESS;
136136

137137
if (checkL0LoaderTeardown()) {

0 commit comments

Comments
 (0)