Commits on Source (16)
-
Turns out these structures do not need to be in the public header, so move them into a private header. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
161cc864 -
Refactor existing code into a helper, so when I introduce more bit mask enums, I don't need to copy the whole function. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
fd8acf21 -
This will allow me to use this header in libweston core to build a single translation table between core enums, string names, and wdrm enums. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
cfd6f3ea -
Just the definitions. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
8f31f172 -
Currently EOTF mode is not validated against the supported mask, to allow easier experimenting without supplying a modified EDID through the kernel. The validation should be added before color management becomes non-experimental. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
74d1700f -
Helper to assert that a value does not have any bit set outside of the mask. To be used with "all bits mask" of enum types that enumerate bits. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
c310516d -
Complement to weston_assert_true(), to avoid having to use !. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
cd622900 -
This API is mostly for use by the DRM-backend. Colorimetry mode is is the KMS connector property "Colorspace" which defines the video signal encoding colorimetry. A video sink indicates the supported modes in EDID or DisplayID. This patch adds the libweston API that allows backends to indicate the supported modes for the frontends, and frontends to set the mode to be used by backends. Colorimetry mode does not directly affect color management inside Weston, it is only metadata for the video sink. It is the frontend's responsibility to set up an output color profile that agrees with the colorimetry mode. (That API has not been implemented yet.) eotf_mode will be the same. There is only one reason to make this a libweston core API instead of a backend-drm API: when wayland-backend gains color-management protocol support, meaning it can forward WCG and HDR content correctly to a host compositor, the supported colorimetry modes can be determined from the host compositor's supported color-management features, allowing the guest Weston to pick some other output image description than the host compositor's preferred image description. This likely allows only a few other choices from standard colorspaces, so it's possible this isn't sufficient for that use case. Either way, it is easy to just copy the eotf_mode API design, and since colorimetry_mode and eotf_mode go together, let both have the same API design. It is possible to convert this to backend-drm API later. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
53493aad -
Based on KMS "Colorspace" connector property, populate the mask of supported colorimetry modes on a head. EDID should be checked too, but it is currently ignored. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
45ae99af -
Based on what is configured in weston_output, check and set the colorimetry mode into KMS connector property "Colorspace". This changes how video sinks interpret the pixels, and should allow driving e.g. WCG monitors in BT.2020 mode. This does not alter the pixel values themselves. That is the color manager responsibility, and ultimately the responsibility of the frontend and the end user to match the monitor driving mode with the output color profile they chose. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
85560597 -
It would be painful to mock a struct wet_compositor in the tests, so pass that one boolean as an explicit argument instead. This makes it easier to extend the testing of the function. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
f408a245 -
Found when developing tests. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
627dcde0 -
This output section key is used to program the KMS connector property "Colorspace" when used with the DRM-backend. This is an essential part in defining the color encoding used in the video signal, and may allow wide color gamut even on SDR. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
a7a47503 -
The headless backend does not display to anything, so it doesn't care what the colorimetry mode is. To allow testing compositor internal behavior, claim to support all colorimetry modes. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
ea91d595 -
A trivial test to exercise the parsing code at all. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
10d99700 -
Essentially ensures that wet_output_set_eotf_mode() and wet_output_set_colorimetry_mode() work as intended. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
b0d5b066
libweston/backend-drm/drm-kms-enums.h
0 → 100644