Line 656: |
Line 656: |
| __in u16 flags; // 0 or 4 | | __in u16 flags; // 0 or 4 |
| __in u16 kind; | | __in u16 kind; |
− | __in u32 unk0; | + | __in u32 nvmap_handle; |
− | __in u32 unk1; | + | __in u32 padding; |
− | __in u32 unk2; | + | __in u32 offset; // (alloc_space_offset >> 0x10) |
− | __in u32 unk3; | + | __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; |
| }; | | }; |
| | | |