STRUCT DM_TEST_COLOROP_FIXTURE(9)
π struct dm_test_colorop_fixture(9) β Kernel API Manual
okay so bestie, we're looking at struct dm_test_colorop_fixture from section 9 of the Kernel API Manual β yes, that's the kernel API one, not a shell command π. She's a little bucket of shared state that gets passed around the plane colorop walk tests, and honestly? she's doing a lot of carrying. Let's get into it β¨
β¨ NAME β¨
struct dm_test_colorop_fixture β shared state for plane colorop walk tests</p> π
Like, the whole point is that all the test helpers can reach into the same little bundle of pointers instead of each one rebuilding the universe from scratch. Iconic behavior honestly.
πΈ SYNOPSIS πΈ
struct dm_test_colorop_fixture {
struct amdgpu_device *adev;
struct drm_atomic_commit *state;
struct drm_colorop *colorop;
struct drm_colorop_state *colorop_state;
struct drm_plane_state *plane_state;
struct dc_plane_state *dc_plane_state;
};
Six pointers, one vibe. No cap π₯
π¦ Members π¦
okay so every single field, explained with love:
adevβ the backing amdgpu device, and yes she provides a real DRM device. not a fake one. the real deal πstateβ a fabricated atomic state that has exactly one colorop slot in it. one slot. that's it. that's the whole state.coloropβ the colorop under test π main character energy fr frcolorop_stateβ the new state that's attached tocoloropπΈplane_stateβ the plane state whose->statepoints atstateπ«Ά (yes, thatstateup there. the fabricated one. it all connects, iykyk)dc_plane_stateβ the DC plane state that gets written by the helpers π the helpers are the ones doing the writing, just so we're clear
ngl bestie, half of these are just pointers to pointers to state, but that's the assignment and she ate π
π SEE ALSO π
first up, the actual kernel file where this lives β go look, she's real:
- Kernel file
./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_color_test.c
and then. and then the list. bestie. the list is LONG and every single one is required reading, so buckle up π:
dm_test_make_lut_blob(9)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)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)
see? told you. every single one π but like, in a cute way.
mwah π that's the whole page, bestie. this came from ./drivers/gpu/drm/amd/display/... and it's dated October 2026, landing in the struct dm_te...orop_fixture(9) slot at the bottom of the page like always. go forth and test those colorops, you absolute legend ππ
π¦ 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