|
XenevaOS
|
#include <xe_drm.h>
Public Attributes | |
| __u64 | extensions |
| __u32 | exec_queue_id |
| __u32 | num_syncs |
| __u64 | syncs |
| __u64 | address |
| __u16 | num_batch_buffer |
| __u16 | pad [3] |
| __u64 | reserved [2] |
struct drm_xe_exec - Input of &DRM_IOCTL_XE_EXEC
This is an example to use &struct drm_xe_exec for execution of the object at BIND_ADDRESS (see example in &struct drm_xe_vm_bind) by an exec_queue (see example in &struct drm_xe_exec_queue_create). It can be synchronized by using the example provided for &struct drm_xe_sync.
.. code-block:: C
struct drm_xe_exec exec = {
.exec_queue_id = exec_queue,
.syncs = &sync,
.num_syncs = 1,
.address = BIND_ADDRESS,
.num_batch_buffer = 1,
};
ioctl(fd, DRM_IOCTL_XE_EXEC, &exec);
| __u64 drm_xe_exec::address |
@address: address of batch buffer if num_batch_buffer == 1 or an array of batch buffer addresses
| __u32 drm_xe_exec::exec_queue_id |
@exec_queue_id: Exec queue ID for the batch buffer
| __u64 drm_xe_exec::extensions |
@extensions: Pointer to the first extension struct, if any
| __u16 drm_xe_exec::num_batch_buffer |
@num_batch_buffer: number of batch buffer in this exec, must match the width of the engine
| __u32 drm_xe_exec::num_syncs |
@num_syncs: Amount of struct drm_xe_sync in array.
| __u16 drm_xe_exec::pad[3] |
@pad: MBZ
| __u64 drm_xe_exec::reserved[2] |
@reserved: Reserved
| __u64 drm_xe_exec::syncs |
@syncs: Pointer to struct drm_xe_sync array.