|
XenevaOS
|
#include <vc4_drm.h>

struct drm_vc4_submit_cl - ioctl argument for submitting commands to the 3D engine.
Drivers typically use GPU BOs to store batchbuffers / command lists and their associated state. However, because the VC4 lacks an MMU, we have to do validation of memory accesses by the GPU commands. If we were to store our commands in BOs, we'd need to do uncached readback from them to do the validation process, which is too expensive. Instead, userspace accumulates commands and associated state in plain memory, then the kernel copies the data to its own address space, and then validates and stores it in a GPU BO.
| __u64 drm_vc4_submit_cl::bin_cl |
| __u32 drm_vc4_submit_cl::bin_cl_size |
| __u32 drm_vc4_submit_cl::bo_handle_count |
| __u64 drm_vc4_submit_cl::bo_handles |
| __u32 drm_vc4_submit_cl::clear_color[2] |
| __u8 drm_vc4_submit_cl::clear_s |
| __u32 drm_vc4_submit_cl::clear_z |
| struct drm_vc4_submit_rcl_surface drm_vc4_submit_cl::color_read |
| struct drm_vc4_submit_rcl_surface drm_vc4_submit_cl::color_write |
| __u32 drm_vc4_submit_cl::flags |
| __u16 drm_vc4_submit_cl::height |
| __u32 drm_vc4_submit_cl::in_sync |
| __u8 drm_vc4_submit_cl::max_x_tile |
| __u8 drm_vc4_submit_cl::max_y_tile |
| __u8 drm_vc4_submit_cl::min_x_tile |
| __u8 drm_vc4_submit_cl::min_y_tile |
| struct drm_vc4_submit_rcl_surface drm_vc4_submit_cl::msaa_color_write |
| struct drm_vc4_submit_rcl_surface drm_vc4_submit_cl::msaa_zs_write |
| __u32 drm_vc4_submit_cl::out_sync |
| __u32 drm_vc4_submit_cl::pad |
| __u32 drm_vc4_submit_cl::pad2 |
| __u32 drm_vc4_submit_cl::perfmonid |
| __u64 drm_vc4_submit_cl::seqno |
| __u64 drm_vc4_submit_cl::shader_rec |
| __u32 drm_vc4_submit_cl::shader_rec_count |
| __u32 drm_vc4_submit_cl::shader_rec_size |
| __u64 drm_vc4_submit_cl::uniforms |
| __u32 drm_vc4_submit_cl::uniforms_size |
| __u16 drm_vc4_submit_cl::width |
| struct drm_vc4_submit_rcl_surface drm_vc4_submit_cl::zs_read |
| struct drm_vc4_submit_rcl_surface drm_vc4_submit_cl::zs_write |