96f0fc3974
Add post-curve support in color.h. Pre-curve and post-curve describe color pipeline components in a single GL shader invocation.The GL shader is supposed to match struct weston_color_transform exactly. We have the following color pipeline: shader A -> blending -> shader B -> KMS. Both A and B shaders using the same source file :fragment.glsl. Each shader has pre and post curve. The typical color pipeline with 3DLUT: Shader A: pre-curve identity->3DLUT->blending->post-curve identity Shader B: pre-curve->3DLUT identity->post-curve identity->KMS The typical color pipeline with matrix (in next commits): Shader A: pre-curve->matrix->blending->post-curve identity Shader B: pre-curve->matrix identity->post-curve identity->KMS The pre-curve plays role of EOTF (shader A) or INV_EOTF (shader B) becouse we are stiching the shaders. We assume that someone in the future may use both pre-curve and post-curve, for example, when it is not possible to combine these curves into 3DLUT and we will do mapping elements based on their location in ICC profile. Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com> |
||
---|---|---|
.. | ||
backend-drm | ||
backend-headless | ||
backend-rdp | ||
backend-wayland | ||
backend-x11 | ||
color-lcms | ||
desktop | ||
renderer-gl | ||
animation.c | ||
backend.h | ||
bindings.c | ||
clipboard.c | ||
color-noop.c | ||
color.c | ||
color.h | ||
compositor.c | ||
content-protection.c | ||
data-device.c | ||
dbus.c | ||
dbus.h | ||
drm-formats.c | ||
git-version.h.meson | ||
input.c | ||
launcher-impl.h | ||
launcher-libseat.c | ||
launcher-logind.c | ||
launcher-util.c | ||
launcher-util.h | ||
libinput-device.c | ||
libinput-device.h | ||
libinput-seat.c | ||
libinput-seat.h | ||
libweston-internal.h | ||
linux-dmabuf.c | ||
linux-dmabuf.h | ||
linux-explicit-synchronization.c | ||
linux-explicit-synchronization.h | ||
linux-sync-file-uapi.h | ||
linux-sync-file.c | ||
linux-sync-file.h | ||
log.c | ||
meson.build | ||
noop-renderer.c | ||
pixel-formats.c | ||
pixel-formats.h | ||
pixman-renderer.c | ||
pixman-renderer.h | ||
plugin-registry.c | ||
screenshooter.c | ||
spring-tool.c | ||
timeline.c | ||
timeline.h | ||
touch-calibration.c | ||
vertex-clipping.c | ||
vertex-clipping.h | ||
weston-direct-display.c | ||
weston-log-file.c | ||
weston-log-flight-rec.c | ||
weston-log-internal.h | ||
weston-log-wayland.c | ||
weston-log.c |