Commit Graph

35665 Commits

Author SHA1 Message Date
sotaro
374fa2d1ea Bug 1598998 - Fix CanvasContextType::ImageBitmap handling r=nical
Differential Revision: https://phabricator.services.mozilla.com/D56348

--HG--
extra : moz-landing-system : lando
2020-01-06 10:14:15 +00:00
sotaro
1a4d9c67f5 Bug 1606046 - Enable CreateContextFlags::PREFER_ROBUSTNESS flag for WebRender GLContextEGL on Windows r=gw
When EGL_LOSE_CONTEXT_ON_RESET is set by CreateContextFlags::PREFER_ROBUSTNESS flag, ANGLE avoids to release D3D resources when ANGLE detects device reset. It is necessary to avoid nullptr dereference in ANGLE.

Differential Revision: https://phabricator.services.mozilla.com/D58348

--HG--
extra : moz-landing-system : lando
2020-01-06 02:35:25 +00:00
sotaro
c5e7f40f7b Bug 1607129 - Use gfxCriticalNoteOnce in wr_renderer_lock_external_image() r=nical
Log in wr_renderer_lock_external_image() overflowed "Failure Log" in about:support when an error. gfxCriticalNoteOnce could reduce the error log in about:support.

Differential Revision: https://phabricator.services.mozilla.com/D58741

--HG--
extra : moz-landing-system : lando
2020-01-06 10:56:37 +00:00
Glenn Watson
3aa1137e6f Bug 1604684 - Make opacity a compositor surface property rather than a tile property. r=sotaro
This will allow use of the DirectComposition virtual surface API. If
it turns out that some pages recreate surfaces a lot due to opacity
changing, we can add some extra logic to avoid recreating surfaces
as often, and making use of per-tile opacity in some cases.

Differential Revision: https://phabricator.services.mozilla.com/D57592

--HG--
extra : moz-landing-system : lando
2020-01-06 20:11:21 +00:00
Connor Brewster
7df8b34d1a Bug 1606742 - Support alpha component on svg color matrix filter in WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D58587

--HG--
extra : moz-landing-system : lando
2020-01-06 18:41:55 +00:00
David Parks
475a851ce8 Bug 1600595: Part 5 - Make RecvReadbackAsyncPluginSurface use ReadbackTexture r=mattwoodrow
Use the new utility function, introduced in Part 3, to implement async plugin surface's read to CPU texture.

Differential Revision: https://phabricator.services.mozilla.com/D57564

--HG--
extra : moz-landing-system : lando
2020-01-04 19:37:39 +00:00
David Parks
5f501cb3b8 Bug 1600595: Part 4 - Make D3D11ShareHandleImage use CreateBGRA8DataSourceSurfaceForD3D11Texture r=mattwoodrow
Refactor D3D11ShareHandleImage::GetAsSourceSurface to use the new utility method added in Part 3.

Differential Revision: https://phabricator.services.mozilla.com/D57563

--HG--
extra : moz-landing-system : lando
2020-01-04 19:37:01 +00:00
David Parks
83cbdc257d Bug 1600595: Part 3 - Add D3D11 utilities for creating CPU textures and converting format enums r=jrmuizel
CreateBGRA8DataSourceSurfaceForD3D11Texture is added to create a CPU texture with the same data as the given D3D11 texture.  ReadbackTexture reads a D3D11 texture into a pre-existing CPU texture.  ToPixelFormat is extended to cover DXGI_FORMAT values.

Differential Revision: https://phabricator.services.mozilla.com/D57562

--HG--
extra : moz-landing-system : lando
2020-01-04 19:39:40 +00:00
David Parks
c8478e9ba2 Bug 1600595: Part 2 - Change BufferTexture to allow any IShmemAllocator owner r=mattwoodrow
The only reason BufferTexture needs a LayersIPCChannel instead of the IShmemAllocator base interface is that it needs to know if the allocator is cross-process or not.  Both LayersIPCChannel and ISurfaceAllocator use IsSameProcess() for this but without a common interface for it.  Rather than further complicate the inheritance diagram for the layers and IPDL core classes, this patch makes BufferTexture handle both with generic code.

Differential Revision: https://phabricator.services.mozilla.com/D56225

--HG--
extra : moz-landing-system : lando
2020-01-04 19:35:38 +00:00
David Parks
611dfe0fcb Bug 1600595: Part 1 - Consolidate ShmemAllocator and IShmemAllocator into one class r=nical
IShmemAllocator was introduced in bug 1272018 as a planned replacement for ShmemAllocator.  They are essentially the same interface.  This patch removes ShmemAllocator.

Differential Revision: https://phabricator.services.mozilla.com/D56224

--HG--
extra : moz-landing-system : lando
2020-01-04 19:34:59 +00:00
Gijs Kruitbosch
bb68b05f4e Bug 1587057 - add localizable string for wmfvpxvideo crash guard, r=jgilbert,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D58650

--HG--
extra : moz-landing-system : lando
2020-01-04 06:36:36 +00:00
Botond Ballo
135666daa1 Bug 1606959 - Include the checkerboard event lock in the APZ lock ordering documentation (DONTBUILD for doc-only change). r=tnikkel
Depends on D58658

Differential Revision: https://phabricator.services.mozilla.com/D58662

--HG--
extra : moz-landing-system : lando
2020-01-03 23:18:10 +00:00
Botond Ballo
ac360dc050 Bug 1606859 - Hold mRecursiveMutex while calling Axis::StartTouch(). r=tnikkel
StartTouch() sets axis fields like mAxisLocked which can be read by the
sampler thread by GetVelocity().

Differential Revision: https://phabricator.services.mozilla.com/D58658

--HG--
extra : moz-landing-system : lando
2020-01-03 23:32:13 +00:00
Botond Ballo
dd379dc091 Bug 1606807 - Protect the access of AsyncPanZoomController::mState in ReportCheckerboard(). r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D58657

--HG--
extra : moz-landing-system : lando
2020-01-03 23:13:39 +00:00
Kearwood "Kip" Gilbert
b3787eec77 Bug 1603825 - Suppress the VR permission UI when no VR runtimes are detected r=daoshengmu,bzbarsky
This patch suppresses VR device access permission prompts for users that do not have any VR runtimes installed.

We could not depend on the existing VR device enumeration functions to suppress the permission prompts, as the
act of enumerating VR devices will result in some hardware physically powering on and software starting up (and staying running)
in the background.

This patch includes logic to spawn the VR process with an additional flag indicating that it should attempt only to detect the
runtimes, without proceeding to enumerate and activate hardware and software.

VRManager now includes an enum to more clearly organize it's state machine model, which now must ensure that the runtime detection
happens on-demand when the VR session support capabilities are first determined.

There is a new pref to disable the suppression of permission prompts for use within permission UI tests on machines without VR runtimes.
Renamed some variables and added comments to make code in nsGlobalWindowInner and Navigator clearer and better represent the updated logic -- to allow the separate detection of VR runtimes and VR session activation. Both the runtime detection and VR
session activity uses VREventObserver to send events to nsGlobalWindowInner.

Differential Revision: https://phabricator.services.mozilla.com/D57568

--HG--
extra : moz-landing-system : lando
2020-01-03 22:47:26 +00:00
Dzmitry Malyshau
284ba100bb Bug 1606077 - Address clippy safety error in device_create_buffer_mapped r=jrmuizel
Address most wgpu clippy warnings

Differential Revision: https://phabricator.services.mozilla.com/D58411

--HG--
extra : moz-landing-system : lando
2020-01-03 00:56:31 +00:00
Sean Feng
1b23bcd87b Bug 1606661 - Fix the race condition in AsyncPanZoomController::RecordScrollPayload r=botond
Differential Revision: https://phabricator.services.mozilla.com/D58649

--HG--
extra : moz-landing-system : lando
2020-01-03 21:34:02 +00:00
Boris Zbarsky
613f2313da Bug 1606672. Change nsIRunnablePriority values so increasing value indicates increased priority. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D58539

--HG--
extra : moz-landing-system : lando
2020-01-02 20:07:40 +00:00
Kris Taeleman
e673d8a673 Bug 1600652 - Update Scroll frame metrics for android so text select popup is in correct location. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D58165

--HG--
extra : moz-landing-system : lando
2019-12-31 22:30:13 +00:00
Emilio Cobos Álvarez
7333c592d5 Bug 1604761 - Do not round away font-scaling accessibility settings in GTK. r=stransky,karlt
I'm not quite familiar with the history of this code, but Gnome a11y settings
set the scale to 1.25 (which gives 120dpi). We were rounding it away, which
seems quite unfortunate.

Differential Revision: https://phabricator.services.mozilla.com/D58279

--HG--
extra : moz-landing-system : lando
2019-12-31 10:36:29 +00:00
Petr Sumbera
7ae2dca124 Bug 1568533 - make CaptureCommandList.h Append() template use aligned pointers r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D48952

--HG--
extra : moz-landing-system : lando
2019-12-13 20:18:45 +00:00
Bert Peers
445ef3fc37 Bug 1605508 - Write new on-boarding document with rendering overview r=jbonisteel
Differential Revision: https://phabricator.services.mozilla.com/D58059

--HG--
extra : moz-landing-system : lando
2019-12-22 12:44:09 +00:00
Markus Stange
056c822645 Bug 1592026 - When using the OS compositor with WebRender on macOS, use NativeLayerRootSnapshotter for reftest readback. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D57070

--HG--
extra : moz-landing-system : lando
2019-12-29 12:41:58 +00:00
Markus Stange
adfb18b9ed Bug 1592026 - Add a NativeLayerRootSnapshotter API and implement it with CARenderer. r=jrmuizel
Suggestions for a better name than "snapshotter" are welcome.
This is a separate object so that the lifetime of its GLContext isn't governed by the lifetime of the NativeLayerRootCA.
The NativeLayerRootCA gets destroyed on the main thread, but GLContext uses non-threadsafe weak pointer support, so it wants to be destroyed on the same thread that it was created on.
So now the GLContext lives on the snapshotter, which is created and destroyed on the renderer thread.

Differential Revision: https://phabricator.services.mozilla.com/D57068

--HG--
extra : moz-landing-system : lando
2019-12-29 12:20:28 +00:00
Markus Stange
ea3d0df95b Bug 1592026 - Make NativeLayer(Root)CA build two representations: an onscreen representation and an offscreen representation. r=jrmuizel
The onscreen representation is attached to the NSView.
The offscreen representation is free-floating but will be used in a CARenderer in an upcoming patch.

Each representation is only updated on demand.

Differential Revision: https://phabricator.services.mozilla.com/D57067

--HG--
extra : moz-landing-system : lando
2019-12-29 12:20:09 +00:00
Markus Stange
0a274af543 Bug 1592026 - Move the responsibility of applying NativeLayerCA changes to native CALayers into a Representation struct. r=jrmuizel
This will allow us to have two representations per NativeLayerCA in the next patch.

Differential Revision: https://phabricator.services.mozilla.com/D57066

--HG--
extra : moz-landing-system : lando
2019-12-29 12:19:51 +00:00
Markus Stange
f3af2c5fa0 Bug 1592026 - Replace separate mReadySurface field with a bool mMutatedFrontSurface. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D57065

--HG--
extra : moz-landing-system : lando
2019-12-29 12:19:31 +00:00
Markus Stange
7385a343e6 Bug 1592026 - Clear sublayers on layer root destruction. This addresses a fixme. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D57064

--HG--
extra : moz-landing-system : lando
2019-12-29 12:19:14 +00:00
Markus Stange
5b30e92ef7 Bug 1592026 - Create AutoCATransaction. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D57063

--HG--
extra : moz-landing-system : lando
2019-12-29 12:18:56 +00:00
Markus Stange
239125933c Bug 1592026 - Move NativeLayerRoot::CommitToScreen call from PostRender into the compositors. r=jrmuizel
This makes it more similar to how SwapBuffers was used.
This patch also makes us call glFlush directly when using native layers, rather than going through the misleadingly-named GLContext::SwapBuffers method.

Differential Revision: https://phabricator.services.mozilla.com/D57062

--HG--
extra : moz-landing-system : lando
2019-12-29 12:41:04 +00:00
Markus Stange
c96a136f94 Bug 1592026 - Move AsyncCATransaction suspension into NativeLayerRootCA. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D57061

--HG--
extra : moz-landing-system : lando
2019-12-29 12:18:32 +00:00
Markus Stange
a090f2ff17 Bug 1592026 - Reorder some methods and add a getter for the backing scale. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D57060

--HG--
extra : moz-landing-system : lando
2019-12-29 12:18:30 +00:00
Jeff Gilbert
723e61e5f6 Bug 1601703 - Cherry-pick lost no-error context fix for GetProgramiv. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D58287

--HG--
extra : moz-landing-system : lando
2019-12-27 05:43:03 +00:00
Miko Mynttinen
97c590ed55 Bug 1605380 - Avoid calculating snapped bounds for some display items twice r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D57976

--HG--
extra : moz-landing-system : lando
2019-12-26 13:24:28 +00:00
Andrew Osmond
73ee861def Bug 1604535 - Avoid copying image surfaces when used with OMTP. r=tnikkel
When one uses SourceSurfaceRawData to wrap a data pointer, it will
perform a copy of said data if GuaranteePersistence is called. This is
done for DrawTargetCapture, which is used with OMTP. Prior to this
patch, image surfaces would be wrapped by a SourceSurfaceRawData when
using the basic compositor on any non-Linux platform (since Linux does
not support volatile memory). This means every time imgFrame::Draw is
called with OMTP, a copy of the image will be made. Images don't need
this property since the data is already going to persist, so this patch
adds a new class SourceSurfaceMappedData, which takes a ScopedMap
keeping the underlying surface open and readable.

Differential Revision: https://phabricator.services.mozilla.com/D58199

--HG--
extra : moz-landing-system : lando
2019-12-25 21:27:46 +00:00
Manish Giri
7a702cd74b Bug 1605664 - Remove redundant return in void function. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D58225

--HG--
extra : moz-landing-system : lando
2019-12-26 08:47:07 +00:00
sotaro
271d83b87e Bug 1605906 - Add Pause/Resume handling to CompositorOGL for Wayland r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D58210

--HG--
extra : moz-landing-system : lando
2019-12-25 12:01:54 +00:00
Mihai Alexandru Michis
cd24fc1ebd Backed out 5 changesets (bug 1600595) for causing webgl tests and reftests to time out.
CLOSED TREE

Backed out changeset 2f3a6a8e47bc (bug 1600595)
Backed out changeset c6712886b650 (bug 1600595)
Backed out changeset e905d5af4919 (bug 1600595)
Backed out changeset c497070467dd (bug 1600595)
Backed out changeset 27fd9a1b31f0 (bug 1600595)
2019-12-24 09:37:02 +02:00
David Parks
38dd73cd2b Bug 1600595: Part 5 - Make RecvReadbackAsyncPluginSurface use ReadbackSharedTexture r=mattwoodrow
Use the new utility function, introduced in Part 3, to implement async plugin surface's read to CPU texture.

Differential Revision: https://phabricator.services.mozilla.com/D57564

--HG--
extra : moz-landing-system : lando
2019-12-23 21:28:23 +00:00
David Parks
883c673715 Bug 1600595: Part 4 - Make D3D11ShareHandleImage use CreateBGRA8DataSourceSurfaceForD3D11Texture r=mattwoodrow
Refactor D3D11ShareHandleImage::GetAsSourceSurface to use the new utility method added in Part 3.

Differential Revision: https://phabricator.services.mozilla.com/D57563

--HG--
extra : moz-landing-system : lando
2019-12-23 21:27:44 +00:00
David Parks
f2baf7a458 Bug 1600595: Part 3 - Add D3D11 utilities for creating CPU textures and converting format enums r=jrmuizel
CreateBGRA8DataSourceSurfaceForD3D11Texture is added to create a CPU texture with the same data as the given D3D11 texture.  ReadbackSharedTexture reads a D3D11 texture into a pre-existing CPU texture.  ToPixelFormat is extended to cover DXGI_FORMAT values.

Differential Revision: https://phabricator.services.mozilla.com/D57562

--HG--
extra : moz-landing-system : lando
2019-12-23 21:28:31 +00:00
David Parks
7ec803489a Bug 1600595: Part 2 - Change BufferTexture to allow any IShmemAllocator owner r=mattwoodrow
The only reason BufferTexture needs a LayersIPCChannel instead of the IShmemAllocator base interface is that it needs to know if the allocator is cross-process or not.  Both LayersIPCChannel and ISurfaceAllocator use IsSameProcess() for this but without a common interface for it.  Rather than further complicate the inheritance diagram for the layers and IPDL core classes, this patch makes BufferTexture handle both with generic code.

Differential Revision: https://phabricator.services.mozilla.com/D56225

--HG--
extra : moz-landing-system : lando
2019-12-23 21:26:16 +00:00
David Parks
6ffeec2049 Bug 1600595: Part 1 - Consolidate ShmemAllocator and IShmemAllocator into one class r=nical
IShmemAllocator was introduced in bug 1272018 as a planned replacement for ShmemAllocator.  They are essentially the same interface.  This patch removes ShmemAllocator.

Differential Revision: https://phabricator.services.mozilla.com/D56224

--HG--
extra : moz-landing-system : lando
2019-12-23 21:25:33 +00:00
Daosheng Mu
f61dc99e7b Bug 1603539 - Part 2: Sending telemetry via VR shared memory. r=kip,thomasmo,chutten
Differential Revision: https://phabricator.services.mozilla.com/D57378

--HG--
extra : moz-landing-system : lando
2019-12-23 20:48:17 +00:00
Gurzau Raul
a8c7fd6201 Backed out 2 changesets (bug 1603539) for build bustage at VRManager.cpp on a CLOSED TREE.
Backed out changeset eb9ff96b66d7 (bug 1603539)
Backed out changeset 75348f5742c6 (bug 1603539)
2019-12-23 21:42:49 +02:00
Daosheng Mu
9fdd26d118 Bug 1603539 - Part 2: Sending telemetry via VR shared memory. r=kip,thomasmo,chutten
Differential Revision: https://phabricator.services.mozilla.com/D57378

--HG--
extra : moz-landing-system : lando
2019-12-23 14:28:44 +00:00
Kris Taeleman
a49a561af8 Bug 1589669 - Fix snapping and rounding errors causing picture caching invalidation when zoomed in. r=aosmond,botond
* Fix crash due to shift left causing overflow (debug only)
* Remove rounding of scrolling offsets and snap to view space instead of
world space

Differential Revision: https://phabricator.services.mozilla.com/D57017

--HG--
extra : moz-landing-system : lando
2019-12-23 19:23:43 +00:00
Gurzau Raul
5f548f331e Backed out changeset 6493da33ecac (bug 1589669) for failing at test_bug1277814.html on a CLOSED TREE. 2019-12-23 20:27:51 +02:00
Kris Taeleman
c52ca82a75 Bug 1589669 - Fix snapping and rounding errors causing picture caching invalidation when zoomed in. r=aosmond,botond
* Fix crash due to shift left causing overflow (debug only)
* Remove rounding of scrolling offsets and snap to view space instead of
world space

Differential Revision: https://phabricator.services.mozilla.com/D57017

--HG--
extra : moz-landing-system : lando
2019-12-20 17:03:24 +00:00
Alex Henrie
8f7b017a31 Bug 1605554 - Fix use after free in GetSkImageForSurface. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D58089

--HG--
extra : moz-landing-system : lando
2019-12-22 01:13:46 +00:00