diff --git a/PresentData/GpuTrace.cpp b/PresentData/GpuTrace.cpp index 7076366f..d652f413 100644 --- a/PresentData/GpuTrace.cpp +++ b/PresentData/GpuTrace.cpp @@ -75,6 +75,16 @@ GpuTrace::GpuTrace(PMTraceConsumer* pmConsumer) { } +GpuTrace::~GpuTrace() +{ + for (auto& pair : mContexts) { + auto context = pair.second; + if(context.mIsHwQueue) { + delete context.mNode; + } + } +} + void GpuTrace::RegisterDevice(uint64_t hDevice, uint64_t pDxgAdapter) { // Sometimes there are duplicate start events diff --git a/PresentData/GpuTrace.hpp b/PresentData/GpuTrace.hpp index 5aed1bc2..f4c900d1 100644 --- a/PresentData/GpuTrace.hpp +++ b/PresentData/GpuTrace.hpp @@ -75,6 +75,7 @@ class GpuTrace { public: explicit GpuTrace(PMTraceConsumer* pmConsumer); + ~GpuTrace(); void RegisterDevice(uint64_t hDevice, uint64_t pDxgAdapter); void UnregisterDevice(uint64_t hDevice);