layers: Report memory leaks as warnings in MemTracker layer.
diff --git a/layers/mem_tracker.c b/layers/mem_tracker.c
index 37e4026..b7e3f65 100644
--- a/layers/mem_tracker.c
+++ b/layers/mem_tracker.c
@@ -1081,6 +1081,13 @@
sprintf(str, "Issue deleting global CB list in xglDestroyDevice()");
layerCbMsg(XGL_DBG_MSG_ERROR, XGL_VALIDATION_LEVEL_0, device, 0, MEMTRACK_INTERNAL_ERROR, "MEM", str);
}
+ // Report any memory leaks
+ GLOBAL_MEM_OBJ_NODE* pTrav = pGlobalMemObjHead;
+ while (pTrav) {
+ sprintf(str, "Mem Object %p has not been freed. You should clean up this memory by calling xglFreeMemory(%p) prior to xglDestroyDevice().", pTrav->mem, pTrav->mem);
+ layerCbMsg(XGL_DBG_MSG_WARNING, XGL_VALIDATION_LEVEL_0, pTrav->mem, 0, MEMTRACK_MEMORY_LEAK, "MEM", str);
+ pTrav = pTrav->pNextGlobalNode;
+ }
XGL_RESULT result = nextTable.DestroyDevice(device);
return result;
}