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
Jonas Ådahl
3359b67686
clutter/color-state: Handle adding snippet to pipeline
...
While no functional changes right now, this allows us to add extra hooks
like adding uniforms.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3897 >
2024-07-24 21:33:30 +00:00
Bilal Elmoussaoui
f78948a1de
cogl: Remove unused List macros
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3901 >
2024-07-24 21:18:10 +02:00
Bilal Elmoussaoui
90e0acf11a
cogl/clip-stack: Remove unused primitive type
...
Detected by going through code coverage
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3901 >
2024-07-24 21:18:10 +02:00
Bilal Elmoussaoui
c65bb3b9ce
cogl: Remove poll renderer
...
As it is only composed of idle callbacks now, replace
those functions where they are used
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3887 >
2024-07-24 14:33:29 +00:00
Bilal Elmoussaoui
24c338cc0e
cogl: Simplify poll_renderer_get_info
...
As the only info we can pass now is whether we have any idle
closures. Removes the timeout handling which is now is always set to
either 0 or -1 based on whether we have idle closures
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3887 >
2024-07-24 14:33:29 +00:00
Bilal Elmoussaoui
1ceb206897
cogl: Remove no longer used poll renderer API
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3887 >
2024-07-24 14:33:29 +00:00
Bilal Elmoussaoui
1d0680471e
cogl/renderer: Never try to enable X11 event retrieval
...
It is always disabled as we always set a foreign display
when creating the renderer.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3887 >
2024-07-24 14:33:29 +00:00
Bilal Elmoussaoui
a7b87f250f
cogl/renderer: Always try to use GLX_NV_robustness_video_memory_purge
...
It was always set to TRUE and mutter is the only user.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3887 >
2024-07-24 14:33:29 +00:00
Bilal Elmoussaoui
fe60ee8b90
cogl: Replace custom static assertions with glib one
...
The displayed message is kept as a comment in the codebase
which is good enough
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3895 >
2024-07-22 18:08:17 +02:00
Bilal Elmoussaoui
1acfa6def3
cogl: Move Color struct definition where it belongs
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3895 >
2024-07-22 18:08:17 +02:00
Bilal Elmoussaoui
028df43012
cogl: Remove duplicated *_BIT defines
...
They are already defined in cogl-pixel-format header
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3895 >
2024-07-22 17:36:10 +02:00
Bilal Elmoussaoui
138e5d4f54
cogl: Move TextureVertex to Clutter
...
The type is only used in ClutterDeformEffect, so move it there
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3895 >
2024-07-22 17:36:10 +02:00
Bilal Elmoussaoui
fb3f239953
cogl/debug: Remove unused ignore-help parameter
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3895 >
2024-07-22 13:06:33 +02:00
Bilal Elmoussaoui
f4f6422699
cogl: Remove remaining i18n infrastructure
...
Not sure it makes sense to translate only parts of the debugging output
and on top of that, those files were not part of POTFILES, so they were not
translated anyways..
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3895 >
2024-07-22 13:06:33 +02:00
Bilal Elmoussaoui
6da869d575
cogl: Move has_feature to Context namespace
...
That is where it belongs anyways..
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3895 >
2024-07-22 13:06:33 +02:00
Bilal Elmoussaoui
9239e8446c
cogl: Remove _real suffix from Node parenting API
...
There is no vfunc to override anymore as it used to only chain-up
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3885 >
2024-07-15 21:42:44 +02:00
Bilal Elmoussaoui
f5c376e860
cogl: Move PrimitiveTexture functions to Texture
...
Since the move to GObject for CoglTexture, CoglPrimitiveTexture was
removed. So drop remaining of that.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3885 >
2024-07-15 21:42:38 +02:00
Bilal Elmoussaoui
1d465461a7
cogl: Remove default context gross hack
...
As nothing uses it anymore
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3857 >
2024-07-15 14:39:23 +00:00
Bilal Elmoussaoui
c23bc80ba4
cogl/debug: Take a context param
...
This will make the usage through gdb not as useful as it was
but it is the last remaining usage of a gross hack, so let us get rid of it
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3857 >
2024-07-15 14:39:23 +00:00
Bilal Elmoussaoui
c1733e8d7c
cogl: Keep a backpointer to context/display
...
Allows to retrieve the context from the renderer, allows
to get rid of one GET_CONTEXT usages
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3857 >
2024-07-15 14:39:23 +00:00
Bilal Elmoussaoui
725e826a39
cogl: Require a Renderer/Display when initializing
...
The whole fallbacks all over the place were only useful when Cogl was a separate
library
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3857 >
2024-07-15 14:39:23 +00:00
Bilal Elmoussaoui
54748b7f1f
cogl: Call init when creating a context from Clutter
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3857 >
2024-07-15 14:39:23 +00:00
Bilal Elmoussaoui
9ee1a0fc34
cogl: Expose Renderer.get_proc_address
...
Allows to get rid of the cogl_get_proc_address
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3857 >
2024-07-15 14:39:23 +00:00
Bilal Elmoussaoui
b3ae934304
cogl: Pass Context to cogl_flush
...
Avoids using the global variable & also move the function to
it proper context
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3857 >
2024-07-15 14:39:23 +00:00
Bilal Elmoussaoui
194fa80cdd
cogl: Pass a Context param to winsys_has_feature
...
Avoids using the global variable
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3857 >
2024-07-15 14:39:23 +00:00
Bilal Elmoussaoui
3fd7cdba09
cogl: Pass Context where possible
...
Avoids using the macro & global variable
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3857 >
2024-07-15 14:39:23 +00:00
Bilal Elmoussaoui
24f46448ce
cogl/pango: Take a context as a param when constructing a font map
...
Avoids using the get_context macro
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3857 >
2024-07-15 14:39:23 +00:00
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