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
Robert Mader
26c3686162
cogl: Remove some unused files
...
Note that the .gitignore may prevented other files from being removed in
older checkouts.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3338 >
2023-10-27 16:13:37 +00:00
Michel Dänzer
e3749ac871
Remove unused _cogl_texture_2d_nop_* functions
...
Never used in mutter AFAICT.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3178 >
2023-10-26 09:49:29 +00:00
Michel Dänzer
3f0184982d
Remove unused _cogl_poll_renderer_remove_source
...
Never used in mutter AFAICT.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3178 >
2023-10-26 09:49:29 +00:00
Michel Dänzer
e803e7718d
Remove unused _cogl_poll_renderer_modify_fd
...
Unused since 865da1457a
("renderer: drop wayland client support").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3178 >
2023-10-26 09:49:29 +00:00
Michel Dänzer
8511041c9e
Remove unused _cogl_pipeline_get_layer_min/mag_filter
...
Unused since 9b16b74b5d
("cogl: Remove unused stuff from
cogl-material-compat.[ch]").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3178 >
2023-10-26 09:49:29 +00:00
Michel Dänzer
0363f68561
Remove unused _cogl_memory_stack_rewind
...
Never used in mutter AFAICT.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3178 >
2023-10-26 09:49:29 +00:00
Michel Dänzer
935cb48f71
Remove unused _cogl_framebuffer_get_winsys
...
Unused since 4f3b57c841
("cogl/onscreen: Move buffer age getter vfunc
to class").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3178 >
2023-10-26 09:49:29 +00:00
Michel Dänzer
600bcca747
Remove unused _cogl_pipeline_has_fragment_snippets
...
Unused since 8f58ad02fb
("cogl: Remove fixed pipeline support").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3178 >
2023-10-26 09:49:28 +00:00
Bilal Elmoussaoui
98bd2aa2c2
clutter: Move cairo pixel format to cogl
...
As Cogl already defines a pixel format enum, it makes sense to move such
endian dependant pixel format there
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3086 >
2023-10-25 20:03:08 +00:00
Bilal Elmoussaoui
7bd4e18231
cogl/cleanup: Drop no longer used CoglAngle
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3288 >
2023-10-25 19:06:47 +00:00
Bilal Elmoussaoui
b78951ad09
cogl: Drop can_convert_in_place from TextureLoader
...
As nothing really sets it (see previous commits)
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3097 >
2023-10-23 16:32:35 +00:00
Bilal Elmoussaoui
d492dc7687
cogl: Drop various private constructors
...
They are only useful for passing a different value for convert_in_place
but none of these are used
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3097 >
2023-10-23 16:32:35 +00:00
Bilal Elmoussaoui
138767fa7c
cogl: Drop unnused functions
...
These functions ends-up calling gdk-pixbuf for loading textures/bitmaps
from a file and they don't seem to be used anywhere.
These changes are only useful with the following up commit.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3097 >
2023-10-23 16:32:35 +00:00
Barnabás Pőcze
c58312e249
cogl/onscreen: Add missing error untrap calls
...
Every `mtk_x11_error_trap_push()` must be paired
with an `mtk_x11_error_trap_pop[_with_return]()` call
otherwise all future errors will be caught and ignored
even if they shouldn't be.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3328 >
2023-10-16 15:27:14 +02:00
Ivan Molodetskikh
6cfdbef3c2
cogl/trace: Correct dummy define name
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3317 >
2023-10-09 11:13:10 +04:00
Ivan Molodetskikh
ad3c40cbd0
cogl: Replace HAVE_TRACING with COGL_HAS_TRACING
...
The former was only used in the .c file, everything else uses the latter.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3313 >
2023-10-06 08:38:54 +04:00
Robert Mader
15320b5a66
cogl/pixel-format: Add G16 and RG1616 pixel formats
...
They are needed as "subformats" for higher bit YCbCr formats, such as
P010, and we don't plan to use or expose them otherwise. Thus don't
implement any conversion or packing features.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3244 >
2023-09-13 14:11:27 +02:00
Robert Mader
4c5b2e0e48
cogl: More explicitly mark formats as not supported
...
To ensure they don't get used by accident.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3244 >
2023-09-13 14:11:27 +02:00
Daniel van Vugt
3f7c1be59a
cogl: Remember to bind the GLX context to our drawable before querying
...
Or else `glXQueryDrawable` will fail per the `GLX_EXT_buffer_age` spec:
> If querying GLX_BACK_BUFFER_AGE_EXT and <draw> is not bound to
> the calling thread's current context a GLXBadDrawable error is
> generated.
This mistake went unnoticed until `mtk_x11_error_trap_push` was introduced
(55e3b2e519
) because for some reason it is incapable of trapping
`glXQueryDrawable`. Prior to that it seems
`cogl_onscreen_glx_get_buffer_age` would trap and so always returned zero.
This means we're reenabling clipped redraws on X11 here for the first
time in a long time.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3007
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3255 >
2023-09-12 13:14:27 +00:00
Carlos Garnacho
55e3b2e519
cogl: Replace xlib error traps with Mtk ones
...
Replace these with Mtk error traps altogether, and avoid stacking
one API over the other here.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3230 >
2023-09-02 09:52:54 +00:00