Bilal Elmoussaoui
a8f77750fd
cogl: Stop auto generating gl/egl headers
...
They contain nothing that requires generating those headers
automatically
so simplify the whole thing
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3405 >
2023-11-17 11:24:23 +00:00
Bilal Elmoussaoui
f081d4b595
cogl: Remove unused files
...
Fallout of https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3368
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3405 >
2023-11-17 11:24:23 +00:00
Ivan Molodetskikh
47814fab71
Remove COGL_TRACE_BEGIN in favor of BEGIN_SCOPED
...
Scoped traces are less error prone, and they can still be ended
prematurely if needed (this commit makes that work). The only case this
doesn't support is starting a trace inside a scope but ending outside,
but this is pretty unusual, plus we have anchored traces for a limited
variation of that.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3396 >
2023-11-15 13:57:43 +00:00
Bilal Elmoussaoui
f5dac3a5d9
build: One config file to rule them all
...
Group all the three config files from clutter/cogl/meta into one
and also remove unnused configurations and replace duplicated ones
This also fixes Cogl usage of HAS_X11/HAS_XLIB to match the expected
build options
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3368 >
2023-11-15 12:00:19 +00:00
Ivan Molodetskikh
ebba651c81
cogl/trace: Add check for failed sysprof context creation
...
This can fail for example when passing an invalid filename to
mutter --profile, which leads to assertion failures down the line.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3397 >
2023-11-15 11:46:19 +00:00
Bilal Elmoussaoui
5fe3d13db5
cogl/pango: Drop no longer useful file
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3374 >
2023-11-09 15:16:16 +00:00
Bilal Elmoussaoui
bb3de27621
cogl/cleanup: Drop unnused private structs
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3374 >
2023-11-09 15:16:16 +00:00
Sebastian Keller
61de313198
cogl: Unconditionally free pipeline shader/program state cache struct
...
destroy_shader_state()/destroy_program_state() are called when the qdata
pointer to the state cache structure gets overwritten, but were only
conditionally destroying it. This lead to leaks when called with a
shader/program state ref count > 1.
Fixes: 9b9e12edb
("cogl: Port Node/Pipeline/PipelineLayer away from CoglObject")
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3141
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3366 >
2023-11-07 10:15:57 +00:00
Sebastian Wick
5dbb6c31e9
cogl: Rename COGL_PIXEL_FORMAT_G_16 with COGL_PIXEL_FORMAT_R_16
...
Mechanical rename. The format already describes the first two (rg/xy)
components.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3276 >
2023-11-04 00:11:52 +00:00
Sebastian Wick
764d5dd67b
cogl: Rename COGL_PIXEL_FORMAT_G_8 with COGL_PIXEL_FORMAT_R_8
...
Mechanical rename. The format already describes the first (r/x)
component.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3276 >
2023-11-04 00:11:52 +00:00
Bilal Elmoussaoui
51abbb5d4f
cogl: Remove unnused include macro usage
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3349 >
2023-11-03 11:36:07 +00:00
Bilal Elmoussaoui
7a6a821ed0
cogl: Drop unnused experimental API config
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3349 >
2023-11-03 11:36:07 +00:00
Bilal Elmoussaoui
655b4a9c75
Port to MtkRegion
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3292 >
2023-11-03 11:27:52 +00:00
Bilal Elmoussaoui
c01ffdb8ba
cogl/gir: Depend explicitly on Mtk
...
As it is used now for MtkRegion types making the GIR file not containing
the relevant dependency and not being able to resolve MtkRegion type
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3292 >
2023-11-03 11:27:52 +00:00
Bilal Elmoussaoui
ac2f6e8b9e
cogl: Reduce the usage of _COGL_GET_CONTEXT
...
In cases where we already have the context where the function ends up
being called
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3353 >
2023-11-02 15:17:49 +00:00
Bilal Elmoussaoui
2c4968fb41
cogl: Port Primitive away from CoglObject
...
- The associated CoglAttribute's are now stored in GPtrArray as suggested
by carlosg in
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193?commit_id=19b619073b3c7d311c64e0a997558f943b38c94a#note_1849281
- cogl_primitive_set_attributes was dropped for "simplicity"
especially that nothing uses it.
- As this is the last remaining CoglObject subclass, the commit also drops
all the CoglObject related macros/types
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
b4bd69e4e8
cogl/cleanup: Replace CoglUserDataDestroyCallback with GDestroyNotify
...
It is just a typedef
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
b044e26e62
cogl: Drop no longer used user data helpers
...
This also drops the test-object conform test as it doesn't do anything
interesting and the gobject qdata functionnality is already well tested
across the platform
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
9b9e12edb2
cogl: Port Node/Pipeline/PipelineLayer away from CoglObject
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
80ce052a47
cogl/node: Stop taking a custom unparent function
...
As all the use cases end up chaining up anyways
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
6efd4a2282
cogl/cleanup: Use construct-only properties for CoglBuffer
...
Instead of a custom initialize function
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
739c59fefc
cogl: Port Buffer* away from CoglObject
...
Make CoglBuffer an abstract class and inherit the various Cogl*Buffer types from it.
As none of the subclasses is overriding the vtable functions, they were not turned into
vfuncs but plain function pointers in CoglBuffer.
We still use _cogl_buffer_initialize until we port the various params into actual construct-only
properties, similar to the previous commit for CoglTexture.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
1d47e809e4
cogl/cleanup: Use construct-only properties instead of a custom init function
...
It only made sense pre-GObjectified Texture types
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
863163cc6e
cogl: Port Texture* away from CoglObject
...
- Make Texture a parent GObject class and move the vtable funcs as vfuncs
instead of an interface as we would like to have dispose free the TextureLoader.
- Make the various texture sub-types inherit from it.
- Make all the sub-types constructors return a CoglTexture instead of their respective
specific type. As most of the times, the used functions accept a CoglTexture,
like all the GTK widgets constructors returning GtkWidget.
- Fix up the basics of gi-docgen for all these types.
- Remove CoglPrimitiveTexture as it is useless: It is just a texture underhood.
- Remove CoglMetaTexture: for the exact same reason as above.
- Switch various memory management functions to use g_ variant instead of the cogl_ one
Note we would still want to get rid of the _cogl_texture_init which is something
for the next commit
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
586c43d5a9
clutter/cogl: Use more of memory management helpers
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
75023d96bc
cogl: Port Renderer away from CoglObject
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
4792db371a
cogl/cleanup: Stop using CoglHandle
...
We use a GParamSpecPointer for CoglPipeline until that
gets ported from CoglObject
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
c8b4568973
cogl: Drop no longer used define boxed macro
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
93216b3c11
cogl: Port MatrixEntry from Cogl boxed type
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
686081077a
cogl: Port Journal away from CoglObject
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
82ca43c3b6
cogl: Port (OnscreenDirtyClosure|FrameClosure) away from Cogl boxed type
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
60dbceac4f
cogl/object: Drop no longer used Handle macros
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
bbdc0b42fc
cogl: Port Program away from CoglObject
...
This also switches from using CoglHandle to CoglProgram where
appropriate
which allowed dropping a duplicated function that had the wrong
signature...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
3aaae11d6b
cogl: Port Shader away from CoglObject
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
c1e6948e42
cogl: Port Bitmap away from CoglObject
...
We still need to use set_qdata_full as CoglBitmapPixbuf would free
the data itself by unrefing the pixbuf
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
3c6c6a0ea5
cogl: Port Output away from CoglObject
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
946b6c945a
cogl: Port Color to GBoxed
...
Also removes a part of the docs in the private structure as it ends up
being detected as the docs for the public structure causing conflict
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
4afc187062
cogl: Port MatrixStack away from CoglObject
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
d71fe5c55e
cogl: Port OnscreenTemplate away from CoglObject
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
df8ae83040
cogl: Port Indices away from CoglObject
...
Also renames Indices.get_type to Indices.get_indices_type to avoid
a conflict with the generated Object.get_type function
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
4ea3593ebf
cogl: Port Atlas away from CoglObject
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
f0923aab44
cogl: Port Attribute away from CoglObject
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
9d71949b26
cogl: Port SwapChain away from CoglObject
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
312d5c367e
cogl: Port Snippet away from CoglObject
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
1da42dc3c0
cogl: Port Context away from CoglObject
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
0f54700101
cogl: Port Display away from CoglObject
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Bilal Elmoussaoui
748c1fb9f4
cogl: Port FrameInfo away from CoglObject
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3193 >
2023-10-29 21:16:24 +00:00
Robert Mader
de8f69c787
cogl: Clean up HAVE_COGL_GL(ES2) checks
...
These were leftovers from times when GL(ES) 1.x was still supported.
As we require HAVE_COGL_GL and/or HAVE_COGL_GLES2 to be defined, all
cases for checking both are now redundant.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3338 >
2023-10-27 16:13:37 +00:00
Robert Mader
81c6269ca7
cogl/driver/gl: Clean up pre-3.1 checks
...
They were just leftovers from times when we didn't require a 3.1
context.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3338 >
2023-10-27 16:13:37 +00:00
Robert Mader
898044b9a5
cogl/driver: Remove pixel_format_from_gl_internal
...
It's unused.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3338 >
2023-10-27 16:13:37 +00:00