Deleted Added
full compact
radeon_drm.h (113995) radeon_drm.h (119098)
1/* radeon_drm.h -- Public header for the radeon driver -*- linux-c -*-
2 *
3 * Copyright 2000 Precision Insight, Inc., Cedar Park, Texas.
4 * Copyright 2000 VA Linux Systems, Inc., Fremont, California.
5 * Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas.
6 * All rights reserved.
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a

--- 15 unchanged lines hidden (view full) ---

24 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 * DEALINGS IN THE SOFTWARE.
26 *
27 * Authors:
28 * Kevin E. Martin <martin@valinux.com>
29 * Gareth Hughes <gareth@valinux.com>
30 * Keith Whitwell <keith@tungstengraphics.com>
31 *
1/* radeon_drm.h -- Public header for the radeon driver -*- linux-c -*-
2 *
3 * Copyright 2000 Precision Insight, Inc., Cedar Park, Texas.
4 * Copyright 2000 VA Linux Systems, Inc., Fremont, California.
5 * Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas.
6 * All rights reserved.
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a

--- 15 unchanged lines hidden (view full) ---

24 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 * DEALINGS IN THE SOFTWARE.
26 *
27 * Authors:
28 * Kevin E. Martin <martin@valinux.com>
29 * Gareth Hughes <gareth@valinux.com>
30 * Keith Whitwell <keith@tungstengraphics.com>
31 *
32 * $FreeBSD: head/sys/dev/drm/radeon_drm.h 113995 2003-04-25 01:18:47Z anholt $
32 * $FreeBSD: head/sys/dev/drm/radeon_drm.h 119098 2003-08-19 02:57:31Z anholt $
33 */
34
35#ifndef __RADEON_DRM_H__
36#define __RADEON_DRM_H__
37
38/* WARNING: If you change any of these defines, make sure to change the
39 * defines in the X server file (radeon_sarea.h)
40 */

--- 97 unchanged lines hidden (view full) ---

138#define R200_EMIT_PP_CUBIC_FACES_2 65
139#define R200_EMIT_PP_CUBIC_OFFSETS_2 66
140#define R200_EMIT_PP_CUBIC_FACES_3 67
141#define R200_EMIT_PP_CUBIC_OFFSETS_3 68
142#define R200_EMIT_PP_CUBIC_FACES_4 69
143#define R200_EMIT_PP_CUBIC_OFFSETS_4 70
144#define R200_EMIT_PP_CUBIC_FACES_5 71
145#define R200_EMIT_PP_CUBIC_OFFSETS_5 72
33 */
34
35#ifndef __RADEON_DRM_H__
36#define __RADEON_DRM_H__
37
38/* WARNING: If you change any of these defines, make sure to change the
39 * defines in the X server file (radeon_sarea.h)
40 */

--- 97 unchanged lines hidden (view full) ---

138#define R200_EMIT_PP_CUBIC_FACES_2 65
139#define R200_EMIT_PP_CUBIC_OFFSETS_2 66
140#define R200_EMIT_PP_CUBIC_FACES_3 67
141#define R200_EMIT_PP_CUBIC_OFFSETS_3 68
142#define R200_EMIT_PP_CUBIC_FACES_4 69
143#define R200_EMIT_PP_CUBIC_OFFSETS_4 70
144#define R200_EMIT_PP_CUBIC_FACES_5 71
145#define R200_EMIT_PP_CUBIC_OFFSETS_5 72
146#define RADEON_MAX_STATE_PACKETS 73
146#define RADEON_EMIT_PP_TEX_SIZE_0 73
147#define RADEON_EMIT_PP_TEX_SIZE_1 74
148#define RADEON_EMIT_PP_TEX_SIZE_2 75
149#define RADEON_MAX_STATE_PACKETS 76
147
148
149/* Commands understood by cmd_buffer ioctl. More can be added but
150 * obviously these can't be removed or changed:
151 */
152#define RADEON_CMD_PACKET 1 /* emit one of the register packets above */
153#define RADEON_CMD_SCALARS 2 /* emit scalar data */
154#define RADEON_CMD_VECTORS 3 /* emit vector data */

--- 165 unchanged lines hidden (view full) ---

320 drm_radeon_context_regs_t context;
321 drm_radeon_texture_regs_t tex[RADEON_MAX_TEXTURE_UNITS];
322 drm_radeon_context2_regs_t context2;
323 unsigned int dirty;
324} drm_radeon_state_t;
325
326
327typedef struct {
150
151
152/* Commands understood by cmd_buffer ioctl. More can be added but
153 * obviously these can't be removed or changed:
154 */
155#define RADEON_CMD_PACKET 1 /* emit one of the register packets above */
156#define RADEON_CMD_SCALARS 2 /* emit scalar data */
157#define RADEON_CMD_VECTORS 3 /* emit vector data */

--- 165 unchanged lines hidden (view full) ---

323 drm_radeon_context_regs_t context;
324 drm_radeon_texture_regs_t tex[RADEON_MAX_TEXTURE_UNITS];
325 drm_radeon_context2_regs_t context2;
326 unsigned int dirty;
327} drm_radeon_state_t;
328
329
330typedef struct {
328 unsigned char next, prev;
329 unsigned char in_use;
330 int age;
331} drm_radeon_tex_region_t;
332
333typedef struct {
334 /* The channel for communication of state information to the
335 * kernel on firing a vertex buffer with either of the
336 * obsoleted vertex/index ioctls.
337 */
338 drm_radeon_context_regs_t context_state;
339 drm_radeon_texture_regs_t tex_state[RADEON_MAX_TEXTURE_UNITS];
340 unsigned int dirty;
341 unsigned int vertsize;

--- 5 unchanged lines hidden (view full) ---

347 unsigned int nbox;
348
349 /* Counters for client-side throttling of rendering clients.
350 */
351 unsigned int last_frame;
352 unsigned int last_dispatch;
353 unsigned int last_clear;
354
331 /* The channel for communication of state information to the
332 * kernel on firing a vertex buffer with either of the
333 * obsoleted vertex/index ioctls.
334 */
335 drm_radeon_context_regs_t context_state;
336 drm_radeon_texture_regs_t tex_state[RADEON_MAX_TEXTURE_UNITS];
337 unsigned int dirty;
338 unsigned int vertsize;

--- 5 unchanged lines hidden (view full) ---

344 unsigned int nbox;
345
346 /* Counters for client-side throttling of rendering clients.
347 */
348 unsigned int last_frame;
349 unsigned int last_dispatch;
350 unsigned int last_clear;
351
355 drm_radeon_tex_region_t tex_list[RADEON_NR_TEX_HEAPS][RADEON_NR_TEX_REGIONS+1];
356 int tex_age[RADEON_NR_TEX_HEAPS];
352 drm_tex_region_t tex_list[RADEON_NR_TEX_HEAPS][RADEON_NR_TEX_REGIONS+1];
353 unsigned int tex_age[RADEON_NR_TEX_HEAPS];
357 int ctx_owner;
358 int pfState; /* number of 3d windows (0,1,2ormore) */
359 int pfCurrentPage; /* which buffer is being displayed? */
360 int crtc2_base; /* CRTC2 frame offset */
361} drm_radeon_sarea_t;
362
363
364/* WARNING: If you change any of these defines, make sure to change the

--- 23 unchanged lines hidden (view full) ---

388#define DRM_IOCTL_RADEON_CMDBUF DRM_IOW( 0x50, drm_radeon_cmd_buffer_t)
389#define DRM_IOCTL_RADEON_GETPARAM DRM_IOWR(0x51, drm_radeon_getparam_t)
390#define DRM_IOCTL_RADEON_FLIP DRM_IO( 0x52)
391#define DRM_IOCTL_RADEON_ALLOC DRM_IOWR( 0x53, drm_radeon_mem_alloc_t)
392#define DRM_IOCTL_RADEON_FREE DRM_IOW( 0x54, drm_radeon_mem_free_t)
393#define DRM_IOCTL_RADEON_INIT_HEAP DRM_IOW( 0x55, drm_radeon_mem_init_heap_t)
394#define DRM_IOCTL_RADEON_IRQ_EMIT DRM_IOWR( 0x56, drm_radeon_irq_emit_t)
395#define DRM_IOCTL_RADEON_IRQ_WAIT DRM_IOW( 0x57, drm_radeon_irq_wait_t)
354 int ctx_owner;
355 int pfState; /* number of 3d windows (0,1,2ormore) */
356 int pfCurrentPage; /* which buffer is being displayed? */
357 int crtc2_base; /* CRTC2 frame offset */
358} drm_radeon_sarea_t;
359
360
361/* WARNING: If you change any of these defines, make sure to change the

--- 23 unchanged lines hidden (view full) ---

385#define DRM_IOCTL_RADEON_CMDBUF DRM_IOW( 0x50, drm_radeon_cmd_buffer_t)
386#define DRM_IOCTL_RADEON_GETPARAM DRM_IOWR(0x51, drm_radeon_getparam_t)
387#define DRM_IOCTL_RADEON_FLIP DRM_IO( 0x52)
388#define DRM_IOCTL_RADEON_ALLOC DRM_IOWR( 0x53, drm_radeon_mem_alloc_t)
389#define DRM_IOCTL_RADEON_FREE DRM_IOW( 0x54, drm_radeon_mem_free_t)
390#define DRM_IOCTL_RADEON_INIT_HEAP DRM_IOW( 0x55, drm_radeon_mem_init_heap_t)
391#define DRM_IOCTL_RADEON_IRQ_EMIT DRM_IOWR( 0x56, drm_radeon_irq_emit_t)
392#define DRM_IOCTL_RADEON_IRQ_WAIT DRM_IOW( 0x57, drm_radeon_irq_wait_t)
393/* added by Charl P. Botha - see radeon_cp.c for details */
394#define DRM_IOCTL_RADEON_CP_RESUME DRM_IO(0x58)
396
397typedef struct drm_radeon_init {
398 enum {
399 RADEON_INIT_CP = 0x01,
400 RADEON_CLEANUP_CP = 0x02,
401 RADEON_INIT_R200_CP = 0x03
402 } func;
403 unsigned long sarea_priv_offset;

--- 123 unchanged lines hidden (view full) ---

527
528/* 1.3: An ioctl to get parameters that aren't available to the 3d
529 * client any other way.
530 */
531#define RADEON_PARAM_AGP_BUFFER_OFFSET 1 /* card offset of 1st agp buffer */
532#define RADEON_PARAM_LAST_FRAME 2
533#define RADEON_PARAM_LAST_DISPATCH 3
534#define RADEON_PARAM_LAST_CLEAR 4
395
396typedef struct drm_radeon_init {
397 enum {
398 RADEON_INIT_CP = 0x01,
399 RADEON_CLEANUP_CP = 0x02,
400 RADEON_INIT_R200_CP = 0x03
401 } func;
402 unsigned long sarea_priv_offset;

--- 123 unchanged lines hidden (view full) ---

526
527/* 1.3: An ioctl to get parameters that aren't available to the 3d
528 * client any other way.
529 */
530#define RADEON_PARAM_AGP_BUFFER_OFFSET 1 /* card offset of 1st agp buffer */
531#define RADEON_PARAM_LAST_FRAME 2
532#define RADEON_PARAM_LAST_DISPATCH 3
533#define RADEON_PARAM_LAST_CLEAR 4
534/* Added with DRM version 1.6. */
535#define RADEON_PARAM_IRQ_NR 5
536#define RADEON_PARAM_AGP_BASE 6 /* card offset of agp base */
535#define RADEON_PARAM_IRQ_NR 5
536#define RADEON_PARAM_AGP_BASE 6 /* card offset of agp base */
537/* Added with DRM version 1.8. */
537#define RADEON_PARAM_REGISTER_HANDLE 7 /* for drmMap() */
538#define RADEON_PARAM_STATUS_HANDLE 8
539#define RADEON_PARAM_SAREA_HANDLE 9
540#define RADEON_PARAM_AGP_TEX_HANDLE 10
541
542typedef struct drm_radeon_getparam {
543 int param;
544 int *value;

--- 38 unchanged lines hidden ---
538#define RADEON_PARAM_REGISTER_HANDLE 7 /* for drmMap() */
539#define RADEON_PARAM_STATUS_HANDLE 8
540#define RADEON_PARAM_SAREA_HANDLE 9
541#define RADEON_PARAM_AGP_TEX_HANDLE 10
542
543typedef struct drm_radeon_getparam {
544 int param;
545 int *value;

--- 38 unchanged lines hidden ---