From f389af151996fada865933f4e96ecd7f7ee14041 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=BCnther?= Date: Tue, 22 Oct 2024 23:44:47 +0200 Subject: [PATCH] Also track ANARILight objects for leak detection --- src/helium/BaseDevice.cpp | 1 + src/helium/BaseGlobalDeviceState.h | 1 + src/helium/BaseObject.cpp | 6 ++++++ 3 files changed, 8 insertions(+) diff --git a/src/helium/BaseDevice.cpp b/src/helium/BaseDevice.cpp index 51aa7e58..74783e1a 100644 --- a/src/helium/BaseDevice.cpp +++ b/src/helium/BaseDevice.cpp @@ -280,6 +280,7 @@ BaseDevice::~BaseDevice() reportLeaks(state.objectCounts.worlds, "ANARIWorld"); reportLeaks(state.objectCounts.instances, "ANARIInstance"); reportLeaks(state.objectCounts.groups, "ANARIGroup"); + reportLeaks(state.objectCounts.lights, "ANARILight"); reportLeaks(state.objectCounts.surfaces, "ANARISurface"); reportLeaks(state.objectCounts.geometries, "ANARIGeometry"); reportLeaks(state.objectCounts.materials, "ANARIMaterial"); diff --git a/src/helium/BaseGlobalDeviceState.h b/src/helium/BaseGlobalDeviceState.h index 72785745..77ea8f92 100644 --- a/src/helium/BaseGlobalDeviceState.h +++ b/src/helium/BaseGlobalDeviceState.h @@ -51,6 +51,7 @@ struct BaseGlobalDeviceState std::atomic worlds{0}; std::atomic instances{0}; std::atomic groups{0}; + std::atomic lights{0}; std::atomic surfaces{0}; std::atomic geometries{0}; std::atomic materials{0}; diff --git a/src/helium/BaseObject.cpp b/src/helium/BaseObject.cpp index c079a55d..39521162 100644 --- a/src/helium/BaseObject.cpp +++ b/src/helium/BaseObject.cpp @@ -144,6 +144,9 @@ void BaseObject::incrementObjectCount() case ANARI_GROUP: s->objectCounts.groups++; break; + case ANARI_LIGHT: + s->objectCounts.lights++; + break; case ANARI_SURFACE: s->objectCounts.surfaces++; break; @@ -200,6 +203,9 @@ void BaseObject::decrementObjectCount() case ANARI_GROUP: s->objectCounts.groups--; break; + case ANARI_LIGHT: + s->objectCounts.lights--; + break; case ANARI_SURFACE: s->objectCounts.surfaces--; break;