Florian Müllner
4ddd83c51e
Bump version to 47.beta
...
Update NEWS.
2024-08-03 19:23:22 +02:00
Daniel van Vugt
e389178180
onscreen/native: Return GErrors from secondary GPU updates
...
And return early from `swap_buffers_with_damage` if the error would have
led to flipping a NULL buffer.
This is also the perfect time to remove the `egl_context_changed` parameter
and move `_cogl_winsys_egl_ensure_current` closer to the code that actually
needs it.
Related: https://bugs.launchpad.net/bugs/2069565
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3817 >
2024-08-02 10:27:54 +00:00
Daniel van Vugt
45a97a5e3f
onscreen/native: Set frame result to IDLE on swap failure
...
So that swap failure messages are not also followed by:
meta_stage_native_redraw_view: runtime check failed: (!META_IS_CRTC_KMS (crtc))
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3817 >
2024-08-02 10:27:54 +00:00
Daniel van Vugt
0de83166db
onscreen/native: Unify the failure paths of swap_buffers_with_damage
...
They're both the same and a third one will be added soon.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3817 >
2024-08-02 10:27:54 +00:00
Bilal Elmoussaoui
b9269abaf5
cogl: Remove unused Error types
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
e43d9d7e75
cogl/indices: Add a IndicesType.get_size
...
To de-duplicate that code
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
609f7e3fe1
cogl: Remove unused OnScreenTemplate.set_samples_per_pixel
...
Not sure if we want to keep that env variable around
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
a71ad8e861
cogl/list: Remove unused API
...
Ideally, I think we might have to replace CoglList usage
as the over-complicated macros makes it hard to parse
But that is a task for another day
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
2d25b114e6
cogl/buffer: Use set_data helper
...
That ignores the error param, which is the behaviour
we always had. Changing that to propagate the error
would make the API ugly, so it is fine to remove?
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
beb9ecdbc4
cogl: Remove no longer useful Since annotation
...
Spotted in previous commit
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
a05caa6338
cogl/texture2d: Rename from_egl_image constructor
...
Similar to the from_egl_image_external one, to give it the correct
namespace
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
a9ec604eba
cogl/renderer: Expose handle_event
...
As it was originally the function to be used before
making it private and providing safer wrappers around it for x11/win32.
Nowadays, it is only used in x11 and only internally in mutter, exposing
a 'safer' variant costs us exposing more of x11 renderer APIs without
much benefits.
With this change, the only internal xlib renderer we need from meta is
set_foreign_display which can't be easily worked around
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
b07c772fc8
cogl: Rename Shader/Program constructors
...
Otherwise they end up as global functions instead of constructors
of their corresponding types. Helps with better docs
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
716f23c7c1
cogl/pixel-format: Make CAN_HAVE_PREMULT an inlined function
...
To avoid exposing the function macro in the gir file & so the docs
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
162b8e1a15
cogl: Remove no longer useful UNAVAILABLE macro
...
It is no longer a separate library
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
5d7c4bccd8
cogl: Make BlendStringError private
...
It is a private API
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
4bd974222e
cogl: Make RendererConstraint private
...
It is only used internally
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
50fc438599
cogl: Replace OnscreenDirtyInfo with MtkRectangle
...
It is a rectangle after all and is only used internally, so instead of
making it private just replace it
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
6b0a289d77
cogl: Make FramebufferDriverConfig private
...
There is 0 reason to expose that, it is a private API
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
b3404816fb
cogl: Switch remaining headers to pragma once
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
6c1739ea1c
cogl: Move get_graphics_status to Context
...
That is where it belongs & avoids a global function in the docs
when it shouldn't be one
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
97c43f9eec
cogl/egl: Move get_egl_display to Context
...
Allows us to get rid of the extra header
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
e90d2e845e
cogl/glib-source: Remove no longer useful API
...
It was only useful when Cogl was a separate library
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
5a6d2266e4
cogl/magazine: Remove unused free functions
...
The only magazine instance created is a static so nothing to be freed
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
47695daed1
cogl/xlib-renderer: Move struct where it is used
...
The extra header is too much for one struct
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
e57d3615bc
cogl/xlib-renderer: Remove [add|remove]_filter
...
They end up calling the Renderer APIs & they are not used outside
of Cogl
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
0f405e9270
Rename remaining usages of material to pipeline
...
material is almost no longer used in the code base and the
few remaining references makes it confusing when looking at parts
of the codebase. So rename the rest as well.
Note that this renames a DeformEffect property and the only extension
making use of it doesn't use the property so i think it is okay to do
so without deprecating the old property for a few releases
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
a107cae976
cogl/atlas: Remove unused private function
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
5fde5abd3e
cogl: Remove unnecessary compiler functions defines
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
7eadc948ae
cogl: Inline various utilities
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Bilal Elmoussaoui
5f1ffb5304
cogl: Remove unused Primitive APIs
...
This also removes a clutter interactive test, but as those
tests don't serve that much any more for being no longer executed..
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
Sebastian Wick
a71166618d
clutter/color-state: Create blending ColorState from ColorState
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3905 >
2024-07-31 23:36:13 +00:00
Sebastian Wick
6a8701c4db
clutter/color-state: Optimize equality by checking pointer equality
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3905 >
2024-07-31 23:36:13 +00:00
Bilal Elmoussaoui
69d66eb82f
cogl: Expose Atlas API
...
Needed to build cogl-pango out of tree
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3909 >
2024-07-30 20:20:45 +00:00
Bilal Elmoussaoui
b035350ffd
cogl: Replace RectangleMapEntry with MtkRectangle
...
Avoids exposing the former in the next commit even if MtkRectangle
uses signed integers compared to RectangleMapEntry. But as
those rectangles are defined inside of Cogl, it should be okay
I guess?
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3909 >
2024-07-30 20:20:45 +00:00
Bilal Elmoussaoui
1f255be055
cogl: Properly export required functions by cogl-pango
...
Needed for moving cogl-pango out of tree
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3909 >
2024-07-30 20:20:45 +00:00
Robert Mader
dfa5238bf9
multi-texture-format: Fix limited range quantization
...
And stop pre-computing values, making errors like this harder to spot.
The values 0.0625 (16/256) and 0.5 (128/256) were slightly off,
resulting e.g. in "black" not being #000000 but #010001 RGB instead.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3906 >
2024-07-29 14:44:42 +00:00
Chao-Hsiung Liao
857a72faf0
Update Chinese (Taiwan) translation
...
(cherry picked from commit bb9a2f1ede
)
2024-07-27 07:38:25 +00:00
Daniel van Vugt
3eb32cf750
cogl/tests: Avoid floats when converting between int formats
...
All we need is an intermediate int format with twice as many bits and
to put division at the end to avoid any loss of precision.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3903 >
2024-07-26 09:23:46 +00:00
Daniel van Vugt
7df6b5c4ed
cogl/tests: Avoid rounding/truncation ambiguity in 8/16bpc conversion
...
The OpenGL specs say rounding is preferred, but not required. Let's
avoid that uncertainty by choosing a test value that rounds and truncates
to the same integer either way. Only green needs fixing since our red,
blue and alpha values already follow this rule.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3903 >
2024-07-26 09:23:46 +00:00
Daniel van Vugt
5360c58fe5
cogl/tests: Avoid converting 16bpc -> float -> 16bpc
...
Instead just assign 16bpc -> 16bpc
This avoids variations in CPU and GL driver behaviour when using
floats as intermediate values.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3582
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3903 >
2024-07-26 09:23:46 +00:00
Bilal Elmoussaoui
d283f84d6c
window: Call set_normal_hints on Wayland windows as well
...
As that would initialize the hints which would otherwise be 0
causing a division by 0
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3572
Fixes: 377455402
("core/window: Guard some x11 calls")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3894 >
2024-07-25 22:24:25 +02:00
Jonas Ådahl
a68385a179
display: Rename mandatory X11 initialization function
...
Simply to make it clear that the renamed function is specific to a
particular X11 initialization mode (mandatory Xwayland), put that in the
name, so that it's easier to understand when this function is relevant.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3329 >
2024-07-25 19:56:20 +02:00
Jonas Ådahl
93d1eb01a6
tests/x11: Fix replace test to catch the second instance failing
...
The test never noticed that the second instance never actually managed
to load; it was looping a multi second retry session trying to redirect
windows, meaning it failed to catch https://gitlab.gnome.org/GNOME/mutter/-/issues/3089 .
Fix the test so that it always waits for mutter to finish loading
successfully, just like it waits fro the first.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3329 >
2024-07-25 19:56:19 +02:00
Jonas Ådahl
2e2dfc0bf5
display: Move X11 initial focus handling to MetaX11Display
...
It's X11 specific, so put it in the X11 display manager object.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3329 >
2024-07-25 19:56:19 +02:00
Jonas Ådahl
f3a33e9bd1
x11-display: Make subwindow redirection call mode specific
...
This means that for X11 sessions we'll do it before any windows are
mapped, and before any plugin implementation is started. Doing it before
a plugin is started is important, because things that the plugin does
during startup can have consequences on how compositing on Xorg works.
For the Xwayland case, we'll do it relatively in the setup phase. It
appears to have been harmless to do it later in the post-opened signal,
but there is no harm in doing it as one of the earlier steps.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3089
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3329 >
2024-07-25 19:56:19 +02:00
Sebastian Wick
788409e094
tools/debug-control: Handle the service not being exported
...
This is the default case and we want to tell people how to export it
when they use the script instead of having a python stack trace.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3902 >
2024-07-24 21:52:47 +00:00
Sebastian Wick
682935fefa
core/debug-control: Introspect it to export the dbus service with lg
...
by executing `global.context.get_debug_control().exported = true`.
This makes it possible to get access to the debug service without having
to start with `--enable-debug`.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3902 >
2024-07-24 21:52:47 +00:00
Sebastian Wick
c974bcf4b2
core/debug-control: Enable HDR only via DebugControl and META_DEBUG_
...
This removes the experimental HDR property from the monitor manager and
unifies all the debug features in DebugControl.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3902 >
2024-07-24 21:52:47 +00:00
Sebastian Wick
2693cac83a
clutter/color-manager: Add a method to get the default color state
...
This avoids re-creating new color states objects to the default state.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3897 >
2024-07-24 21:33:30 +00:00