Thomas Zimmermann <tzimmerm...@suse.de> writes: > Provide helpers that program hardware gamma LUTs. Tha gamma ramp is > either provided by the driver or generated by the helper. > > The DRM driver exports the GAMMA_LUT property with a fixed number of > entries per color component, such as 256 on 8-bit-wide components. The > entries describe the gamma ramp of each individual component. The new > helper drm_crtc_load_gamma_888() loads such gamma ramp to hardware. The > hardware uses each displayed pixel's individial components as indeces
I think the correct plural form is either "indexes" and "indices". > into the hardware gamma table. > > For color modes with less than 8 bits per color component, the helpers > drm_crtc_load_gamma_565_from() and drm_crtc_load_gamma_555_from_888() > interpolate the provided gamma ramp to reduce it to the correct number > of entries; 5/6/5 for RGB565-like formats and 5/5/5 for RGB1555-like > formats. > > If no gamma ramp has been provided, drivers can use the new helper > drm_crtc_fill_gamma_888() to load a default gamma ramp with 256 entries > per color component. For color modes with less bits, the new helpers > drm_crtc_fill_gamma_565() and drm_crtc_fill_gamma_555() are available. > The default gamma ramp uses a gamma factor of 1. Later patches can > change this. For PCs, a gamma factor of 2.2 is common. > > For color modes with palette, drm_crtc_load_palette_8() load an 8-bit > palette into the hardware. If no palette has been specified, > drm_crtc_fill_palette_8() load a system-specific default palette. This > is currently only a grey-scale palette with increasing luminance, but > later patches can change this. For PCs, a VGA default palette could > be used. > > Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de> > --- > drivers/gpu/drm/drm_color_mgmt.c | 206 +++++++++++++++++++++++++++++++ > include/drm/drm_color_mgmt.h | 27 ++++ > 2 files changed, 233 insertions(+) > Thanks a lot for adding all these helpers. I'm not an expert on gamma LUTs but the patch looks good to me. Acked-by: Javier Martinez Canillas <javi...@redhat.com> -- Best regards, Javier Martinez Canillas Core Platforms Red Hat