STRUCT MALI_C55_PARAMS_MESH_SHADING_SELECTION(9)
π struct mali_c55_params_mesh_shading_selection(9) π
okay bestie, this is the Kernel API Manual page for the header that gets shortened to struct mali...ng_selection(9) β the full-name serve is right below, and yes, itβs giving mesh shading realness. π«Ά
π NAME π
struct mali_c55_params_mesh_shading_selection β Mesh table selection. Thatβs the whole title, and itβs iconic. β¨
β¨ SYNOPSIS β¨
struct mali_c55_params_mesh_shading_selection {
struct v4l2_isp_params_block_header header;
__u8 mesh_alpha_bank_r;
__u8 mesh_alpha_bank_g;
__u8 mesh_alpha_bank_b;
__u8 mesh_alpha_r;
__u8 mesh_alpha_g;
__u8 mesh_alpha_b;
__u16 mesh_strength;
};
π§ Members π§
headerβ the Mali-C55 parameters block header. The structural moment, literally.mesh_alpha_bank_rβ Red mesh table select (c:type:enum mali_c55_params_mesh_alpha_bank).mesh_alpha_bank_gβ Green mesh table select (c:type:enum mali_c55_params_mesh_alpha_bank).mesh_alpha_bank_bβ Blue mesh table select (c:type:enum mali_c55_params_mesh_alpha_bank).mesh_alpha_rβ Blend coefficient for R[0..255].mesh_alpha_gβ Blend coefficient for G[0..255].mesh_alpha_bβ Blend coefficient for B[0..255].mesh_strengthβ Mesh strength in Q4.12 format[0..4096].
π Description π
Okay so the module computes the final correction coefficients by blending the ones from two light source tables. Those tables are selected independently for each colour channel by the mesh_alpha_bank_r/g/b fields. Obsessed with the per-channel independence, honestly. π
For each node, the final blended coefficients are calculated with this equation:
Final coefficient = (a * LS :sub:`b` + (256 - a) * LS :sub:`a` / 256
Where a is the mesh_alpha_r/g/b value, and LS :sub:`a` and LS :sub:`b` are the node cofficients for the two tables selected by the mesh_alpha_bank_r/g/b value. (Yes, βcofficientsβ is exactly what the page says β we keep the lore. π)
The scale of the applied correction may also be controlled by tuning the mesh_strength member. Itβs a modifier to the final coefficients, and it can be used to globally reduce the gains applied. slay that global gain reduction. π₯
Also: header.type should be set to MALI_C55_PARAM_MESH_SHADING_SELECTION from :c:type:`mali_c55_param_block_type` for this block. Donβt forget the type, bestie β itβs the entry ticket. ποΈ
π SEE ALSO π
Kernel file: ./include/uapi/linux/media/arm/mali-c55-config.h β thatβs the source file, and then the whole referenced squad:
struct mali_c55_ae_1024bin_hist(9)struct mali_c55_ae_5bin_hist(9)struct mali_c55_awb_average_ratios(9)struct mali_c55_af_statistics(9)struct mali_c55_stats_buffer(9)enum mali_c55_param_block_type(9)struct mali_c55_params_sensor_off_preshading(9)enum mali_c55_aexp_hist_tap_points(9)enum mali_c55_aexp_skip_x(9)enum mali_c55_aexp_skip_y(9)enum mali_c55_aexp_row_column_offset(9)enum mali_c55_aexp_hist_plane_mode(9)struct mali_c55_params_aexp_hist(9)struct mali_c55_params_aexp_weights(9)struct mali_c55_params_digital_gain(9)enum mali_c55_awb_stats_mode(9)struct mali_c55_params_awb_gains(9)enum mali_c55_params_awb_tap_points(9)struct mali_c55_params_awb_config(9)struct mali_c55_params_mesh_shading_config(9)struct mali_c55_params_ccm(9)struct mali_c55_params_gamma(9)MALI_C55_PARAMS_MAX_SIZE(9)
footer source/version: ./include/uapi/linux/media/arm β’ struct mali...ng_selection(9) β’ October 2026 β bye bestie, mwah. π
π
π¦ 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