STRUCT DPP_COLOR_CAPS(9)
π NAME π
okay so this is struct dpp_color_caps(9) from the Kernel API Manual β literally the color pipeline capabilities for display pipe and plane blocks β¨ like, it's the receipts for what color magic each display pipe/plane block can actually do π
πΈ SYNOPSIS πΈ
no cap, here's the whole struct, exactly as it lives:
struct dpp_color_caps {
uint16_t dcn_arch : 1;
uint16_t input_lut_shared : 1;
uint16_t icsc : 1;
uint16_t dgam_ram : 1;
uint16_t post_csc : 1;
uint16_t gamma_corr : 1;
uint16_t hw_3d_lut : 1;
uint16_t ogam_ram : 1;
uint16_t ocsc : 1;
uint16_t dgam_rom_for_yuv : 1;
uint16_t upsp_pre_scaler : 1;
struct rom_curve_caps dgam_rom_caps;
struct rom_curve_caps ogam_rom_caps;
};
like, look at all those lil : 1 bitfields β one bit each, main character energy fr fr π
π¦ Members π¦
every single member, bestie, in order, no skips:
dcn_archβ all DCE generations treated the same π«input_lut_sharedβ shared with DGAM. the Input LUT is different than most LUTs β it's just a plain 256-entry lookup πicscβ input color space conversion πdgam_ramβ programmable degamma LUT πpost_cscβ post color space conversion, before gamut remap β¨gamma_corrβ degamma correction πhw_3d_lutβ 3D LUT support. it implies a shaper LUT before it. it may be shared with MPC by setting thempc:shared_3d_lutflag π₯ogam_ramβ programmable out/blend gamma LUT πΈocscβ output color space conversion π¦dgam_rom_for_yuvβ pre-defined degamma LUT for YUV planes πupsp_pre_scalerβ the ability to upsample 420/422 before scaling βdgam_rom_capsβ pre-defined curve caps for degamma 1D LUT π§ogam_rom_capsβ pre-defined curve caps for regamma 1D LUT π
π Note π
lowkey important: hdr_mult and gamut remap (CTM) are always available in DPP β and yeah, in that order π
π SEE ALSO π
these all live in the kernel file ./drivers/gpu/drm/amd/display/dc/dc.h β go read them, iykyk:
MAX_SURFACES(9)MAX_PLANES(9)color-management-caps(9)struct rom_curve_caps(9)struct mpc_color_caps(9)struct dc_color_caps(9)enum pipe_split_policy(9)dc_check_state_update(9)dc_update_state(9)dc_update_state_init(9)dc_update_state_prepare(9)dc_update_state_execute(9)dc_update_state_cleanup(9)struct dc_probe_latencies(9)struct dc_probe_status(9)enum dc_get_status_type(9)struct dc_get_status_options(9)struct dc_state_status(9)dc_state_get_status(9)struct dc_validation_stream(9)struct dc_validation_set(9)dc_get_underflow_debug_data_for_otg(9)dc_capture_register_software_state(9)dc_get_qos_info(9)dc_override_memory_bandwidth_request(9)
okay that's the whole vibe check π this page came from ./drivers/gpu/drm/amd/display/dc and it's dated October 2026 β periodt, go slay some color pipelines π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms