Leo Li
19e56163c2
Mark layers clean, even when allocation is reused
...
Otherwise, layer properties/priority will be stale on next output_apply.
2023-12-20 16:03:49 +00:00
Simon Ser
58b8494dd5
ci: halt on UBSan errors
...
By default UBSan prints a message and carries on, which makes it
easy to miss errors.
2023-11-02 11:11:34 +01:00
Simon Ser
7ceaf440e2
Add a deadline for liftoff_output_apply()
...
We don't want libliftoff to take too long.
References: https://gitlab.freedesktop.org/emersion/libliftoff/-/issues/16
2023-06-20 22:58:26 +02:00
Simon Ser
d98ae24328
Switch to "meson setup"
...
Fixes this warning:
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
2023-02-22 10:57:03 +01:00
Simon Ser
0e3519fd80
ci: drop unnecessary gcovr.cfg lines
...
This file is checked in now.
2023-02-22 10:47:23 +01:00
Simon Ser
25dd6d662e
Fix -Wsign-conversion on 32-bit
...
Closes: https://gitlab.freedesktop.org/emersion/libliftoff/-/issues/75
2023-02-22 10:45:05 +01:00
Simon Ser
314684fc64
plane: add NULL check to liftoff_plane_destroy()
...
All other libliftoff destructors already check for NULL, except
this one.
2023-02-22 10:15:19 +01:00
Simon Ser
94eb185771
build: bump to 0.5.0-dev
2023-02-20 22:09:53 +01:00
Simon Ser
40834142e1
build: bump version to 0.4.0
2023-02-20 22:04:22 +01:00
Simon Ser
ce325b1ee6
Turn on -Wsign-conversion
...
References: https://gitlab.freedesktop.org/emersion/libliftoff/-/issues/74
2023-02-16 21:33:36 +01:00
Simon Ser
b2721f739c
Turn on -Wfloat-conversion
...
References: https://gitlab.freedesktop.org/emersion/libliftoff/-/issues/74
2023-02-16 21:07:05 +01:00
Simon Ser
8c5b0857f0
Add gcovr.cfg
...
Exclude test code and example code from code coverage results.
2023-02-16 20:05:48 +01:00
Simon Ser
99ed53677a
Turn on -Wdeclaration-after-statement
...
Enforces code style.
2023-02-16 20:03:42 +01:00
Simon Ser
fb8ede8f89
editorconfig: increase max line length to 100
...
That's what the kernel uses.
2023-02-16 19:56:31 +01:00
Simon Ser
2045e7d070
Log reason why a previous allocation is not re-used
2023-02-16 19:55:30 +01:00
Simon Ser
63c6043b15
Fix disabled layers forcing realloc
2023-02-16 19:51:42 +01:00
Simon Ser
2f461be62c
Add missing braces for code style
2023-02-16 19:51:24 +01:00
Simon Ser
9e44872217
test/prop: add range/enum/bitmask tests
2023-02-16 12:36:24 +01:00
Simon Ser
a002a240e9
test/prop: simplify by introducing commit() function
2023-02-15 20:12:37 +01:00
Simon Ser
0b910624f5
plane: check value for range/enum/bitmask properties
...
We need to drop the assert from apply_current(): the new value
may be outside the range for instance.
Closes: https://gitlab.freedesktop.org/emersion/libliftoff/-/issues/47
2023-02-15 20:11:57 +01:00
Simon Ser
46f35829e0
plane: check IMMUTABLE flag in plane_set_prop()
2023-02-15 19:30:04 +01:00
Simon Ser
9568888b99
plane: store drmModePropertyRes
...
This retains all of the info we need: ID, name, type, possible
enum values. We'll need the possible enum values in the next
commit.
2023-02-15 19:30:04 +01:00
Simon Ser
8ec1203e64
test: add IN_FORMATS test
2023-02-15 19:19:24 +01:00
Simon Ser
94f45a91c4
test: add liftoff_mock_plane_add_in_formats()
2023-02-15 19:19:24 +01:00
Simon Ser
944ff20b13
alloc: check FB format and modifier
...
Closes: https://gitlab.freedesktop.org/emersion/libliftoff/-/issues/12
2023-02-15 19:19:24 +01:00
Simon Ser
8a9167f9fd
test/libdrm_mock: add stub blob functions
2023-02-15 19:12:46 +01:00
Simon Ser
0811ce855b
test/libdrm_mock: take initial prop value as separate arg
...
drmModePropertyRes.values never holds the current value. Stop
abusing this field.
2023-02-15 18:39:57 +01:00
Simon Ser
afeeafd6d7
test: add basic test for candidate planes
2023-02-15 18:20:23 +01:00
Simon Ser
3e72fc3c5d
test/libdrm_mock: add liftoff_mock_plane_get_id()
...
Useful when manually calling liftoff_plane_create() is desirable.
2023-02-15 18:20:23 +01:00
Simon Ser
6e8998c8a8
Add API to query candidate planes
...
This can be used to implement Wayland's linux-dmabuf-unstable-v1's
feedback mechanism.
Closes: https://gitlab.freedesktop.org/emersion/libliftoff/-/issues/70
2023-02-15 18:20:22 +01:00
Simon Ser
62cd0aad09
test: add dynamic@change-fb-modifier
2023-02-15 18:14:13 +01:00
Simon Ser
ab72b0d5c6
Stop re-using a previous configuration when FB attributes change
...
If FB attributes change, we might be able to take advantage of a
plane we couldn't use before.
Closes: https://gitlab.freedesktop.org/emersion/libliftoff/-/issues/71
2023-02-15 18:14:13 +01:00
Simon Ser
a669c85be6
test/libdrm_mock: implement drmCloseBufferHandle() stub
2023-02-15 18:14:13 +01:00
Simon Ser
e03edeffba
test/libdrm_mock: implement drmModeGetFB2()
...
By default, drmModeGetFB2() behaves as-if the kernel didn't support
the IOCTL. That way we don't need to update all tests to set sensible
FB info.
If a test is specifically interested in testing drmModeGetFB2()
behavior, it can call liftoff_mock_drm_set_fb_info().
2023-02-15 18:14:13 +01:00
Simon Ser
d39d1837fb
test/libdrm_mock: add helpers to convert from/to object index
...
libdrm_mock's KMS object IDs record the type and index.
2023-02-15 17:56:50 +01:00
Simon Ser
e1ccdff079
build: set pkg-config URL
2023-02-15 11:50:33 +01:00
Simon Ser
97e0695932
build: remove unnecessary version param in pkgconfig.generate()
2023-02-06 11:20:24 +01:00
Simon Ser
363951a084
build: override Meson dependency
...
Eases use as a subproject.
2023-02-06 11:18:16 +01:00
Simon Ser
73c44aa52a
readme: disambiguate short description a bit
2022-10-07 07:04:24 +02:00
Simon Ser
f83d81c91e
readme: indicate which compositors use the library
2022-10-07 07:02:55 +02:00
Simon Ser
47b92cb22f
Switch to kernel-doc style references in comments
2022-09-28 21:00:06 +02:00
Simon Ser
bcfca8f602
build: bump version to 0.4.0-dev
2022-08-18 09:18:44 +02:00
Simon Ser
c4488eeff9
build: bump to version 0.3.0
2022-08-18 09:17:49 +02:00
Simon Ser
9c84f7945a
Introduce liftoff_layer_unset_property()
...
This can be used when a propperty doesn't have a default/no-op
value, such as COLOR_ENCODING and COLOR_RANGE.
2022-08-05 23:10:14 +02:00
Simon Ser
1d425f542c
plane: ignore pixel blend mode when set to Pre-multiplied
...
This behaves the same when the property isn't supported.
2022-08-03 23:00:13 +02:00
Simon Ser
4d6989b389
plane: ignore FB_DAMAGE_CLIPS if plane is missing prop
...
Reporting the damage is optional, if the driver doesn't expose the
prop it means it doesn't care about damage.
2022-08-03 22:55:35 +02:00
Simon Ser
0ce48717b4
plane: ignore SCALING_FILTER when set to Default
...
This behaves the same when the property isn't supported.
2022-08-03 22:55:33 +02:00
Simon Ser
79f1647d67
ci: turn off tar verbosity when compressing coverage report
2022-07-27 09:08:00 +02:00
Simon Ser
1eb42e264e
ci: enable meson --fatal-meson-warnings
...
And remove unnecessary -Dauto_features=enabled, since this library
doesn't have any feature options.
2022-07-27 09:07:05 +02:00
Simon Ser
091511af44
ci: build with ASan
2022-07-27 09:05:01 +02:00