weston/libweston
Pekka Paalanen 7c13c4a476 color-lcms: use sRGB EOTF
Initialize LittleCMS and use it to generate the sRGB EOTF and inverse
curves. Use these curves to define the blending color space as optical
(linear) sRGB by assuming that both content and output color spaces are
sRGB.

As a consequence, this causes Weston to do "gamma correct blending", as
in, blend in light linear space which should avoid distorting colors in
alpha gradients, when color-lcms is active.

This makes use of the 3x1D LUT support added in gl-renderer earlier, and
shows how the color manager is responsible for re-using existing color
transformation objects.

Co-authored-by: Vitaly Prosyak <vitaly.prosyak@amd.com>
Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2021-06-21 14:36:33 +00:00
..
backend-drm backend-drm: Clear drm_output cursor_view when view is destroyed 2021-06-14 13:31:41 +00:00
backend-fbdev pixman-renderer: Replace output-create flags with struct 2020-03-20 15:25:24 +00:00
backend-headless Add weston-drm-fourcc.h 2021-02-25 14:35:03 +02:00
backend-rdp backend-rdp: release seat on peer disconnect 2020-10-16 12:11:27 +00:00
backend-wayland wayland-backend: forward seats with the correct name 2021-05-15 15:57:18 +00:00
backend-x11 Add weston-drm-fourcc.h 2021-02-25 14:35:03 +02:00
color-lcms color-lcms: use sRGB EOTF 2021-06-21 14:36:33 +00:00
renderer-gl gl-renderer: color transform in blit_shadow_to_output() 2021-06-21 14:36:33 +00:00
animation.c libweston: add missing include 2020-01-29 09:49:41 +00:00
backend.h pixman-renderer: share region_global_to_output() 2021-02-25 13:16:02 +02:00
bindings.c libweston: add missing include 2020-01-29 09:49:41 +00:00
clipboard.c libweston: add missing include 2020-01-29 09:49:41 +00:00
color-noop.c color: add from sRGB to blending color transformation 2021-06-14 12:53:41 +00:00
color.c libweston: introduce CMS component architecture 2021-06-14 12:53:41 +00:00
color.h gl-renderer: implement 3 x 1D LUT color pre-curve 2021-06-21 14:36:33 +00:00
compositor.c libweston: remove weston_output_set_renderer_shadow_buffer() 2021-06-14 16:04:43 +03:00
content-protection.c compositor: Prevent an invalid access against content protection 2021-05-12 17:51:49 +03:00
data-device.c data-device: cleanup after touch drag 2021-05-15 15:54:03 +00:00
dbus.c dbus: Don't return value from void function 2019-06-11 11:31:04 +01:00
dbus.h Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
drm-formats.c libweston: do not forget to destroy temporary drm_format_array 2021-06-16 13:36:43 +00:00
git-version.h.meson Add Meson build system 2018-12-09 14:50:54 +02:00
input.c input: Use cursor surface dimensions to evaluate presence of content 2021-06-10 17:20:30 +03:00
launcher-direct.c launcher-direct: handle seat0 without VTs 2021-01-21 09:02:26 +00:00
launcher-impl.h libweston/launcher: libseat backend 2021-04-14 09:22:17 +00:00
launcher-libseat.c libweston/launcher: libseat backend 2021-04-14 09:22:17 +00:00
launcher-logind.c libweston/launcher: Allow VT switch without get_vt 2021-04-14 09:22:17 +00:00
launcher-util.c libweston/launcher: Allow VT switch without get_vt 2021-04-14 09:22:17 +00:00
launcher-util.h Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
launcher-weston-launch.c launcher: remove unused field 2021-04-12 08:03:42 -06:00
libinput-device.c libweston/libinput-device: Enable/Set pointer capabilities only on pointer movement 2020-12-08 17:54:55 +02:00
libinput-device.h Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
libinput-seat.c libinput-seat: update leds when a new device is added 2021-05-31 11:31:22 +00:00
libinput-seat.h Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
libweston-internal.h libweston: introduce CMS component architecture 2021-06-14 12:53:41 +00:00
linux-dmabuf.c gl-renderer: do not expose query_dmabuf_formats and query_dmabuf_modifiers 2021-04-27 19:56:38 +00:00
linux-dmabuf.h drop MOD_INVALID, MOD_LINEAR definitions 2021-02-25 14:35:03 +02:00
linux-explicit-synchronization.c libweston: Advertise minor version 2 of zwp_linux_explicit_synchronization_v1 2019-08-02 15:00:08 +00:00
linux-explicit-synchronization.h libweston: Support zwp_surface_synchronization_v1.set_acquire_fence 2019-02-06 12:21:56 +00:00
linux-sync-file-uapi.h libweston: Introduce an internal linux sync file API 2019-02-06 12:21:56 +00:00
linux-sync-file.c libweston: export weston_linux_sync_file_read_timestamp() 2019-04-18 12:50:55 +03:00
linux-sync-file.h libweston: export weston_linux_sync_file_read_timestamp() 2019-04-18 12:50:55 +03:00
log.c libweston: add missing include 2020-01-29 09:49:41 +00:00
meson.build libweston: begin color-lcms plugin 2021-06-14 12:53:41 +00:00
noop-renderer.c libweston: add missing include 2020-01-29 09:49:41 +00:00
pixel-formats.c libweston: fix #ifdef ENABLE_EGL 2021-03-12 16:14:28 +02:00
pixel-formats.h pixel-formats: add RGBA bits and type fields 2019-10-04 12:17:18 +03:00
pixman-renderer.c color: add output color transform API 2021-06-14 12:53:41 +00:00
pixman-renderer.h pixman-renderer: Replace output-create flags with struct 2020-03-20 15:25:24 +00:00
plugin-registry.c Rename plugin-registry.h to libweston/plugin-registry.h 2019-04-18 12:31:46 +03:00
screenshooter.c libweston: do not damage on screenshot 2021-02-25 12:47:07 +02:00
spring-tool.c Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
timeline.c libweston: fix typos 2021-02-24 10:01:17 -05:00
timeline.h libweston: move TYPEVERIFY macro into shared 2021-02-17 12:52:33 +00:00
touch-calibration.c libweston: don't clean up surface role 2020-06-12 09:23:11 +00:00
vertex-clipping.c Rename src/ to libweston/ 2016-06-23 17:44:54 +03:00
vertex-clipping.h Rename src/ to libweston/ 2016-06-23 17:44:54 +03:00
weston-direct-display.c libweston: Add weston-direct-display server side implementation 2019-11-18 19:33:09 +02:00
weston-launch.c launcher: fix socket message race condition 2021-04-10 22:29:30 +00:00
weston-launch.h launcher: remove unused enum value 2021-05-15 15:40:24 +00:00
weston-log-file.c weston-log: destroy subscriptions with destruction of subscribers 2020-02-10 10:53:50 +00:00
weston-log-flight-rec.c weston-log: destroy subscriptions with destruction of subscribers 2020-02-10 10:53:50 +00:00
weston-log-internal.h weston-log-wayland: make stream_destroy() use weston_log_subscriber_release() 2020-02-10 10:53:50 +00:00
weston-log-wayland.c weston-log-wayland: make stream_destroy() use weston_log_subscriber_release() 2020-02-10 10:53:50 +00:00
weston-log.c libweston: fix typos 2021-02-24 10:01:17 -05:00
zoom.c libweston: Add functions to modify disable_planes counter for an output 2019-08-26 16:18:22 +05:30