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

47 Коммитов

Автор SHA1 Сообщение Дата
Alexis Beingessner d244997cc9 Bug 1573710 - make window resizing more robust to races. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D49634

--HG--
extra : moz-landing-system : lando
2019-10-18 02:10:20 +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
thomasmo ab2f648351 Bug 1581855:Part 2 - Present VR output to VR Host r=kip,jrmuizel,sotaro,bryce
This change is a continuation of Part 1 (Bug 1570128), where the 2D content rendered by Firefox for Firefox Reality on Desktop is marshalled through VRHost so that it can be presented in a VR environment.
A new class, FxrOutputHandler, is created to manage creating a sharable texture, sharing it through VRShMem, and updating it when content updates. This class updates content with both WebRender and conventional rendering output.
This initial iteration of FxrOutputHandler does not have synchronization between reading and writing this shared texture across processes. A subsequent fix (Bug 1581881) is pending, which will reuse WebVR code to manage writing to and reading from a pool of textures.
This also presents issues with rendering protected media, so an additional class, FxrWindowManager, is created to manage all windows created for Firefox Reality on Desktop so that it can inform whether or not protected media can be presented.
The automated manual tests in vrhosttest.cpp now show the real shared texture handle rather than a fake value, which shows that marshaling succeeded.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 12:50:44 +00:00
Ciure Andrei f4b3bef121 Backed out changeset 70f93c9956fc (bug 1581855) for Windows MinGW build bustages CLOSED TREE 2019-09-26 06:42:46 +03:00
thomasmo f054c8db61 Bug 1581855:Part 2 - Present VR output to VR Host r=kip,jrmuizel,sotaro,bryce
This change is a continuation of Part 1 (Bug 1570128), where the 2D content rendered by Firefox for Firefox Reality on Desktop is marshalled through VRHost so that it can be presented in a VR environment.
A new class, FxrOutputHandler, is created to manage creating a sharable texture, sharing it through VRShMem, and updating it when content updates. This class updates content with both WebRender and conventional rendering output.
This initial iteration of FxrOutputHandler does not have synchronization between reading and writing this shared texture across processes. A subsequent fix (Bug 1581881) is pending, which will reuse WebVR code to manage writing to and reading from a pool of textures.
This also presents issues with rendering protected media, so an additional class, FxrWindowManager, is created to manage all windows created for Firefox Reality on Desktop so that it can inform whether or not protected media can be presented.
The automated manual tests in vrhosttest.cpp now show the real shared texture handle rather than a fake value, which shows that marshaling succeeded.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 01:18:58 +00:00
thomasmo a7ea9dae63 Bug 1570128:Part 1 - Present VR output to VR Host r=kip,jrmuizel,handyman,sotaro
This change introduces plumbing for communicating with the GPU process through
VRShMem while bootstrapping Firefox for creating a window with Firefox Reality.
Test impact shows a fabricated value returned for the texture handle in VRShMem.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 19:58:51 +00:00
Markus Stange 66fc92f4e1 Bug 1573343 - Stop using LayoutDevice units in BasicCompositor. r=mattwoodrow
ScreenPixels would be a more appropriate unit. But inside BasicCompositor everything
is in the same coordinate space anyway so we're not getting much benefit from the
units. This patch eliminates a lot of .ToUnknown*() calls.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 22:40:55 +00:00
Markus Stange 19c25b1d89 Bug 1573343 - Move draw target clearing out of GetBackBufferDrawTarget. r=mattwoodrow
On Windows, where the DrawTarget is rewrapped in a Cairo/pixman DrawTarget,
this will now cause Cairo/pixman to be used for the clear.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 22:39:00 +00:00
Nicholas Nethercote 18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Nicholas Nethercote 4008f58653 Bug 1561825 - Make layers.* static prefs follow the naming convention. r=KrisWright
The patch also removes the layers.mlgpu.enable-container-resizing pref, because
it's dead.

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

--HG--
extra : rebase_source : e215d584aed18f865d2e8d00a78e76e9b0323e6e
2019-06-27 14:48:58 +10:00
Jean-Yves Avenard 022c57caf3 Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

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

--HG--
extra : moz-landing-system : lando
2019-05-26 14:31:53 +00:00
Jean-Yves Avenard 04a34db033 Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

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

--HG--
extra : moz-landing-system : lando
2019-05-26 14:29:42 +00:00
Gurzau Raul 967bc2a754 Backed out 31 changesets (bug 1552643, bug 1550422) for xpcshell crash on a CLOSED TREE.
Backed out changeset e30c1aa75529 (bug 1552643)
Backed out changeset caadcd7e02d3 (bug 1552643)
Backed out changeset aa7086ab09be (bug 1552643)
Backed out changeset 0b4029671710 (bug 1550422)
Backed out changeset a16295296035 (bug 1550422)
Backed out changeset 3b70307c0db5 (bug 1550422)
Backed out changeset 69df7818d4a3 (bug 1550422)
Backed out changeset d98dfc565927 (bug 1550422)
Backed out changeset 6f0997976944 (bug 1550422)
Backed out changeset 0edd264464c2 (bug 1550422)
Backed out changeset 9ea6da7a74ec (bug 1550422)
Backed out changeset f855f9309c8b (bug 1550422)
Backed out changeset 1033546224a7 (bug 1550422)
Backed out changeset ade7384c6186 (bug 1550422)
Backed out changeset 75b04de7e99c (bug 1550422)
Backed out changeset 91c3acdb2454 (bug 1550422)
Backed out changeset 77d2f80257d1 (bug 1550422)
Backed out changeset e0cd10d35327 (bug 1550422)
Backed out changeset 097091082423 (bug 1550422)
Backed out changeset 2f328853c1ab (bug 1550422)
Backed out changeset f92f2cc29cb1 (bug 1550422)
Backed out changeset 6dc82f88333d (bug 1550422)
Backed out changeset c20f66494d69 (bug 1550422)
Backed out changeset 2ba22cddeb6f (bug 1550422)
Backed out changeset 3aa72f89e295 (bug 1550422)
Backed out changeset ab4c4e806977 (bug 1550422)
Backed out changeset 72e5de040dda (bug 1550422)
Backed out changeset 7d3c2d486706 (bug 1550422)
Backed out changeset 132e0b8d8468 (bug 1550422)
Backed out changeset 54c85ac75dd0 (bug 1550422)
Backed out changeset d7ba4a18dd54 (bug 1550422)
2019-05-25 09:07:49 +03:00
Jean-Yves Avenard 074aea57fe Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

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

--HG--
extra : moz-landing-system : lando
2019-05-24 11:37:50 +00:00
Jean-Yves Avenard af5790cf9b Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

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

--HG--
extra : moz-landing-system : lando
2019-05-25 00:03:32 +00:00
Gurzau Raul 74c555539e Backed out 28 changesets (bug 1550422) for marionette AssertionError and failing browser_policy_hardware_acceleration.js on a CLOSED TREE.
Backed out changeset 5dd10a365ba9 (bug 1550422)
Backed out changeset 529f5be01ab9 (bug 1550422)
Backed out changeset b6861d3badf8 (bug 1550422)
Backed out changeset 059cff1a3dde (bug 1550422)
Backed out changeset 6ada1116b241 (bug 1550422)
Backed out changeset ca67e8e45262 (bug 1550422)
Backed out changeset a1961a51ae44 (bug 1550422)
Backed out changeset 1c90b9cb3ad4 (bug 1550422)
Backed out changeset 285fa46e4f26 (bug 1550422)
Backed out changeset e2938a444234 (bug 1550422)
Backed out changeset 7a930fc51125 (bug 1550422)
Backed out changeset 898ed02804fe (bug 1550422)
Backed out changeset e1b7abc99ae9 (bug 1550422)
Backed out changeset f781d415cef6 (bug 1550422)
Backed out changeset 2fef10a7cce5 (bug 1550422)
Backed out changeset ea64b4d8d4ff (bug 1550422)
Backed out changeset 86a8ba1b755c (bug 1550422)
Backed out changeset 9c0c9e80f309 (bug 1550422)
Backed out changeset 10c153ddbaea (bug 1550422)
Backed out changeset 60fe635ec2c9 (bug 1550422)
Backed out changeset a38796266b28 (bug 1550422)
Backed out changeset 2db647dcdf1c (bug 1550422)
Backed out changeset 952ddac02972 (bug 1550422)
Backed out changeset ba46b53643ec (bug 1550422)
Backed out changeset ca47ef6c59f7 (bug 1550422)
Backed out changeset f45f471a1a40 (bug 1550422)
Backed out changeset 371b4da5b771 (bug 1550422)
Backed out changeset 02fc78890032 (bug 1550422)
2019-05-23 05:59:44 +03:00
Jean-Yves Avenard d59781ac33 Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

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

--HG--
extra : moz-landing-system : lando
2019-05-22 12:46:30 +00:00
Jean-Yves Avenard 2c0ce1b3ca Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 12:43:42 +00:00
Sylvestre Ledru 41d1d79094 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-15 08:15:57 +00:00
sotaro 164c8f7d81 Bug 1524591 - Call SetParent in UI process r=mattwoodrow
During security.sandbox.gpu.level=1, compositor window's parent cannot be set in GPU process, it needs to be set in UI process.

Differential Revision: https://phabricator.services.mozilla.com/D18811
2019-02-07 16:01:41 +09:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Bas Schouten 572e54cead Bug 1467363: Protect access to mTransparentSurface with a lock. r=rhunt
MozReview-Commit-ID: 6E9YpDIcuQk
2018-06-21 22:17:48 +02:00
Bogdan Tara 984f320a83 Backed out changeset 0ef199e4d83d (bug 1467363) for failures on BlockingResourceBase.cpp CLOSED TREE 2018-06-22 01:31:07 +03:00
Bas Schouten 50336492c5 Bug 1467363: Protect access to mTransparentSurface with a lock. r=rhunt
MozReview-Commit-ID: 6E9YpDIcuQk
2018-06-21 22:17:48 +02:00
Ryan Hunt 9586c5d690 Bug 1446990 - Safely transmit nsTransparencyMode across IPDL for WinCompositorWidget. r=jrmuizel
--HG--
extra : rebase_source : 78b5664fe14a13038e39211fcf97fa996ea7a190
2018-04-05 22:24:28 -05:00
sotaro cb19fd85f8 Bug 1449934 - Remove unnecessary assert in WinCompositorWidget::UpdateCompositorWndSizeIfNecessary() r=jrmuizel 2018-03-29 18:42:09 -07:00
sotaro 537c379106 Bug 1191971 part 1 - Create child window in gpu process r=bas 2018-03-29 11:21:47 +09:00
Michael Smith 6fcebfbe5b Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander
To make the HeadlessCompositorWidget work under Windows as well as Linux, I had
to change the way that I hooked it into the existing CompositorWidget system.
Under GTK, the CompositorWidgetInitData and CompositorWidgetDelegate types
provided the information needed by the headless compositor widget already (the
widget client size). On Windows, however, the definitions of these types
differ, and the client size information is simply retrieved from the platform
APIs when needed.

After this patch, CompositorWidgetDelegate is renamed to
PlatformCompositorWidgetDelegate, and a new base class called
CompositorWidgetDelegate is added with "AsPlatformSpecificDelegate()" and
"AsHeadlessCompositorWidget()" methods. In non-headless mode, widgets use
AsPlatformSpecificDelegate() to access the Windows- and GTK-specific delegate
APIs. In headless mode, AsHeadlessCompositorWidget() is used to access the
singular CompositorWidget implementation for headless. Meanwhile, the
CompositorWidgetInitData IPDL type is made into a union which always contains a
headless-specific HeadlessCompositorWidgetInitData struct and under GTK and
Windows also contains an {X11,Win}CompositorWidgetInitData struct.

This also includes a small patch to ensure that the GPU process and
hardware-accelerated compositing are always disabled under headless mode. These
features weren't activated by default in the Linux environments I tested in, but
did end up activating (and then promptly crashing Firefox) when I tested on
Windows.

MozReview-Commit-ID: CocPoHBDV7H

--HG--
extra : rebase_source : 4581fa63aa3a9f32a8dc2672015a35b9be01b20f
2017-07-06 17:45:34 -07:00
Stephen A Pohl ac6efcdfe0 Bug 1356317: Avoid intermittent debug assertions in browser chrome tests when creation of draw targets fails. r=jimm 2017-07-04 13:45:18 -05:00
David Anderson bae9947dc4 Add IsHidden to CompositorWidget. (bug 1365879 part 10, r=rhunt) 2017-06-20 01:17:19 -07:00
Tracy Walker 8fe6049207 Bug 1326292 - Add null check of drawTarget in WinCompositorWidget.cpp, to avoid crash. r=jimm
--HG--
extra : rebase_source : 4f5043404a12efc975c0985fa67e669bca3951f8
2017-02-08 09:06:49 -06:00
Kartikaya Gupta ac6cc8ce06 Bug 1330037 - Propagate the CompositorOptions to all CompositorWidget instances. r=dvander
MozReview-Commit-ID: DFeeo2WNmhZ

--HG--
extra : rebase_source : d40bea7f726df007e3f079bb9576e1cbe17e3460
2017-01-12 17:29:42 -05:00
David Anderson 3ffb31894f Don't access gfxPlatform from WinCompositorWidget. (bug 1316481, r=mattwoodrow) 2016-11-09 20:49:09 -08:00
Kartikaya Gupta 54c54c7a09 Bug 1315706 - Pass a wrapper struct to various CompositorWidget functions. r=dvander
This is the first step in using these functions without having a
LayerManagerComposite at all.

MozReview-Commit-ID: 2zkuB7Ox4Ut

--HG--
extra : rebase_source : b23988275f5851a2fd30bd3e8a9931107a224c66
2016-11-07 21:16:52 -05:00
Sotaro Ikeda 1ff245b181 Bug 1259571 - Reduce tearing with basic layers on Windows r=dvander
--HG--
rename : gfx/thebes/DeviceManagerD3D11.cpp => gfx/thebes/DeviceManagerDx.cpp
rename : gfx/thebes/DeviceManagerD3D11.h => gfx/thebes/DeviceManagerDx.h
2016-08-23 15:18:55 -07:00
Carsten "Tomcat" Book 90f6c2d3fd Backed out changeset 02d76f158f3d (bug 1259571) for talos xperf regressions
--HG--
rename : gfx/thebes/DeviceManagerDx.cpp => gfx/thebes/DeviceManagerD3D11.cpp
rename : gfx/thebes/DeviceManagerDx.h => gfx/thebes/DeviceManagerD3D11.h
2016-08-08 11:53:51 +02:00
Sotaro Ikeda 41a9daf725 Bug 1259571 - Try tearing-free drawing with GDI r=dvander,mattwoodrow
--HG--
rename : gfx/thebes/DeviceManagerD3D11.cpp => gfx/thebes/DeviceManagerDx.cpp
rename : gfx/thebes/DeviceManagerD3D11.h => gfx/thebes/DeviceManagerDx.h
2016-08-07 23:54:12 -07:00
Jeff Muizelaar 9081a72fea Bug 1289236. Remove ResizeTransparentWindow. r=dvander
We can just recreate the surface when needed.
2016-07-29 09:29:35 -04:00
David Anderson 969d03ec34 Implement vsync notification for remote compositors. (bug 1285625 part 3, r=mchang) 2016-07-19 11:56:07 -07:00
David Anderson 0bdcce6956 Don't expose CompositorVsyncDispatcher from CompositorWidget. (bug 1285625 part 2, r=mchang) 2016-07-19 11:56:07 -07:00
David Anderson 97a92d5d5e Extract a delegate interface out of WinCompositorWidget. (bug 1281998 part 6, r=jimm) 2016-07-01 01:15:16 -07:00
David Anderson 6562af780a Move CompositorWidget construction out of nsIWidget. (bug 1281998 part 5, r=jimm) 2016-07-01 01:15:16 -07:00
David Anderson 3f0ea0572d Rename CompositorWidgetProxy files to CompositorWidget. (bug 1281998 part 2, r=jimm)
--HG--
rename : widget/CompositorWidgetProxy.cpp => widget/CompositorWidget.cpp
rename : widget/CompositorWidgetProxy.h => widget/CompositorWidget.h
rename : widget/windows/WinCompositorWidgetProxy.cpp => widget/windows/WinCompositorWidget.cpp
rename : widget/windows/WinCompositorWidgetProxy.h => widget/windows/WinCompositorWidget.h
2016-07-01 01:15:16 -07:00
Phil Ringnalda 0d0d24bccc Back out 7 changesets (bug 1281998) for Windows Marionette crashes
Backed out changeset d806fac2c856 (bug 1281998)
Backed out changeset b8d4fedfd7eb (bug 1281998)
Backed out changeset a72929c0c3ec (bug 1281998)
Backed out changeset 74198f88fa37 (bug 1281998)
Backed out changeset 54a0e73f6906 (bug 1281998)
Backed out changeset 99d1da1293b7 (bug 1281998)
Backed out changeset a5a9585754b1 (bug 1281998)

--HG--
rename : widget/CompositorWidget.cpp => widget/CompositorWidgetProxy.cpp
rename : widget/CompositorWidget.h => widget/CompositorWidgetProxy.h
rename : widget/windows/WinCompositorWidget.cpp => widget/windows/WinCompositorWidgetProxy.cpp
rename : widget/windows/WinCompositorWidget.h => widget/windows/WinCompositorWidgetProxy.h
2016-06-29 19:35:24 -07:00
David Anderson 4853817add Extract a delegate interface out of WinCompositorWidget. (bug 1281998 part 6, r=jimm)
--HG--
extra : rebase_source : 66e23a6efd766341a97ab46f1c52b368f145d849
2016-06-29 16:47:23 -04:00
David Anderson 358a567c70 Move CompositorWidget construction out of nsIWidget. (bug 1281998 part 5, r=jimm)
--HG--
extra : rebase_source : 881a2fac4447de3f1aeae3f34f21f9e76a79e0a3
2016-06-29 16:47:22 -04:00
David Anderson 804c1ee06f Rename CompositorWidgetProxy files to CompositorWidget. (bug 1281998 part 2, r=jimm)
--HG--
rename : widget/CompositorWidgetProxy.cpp => widget/CompositorWidget.cpp
rename : widget/CompositorWidgetProxy.h => widget/CompositorWidget.h
rename : widget/windows/WinCompositorWidgetProxy.cpp => widget/windows/WinCompositorWidget.cpp
rename : widget/windows/WinCompositorWidgetProxy.h => widget/windows/WinCompositorWidget.h
extra : rebase_source : 8ecf59ad6039f0d0d2a51008aef53ef37aa2ce0e
2016-06-29 16:47:22 -04:00