Skip to content
  • Pekka Paalanen's avatar
    backend-drm: default to XRGB2101010 for HDR · e6a9e3c4
    Pekka Paalanen authored and Pekka Paalanen's avatar Pekka Paalanen committed
    
    
    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: default avatarPekka Paalanen <pekka.paalanen@collabora.com>
    e6a9e3c4
Loading