Jonas Ådahl
9a0fbbfa81
cogl/pango: Add argument to supply extra snippet
...
This will be applied to the pipeline used for drawing, and can be used
to include color state transformation snippets.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3433 >
2024-07-09 18:56:07 +02:00
Jonas Ådahl
fe63242d60
cogl: Include the pipeline name and program number in debug logs
...
When running with COGL_DEBUG=show-source, log what pipeline and shader
program is used when painting, and what shader source code corresponds
to each shader program.
This helps identify what shader is used when painting to what
framebuffer.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3433 >
2024-07-09 18:56:07 +02:00
Jonas Ådahl
aaba08e5aa
Set names of various Cogl pipelines
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3433 >
2024-07-09 18:56:07 +02:00
Jonas Ådahl
6cd28a84ac
cogl/pipeline: Add API to name a pipeline
...
It uses static strings, and is meant to make it easier to match what
pipeline source code one might be looking at when running with
COGL_DEBUG=show-sources.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3433 >
2024-07-09 18:56:07 +02:00
Jonas Ådahl
f67ace517f
cogl/snippet: Add way to add an opaque capability
...
A snippet is assigned a capability, which is then transferred to the
pipeline it gets added to. Managers of pipelines can then check whether
a pipeline it got handed whether it has a certain capability, and if
not, handle the situation where it is not.
The intention is to allow Clutter to tag color state transformation
snippets with a capability, allowing generic paint nodes to handle color
transformations when needed.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3433 >
2024-07-09 18:56:07 +02:00
Jonas Ådahl
1fa5a016be
cogl/gl: Bump required GLSL version to 140
...
This will be needed by future color management and HDR shaders.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3433 >
2024-07-09 18:00:58 +02:00
Jonas Ådahl
2ae5af62ea
clutter/stage-view: Make shadow fbs use the onscreen pixel format
...
We'd use the "default" format otherwise; once the onscreen gets
something other than the hard coded format, we'll want to make sure we
use the same here.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3433 >
2024-07-09 18:00:58 +02:00
Bilal Elmoussaoui
bfd7f9d549
build: Split X11 server & client dependencies
...
Allows xwayland=true x11=false to be built with less dependencies
Also removes some unused x11 dependencies on the frame client & cogl
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3853 >
2024-06-30 15:09:00 +02:00
Bilal Elmoussaoui
820a7ad813
build: Allow building xwayland without x11
...
Co-authored-by: Jonas Ådahl <jadahl@gmail.com>
Closes https://gitlab.gnome.org/GNOME/mutter/-/issues/3553
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3853 >
2024-06-30 15:08:55 +02:00
Jonas Ådahl
422ee4515d
Compile with -Wfloat-conversion
...
This means we'll get warnings whenever a floating point value looses
precision, e.g. gets implicitly casted to an integer. It also warns when
implicitly casting double's to float's, which arguably is less of a
problem, but there are no warning for just float/double to int.
This would have caught
https://gitlab.gnome.org/GNOME/mutter/-/issues/3530 .
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3822 >
2024-06-25 20:48:24 +02:00
Bilal Elmoussaoui
6e1c761330
Remove unused variables
...
Detected through codeql
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3837 >
2024-06-22 23:53:49 +00:00
Bilal Elmoussaoui
b0aacf4093
cogl: Mark XlibRenderer.get_display private
...
Nothing uses it externally, take the opportunity to remove an unused function
as well
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3813 >
2024-06-18 13:32:13 +00:00
Bilal Elmoussaoui
8b2aa05103
cogl: Remove no longer useful headers
...
I suppose they were useful at times when cogl was a separate library
where you could use cogl- but that is no longer a thing
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3813 >
2024-06-18 13:32:13 +00:00
Bilal Elmoussaoui
f004b560fc
cogl/texture: Avoid helper methods that just chain up
...
This was needed pre-GObjectified CoglTexture, not neccessary anymore
so clean those up a little bit
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3818 >
2024-06-18 13:21:56 +00:00
Bilal Elmoussaoui
a71e39b0e0
cogl: Remove unused TextureChangeFlags
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3818 >
2024-06-18 13:21:56 +00:00
Bilal Elmoussaoui
06402fd756
cogl: Remove unused TexturePixel
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3818 >
2024-06-18 13:21:56 +00:00
Bilal Elmoussaoui
c9c64f0990
cogl/pango: Remove various unused private functions
...
A quick cleanup in preparation for moving cogl-pango to libst later
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3823 >
2024-06-18 10:43:20 +00:00
Bilal Elmoussaoui
0064bf240e
cogl: Remove unused immutable_ref
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3810 >
2024-06-14 21:16:05 +02:00
Bilal Elmoussaoui
69835c9ec1
cogl: Remove CoglFence
...
Nothing was really using it...I am removing too much?
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3806 >
2024-06-14 12:12:34 +02:00
Bilal Elmoussaoui
4eb555a2f0
cogl: Remove unused Texture2DSliced.new_from_data
...
Nothing uses it and can be re-implemented externally if needed anyways.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3806 >
2024-06-14 12:12:33 +02:00
Bilal Elmoussaoui
4f896e55d6
cogl: Remove header-only functions
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3806 >
2024-06-14 12:12:33 +02:00
Bilal Elmoussaoui
e638e5dfab
cogl: Remove unused OnScreen dirty_closures
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3806 >
2024-06-14 12:12:33 +02:00
Bilal Elmoussaoui
47d427a95d
cogl: Remove unused BufferTarget
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3806 >
2024-06-14 12:12:33 +02:00
Bilal Elmoussaoui
218b77c739
cogl: Replace DamageRectangle with MtkRectangle
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3806 >
2024-06-14 12:12:33 +02:00
Bilal Elmoussaoui
aa0600bf27
cogl: Remove Framebuffer:stereo-mode
...
Nothing was setting it
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3806 >
2024-06-14 12:12:33 +02:00
Bilal Elmoussaoui
9097deb69d
cogl: Remove various Framebuffer functions
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3806 >
2024-06-14 12:12:33 +02:00
Bilal Elmoussaoui
2c996a1b16
build/cogl: Simplify debug c-args
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3806 >
2024-06-14 12:12:33 +02:00
Bilal Elmoussaoui
e79f460eb8
cogl: Remove FrameBuffer CoglObject leftover
...
Fixes: eb14da387
("cogl: Turn CoglFramebuffer, CoglOffscreen and
CoglOnscreen into GObjects")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3806 >
2024-06-14 12:12:33 +02:00
Marco Trevisan (Treviño)
03ef333937
cogl/context: Add test util function to get the GL/GLES driver vendor
...
Some tests sadly behaves differently depending on the driver in use.
While this shouldn't happen we can't block on these driver issues, so
add a test utils private function to get the driver information so that
we can adapt test behavior depending on this.
This will allow to disable / enable tests at runtime instead of failing
in all the implementations, which is still better for catching
regressions in the parts we may be ignoring otherwise.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3793 >
2024-06-13 21:21:49 +00:00
Bilal Elmoussaoui
3e363a5421
cogl/pipeline-debug: Use Color helper to get a string representation
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3544 >
2024-06-13 21:19:54 +02:00
Bilal Elmoussaoui
93ded65b7d
cogl: Make sure alpha is correctly set for hsla Colors
...
As the color is initiallized with init_from_hls which always sets
alpha to 1.0
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3544 >
2024-06-13 14:45:53 +02:00
Bilal Elmoussaoui
5851738db4
cogl: Stop hardcoding Color size
...
Especially that the fields are public now and with a potential
migration to floats.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3544 >
2024-06-13 14:45:53 +02:00
Bilal Elmoussaoui
5f22fddc26
cogl: Make Color fields public
...
To simplify the porting to CoglColor in the future as ClutterColor
fields are public
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3544 >
2024-06-13 14:45:53 +02:00
Bilal Elmoussaoui
a12e707324
cogl: Implement transform from/to string for CoglColor values
...
Same as previous commits
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3544 >
2024-06-13 14:45:53 +02:00
Bilal Elmoussaoui
28f702ce1a
cogl: Copy ColorParamSpec from clutter
...
Follow up of previous commit
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3544 >
2024-06-13 14:45:53 +02:00
Bilal Elmoussaoui
ac3aa35489
cogl: Add missing functions from ClutterColor to CoglColor
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3544 >
2024-06-13 14:45:53 +02:00
Bilal Elmoussaoui
014ea91a9d
cogl: Remove various DepthState functions
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3804 >
2024-06-12 00:42:45 +00:00
Bilal Elmoussaoui
bb29fa68fe
cogl: Remove AtlasTexture.new_from_data
...
Nothing uses it, allows to drop the corresponding test case as well
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3804 >
2024-06-12 00:42:45 +00:00
Bilal Elmoussaoui
94c2c41b66
cogl: Remove unused features functions
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3804 >
2024-06-12 00:42:45 +00:00
Bilal Elmoussaoui
ed0ee25843
cogl: Remove header-only Pipeline functions
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3804 >
2024-06-12 00:42:45 +00:00
Bilal Elmoussaoui
863d4ad6d6
cogl: Remove various unused MatrixEntry functions
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3804 >
2024-06-12 00:42:45 +00:00
Bilal Elmoussaoui
adf0acbe0d
cogl: Remove various unused Attribute functions
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3804 >
2024-06-12 00:42:45 +00:00
Georges Basile Stavracas Neto
bc7134cab3
cogl: Remove CoglOutput
...
Begone!
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3792 >
2024-06-03 08:31:58 +00:00
Georges Basile Stavracas Neto
cb4190616f
cogl/xlib-renderer: Use SubpixelFormat enums directly
...
No need to convert from / to CoglSubpixelFormat.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3792 >
2024-06-03 08:31:58 +00:00
Georges Basile Stavracas Neto
4f3631eae4
cogl/xlib-renderer: Don't override subpixel order
...
This function goes to great lengths to convert an Xlib SubpixelFormat
enum into a CoglSubpixelFormat, then immediately discards that.
Fixes 88d8bd84f2
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3792 >
2024-06-03 08:31:58 +00:00
Georges Basile Stavracas Neto
2a9576c59c
cogl/xlib-renderer: Plug some leaks
...
Found them while reworking this file. XRRFree*Info() fully free the
pointers inside the infos, they're more appropriate.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3792 >
2024-06-03 08:31:58 +00:00
Georges Basile Stavracas Neto
64d0e503ff
cogl/xlib-renderer: Copy CoglOutput struct
...
Since CoglOutput is strictly only used internally by Xlib and GLX,
copy it in place and use it.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3792 >
2024-06-03 08:31:58 +00:00
Georges Basile Stavracas Neto
c9e22d9f79
cogl/xlib-renderer: Return refresh rate directly
...
Instead of a CoglOutput that is then only used to fetch the refresh
rate.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3792 >
2024-06-03 08:31:58 +00:00
Georges Basile Stavracas Neto
653ba4a7a7
cogl/renderer: Move output list to CoglXlibRenderer
...
It's the only place where it's used.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3792 >
2024-06-03 08:31:58 +00:00
Georges Basile Stavracas Neto
94d69c3252
cogl/onscreen-glx: Store refresh rate directly
...
Instead of the CoglOutput. This removes any necessity of refcounting,
and allows simplifying some code.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3792 >
2024-06-03 08:31:58 +00:00