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

38055 Коммитов

Автор SHA1 Сообщение Дата
Jonathan Kew e7ed767ca6 Bug 1663230 - Ensure MergeCharactersInTextRun clears the old glyph record before storing new details; also prefer simple glyph storage where possible. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D89380
2020-09-08 08:47:40 +00:00
Sylvestre Ledru ba8d39bfb3 Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio
# ignore-this-changeset

Depends on D89392

Differential Revision: https://phabricator.services.mozilla.com/D89393
2020-09-07 19:57:24 +00:00
Andrew Osmond c45c3ac881 Bug 1662836 - Expose detailed initialization failure reason for WebRender. r=kvark
We don't know why we see initialization failures in the telemetry which
makes it hard to investigate why users aren't getting WebRender and
instead fallback to basic. Let's expose the detailed error message
WebRender already generates and puts in the critical log.

Differential Revision: https://phabricator.services.mozilla.com/D89185
2020-09-08 02:03:26 +00:00
Nicholas Nethercote 5abadeda43 Bug 1662646 - Remove `RendererOptions::texture_cache_{eviction_threshold_bytes,max_evictions_per_frame}`. r=gw
They're never set to anything other than the default, so we can hardwire them
as constants.

Depends on D89103

Differential Revision: https://phabricator.services.mozilla.com/D89104
2020-09-07 00:22:44 +00:00
Nicholas Nethercote 2bdcfc19ce Bug 1662646 - Remove `RendererOptions::max_instance_buffer_size`. r=gw
It's never set to anything other than the default, so we can hardwire it as a
constant.

Depends on D89102

Differential Revision: https://phabricator.services.mozilla.com/D89103
2020-09-07 00:22:31 +00:00
Nicholas Nethercote 716038f375 Bug 1662646 - Remove `RendererOptions::max_glyph_cache_size`. r=gw
It's never set to anything other than the default, so we can hardwire it as a
constant.

`GlyphCache::max_bytes_used` is also removed.

Depends on D89101

Differential Revision: https://phabricator.services.mozilla.com/D89102
2020-09-07 00:22:18 +00:00
Nicholas Nethercote f6d6d8f69c Bug 1662646 - Remove `RendererOptions::batch_lookback_count`. r=gw
It's never set to anything other than the default, so we can hardwire it as a
constant.

Depends on D89100

Differential Revision: https://phabricator.services.mozilla.com/D89101
2020-09-07 00:22:06 +00:00
Nicholas Nethercote 3885472850 Bug 1662646 - Remove the `NamedTag` trait. r=gw
It has a single impl, `GpuProfileTag`, so it's unnecessary generalisation.

This also removes type parameter from `GpuTimer`, `GpuSampler`,
`GpuFrameProfile`, and `GpuProfiler`.

Depends on D89099

Differential Revision: https://phabricator.services.mozilla.com/D89100
2020-09-07 00:21:58 +00:00
Nicholas Nethercote 75c03df711 Bug 1662643 - Fix up whitespace in Wrench's `Cargo.toml`. r=gw
Depends on D89098

Differential Revision: https://phabricator.services.mozilla.com/D89099
2020-09-07 00:21:46 +00:00
Nicholas Nethercote 6823f356f3 Bug 1662643 - Remove unused dependencies from Wrench. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D89098
2020-09-07 00:21:33 +00:00
stransky 71fe4bae47 Bug 1460959 [Linux] Clear alpha channel from decoded video on BasicCompositor, r=sotaro
libyuv library used for software decode UYV video formats to RGB produces also alpha for RGBX formats.
As we use OP_OVER in Basic compositor, the alpha channel is copied to final surface which is sent to window manager.
When alpha X11 visual is used, the bogus alpha information is used for blending and the video is transparent,
co we need to clear the alpha information from the video surface.

Differential Revision: https://phabricator.services.mozilla.com/D88558
2020-09-03 12:59:25 +00:00
stransky 3468f83483 Bug 1650583 [Linux/EGL] Implement GLContextEGL::FindVisual(), r=jgilbert
Implement GLContextEGL::FindVisual() as a EGL counterpart of GLContextGLX::FindVisual() used
by GLX.

We need to make sure that GdkWindow uses the same visual as GL framebuffer we use for it.
That was already implemented for GLX backend (Bug 1478454).

The visual match is implemented by visual parameter at CreateConfig()/CreateConfigScreen() routines and when it's non-zero,
try to find exact match based on visual ID.

Differential Revision: https://phabricator.services.mozilla.com/D87636
2020-09-03 09:02:44 +00:00
stransky 1b305cb7c0 Bug 1650583 [Linux/EGL] Log eglCreateWindowSurface failure, r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D87635
2020-09-03 09:02:37 +00:00
stransky 716c84bec1 Bug 1650583 [Linux/EGL] Use GLX Vsync source on GLX only, r=jgilbert
When GLX Vsync source is created along EGL contexts, NVIDIA drivers refuse to make any EGL content current.
So disable GLX Vsync source creation when EGL context is used.

Differential Revision: https://phabricator.services.mozilla.com/D87634
2020-09-03 09:02:29 +00:00
sotaro 64acea96e5 Bug 1658684 - Add android Fence handling to WebRender r=nical
Release fence is delivered from RenderCompositorEGL to WebRenderImageHost via AsyncImagePipelineManager. And the fence is sent to client side by ImageBridgeParent.

Differential Revision: https://phabricator.services.mozilla.com/D88158
2020-09-02 14:21:36 +00:00
Noemi Erli 3403bbb58e Backed out 4 changesets (bug 1650583) for causing build bustages in rules.mk CLOSED TREE
Backed out changeset 033e491241b1 (bug 1650583)
Backed out changeset e6a03fea3aad (bug 1650583)
Backed out changeset b24be6b2d8cd (bug 1650583)
Backed out changeset bbb04547d367 (bug 1650583)
2020-09-03 02:33:34 +03:00
Martin Stransky 90c4b74c25 Bug 1650583 [Linux/EGL] Implement GLContextEGL::FindVisual(), r=jgilbert
Implement GLContextEGL::FindVisual() as a EGL counterpart of GLContextGLX::FindVisual() used
by GLX.

We need to make sure that GdkWindow uses the same visual as GL framebuffer we use for it.
That was already implemented for GLX backend (Bug 1478454).

The visual match is implemented by visual parameter at CreateConfig()/CreateConfigScreen() routines and when it's non-zero,
try to find exact match based on visual ID.

Differential Revision: https://phabricator.services.mozilla.com/D87636
2020-09-02 19:45:44 +00:00
Martin Stransky fcbc4fc378 Bug 1650583 [Linux/EGL] Log eglCreateWindowSurface failure, r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D87635
2020-09-02 19:45:57 +00:00
Martin Stransky f1073aabb4 Bug 1650583 [Linux/EGL] Use GLX Vsync source on GLX only, r=jgilbert
When GLX Vsync source is created along EGL contexts, NVIDIA drivers refuse to make any EGL content current.
So disable GLX Vsync source creation when EGL context is used.

Differential Revision: https://phabricator.services.mozilla.com/D87634
2020-09-02 20:17:21 +00:00
Nathan Froyd cfb8fb313f Bug 1662251 - stop assigning from NS_Convert* values, mostly; r=sg
This patch was generated by running:

```
perl -p -i \
     -e 's/^(\s+)([a-zA-Z0-9.]+) = NS_ConvertUTF8toUTF16\((.*)\);/\1CopyUTF8toUTF16(\3, \2);/;' \
     -e 's/^(\s+)([a-zA-Z0-9.]+) = NS_ConvertUTF16toUTF8\((.*)\);/\1CopyUTF16toUTF8(\3, \2);/;' \
     $FILE
```

against every .cpp and .h in mozilla-central, and then fixing up the
inevitable errors that happen as a result of matching C++ expressions with
regexes.  The errors fell into three categories:

1. Calling the convert functions with `std::string::c_str()`; these were
   changed to simply pass the string instead, relying on implicit conversion
   to `mozilla::Span`.
2. Calling the convert functions with raw pointers, which is not permitted
   with the copy functions; these were changed to invoke `MakeStringSpan` first.
3. Other miscellaneous errors resulting from over-eager regexes and/or the
   replacement not being type-aware.  These changes were reverted.

Differential Revision: https://phabricator.services.mozilla.com/D88903
2020-09-02 09:54:37 +00:00
James Willcox 8ce74e9eef Bug 1654459 - Don't use single-buffer SurfaceTexture on emulator r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D89041
2020-09-02 00:13:15 +00:00
Jeff Gilbert 79587135ae Bug 1661328 - Enable Mac webgl-ipc tests on Central. r=jmaher,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D89038
2020-09-01 23:29:01 +00:00
Nicholas Nethercote 5a860c1607 Bug 1662042 - Shrink RON indents in WebRender captures from 4 spaces to 1 space. r=gw
This greatly reduces the size of the RON files. E.g. in one capture,
`resource.ron` shrunk from 5.8 MB to 2.8 MB.

Differential Revision: https://phabricator.services.mozilla.com/D88758
2020-09-01 18:07:07 +00:00
Nicholas Nethercote 97c5c5c433 Bug 1662347 - Change `GpuProfiler::frames` to an array. r=gw
Because it has a fixed length.

The `f()` repetition in the initialization is clumsy, but I think this change
is worthwhile because it makes it clear that `frames` is fixed-length.

Depends on D88954

Differential Revision: https://phabricator.services.mozilla.com/D88955
2020-09-01 20:24:47 +00:00
Nicholas Nethercote b23f160ce2 Bug 1662347 - Rename `Renderer::gpu_profile` as `gpu_profiler`. r=gw
Because the underlying type is called `GpuProfiler`, and there is *also* a
separate type `GpuProfile`, so the current name is misleading.

Differential Revision: https://phabricator.services.mozilla.com/D88954
2020-09-01 20:24:18 +00:00
Miko Mynttinen 02849fbb65 Bug 1662484 - Do not allow wrapping SourceSurfaceOffset around null surfaces r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D89006
2020-09-01 19:13:58 +00:00
Glenn Watson 669ba19edb Bug 1623792 - Pt 11 - Remove unnecessary cluster flags. r=nical
Now that picture cache slices are determined during add_prim, we
no longer need to create as many clusters to separate them based
on the prim flags.

Differential Revision: https://phabricator.services.mozilla.com/D88934
2020-09-01 07:19:11 +00:00
Glenn Watson 2cf9845ef8 Bug 1623792 - Pt 10 - Remove an unused field and method. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D88931
2020-09-01 07:19:49 +00:00
Kartikaya Gupta 901ef7b52b Bug 1661897 - Add a test. r=botond
The new promiseMouseDragEvent function is an async promise-returning copy of
the code in dragVerticalScrollbar. Eventually we should just make all this code
using async/promise but that's for another day.

Differential Revision: https://phabricator.services.mozilla.com/D88894
2020-09-01 18:18:09 +00:00
James Willcox 665c0bd32e Bug 1659681 - Avoid crash in ~SharedSurace_SurfaceTexture() when GLContext is lost r=sotaro,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D88889
2020-09-01 13:00:39 +00:00
Jonathan Kew e2024f61e0 Bug 1661677 - Ensure that font instances we decide not to use in FindFontForChar get passed to the global cache for expiration tracking. r=m_kato
Depends on D88578

Differential Revision: https://phabricator.services.mozilla.com/D88579
2020-09-01 04:30:57 +00:00
Jonathan Kew 67674b78cb Bug 1661570 - Allow webfonts to be used for emoji-default codepoints even if they don't provide color glyphs. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D88578
2020-09-01 07:43:53 +00:00
stransky 4256c8d7fc Bug 1656505 [Linux] Restore active texture when dmabuf texture is created and provide logging to dmabuf surfaces, r=jgilbert
- Restore active texture when dmabuf texture is created at DMABufSurfaceRGBA::CreateTexture()/DMABufSurfaceYUV::CreateTexture.
- Provide more logging for DMABufSurfaceRGBA surfaces.
- Implement DMABufSurfaceRGBA::DumpToFile() to save dmabuf surface content to png file.

Differential Revision: https://phabricator.services.mozilla.com/D88382
2020-09-01 07:24:46 +00:00
Narcis Beleuzu b4560d9e94 Backed out 2 changesets (bug 1661897) for mochitest failures on test_group_mouseevents.html . CLOSED TREE
Backed out changeset 34ee0403ab1e (bug 1661897)
Backed out changeset f83db4b41bf6 (bug 1661897)
2020-09-01 07:47:59 +03:00
Kartikaya Gupta 714241d600 Bug 1661897 - Add a test. r=botond
The new promiseMouseDragEvent function is an async promise-returning copy of
the code in dragVerticalScrollbar. Eventually we should just make all this code
using async/promise but that's for another day.

Differential Revision: https://phabricator.services.mozilla.com/D88894
2020-09-01 00:05:31 +00:00
Lee Salzman 16b168d133 Bug 1661427 - Allow SWGL SwCompositor to split up compositing work between SwComposite and render threads. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D88392
2020-08-31 18:26:20 +00:00
Sylvestre Ledru 9c192aa9ca Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D88713
2020-08-31 09:23:02 +00:00
Mihai Alexandru Michis 261d01524b Backed out changeset d0f173a90792 (bug 1519636) for causing bustages.
CLOSED TREE
2020-08-31 10:14:58 +03:00
Sylvestre Ledru 86c0cc26c0 Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D88714
2020-08-31 06:51:29 +00:00
Sylvestre Ledru 939dd426e6 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D88713
2020-08-31 06:51:21 +00:00
sotaro d97a94eb95 Bug 1661189 - Make directly texture bounded buffers are not held by AsyncImagePipelineManager::mTexturesInUseByGPU on Android r=mattwoodrow
For android SurfaceTexture and AndroidHardwareBuffer, GPU/hardware task end could be checked by android fence. Then their TextureHost do not need to be held by AsyncImagePipelineManager::mTexturesInUseByGPU.

Differential Revision: https://phabricator.services.mozilla.com/D88239
2020-08-30 04:41:24 +00:00
Razvan Maries b16f595134 Backed out changeset b99610a6833f (bug 1661427) for Talos perma failures. 2020-08-30 21:13:42 +03:00
Lee Salzman d3aa4d7686 Bug 1661427 - Allow SWGL SwCompositor to split up compositing work between SwComposite and render threads. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D88392
2020-08-28 22:27:54 +00:00
Kartikaya Gupta 819129d5a5 Bug 1661755 - Update logging. r=tnikkel
This looks like a holdover from when we added ScrollMetadata as a superobject
of FrameMetrics.

Depends on D88648

Differential Revision: https://phabricator.services.mozilla.com/D88649
2020-08-28 20:43:50 +00:00
Kartikaya Gupta 3fe67ce9e6 Bug 1661492 - Auto-advance migration in the absence of further action. r=jaws,botond
This advances the migration by 25% each release, starting in release 83 and
completing in 86. The migration code can be removed in the 86 nightly cycle
(or anytime after that).

Differential Revision: https://phabricator.services.mozilla.com/D88453
2020-08-28 18:01:33 +00:00
Jeff Gilbert d5ab1eeedf Bug 1654211 - Hold WeakPtr to PresistentBufferProvider in BorrowedSourceSurface. r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D88071
2020-08-25 15:36:11 +00:00
Nicholas Nethercote 336a2c0e9c Bug 1661408 - Change meaning of `-h`. r=gw
Currently `-h` means `--headless` when it comes before a subcommand but
`--help` when it comes after a subcommand. It should always be short for
`--help`, that's a very standard thing.

Depends on D88387

Differential Revision: https://phabricator.services.mozilla.com/D88388
2020-08-27 19:59:04 +00:00
Nicholas Nethercote 4809329d0c Bug 1661408 - Update the README. r=gw
Remove references to dead things: binary recording, `--save`, `ENABLE_RECORDING`.

Add brief docs about building wrench, and taking a capture.

And `show` is the canonical name for the subcommand, not `replay`.

Depends on D88386

Differential Revision: https://phabricator.services.mozilla.com/D88387
2020-08-27 19:58:34 +00:00
Nicholas Nethercote 3529237903 Bug 1661408 - Fix confusion among the `show`, `load`, `replay` subcommands. r=gw
`replay` is currently listed in `args.yaml` as both a synonym for `show` *and*
its own command. There is some weirdness with how `clap` handles that:

- `wrench help replay` shows the help for `replay`.
- `wrench replay -h` shows the help for `show`.
- `wrench replay` actually runs the code for `show` (and there is no code for
  `replay`).

This commit removes the subcommand, leaving the synonym.

Depends on D88385

Differential Revision: https://phabricator.services.mozilla.com/D88386
2020-08-27 19:57:28 +00:00
Nicholas Nethercote 5c8d33907e Bug 1661408 - Remove dead command line flags. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D88385
2020-08-27 19:57:13 +00:00