STRUCT DRM_XE_ENGINE_CLASS_INSTANCE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct drm_xe_engine_class_instance(9) β€” Kernel API Manual, bestie edition ✨

okay so picture this: it's a page from the Kernel API Manual and it's literally just describing one engine class instance. tiny struct, big main character energy. let's get into it 🫢


🌸 NAME 🌸

struct drm_xe_engine_class_instance β€” an instance of an engine class. that's it, that's the whole vibe ✨


πŸŽ€ SYNOPSIS πŸŽ€

no cap, here's the whole thing verbatim, do not come for me about the semicolons:

struct drm_xe_engine_class_instance {
  #define DRM_XE_ENGINE_CLASS_RENDER              0;
  #define DRM_XE_ENGINE_CLASS_COPY                1;
  #define DRM_XE_ENGINE_CLASS_VIDEO_DECODE        2;
  #define DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE       3;
  #define DRM_XE_ENGINE_CLASS_COMPUTE             4;
  #define DRM_XE_ENGINE_CLASS_VM_BIND             5;
    __u16 engine_class;
    __u16 engine_instance;
    __u16 gt_id;
    __u16 pad;
 };

πŸ’… Members πŸ’…

  • engine_class β€” the engine class id 🎯 like, which kind of engine we're talking about.
  • engine_instance β€” the engine instance id. which specific baby of that class πŸ’–
  • gt_id β€” the unique ID of this GT within the PCI Device. iykyk 🧚
  • pad β€” MBZ. and yes bestie, MBZ means "must be zero" β€” don't be quirky with it πŸ™ˆ

πŸ”₯ Description πŸ”₯

so the way this struct works: it gets returned as part of struct drm_xe_engine, but it's also used as the input of engine selection for both struct drm_xe_exec_queue_create and struct drm_xe_query_engine_cycles. dual purpose icon behavior, honestly πŸ‘‘

the engine_class can be:

  • DRM_XE_ENGINE_CLASS_RENDER
  • DRM_XE_ENGINE_CLASS_COPY
  • DRM_XE_ENGINE_CLASS_VIDEO_DECODE
  • DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE
  • DRM_XE_ENGINE_CLASS_COMPUTE
  • DRM_XE_ENGINE_CLASS_VM_BIND β€” ⚠️ these are kernel only classes (not an actual hardware engine class, so don't go looking for it in the silicon πŸ’€). it's used for creating ordered queues of VM bind operations. periodt.

🌈 SEE ALSO 🌈

gorgeous gorgeous girls read the whole cross-reference list, so here it is in full β€” the kernel file ./include/uapi/drm/xe_drm.h, then: Xe Device Block Diagram(9), Xe uAPI Overview(9), Xe IOCTL Extensions(9), struct drm_xe_user_extension(9), struct drm_xe_ext_set_property(9), struct drm_xe_engine(9), struct drm_xe_query_engines(9), enum drm_xe_memory_class(9), struct drm_xe_mem_region(9), struct drm_xe_query_mem_regions(9), struct drm_xe_query_config(9), struct drm_xe_gt(9), struct drm_xe_query_gt_list(9), struct drm_xe_query_topology_mask(9), struct drm_xe_query_engine_cycles(9), struct drm_xe_query_uc_fw_version(9), struct drm_xe_query_pxp_status(9), struct drm_xe_device_query(9), struct drm_xe_gem_create(9), struct drm_xe_gem_mmap_offset(9), struct drm_xe_vm_create(9), struct drm_xe_vm_destroy(9), struct drm_xe_vm_bind_op(9), struct drm_xe_vm_bind(9), struct drm_xe_vm_get_property(9), struct drm_xe_exec_queue_create(9), struct drm_xe_exec_queue_destroy(9), struct drm_xe_exec_queue_get_property(9), struct drm_xe_sync(9), struct drm_xe_exec(9), struct drm_xe_wait_user_fence(9), enum drm_xe_observation_type(9), enum drm_xe_observation_op(9), struct drm_xe_observation_param(9), enum drm_xe_observation_ioctls(9), enum drm_xe_oa_unit_type(9), struct drm_xe_oa_unit(9), struct drm_xe_query_oa_units(9), enum drm_xe_oa_format_type(9), enum drm_xe_oa_property_id(9), struct drm_xe_oa_config(9), struct drm_xe_oa_stream_status(9), struct drm_xe_oa_stream_info(9), enum drm_xe_pxp_session_type(9), enum drm_xe_eu_stall_property_id(9), struct drm_xe_query_eu_stall(9), struct drm_xe_madvise(9), struct drm_xe_mem_range_attr(9), struct drm_xe_vm_query_mem_range_attr(9), struct drm_xe_exec_queue_set_property(9), Xe DRM RAS(9), enum drm_xe_ras_error_severity(9), enum drm_xe_ras_error_component(9).


πŸ¦‹ and that's the whole page, bestie! this one came from ./include/uapi/drm, dated October 2026 β€” so like, future manpage, very ahead of its time πŸ’œ go read it again if you need to, i'll wait. mwah! πŸ“

πŸ“¦ where this page comes from