Commits on Source (10)
-
Leandro Ribeiro authored
Up to now, HAVE_LCMS would be set only when users would build Weston with the deprecated cms-static enabled. But we'll start using this in libweston in the next commits, independently of cms-static being enabled or not. So always set HAVE_LCMS when the LittleCMS dependency is found. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
a2f99828 -
Leandro Ribeiro authored
We forgot to include stdbool to weston-assert.h, but this was not causing issues because callers of weston_assert_true() themselves include stdbool. Add stdbool to weston-assert, as this is the right thing to do. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
ba156194 -
Leandro Ribeiro authored
This is preparation for the CM&HDR protocol implementation. It requires us to give a unique id to each color-profile, so let's do that. In this commit we introduce a generic id generator to libweston, and its first user: the color-profile. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
a84806a8 -
Leandro Ribeiro authored
This does not implement the protocol, it will simply run the scanner on the xml to generate the .c and .h files. This is a variant of the color-management protocol that still didn't land upstream on the wayland-protocols repository. We are using that to experiment with the protocol, but we'll completely drop this eventually, when the official protocol lands. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
01b43e52 -
Leandro Ribeiro authored
Similar to pixel-formats.c, but for color properties. This helper aggregates the same color properties from different APIs into tables, and introduce functions to use that. The idea is that we only use that internally in our libweston struct's, and pick the specific API value only when necessary. Preparation for the CM&HDR protocol extension implementation. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
c7d33edd -
Leandro Ribeiro authored
In this MR we add support to the majority of the interfaces from the color-management protocol. That means that we are able to advertise output's images descriptions to clients, preferred surface images descriptions, and so on. We also support clients that wants to create ICC-based images descriptions and set such descriptions for surfaces. We still don't support the interface to allow clients to create image descriptions from parameters, but that should be addressed in the near future. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
5706d7e5 -
Leandro Ribeiro authored
In this patch we enable the color-management protocol support, as long as the color-manager plugin in use supports it. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
188a3ebd -
Leandro Ribeiro authored
When using some features from LittleCMS in our CI, we are seeing some crashes on the address sanitizer. Bumping the LittleCMS version fixes that. So build and install a more recent version of LittleCMS on our CI. We chose version 2.16 because it introduces the function cmsGetToneCurveSegment(). We already make extensive use of that in our codebase, so it is a good idea to have that on our CI as well. Now color-curve-segments.c will start to get build on the CI, as HAVE_CMS_GET_TONE_CURVE_SEGMENT will be true. So we also fix a minor issue in which we were comparing int with uint in this file, what was caught after experimenting bumping the LittleCMS version. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
39ada71c -
Leandro Ribeiro authored
wl_display_get_protocol_error() takes a pointer to interface as parameter and may set it to NULL when the error comes from an unknown interface. That can happen when the client destroys the wl_proxy before calling this function. So when the wl_display.error event comes, it will refer to an object id that has already been marked as deleted in the client's object map. So the protocol error interface will be set to NULL and its id to 0. In our test suite, expect_protocol_error() ignores such case, and asserts that a interface != NULL is set. This commit fixes that, and now callers are able to call expect_protocol_error() when they expect errors from unknown objects. In the next commit we add the color-management protocol implementation tests, and that requires such case to work. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
67c6d396 -
Leandro Ribeiro authored
Exercise the color-management protocol mechanics. This lacks a few test cases that are a bit harder to have, e.g. testing that a bad ICC file gets rejected. In the future we plan to add them. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
0ade70fb
libweston/color-management.c
0 → 100644
This diff is collapsed.
libweston/color-management.h
0 → 100644
libweston/color-properties.c
0 → 100644
libweston/color-properties.h
0 → 100644
libweston/id-number-allocator.c
0 → 100644