⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 radeon_drm.h

📁 ati driver
💻 H
📖 第 1 页 / 共 2 页
字号:
	unsigned int se_zbias_factor;			/* 0x1dac */	unsigned int se_zbias_constant;} drm_radeon_context2_regs_t;/* Setup registers for each texture unit */typedef struct {	unsigned int pp_txfilter;	unsigned int pp_txformat;	unsigned int pp_txoffset;	unsigned int pp_txcblend;	unsigned int pp_txablend;	unsigned int pp_tfactor;	unsigned int pp_border_color;} drm_radeon_texture_regs_t;typedef struct {	unsigned int start;	unsigned int finish;	unsigned int prim:8;	unsigned int stateidx:8;	unsigned int numverts:16; /* overloaded as offset/64 for elt prims */        unsigned int vc_format;   /* vertex format */} drm_radeon_prim_t;typedef struct {	drm_radeon_context_regs_t context;	drm_radeon_texture_regs_t tex[RADEON_MAX_TEXTURE_UNITS];	drm_radeon_context2_regs_t context2;	unsigned int dirty;} drm_radeon_state_t;typedef struct {	unsigned char next, prev;	unsigned char in_use;	int age;} drm_radeon_tex_region_t;typedef struct {	/* The channel for communication of state information to the	 * kernel on firing a vertex buffer with either of the	 * obsoleted vertex/index ioctls.	 */	drm_radeon_context_regs_t context_state;	drm_radeon_texture_regs_t tex_state[RADEON_MAX_TEXTURE_UNITS];	unsigned int dirty;	unsigned int vertsize;	unsigned int vc_format;	/* The current cliprects, or a subset thereof.	 */	drm_clip_rect_t boxes[RADEON_NR_SAREA_CLIPRECTS];	unsigned int nbox;	/* Counters for client-side throttling of rendering clients.	 */	unsigned int last_frame;	unsigned int last_dispatch;	unsigned int last_clear;	drm_radeon_tex_region_t tex_list[RADEON_NR_TEX_HEAPS][RADEON_NR_TEX_REGIONS+1];	int tex_age[RADEON_NR_TEX_HEAPS];	int ctx_owner;        int pfState;                /* number of 3d windows (0,1,2ormore) */        int pfCurrentPage;	    /* which buffer is being displayed? */	int crtc2_base;		    /* CRTC2 frame offset */} drm_radeon_sarea_t;/* WARNING: If you change any of these defines, make sure to change the * defines in the Xserver file (xf86drmRadeon.h) * * KW: actually it's illegal to change any of this (backwards compatibility). *//* Radeon specific ioctls * The device specific ioctl range is 0x40 to 0x79. */#define DRM_IOCTL_RADEON_CP_INIT    DRM_IOW( 0x40, drm_radeon_init_t)#define DRM_IOCTL_RADEON_CP_START   DRM_IO(  0x41)#define DRM_IOCTL_RADEON_CP_STOP    DRM_IOW( 0x42, drm_radeon_cp_stop_t)#define DRM_IOCTL_RADEON_CP_RESET   DRM_IO(  0x43)#define DRM_IOCTL_RADEON_CP_IDLE    DRM_IO(  0x44)#define DRM_IOCTL_RADEON_RESET      DRM_IO(  0x45)#define DRM_IOCTL_RADEON_FULLSCREEN DRM_IOW( 0x46, drm_radeon_fullscreen_t)#define DRM_IOCTL_RADEON_SWAP       DRM_IO(  0x47)#define DRM_IOCTL_RADEON_CLEAR      DRM_IOW( 0x48, drm_radeon_clear_t)#define DRM_IOCTL_RADEON_VERTEX     DRM_IOW( 0x49, drm_radeon_vertex_t)#define DRM_IOCTL_RADEON_INDICES    DRM_IOW( 0x4a, drm_radeon_indices_t)#define DRM_IOCTL_RADEON_STIPPLE    DRM_IOW( 0x4c, drm_radeon_stipple_t)#define DRM_IOCTL_RADEON_INDIRECT   DRM_IOWR(0x4d, drm_radeon_indirect_t)#define DRM_IOCTL_RADEON_TEXTURE    DRM_IOWR(0x4e, drm_radeon_texture_t)#define DRM_IOCTL_RADEON_VERTEX2    DRM_IOW( 0x4f, drm_radeon_vertex_t)#define DRM_IOCTL_RADEON_CMDBUF     DRM_IOW( 0x50, drm_radeon_cmd_buffer_t)#define DRM_IOCTL_RADEON_GETPARAM   DRM_IOWR(0x51, drm_radeon_getparam_t)#define DRM_IOCTL_RADEON_FLIP	    DRM_IO(  0x52)#define DRM_IOCTL_RADEON_ALLOC      DRM_IOWR( 0x53, drm_radeon_mem_alloc_t)#define DRM_IOCTL_RADEON_FREE       DRM_IOW( 0x54, drm_radeon_mem_free_t)#define DRM_IOCTL_RADEON_INIT_HEAP  DRM_IOW( 0x55, drm_radeon_mem_init_heap_t)#define DRM_IOCTL_RADEON_IRQ_EMIT   DRM_IOWR( 0x56, drm_radeon_irq_emit_t)#define DRM_IOCTL_RADEON_IRQ_WAIT   DRM_IOW( 0x57, drm_radeon_irq_wait_t)typedef struct drm_radeon_init {	enum {		RADEON_INIT_CP    = 0x01,		RADEON_CLEANUP_CP = 0x02,		RADEON_INIT_R200_CP = 0x03,		} func;	unsigned long sarea_priv_offset;	int is_pci;	int cp_mode;	int agp_size;	int ring_size;	int usec_timeout;	unsigned int fb_bpp;	unsigned int front_offset, front_pitch;	unsigned int back_offset, back_pitch;	unsigned int depth_bpp;	unsigned int depth_offset, depth_pitch;	unsigned long fb_offset;	unsigned long mmio_offset;	unsigned long ring_offset;	unsigned long ring_rptr_offset;	unsigned long buffers_offset;	unsigned long agp_textures_offset;} drm_radeon_init_t;typedef struct drm_radeon_cp_stop {	int flush;	int idle;} drm_radeon_cp_stop_t;typedef struct drm_radeon_fullscreen {	enum {		RADEON_INIT_FULLSCREEN    = 0x01,		RADEON_CLEANUP_FULLSCREEN = 0x02	} func;} drm_radeon_fullscreen_t;#define CLEAR_X1	0#define CLEAR_Y1	1#define CLEAR_X2	2#define CLEAR_Y2	3#define CLEAR_DEPTH	4typedef union drm_radeon_clear_rect {	float f[5];	unsigned int ui[5];} drm_radeon_clear_rect_t;typedef struct drm_radeon_clear {	unsigned int flags;	unsigned int clear_color;	unsigned int clear_depth;	unsigned int color_mask;	unsigned int depth_mask;   /* misnamed field:  should be stencil */	drm_radeon_clear_rect_t *depth_boxes;} drm_radeon_clear_t;typedef struct drm_radeon_vertex {	int prim;	int idx;			/* Index of vertex buffer */	int count;			/* Number of vertices in buffer */	int discard;			/* Client finished with buffer? */} drm_radeon_vertex_t;typedef struct drm_radeon_indices {	int prim;	int idx;	int start;	int end;	int discard;			/* Client finished with buffer? */} drm_radeon_indices_t;/* v1.2 - obsoletes drm_radeon_vertex and drm_radeon_indices *      - allows multiple primitives and state changes in a single ioctl *      - supports driver change to emit native primitives */typedef struct drm_radeon_vertex2 {	int idx;			/* Index of vertex buffer */	int discard;			/* Client finished with buffer? */	int nr_states;	drm_radeon_state_t *state;	int nr_prims;	drm_radeon_prim_t *prim;} drm_radeon_vertex2_t;/* v1.3 - obsoletes drm_radeon_vertex2 *      - allows arbitarily large cliprect list  *      - allows updating of tcl packet, vector and scalar state *      - allows memory-efficient description of state updates *      - allows state to be emitted without a primitive  *           (for clears, ctx switches) *      - allows more than one dma buffer to be referenced per ioctl *      - supports tcl driver *      - may be extended in future versions with new cmd types, packets */typedef struct drm_radeon_cmd_buffer {	int bufsz;	char *buf;	int nbox;	drm_clip_rect_t *boxes;} drm_radeon_cmd_buffer_t;typedef struct drm_radeon_tex_image {	unsigned int x, y;		/* Blit coordinates */	unsigned int width, height;	const void *data;} drm_radeon_tex_image_t;typedef struct drm_radeon_texture {	int offset;	int pitch;	int format;	int width;			/* Texture image coordinates */	int height;	drm_radeon_tex_image_t *image;} drm_radeon_texture_t;typedef struct drm_radeon_stipple {	unsigned int *mask;} drm_radeon_stipple_t;typedef struct drm_radeon_indirect {	int idx;	int start;	int end;	int discard;} drm_radeon_indirect_t;/* 1.3: An ioctl to get parameters that aren't available to the 3d * client any other way.   */#define RADEON_PARAM_AGP_BUFFER_OFFSET     1 /* card offset of 1st agp buffer */#define RADEON_PARAM_LAST_FRAME            2#define RADEON_PARAM_LAST_DISPATCH         3#define RADEON_PARAM_LAST_CLEAR            4#define RADEON_PARAM_IRQ_NR                5#define RADEON_PARAM_AGP_BASE              6 /* card offset of agp base */typedef struct drm_radeon_getparam {	int param;	int *value;} drm_radeon_getparam_t;/* 1.6: Set up a memory manager for regions of shared memory: */#define RADEON_MEM_REGION_AGP 1#define RADEON_MEM_REGION_FB  2typedef struct drm_radeon_mem_alloc {	int region;	int alignment;	int size;	int *region_offset;	/* offset from start of fb or agp */} drm_radeon_mem_alloc_t;typedef struct drm_radeon_mem_free {	int region;	int region_offset;} drm_radeon_mem_free_t;typedef struct drm_radeon_mem_init_heap {	int region;	int size;	int start;	} drm_radeon_mem_init_heap_t;/* 1.6: Userspace can request & wait on irq's: */typedef struct drm_radeon_irq_emit {	int *irq_seq;} drm_radeon_irq_emit_t;typedef struct drm_radeon_irq_wait {	int irq_seq;} drm_radeon_irq_wait_t;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -