pub struct ColorPipeline {
pub has_degamma_lut: bool,
pub has_ctm: bool,
pub has_hdr_mult: bool,
pub degamma_lut_size: u32,
}Expand description
Per-plane color pipeline support (pre-blend CMS).
When all three are present the plane can apply per-layer EOTF inversion, gamut conversion, and an SDR-luminance multiplier before the kernel blends in linear light — the only correct way to mix HDR and SDR layers on one CRTC. Hardware without them (RDNA2, vkms, older i915) leaves them false and the scene falls back to the CRTC pipeline or to pre-composition.
Fields§
§has_degamma_lut: boolPLANE_DEGAMMA_LUT is present.
has_ctm: boolPLANE_CTM is present.
has_hdr_mult: boolPLANE_HDR_MULT is present — a 16.16 fixed-point scalar applied to
post-degamma linear values, used to lift SDR luminance into an HDR
blend space.
degamma_lut_size: u32How many drm_color_lut entries PLANE_DEGAMMA_LUT expects. Zero when
the property is absent.
Trait Implementations§
Source§impl Clone for ColorPipeline
impl Clone for ColorPipeline
impl Copy for ColorPipeline
Source§impl Debug for ColorPipeline
impl Debug for ColorPipeline
Source§impl Default for ColorPipeline
impl Default for ColorPipeline
impl Eq for ColorPipeline
Source§impl PartialEq for ColorPipeline
impl PartialEq for ColorPipeline
impl StructuralPartialEq for ColorPipeline
Auto Trait Implementations§
impl Freeze for ColorPipeline
impl RefUnwindSafe for ColorPipeline
impl Send for ColorPipeline
impl Sync for ColorPipeline
impl Unpin for ColorPipeline
impl UnsafeUnpin for ColorPipeline
impl UnwindSafe for ColorPipeline
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more