class PlaneColorControl

Defined at line 155 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

PLANE_COLOR_CTL (Plane Color Control)

This register is not documented on Kaby Lake or Skylake. On that hardware,

some of the fields here are located in the PLANE_CTL register.

All reserved bits are MBZ (must be zero), so this register can be written

safely without reading it first.

Tiger Lake: IHD-OS-TGL-Vol 2c-1.22-Rev2.0 Part 2 pages 627-735

Public Members

 field_RsvdZ_159
 field_pipe_gamma_enabled_deprecated_165
 field_yuv_offset_preserved_173
 field_yuv_range_correction_disabled_183
 field_RsvdZ_185
 field_pipe_csc_enabled_deprecated_193
 field_csc_enabled_198
 field_plane_input_csc_enabled_203
 field_csc_mode_220
 field_RsvdZ_222
 field_post_csc_gamma_multi_segment_enabled_227
 field_pre_csc_gamma_enabled_230
 field_post_csc_gamma_disabled_233
 field_gamma_mode_254
 field_gamma_multiplier_format_266
 field_RsvdZ_268
 field_alpha_mode_273
 field_RsvdZ_275
static const uint32_t kBaseAddr

Public Methods

template <, >
typename SelfType::ValueType pipe_gamma_enabled_deprecated ()

If true, pipe-level gamma correction is enabled for the plane's pixel data.

This field is documented as deprecated in favor of the "Post CSC Gamma

Enable" field in the Pipe-specific GAMMA_MODE register.

Defined at line 165 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
SelfType & set_pipe_gamma_enabled_deprecated (typename SelfType::ValueType val)

If true, pipe-level gamma correction is enabled for the plane's pixel data.

This field is documented as deprecated in favor of the "Post CSC Gamma

Enable" field in the Pipe-specific GAMMA_MODE register.

Defined at line 165 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
SelfType & set_yuv_offset_preserved (typename SelfType::ValueType val)

If false, the plane removes UV offsets for YUV formats without YUV/RGB CSC.

This field is used when the plane's source pixel format is a YUV format,

and plane-level YUV to RGB CSC (Color Space Conversion) is disabled. If

the field is true, 1/2 offsets on the U and V components are preserved.

If the field is false, 1/2 offsets are removed.

Defined at line 173 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
typename SelfType::ValueType yuv_offset_preserved ()

If false, the plane removes UV offsets for YUV formats without YUV/RGB CSC.

This field is used when the plane's source pixel format is a YUV format,

and plane-level YUV to RGB CSC (Color Space Conversion) is disabled. If

the field is true, 1/2 offsets on the U and V components are preserved.

If the field is false, 1/2 offsets are removed.

Defined at line 173 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
SelfType & set_yuv_range_correction_disabled (typename SelfType::ValueType val)

If true, plane-level YUV range correction logic is disabled.

Range correction expands YUV components from compressed ranges to the full

range of values. The 8-bit compressed ranges are +16 to +235 for the Y

component, and -112 to +112 for the U and V components.

This field is only effective when the plane has a YUV source pixel format.

RGB pixel formats always bypass range correction.

Defined at line 183 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
typename SelfType::ValueType yuv_range_correction_disabled ()

If true, plane-level YUV range correction logic is disabled.

Range correction expands YUV components from compressed ranges to the full

range of values. The 8-bit compressed ranges are +16 to +235 for the Y

component, and -112 to +112 for the U and V components.

This field is only effective when the plane has a YUV source pixel format.

RGB pixel formats always bypass range correction.

Defined at line 183 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
typename SelfType::ValueType pipe_csc_enabled_deprecated ()

If true, pipe-level CSC (Color Space Conversion) and pre-CSC gamma

correction are enabled for the plane's pixel data.

This field is documented as deprecated in favor of the "Pre CSC Gamma

Enable" field in the Pipe-specific GAMMA_MODE register, and the "Pipe CSC

Enable" field in the CSC_MODE register.

Defined at line 193 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
SelfType & set_pipe_csc_enabled_deprecated (typename SelfType::ValueType val)

If true, pipe-level CSC (Color Space Conversion) and pre-CSC gamma

correction are enabled for the plane's pixel data.

This field is documented as deprecated in favor of the "Pre CSC Gamma

Enable" field in the Pipe-specific GAMMA_MODE register, and the "Pipe CSC

Enable" field in the CSC_MODE register.

Defined at line 193 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
typename SelfType::ValueType csc_enabled ()

If true, planel-level CSC (Color Space Conversion) logic is enabled.

This field is only effective on planes 1-3.

Defined at line 198 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
SelfType & set_csc_enabled (typename SelfType::ValueType val)

If true, planel-level CSC (Color Space Conversion) logic is enabled.

This field is only effective on planes 1-3.

Defined at line 198 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
typename SelfType::ValueType plane_input_csc_enabled ()

If true, planel-level input CSC (Color Space Conversion) logic is enabled.

This field is only effective on planes 1-3.

Defined at line 203 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
SelfType & set_plane_input_csc_enabled (typename SelfType::ValueType val)

If true, planel-level input CSC (Color Space Conversion) logic is enabled.

This field is only effective on planes 1-3.

Defined at line 203 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
ColorSpaceConversion csc_mode ()

Specifies the plane-level CSC (Color Space Conversion) mode.

This field is only effective on planes 4-7. The CSC logic in planes 1-3 is

configured by PLANE_CSC_* registers.

Defined at line 220 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
SelfType & set_csc_mode (ColorSpaceConversion val)

Specifies the plane-level CSC (Color Space Conversion) mode.

This field is only effective on planes 4-7. The CSC logic in planes 1-3 is

configured by PLANE_CSC_* registers.

Defined at line 220 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
typename SelfType::ValueType post_csc_gamma_multi_segment_enabled ()

If true, plane-level post-CSC gamma multi-segment processing is enabled.

This logic is intended to support HDR tone mapping.

Defined at line 227 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
SelfType & set_post_csc_gamma_multi_segment_enabled (typename SelfType::ValueType val)

If true, plane-level post-CSC gamma multi-segment processing is enabled.

This logic is intended to support HDR tone mapping.

Defined at line 227 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
typename SelfType::ValueType pre_csc_gamma_enabled ()

If true, plane-level pre-CSC gamma correction is enabled.

Defined at line 230 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
SelfType & set_pre_csc_gamma_enabled (typename SelfType::ValueType val)

If true, plane-level pre-CSC gamma correction is enabled.

Defined at line 230 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
typename SelfType::ValueType post_csc_gamma_disabled ()

If true, plane-level post-CSC gamma correction is disabled.

Defined at line 233 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
SelfType & set_post_csc_gamma_disabled (typename SelfType::ValueType val)

If true, plane-level post-CSC gamma correction is disabled.

Defined at line 233 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
GammaMode gamma_mode ()

The mode of operation of the plane's gamma correction logic.

This field is ignored if plane-level gamma correction is disabled.

Defined at line 254 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
SelfType & set_gamma_mode (GammaMode val)

The mode of operation of the plane's gamma correction logic.

This field is ignored if plane-level gamma correction is disabled.

Defined at line 254 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
GammaMultiplierFormat gamma_multiplier_format ()

Specifies how the gamma table entries are turned into multipliers.

This field is ignored if plane-level gamma correction is not operating in

multiplication mode.

Defined at line 266 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
SelfType & set_gamma_multiplier_format (GammaMultiplierFormat val)

Specifies how the gamma table entries are turned into multipliers.

This field is ignored if plane-level gamma correction is not operating in

multiplication mode.

Defined at line 266 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
PlaneControlAlphaMode alpha_mode ()

Selects the plane's alpha blending mode.

The registers PLANE_KEYMSK and PLANE_KEYMAX specify constant plane alpha.

Defined at line 273 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

template <, >
SelfType & set_alpha_mode (PlaneControlAlphaMode val)

Selects the plane's alpha blending mode.

The registers PLANE_KEYMSK and PLANE_KEYMAX specify constant plane alpha.

Defined at line 273 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

Enumerations

enum ColorSpaceConversion
Name Value
kBypass 0
kYuvToRgbBt601 1
kYuvToRgbBt709 2
kYuvtoRgbBt2020 3
kRgbBt709toBt2020 4

Documented values for the `csc_mode` field.

Defined at line 206 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

enum GammaMode
Name Value
kDirect 0
kMultiply 1

Possible values for the `gamma_mode` field.

Defined at line 236 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

enum GammaMultiplierFormat
Name Value
kU0_24 0
kU8_16 1

Possible values for the `gamma_multiplier_format` field.

Defined at line 257 of file ../../src/graphics/display/drivers/intel-display/registers-pipe.h

Records