__drm_gem_du..._plane_state(9)
π NAME π
Hiii bestie, welcome to the <pink>Kernel API Manual</pink> page for __drm_gem_duplicate_shadow_plane_state β the function whose whole entire job is <purple>duplicating shadow-buffered plane state</purple>. Yes that's the whole name. Yes it's a mouthful. We stan anyway. π
β¨ SYNOPSIS β¨
void __drm_gem_duplicate_shadow_plane_state (struct drm_plane *plane ,
struct drm_shadow_plane_state *new_shadow_plane_state );
Like... look at her. <cyan>void</cyan>, two args, no notes. Iconic behavior honestly. π«Ά
πΈ ARGUMENTS πΈ
planeβ the plane. That's it. That's the description. She's the<hotpink>main character</hotpink>of this call, literally the thing being duplicated from. πnew_shadow_plane_stateβ the new shadow-buffered plane state, i.e. the<mint>fresh copy</mint>that's about to be all filled in. Destination vibes only. β¨
π¦ DESCRIPTION π¦
Okay so, real talk: this function <green>duplicates shadow-buffered plane state</green>. Full stop, that's the assignment, and she ate. π
Who is this for, you ask? It's <yellow>helpful for drivers that subclass struct drm_shadow_plane_state</yellow> β so if your driver is doing the subclass thing, this is your girl. iykyk. π
Now here's the part you <red>cannot</red> skip, bestie, pay attention:
This function<bold>does not</bold>duplicate existing mappings of the shadow buffers. Not a single one. Zero. Nada. π
So where do the mappings actually get maintained? During the <purple>atomic commit</purple>, babes β handled by the plane's prepare_fb and cleanup_fb helpers. If you want the corresponding helper lore, go look at drm_gem_prepare_shadow_fb and drm_gem_cleanup_shadow_fb. Those two are carrying the team fr fr. π
π₯ SEE ALSO π₯
Lowkey the whole squad shows up here, so let me introduce everyone:
- Kernel file
./drivers/gpu/drm/drm_gem_atomic_helper.cβ and alsooverview(9), the big-picture baddie π drm_gem_plane_helper_prepare_fb(9)drm_gem_duplicate_shadow_plane_state(9)__drm_gem_destroy_shadow_plane_state(9)drm_gem_destroy_shadow_plane_state(9)__drm_gem_reset_shadow_plane(9)drm_gem_reset_shadow_plane(9)drm_gem_begin_shadow_fb_access(9)drm_gem_end_shadow_fb_access(9)drm_gem_simple_kms_begin_shadow_fb_access(9)drm_gem_simple_kms_end_shadow_fb_access(9)drm_gem_simple_kms_reset_shadow_plane(9)drm_gem_simple_kms_duplicate_shadow_plane_state(9)drm_gem_simple_kms_destroy_shadow_plane_state(9)
Not a single one left behind. We don't do that here. π
Okay that's the whole page, bestie! This lil' beauty lives in the <bold>./drivers/gpu/drm</bold> corner of the kernel and it was stamped October 2026 β so mark your calendar and go duplicate some plane state responsibly. 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