|
XenevaOS
|

Go to the source code of this file.
| #define DRM_PVR_BO_ALLOW_CPU_USERSPACE_ACCESS _BITULL(2) |
| #define DRM_PVR_BO_BYPASS_DEVICE_CACHE _BITULL(0) |
DOC: PowerVR IOCTL CREATE_BO interface DOC: Flags for CREATE_BO
We use "device" to refer to the GPU here because of the ambiguity between CPU and GPU in some fonts.
Device mapping options :DRM_PVR_BO_BYPASS_DEVICE_CACHE: Specify that device accesses to this memory will bypass the cache. This is used for buffers that will either be regularly updated by the CPU (eg free lists) or will be accessed only once and therefore isn't worth caching (eg partial render buffers). By default, the device flushes its memory caches after every job, so this is not normally required for coherency. :DRM_PVR_BO_PM_FW_PROTECT: Specify that only the Parameter Manager (PM) and/or firmware processor should be allowed to access this memory when mapped to the device. It is not valid to specify this flag with DRM_PVR_BO_ALLOW_CPU_USERSPACE_ACCESS.
CPU mapping options :DRM_PVR_BO_ALLOW_CPU_USERSPACE_ACCESS: Allow userspace to map and access the contents of this memory. It is not valid to specify this flag with DRM_PVR_BO_PM_FW_PROTECT.
| #define DRM_PVR_BO_FLAGS_MASK |
| #define DRM_PVR_BO_PM_FW_PROTECT _BITULL(1) |
| #define DRM_PVR_OBJ_ARRAY | ( | cnt, | |
| ptr | |||
| ) | { .stride = sizeof((ptr)[0]), .count = (cnt), .array = (__u64)(uintptr_t)(ptr) } |
DRM_PVR_OBJ_ARRAY() - Helper macro for filling &struct drm_pvr_obj_array. @cnt: Number of elements pointed to py @ptr. @ptr: Pointer to start of a C array.
Return: Literal of type &struct drm_pvr_obj_array.
| #define DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_FLAGS_MASK |
| #define DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_PREVENT_ALL_OVERLAP _BITULL(0) |
DOC: Flags for SUBMIT_JOB ioctl compute command.
.. c:macro:: DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_PREVENT_ALL_OVERLAP
Disallow other jobs overlapped with this compute.
.. c:macro:: DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_SINGLE_CORE
Forces to use single core in a multi core device.
.. c:macro:: DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_FLAGS_MASK
Logical OR of all the compute cmd flags.
| #define DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_SINGLE_CORE _BITULL(1) |
| #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_DEPTHBUFFER _BITULL(1) |
| #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_DISABLE_PIXELMERGE _BITULL(7) |
| #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_FLAGS_MASK |
| #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_GET_VIS_RESULTS _BITULL(5) |
| #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_PARTIAL_RENDER _BITULL(6) |
| #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_PREVENT_CDM_OVERLAP _BITULL(3) |
| #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_SCRATCHBUFFER _BITULL(4) |
| #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_SINGLE_CORE _BITULL(0) |
DOC: Flags for SUBMIT_JOB ioctl fragment command.
.. c:macro:: DRM_PVR_SUBMIT_JOB_FRAG_CMD_SINGLE_CORE
Use single core in a multi core setup.
.. c:macro:: DRM_PVR_SUBMIT_JOB_FRAG_CMD_DEPTHBUFFER
Indicates whether a depth buffer is present.
.. c:macro:: DRM_PVR_SUBMIT_JOB_FRAG_CMD_STENCILBUFFER
Indicates whether a stencil buffer is present.
.. c:macro:: DRM_PVR_SUBMIT_JOB_FRAG_CMD_PREVENT_CDM_OVERLAP
Disallow compute overlapped with this render.
.. c:macro:: DRM_PVR_SUBMIT_JOB_FRAG_CMD_GET_VIS_RESULTS
Indicates whether this render produces visibility results.
.. c:macro:: DRM_PVR_SUBMIT_JOB_FRAG_CMD_SCRATCHBUFFER
Indicates whether partial renders write to a scratch buffer instead of the final surface. It also forces the full screen copy expected to be present on the last render after all partial renders have completed.
.. c:macro:: DRM_PVR_SUBMIT_JOB_FRAG_CMD_DISABLE_PIXELMERGE
Disable pixel merging for this render.
.. c:macro:: DRM_PVR_SUBMIT_JOB_FRAG_CMD_FLAGS_MASK
Logical OR of all the fragment cmd flags.
| #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_STENCILBUFFER _BITULL(2) |
| #define DRM_PVR_SUBMIT_JOB_GEOM_CMD_FIRST _BITULL(0) |
DOC: Flags for SUBMIT_JOB ioctl geometry command.
.. c:macro:: DRM_PVR_SUBMIT_JOB_GEOM_CMD_FIRST
Indicates if this the first command to be issued for a render.
.. c:macro:: DRM_PVR_SUBMIT_JOB_GEOM_CMD_LAST
Indicates if this the last command to be issued for a render.
.. c:macro:: DRM_PVR_SUBMIT_JOB_GEOM_CMD_SINGLE_CORE
Forces to use single core in a multi core device.
.. c:macro:: DRM_PVR_SUBMIT_JOB_GEOM_CMD_FLAGS_MASK
Logical OR of all the geometry cmd flags.
| #define DRM_PVR_SUBMIT_JOB_GEOM_CMD_FLAGS_MASK |
| #define DRM_PVR_SUBMIT_JOB_GEOM_CMD_LAST _BITULL(1) |
| #define DRM_PVR_SUBMIT_JOB_GEOM_CMD_SINGLE_CORE _BITULL(2) |
| #define DRM_PVR_SUBMIT_JOB_TRANSFER_CMD_FLAGS_MASK DRM_PVR_SUBMIT_JOB_TRANSFER_CMD_SINGLE_CORE |
| #define DRM_PVR_SUBMIT_JOB_TRANSFER_CMD_SINGLE_CORE _BITULL(0) |
DOC: Flags for SUBMIT_JOB ioctl transfer command.
.. c:macro:: DRM_PVR_SUBMIT_JOB_TRANSFER_CMD_SINGLE_CORE
Forces job to use a single core in a multi core device.
.. c:macro:: DRM_PVR_SUBMIT_JOB_TRANSFER_CMD_FLAGS_MASK
Logical OR of all the transfer cmd flags.
| #define DRM_PVR_SYNC_OP_FLAG_HANDLE_TYPE_MASK 0xf |
DOC: PowerVR IOCTL SUBMIT_JOBS interface DOC: Flags for the drm_pvr_sync_op object.
.. c:macro:: DRM_PVR_SYNC_OP_HANDLE_TYPE_MASK
Handle type mask for the drm_pvr_sync_op::flags field.
.. c:macro:: DRM_PVR_SYNC_OP_FLAG_HANDLE_TYPE_SYNCOBJ
Indicates the handle passed in drm_pvr_sync_op::handle is a syncobj handle. This is the default type.
.. c:macro:: DRM_PVR_SYNC_OP_FLAG_HANDLE_TYPE_TIMELINE_SYNCOBJ
Indicates the handle passed in drm_pvr_sync_op::handle is a timeline syncobj handle.
.. c:macro:: DRM_PVR_SYNC_OP_FLAG_SIGNAL
Signal operation requested. The out-fence bound to the job will be attached to the syncobj whose handle is passed in drm_pvr_sync_op::handle.
.. c:macro:: DRM_PVR_SYNC_OP_FLAG_WAIT
Wait operation requested. The job will wait for this particular syncobj or syncobj point to be signaled before being started. This is the default operation.
| #define DRM_PVR_SYNC_OP_FLAG_HANDLE_TYPE_SYNCOBJ 0 |
| #define DRM_PVR_SYNC_OP_FLAG_HANDLE_TYPE_TIMELINE_SYNCOBJ 1 |
| #define DRM_PVR_SYNC_OP_FLAG_SIGNAL _BITULL(31) |
| #define DRM_PVR_SYNC_OP_FLAG_WAIT 0 |
| #define DRM_PVR_SYNC_OP_FLAGS_MASK |
| #define PVR_DRM_HWRT_FREE_LIST_GLOBAL 1U |
| #define PVR_DRM_HWRT_FREE_LIST_LOCAL 0 |
| #define PVR_IOCTL | ( | _ioctl, | |
| _mode, | |||
| _data | |||
| ) | _mode(DRM_COMMAND_BASE + (_ioctl), struct drm_pvr_ioctl_##_data##_args) |
DOC: PowerVR IOCTL interface PVR_IOCTL() - Build a PowerVR IOCTL number @_ioctl: An incrementing id for this IOCTL. Added to DRM_COMMAND_BASE. @_mode: Must be one of DRM_IOR, DRM_IOW or DRM_IOWR. @_data: The type of the args struct passed by this IOCTL.
The struct referred to by @_data must have a drm_pvr_ioctl_ prefix and an _args suffix. They are therefore omitted from @_data.
This should only be used to build the constants described below; it should never be used to call an IOCTL directly.
Return: An IOCTL number to be passed to ioctl() from userspace.
| enum drm_pvr_ctx_priority |
DOC: PowerVR IOCTL CREATE_CONTEXT and DESTROY_CONTEXT interfaces enum drm_pvr_ctx_priority - Arguments for &drm_pvr_ioctl_create_context_args.priority
| enum drm_pvr_ctx_type |
enum drm_pvr_ctx_type - Arguments for &struct drm_pvr_ioctl_create_context_args.type
| enum drm_pvr_dev_query |
enum drm_pvr_dev_query - For use with &drm_pvr_ioctl_dev_query_args.type to indicate the type of the receiving container.
Append only. Do not reorder.
| Enumerator | |
|---|---|
| DRM_PVR_DEV_QUERY_GPU_INFO_GET | @DRM_PVR_DEV_QUERY_GPU_INFO_GET: The dev query args contain a pointer to &struct drm_pvr_dev_query_gpu_info. |
| DRM_PVR_DEV_QUERY_RUNTIME_INFO_GET | @DRM_PVR_DEV_QUERY_RUNTIME_INFO_GET: The dev query args contain a pointer to &struct drm_pvr_dev_query_runtime_info. |
| DRM_PVR_DEV_QUERY_QUIRKS_GET | @DRM_PVR_DEV_QUERY_QUIRKS_GET: The dev query args contain a pointer to &struct drm_pvr_dev_query_quirks. |
| DRM_PVR_DEV_QUERY_ENHANCEMENTS_GET | @DRM_PVR_DEV_QUERY_ENHANCEMENTS_GET: The dev query args contain a pointer to &struct drm_pvr_dev_query_enhancements. |
| DRM_PVR_DEV_QUERY_HEAP_INFO_GET | @DRM_PVR_DEV_QUERY_HEAP_INFO_GET: The dev query args contain a pointer to &struct drm_pvr_dev_query_heap_info. |
| DRM_PVR_DEV_QUERY_STATIC_DATA_AREAS_GET | @DRM_PVR_DEV_QUERY_STATIC_DATA_AREAS_GET: The dev query args contain a pointer to &struct drm_pvr_dev_query_static_data_areas. |
| enum drm_pvr_heap_id |
enum drm_pvr_heap_id - Array index for heap info data returned by DRM_PVR_DEV_QUERY_HEAP_INFO_GET.
For compatibility reasons all indices will be present in the returned array, however some heaps may not be present. These are indicated where &struct drm_pvr_heap.size is set to zero.
| enum drm_pvr_job_type |
enum drm_pvr_job_type - Arguments for &struct drm_pvr_job.job_type
enum drm_pvr_static_data_area_usage - Array index for static data area info returned by DRM_PVR_DEV_QUERY_STATIC_DATA_AREAS_GET.
For compatibility reasons all indices will be present in the returned array, however some areas may not be present. These are indicated where &struct drm_pvr_static_data_area.size is set to zero.