weston/libweston
Pekka Paalanen e6a9e3c4ee backend-drm: default to XRGB2101010 for HDR
Trying to do HDR with XRGB8888 is a bit like using RGB565 on SDR: you
get visible color quantization and banding in gradients (without dithering
which Weston does not implement yet, and might not work too well for HDR
anyway).

Therefore, on any HDR mode, default output framebuffer format to 10 bpc
instead of 8 bpc.

Ideally we'd also optionally try 16F or 16 bpc formats, but automatic
fallbacks for those are more complicated to arrange. You can still
configure 16F or 16 bpc manually.

This patch also moves the default format setting from
drm_output_set_gbm_format() to drm_output_enable(), because setting the
default now requires eotf_mode. Frontends may call set_gbm_format()
first and set eotf_mode next. This does create an awkward situation for
outputs that a frontend disables and re-enables. This patch here makes
sure that the old output configuration remains, but changing eotf_mode
may not change the default format. One needs to call
set_gbm_format(NULL) to re-evaluate the default format. Resetting the
format on drm_output_deinit() would lose the current setting.

DRM_FORMAT_INVALID was introduced in libdrm 2.4.95 which we already
hard-depend on.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2022-05-02 12:19:24 +00:00
..
backend-drm backend-drm: default to XRGB2101010 for HDR 2022-05-02 12:19:24 +00:00
backend-headless backend-headless: support all EOTF modes 2022-05-02 12:19:24 +00:00
backend-rdp rdp: sync keylocks on synchronize event 2022-04-28 15:33:57 +00:00
backend-wayland compositor: remove repaint_data from compositor 2022-04-06 12:47:05 +02:00
backend-x11 compositor: remove repaint_data from compositor 2022-04-06 12:47:05 +02:00
color-lcms color-lcms: todo for eotf_mode 2022-05-02 12:19:24 +00:00
renderer-gl libweston: Remove weston_surface_set_color 2022-04-25 14:27:08 +00:00
animation.c Fix indentation all through the project 2021-07-31 15:28:20 +00:00
backend.h libweston: introduce weston_eotf_mode 2022-05-02 12:19:24 +00:00
bindings.c Don't send compositor's global key bindings to the input method 2022-02-23 15:40:33 +02:00
clipboard.c libweston: correct argument name in the handler of wl_data_source.accept 2022-04-14 12:05:57 +00:00
color-noop.c color-noop: supports only SDR EOTF mode 2022-05-02 12:19:24 +00:00
color.c backend-drm: check for HDR_OUTPUT_METADATA 2022-05-02 12:19:24 +00:00
color.h backend-drm: check for HDR_OUTPUT_METADATA 2022-05-02 12:19:24 +00:00
compositor.c libweston: introduce weston_eotf_mode 2022-05-02 12:19:24 +00:00
content-protection.c content-protection: Don't leak update timer on shutdown 2021-12-08 13:38:18 +00:00
data-device.c weston_buffer: Prepare for buffer to outlive resource 2022-04-25 14:27:08 +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 drm-formats: add weston_drm_format_array_count_pairs() 2021-11-25 10:47:45 -03:00
git-version.h.meson Add Meson build system 2018-12-09 14:50:54 +02:00
input.c input: Fix bug in idle inhibition 2022-04-18 12:10:20 +00:00
launcher-impl.h launchers: Remove --tty option 2022-03-03 17:00:15 -06:00
launcher-libseat.c libweston: Enable logging for libseat launcher 2022-03-10 17:13:16 +02:00
launcher-logind.c launcher-logind: Don't check wl->vtnr before returning it. 2022-03-16 13:12:20 +00:00
launcher-util.c launchers: Remove --tty option 2022-03-03 17:00:15 -06:00
launcher-util.h launchers: Remove --tty option 2022-03-03 17:00:15 -06:00
libinput-device.c Fix indentation all through the project 2021-07-31 15:28:20 +00:00
libinput-device.h Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
libinput-seat.c libinput-seat: Cascade errors and bail out in case of failure 2021-11-25 10:47:04 +02:00
libinput-seat.h Rename compositor.h to libweston/libweston.h 2019-04-18 12:31:46 +03:00
libweston-internal.h weston_buffer: Add mode to weston_buffer_reference 2022-04-25 14:27:08 +00:00
linux-dmabuf.c backend-drm: add KMS plane's formats to per-surface dma-buf feedback 2021-11-25 11:16:52 -03:00
linux-dmabuf.h backend-drm: add KMS plane's formats to per-surface dma-buf feedback 2021-11-25 11:16:52 -03: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 Fix indentation all through the project 2021-07-31 15:28:20 +00:00
meson.build libweston: remove fbdev backend 2022-03-15 11:32:46 +02:00
noop-renderer.c libweston: Remove weston_surface_set_color 2022-04-25 14:27:08 +00:00
pixel-formats.c pixel-formats: Add XYUV8888 format 2022-03-31 17:15:55 +00:00
pixel-formats.h pixman-renderer: track Pixman formats in pixel format table 2021-09-15 15:00:29 +03:00
pixman-renderer.c pixman-renderer: Unref the pixman image when wl_shm_buffer is gone 2022-04-29 11:48:08 +03: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 weston_buffer: Make use of weston_buffer->type 2022-04-25 14:27:08 +00: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 touch-calibration: Clean-up if touch calibrator has been enabled 2022-04-20 08:27:17 +00:00
vertex-clipping.c tests: make vertex-clip use WESTON_EXPORT_FOR_TESTS 2022-03-01 13:32:15 +00: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-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 Fix indentation all through the project 2021-07-31 15:28:20 +00:00
weston-log.c weston-log: Extract helper for generating a time stamp 2022-03-10 17:11:31 +02:00