Граф коммитов

2807 Коммитов

Автор SHA1 Сообщение Дата
sotaro b1b5bee45a Bug 1803501 - Add RenderTextureHostWrapper::AsRenderTextureHostSWGL() r=gfx-reviewers,lsalzman
RenderTextureHostWrapper::AsRenderTextureHostSWGL() is not implemented. It is necessary for wr_swgl_lock_composite_surface().

Differential Revision: https://phabricator.services.mozilla.com/D163556
2022-12-01 06:32:14 +00:00
sotaro 71a7be2831 Bug 1801767 - Remove fs::remove_dir_all usage in remove_disk_cache() r=gfx-reviewers,bradwerth
From Bug 1799442, fs::remove_dir_all is not stable on Windows.

Differential Revision: https://phabricator.services.mozilla.com/D162682
2022-11-22 05:35:25 +00:00
Nicolas Silva e716fc4f7b Bug 1797975 - Replace wr_notifier_nop_frame_done with an argument in new_frame_ready. r=gfx-reviewers,bradwerth
it started as a single method new_frame_ready with a composite parameter, to be split into two functions that end up calling the same HandleFrameOneDoc with a composite parameter so the extra function doesn't provide anything.

Differential Revision: https://phabricator.services.mozilla.com/D162299
2022-11-21 14:10:29 +00:00
Nicolas Silva ed0908ee88 Bug 1797975 - Simplify the pending frame count tracking code. r=gfx-reviewers,bradwerth
Only transactions that contain the generate_frame flag are tracked by the pending frame and frame build counters.
This patch attempts to make this clearer with two small adjustments:

Firstly by putting the IncPendingFrameCount call right next to Transaction::GenerateFrame.

Secondly, undoing the hack in wr_notifier_wake_up. The latter is called outside of normal rendered/tracked frames and was calling HandleFrameOneDoc which decrements the rendered frame counter. To compensate it had to manually increment both counters via IncPendingFrameCount and manually decrement the built frame counter via DecPendingFrameBuildCount. Instead this patch introduces the aTrackedFrame argument so that HandleFrameOneDoc only fiddles with the counters when needed and wake_up does not have to hack around it.

Differential Revision: https://phabricator.services.mozilla.com/D162298
2022-11-21 14:10:29 +00:00
Nicolas Silva af16db6234 Bug 1797975 - Remove outdated comments about mIsRendering. r=gfx-reviewers,bradwerth
mIsRendering does not appear to exist (anymore).

Differential Revision: https://phabricator.services.mozilla.com/D162296
2022-11-21 14:10:28 +00:00
Nicolas Silva 5a18024f2b Bug 1797975 - Rename CompositeIfNeeded into RetrySkippedComposite. r=gfx-reviewers,bradwerth
The previous name could have related to any situation where a composite is needed such as when animating or receiving transactions, but the function is actually specifically about scheduling a new composite if the previous one was skipped.

Differential Revision: https://phabricator.services.mozilla.com/D162295
2022-11-21 14:10:28 +00:00
Nicolas Silva 6352b3770e Bug 1797975 - Simplify the compositor throttling logic. r=gfx-reviewers,bradwerth
- Ensure that the pending frame count is decremented by HandleFrameOneDoc even after some of the rare early-outs.
- Always check TooManyPendingFrames in CompositeToTarget.

It is unclear that these will actually catch (all of) the extraneous skipped frames. If anything, the simplification will make further investigation easier.

Differential Revision: https://phabricator.services.mozilla.com/D162294
2022-11-21 14:10:27 +00:00
Jens Stutte 91630e2b39 Bug 1798630 - Use nsThread::Shutdown for the RenderThread. r=gfx-reviewers,sotaro
Differential Revision: https://phabricator.services.mozilla.com/D161026
2022-11-04 08:17:04 +00:00
David Shin 7640199d8a Bug 1792285 - Part 2: Do proper subpixel snapping before pushing `iframe` to WebRender. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D160063
2022-11-01 20:32:07 +00:00
David Shin 96cf231f1f Bug 1792285 - Part 1: Refactor `DisplayListBuilder::PushIFrame` in preparation for proper subpixel snapping. r=emilio
Incoming `bounds` parameter is now `LayoutDeviceRect` in preparation for
proper subpixel snapping.

Differential Revision: https://phabricator.services.mozilla.com/D159884
2022-11-01 20:32:06 +00:00
sotaro fc8d330fb5 Bug 1797029 - Expose DXGISwapChain tearing support to about:support r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D160177
2022-10-26 05:42:49 +00:00
Lee Salzman cfb26bdf6f Bug 1792527 - Explicitly bind mip filter for external textures inside WebRender. r=gw
If an external image shows up multiple times while using a different image rendering
setting on each instance, we can erroneously call handler.lock() for each instance in
parallel, thus defaulting to the last image rendering setting supplied for all instances
in that batch.

To work around this, we get rid of the concept of having RenderTextureHosts maintain and
set the image rendering state, which results in a nice simplification. Then, when we go
to actually bind an external image inside WebRender, we set the image rendering state
at that point, so that regardless of how many instances of an external image are locked
simultaneously, we always use the correct image rendering setting for a batch.

Differential Revision: https://phabricator.services.mozilla.com/D158920
2022-10-10 19:23:51 +00:00
sotaro ae8d7756c6 Bug 1793388 - Disable wait at RenderCompositorANGLE::WaitForGPU() on Windows nightly r=gfx-reviewers,lsalzman
Wait at RenderCompositorANGLE::WaitForGPU() blocks render thread. It is not good.

Since Bug 1589718 fix, AsyncImagePipelineManager::NotifyPipelinesUpdated() works without wait at RenderCompositorANGLE::WaitForGPU(). Directly bounded texture buffers are released by using aLastCompletedFrameId.

Differential Revision: https://phabricator.services.mozilla.com/D158478
2022-10-04 06:26:26 +00:00
stransky 2e236afbbc Bug 1792568 [Wayland] Force full redraw of RenderCompositorSWGL on Resume() r=lsalzman
In Bug 1645677 we disable rendering and free compositor resources on GTK unmap signal when GtkWindow is hidden.
That ensures we create EGLSurface again when GtkWindow is shown and we use recent wl_surface on Wayland.

We use Resume() compositor signal to force compositor to re-create EGLSurface over new wl_surface.

RenderCompositorSWGL uses different mechanism but underlying WindowSurfaceWaylandMB is also deleted on unmap
and we need to request full repaint on Resume() as new WindowSurfaceWaylandMB was created.

Differential Revision: https://phabricator.services.mozilla.com/D158322
2022-09-29 13:58:47 +00:00
sotaro f963b81c1c Bug 1769431 - Ensure to release SwapChain surface handle r=gfx-reviewers,lsalzman
There is a case that SwapChain surface handle is not closed. It should be closed correctly. It caused the problem on NVIDIA gpu.

Differential Revision: https://phabricator.services.mozilla.com/D158236
2022-09-28 02:26:28 +00:00
stransky cb46f7b2dd Bug 1645677 [Wayland] Update EGLSurface when wl_surface is deleted r=emilio,jgilbert
When GtkWidget is hidden, underlying wl_surface is deleted. We need to also update EGLSurface of GtkWidget (GtkCompositorWidget)
as EGLSurface is directly linked to wl_surface:

- When GtkWidget is hidden, call GtkCompositorWidget::DisableRendering(). That releases GtkCompositorWidget resources
  related to GtkWidget (XWindow/XVisual etc.) and marks the widget as hidden.
- If GtkWidget is backed by EGL call compositor resume which forces compositor to create new EGLSurface.
- Make sure GLContextEGL can create EGLSurface even when GtkWidget is hidden and wl_surface is missing.
  It prevents fallback to SW rendering or pause RenderCompositorEGL which leads to Bug 1777664 (whole browser UI freeze).
- Return early from RenderCompositorEGL::BeginFrame()/RenderCompositorEGL::EndFrame() when GtkCompositorWidget is hidden.

Depends on D157357

Differential Revision: https://phabricator.services.mozilla.com/D157358
2022-09-22 09:41:04 +00:00
Butkovits Atila 7d55852039 Backed out 5 changesets (bug 1645677) for causing build bustages at nsWindow.cpp.
Backed out changeset 4f164c3d0ba9 (bug 1645677)
Backed out changeset 27a918234048 (bug 1645677)
Backed out changeset ca32ff38fc67 (bug 1645677)
Backed out changeset 6841dc516087 (bug 1645677)
Backed out changeset 5ba3a56b3038 (bug 1645677)
2022-09-21 18:26:03 +03:00
stransky 4a3192c560 Bug 1645677 [Wayland] Update EGLSurface when wl_surface is deleted r=emilio,jgilbert
When GtkWidget is hidden, underlying wl_surface is deleted. We need to also update EGLSurface of GtkWidget (GtkCompositorWidget)
as EGLSurface is directly linked to wl_surface:

- When GtkWidget is hidden, call GtkCompositorWidget::DisableRendering(). That releases GtkCompositorWidget resources
  related to GtkWidget (XWindow/XVisual etc.) and marks the widget as hidden.
- If GtkWidget is backed by EGL call compositor resume which forces compositor to create new EGLSurface.
- Make sure GLContextEGL can create EGLSurface even when GtkWidget is hidden and wl_surface is missing.
  It prevents fallback to SW rendering or pause RenderCompositorEGL which leads to Bug 1777664 (whole browser UI freeze).
- Return early from RenderCompositorEGL::BeginFrame()/RenderCompositorEGL::EndFrame() when GtkCompositorWidget is hidden.

Depends on D157357

Differential Revision: https://phabricator.services.mozilla.com/D157358
2022-09-21 10:32:44 +00:00
Kelsey Gilbert a32dfd5297 Bug 1785925 - Add LUT and Colorspace support to GLBlitHelper. r=lsalzman,media-playback-reviewers,alwu
This code was originally developed in bug 1771374, but here we omit the
DCLayerTree changes for later.

Differential Revision: https://phabricator.services.mozilla.com/D155027
2022-09-13 17:40:43 +00:00
Jamie Nicol 50310d33ee Bug 1784109 - Override SurfaceTexture transform for videos on Mediatek 6735. r=gfx-reviewers,media-playback-reviewers,lsalzman,alwu
On Android, SurfaceTextures provide a transform matrix that should be
applied to texture coordinates when sampling from the texture. Prior
to bug 1731980 we ignored this value, and simply y-flipped the video
instead. On most devices the transform is just a y-flip, so this
produced the correct results. However, on some devices the transform
included a scale as well as the y-flip, meaning that we rendered
videos at an incorrect size.

The fix for bug 1731980 was to correctly apply the transformation.
However, it now appears that on Mediatek 6735 devices the transform
provided by the system is incorrect. On these devices, videos were
rendered correctly when we ignored the transform and just did a
y-flip, and now that we apply the transform videos are rendered at the
wrong size.

This patch makes it so that we override the system-provided transform
on these devices with a simple y-flip. The existing mIgnoreTransform
flag has been changed to an optional "transform override" value to
achieve this. We ensure that we only override the transform for
SurfaceTextures that are output from a MediaCodec, to ensure that we
don't accidentally apply the wrong transform to SurfaceTextures
attached to other sources.

Differential Revision: https://phabricator.services.mozilla.com/D155706
2022-09-09 14:43:21 +00:00
Brad Werth 62b54b0774 Bug 1781122 Part 2: Make TextureHost aware of DRM Images, and set this on macOS. r=gfx-reviewers,sotaro
At point of display, we need the TextureHost to know whether or not its
texture was created from a DRM Image. The throughline of data is:

Image -> TextureClient -> TextureHost

The TextureClient is generated by the Image, so it has access to the DRM
state of the Image, but the TextureHost is built from the raw texture data
and from TextureFlags. This patch updates TextureFlags to include a
DRM_SOURCE bit for use by the TextureHost.

The TextureClient and TextureHost are platform-specific classes. The
creation of the TextureClient by the Image is done in a platform-specific
subclass of Image. This patch only implements this pipeline for macOS.
There doesn't seem to be a way to do this in cross-platform classes, but
other platforms can follow the pattern used here.

Depends on D155295

Differential Revision: https://phabricator.services.mozilla.com/D155296
2022-09-07 18:51:12 +00:00
Mike Hommey af4a15bf8d Bug 1789525 - Use drop(Box::from_raw). r=gfx-reviewers,jrmuizel
As of rustc 1.64, Box::from_raw is #[must_use].

Differential Revision: https://phabricator.services.mozilla.com/D156619
2022-09-07 00:30:37 +00:00
Marian-Vasile Laza 7ec7dec6f1 Backed out changeset f1e6746037f7 (bug 1785925) for causing reftest failures on DCLayerTree.cpp. CLOSED TREE 2022-09-06 23:35:51 +03:00
Kelsey Gilbert 24a9bc97bb Bug 1785925 - Add LUT and Colorspace support to GLBlitHelper. r=lsalzman,media-playback-reviewers,alwu
This code was originally developed in bug 1771374, but here we omit the
DCLayerTree changes for later.

Differential Revision: https://phabricator.services.mozilla.com/D155027
2022-09-06 18:36:34 +00:00
Cristian Tuns 3d56a1da28 Backed out changeset b14b975aa6d7 (bug 1785925) for causing build bustages on GLBlitHelper.cpp CLOSED TREE 2022-09-02 20:12:33 -04:00
Kelsey Gilbert 75cccdd5cb Bug 1785925 - Add LUT and Colorspace support to GLBlitHelper. r=lsalzman,media-playback-reviewers,alwu
This code was originally developed in bug 1771374, but here we omit the
DCLayerTree changes for later.

Differential Revision: https://phabricator.services.mozilla.com/D155027
2022-09-02 22:15:58 +00:00
Nazım Can Altınova e035e3994d Bug 1785764 - Add Graphics profiling category to some of the rasterization code paths r=gerald,gfx-reviewers,jrmuizel
While looking at the some of the Rust threads in the profiler they were always
appearing gray, which are not easy to follow/understand. Adding
Graphics::Rasterization category to these code paths allows us to show the
appropriate category for WRWorker threads. It changes the category color to
green as well which is easier to follow and understand.

See the following profiler links:
Before: https://share.firefox.dev/3egkhRC
After: https://share.firefox.dev/3cGEcca
Timeline color is different as well as the colors in the Call Tree.

Differential Revision: https://phabricator.services.mozilla.com/D156204
2022-09-02 11:04:12 +00:00
Glenn Watson 863a1d7867 Bug 1788774 - Remove unused slow subpixel rendering path r=gfx-reviewers,lsalzman
There is a slow rendering path for subpixel AA on hardware that
doesn't support dual-source blending. However, we never actually
enable that path (as `force_subpixel_aa` is never modified by
Gecko) now as almost all hardware supports it. If ever running
Firefox on a machine without dual-source blending, grayscale
text AA will be enabled by default, or SW-WR can be used if
subpixel AA is desired.

Differential Revision: https://phabricator.services.mozilla.com/D156234
2022-09-01 21:34:17 +00:00
Andi-Bogdan Postelnicu 5981839b9a Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio
Updated with rustfmt 1.5.1-stable (4b91a6e 2022-08-08)
# ignore-this-changeset

Depends on D154661

Differential Revision: https://phabricator.services.mozilla.com/D154662
2022-08-16 07:08:28 +00:00
alwu efe35b01d5 Bug 1771011 - part2 : wrap media engine's dcomp handle, and use it on our gfx pipeline in the GPU process.r=jolin,sotaro
In this patch, we ask the media engine to return a handle for shareable
dcomp surface, which will then be packaged into a new texture data type
and being shared with the GPU process via the video bridge.

DcompSurfaceImage is the image which contains the handle texture data,
which doesn't support being accessed in the content process. When the
compositor uploads the image to the GPU process, the corresponding
texture host will be created.

The render texture host will be created by that texture host, and it
will be used in DCLayerTree. In DCLayerTree, we create a new type of
surface for our dcomp handle. DCSurfaceHandle will ask the render
texture host to reconstruct the surface by the handle shared from the
remote process (the handle is actually duplicated to the parent process
first due to the sandbox policy, and then be duplicated to the GPU
process later)

DCSurfaceHandle will attach that surface to its visual in order to
display the video frame directly. In the whole process, it's not
possible for Gecko to access any decoded video data which is protected by the
media engine itself.

Depends on D149941

Differential Revision: https://phabricator.services.mozilla.com/D151019
2022-08-13 23:48:07 +00:00
Nicolas Silva 35814d5a15 Bug 1690244 - Move WebRender initialization code out of renderer.rs. r=kvark
There is a lot going on in renderer.rs, the initialization code takes a non-negligible chunk of it and touches all aspects of WebRender including setting up all of the threads. This patch moves it into its own init module.
In addition, RendererOptions is renamed into WebRenderOptions to better reflect that it configures every aspect of the engine, and init::create_webrender_instance replaces Renderer::new.

This a rebased version of an pld patch approved by kvark a while back.

Differential Revision: https://phabricator.services.mozilla.com/D103767
2022-08-12 07:30:14 +00:00
Noemi Erli 01c7c4f180 Backed out changeset 6237668e5fca (bug 1690244) for causing webrender build bustages CLOSED TREE 2022-08-11 16:24:49 +03:00
Nicolas Silva f125931e67 Bug 1690244 - Move WebRender initialization code out of renderer.rs. r=kvark
There is a lot going on in renderer.rs, the initialization code takes a non-negligible chunk of it and touches all aspects of WebRender including setting up all of the threads. This patch moves it into its own init module.
In addition, RendererOptions is renamed into WebRenderOptions to better reflect that it configures every aspect of the engine, and init::create_webrender_instance replaces Renderer::new.

This a rebased version of an pld patch approved by kvark a while back.

Differential Revision: https://phabricator.services.mozilla.com/D103767
2022-08-11 12:39:56 +00:00
Butkovits Atila aeb018ca75 Backed out changeset 48381173c92c (bug 1780315) for causing bug 1782764. CLOSED TREE 2022-08-03 13:43:39 +03:00
Timothy Nikkel 5f9393c35d Bug 1780315. Use a timer to make sure all profiler screenshots get submitted. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D152232
2022-08-02 11:14:17 +00:00
Iulian Moraru 27d760c7c2 Backed out 9 changesets (bug 1771374) for causing mochitest-webgl failures. CLOSED TREE
Backed out changeset ded977dd1896 (bug 1771374)
Backed out changeset adeb8b7d48f9 (bug 1771374)
Backed out changeset 7767340872c5 (bug 1771374)
Backed out changeset 33282b4ffaae (bug 1771374)
Backed out changeset 75db498cd0e7 (bug 1771374)
Backed out changeset 70035903ea37 (bug 1771374)
Backed out changeset 7c7de0fb66e1 (bug 1771374)
Backed out changeset 615df05e016f (bug 1771374)
Backed out changeset ac3411d21928 (bug 1771374)
2022-08-02 03:38:09 +03:00
Kelsey Gilbert 0e8f2b213c Bug 1771374 - Respect wr::ImageRendering in DCSurfaceSwapChain. r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D152798
2022-08-01 19:49:29 +00:00
Kelsey Gilbert 4b2a1851ac Bug 1771374 - Pad odd-sized surface swapchains to even numbers. r=gfx-reviewers,nical
We need to pad e.g. nv12 4:2:0 formats in order to have integer-sized
chroma planes.
But also to avoid needing laser-focused testing for this case, just
unconditionally pad odd-sizes to even numbers.

* Test handling of odd-number-sized surfaces.

Differential Revision: https://phabricator.services.mozilla.com/D152797
2022-08-01 19:49:29 +00:00
Kelsey Gilbert 5108ab70bf Bug 1771374 - Create swapchain with premult-alpha if hasAlpha. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D152445
2022-08-01 19:49:28 +00:00
Kelsey Gilbert 0bd05e8c5c Bug 1771374 - Fix build and lint warnings. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D150620
2022-08-01 19:49:27 +00:00
Kelsey Gilbert 5ebff89891 Bug 1771374 - Disable color management based on pref in DCLayerTree. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D150276
2022-08-01 19:49:27 +00:00
Kelsey Gilbert fa6e66aedd Bug 1771374 - Support display-p3 output via DirectComposition on Windows. r=sotaro,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D150275
2022-08-01 19:49:26 +00:00
Glenn Watson a00b8ca709 Bug 1779952 - Refactor and optimize internal representation of clip state r=nical
This patch refactors how clip chains are internally represented and used
during scene and frame building. The intent is to make clip processing
during frame building more efficient and consistent. Additionally, this
work enables follow ups to cache the result of clip-chain builds between
frame and scene builds.

These changes will significantly reduce the cost of the visibility pass
for the common case when not much content has changed. In this patch,
the public API for clipping remains (mostly) the same, in order to allow
landing and stabilising this work without major changes to Gecko. However,
a longer term goal is to make the public WR clip API more closely match
the internal representation, to reduce work done during scene building.

Clips on a primitive can be categorized into two buckets. The first are
local clips that are specific to the primitive and move with it. These
could essentially be considered part of the definition of the primitive
itself. The second are a hierarchy of clips that apply to one or more
items, and may move independently of the primitive(s) they clip. These
clips are things like scroll regions, stacking context clips, iframe
clip regions etc. On (real world) pages, the clip hierarchy is typically
quite shallow, with a small number of clips that are shared by a large
number of primitives.

Finding clips that are shared between primitives is both required (for
things such as determining which picture cache slice a primitive can
be assigned to, while applying the shared clips during composition), and
also a potential optimization (processing shared clips only once and
caching this clip state similar primitives).

The public clip-chain API has two complexities that make the above
difficult and time consuming for WR to determine. It was possible to
express a clipping hierarchy both via the legacy clip parenting path
(via `ClipId` definitions) and also via clip-chains (the `parent`
field of a `ClipChain`). Second, clip-chains themselves can define
an arbitrary number and ordering of clips. Clips can also implicitly
apply to primitives via parent stacking contexts and iframes, but must
sometimes be removed (when an intermediate surface is created) for
performance reasons.

The new internal representation provided by this patch introduces a
`ClipTree` structure which is built during scene building by accumulating
the set of clips that apply to a primitive from all explicit and implicit
sources, and grafting this on to the existing clip-tree structure.
This provides WR a simple way to determine which clips are shared between
primitive (by checking ancestry) and reduces the size of the internal
representation (by sharing clips where possible rather than duplicating).
Interning is still used to identify parts of the clip-tree that define
the same clipping state.

Specific changes in this patch:
 * Remove legacy `ClipId` style parenting support (in conjunction with
   previous patches)
 * Remove the public API ability to specify the clip on a primitive via
   `ClipId` (it must now be a clip-chain)
 * Remove `combined_local_clip_rect` from `PrimitiveInstance`, reducing
   the size of the structure significantly
 * Introduce `ClipTree` used during frame building, which is created by
   `ClipTreeBuilder` during scene building
 * Separate out per-primitive clip concept (`ClipTreeLeaf`) from clipping
   hierarchy (`ClipTreeNode`). In future, more elements will be moved to
   the `ClipTreeLeaf` and the state of each `ClipTreeNode` will be cached)
 * Simplify the logic to disable / remove clips during frame building that
   are applied by parent surface(s)
 * Port hit-testing to be based on `ClipTree` which is simpler, faster and
   also resolves some edge case correctness bugs
 * Use a simpler and faster method to find shared clips during picture
   cache slice assignment of primitives
 * Update wrench to use the public clip-chain API definition changes

This patch already introduces some real-world optimizations (for example,
`displaylist_mutate` becomes 6% faster overall), but mostly sets things
up for follow up patches to be able to cache clip-state between frames,
which should result in much larger wins.

Differential Revision: https://phabricator.services.mozilla.com/D151987
2022-07-26 21:13:32 +00:00
Emilio Cobos Álvarez 42b7f1a58c Bug 1780788 - Use abstract strings as in-arguments for ipdl. r=nika,necko-reviewers,media-playback-reviewers,alwu,dragana
This prevents copies and avoids the hack we have to avoid this, which
right now is using nsDependent{C,}String.

Non-virtual actors can still use `nsString` if they need to on the
receiving end.

Differential Revision: https://phabricator.services.mozilla.com/D152519
2022-07-25 20:19:48 +00:00
Bas Schouten 548a858362 Bug 1780431: Fix Compositing PerfStat and do minor cleanup in the process. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D152291
2022-07-21 20:31:49 +00:00
Lee Salzman f1344407b0 Bug 1779953 - Ensure MaybeRecordFrame is called before EndFrame. r=tnikkel
If MaybeRecordFrame is called after EndFrame, this means we are reading from
the back buffer state immediately after a call to SwapBuffers. The state of
the back buffer is undefined in that scenario, and mostly was just returning
old frames. We actually want to call MaybeRecordFrame before EndFrame, so we
get the valid contents of the back buffer before it is swapped out.

Differential Revision: https://phabricator.services.mozilla.com/D151988
2022-07-20 16:55:20 +00:00
Andi-Bogdan Postelnicu bbf960e82c Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio
Updated with rustfmt 1.4.38-stable (a8314ef 2022-06-27)
# ignore-this-changeset

Depends on D151908

Differential Revision: https://phabricator.services.mozilla.com/D151909
2022-07-15 09:37:22 +00:00
Narcis Beleuzu a9e7761934 Backed out 4 changesets (bug 1771374) for causing Google docs and maps rendering regressions. a=backout
Backed out changeset 9c65411d1843 (bug 1771374)
Backed out changeset 9f5cf953fcc8 (bug 1771374)
Backed out changeset 8b39f60971e4 (bug 1771374)
Backed out changeset ef52a6c462b6 (bug 1771374)
2022-07-14 00:43:56 +03:00
Kelsey Gilbert f35027d825 Bug 1771374 - Fix build and lint warnings. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D150620
2022-07-12 23:55:51 +00:00
Kelsey Gilbert 32502f761c Bug 1771374 - Disable color management based on pref in DCLayerTree. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D150276
2022-07-12 23:55:51 +00:00