gecko-dev/gfx/ipc
Gabriele Svelto aa43fa218e Bug 1831092 - Use the new pull-based API for all crash annotations and remove the global annotations table r=jgilbert,necko-reviewers,media-playback-reviewers,profiler-reviewers,win-reviewers,padenot,handyman,afranchuk,valentin,alwu,sotaro
This changes comes with several different refactorings all rolled into one,
unfotunately I couldn't find a way to pull them apart:
- First of all annotations now can either recorded (that is, we copy the value
  and have the crash reporting code own the copy) or registered. Several
  annotations are changed to use this functionality so that we don't need to
  update them as their value change.
- The code in the exception handler is modified to read the annotations from
  the mozannotation_client crate. This has the unfortunate side-effect that
  we need three different bits of code to serialize them: one for annotations
  read from a child process, one for reading annotations from the main process
  outside of the exception handler and one for reading annotations from the
  main process within the exception handler. As we move to fully
  out-of-process crash reporting the last two methods will go away.
- The mozannotation_client crate now doesn't record annotation types anymore.
  I realized as I was working on this that storing types at runtime has two
  issues: the first one is that buggy code might change the type of an
  annotation (that is record it under two different types at two different
  moments), the second issue is that types might become corrupt during a
  crash, so better enforce them at annotation-writing time. The end result is
  that the mozannotation_* crates now only store byte buffers, track the
  format the data is stored in (null-terminated string, fixed size buffer,
  etc...) but not the type of data each annotation is supposed to contain.
- Which brings us to the next change: concrete types for annotations are now
  enforced when they're written out. If an annotation doesn't match the
  expected type it's skipped. Storing an annotation with the wrong type will
  also trigger an assertion in debug builds.

Differential Revision: https://phabricator.services.mozilla.com/D195248
2024-03-04 10:24:43 +00:00
..
CanvasManagerChild.cpp Bug 1855742 - Part 2. Allow CanvasDrawEventRecorder to be created on DOM workers. r=gfx-reviewers,lsalzman 2024-02-21 03:08:03 +00:00
CanvasManagerChild.h Backed out 6 changesets (bug 1875528) for causing leakcheck failures. CLOSED TREE 2024-01-25 01:26:46 +02:00
CanvasManagerParent.cpp Backed out changeset e22428605dbb (bug 1875661) for causing bp-nu bustages in RefPtr.h and for causing mochitests assertion failures in WeakPtr.h. CLOSED TREE 2024-01-24 21:11:11 +02:00
CanvasManagerParent.h Bug 1871467 - Remove unused ReplayTexture support. r=aosmond CLOSED TREE 2023-12-22 04:58:16 +00:00
CanvasRenderThread.cpp Bug 1875661 - Refactor shutdown for remote canvas. r=gfx-reviewers,lsalzman 2024-01-25 22:22:49 +00:00
CanvasRenderThread.h Bug 1875661 - Refactor shutdown for remote canvas. r=gfx-reviewers,lsalzman 2024-01-25 22:22:49 +00:00
CompositorOptions.h
CompositorSession.cpp
CompositorSession.h
CompositorWidgetVsyncObserver.cpp
CompositorWidgetVsyncObserver.h
CrossProcessPaint.cpp Bug 1870970 - Ensure we call DrawEventRecorder::DetachResources to avoid memory leaks. r=gfx-reviewers,lsalzman 2023-12-20 12:59:26 +00:00
CrossProcessPaint.h
D3DMessageUtils.cpp
D3DMessageUtils.h
FileHandleWrapper.cpp Bug 1861605 - Use IDXGIResource1::CreateSharedHandle() instead of IDXGIResource::GetSharedHandle() r=gfx-reviewers,lsalzman 2023-12-19 09:23:21 +00:00
FileHandleWrapper.h Bug 1861605 - Use IDXGIResource1::CreateSharedHandle() instead of IDXGIResource::GetSharedHandle() r=gfx-reviewers,lsalzman 2023-12-19 09:23:21 +00:00
GfxMessageUtils.h Bug 1866412 - Add FenceD3D11 for wrapping ID3D11Fence r=gfx-reviewers,jrmuizel 2023-12-09 11:55:15 +00:00
GPUChild.cpp
GPUChild.h
GPUParent.cpp Bug 1851736 - Enable NVIDIA RTX Video Super Resolution for video overlay on Windows only during power charge r=gfx-reviewers,ahale 2024-03-01 04:00:59 +00:00
GPUParent.h Bug 1851736 - Enable NVIDIA RTX Video Super Resolution for video overlay on Windows only during power charge r=gfx-reviewers,ahale 2024-03-01 04:00:59 +00:00
GPUProcessHost.cpp
GPUProcessHost.h
GPUProcessImpl.cpp
GPUProcessImpl.h
GPUProcessListener.h
GPUProcessManager.cpp Bug 1831092 - Use the new pull-based API for all crash annotations and remove the global annotations table r=jgilbert,necko-reviewers,media-playback-reviewers,profiler-reviewers,win-reviewers,padenot,handyman,afranchuk,valentin,alwu,sotaro 2024-03-04 10:24:43 +00:00
GPUProcessManager.h Bug 1851736 - Enable NVIDIA RTX Video Super Resolution for video overlay on Windows only during power charge r=gfx-reviewers,ahale 2024-03-01 04:00:59 +00:00
GraphicsMessages.ipdlh
InProcessCompositorSession.cpp Bug 1874740: Make callers to NotifyCompositorSessionLost hold a reference to widget. r=gfx-reviewers,jrmuizel 2024-01-23 19:27:26 +00:00
InProcessCompositorSession.h
moz.build Bug 1866412 - Add FenceD3D11 for wrapping ID3D11Fence r=gfx-reviewers,jrmuizel 2023-12-09 11:55:15 +00:00
OverlayInfo.h
PCanvasManager.ipdl Bug 1867360 - Require toplevel protocols to specify which processes they expect to be bound in, r=decoder,ipc-reviewers,necko-reviewers,media-playback-reviewers,profiler-reviewers,win-reviewers,aosmond,rkraesig,mccr8,kershaw 2024-01-18 23:07:18 +00:00
PGPU.ipdl Bug 1851736 - Enable NVIDIA RTX Video Super Resolution for video overlay on Windows only during power charge r=gfx-reviewers,ahale 2024-03-01 04:00:59 +00:00
PVsyncBridge.ipdl Bug 1867360 - Require toplevel protocols to specify which processes they expect to be bound in, r=decoder,ipc-reviewers,necko-reviewers,media-playback-reviewers,profiler-reviewers,win-reviewers,aosmond,rkraesig,mccr8,kershaw 2024-01-18 23:07:18 +00:00
RemoteCompositorSession.cpp Bug 1874740: Make callers to NotifyCompositorSessionLost hold a reference to widget. r=gfx-reviewers,jrmuizel 2024-01-23 19:27:26 +00:00
RemoteCompositorSession.h
VsyncBridgeChild.cpp
VsyncBridgeChild.h
VsyncBridgeParent.cpp
VsyncBridgeParent.h
VsyncIOThreadHolder.cpp Bug 1624819 - Remove TaskCategory and other quantum dom remnants. r=smaug,media-playback-reviewers,credential-management-reviewers,cookie-reviewers,places-reviewers,win-reviewers,valentin,mhowell,sgalich,alwu 2023-10-10 08:51:12 +00:00
VsyncIOThreadHolder.h