dm_test_make_lut_blob(9)
β¨ dm_test_make_lut_blob β¨
okay bestie, welcome to the kernel API manual, section 9 β this is the dm_test_make_lut_blob(9) page and it's literally so much shorter than the SEE ALSO list, bear with me π
πΈ NAME πΈ
dm_test_make_lut_blob β allocate a fake drm_property_blob for testing π
π¦ SYNOPSIS π¦
struct drm_property_blob * dm_test_make_lut_blob (struct kunit *test ,
uint32_t num_entries );
π ARGUMENTS π
testβ your KUnit test context, the lil group chat the test lives in π«Άnum_entriesβ how many LUT entries the blob is gonna report. like, the number it flexes β¨
π DESCRIPTION π
So what it does is allocate a fake blob β a little stand-in, not the real thing β whose drm_color_lut_size returns exactly num_entries. no more, no less, periodt π
And the data pointer? non-NULL, on purpose, no cap. why? because that way __extract_blob_lut hands back a non-NULL lut pointer, which means the size check inside amdgpu_dm_verify_lut_sizes actually gets exercised β like we're genuinely putting it through its paces, not just waving at it from across the room ππ₯
it's giving "fake it so the real test can happen" and honestly? iconic.
π RETURN π
pointer to the allocated blob π (that's the whole vibe β you get a pointer back, go wild)
π§ SEE ALSO π§
The kernel file we're living in:
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_color_test.c
and honestly the whole friend group, all of them, not skipping a single one:
dm_test_verify_lut_sizes_null_luts(9)dm_test_verify_lut_sizes_valid_degamma(9)dm_test_verify_lut_sizes_invalid_degamma(9)dm_test_verify_lut_sizes_valid_gamma_atomic(9)dm_test_verify_lut_sizes_valid_gamma_legacy(9)dm_test_verify_lut_sizes_invalid_gamma(9)dm_test_verify_lut_sizes_both_valid(9)dm_test_verify_lut_sizes_invalid_degamma_valid_gamma(9)dm_test_atomic_lut3d_zero_size(9)dm_test_atomic_lut3d_nonzero_state_bits(9)dm_test_atomic_lut3d_data_forwarded(9)dm_test_set_colorop_3dlut_zero_size(9)dm_test_set_colorop_3dlut_nonzero_state_bits(9)dm_test_set_colorop_3dlut_data_forwarded(9)dm_test_set_tf_bypass(9)dm_test_set_tf_distributed_points_srgb(9)dm_test_set_tf_distributed_points_pq(9)dm_test_set_legacy_tf_identity(9)dm_test_set_output_tf_linear(9)dm_test_set_output_tf_32_srgb_rom(9)dm_test_set_input_tf_srgb(9)dm_test_set_input_tf_32_srgb(9)dm_test_set_transfer_funcs_with_luts(9)dm_test_set_atomic_regamma_bypass(9)dm_test_set_atomic_regamma_srgb(9)dm_test_atomic_shaper_lut_bypass(9)dm_test_atomic_blend_lut_bypass(9)dm_test_atomic_shaper_blend_srgb(9)dm_test_set_colorop_in_tf_1d_curve_invalid_type(9)dm_test_set_colorop_in_tf_1d_curve_unsupported_curve(9)dm_test_set_colorop_in_tf_1d_curve_bypass(9)dm_test_init_color_mod(9)dm_test_verify_lut3d_alloc_plane(9)dm_test_verify_lut3d_alloc_adev(9)dm_test_verify_lut3d_no_luts(9)dm_test_verify_lut3d_bad_shaper(9)dm_test_verify_lut3d_bad_lut3d(9)dm_test_verify_lut3d_valid(9)struct dm_test_colorop_fixture(9)dm_test_colorop_setup(9)dm_test_colorop_multiplier_applied(9)dm_test_colorop_multiplier_no_match(9)dm_test_colorop_3x4_matrix_applied(9)dm_test_colorop_3x4_matrix_bad_length(9)dm_test_colorop_degamma_predefined(9)dm_test_colorop_degamma_no_match(9)struct dm_test_color_update_fixture(9)dm_test_color_update_setup(9)dm_test_make_ctm_blob(9)dm_test_check_crtc_color_mgmt_no_luts(9)dm_test_check_crtc_color_mgmt_legacy_regamma(9)dm_test_check_crtc_color_mgmt_degamma(9)dm_test_update_crtc_color_mgmt_no_ctm(9)dm_test_update_crtc_color_mgmt_ctm(9)dm_test_update_plane_color_mgmt_bad_lut3d(9)dm_test_update_plane_color_mgmt_fallback_defaults(9)dm_test_update_plane_color_mgmt_maps_crtc_degamma(9)dm_test_update_plane_color_mgmt_maps_crtc_degamma_lut(9)dm_test_update_plane_color_mgmt_maps_bt709_degamma(9)dm_test_update_plane_color_mgmt_plane_degamma_lut(9)dm_test_update_plane_color_mgmt_rejects_dual_degamma(9)dm_test_update_plane_color_mgmt_uses_color_caps(9)dm_test_update_plane_color_mgmt_legacy_luts(9)dm_test_update_plane_color_mgmt_plane_ctm(9)dm_test_colorop_pipeline_add(9)dm_test_colorop_pipeline_setup(9)dm_test_update_plane_color_mgmt_colorop_bypass_pipeline(9)dm_test_update_plane_color_mgmt_colorop_missing_multiplier(9)dm_test_update_plane_color_mgmt_colorop_missing_3x4(9)dm_test_update_plane_color_mgmt_colorop_truncated(9)dm_test_update_plane_color_mgmt_colorop_no_3dlut_hw(9)dm_test_update_plane_color_mgmt_colorop_shaper(9)dm_test_update_plane_color_mgmt_colorop_3dlut(9)dm_test_update_plane_color_mgmt_colorop_3dlut_no_data(9)dm_test_update_plane_color_mgmt_colorop_blend(9)
okay and that's the page!! π tiny page, massive friend group, fr fr. it's from the source path ./drivers/gpu/drm/amd/display/..., dated October 2026, and this whole thing is dm_test_make_lut_blob(9) β slay, go write some color tests bestie π¦β¨π
π¦ 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