Bilal Elmoussaoui
4ef475d3fe
cogl/xlib-renderer: Merge renderer winsys data
...
Currently, we cast the CoglXlibRenderer pointer into a CoglX11Renderer
which is something that we would get rid of later on, along with the
usage of a data field once the Renderers become a subtypes of
CoglRenderer.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4187 >
2024-12-18 15:39:03 +00:00
Philip Withnall
9a7a5007a0
ci: Bump CI image to use gsettings-desktop-schemas 48.alpha
...
This contains the new screen time limits schema
(https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas/-/merge_requests/87 )
which will shortly be needed by gnome-shell.
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4189 >
2024-12-18 14:45:57 +00:00
Bilal Elmoussaoui
1e65e1106f
cogl: Drop COGL_X11_SYNC env variable
...
We already have a MUTTER_SYNC one. No need for doing the same thing twice.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4186 >
2024-12-13 14:42:23 +01:00
Bilal Elmoussaoui
903b943875
cogl/xlib-renderer: Stop keeping track of the list of renderers
...
As we can only have one renderer, if the connect phase fails, we would
dispose it
and there is no reason to manually register/unregister them.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4186 >
2024-12-13 14:41:47 +01:00
Bilal Elmoussaoui
c913a33d6a
cogl: Stop storing XDisplay on the Renderer
...
Instead, only store it in the XlibRenderer data and drop the code
related to connecting to XDisplay as MetaX11Display handles that
already.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4186 >
2024-12-13 14:40:49 +01:00
Bilal Elmoussaoui
07fa87907e
cogl: Drop no longer used Indices.new_for_buffer
...
And drop the offset field with it as nothing sets it anymore.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4184 >
2024-12-13 13:09:48 +01:00
Jonas Ådahl
aad237a04a
renderer/native: Don't close DMA buf fds before handing them forward
...
We closed all the DMA buffer fds after creating the DMA buffer backed
CoglFramebuffer, which meant that the fds we passed to CoglDmaBufHandle
were already closed. This broke screen casting with DMA buffers.
Fixes: 8509b74532 ("Make DMA buffer allocation format and modifier aware")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4177 >
2024-12-12 15:38:23 +00:00
Bilal Elmoussaoui
1fce76a0fb
cogl/graphene: Simplify matrix_project_points helper
...
As it is always used for 3 components, drop n=2 and n=4 support.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4180 >
2024-12-12 15:13:04 +00:00
Sebastian Wick
42ba494f07
backend/native: Remove meta_backend_native_get_launcher
...
We can go through MetaBackend to the launcher now and this commit
changes the last user over to it.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:30:36 +01:00
Sebastian Wick
a4db61d3e4
backend/native: Remove meta_backend_native_get_seat_id
...
The last user of it was udev but it now goes through the launcher so we
can remove it.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:30:36 +01:00
Sebastian Wick
6d3d718684
backend: Remove useless skip annotation
...
Those functions are declared in the meta-backend-private.h file which is
not introspected.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:30:36 +01:00
Sebastian Wick
e68728f151
udev: Create udev in MetaBackend
...
So we can use it for backlight control in both the native and X11
backends.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:30:35 +01:00
Sebastian Wick
387a6e82e5
build: Only add gudev_dep/libudev_dep once
...
We already add them if have_libgudev is true, and for native builds it
always is true.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:27:11 +01:00
Sebastian Wick
15d4123bd1
udev: Move from backends/native/ to backends/
...
This makes it possible to use udev even for backends which are not
native. Specifically we want to start controling backlights in mutter
which has to happen for both native and X11.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:27:11 +01:00
Sebastian Wick
11b4de08c4
udev/native: Remove dependencies on the native backend
...
The generic backend now provides the launcher which is the last native
specific dependency. This makes it possible to move the udev component
to the generic backend.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:27:11 +01:00
Sebastian Wick
10cbda69e6
backend: Add pause/resume vfuncs to MetaBackend
...
For now we only pause/resume the rendering in the base class but in the
next few commits, we'll move udev from native to generic and need to
pause/resume it as well.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:26:23 +01:00
Sebastian Wick
30c6104620
backend: Create MetaLauncher in backend and not in backend native
...
It also adds a vfunc so the MetaBackend subclasses can add more
constraints on what the launcher must support.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:14:39 +01:00
Sebastian Wick
7b944a52fc
backend: Reorder vfuncs into init, creation and others
...
Also fix the formatting a bit and add newlines between each declaration
which makes it easier to parse.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:12:36 +01:00
Sebastian Wick
23c2c0853c
launcher: Move from backends/native/ to backends/
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:12:36 +01:00
Sebastian Wick
2dd695e65f
launcher: Move public functions to the bottom
...
As per mutter coding style.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:12:36 +01:00
Sebastian Wick
5d8d3df101
launcher: Fix a few formatting issues
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:12:36 +01:00
Sebastian Wick
1651ac8f2c
launcher: Allow creating the launcher without taking session control
...
Currently only the native backend uses the launcher and it requires
being the session controler, so this commit should not change anything.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:12:36 +01:00
Sebastian Wick
9169ffade0
launcher: Add session-active property to decouple from backend native
...
By connecting to changes of the new property in backend native itself.
This removes the dependency on the native backend and allows us to move
it to the generic backend.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:12:36 +01:00
Sebastian Wick
6c5f552088
launcher: Turn MetaLauncher into a GObject
...
This will be useful later when refactoring MetaLauncher.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:12:36 +01:00
Sebastian Wick
9eb29974f1
launcher: Remove unused includes
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:12:36 +01:00
Sebastian Wick
15ca9a09b5
launcher: Use native char type and fix formatting
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:12:36 +01:00
Sebastian Wick
8e2e986eeb
dbus-utils: Move from the backends/native/ to backends/
...
We will move the launcher to backends/ which has a dependency on
dbus-utils so let's also just move dbus-utils there.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4130 >
2024-12-12 15:12:36 +01:00
Jonas Ådahl
aad1588ae3
ci: Switch gcovr theme to 'github.blue'
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4178 >
2024-12-12 12:23:00 +00:00
Jonas Ådahl
3eb1c5af39
ci: Don't include subprojects in coverage report
...
We don't run the gvdb tests, so don't include them in the report.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4178 >
2024-12-12 12:23:00 +00:00
Jonas Ådahl
b0080487c9
ci: Only download non-fallback meson wraps
...
This should mean we only get gvdb.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4178 >
2024-12-12 12:23:00 +00:00
Jonas Ådahl
864a0f3ef6
build: Include gvdb subproject explicitly
...
This allows us to do `meson setup --wrap-mode nofallback` and still
download gvdb as a subproject.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4178 >
2024-12-12 12:23:00 +00:00
Jonas Ådahl
11abe53213
ci: Split up some meson setup lines
...
It makes it easier to add and remove arguments.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4178 >
2024-12-12 12:23:00 +00:00
Bilal Elmoussaoui
c9fffb73f7
cogl/attribute: Drop constant attributes support
...
As it is never used, detected through codecoverage.
Fixes adf0acbe0d5d378ecb862811e818107a0c420687
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4179 >
2024-12-12 11:25:10 +01:00
Bilal Elmoussaoui
fc0a8d343f
cogl/texture-driver: Abstract GL specific vfuncs
...
By moving them up from the abstract Driver to DriverGL.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4132 >
2024-12-12 09:11:37 +01:00
Bilal Elmoussaoui
1f2ba427b6
cogl/driver: Abstract GL specific vfuncs
...
By moving them up from the abstract Driver to DriverGL.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4132 >
2024-12-12 09:11:37 +01:00
Bilal Elmoussaoui
2769c25cf7
cogl/driver: Harmonize GL naming
...
Following what we did for TextureDriverGL and DriverGL, take the
opportunity to mark various headers as private while renaming them.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4132 >
2024-12-12 09:11:37 +01:00
Bilal Elmoussaoui
fdee2ed8ff
cogl: Move various GL utils to DriverGL
...
As they are no longer used separately by the GL3/GLES2 drivers.
The remaining Buffer/Texture/Attribute/Clip stack helpers are kept in
separate files as they are complex and are probably better kept split.
Further cleanups might be done in future commits.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4132 >
2024-12-12 09:11:37 +01:00
Bilal Elmoussaoui
6e5bc2f6b7
cogl/gl: Move GLContext into DriverGL
...
By doing so, we can get rid of the context_deinit vfunc, we only have
the context_init part, which is still needed for now.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4132 >
2024-12-12 09:11:37 +01:00
Bilal Elmoussaoui
ab85aa74eb
cogl/gl: Share context_init implementation between GL/GLES
...
By using GObject features instead of calling the function manually.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4132 >
2024-12-12 09:11:37 +01:00
Bilal Elmoussaoui
71381c2e7f
cogl: Create a common GL driver
...
Both the GL3 & GLES2 inherit from it to avoid overriding the same vfuncs
multiple times.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4132 >
2024-12-12 09:11:37 +01:00
Bilal Elmoussaoui
2e36f80914
cogl: Turn Driver into an abstract object
...
In the next commit, we will add a DriverGL that those two drivers would
inherit from to share the common infrastructure.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4132 >
2024-12-12 09:11:37 +01:00
Bilal Elmoussaoui
0103288739
cogl: Rename Driver to DriverID
...
As we will be having a CoglDriver abstract class in the next commit.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4132 >
2024-12-12 09:11:33 +01:00
Bilal Elmoussaoui
1131c3b634
cogl: Make driver header private
...
Along with formatting of the various vtable fields as we will turn it to
an abstract GObject next.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4132 >
2024-12-11 20:52:16 +01:00
Bilal Elmoussaoui
1d7740d537
compositor: Move various functions to their correct namespace
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4131 >
2024-12-11 18:29:31 +01:00
Bilal Elmoussaoui
38a4b2e102
compositor: Drop get_stage_for_display helper
...
As one can get that from the backend/compositor directly.
Expose the necessary functions to allow doing so.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4131 >
2024-12-11 18:28:57 +01:00
Bilal Elmoussaoui
1152326ac0
cursor-tracker: Drop helper
...
As the tracker can be retrieved from the backend anyway.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4131 >
2024-12-11 18:28:57 +01:00
Bilal Elmoussaoui
e06592d3df
util: Drop duplicated Clutter debug flags helpers
...
Clutter exposes those functions already.
So there is literally 0 point in duplicating them.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4131 >
2024-12-11 18:28:57 +01:00
Bilal Elmoussaoui
265a541b65
x11: Mark meta_XFree macro as private
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4131 >
2024-12-11 18:28:57 +01:00
Jonas Ådahl
5a31b4e7b8
tests/cursor: Add test for transform cursor surfaces
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3859 >
2024-12-11 16:22:57 +00:00
Jonas Ådahl
8c2e39323f
mtk/monitor-transform: Add to/from string helpers
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3859 >
2024-12-11 16:22:57 +00:00