ENUM DRM_I915_GEM_ENGINE_CLASS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum drm_i915_gem_engine_class (9) β€” Kernel API Manual

okay so bestie, welcome to the literal glow-up guide for enum drm_i915_gem_engine_class πŸ’– this is the official uapi engine type enumeration, and yes it's giving "who's who of GPU engines" energy. Every engine in here has a role, and this enum is basically the group chat roster 🌸


✨ SYNOPSIS ✨

enum drm_i915_gem_engine_class {
    I915_ENGINE_CLASS_RENDER ,
    I915_ENGINE_CLASS_COPY ,
    I915_ENGINE_CLASS_VIDEO ,
    I915_ENGINE_CLASS_VIDEO_ENHANCE ,
    I915_ENGINE_CLASS_COMPUTE ,
    I915_ENGINE_CLASS_INVALID

};

πŸŽ€ Constants πŸŽ€

  • I915_ENGINE_CLASS_RENDER β€” the main character πŸ‘‘ Render engines support instructions used for 3D, Compute (GPGPU), and programmable media workloads. These instructions fetch data and dispatch individual work items to threads that operate in parallel. The threads run small programs (called "kernels" or "shaders") on the GPU's execution units (EUs). literally the multitasking icon of the whole lineup, no cap.
  • I915_ENGINE_CLASS_COPY β€” Copy engines (also referred to as "blitters") support instructions that move blocks of data from one location in memory to another, or that fill a specified location of memory with fixed data. Copy engines can perform pre-defined logical or bitwise operations on the source, destination, or pattern data. πŸ¦‹ they just move stuff and do bit math, and honestly? they ate.
  • I915_ENGINE_CLASS_VIDEO β€” Video engines (also referred to as "bit stream decode" (BSD) or "vdbox") support instructions that perform fixed-function media decode and encode. πŸ’œ the vdbox besties, decoding and encoding all day.
  • I915_ENGINE_CLASS_VIDEO_ENHANCE β€” Video enhancement engines (also referred to as "vebox") support instructions related to image enhancement. ✨ glow-up engines fr fr, that's the whole vibe.
  • I915_ENGINE_CLASS_COMPUTE β€” Compute engines support a subset of the instructions available on render engines: compute engines support Compute (GPGPU) and programmable media workloads, but do not support the 3D pipeline. 🧚 so like, render's cool younger sibling β€” all the GPGPU and programmable media, none of the 3D drama.
  • I915_ENGINE_CLASS_INVALID β€” Placeholder value to represent an invalid engine class assignment. πŸ’€ the "nobody's home" option, we don't use this one on purpose, bestie.

🌈 Description 🌈

Different engines serve different roles, and there may be more than one engine serving each role. 🫢 This enum provides a classification of the role of the engine, which may be used when requesting operations to be performed on a certain subset of engines, or for providing information about that group.

So yeah β€” it's a vibe check for engines. You say "do this on that kind of engine," and the enum is how you name the kind. iconic behaviour honestly.


πŸ”₯ SEE ALSO πŸ”₯

read these too, iykyk β€” they're all linked up and they all matter, don't skip a single one πŸ™ˆ
  • 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)
  • 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_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)

that's the whole page bestie, go forth and classify your engines πŸ’…πŸ’–

πŸŽ€ sign-off πŸŽ€ β€” this came out of ./tools/perf/trace/beauty/incl... and it's dated October 2026, filed under the name enum drm_i91...engine_class(9) (yes the header truncated it, that's just how it renders, don't come for me 😭). mwah, study hard, slay gently 🫢✨

πŸ“¦ where this page comes from