1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef PVR_DRM_UAPI_H 8*8d67ca89SAndroid Build Coastguard Worker #define PVR_DRM_UAPI_H 9*8d67ca89SAndroid Build Coastguard Worker #include "drm.h" 10*8d67ca89SAndroid Build Coastguard Worker #include <linux/const.h> 11*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 12*8d67ca89SAndroid Build Coastguard Worker #ifdef __cplusplus 13*8d67ca89SAndroid Build Coastguard Worker extern "C" { 14*8d67ca89SAndroid Build Coastguard Worker #endif 15*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_obj_array { 16*8d67ca89SAndroid Build Coastguard Worker __u32 stride; 17*8d67ca89SAndroid Build Coastguard Worker __u32 count; 18*8d67ca89SAndroid Build Coastguard Worker __u64 array; 19*8d67ca89SAndroid Build Coastguard Worker }; 20*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_OBJ_ARRAY(cnt,ptr) {.stride = sizeof((ptr)[0]),.count = (cnt),.array = (__u64) (uintptr_t) (ptr) } 21*8d67ca89SAndroid Build Coastguard Worker #define PVR_IOCTL(_ioctl,_mode,_data) _mode(DRM_COMMAND_BASE + (_ioctl), struct drm_pvr_ioctl_ ##_data ##_args) 22*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_PVR_DEV_QUERY PVR_IOCTL(0x00, DRM_IOWR, dev_query) 23*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_PVR_CREATE_BO PVR_IOCTL(0x01, DRM_IOWR, create_bo) 24*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_PVR_GET_BO_MMAP_OFFSET PVR_IOCTL(0x02, DRM_IOWR, get_bo_mmap_offset) 25*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_PVR_CREATE_VM_CONTEXT PVR_IOCTL(0x03, DRM_IOWR, create_vm_context) 26*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_PVR_DESTROY_VM_CONTEXT PVR_IOCTL(0x04, DRM_IOW, destroy_vm_context) 27*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_PVR_VM_MAP PVR_IOCTL(0x05, DRM_IOW, vm_map) 28*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_PVR_VM_UNMAP PVR_IOCTL(0x06, DRM_IOW, vm_unmap) 29*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_PVR_CREATE_CONTEXT PVR_IOCTL(0x07, DRM_IOWR, create_context) 30*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_PVR_DESTROY_CONTEXT PVR_IOCTL(0x08, DRM_IOW, destroy_context) 31*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_PVR_CREATE_FREE_LIST PVR_IOCTL(0x09, DRM_IOWR, create_free_list) 32*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_PVR_DESTROY_FREE_LIST PVR_IOCTL(0x0a, DRM_IOW, destroy_free_list) 33*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_PVR_CREATE_HWRT_DATASET PVR_IOCTL(0x0b, DRM_IOWR, create_hwrt_dataset) 34*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_PVR_DESTROY_HWRT_DATASET PVR_IOCTL(0x0c, DRM_IOW, destroy_hwrt_dataset) 35*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_PVR_SUBMIT_JOBS PVR_IOCTL(0x0d, DRM_IOW, submit_jobs) 36*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_dev_query_gpu_info { 37*8d67ca89SAndroid Build Coastguard Worker __u64 gpu_id; 38*8d67ca89SAndroid Build Coastguard Worker __u32 num_phantoms; 39*8d67ca89SAndroid Build Coastguard Worker __u32 _padding_c; 40*8d67ca89SAndroid Build Coastguard Worker }; 41*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_dev_query_runtime_info { 42*8d67ca89SAndroid Build Coastguard Worker __u64 free_list_min_pages; 43*8d67ca89SAndroid Build Coastguard Worker __u64 free_list_max_pages; 44*8d67ca89SAndroid Build Coastguard Worker __u32 common_store_alloc_region_size; 45*8d67ca89SAndroid Build Coastguard Worker __u32 common_store_partition_space_size; 46*8d67ca89SAndroid Build Coastguard Worker __u32 max_coeffs; 47*8d67ca89SAndroid Build Coastguard Worker __u32 cdm_max_local_mem_size_regs; 48*8d67ca89SAndroid Build Coastguard Worker }; 49*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_dev_query_quirks { 50*8d67ca89SAndroid Build Coastguard Worker __u64 quirks; 51*8d67ca89SAndroid Build Coastguard Worker __u16 count; 52*8d67ca89SAndroid Build Coastguard Worker __u16 musthave_count; 53*8d67ca89SAndroid Build Coastguard Worker __u32 _padding_c; 54*8d67ca89SAndroid Build Coastguard Worker }; 55*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_dev_query_enhancements { 56*8d67ca89SAndroid Build Coastguard Worker __u64 enhancements; 57*8d67ca89SAndroid Build Coastguard Worker __u16 count; 58*8d67ca89SAndroid Build Coastguard Worker __u16 _padding_a; 59*8d67ca89SAndroid Build Coastguard Worker __u32 _padding_c; 60*8d67ca89SAndroid Build Coastguard Worker }; 61*8d67ca89SAndroid Build Coastguard Worker enum drm_pvr_heap_id { 62*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_HEAP_GENERAL = 0, 63*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_HEAP_PDS_CODE_DATA, 64*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_HEAP_USC_CODE, 65*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_HEAP_RGNHDR, 66*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_HEAP_VIS_TEST, 67*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_HEAP_TRANSFER_FRAG, 68*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_HEAP_COUNT 69*8d67ca89SAndroid Build Coastguard Worker }; 70*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_heap { 71*8d67ca89SAndroid Build Coastguard Worker __u64 base; 72*8d67ca89SAndroid Build Coastguard Worker __u64 size; 73*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 74*8d67ca89SAndroid Build Coastguard Worker __u32 page_size_log2; 75*8d67ca89SAndroid Build Coastguard Worker }; 76*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_dev_query_heap_info { 77*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_obj_array heaps; 78*8d67ca89SAndroid Build Coastguard Worker }; 79*8d67ca89SAndroid Build Coastguard Worker enum drm_pvr_static_data_area_usage { 80*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_STATIC_DATA_AREA_EOT = 0, 81*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_STATIC_DATA_AREA_FENCE, 82*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_STATIC_DATA_AREA_VDM_SYNC, 83*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_STATIC_DATA_AREA_YUV_CSC, 84*8d67ca89SAndroid Build Coastguard Worker }; 85*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_static_data_area { 86*8d67ca89SAndroid Build Coastguard Worker __u16 area_usage; 87*8d67ca89SAndroid Build Coastguard Worker __u16 location_heap_id; 88*8d67ca89SAndroid Build Coastguard Worker __u32 size; 89*8d67ca89SAndroid Build Coastguard Worker __u64 offset; 90*8d67ca89SAndroid Build Coastguard Worker }; 91*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_dev_query_static_data_areas { 92*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_obj_array static_data_areas; 93*8d67ca89SAndroid Build Coastguard Worker }; 94*8d67ca89SAndroid Build Coastguard Worker enum drm_pvr_dev_query { 95*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_DEV_QUERY_GPU_INFO_GET = 0, 96*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_DEV_QUERY_RUNTIME_INFO_GET, 97*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_DEV_QUERY_QUIRKS_GET, 98*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_DEV_QUERY_ENHANCEMENTS_GET, 99*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_DEV_QUERY_HEAP_INFO_GET, 100*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_DEV_QUERY_STATIC_DATA_AREAS_GET, 101*8d67ca89SAndroid Build Coastguard Worker }; 102*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_ioctl_dev_query_args { 103*8d67ca89SAndroid Build Coastguard Worker __u32 type; 104*8d67ca89SAndroid Build Coastguard Worker __u32 size; 105*8d67ca89SAndroid Build Coastguard Worker __u64 pointer; 106*8d67ca89SAndroid Build Coastguard Worker }; 107*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_BO_BYPASS_DEVICE_CACHE _BITULL(0) 108*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_BO_PM_FW_PROTECT _BITULL(1) 109*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_BO_ALLOW_CPU_USERSPACE_ACCESS _BITULL(2) 110*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_BO_FLAGS_MASK (DRM_PVR_BO_BYPASS_DEVICE_CACHE | DRM_PVR_BO_PM_FW_PROTECT | DRM_PVR_BO_ALLOW_CPU_USERSPACE_ACCESS) 111*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_ioctl_create_bo_args { 112*8d67ca89SAndroid Build Coastguard Worker __u64 size; 113*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 114*8d67ca89SAndroid Build Coastguard Worker __u32 _padding_c; 115*8d67ca89SAndroid Build Coastguard Worker __u64 flags; 116*8d67ca89SAndroid Build Coastguard Worker }; 117*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_ioctl_get_bo_mmap_offset_args { 118*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 119*8d67ca89SAndroid Build Coastguard Worker __u32 _padding_4; 120*8d67ca89SAndroid Build Coastguard Worker __u64 offset; 121*8d67ca89SAndroid Build Coastguard Worker }; 122*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_ioctl_create_vm_context_args { 123*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 124*8d67ca89SAndroid Build Coastguard Worker __u32 _padding_4; 125*8d67ca89SAndroid Build Coastguard Worker }; 126*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_ioctl_destroy_vm_context_args { 127*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 128*8d67ca89SAndroid Build Coastguard Worker __u32 _padding_4; 129*8d67ca89SAndroid Build Coastguard Worker }; 130*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_ioctl_vm_map_args { 131*8d67ca89SAndroid Build Coastguard Worker __u32 vm_context_handle; 132*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 133*8d67ca89SAndroid Build Coastguard Worker __u64 device_addr; 134*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 135*8d67ca89SAndroid Build Coastguard Worker __u32 _padding_14; 136*8d67ca89SAndroid Build Coastguard Worker __u64 offset; 137*8d67ca89SAndroid Build Coastguard Worker __u64 size; 138*8d67ca89SAndroid Build Coastguard Worker }; 139*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_ioctl_vm_unmap_args { 140*8d67ca89SAndroid Build Coastguard Worker __u32 vm_context_handle; 141*8d67ca89SAndroid Build Coastguard Worker __u32 _padding_4; 142*8d67ca89SAndroid Build Coastguard Worker __u64 device_addr; 143*8d67ca89SAndroid Build Coastguard Worker __u64 size; 144*8d67ca89SAndroid Build Coastguard Worker }; 145*8d67ca89SAndroid Build Coastguard Worker enum drm_pvr_ctx_priority { 146*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_CTX_PRIORITY_LOW = - 512, 147*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_CTX_PRIORITY_NORMAL = 0, 148*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_CTX_PRIORITY_HIGH = 512, 149*8d67ca89SAndroid Build Coastguard Worker }; 150*8d67ca89SAndroid Build Coastguard Worker enum drm_pvr_ctx_type { 151*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_CTX_TYPE_RENDER = 0, 152*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_CTX_TYPE_COMPUTE, 153*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_CTX_TYPE_TRANSFER_FRAG, 154*8d67ca89SAndroid Build Coastguard Worker }; 155*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_ioctl_create_context_args { 156*8d67ca89SAndroid Build Coastguard Worker __u32 type; 157*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 158*8d67ca89SAndroid Build Coastguard Worker __s32 priority; 159*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 160*8d67ca89SAndroid Build Coastguard Worker __u64 static_context_state; 161*8d67ca89SAndroid Build Coastguard Worker __u32 static_context_state_len; 162*8d67ca89SAndroid Build Coastguard Worker __u32 vm_context_handle; 163*8d67ca89SAndroid Build Coastguard Worker __u64 callstack_addr; 164*8d67ca89SAndroid Build Coastguard Worker }; 165*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_ioctl_destroy_context_args { 166*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 167*8d67ca89SAndroid Build Coastguard Worker __u32 _padding_4; 168*8d67ca89SAndroid Build Coastguard Worker }; 169*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_ioctl_create_free_list_args { 170*8d67ca89SAndroid Build Coastguard Worker __u64 free_list_gpu_addr; 171*8d67ca89SAndroid Build Coastguard Worker __u32 initial_num_pages; 172*8d67ca89SAndroid Build Coastguard Worker __u32 max_num_pages; 173*8d67ca89SAndroid Build Coastguard Worker __u32 grow_num_pages; 174*8d67ca89SAndroid Build Coastguard Worker __u32 grow_threshold; 175*8d67ca89SAndroid Build Coastguard Worker __u32 vm_context_handle; 176*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 177*8d67ca89SAndroid Build Coastguard Worker }; 178*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_ioctl_destroy_free_list_args { 179*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 180*8d67ca89SAndroid Build Coastguard Worker __u32 _padding_4; 181*8d67ca89SAndroid Build Coastguard Worker }; 182*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_create_hwrt_geom_data_args { 183*8d67ca89SAndroid Build Coastguard Worker __u64 tpc_dev_addr; 184*8d67ca89SAndroid Build Coastguard Worker __u32 tpc_size; 185*8d67ca89SAndroid Build Coastguard Worker __u32 tpc_stride; 186*8d67ca89SAndroid Build Coastguard Worker __u64 vheap_table_dev_addr; 187*8d67ca89SAndroid Build Coastguard Worker __u64 rtc_dev_addr; 188*8d67ca89SAndroid Build Coastguard Worker }; 189*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_create_hwrt_rt_data_args { 190*8d67ca89SAndroid Build Coastguard Worker __u64 pm_mlist_dev_addr; 191*8d67ca89SAndroid Build Coastguard Worker __u64 macrotile_array_dev_addr; 192*8d67ca89SAndroid Build Coastguard Worker __u64 region_header_dev_addr; 193*8d67ca89SAndroid Build Coastguard Worker }; 194*8d67ca89SAndroid Build Coastguard Worker #define PVR_DRM_HWRT_FREE_LIST_LOCAL 0 195*8d67ca89SAndroid Build Coastguard Worker #define PVR_DRM_HWRT_FREE_LIST_GLOBAL 1U 196*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_ioctl_create_hwrt_dataset_args { 197*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_create_hwrt_geom_data_args geom_data_args; 198*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_create_hwrt_rt_data_args rt_data_args[2]; 199*8d67ca89SAndroid Build Coastguard Worker __u32 free_list_handles[2]; 200*8d67ca89SAndroid Build Coastguard Worker __u32 width; 201*8d67ca89SAndroid Build Coastguard Worker __u32 height; 202*8d67ca89SAndroid Build Coastguard Worker __u32 samples; 203*8d67ca89SAndroid Build Coastguard Worker __u32 layers; 204*8d67ca89SAndroid Build Coastguard Worker __u32 isp_merge_lower_x; 205*8d67ca89SAndroid Build Coastguard Worker __u32 isp_merge_lower_y; 206*8d67ca89SAndroid Build Coastguard Worker __u32 isp_merge_scale_x; 207*8d67ca89SAndroid Build Coastguard Worker __u32 isp_merge_scale_y; 208*8d67ca89SAndroid Build Coastguard Worker __u32 isp_merge_upper_x; 209*8d67ca89SAndroid Build Coastguard Worker __u32 isp_merge_upper_y; 210*8d67ca89SAndroid Build Coastguard Worker __u32 region_header_size; 211*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 212*8d67ca89SAndroid Build Coastguard Worker }; 213*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_ioctl_destroy_hwrt_dataset_args { 214*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 215*8d67ca89SAndroid Build Coastguard Worker __u32 _padding_4; 216*8d67ca89SAndroid Build Coastguard Worker }; 217*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SYNC_OP_FLAG_HANDLE_TYPE_MASK 0xf 218*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SYNC_OP_FLAG_HANDLE_TYPE_SYNCOBJ 0 219*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SYNC_OP_FLAG_HANDLE_TYPE_TIMELINE_SYNCOBJ 1 220*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SYNC_OP_FLAG_SIGNAL _BITULL(31) 221*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SYNC_OP_FLAG_WAIT 0 222*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SYNC_OP_FLAGS_MASK (DRM_PVR_SYNC_OP_FLAG_HANDLE_TYPE_MASK | DRM_PVR_SYNC_OP_FLAG_SIGNAL) 223*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_sync_op { 224*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 225*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 226*8d67ca89SAndroid Build Coastguard Worker __u64 value; 227*8d67ca89SAndroid Build Coastguard Worker }; 228*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_GEOM_CMD_FIRST _BITULL(0) 229*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_GEOM_CMD_LAST _BITULL(1) 230*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_GEOM_CMD_SINGLE_CORE _BITULL(2) 231*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_GEOM_CMD_FLAGS_MASK (DRM_PVR_SUBMIT_JOB_GEOM_CMD_FIRST | DRM_PVR_SUBMIT_JOB_GEOM_CMD_LAST | DRM_PVR_SUBMIT_JOB_GEOM_CMD_SINGLE_CORE) 232*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_SINGLE_CORE _BITULL(0) 233*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_DEPTHBUFFER _BITULL(1) 234*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_STENCILBUFFER _BITULL(2) 235*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_PREVENT_CDM_OVERLAP _BITULL(3) 236*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_SCRATCHBUFFER _BITULL(4) 237*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_GET_VIS_RESULTS _BITULL(5) 238*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_PARTIAL_RENDER _BITULL(6) 239*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_DISABLE_PIXELMERGE _BITULL(7) 240*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_FRAG_CMD_FLAGS_MASK (DRM_PVR_SUBMIT_JOB_FRAG_CMD_SINGLE_CORE | DRM_PVR_SUBMIT_JOB_FRAG_CMD_DEPTHBUFFER | DRM_PVR_SUBMIT_JOB_FRAG_CMD_STENCILBUFFER | DRM_PVR_SUBMIT_JOB_FRAG_CMD_PREVENT_CDM_OVERLAP | DRM_PVR_SUBMIT_JOB_FRAG_CMD_SCRATCHBUFFER | DRM_PVR_SUBMIT_JOB_FRAG_CMD_GET_VIS_RESULTS | DRM_PVR_SUBMIT_JOB_FRAG_CMD_PARTIAL_RENDER | DRM_PVR_SUBMIT_JOB_FRAG_CMD_DISABLE_PIXELMERGE) 241*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_PREVENT_ALL_OVERLAP _BITULL(0) 242*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_SINGLE_CORE _BITULL(1) 243*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_FLAGS_MASK (DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_PREVENT_ALL_OVERLAP | DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_SINGLE_CORE) 244*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_TRANSFER_CMD_SINGLE_CORE _BITULL(0) 245*8d67ca89SAndroid Build Coastguard Worker #define DRM_PVR_SUBMIT_JOB_TRANSFER_CMD_FLAGS_MASK DRM_PVR_SUBMIT_JOB_TRANSFER_CMD_SINGLE_CORE 246*8d67ca89SAndroid Build Coastguard Worker enum drm_pvr_job_type { 247*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_JOB_TYPE_GEOMETRY = 0, 248*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_JOB_TYPE_FRAGMENT, 249*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_JOB_TYPE_COMPUTE, 250*8d67ca89SAndroid Build Coastguard Worker DRM_PVR_JOB_TYPE_TRANSFER_FRAG, 251*8d67ca89SAndroid Build Coastguard Worker }; 252*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_hwrt_data_ref { 253*8d67ca89SAndroid Build Coastguard Worker __u32 set_handle; 254*8d67ca89SAndroid Build Coastguard Worker __u32 data_index; 255*8d67ca89SAndroid Build Coastguard Worker }; 256*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_job { 257*8d67ca89SAndroid Build Coastguard Worker __u32 type; 258*8d67ca89SAndroid Build Coastguard Worker __u32 context_handle; 259*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 260*8d67ca89SAndroid Build Coastguard Worker __u32 cmd_stream_len; 261*8d67ca89SAndroid Build Coastguard Worker __u64 cmd_stream; 262*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_obj_array sync_ops; 263*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_hwrt_data_ref hwrt; 264*8d67ca89SAndroid Build Coastguard Worker }; 265*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_ioctl_submit_jobs_args { 266*8d67ca89SAndroid Build Coastguard Worker struct drm_pvr_obj_array jobs; 267*8d67ca89SAndroid Build Coastguard Worker }; 268*8d67ca89SAndroid Build Coastguard Worker #ifdef __cplusplus 269*8d67ca89SAndroid Build Coastguard Worker } 270*8d67ca89SAndroid Build Coastguard Worker #endif 271*8d67ca89SAndroid Build Coastguard Worker #endif 272