POWERVR IOCTL CREATE_HWRT_DATASET AND DESTROY_HWRT_DATASET INTERFACES(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ PowerVR IOCTL CREATE_HWRT_DATASET and DESTROY_HWRT_DATASET interfaces πŸŽ€

okay so bestie, welcome to the PowerVR IOC...T interfaces(9) era β€” this is a Kernel API Manual page, section 9, and it's honestly giving "the group chat where every doc page links to every other doc page" πŸ’…. The whole vibe here is the two hwrt-dataset ioctls (create + destroy), and the page is basically a rolodex β€” every single relative, cousin and mutual is listed under SEE ALSO. no cap, that's the entire content. let's go through the whole friends list together, fr fr 🫢


✨ SEE ALSO ✨

don't skip this section, it IS the section 😭 β€” every reference below is verbatim, so you can look each one up and get the actual full story.

πŸ¦‹ the home base

  • Kernel file ./include/uapi/drm/pvr_drm.h β€” literally the header file itself, the source of truth, the main character πŸ‘‘
  • PowerVR UAPI(9) β€” the top-level UAPI page, start here if you're new
  • PowerVR IOCTL interface(9) β€” the big ioctl overview
  • PVR_IOCTL(9) β€” the macro, iconic

🌸 object arrays & the DEV_QUERY family

  • struct drm_pvr_obj_array(9)
  • DRM_PVR_OBJ_ARRAY(9)
  • PowerVR IOCTL DEV_QUERY interface(9)
  • struct drm_pvr_dev_query_gpu_info(9)
  • struct drm_pvr_dev_query_runtime_info(9)
  • struct drm_pvr_dev_query_quirks(9)
  • struct drm_pvr_dev_query_enhancements(9)
  • enum drm_pvr_heap_id(9)
  • struct drm_pvr_heap(9)
  • struct drm_pvr_dev_query_heap_info(9)
  • enum drm_pvr_static_data_area_usage(9)
  • struct drm_pvr_static_data_area(9)
  • struct drm_pvr_dev_query_static_data_areas(9)
  • enum drm_pvr_dev_query(9)
  • struct drm_pvr_ioctl_dev_query_args(9)

like, that's a whole friend group right there. DEV_QUERY ate, honestly πŸ“

πŸ’– buffers (BOs, the classics)

  • PowerVR IOCTL CREATE_BO interface(9)
  • Flags for CREATE_BO(9)
  • struct drm_pvr_ioctl_create_bo_args(9)
  • PowerVR IOCTL GET_BO_MMAP_OFFSET interface(9)
  • struct drm_pvr_ioctl_get_bo_mmap_offset_args(9)

🧚 VM contexts & mappings

  • PowerVR IOCTL CREATE_VM_CONTEXT and DESTROY_VM_CONTEXT interfaces(9)
  • struct drm_pvr_ioctl_create_vm_context_args(9)
  • struct drm_pvr_ioctl_destroy_vm_context_args(9)
  • PowerVR IOCTL VM_MAP and VM_UNMAP interfaces(9)
  • struct drm_pvr_ioctl_vm_map_args(9)
  • struct drm_pvr_ioctl_vm_unmap_args(9)

πŸ’œ contexts, priorities & types

  • PowerVR IOCTL CREATE_CONTEXT and DESTROY_CONTEXT interfaces(9)
  • enum drm_pvr_ctx_priority(9)
  • enum drm_pvr_ctx_type(9)
  • struct drm_pvr_ioctl_create_context_args(9)
  • struct drm_pvr_ioctl_destroy_context_args(9)

πŸ”₯ free lists

  • PowerVR IOCTL CREATE_FREE_LIST and DESTROY_FREE_LIST interfaces(9)
  • struct drm_pvr_ioctl_create_free_list_args(9)
  • struct drm_pvr_ioctl_destroy_free_list_args(9)

πŸ‘‘ the hwrt dataset squad (aka the actual topic of this page)

  • struct drm_pvr_create_hwrt_geom_data_args(9)
  • struct drm_pvr_create_hwrt_rt_data_args(9)
  • struct drm_pvr_ioctl_create_hwrt_dataset_args(9)
  • struct drm_pvr_ioctl_destroy_hwrt_dataset_args(9)

there they are!! the whole reason this page exists πŸ˜­πŸ’… these four are the ones you actually came for β€” the dataset create/destroy args and the geom + rt data structs. go read them, they're right there.

🌈 SUBMIT_JOBS and the sync-op crew

  • PowerVR IOCTL SUBMIT_JOBS interface(9)
  • Flags for the drm_pvr_sync_op object.(9)
  • struct drm_pvr_sync_op(9)
  • Flags for SUBMIT_JOB ioctl geometry command.(9)
  • Flags for SUBMIT_JOB ioctl fragment command.(9)
  • Flags for SUBMIT_JOB ioctl compute command.(9)
  • Flags for SUBMIT_JOB ioctl transfer command.(9)
  • enum drm_pvr_job_type(9)
  • struct drm_pvr_hwrt_data_ref(9)
  • struct drm_pvr_job(9)
  • struct drm_pvr_ioctl_submit_jobs_args(9)
heads up bestie 🫢 β€” that's genuinely the whole page. no DESCRIPTION, no OPTIONS, no EXAMPLES, no RETURN VALUE, no ERRORS. this manpage is just the SEE ALSO list, so don't go looking for more and then come back confused, iykyk. every reference above is exactly as written, keep the (9) suffixes, they matter.

and that's the whole read πŸ’€βœ¨ if you made it through the entire list, you're lowkey a PowerVR scholar now. this one's straight outta ./include/uapi/drm, dated October 2026, living in section 9 of the Kernel API Manual β€” mwah, go touch some pvr_drm.h πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from