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
Georges Basile Stavracas Neto
c1c8a4ba09
cogl/output: Make it private to Cogl
...
Don't expose its headers, remove all getters, and move the rest to
cogl-output-private.h. Next commits will clean it up even more, but
for now, just make it private.
This will help next commits remove CoglOutput.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3792 >
2024-06-03 08:31:58 +00:00
Georges Basile Stavracas Neto
3ba7f626ed
cogl: Remove unecessary includes
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3792 >
2024-06-03 08:31:58 +00:00
Marco Trevisan (Treviño)
bcec6df78e
cogl: Do not store the XVisualInfo
...
We were leaking one instance because _cogl_winsys_egl_context_created()
could be potentially be called twice (via cogl_display_setup() one as
part of cogl_renderer_check_onscreen_template() and the other when
called from clutter_backend_do_real_create_context()), and so we'd ended
up overwriting the reference we had.
However, we really didn't use it anywhere and once used to call the
relevant functions it's just useless.
So let's just keep it as local variable
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3788 >
2024-05-31 11:01:00 +00:00
Georges Basile Stavracas Neto
06dde49d12
cogl/renderer: Remove dead code
...
Introduced by dad9f64b5f
, but wasn't caught on review.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3782 >
2024-05-27 10:29:10 +02:00
Bilal Elmoussaoui
b054a09aa1
cogl: Remove unnused Renderer.foreach_output
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3781 >
2024-05-26 16:12:48 +02:00
Bilal Elmoussaoui
c506c194b6
cogl: Don't allow overriding renderer winsys_id
...
It is an API that no longer makes sense, as Cogl is only usable inside of Mutter
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3781 >
2024-05-26 16:11:47 +02:00
Bilal Elmoussaoui
dad9f64b5f
cogl: Don't allow overriding renderer constraints
...
It is an API that no longer makes sense, as Cogl is only usable inside of Mutter
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3781 >
2024-05-26 16:10:21 +02:00
Jonas Ådahl
c192f51159
cogl: Add sync fd feature enum value
...
This is meant to tell whether cogl_context_get_latest_sync_fd() is
supposed to work or not. It's enabled when ANDROID_native_fence_sync is
exposed by the driver.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3771 >
2024-05-23 16:42:21 +00:00
Bilal Elmoussaoui
5cac24346d
cogl: Remove unused DEFAULT_DRIVER code
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3762 >
2024-05-21 09:38:35 +00:00
Bilal Elmoussaoui
5752704886
cogl: Remove COGL_RENDERER env variable
...
Doesn't seem to be that useful with Cogl being embedded inside Mutter nowadays.
Spotted by Georges
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3762 >
2024-05-21 09:38:35 +00:00
Georges Basile Stavracas Neto
638d3355b4
cogl: Drop CoglSwapChain
...
CoglSwapChain is currently unused, and doesn't hold any information
nor is used for anything in particular.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3759 >
2024-05-20 11:45:31 +00:00
Bilal Elmoussaoui
fc623c1ed1
build: Enable -Werror=shadow and fix related issues
...
Mostly renames or removing already defined types
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3378 >
2024-05-06 15:54:16 +00:00
Michel Dänzer
09267d0bdd
cogl/onscreen: Add cogl_onscreen_egl_maybe_create_timestamp_query
...
Move the code out of cogl_onscreen_egl_swap_buffers_with_damage, and
call the new function from callers of the former.
v2:
* Use early return if the cogl context doesn't support timestamp
queries. (Sebastian Wick)
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3689 >
2024-04-10 11:17:23 +02:00
Michel Dänzer
0bbc25f694
cogl: Update latest sync fd from cogl_onscreen_swap_buffers_with_damage
...
Preparation for later changes, no functional change intended.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3689 >
2024-04-10 11:17:19 +02:00
Bilal Elmoussaoui
34d79b9ddf
cogl: Make sure generated enum header is built before sources using it
...
Fixes: 63a558950
("cogl: Generate a GType for PixelFormat")
Closes https://gitlab.gnome.org/GNOME/mutter/-/issues/3413
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3690 >
2024-04-07 14:29:07 +00:00
Bilal Elmoussaoui
260a8d92dc
cogl: Use uint64_t for size params
...
As we are using a GParamSpecUint64 for that property
which makes it fail under 32bits platforms
Fixes: 6efd4a228
("cogl/cleanup: Use construct-only properties for
CoglBuffer")
Closes https://gitlab.gnome.org/GNOME/mutter/-/issues/3408
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3683 >
2024-04-03 14:30:49 +00:00
Austin Shafer
99209958b9
cogl: Store latest GPU work completed sync fd
...
This keeps an internal sync_fd for the latest work submitted to
the GPU. This can then be fetched with cogl_context_get_latest_sync_fd
for use. This is intended for use with linux-drm-syncobj-v1
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3300 >
2024-03-28 13:27:42 -04:00
Robert Mader
683e917854
cogl/winsys: Remove eglGetProcAddress workaround for EGL < 1.5
...
`eglGetProcAddress()` used to not work for core API in EGL versions
below 1.5. The workaround in place in turn can fail - notably for setups
with a local Mesa build in /usr/local.
EGL 1.5 is almost 10 years old and similar workarounds don't seem to be
in place for toolkits we rely on, notably GTK4. Thus remove it.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3655 >
2024-03-13 16:37:31 +01:00
Robert Mader
aaae07f9dd
onscreen/native: Mark GPU rendering duration as valid if supported
...
Since commit e30eb78891
`ClutterFrameClock` assumes that a valid CPU time
implies timestamp query support, which is also checked in
`cogl_onscreen_egl_swap_buffers_with_damage()`.
Unconditionally setting the CPU time on direct scanout meant that the
compositing path would be stuck on the last (direct scanout optimized)
result on GL implementations without timestamp query support since.
be0aa2976e
(clutter/frame-clock: Avoid rapidly toggling dynamic max render time)
Fix that by explicitly marking the gpu rendering duration as valid when
querying the GPU timestamps is supported and check for it ClutterFrameClock.
Fixes: 56580ea7c9
("backends/native: Assume zero rendering time for direct scanout buffers")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3655 >
2024-03-13 16:37:16 +01:00
Zander Brown
6a445d2eef
build: Make exported package in gir consistent
...
Additionally Cogl was missing xlib as an include
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1918 >
2024-03-13 12:52:41 +00:00
Corentin Noël
c4767b6c01
cogl: Increase annotation coverage
...
Upstream the annotations used in Gala, make more Cogl methods available since
things got moved to a GObject base and thus works natively with the introspection.
Add all the public API to the introspection.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3619 >
2024-02-27 14:45:29 +00:00
Bilal Elmoussaoui
60e10511ae
cogl: Remove Color.init_from_4ub
...
Slowly switching to using floats only in CoglColor
Helps https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3544
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3594 >
2024-02-22 12:34:58 +00:00
Bilal Elmoussaoui
cf0803ab71
cogl: Remove Color.get_*_byte
...
Helps with https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3544
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3594 >
2024-02-22 12:34:58 +00:00
Bilal Elmoussaoui
40dde833af
cogl: Remove Color.get_*_float
...
They are exactly the same as the get_* variants
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3594 >
2024-02-22 12:34:57 +00:00
Bilal Elmoussaoui
77f95d2203
cogl: Drop unused Color APIs
...
Simplifies the overall API as preparation of merging both
CoglColor and ClutterColor
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3594 >
2024-02-22 12:34:57 +00:00
Corentin Noël
e7de5c36f3
build: Remove the config.h inclusion from all public headers
...
Do not include it at header side as it is not part of the installed headers.
Only keep it in cogl-gl-headers.h as it is a private header.
Add it to all the source files that depend on it.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3593 >
2024-02-17 11:58:55 +00:00
Doğukan Korkmaztürk
34d00d769e
render-device: Update DMA-BUF allocation API to allow modifiers
...
meta_render_device_gbm_allocate_dma_buf() function is updated to take a
list of modifiers. If no modifiers are specified, the modifier is
selected by the allocator, and implicit modifiers are used to import the
created DMA-BUF.
Co-authored-by: Jonas Ådahl <jadahl@gmail.com>
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3537 >
2024-02-16 08:22:04 -05:00
Bilal Elmoussaoui
2c613df4eb
cogl: Drop Pipeline.set_color_*
...
Those setters variants makes it very hard to do across project changes
to the
color type. As part of
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3544
I would like to switch from using integers to floats inside CoglColor
which this PR would simplify
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3553 >
2024-02-16 12:13:23 +01:00
Daniel van Vugt
c63fdba6b3
cogl/onscreen/glx: Remove extraneous spaces
...
check-code-style was complaining about this.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3587 >
2024-02-15 15:13:17 +08:00
Daniel van Vugt
53ca3a0089
cogl/onscreen/glx: Remove comment about clipped redraws not being supported
...
They've been supported for a very long time.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3587 >
2024-02-15 14:57:23 +08:00
Daniel van Vugt
ea486b200f
cogl/onscreen/glx: Remove duplicate wait function
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3587 >
2024-02-15 14:55:18 +08:00
Robert Mader
912cd80f10
cogl/scanout: Add API for source/destination rectangles
...
These will get passed on to KMS later.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3177 >
2024-02-10 17:41:12 +00:00
Robert Mader
52c4b85161
cogl: Turn CoglScanout into an object
...
We need an object to hold additional scanout related information, such
as scaling and positioning data. Turn CoglScanout into such an object,
moving the interface into CoglScanoutBuffer.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3177 >
2024-02-10 17:41:12 +00:00
Daniel van Vugt
c43f57f757
cogl/onscreen/glx: Fix x/y mixup used to identify the current output
...
I haven't seen this cause a problem but it looks like the worst case is
that it would have put the wrong refresh rate value in CoglFrameInfo
for multi-monitor systems of differing frequencies. But even that seems
unlikely given `_cogl_xlib_renderer_output_for_rectangle` chooses the
output with the greatest overlap of the partially-correct rectangle.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3569 >
2024-02-08 18:03:03 +08:00
Robert Mader
03c3b642bd
cogl: Move CoglScanout declarations from onscreen to types
...
While closely related, types appears to be the more appropriate place
these days.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3559 >
2024-02-02 17:40:37 +01:00
Bilal Elmoussaoui
f0ebc41205
cogl: Move cairo dependency to cogl-pango
...
As cairo is not used in cogl API
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3530 >
2024-01-27 10:03:15 +00:00
Bilal Elmoussaoui
a55b080129
gir: Remove unnused cairo include
...
As cairo is not used in the public API
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3530 >
2024-01-27 10:03:15 +00:00
Sebastian Wick
41a7e8e3e0
build: Make g-ir-scanner warnings fatal when -werror is set
...
This should help catching problems with introspection in CI.
This also pulls out some common arguments to the gnome.generate_gir
call.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3528 >
2024-01-17 09:26:00 +00:00
Sebastian Wick
db492fe335
cogl: Use COGL_ENABLE_DEBUG instead of COGL_DEBUG_ENABLED
...
COGL_DEBUG_ENABLED is a macro to check if a debug flag is set.
COGL_ENABLE_DEBUG is set by the build system if it's a debug build. The
check `#ifdef COGL_DEBUG_ENABLED` always evaluates to true. Use the
appropriate macro to guard some debugging code.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3446 >
2024-01-15 22:28:54 +00:00
Sebastian Wick
6749151ac9
cogl/pipeline: Use the pipeline context instead of the default context
...
In practise they are the same right now but this prepares CoglPipeline
for a future where we have multiple contexts.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3446 >
2024-01-15 22:28:54 +00:00
Sebastian Wick
a9944b27aa
cogl/pipeline: Refactor pipeline initialization
...
Make it a bit easier to follow the construction process and rely on
GObjects zero-initialization in more places.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3446 >
2024-01-15 22:28:54 +00:00
Corentin Noël
cb03b46a20
cogl/onscreen: Add several introspection annotations
...
Only an unowned closure is returned by the add_*_callback methods as the object
itself owns the closure.
Add array annotation when taking an array of integers.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3516 >
2024-01-12 15:04:30 +00:00
Robert Mader
5ffeb34251
build: Enable no-omit-frame-pointer for all non-plain builds
...
This is useful for local installations with e.g. the `release`
buildtype.
Further more, Fedora has been doing the same system wide and it
apparently was helpful in various ways, see also
Also add -mno-omit-leaf-frame-pointer, like Fedora.
https://blogs.gnome.org/chergert/2023/10/03/what-have-frame-pointers-given-us-anyway/
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3333 >
2024-01-09 16:26:57 +00:00
Robert Mader
ee65ca791b
build: Harmonize c_args handling
...
The slightly different styles in the different build files make it
harder to reason about or share c_args.
This notably ensures we never set any extra c_args for plain builds and
fixes the cc.get_supported_arguments() check in Cogl, Clutter and Mtk.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3333 >
2024-01-09 16:26:57 +00:00
Bilal Elmoussaoui
346e9a7f2c
docs: Remove remaining SECTIONs
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3489 >
2024-01-09 15:23:04 +00:00
Bilal Elmoussaoui
00b4d4c4bc
docs: Update more links to gi-docgen
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3489 >
2024-01-09 15:23:04 +00:00
Bilal Elmoussaoui
e7a920f94d
docs: Migrate remaining content to markdown
...
By stopping using gtk-doc annotations
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3489 >
2024-01-09 15:23:04 +00:00
Sebastian Wick
a0a1d102a0
cogl/bitmap-conversion: Don't break strict-aliasing for flt_pack/unpack
...
Simply reinterpreting the bytes differently is a strict-aliasing
violation if the type of the object isn't char or the target type of the
reinterpretation. None of that is the case here, so we have to resort to
a memcpy.
Fixes: 60c082caa
("cogl/bitmap-conversion: Support packing fp16 formats")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3499 >
2024-01-09 14:43:16 +00:00
Sebastian Wick
0cd85e4adf
cogl/half-float: Include SSE intrinsics
...
The intel intrinsics (including SSE) are only included in the header if
the arch is x86_64 which made the i686 build fail.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3234
Fixes: 568506ecb
("cogl: Add half float implementation")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3499 >
2024-01-09 14:43:16 +00:00
Bilal Elmoussaoui
0f6df633fe
cogl/pango: Drop PANGO_ENABLE_BACKEND usage
...
Dropped before Pango 1.46 which is the min required version
so the backward compatibility is no longer needed
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3491 >
2024-01-05 14:22:22 +01:00
Bilal Elmoussaoui
3b4fe5d577
cleanup: Make cogl includes consistent
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3491 >
2024-01-05 14:22:22 +01:00
Bilal Elmoussaoui
2317fbe7c4
cogl: Remove no longer useful define
...
No longer a public lib so the comment no longer applies as well
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3491 >
2024-01-05 14:22:22 +01:00
Bilal Elmoussaoui
3fcff05847
cogl/pango: Remove no longer needed version check
...
We require pango 1.46 nowadays
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3491 >
2024-01-05 14:22:22 +01:00
Bilal Elmoussaoui
f20cb09f34
cogl: Generate a GType for Buffer{BindTarget|UpdateHint}
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3357 >
2024-01-05 12:25:00 +00:00
Bilal Elmoussaoui
3280fee8bc
cogl: Make BufferBindTarget public
...
It would be used in the next commit to generate a gtype and
be used for Buffer::default-target
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3357 >
2024-01-05 12:25:00 +00:00
Bilal Elmoussaoui
63a558950b
cogl: Generate a GType for PixelFormat
...
So that CoglTexture uses the proper pspec type for it format property
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3357 >
2024-01-05 12:25:00 +00:00
Sebastian Wick
985e93f9fa
cogl/cpu-caps: Build cpuid and xgetbv only for x86_64
...
This also adds the cpuid functionality inline and checks for GCC ASM
flag output support.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3226
Fixes: 3bf6de60b
("cogl: Add CPU capability detection helper")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3488 >
2024-01-04 16:45:37 +00:00
Bilal Elmoussaoui
7f1b890df1
cogl: Add missing new block in switch case
...
Closes #3226
Fixes: 6efd4a228
("cogl/cleanup: Use construct-only properties for
CoglBuffer")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3478 >
2024-01-04 15:51:52 +00:00
Bilal Elmoussaoui
a72f44132d
build: Make use of defined req variables
...
Closes https://gitlab.gnome.org/GNOME/mutter/-/issues/752
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3482 >
2024-01-03 12:09:46 +00:00
Sebastian Wick
e40a256584
cogl/pixel-format: Support 16 bpc UNORM formats
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3371 >
2023-12-20 23:51:14 +00:00
Bilal Elmoussaoui
05cd7bc6cb
cogl: Remove unused Buffer:usage-hint
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3437 >
2023-12-13 11:20:04 +00:00
Bilal Elmoussaoui
bc44d2855b
cogl: Initialize first_index_to_prune
...
I don't know how come that the compiler wasn't complaining about it till now
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3437 >
2023-12-13 11:20:04 +00:00
Bilal Elmoussaoui
6b29371db3
cogl: Remove unused private functions
...
The commit also moves certain functions from the private header
as they are not used anywhere else and removes COGL_EXPORT
when the function is supposed to be private and is not used outside of
cogl
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3437 >
2023-12-13 11:20:04 +00:00
Bilal Elmoussaoui
5d9e9707dd
cogl: Remove unused CoglPipelineEvalFlags
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3437 >
2023-12-13 11:20:04 +00:00
Robert Mader
7454287d3b
cogl/gles: Fix GL_OES_rgb8_rgba8 check
...
Fixes: bbf2d83e94
("cogl/gles: Require OES_rgb8_rgba8 to have color-renderable 8bpc formats")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3451 >
2023-12-11 23:28:24 +01:00
Sebastian Wick
60c082caaf
cogl/bitmap-conversion: Support packing fp16 formats
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3441 >
2023-12-06 23:01:02 +01:00
Sebastian Wick
e6eed4f32c
cogl: Add a fp32 format for pixel read-back
...
We will also require GL_OES_texture_half_float and GLES 3.0 to enable
COGL_FEATURE_ID_TEXTURE_HALF_FLOAT. This gives us float types and makes
it possible to read pixels from framebuffers with internal floating
point formats (into float, half is never supported).
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3441 >
2023-12-06 23:00:49 +01:00
Jonas Ådahl
568506ecbe
cogl: Add half float implementation
...
This implementation is copied from mesa.
It uses x86_64 assembler on CPUs where it's supported, otherwise falls
back on a software implementation (cogl-soft-float.c). It's intended to
be used for packing and unpacking f16 format bitmaps.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3441 >
2023-12-06 21:18:11 +01:00
Jonas Ådahl
3bf6de60bb
cogl: Add CPU capability detection helper
...
This will be needed to support the fast half float implementations.
Copied from mesa and adapted.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3441 >
2023-12-06 21:18:11 +01:00
Jonas Ådahl
8420692d3e
cogl: Add soft-float software implementation
...
The implementation comes from mesa, which came from Berkeley SoftFloat
3e Library.
The software float implementation will be used to convert from and to
half floating point pixel format bitmaps, when no the CPU isn't capable
of the conversion.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3441 >
2023-12-06 21:18:11 +01:00