NV services: Difference between revisions
No edit summary |
|||
Line 656: | Line 656: | ||
__in u16 flags; // 0 or 4 | __in u16 flags; // 0 or 4 | ||
__in u16 kind; | __in u16 kind; | ||
__in u32 | __in u32 nvmap_handle; | ||
__in u32 | __in u32 padding; | ||
__in u32 | __in u32 offset; // (alloc_space_offset >> 0x10) | ||
__in u32 | __in u32 pages; // alloc_space_pages | ||
}; | }; | ||
Line 704: | Line 704: | ||
! Value || Direction || Size || Description || Notes | ! Value || Direction || Size || Description || Notes | ||
|- | |- | ||
| 0x80044701 || Out || 4 || NVGPU_GPU_IOCTL_ZCULL_GET_CTX_SIZE || | | 0x80044701 || Out || 4 || [[#NVGPU_GPU_IOCTL_ZCULL_GET_CTX_SIZE]] || | ||
|- | |- | ||
| 0x80284702 || Out || 40 || NVGPU_GPU_IOCTL_ZCULL_GET_INFO || | | 0x80284702 || Out || 40 || [[#NVGPU_GPU_IOCTL_ZCULL_GET_INFO]] || | ||
|- | |- | ||
| 0x402C4703 || In || 44 || NVGPU_GPU_IOCTL_ZBC_SET_TABLE || | | 0x402C4703 || In || 44 || [[#NVGPU_GPU_IOCTL_ZBC_SET_TABLE]] || | ||
|- | |- | ||
| 0xC0344704 || Inout || 52 || NVGPU_GPU_IOCTL_ZBC_QUERY_TABLE || | | 0xC0344704 || Inout || 52 || [[#NVGPU_GPU_IOCTL_ZBC_QUERY_TABLE]] || | ||
|- | |- | ||
| 0xC0B04705 || Inout || 176 || [[#NVGPU_GPU_IOCTL_GET_CHARACTERISTICS]] || | | 0xC0B04705 || Inout || 176 || [[#NVGPU_GPU_IOCTL_GET_CHARACTERISTICS]] || | ||
Line 742: | Line 742: | ||
| 0xC108471D || Inout || 264 || NVGPU_GPU_IOCTL_GET_CPU_TIME_CORRELATION_INFO || | | 0xC108471D || Inout || 264 || NVGPU_GPU_IOCTL_GET_CPU_TIME_CORRELATION_INFO || | ||
|} | |} | ||
=== NVGPU_GPU_IOCTL_ZCULL_GET_CTX_SIZE === | |||
Returns the GPU's ZCULL context size. Identical to Linux driver. | |||
struct { | |||
__out u32 size; | |||
}; | |||
=== NVGPU_GPU_IOCTL_ZCULL_GET_CTX_SIZE === | |||
Returns GPU's ZCULL information. Identical to Linux driver. | |||
struct { | |||
__out u32 width_align_pixels; | |||
__out u32 height_align_pixels; | |||
__out u32 pixel_squares_by_aliquots; | |||
__out u32 aliquot_total; | |||
__out u32 region_byte_multiplier; | |||
__out u32 region_header_size; | |||
__out u32 subregion_header_size; | |||
__out u32 subregion_width_align_pixels; | |||
__out u32 subregion_height_align_pixels; | |||
__out u32 subregion_count; | |||
}; | |||
=== NVGPU_GPU_IOCTL_ZBC_SET_TABLE === | |||
Sets the active ZBC table. Identical to Linux driver. | |||
struct { | |||
__in u32 color_ds[4]; | |||
__in u32 color_l2[4]; | |||
__in u32 depth; | |||
__in u32 format; | |||
__in u32 type; // 1=color, 2=depth | |||
}; | |||
=== NVGPU_GPU_IOCTL_ZBC_QUERY_TABLE === | |||
Queries the active ZBC table. Identical to Linux driver. | |||
struct { | |||
__out u32 color_ds[4]; | |||
__out u32 color_l2[4]; | |||
__out u32 depth; | |||
__out u32 ref_cnt; | |||
__out u32 format; | |||
__out u32 type; | |||
__inout u32 index_size; | |||
}; | |||
=== NVGPU_GPU_IOCTL_GET_CHARACTERISTICS === | === NVGPU_GPU_IOCTL_GET_CHARACTERISTICS === | ||
Line 855: | Line 902: | ||
| 0xC0104809 || 16 || [[#NVGPU_IOCTL_CHANNEL_ALLOC_OBJ_CTX]] || | | 0xC0104809 || 16 || [[#NVGPU_IOCTL_CHANNEL_ALLOC_OBJ_CTX]] || | ||
|- | |- | ||
| 0xC010480B || 16 || NVGPU_IOCTL_CHANNEL_ZCULL_BIND || | | 0xC010480B || 16 || [[#NVGPU_IOCTL_CHANNEL_ZCULL_BIND]] || | ||
|- | |- | ||
| 0xC018480C || 24 || [[#NVGPU_IOCTL_CHANNEL_SET_ERROR_NOTIFIER]] || | | 0xC018480C || 24 || [[#NVGPU_IOCTL_CHANNEL_SET_ERROR_NOTIFIER]] || | ||
Line 913: | Line 960: | ||
struct gpfifo_entry { | struct gpfifo_entry { | ||
u32 entry0; | u32 entry0; // gpu_va_lo | ||
u32 entry1; | u32 entry1; // gpu_va_hi | (unk_0x02 << 0x08) | (size << 0x0A) | (unk_0x01 << 0x1F) | ||
}; | }; | ||
Line 932: | Line 979: | ||
__in u32 flags; | __in u32 flags; | ||
__out u64 obj_id; // (ignored) used for FREE_OBJ_CTX ioctl, which is not supported | __out u64 obj_id; // (ignored) used for FREE_OBJ_CTX ioctl, which is not supported | ||
}; | |||
=== NVGPU_IOCTL_CHANNEL_ZCULL_BIND === | |||
Binds a ZCULL context to the channel. Identical to Linux driver. | |||
struct { | |||
__in u64 gpu_va; | |||
__in u32 mode; // 0=global, 1=no_ctxsw, 2=separate_buffer, 3=part_of_regular_buf | |||
__in u32 padding; | |||
}; | }; | ||