STRUCT DRM_I915_GEM_CONTEXT_CREATE_EXT(9)
π struct drm_i915_gem_context_create_ext β NAME π
okay so bestie, welcome to the Kernel API Manual, section 9 β this is the page for struct drm_i915_gem_context_create_ext, which is, like, the structure for creating contexts. that's it, that's the name section, she's short and she knows it π
β¨ SYNOPSIS β¨
here's the whole struct, bestie β do not let me catch you retyping this by hand, copy it verbatim or the vibes will be off:
struct drm_i915_gem_context_create_ext {
__u32 ctx_id;
__u32 flags;
#define I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS (1u << 0);
#define I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE (1u << 1);
#define I915_CONTEXT_CREATE_FLAGS_UNKNOWN
(-(I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE << 1));
__u64 extensions;
#define I915_CONTEXT_CREATE_EXT_SETPARAM 0;
#define I915_CONTEXT_CREATE_EXT_CLONE 1;
};
the way those #defines are just vibing in the middle of a struct definition? iconic. slightly unhinged. we love her π
πΈ Members πΈ
π¦ ctx_id
the id of the created context β and heads up, this one's an output, so it's the function handing you the answer, not you telling it what to do π«Ά
π¦ flags
the supported flags, bestie, and there are exactly these:
β I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS:
this is the "yes please, I want extras" flag. extensions may be appended to this structure, and the driver must check for those. see extensions below, iykyk π
β I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE
short and sweet: a created context that gets this flag will have a single timeline. that's the whole thing. periodt β¨
π¦ extensions
a zero-terminated chain of extensions β zero-terminated is doing so much heavy lifting here, ngl, don't forget the terminator or she will keep walking π
π I915_CONTEXT_CREATE_EXT_SETPARAM:
a context parameter you get to set or query during context creation. go look at struct drm_i915_gem_context_create_ext_setparam for the details, she's got the full tea π
π I915_CONTEXT_CREATE_EXT_CLONE:
β οΈ bestie. this extension has been REMOVED. but on the off chance someone somewhere has attempted to use it β never re-use this extension number. no cap. that number is retired, it's a museum piece, leave it alone π
π§ SEE ALSO π§
okay this list is long and honestly? it ate. here's every single one, all accounted for, none skipped, we don't do that here π
- 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_exec_fence(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_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)
like I said. every single one π
okay that's the whole page, you're officially context-create-ext literate, I'm so proud π₯Ή this came from the source/version line ./tools/perf/trace/beauty/incl..., dated October 2026 β and the header/footer both say struct drm_i...t_create_ext(9) but you already knew that π
mwah, go write some contexts bestie πβ¨π
π¦ 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