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
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
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
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
Jonas Ådahl
524c9aa458
tests: Introduce and use a custom test shell
...
Except for the tests that launches `mutter`, use a custom shell
implementation. It's roughly a copy of default.c with some cleanups on
top. A custom shell allows for a bit more freedom when doing testy
things.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3185 >
2023-08-16 15:34:46 +00:00
Sebastian Wick
ae5512bc05
cogl/tests: Do not blend for texture format paint tests
...
The default cogl blend string is
`RGBA = ADD (SRC_COLOR, DST_COLOR*(1-SRC_COLOR[A]))` which is alpha
blending with premult fragment results. We do not clear the src
framebuffer and even if we did set alpha to 1 in the src fb, the
resulting alpha would be 1 and we want to check the alpha of the
fragment color.
Just turn off any kind of blending instead and write out the fragment
color to the fb.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3065 >
2023-07-19 10:39:55 +00:00
Sebastian Wick
d79e4c182e
cogl/tests: Fix float->int, int->float conversions
...
To obtain a float between 0 and 1 we have to devide the integer by the
highest possible value instead of the number of values.
Fixes off by one errors in the tests on some hardware/driver
combinations.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3065 >
2023-07-19 10:39:55 +00:00
Robert Mader
4097cbbb53
cogl: Extend tests and fix RGB2101010 opaque formats
...
Notably fix several cases where bitmap packing was broken, resulting in
visual corruption with the GLES2 backend. These were reproducible with
the gradient-test from
https://gitlab.freedesktop.org/jadahl/wayland-test-clients
Also extend testing similar to the RGB8888 formats.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3065 >
2023-07-19 10:39:55 +00:00
Robert Mader
f04209dcbf
cogl: Add RGB8888 opaque format variants
...
So we can properly handle matching DRM and WL_SHM formats in a unified
manner.
Add extensive testing between these and existing pre-multiplied alpha
formats, i.e. all formats we support on Wayland.
Note that unfortunately for some format combinations the value in the
alpha channel is not cleared as expected, likely because of fast-paths
in Cogl. If both source and destination format is opaque, it always
works, however. This thereby includes all cases where they are the same.
Co-Authored-By: Jonas Ådahl <jadahl@gmail.com>
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3065 >
2023-07-19 10:39:55 +00:00
Jonas Ådahl
b2579750a7
cogl: Remove legacy OpenGL driver support
...
This means the two Cogl drivers left are OpenGL >= 3.1 and GLES >= 2.0.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2672 >
2023-02-21 18:09:28 +00:00
Jonas Ådahl
2c15a9569e
tests/cogl: Remove extra semicolon
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2814 >
2023-02-01 08:40:53 +01:00
Jonas Ådahl
08b0e563d4
clutter: Pass 'ClutterFrame' in all stage update signals
...
That means before-update, prepare-paint, before-paint, paint-view, after-paint,
after-update. While yet to be used, it will be used as a transient frame
book keeping object, to maintain object and state that is only valid
during a frame dispatch.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2795 >
2023-01-23 15:57:50 +01:00
Jonas Ådahl
ca98895185
tests/cogl: Add test checking rgb10 fbo precision
...
There are two tests; one checks that clearing with a color that cannot
be represented using 8 bits per channel doesn't loose precision when
painted, then read back using glReadPixels(). Would the texture backing
store have 8 bits per channel instead of 10, we'd get a different value
back.
The other test checks that painting from one fbo to another also doesn't
loose that precision.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2461 >
2022-12-17 23:12:34 +00:00
Jonas Ådahl
30daad4da5
cogl/pipeline/vertend/glsl: Move out unit test to its own file
...
Fix a memory leak while at it.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:13 +00:00
Jonas Ådahl
2c72032668
tests/cogl/unit: Run most tests with all drivers
...
All tests but one (so far) will in one way or the other depend on what
driver is used, so run the tests on all.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:13 +00:00
Jonas Ådahl
07f8edde22
cogl/pipeline/opengl: Move out unit test to separate file
...
Also rename the suffix to "-glsl" to not confuse OpenGL with GLES2
since this test covers both.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:13 +00:00
Jonas Ådahl
16a7f77701
cogl/pipeline-state: Move out working unit test to separate file
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:13 +00:00
Jonas Ådahl
ae0f6c549f
cogl/pipeline-state: Move out failing test to its own file
...
This test is a known failure, so mark it as such. It's stored in its own
file since keeping it in the same as the passing test isn't markable
using meson.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:13 +00:00
Jonas Ådahl
57382b6aff
test/cogl/unit: Allow marking known failures
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:13 +00:00
Jonas Ådahl
4905a55f64
cogl/pipeline-cache: Move unit test to its own file
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:13 +00:00
Jonas Ådahl
d0861c8ae2
cogl: Move out bitmask unit test to separate file
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:13 +00:00
Jonas Ådahl
9a9e7e471c
tests/cogl: Add unit test framework
...
It consists of only a macro and build description logic.
Adds a macro for simpler tests that doesn't require a context; unit
tests requiring a context should use the same framework as conform
tests.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:13 +00:00
Jonas Ådahl
4ebaa433ee
cogl: Remove now empty conform test suite
...
All working tests have already migrated to the test suite using mutter;
move the old unported tests over too, and remove the conform test
framework, as it is no longer used.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:13 +00:00
Jonas Ådahl
5d40a5eeea
tests/cogl: Migrate fence test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
2b43ff5963
tests/cogl: Migrate texture rg test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
e7f535a21d
tests/cogl: Migrate pipeline shader state test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
94744061de
tests/cogl: Migrate texture no allocate test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
d066fb5380
tests/cogl: Migrate pipeline cache unrefs texture test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
68dcde0bdb
tests/cogl: Migrate copy/replace texture test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
20111fa8ca
tests/cogl: Migrate primitive and journal test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
3750ed6a26
tests/cogl: Migrate framebuffer bits test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
09990f8bcc
tests/cogl: Migrate texture get/set data test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
85ad013b2d
tests/cogl: Migrate alpha texture test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
629c23b229
tests/cogl: Migrate npot texture test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
33c582d33a
tests/cogl: Migrate map buffer range test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
0a841ce846
tests/cogl: Migrate alpha test test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
5b0fa9cff4
tests/cogl: Migrate layer remove test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
c0746a04f9
tests/cogl: Migrate no-gl header test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
590290cd6d
tests/cogl: Migrate point sprite tests
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
41e5ee63d3
tests/cogl: Migrate point size attribute tests
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
2746861c6a
tests/cogl: Migrate point size test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
ae9b4a1bcf
tests/cogl: Migrate write texture formats test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
ddb982ba6e
tests/cogl: Migrate read texture formats test
...
This test fails on gl and gl3, but not on gles2; mark is at such.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
bfd5e87c92
tests/cogl: List known failures
...
Some tests fail on e.g. gl and gl3, but not on gles2; allow describing
that.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
400cc89364
tests/cogl: Migrate sparse pipeline test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
8dc0489b33
tests/cogl: Migrate primitive tests
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
559c9c8795
tests/cogl: Migrate journal test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
0c6eb86698
tests/cogl: Migrate offscreen test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00
Jonas Ådahl
fd99884063
tests/cogl: Migrate custom attributes test
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555 >
2022-08-08 21:59:12 +00:00