STRUCT DRM_I915_GEM_EXECBUFFER3(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME

struct drm_i915_gem_execbuffer3 β€” bestie, this is the structure you use for the DRM_I915_GEM_EXECBUFFER3 ioctl πŸ’… (manual name's struct drm_..._execbuffer3(9), Kernel API Manual, section 9 β€” yes she's that girl).


✨ SYNOPSIS

struct drm_i915_gem_execbuffer3 {
    __u32 ctx_id;
    __u32 engine_idx;
    __u64 batch_address;
    __u64 flags;
    __u32 rsvd1;
    __u32 fence_count;
    __u64 timeline_fences;
    __u64 rsvd2;
    __u64 extensions;
 };

πŸŽ€ MEMBERS

Okay so here's the whole cast, member by member, no skips 🫢

  • ctx_id β€” the Context id. ✨ But listen: only contexts with a user engine map are allowed. That's the vibe check, no exceptions.
  • engine_idx β€” the Engine index. It's literally an index in the user engine map of the context specified by ctx_id. iykyk.
  • batch_address β€” Batch gpu virtual address/es. For normal submission, it's the gpu virtual address of the batch buffer. For parallel submission, it's a pointer to an array of batch buffer gpu virtual addresses, with array size equal to the number of (parallel) engines involved in that submission (see struct i915_context_engines_parallel_submit). She's versatile πŸ’…
  • flags β€” currently reserved, MBZ. As in must be zero. Don't be cute, leave it at zero πŸ™ˆ
  • rsvd1 β€” reserved, MBZ. Same energy, zero it out.
  • fence_count β€” Number of fences in the timeline_fences array. Count 'em πŸ”₯
  • timeline_fences β€” Pointer to an array of timeline fences. And the timeline fences are of format struct drm_i915_gem_timeline_fence. Bet πŸ’…
  • rsvd2 β€” reserved, MBZ. Zero. That's it. That's the member.
  • extensions β€” Zero-terminated chain of extensions. For future extensions β€” see struct i915_user_extension. Blink and there'll be more of these πŸ’€

🌸 DESCRIPTION

So the DRM_I915_GEM_EXECBUFFER3 ioctl only works in VM_BIND mode, and VM_BIND mode only works with this ioctl for submission. Like, they're a package deal, ride or die, main character and her bodyguard πŸŽ€ See I915_VM_CREATE_FLAGS_USE_VM_BIND.

⚠️ fr fr: it's not "usually" or "preferably" β€” it's only. Wrong mode, no submission. Periodt.

πŸ¦‹ SEE ALSO


Okay that's the whole page, you ate that πŸ“ This came to you from the source ./Documentation/gpu/rfc, dated October 2026, and the page itself is struct drm_..._execbuffer3(9) β€” go forth and submit your batches, bestie, mwah πŸ’œβœ¨

πŸ“¦ where this page comes from