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

1723 Коммитов

Автор SHA1 Сообщение Дата
sotaro 7001d3c524 Bug 1592512 - Handle surface opacity of OS compositor surface on Windows r=gw
Differential Revision: https://phabricator.services.mozilla.com/D52322

--HG--
extra : moz-landing-system : lando
2019-11-08 10:15:07 +00:00
Barret Rennie e62c6d736d Bug 1581240 - Add an API to retrieve the collected frames from WebRender r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D47816

--HG--
extra : moz-landing-system : lando
2019-11-07 22:34:49 +00:00
Barret Rennie 59bbcf47d9 Bug 1581240 - Return a Promise from windowUtils.setCompositionRecording() r=nika
`windowUtils.setCompositionRecording()` now returns a promise that is resolved
when the composition recorder is enabled (if given `true`) or when frames are
written to disk (if given `false`). To accomplish this, the
`WebRenderCompositionRecorder` now returns a `MozPromise` when writing frames
to disk begins that is resolved when that process finishes.

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

--HG--
extra : moz-landing-system : lando
2019-11-07 22:34:25 +00:00
sotaro 127c0ad209 Bug 1592510 - Make partial updates with WebRender OS compositor work on Windows r=gw
Differential Revision: https://phabricator.services.mozilla.com/D51984

--HG--
extra : moz-landing-system : lando
2019-11-07 00:57:23 +00:00
Daniel Varga 8afb8d99f1 Backed out 4 changesets (bug 1581240) for build bustage with error: implicit instantiation of undefined template 'nsTString<char>. On a CLOSED TREE
Backed out changeset b73b86efe266 (bug 1581240)
Backed out changeset 17dd226e21ae (bug 1581240)
Backed out changeset e2fd47ff8a89 (bug 1581240)
Backed out changeset c0589670c762 (bug 1581240)
2019-11-07 01:31:57 +02:00
Barret Rennie 3f8aaa035d Bug 1581240 - Add an API to retrieve the collected frames from WebRender r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D47816

--HG--
extra : moz-landing-system : lando
2019-11-06 20:48:47 +00:00
Barret Rennie 8323f194e5 Bug 1581240 - Return a Promise from windowUtils.setCompositionRecording() r=nika
`windowUtils.setCompositionRecording()` now returns a promise that is resolved
when the composition recorder is enabled (if given `true`) or when frames are
written to disk (if given `false`). To accomplish this, the
`WebRenderCompositionRecorder` now returns a `MozPromise` when writing frames
to disk begins that is resolved when that process finishes.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 20:48:43 +00:00
Nicolas Silva 3e4e9cbc17 Bug 1568600 - Disable sub-px aa in WebRender if dual-source-blending is unavailable. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D42303

--HG--
extra : moz-landing-system : lando
2019-11-05 14:39:37 +00:00
sotaro 85db2de6eb Bug 1593903 - Change RenderCompositor::SurfaceIsYFlipped() to SurfaceOriginIsTopLeft() r=gw
Differential Revision: https://phabricator.services.mozilla.com/D51776

--HG--
extra : moz-landing-system : lando
2019-11-05 11:02:40 +00:00
sotaro b9dc0622aa Bug 1593383 - Force full rendering to external target r=nical,gw
LayerManagerComposite and LayerManagerMLGPU do full rendering for taking a snapshot. Then WR also does  full rendering for taking a snapshot.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 09:06:59 +00:00
sotaro 4260baaf8f Bug 1593319 - Set aFboId in DCLayerTree::Bind() r=gw,nical
EGLSurface could be bound only to framebuffer-zero.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 09:07:11 +00:00
Bob Owen 32869c5f76 Bug 1589718: Add a RenderedFrameId to RenderCompositor and use it to control release of textures. r=sotaro
This replaces mUpdatesCount in AsyncImagePipelineManager, which was really how
many times NotifyPipelinesUpdated was called with aRender == true. I think this
makes the release logic clearer as it is more explicit.
It also changes things for RenderCompositorANGLE, so that we check to see if
any other frames have completed even if we don't want to wait for them.

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

--HG--
extra : moz-landing-system : lando
2019-11-04 16:15:20 +00:00
sotaro 34a65d16bb Bug 1575159 - Implement partial invalidation on Windows r=gw
Partial present for WR is off by default.

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

--HG--
extra : moz-landing-system : lando
2019-11-03 10:57:03 +00:00
sotaro 253cc9eb1e Bug 1573710 - Trigger composite after SetParent() r=Gankro
The patch permits to resize compositor window's size after ::SetParent() call to prevent a conflict between ::SetParent() and ::SetWindowPos(). Then it triggers a composite after SetParent() call to resize compositor window correctly.

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

--HG--
extra : moz-landing-system : lando
2019-11-01 11:01:34 +00:00
sotaro 4404c0826a Bug 1591004 - First pass of OS compositor implementation on Windows r=gw
This implementation is off by default (behind gfx.webrender.compositor) until various bugs and inefficiencies are fixed.

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

--HG--
extra : moz-landing-system : lando
2019-10-31 11:59:17 +00:00
Glenn Watson 0c98790154 Bug 1591627 - Add support for specifying surface opacity to OS compositor interface. r=mstange,kvark
Differential Revision: https://phabricator.services.mozilla.com/D51033

--HG--
extra : moz-landing-system : lando
2019-10-30 20:49:44 +00:00
Razvan Maries ee9116f875 Backed out changeset 598b2d26c136 (bug 1591627) as per Glenn's request. CLOSED TREE 2019-10-30 22:05:32 +02:00
Glenn Watson 207356d08d Bug 1591627 - Add support for specifying surface opacity to OS compositor interface. r=mstange,kvark
Differential Revision: https://phabricator.services.mozilla.com/D51033

--HG--
extra : moz-landing-system : lando
2019-10-30 18:05:49 +00:00
Markus Stange a928e461d8 Bug 1591523 - First pass of OS compositor implementation on macOS. r=sotaro
This implementation is off by default (behind gfx.webrender.compositor) until
various bugs and inefficiencies are fixed. See bug 1592016.

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

--HG--
extra : moz-landing-system : lando
2019-10-29 20:54:09 +00:00
Markus Stange f2c9430255 Bug 1591523 - Move existing NativeLayer management into RenderCompositorOGL. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D50724

--HG--
extra : moz-landing-system : lando
2019-10-29 20:50:33 +00:00
Bogdan Tara f866fef3ad Backed out 3 changesets (bug 1591523) for bustages complaining about RenderCompositorOGL.cpp CLOSED TREE
Backed out changeset 407f051e14db (bug 1591523)
Backed out changeset b4c8080dae86 (bug 1591523)
Backed out changeset abb627bc4f75 (bug 1591523)
2019-10-29 22:00:05 +02:00
Markus Stange 9585925ff5 Bug 1591523 - First pass of OS compositor implementation on macOS. r=sotaro
This implementation is off by default (behind gfx.webrender.compositor) until
various bugs and inefficiencies are fixed. See bug 1592016.

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

--HG--
extra : moz-landing-system : lando
2019-10-29 19:25:39 +00:00
Markus Stange 4631463725 Bug 1591523 - Move existing NativeLayer management into RenderCompositorOGL. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D50724

--HG--
extra : moz-landing-system : lando
2019-10-29 19:25:29 +00:00
Markus Stange 64c13fc106 Bug 1587940 - Remove capability for opaque regions from NativeLayer interface. r=jrmuizel
This change makes opaqueness a boolean per layer again. The opaque region is
currently only used by the temporary WebRender code; the future WebRender code
won't use it. Removing this support simplifies the code and makes it easier to
implement clipping.

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

--HG--
extra : moz-landing-system : lando
2019-10-29 19:24:24 +00:00
Martin Stransky bf00169ed5 Bug 1589114 [Watland] Set widget EGL window size for WebRender, r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D50746

--HG--
extra : moz-landing-system : lando
2019-10-29 09:00:26 +00:00
Narcis Beleuzu a64dcc0c07 Backed out changeset 7a4cf3982659 (bug 1573710) for mda failures on test_getUserMedia_basicScreenshare. CLOSED TREE 2019-10-29 11:28:09 +02:00
sotaro 16784c5201 Bug 1573710 - Trigger composite after SetParent() r=Gankro
The patch permits to resize compositor window's size after ::SetParent() call to prevent a conflict between ::SetParent() and ::SetWindowPos(). Then it triggers a composite after SetParent() call to resize compositor window correctly.

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

--HG--
extra : moz-landing-system : lando
2019-10-28 21:33:40 +00:00
Glenn Watson 074c0fe3ca Bug 1591527 - Integrate partial repainting with OS compositor surfaces. r=kvark,mstange
This passes the existing dirty rect for a picture cache update
through the native compositor interface, allowing compositors
to only update a sub-rect of a tile.

Also update the example to pass dirty rect to DirectComposition,
and add debug drawing for compositor redraw region.

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

--HG--
extra : moz-landing-system : lando
2019-10-28 20:56:42 +00:00
Glenn Watson d9b66a11dc Bug 1591837 - Support specification of FBO id in native compositor interface. r=mstange
Platform differences between DirectComposition and CoreAnimation
mean that WR needs to bind the FBO ID that the underlying platform
returns as part of the surface binding operation.

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

--HG--
extra : moz-landing-system : lando
2019-10-28 20:38:57 +00:00
Glenn Watson af909bd6ee Bug 1591223 - Tidy up the WR renderer options for partial present and native compositing. r=kvark
This patch is a small refactor of the public and internal structures
for options related to partial present and native compositing. It
doesn't contain any functional changes.

It adds a field to the native compositing setup to allow clients to
express whether dirty rect updates are supported when native compositing
is enabled (not currently used but will be enabled soon).

It also removes the partial present config options, and makes them
part of the default / draw compositing mode.

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

--HG--
extra : moz-landing-system : lando
2019-10-28 19:51:24 +00:00
sotaro 11d9c7b7fa Bug 1591346 - Remove EGL_ANGLE_experimental_present_path usage with WebRender r=gw
EGL_ANGLE_experimental_present_path was enabled for fast rendering to SwapChain by ANGLE. But current gecko does not request ANGLE to render to SwapChain for WebRender. Then we do not need to use EGL_ANGLE_experimental_present_path anymore. But Its usage still has a side effect that y is flipped. But OS compositor implementation on Windows does not want it. And it seems not good to continue to use EGL_ANGLE_experimental_present_path since it is experimental feature.

But when EGL_ANGLE_experimental_present_path is removed, rendering result of frame buffer is y flipped with ANGLE compared to other OpenGL implementation. It needs to be handled in WR. It is similar to chromium.

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

--HG--
extra : moz-landing-system : lando
2019-10-28 00:56:41 +00:00
Markus Stange 8785168981 Bug 1591752 - FFI for WebRender OS compositor integration: Create WrCompositor struct which implements the webrender::Compositor trait and calls through to virtual methods on RenderCompositor. r=sotaro
This patch was largely written by Sotaro.

This patch also adds an off-by-default pref gfx.webrender.compositor that currently does nothing.

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

--HG--
extra : moz-landing-system : lando
2019-10-27 01:18:27 +00:00
Martin Stransky eca6f5db8f Bug 1583731 - [Wayland] Implement RenderWaylandDMABUFTextureHostOGL based on WaylandDMABUFSurface, r=sotaro
Depends on D49263

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

--HG--
extra : moz-landing-system : lando
2019-10-17 11:28:56 +00:00
Kris Taeleman 8205a49853 Bug 1585801 - Fixing crash when folder is not writable and refactored logic. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D48999

--HG--
extra : moz-landing-system : lando
2019-10-15 17:03:22 +00:00
sotaro 61f09c1667 Bug 1588019 - Add option of enabling highlighting redraw regions of DCompositionVisual r=nical
Differential Revision: https://phabricator.services.mozilla.com/D48937

--HG--
extra : moz-landing-system : lando
2019-10-14 12:55:01 +00:00
arthur.iakab 604018cb2e Backed out changeset 42d3ccf69629 (bug 1583879) for causing reftest failures on sort-startSame-1b.svg CLOSED TREE 2019-10-11 18:27:52 +03:00
Nicolas Silva c1f7e63ce2 Bug 1583879 - Skip uploading and rendering empty blob tiles. r=jrmuizel
This patch adds a notion of "fully transparent" image in the resource cache.
These are not uploaded in the texture cache and image requests return the
necessary information to allow the frame building code to skip emitting
primitives accordingly.

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

--HG--
extra : moz-landing-system : lando
2019-10-09 13:34:51 +00:00
sotaro 2df9cdb3b4 Bug 1587695 - Fix redundant SwapChain re-creation r=nical
Since Bug 1570879, SwapChain is created with alpha at first, then the SwapChain is typically re-created at first RenderCompositorANGLE::BeginFrame() calle, since non Glass window is common since Windows 10. The re-creation is redundant.

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

--HG--
extra : moz-landing-system : lando
2019-10-10 08:58:00 +00:00
Jamie Nicol 51410a091e Bug 1584109 - Rename WR_RENDER_TIME to WR_FRAMEBUILD_TIME. r=jrmuizel
It is actually measuring frame building time, not rendering.

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

--HG--
extra : moz-landing-system : lando
2019-10-09 10:52:22 +00:00
sotaro 3546b3c622 Bug 1585278 - Add option of enabling performance debugging counters of DirectComposition r=nical,jrmuizel
IDCompositionDevice is replaced by IDCompositionDevice2. It is necessary for IDCompositionDeviceDebug usage. And for using IDCompositionDevice2, _WIN32_WINNT and NTDDI_VERSION is updated from Windows 8 to Windows 8.1.

Workaround MinGW build failure.

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

--HG--
extra : moz-landing-system : lando
2019-10-07 20:09:17 +00:00
Glenn Watson b4d8e0c7ca Bug 1587084 - Restore the picture caching enabled preference. r=nical
The previous patch fixed the bug in the non-picture caching code
path, so we can re-enable the preference now.

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

--HG--
extra : moz-landing-system : lando
2019-10-09 08:07:36 +00:00
Nicolas Silva a68a1fa1cd Bug 1587084 - Prevent disabling picture caching temporarily. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D48555

--HG--
extra : moz-landing-system : lando
2019-10-08 15:47:46 +00:00
sotaro fb4696fe6d Bug 1570879 - Fix high contrast theme handling with DirectComposition and WebRender r=nical
When high contrast mode is enabled, title bar is drawn as transparent and on-client area rendering by DWM is shown. But when compositor window in GPU process is used, the on-client area rendering was not shown. To address the proboem, window needs to be cleard as transparent and SwapChain of compositor window needs to be DXGI_ALPHA_MODE_PREMULTIPLIED.

WinCompositorWidget::mTransparencyMode is changed to atomic, since it is accessed from compositor thread and render thread.

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

--HG--
extra : moz-landing-system : lando
2019-10-08 10:07:47 +00:00
Ricky Stewart c010710916 Bug 1586358 - Replace existing instances of GENERATED_FILES with references to the GeneratedFile template r=firefox-build-system-reviewers,mshal
(Same content as bad revision https://phabricator.services.mozilla.com/D48230, but with a very small change to config/external/icu/data/moz.build to fix the build breakage.)

Try push: https://treeherder.mozilla.org/#/jobs?repo=try&revision=833f6a69fcac689488a640b43e8e0bdaa086a56c

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

--HG--
extra : moz-landing-system : lando
2019-10-07 21:15:19 +00:00
Daniel Varga 052ef806b5 Backed out changeset 8d95f2c8867b (bug 1586358) for build bustage with FATAL ERROR PROCESSING MOZBUILD FILE. On a CLOSED TREE
--HG--
extra : rebase_source : 325fbad2455afc7f693087e75fa57dba79f4d86b
2019-10-07 20:22:08 +03:00
Ricky Stewart 940d91af38 Bug 1586358 - Replace existing instances of GENERATED_FILES with references to the GeneratedFile template r=nalexander
This patch doesn't remove all references to GENERATED_FILES, but does remove most of them, leaving only those which can't be trivially translated to the new template.

Try push: https://treeherder.mozilla.org/#/jobs?repo=try&revision=e4a25230c3992b9c5519ceb351fb37f6b2bf605e

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

--HG--
extra : moz-landing-system : lando
2019-10-07 15:31:05 +00:00
Jeff Muizelaar b01dc0a82e Bug 1584375. Remove unused origin from recording. r=nical
This was added as part of an intermediate step to blob
recoordination. It's not used anymore.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 21:47:11 +00:00
Daniel Varga f1edb8b815 Backed out changeset dfa9c9bab741 (bug 1584375) for marionette crash @ rust_begin_unwind. On a CLOSED TREE 2019-10-02 20:43:36 +03:00
Jeff Muizelaar 20983ff87e Bug 1584375. Remove unused origin from recording. r=nical
This was added as part of an intermediate step to blob
recoordination. It's not used anymore.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 16:42:24 +00:00
Lee Salzman 2b03a82ba0 Bug 1584268 - only instantiate Cairo fonts when drawing to Cairo target. r=jfkthame
This removes a lot of old cruft in thebes to instantiate Cairo scaled fonts.
Instead, we only instantiate the Cairo scaled font inside Moz2D when we actually
need it for DrawTargetCairo. This thus gets rid of the duplicated code we had
inside both Moz2D and thebes to deal with Cairo scaled fonts.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 21:56:30 +00:00