backend-drm: drop HDR without libdisplay-info

Hardcode the ad hoc EDID parser to always claim that only SDR is
supported. Even though libdisplay-info is not yet asked for HDR
capabilities, it shall be the only way to see them.

To be nicer to experimenters, main.c adds a note that you really need
libdisplay-info if you want to play with HDR.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
This commit is contained in:
Pekka Paalanen 2023-04-28 14:29:59 +03:00
parent d6a4c58f07
commit 8ca6c24c8f
2 changed files with 6 additions and 2 deletions

View file

@ -1401,6 +1401,10 @@ wet_output_set_eotf_mode(struct weston_output *output,
if ((weston_output_get_supported_eotf_modes(output) & eotf_mode) == 0) {
weston_log("Error: output '%s' does not support EOTF mode %s.\n",
output->name, str);
#if !HAVE_LIBDISPLAY_INFO
weston_log_continue(STAMP_SPACE "Weston was built without libdisplay-info, "
"so HDR capabilities cannot be detected.\n");
#endif
free(str);
return -1;
}

View file

@ -378,8 +378,8 @@ drm_head_info_from_edid(struct drm_head_info *dhi,
dhi->serial_number = xstrdup(edid.serial_number);
}
/* TODO: parse this from EDID */
dhi->eotf_mask = WESTON_EOTF_MODE_ALL_MASK;
/* This ad hoc code will never parse HDR data. */
dhi->eotf_mask = WESTON_EOTF_MODE_SDR;
}
#endif /* HAVE_LIBDISPLAY_INFO else */