|
XenevaOS
|
#include <asahi_drm.h>
Public Attributes | |
| __u64 | syncs |
| __u64 | cmdbuf |
| __u32 | flags |
| __u32 | queue_id |
| __u32 | in_sync_count |
| __u32 | out_sync_count |
| __u32 | cmdbuf_size |
| __u32 | pad |
struct drm_asahi_submit - Arguments passed to DRM_IOCTL_ASAHI_SUBMIT
| __u64 drm_asahi_submit::cmdbuf |
@cmdbuf: Pointer to the command buffer to submit.
This is a flat command buffer. By design, it contains no CPU pointers, which makes it suitable for a virtgpu wire protocol without requiring any serializing/deserializing step.
It consists of a series of commands. Each command begins with a fixed-size @drm_asahi_cmd_header header and is followed by a variable-length payload according to the type and size in the header.
The combined count of "real" hardware commands must be nonzero and at most drm_asahi_params_global::max_commands_per_submission.
| __u32 drm_asahi_submit::cmdbuf_size |
@cmdbuf_size: Command buffer size in bytes
| __u32 drm_asahi_submit::flags |
@flags: Flags for command submission (MBZ)
| __u32 drm_asahi_submit::in_sync_count |
@in_sync_count: Number of sync objects to wait on before starting this job.
| __u32 drm_asahi_submit::out_sync_count |
@out_sync_count: Number of sync objects to signal upon completion of this job.
| __u32 drm_asahi_submit::pad |
@pad: MBZ
| __u32 drm_asahi_submit::queue_id |
@queue_id: The queue ID to be submitted to
| __u64 drm_asahi_submit::syncs |
@syncs: An optional pointer to an array of drm_asahi_sync. The first @in_sync_count elements are in-syncs, then the remaining @out_sync_count elements are out-syncs. Using a single array with explicit partitioning simplifies handling.