XE DEVICE BLOCK DIAGRAM(9)
π Xe Device Block Diagram π
okay bestie, so this page lives in the Kernel API Manual, and it's basically the group chat pinned message for the whole Xe driver π β it's here so you can actually picture what the driver is talking about when it starts throwing GT, Tile, DSS and EU around like you're supposed to already know. π«Ά
π¦ the actual diagram (yes, it's a big one) π¦
The diagram below is a high-level simplification of a discrete GPU that the Xe driver supports. It shows some device components which are necessary to understand this API, as well as their relations to each other. And like β heavy emphasis β this diagram does not represent real hardware, it's a vibe sketch, not a die shot. π
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ βββββββββββ β
β β βββββββββββββββββββββββββ βββββββ β β βββββββ β β
β β β VRAM0 βββββ€ ... β β β βVRAM1β β β
β β βββββββββββββ¬ββββββββββββ ββGT1ββ β β ββββ¬βββ β β
β β ββββββββββββββββββββ΄ββββββββββββββββββββββββββββ β β ββββ΄βββ β β
β β β βββββββββββββββββββββββ βββββββββββββββββββ β β β β β β β
β β β β ββββ ββββ ββββ ββββ β β βββββββ βββββββ β β β β β β β β
β β β β βEUβ βEUβ βEUβ βEUβ β β βRCS0 β βBCS0 β β β β β β β β β
β β β β ββββ ββββ ββββ ββββ β β βββββββ βββββββ β β β β β β β β
β β β β ββββ ββββ ββββ ββββ β β βββββββ βββββββ β β β β β β β β
β β β β βEUβ βEUβ βEUβ βEUβ β β βVCS0 β βVCS1 β β β β β β β β β
β β β β ββββ ββββ ββββ ββββ β β βββββββ βββββββ β β β β β β β β
β β β β ββββ ββββ ββββ ββββ β β βββββββ βββββββ β β β β β β β β
β β β β βEUβ βEUβ βEUβ βEUβ β β βVECS0β βVECS1β β β β β β ... β β β
β β β β ββββ ββββ ββββ ββββ β β βββββββ βββββββ β β β β β β β β
β β β β ββββ ββββ ββββ ββββ β β βββββββ βββββββ β β β β β β β β
β β β β βEUβ βEUβ βEUβ βEUβ β β βCCS0 β βCCS1 β β β β β β β β β
β β β β ββββ ββββ ββββ ββββ β β βββββββ βββββββ β β β β β β β β
β β β ββββββββββDSSββββββββββ β βββββββ βββββββ β β β β β β β β
β β β β βCCS2 β βCCS3 β β β β β β β β β
β β β βββββββ βββββββ βββββββ β βββββββ βββββββ β β β β β β β β
β β β β ... β β ... β β ... β β β β β β β β β β
β β β ββDSSββ ββDSSββ ββDSSββ ββββββEnginesββββββ β β β β β β β
β β ββββββββββββββββββββββββββββGT0βββββββββββββββββ β β ββGT2ββ β β
β βββββββββββββββββββββββββββββTile0ββββββββββββββββββ ββ Tile1βββ β
ββββββββββββββββββββββββββββββDevice0ββββββββ¬βββββββββββββββββββββββ
β
ββββββββββββββββββββββββ΄ββββββββββ PCI bus
like, look at her. Device0 holding it all down at the bottom with Tile0 and Tile1 inside, each tile packing its own GT0/GT1/GT2 energy, VRAM0 and VRAM1 up top doing memory things, and a whole crowd of EUs grouped into DSSs while the Engines block (RCS0, BCS0, VCS0, VCS1, VECS0, VECS1, CCS0, CCS1, CCS2, CCS3) sits pretty on the right. and the whole thing hangs off the PCI bus at the bottom. iconiquΓ©. π
πΈ SEE ALSO πΈ
Start with the kernel file bestie, that's the source of truth:
- Kernel file
./include/uapi/drm/xe_drm.h
and then the whole extended universe, no skips, no cap:
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_class_instance(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)
π that's the whole page bestie, you ate. this one's served up from ./include/uapi/drm, dated October 2026 β go forth and read the rest of the Xe docs, mwah πβ¨π
π¦ 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