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

57 Коммитов

Автор SHA1 Сообщение Дата
Martin Stransky 41e46a8792 Bug 1578464 - [Wayland] Set opaque region for toplevel window, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D47602

--HG--
extra : moz-landing-system : lando
2019-10-02 08:57:44 +00:00
Martin Stransky ce56a99d89 Bug 1578464 - [Wayland] Set opaque region to wl_surface of toplevel window, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D46280

--HG--
extra : moz-landing-system : lando
2019-09-20 12:58:03 +00:00
Martin Stransky 2ba6437bbb Bug 1579794 - [Wayland] Use wl_surface_damage_buffer() and require wl_compositor v.4, r=jhorak
Use wl_surface_damage_buffer() to propagate wl_buffer damage to avoid rounding errors and
rendering artifacts for HiDPI wl_buffers.

Depends on D45165

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

--HG--
extra : moz-landing-system : lando
2019-09-10 07:58:56 +00:00
Martin Stransky d9c5ad8e86 Bug 1555899 - [Wayland] Added more wayland logging, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D33910

--HG--
extra : moz-landing-system : lando
2019-06-11 20:38:44 +00:00
Dorel Luca 486b17b628 Backed out 2 changesets (bug 1555899) for Build bustage. CLOSED TREE
Backed out changeset 2de31fc4c99c (bug 1555899)
Backed out changeset 335510024f81 (bug 1555899)
2019-06-08 00:37:35 +03:00
Martin Stransky 6b29386225 Bug 1555899 - [Wayland] Added more wayland logging, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D33910

--HG--
extra : moz-landing-system : lando
2019-06-06 09:38:28 +00:00
Martin Stransky eb09749a72 Bug 1554525 - [Wayland] Implement WindowBackBufferDMABuf backend for Wayland renderer, r=jhorak
- Rename recent WindowBackBuffer class to WindowBackBufferShm to clearly state that it uses Shm memory to store the pixel buffer.
- Implement WindowBackBufferDMABuf which stores pixel data in GPU memory in WaylandDMABufSurface object.
- Use WaylandDMABufSurface as a wayland backend when DMABuf is available and gfx.wayland_dmabuf_backend.enabled is set.
- Implement WindowImageSurface which temporary stores front buffer pixel data. It's used when front buffer is used by compositor and we want to draw.
  Instead of the front/back buffer flip and read-back data from front buffer, don't flip, store the drawing and draw the pixels when compositor
  releases the front buffer.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 12:50:18 +00:00
Sylvestre Ledru e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

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

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Martin Stransky 1ffeea40ca Bug 1517205 - Make nsWaylandDisplay() global, r=lsalzman
Lazilly create nsWaylandDisplay objects and remove them at Firefox quit.

nsWaylandDisplay objects should stay as global objects and don't be created/released.
The creation/removal wastes resources on server side as the wl_registry objects at nsWaylandDisplay has to be stored at server
side and can't be removed until firefox ends [1] anyway.

Also the removed nsWaylandDisplay causes crashes when display
topology changes due to the global nature of the wl_registry.

[1] https://wayland.freedesktop.org/docs/html/apa.html#protocol-spec-wl_registry

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

--HG--
extra : moz-landing-system : lando
2019-04-09 21:39:51 +00:00
Martin Stransky 0961433659 Bug 1536099 - [Wayland] Provide logging to Wayland surface, r=ashie
Differential Revision: https://phabricator.services.mozilla.com/D23854

--HG--
extra : moz-landing-system : lando
2019-03-23 02:53:07 +00:00
Martin Stransky 9c4a67d013 Bug 1535567 - [Wayland] Request initial frame callback again if parent wl_surface changes, r=ashie
When xdg_popup window is created, sometimes the underlying wl_surface is changed during map/show event.
We need to check surface ID and recreate the frame callback then.

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

--HG--
extra : moz-landing-system : lando
2019-03-18 13:16:42 +00:00
Martin Stransky 18098c6cf6 Bug 1534963 - Provide logging to mozcontainer, r=ashie
Differential Revision: https://phabricator.services.mozilla.com/D23328

--HG--
extra : moz-landing-system : lando
2019-03-18 12:52:46 +00:00
Sylvestre Ledru 4aa92e3091 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D22514
2019-03-13 10:19:06 +01:00
sotaro bb1cae8db3 Bug 1531300 - Handle multiple moz_container_unmap_wayland()/moz_container_map_wayland() r=stransky
Bug 1527804 did not expect multiple moz_container_unmap_wayland()/moz_container_map_wayland() calls. inital_draw_cb should not be cleared in multiple moz_container_unmap_wayland().

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

--HG--
extra : moz-landing-system : lando
2019-02-28 13:33:02 +00:00
sotaro 1579a88e49 Bug 1527804 - Trigger composite from frame_callback_handler() r=stransky
Bug 1514156 expects that nsWindow::OnExposeEvent() is called after frame_callback_handler() called. But it did not happen during opening add-ons(gecko profiler). Then we need to trigger rendering directly from frame_callback_handler() call.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 12:15:50 +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 0e2cb6d4e8 Bug 1514156 - Add RenderCompositorEGL for wayland r=nical
When GDK_BACKEND is wayland, widget is not fully mapped during creating CompositorSession. Needs to create valid EGLSurface after widget is fully mapped.

Differential Revision: https://phabricator.services.mozilla.com/D18940
2019-02-12 16:33:31 +09:00
Martin Stransky c20796e702 Bug 1522474 - [Wayland] Commit wl_surface state right after its creation, r=ashie
Differential Revision: https://phabricator.services.mozilla.com/D17498

--HG--
extra : moz-landing-system : lando
2019-01-25 03:37:52 +00:00
Martin Stransky 59a8114e76 Bug 1521012 - [Linux/GNOME] Use X shape mask to draw transparent corners when we draw to titlebar, r=lsalzman
To support rounded corners of Gtk+ titlebar themes (Adwaita, Radiance..) in GNOME we need to use X shape mask
as fully transparent toplevel window causes various issues (like Bug 1516224).

We draw mShell as transparent and mContainer as non-transparent with shape mask applied. The shape mask
is generated only when titlebar rendering is enabled and it's generated from GtkHeaderBar Widget
to match the exact look.

We use existing mTransparencyBitmap for the shape mask where mTransparencyBitmapForTitlebar controls
whether it's a general shape mask or our specialised shape for titlebar only.

This is already enabled for GNOME environment by default. So there's a new preference
widget.default-hidden-titlebar added to easily disable it if any issue appears
during testing.

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

--HG--
extra : moz-landing-system : lando
2019-01-23 12:36:25 +00:00
Ehsan Akhgari e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Martin Stransky 1d8979cc73 Bug 1512416 - [Wayland/OpenGL] Resize wl_elg_window when widget scale changes, r=jhorak"
Differential Revision: https://phabricator.services.mozilla.com/D14404

--HG--
extra : moz-landing-system : lando
2018-12-20 11:54:13 +00:00
Dorel Luca d586d50b96 Backed out changeset be2cd52df099 (bug 1512416) for build bustage 2018-12-19 14:24:31 +02:00
Martin Stransky 973fb364ec Bug 1512416 - [Wayland/OpenGL] Resize wl_elg_window when widget scale changes, r=jhorak"
Differential Revision: https://phabricator.services.mozilla.com/D14404

--HG--
extra : moz-landing-system : lando
2018-12-19 08:46:27 +00:00
shindli 1c998613b1 Backed out changeset 61de4550c887 (bug 1512416) for bustages in builds/worker/workspace/build/src/widget/gtk/mozcontainer.cpp:230:15 2018-12-18 15:53:38 +02:00
Martin Stransky 4f8c2372b0 Bug 1512416 - [Wayland/OpenGL] Resize wl_elg_window when widget scale changes, r=jhorak"
Differential Revision: https://phabricator.services.mozilla.com/D14404

--HG--
extra : moz-landing-system : lando
2018-12-18 08:59:18 +00:00
Sylvestre Ledru 7cf43b9bc0 Bug 1513205 - Ride along, update some code to match the Google coding style r=Ehsan
# ignore-this-changeset

Depends on D14595

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

--HG--
extra : moz-landing-system : lando
2018-12-14 18:10:08 +00:00
Martin Stransky ba6e539858 Bug 1485616 - [Wayland] Wait with drawing until mozcontainer init is finished, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D14070

--HG--
extra : moz-landing-system : lando
2018-12-11 10:09:13 +00:00
Sylvestre Ledru ad75e912fb Bug 1512961 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2018-12-10 19:23:16 +00:00
Martin Stransky a6e0503d05 Bug 1512589 - [Wayland] Map mozcontainer from map-event signal, r=jhorak
It's not quaranteed that we have a valid wl_surface at GtkWidget::map event.
In that case create it at GtkWidget::map-event handler which is called after
widget show.

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

--HG--
extra : moz-landing-system : lando
2018-12-10 10:06:27 +00:00
Martin Stransky c1940ae522 Bug 1512415 - Always get a new wl_surface when mozcontainer is mapped, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D13912

--HG--
extra : moz-landing-system : lando
2018-12-06 14:49:00 +00:00
Martin Stransky 0329d23770 Bug 1511951 - [Wayland/EGL] HiDPI - Set scale to EGL window, r=jhorak
- Wayland - Set proper scale to wl_egl_window when it's created and resized
- Wayland - Remove unused gtk_widget_set_app_paintable()

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

--HG--
extra : moz-landing-system : lando
2018-12-05 19:53:33 +00:00
Martin Stransky 45555dc042 Bug 1489902 - [Wayland/OpenGL] Don't draw to wl_surface owned by GtkWidget (mozcontainer) until it's commited, r=jhorak
Use frame callback to determine if we can draw to wl_surface owned by GtkWidget and use it as a base for EGL Window.

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

--HG--
extra : moz-landing-system : lando
2018-12-06 11:02:46 +00:00
Martin Stransky 2768da18cb Bug 1511011 - Clean up wayland subsurface creation/management, r=jhorak
- Don't create wl_subsurface in map event but rather when it's requested by compositor.
- Don't create wl_surface at nsWindow::OnExposeEvent but check ready_to_draw instead.
- Rename parent_surface_committed_handler to frame_clock_after_paint_handler.
- Rename parent_surface_committed to ready_to_draw.
- Rename needs_clear to surface_needs_clear.

Depends on D13404

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

--HG--
extra : moz-landing-system : lando
2018-12-03 13:06:21 +00:00
Martin Stransky 2fd4d07afc Bug 1511011 - Removed moz_container_move as it's not used, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D13404

--HG--
extra : moz-landing-system : lando
2018-12-03 13:06:17 +00:00
Tooru Fujisawa 7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +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
Martin Stransky 786a526298 Bug 1507475 - [Wayland] Implement global wayland registry, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D12255

--HG--
extra : moz-landing-system : lando
2018-11-23 07:04:16 +00:00
Noemi Erli c00dbe5749 Backed out changeset bafd708f5788 (bug 1507475) for bustages in builds/worker/workspace/build/src/widget/gtk/mozcontainer.cpp CLOSED TREE 2018-11-22 20:09:34 +02:00
Martin Stransky d78c51a229 Bug 1507475 - [Wayland] Implement global wayland registry, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D12255

--HG--
extra : moz-landing-system : lando
2018-11-22 13:24:09 +00:00
Martin Stransky b18cbdec0a Bug 1505743 - [Wayland] Clear Wayland buffer when GtkWindow is mapped. r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D11999

--HG--
extra : moz-landing-system : lando
2018-11-20 15:39:32 +00:00
Narcis Beleuzu 67221429e3 Backed out changeset 06d83f08f7a0 (bug 1505164) for bustages on WindowSurfaceWayland.cpp . CLOSED TREE 2018-11-15 22:47:57 +02:00
Martin Stransky dc82a88ccf Bug 1505164 - Express explicit wailand interface versions r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D11757

--HG--
extra : moz-landing-system : lando
2018-11-15 14:52:04 +00:00
Martin Stransky 582b645d9b Bug 1504904 - Don't use GDK_IS_WAYLAND_DISPLAY() as it's missing on Gtk+ X11 only builds, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D11610

--HG--
extra : moz-landing-system : lando
2018-11-12 15:25:38 +00:00
Martin Stransky 636020d26c Bug 1501944 - Enable to build wayland target on Gtk 3.10, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D10369

--HG--
extra : moz-landing-system : lando
2018-11-01 11:09:40 +00:00
Jan Horak 294a592750 Bug 1477967 - Fix the popup menu sizes and redrawing on Wayland/hidpi monitor, r=stransky
This patch fixes redrawing of the popup element by removing the scale factor
from the invalid regions because the wl_surface_damage multiplies it with the
scale factor too.

Also we set scaling factor of the wl_surface right after we create it to avoid
flickering when the compositor switches from unscaled to scaled surface.

MozReview-Commit-ID: 1eGoFu87wtF

--HG--
extra : rebase_source : 08abe86889e34865f3eed0f3979b4a584cc74adb
2018-07-24 12:51:34 +02:00
Martin Stransky df210ffb15 Bug 1444437 - [Wayland] Don't map mozcontainer subsurface until parent surface is commited, r=ashie
MozReview-Commit-ID: 4qoyGH8VCAU

--HG--
extra : rebase_source : 32c2e5d80268d082b4a9a8ae8c90d2ee86537fd2
2018-06-28 13:37:31 +02:00
Martin Stransky 46f6ecf022 Bug 1464823 - [Wayland] Don't paint until we have a visible wl_surface, r=jhorak,lsalzman
It's based on a solution by Takuro Ashie <ashie@clear-code.com>

MozReview-Commit-ID: FqcdUJQJLdl

--HG--
extra : rebase_source : d4ed4d66439a3693a2f4d5e6a4037ed62969d64f
2018-06-06 11:30:27 +02:00
Martin Stransky 5fbefbfb2d Bug 1460605 - Provide NS_NATIVE_EGL_WINDOW to get a native EGL window on Wayland, r=jhorak
Original patch author is Takuro Ashie <ashie@clear-code.com>

Provide ability to create native EGL window and provide it under NS_NATIVE_EGL_WINDOW
to GL code. The native EGL window is owned/managed by mozcontainer.

MozReview-Commit-ID: 4d0Kk6DRSaD

--HG--
extra : rebase_source : e4677ce51fbf918eb1b0257c66ca4b7220174bbb
2018-05-10 16:04:20 +02:00
Martin Stransky ecb1224028 Bug 1430728 - [Wayland] - position wl_subsurface when attached GtkWidget allocation changes, r=jhorak
MozReview-Commit-ID: 1q3XIouxavQ

--HG--
extra : rebase_source : 59fcb138c55fe1250b26c4e1ec120a14c8c4c4ad
2018-01-16 10:26:58 +01:00
Martin Stransky e3eeda85f0 Bug 1430018 - dlsym gdk_wayland_* routines as those are available at Gtk+ > 3.8, r=jhorak
MozReview-Commit-ID: EUgmc9QNeoI

--HG--
extra : rebase_source : 9be69563a2b6c25eb5e593bee7bdd48e92af0c8c
2018-01-12 13:22:48 +01:00