mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-11 17:50:32 +01:00
drm-uapi: Sync nouveau_drm.h
Taken from drm-misc-next:
commit 196b2b95fec447c2c4460f753b277d840633fbef
Author: Mel Henning <mhenning@darkrefraction.com>
Date: Thu Feb 19 15:05:54 2026 -0500
drm/nouveau: Add DRM_IOCTL_NOUVEAU_GET_ZCULL_INFO
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33861>
This commit is contained in:
parent
8aecdcffa5
commit
0f03c8b173
1 changed files with 66 additions and 0 deletions
|
|
@ -432,6 +432,69 @@ struct drm_nouveau_exec {
|
|||
__u64 push_ptr;
|
||||
};
|
||||
|
||||
struct drm_nouveau_get_zcull_info {
|
||||
/**
|
||||
* @width_align_pixels: required alignment for region widths, in pixels
|
||||
* (typically #TPC's * 16).
|
||||
*/
|
||||
__u32 width_align_pixels;
|
||||
/**
|
||||
* @height_align_pixels: required alignment for region heights, in
|
||||
* pixels (typically 32).
|
||||
*/
|
||||
__u32 height_align_pixels;
|
||||
/**
|
||||
* @pixel_squares_by_aliquots: the pixel area covered by an aliquot
|
||||
* (typically #Zcull_banks * 16 * 16).
|
||||
*/
|
||||
__u32 pixel_squares_by_aliquots;
|
||||
/**
|
||||
* @aliquot_total: the total aliquot pool available in hardware
|
||||
*/
|
||||
__u32 aliquot_total;
|
||||
/**
|
||||
* @zcull_region_byte_multiplier: the size of an aliquot in bytes, which
|
||||
* is used for save/restore operations on a region
|
||||
*/
|
||||
__u32 zcull_region_byte_multiplier;
|
||||
/**
|
||||
* @zcull_region_header_size: the region header size in bytes, which is
|
||||
* used for save/restore operations on a region
|
||||
*/
|
||||
__u32 zcull_region_header_size;
|
||||
/**
|
||||
* @zcull_subregion_header_size: the subregion header size in bytes,
|
||||
* which is used for save/restore operations on a region
|
||||
*/
|
||||
__u32 zcull_subregion_header_size;
|
||||
/**
|
||||
* @subregion_count: the total number of subregions the hardware
|
||||
* supports
|
||||
*/
|
||||
__u32 subregion_count;
|
||||
/**
|
||||
* @subregion_width_align_pixels: required alignment for subregion
|
||||
* widths, in pixels (typically #TPC's * 16).
|
||||
*/
|
||||
__u32 subregion_width_align_pixels;
|
||||
/**
|
||||
* @subregion_height_align_pixels: required alignment for subregion
|
||||
* heights, in pixels
|
||||
*/
|
||||
__u32 subregion_height_align_pixels;
|
||||
|
||||
/**
|
||||
* @ctxsw_size: the size, in bytes, of a zcull context switching region.
|
||||
* Will be zero if the kernel does not support zcull context switching.
|
||||
*/
|
||||
__u32 ctxsw_size;
|
||||
/**
|
||||
* @ctxsw_align: the alignment, in bytes, of a zcull context switching
|
||||
* region
|
||||
*/
|
||||
__u32 ctxsw_align;
|
||||
};
|
||||
|
||||
#define DRM_NOUVEAU_GETPARAM 0x00
|
||||
#define DRM_NOUVEAU_SETPARAM 0x01 /* deprecated */
|
||||
#define DRM_NOUVEAU_CHANNEL_ALLOC 0x02
|
||||
|
|
@ -445,6 +508,7 @@ struct drm_nouveau_exec {
|
|||
#define DRM_NOUVEAU_VM_INIT 0x10
|
||||
#define DRM_NOUVEAU_VM_BIND 0x11
|
||||
#define DRM_NOUVEAU_EXEC 0x12
|
||||
#define DRM_NOUVEAU_GET_ZCULL_INFO 0x13
|
||||
#define DRM_NOUVEAU_GEM_NEW 0x40
|
||||
#define DRM_NOUVEAU_GEM_PUSHBUF 0x41
|
||||
#define DRM_NOUVEAU_GEM_CPU_PREP 0x42
|
||||
|
|
@ -513,6 +577,8 @@ struct drm_nouveau_svm_bind {
|
|||
#define DRM_IOCTL_NOUVEAU_VM_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_VM_INIT, struct drm_nouveau_vm_init)
|
||||
#define DRM_IOCTL_NOUVEAU_VM_BIND DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_VM_BIND, struct drm_nouveau_vm_bind)
|
||||
#define DRM_IOCTL_NOUVEAU_EXEC DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_EXEC, struct drm_nouveau_exec)
|
||||
|
||||
#define DRM_IOCTL_NOUVEAU_GET_ZCULL_INFO DRM_IOR (DRM_COMMAND_BASE + DRM_NOUVEAU_GET_ZCULL_INFO, struct drm_nouveau_get_zcull_info)
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue