Skip to content

backends/native: Try 10 bpc formats

Michel Dänzer requested to merge daenzer/mutter:renderer-native-10bpc into main

If the EGL rendering APIs and KMS CRTCs support them.

10 bpc formats may allow for more accurate colour reproduction / less colour banding, subject to various limitations in the GPU driver/HW & monitor (connection).

This is similar to !1756 (closed), there are some differences though:

  • This MR uses explicit lists of formats ordered by priority, instead of just using the first format advertised by EGL. This can be extended for floating-point formats for HDR in the future.
  • This MR tries 10 bpc formats for secondary GPU contexts as well, not only for the primary one.
  • This MR uses the EGL_KHR_no_config_context extension to allow using an optimized path for secondary GPU scanout even if the secondary GPU context can't use a 10 bpc format.

I tested multiple paths for secondary GPU scanout. Not sure I covered all possible cases though.

Edited by Michel Dänzer

Merge request reports