74917e1b07
cogl/gl: Use g_auto (GStrv) and g_autofree in more cases
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3907 >
2024-08-05 17:57:11 +00:00
da2e931355
clutter/backend: Remove get_display vfunc
...
As there is no separate implementations anymore
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3915 >
2024-08-05 15:47:29 +00:00
b684dc0382
clutter/backend: Provide a default get_display implementation
...
As there is no on screen template checks done on the x11 backend implementation
so simplify that.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3915 >
2024-08-05 15:47:29 +00:00
5277e33d37
cogl: Remove no longer used OnscreenTemplate
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3915 >
2024-08-05 15:47:29 +00:00
3b386ba5d7
cogl: Remove no longer used FramebufferConfig
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3915 >
2024-08-05 15:47:29 +00:00
833070ab79
cogl: Remove need_stencil config
...
As it is always set to TRUE
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3915 >
2024-08-05 15:47:29 +00:00
41ec1aa0ca
cogl: Remove use_stereo_stage config
...
Nothing sets it from the X11 backend API, so just get rid of it
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3915 >
2024-08-05 15:47:29 +00:00
a1828e7212
cogl: Remove samples_per_pixel config
...
It is only set through an undocumented env variable
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3915 >
2024-08-05 15:47:29 +00:00
4ddd83c51e
Bump version to 47.beta
...
Update NEWS.
2024-08-03 19:23:22 +02:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
7eadc948ae
cogl: Inline various utilities
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3910 >
2024-08-01 11:06:33 +00:00
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
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
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
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
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
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
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
857a72faf0
Update Chinese (Taiwan) translation
...
(cherry picked from commit bb9a2f1ede1b3890870d46d9e28d43de5476c145)
2024-07-27 07:38:25 +00:00
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
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
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
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