Bug 1794893 - WebGLMemoryTracker ensured-registered in WebGLContext::ctor. r=gfx-reviewers,lsalzman

Differential Revision: https://phabricator.services.mozilla.com/D200851
This commit is contained in:
Kelsey Gilbert 2024-02-06 19:34:26 +00:00
Родитель 76ee7908d5
Коммит 8b53bb68c7
3 изменённых файлов: 11 добавлений и 0 удалений

Просмотреть файл

@ -149,6 +149,7 @@ WebGLContext::WebGLContext(HostWebGLContext* host,
host->mContext = this;
}
const FuncScope funcScope(*this, "<Create>");
WebGLMemoryTracker::EnsureRegistered();
}
WebGLContext::~WebGLContext() { DestroyResourcesAndContext(); }

Просмотреть файл

@ -15,6 +15,14 @@ namespace mozilla {
MOZ_DEFINE_MALLOC_SIZE_OF(WebGLShaderMallocSizeOf)
void WebGLMemoryTracker::EnsureRegistered() {
static bool sIsRegistered = []() {
RegisterStrongMemoryReporter(new WebGLMemoryTracker);
return true;
}();
(void)sIsRegistered;
}
NS_IMETHODIMP
WebGLMemoryTracker::CollectReports(nsIHandleReportCallback* aHandleReport,
nsISupports* aData, bool) {

Просмотреть файл

@ -15,6 +15,8 @@ class WebGLMemoryTracker : public nsIMemoryReporter {
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSIMEMORYREPORTER
static void EnsureRegistered();
private:
virtual ~WebGLMemoryTracker() = default;
};