STRUCT DRM_V3D_MULTI_SYNC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct drm_v3d_multi_sync(9)

okay bestie, buckle up β€” this is a page straight out of the Kernel API Manual and it's all about an ioctl extension, so let's get into it ✨


🌸 NAME 🌸

struct drm_v3d_multi_sync β€” the ioctl extension that adds support for multiple syncobjs when you're submitting commands. yes, plural. we're not doing the single-sync thing anymore, it's giving upgrade πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

struct drm_v3d_multi_sync {
    struct drm_v3d_extension base;
    __u64 in_syncs;
    __u64 out_syncs;
    __u32 in_sync_count;
    __u32 out_sync_count;
    __u32 wait_stage;
    __u32 pad;
 };

like, look at her. fields for days. base first (as she should be β€” it's a struct drm_v3d_extension), then in_syncs and out_syncs as __u64s, then the counts in_sync_count and out_sync_count as __u32s, then wait_stage, and a lil pad at the end to keep things tidy πŸŽ€


🧚 Members 🧚

lowkey this section is literally empty in the source β€” nothing listed under it, bestie. no cap, that's just how it is πŸ™ˆ (the real tea is all down in Description, keep reading ⬇️)


πŸ‘‘ Description πŸ‘‘

So here's the vibe: when an extension with the id DRM_V3D_EXT_ID_MULTI_SYNC is defined, it points to this extension to define wait and signal dependencies β€” instead of using single in/out sync entries when you submit commands πŸ”₯

and the field flags is used to determine the stage to set wait dependencies. periodt. ✨


🌈 SEE ALSO 🌈

  • the kernel file ./include/uapi/drm/v3d_drm.h πŸ’–
  • struct drm_v3d_submit_cl(9)
  • struct drm_v3d_wait_bo(9)
  • struct drm_v3d_create_bo(9)
  • struct drm_v3d_mmap_bo(9)
  • struct drm_v3d_indirect_csd(9)
  • struct drm_v3d_timestamp_query(9)
  • struct drm_v3d_reset_timestamp_query(9)
  • struct drm_v3d_copy_timestamp_query(9)
  • struct drm_v3d_reset_performance_query(9)
  • struct drm_v3d_copy_performance_query(9)
  • struct drm_v3d_perfmon_get_counter(9)
  • struct drm_v3d_perfmon_set_global(9)

go read the whole friend group, iykyk 🫢


ngl, if you're touching this you're probably deep in v3d land β€” drink some water and double-check your sync counts before you submit anything, bestie πŸ’§

and that's a wrap, babe! this page lives in ./include/uapi/drm, it's dated October 2026, it's from the Kernel API Manual, and it's titled struct drm_v3d_multi_sync(9) β€” mwah, slay, bye πŸ’œπŸŽ€

πŸ“¦ where this page comes from