STRUCT DRM_PVR_JOB(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct drm_pvr_job πŸ’–

okay so bestie, welcome to the Kernel API Manual entry for struct drm_pvr_job πŸ’… this is the little struct that carries Job arguments passed to the %DRM_IOCTL_PVR_SUBMIT_JOBS ioctl. iconic behavior, honestly.


✨ SYNOPSIS ✨

       struct drm_pvr_job {
           __u32 type;
           __u32 context_handle;
           __u32 flags;
           __u32 cmd_stream_len;
           __u64 cmd_stream;
           struct drm_pvr_obj_array sync_ops;
           struct drm_pvr_hwrt_data_ref hwrt;
        };

🫢 Members 🫢

🌸 type

[IN] Type of job being submitted.

This must be one of the values defined by enum drm_pvr_job_type. periodt.

πŸ¦‹ context_handle

[IN] Context handle.

When job_type is DRM_PVR_JOB_TYPE_RENDER, DRM_PVR_JOB_TYPE_COMPUTE or DRM_PVR_JOB_TYPE_TRANSFER_FRAG, this must be a valid handle returned by DRM_IOCTL_PVR_CREATE_CONTEXT. The type of context must be compatible with the type of job being submitted. no cap.

When job_type is DRM_PVR_JOB_TYPE_NULL, this must be zero.

πŸŽ€ flags

[IN] Flags for command.

Those are job-dependent. See all DRM_PVR_SUBMIT_JOB_*.

⭐ cmd_stream_len

[IN] Length of command stream, in bytes.

πŸ“ cmd_stream

[IN] Pointer to command stream for command.

The command stream must be u64-aligned.

🧚 sync_ops

[IN] Fragment sync operations.

πŸ‘‘ hwrt

[IN] HWRT data used by render jobs (geometry or fragment).

Must be zero for non-render jobs. lowkey important.


🌈 SEE ALSO 🌈

  • Kernel file ./include/uapi/drm/pvr_drm.h
  • PowerVR UAPI(9)
  • struct drm_pvr_obj_array(9)
  • DRM_PVR_OBJ_ARRAY(9)
  • PowerVR IOCTL interface(9)
  • PVR_IOCTL(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)
  • 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)
  • 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)
  • 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)
  • 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)
  • PowerVR IOCTL CREATE_HWRT_DATASET and DESTROY_HWRT_DATASET interfaces(9)
  • 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)
  • 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_ioctl_submit_jobs_args(9)

later, bestie πŸ’– this page is sourced from ./include/uapi/drm and dated October 2026, for struct drm_pvr_job(9) β€” mwah, slay, bye 🫢✨

πŸ“¦ where this page comes from