gecko-dev/gfx
Jamie Nicol 0cffcc7253 Bug 1777952 - Namespace SurfaceTexture handles by the process they were allocated in. r=gfx-reviewers,geckoview-reviewers,aosmond,calu
When Surfaces/SurfaceTextures are allocated they are given a handle,
which is a monotonically increasing 32-bit integer. To render
Surfaces, we typically pass the Surface handle to the compositor,
which then looks it up in a map to find the corresponding
SurfaceTexture.

Following a GPU process restart, content may be left with stale
handles referencing SurfaceTextures which no longer exist. Once new
SurfaceTextures are allocated, these stale handles may reference new
SurfaceTextures with no relation to the old handle. This can lead to
rendering the wrong texture. Additionally, we may crash when
allocating "sync" SurfaceTextures, as the previous sync texture for a
certain handle may not have been released yet.

To fix this, this patch combines the existing handle with a new ID
uniquely identifying the process in which the SurfaceTexture was
allocated (or 0 for the parent process). We use a monotonically
increasing value rather than the pid to guard against the new GPU
process possibly having the same pid as the previous instance. We
combine these two 32-bit integers and use the resulting 64-bit integer
as the Surface handle.

Differential Revision: https://phabricator.services.mozilla.com/D150963
2022-07-07 08:12:55 +00:00
..
2d Bug 1777209 - Use DrawSurface rather than FillRect to paint <canvas>, and don't use EXTEND_PAD when writing to PDF. r=jrmuizel 2022-07-05 07:55:56 +00:00
angle Bug 1661450 - 5/8 Fix build system to handle undefined MOZ_X11 r=stransky 2022-04-20 09:32:08 +00:00
cairo Bug 1778158 - quartz: Avoid reading beyond the end of image surfaces. r=jfkthame 2022-07-06 12:25:10 +00:00
config Bug 1773282 [Linux] Remove nsIGfxInfo::FEATURE_VAAPI and use nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING r=alwu 2022-06-29 12:09:02 +00:00
docs Bug 1771364 - Add basic testing section to APZ docs. r=botond 2022-05-27 20:44:02 +00:00
gl Bug 1777952 - Namespace SurfaceTexture handles by the process they were allocated in. r=gfx-reviewers,geckoview-reviewers,aosmond,calu 2022-07-07 08:12:55 +00:00
graphite2
harfbuzz Bug 1774192 - Build harfbuzz with MT support. r=lsalzman 2022-06-15 08:13:01 +00:00
ipc Bug 1777656: Delete mozilla::ipc::SharedMemory::SharedMemorytype. r=nika,media-playback-reviewers,padenot 2022-07-05 20:08:31 +00:00
layers Bug 1773696 - Make wheel event IPC depend on test_events_async_enabled, r=smaug 2022-07-06 19:55:12 +00:00
ots Bug 1519636 - Reformat recent changes to the Google coding style r=andi,media-playback-reviewers,necko-reviewers,padenot,dragana 2022-06-07 12:32:55 +00:00
qcms Bug 1772048 - Update rustc_version and semver crates. r=emilio,webdriver-reviewers,kinetik,whimboo 2022-06-07 10:01:32 +00:00
skia Bug 1774522 - Make Skia C++20 compatible by replacing deprecated std::result_of_t. r=lsalzman 2022-06-17 02:13:46 +00:00
src Bug 1773924 - Simplify nsDeviceContext code dealing with DPI changes. r=jfkthame 2022-06-15 09:57:38 +00:00
tests Bug 1775162 - Fix C++20 build error in BSPPolygon template class definition. r=gfx-reviewers,jrmuizel 2022-06-22 04:06:47 +00:00
thebes Bug 1777671 - Account for glyph orientations when returning rotation of character r=jfkthame 2022-07-06 06:01:22 +00:00
vr Bug 1771515 - [webxr] Support Oculus Quest2 controllers. r=jgilbert 2022-06-02 05:10:17 +00:00
webrender_bindings Bug 1778036 - Switch public primitive API to be clip-chain based r=gfx-reviewers,lsalzman 2022-07-05 20:52:31 +00:00
wgpu_bindings Backed out changeset 0a2e3c4ca14f (bug 1750576) for bustages on RefPtr . CLOSED TREE 2022-07-06 19:18:20 +03:00
wr Bug 1778036 - Switch public primitive API to be clip-chain based r=gfx-reviewers,lsalzman 2022-07-05 20:52:31 +00:00
ycbcr Bug 1698699 - P7 - add missing include for hybrid builds. r=ng 2022-06-28 16:29:41 +00:00
metrics.yaml Bug 1772223: Add some additional probes for measuring important WebRender internals. r=jrmuizel,chutten 2022-06-08 13:41:19 +00:00
moz.build