STRUCT DRM_I915_GEM_EXEC_FENCE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ NAME πŸŽ€

okay bestie, welcome to the Kernel API Manual entry for struct drm_i915_gem_exec_fence(9) β€” it’s an input or output fence for the execbuf ioctl. That’s the whole main-character job. πŸ’…


✨ SYNOPSIS ✨

struct drm_i915_gem_exec_fence {
    __u32 handle;
    __u32 flags;
  #define I915_EXEC_FENCE_WAIT            (1<<0);
  #define I915_EXEC_FENCE_SIGNAL          (1<<1);
  #define __I915_EXEC_FENCE_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_SIGNAL <<
1));
 };

πŸ’– Members πŸ’–

  • handle β€” User’s handle for a drm_syncobj to wait on or signal. 🫢
  • flags β€” Supported flags are:
    • I915_EXEC_FENCE_WAIT β€” Wait for the input fence before request submission. ⏳
    • I915_EXEC_FENCE_SIGNAL β€” Return request completion fence as output. πŸ“€

🌸 Description 🌸

The request will wait for input fence to signal before submission. Like, it is not going anywhere until that input fence gives the signal. ⏳

The returned output fence will be signaled after the completion of the request. So the output fence pops after the request is done β€” iconic. ✨


πŸ”₯ SEE ALSO πŸ”₯

bestie, here’s the whole group chat of related pages and files β€” every single one, no skips:

  • Kernel file ./tools/perf/trace/beauty/include/uapi/drm/i915_drm.h
  • uevents generated by i915 on its device node(9)
  • struct i915_user_extension(9)
  • enum drm_i915_gem_engine_class(9)
  • struct i915_engine_class_instance(9)
  • perf_events exposed by i915 through /sys/bus/event_sources/drivers/i915(9)
  • struct drm_i915_getparam(9)
  • drm_i915_getparam_t(9)
  • struct drm_i915_gem_mmap_offset(9)
  • struct drm_i915_gem_set_domain(9)
  • struct drm_i915_gem_execbuffer_ext_timeline_fences(9)
  • struct drm_i915_gem_execbuffer2(9)
  • struct drm_i915_gem_caching(9)
  • struct drm_i915_gem_context_create_ext(9)
  • struct drm_i915_gem_context_param(9)
  • Virtual Engine uAPI(9)
  • struct i915_context_engines_parallel_submit(9)
  • Context Engine Map uAPI(9)
  • struct drm_i915_gem_context_create_ext_setparam(9)
  • struct drm_i915_gem_vm_control(9)
  • struct drm_i915_gem_userptr(9)
  • struct drm_i915_perf_oa_config(9)
  • struct drm_i915_query_item(9)
  • struct drm_i915_query(9)
  • struct drm_i915_query_topology_info(9)
  • Engine Discovery uAPI(9)
  • struct drm_i915_engine_info(9)
  • struct drm_i915_query_engine_info(9)
  • struct drm_i915_query_perf_config(9)
  • enum drm_i915_gem_memory_class(9)
  • struct drm_i915_gem_memory_class_instance(9)
  • struct drm_i915_memory_region_info(9)
  • struct drm_i915_query_memory_regions(9)
  • struct drm_i915_query_guc_submission_version(9)
  • GuC HWCONFIG blob uAPI(9)
  • struct drm_i915_gem_create_ext(9)
  • struct drm_i915_gem_create_ext_memory_regions(9)
  • struct drm_i915_gem_create_ext_protected_content(9)
  • struct drm_i915_gem_create_ext_set_pat(9)

Cute sign-off: source/version ./tools/perf/trace/beauty/incl..., dated October 2026. mwah πŸ’‹

πŸ“¦ where this page comes from