fix up radeon span functions using latest r200 code from Brian,
[mesa.git] / src / mesa / drivers / dri / mga / server / mga_dri.h
1 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dri.h,v 1.8 2002/11/29 11:06:42 eich Exp $ */
2
3 /*
4 * Copyright 2000 VA Linux Systems Inc., Fremont, California.
5 * All Rights Reserved.
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a
8 * copy of this software and associated documentation files (the "Software"),
9 * to deal in the Software without restriction, including without limitation
10 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
11 * and/or sell copies of the Software, and to permit persons to whom the
12 * Software is furnished to do so, subject to the following conditions:
13 *
14 * The above copyright notice and this permission notice (including the next
15 * paragraph) shall be included in all copies or substantial portions of the
16 * Software.
17 *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21 * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES
22 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
23 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24 * OTHER DEALINGS IN THE SOFTWARE.
25 *
26 * Authors:
27 * Keith Whitwell <keith@tungstengraphics.com>
28 * Gareth Hughes <gareth@valinux.com>
29 */
30
31 #ifndef __MGA_DRI_H__
32 #define __MGA_DRI_H__
33
34 #include "xf86drm.h"
35 #include "drm.h"
36 #include "mga_drm.h"
37
38 #define MGA_DEFAULT_AGP_SIZE 64
39 #define MGA_DEFAULT_AGP_MODE 4
40 #define MGA_MAX_AGP_MODE 4
41
42 /* Buffer are aligned on 4096 byte boundaries.
43 */
44 #define MGA_BUFFER_ALIGN 0x00000fff
45
46 #ifdef __GNUC__
47 # define DEPRECATED __attribute__ ((deprecated))
48 #else
49 # define DEPRECATED
50 #endif
51
52 #if 1
53 typedef struct _mgaDrmRegion {
54 drm_handle_t handle;
55 unsigned int offset;
56 drmSize size;
57 } mgaDrmRegion, *mgaDrmRegionPtr;
58 #else
59 #define mgaDrmRegion drmRegion
60 #endif
61
62 typedef struct {
63 int chipset;
64 int width DEPRECATED;
65 int height DEPRECATED;
66 int mem DEPRECATED;
67 int cpp;
68
69 int agpMode;
70
71 unsigned int frontOffset;
72 unsigned int frontPitch;
73
74 unsigned int backOffset;
75 unsigned int backPitch;
76
77 unsigned int depthOffset;
78 unsigned int depthPitch;
79
80 unsigned int textureOffset;
81 unsigned int textureSize;
82 int logTextureGranularity DEPRECATED;
83
84 /* Allow calculation of setup dma addresses.
85 */
86 unsigned int agpBufferOffset DEPRECATED;
87
88 unsigned int agpTextureOffset;
89 unsigned int agpTextureSize;
90 int logAgpTextureGranularity DEPRECATED;
91
92 unsigned int mAccess DEPRECATED;
93
94 /**
95 * \name DRM memory regions.
96 *
97 * \todo
98 * Several of these fields are no longer used (and will never be used
99 * again) on the client-side. None of them, except \c registers, are used
100 * on the server-side. At some point when it is safe to do so (probably
101 * for the X.org 6.9 / 7.0 release), these fields should be removed.
102 */
103 /*@{*/
104 mgaDrmRegion registers; /**< MMIO registers. */
105 mgaDrmRegion status DEPRECATED; /**< No longer used on the client-side. */
106 mgaDrmRegion primary; /**< Primary DMA region. */
107 mgaDrmRegion buffers DEPRECATED; /**< No longer used on the client-side. */
108 /*@}*/
109
110 unsigned int sarea_priv_offset;
111 } MGADRIRec, *MGADRIPtr;
112
113 #endif