mesa: Remove obsolete Windows gldirect and ICD drivers
[mesa.git] / src / mesa / drivers / dri / mach64 / server / mach64_dri.h
1 /* -*- mode: c; c-basic-offset: 3 -*- */
2 /*
3 * Copyright 2000 Gareth Hughes
4 * All Rights Reserved.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation
9 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 * and/or sell copies of the Software, and to permit persons to whom the
11 * Software is furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice (including the next
14 * paragraph) shall be included in all copies or substantial portions of the
15 * Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20 * GARETH HUGHES BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
21 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 */
24
25 /*
26 * Authors:
27 * Gareth Hughes <gareth@valinux.com>
28 * Leif Delgass <ldelgass@retinalburn.net>
29 */
30
31 #ifndef __MACH64_DRI_H__
32 #define __MACH64_DRI_H__ 1
33
34 #include "xf86drm.h"
35
36 typedef struct {
37 drm_handle_t fbHandle;
38
39 drm_handle_t regsHandle;
40 drmSize regsSize;
41
42 int IsPCI;
43
44 drm_handle_t agpHandle; /* Handle from drmAgpAlloc */
45 unsigned long agpOffset;
46 drmSize agpSize;
47 int agpMode;
48
49 /* DMA descriptor ring */
50 unsigned long ringStart; /* Offset into AGP space */
51 drm_handle_t ringHandle; /* Handle from drmAddMap */
52 drmSize ringMapSize; /* Size of map */
53 int ringSize; /* Size of ring (in kB) */
54 drmAddress ringMap; /* Map */
55
56 /* vertex buffer data */
57 unsigned long bufferStart; /* Offset into AGP space */
58 drm_handle_t bufferHandle; /* Handle from drmAddMap */
59 drmSize bufferMapSize; /* Size of map */
60 int bufferSize; /* Size of buffers (in MB) */
61 drmAddress bufferMap; /* Map */
62
63 drmBufMapPtr drmBuffers; /* Buffer map */
64 int numBuffers; /* Number of buffers */
65
66 /* AGP Texture data */
67 unsigned long agpTexStart; /* Offset into AGP space */
68 drm_handle_t agpTexHandle; /* Handle from drmAddMap */
69 drmSize agpTexMapSize; /* Size of map */
70 int agpTexSize; /* Size of AGP tex space (in MB) */
71 drmAddress agpTexMap; /* Map */
72 int log2AGPTexGran;
73
74 int fbX;
75 int fbY;
76 int backX;
77 int backY;
78 int depthX;
79 int depthY;
80
81 int frontOffset;
82 int frontPitch;
83 int backOffset;
84 int backPitch;
85 int depthOffset;
86 int depthPitch;
87
88 int textureOffset;
89 int textureSize;
90 int logTextureGranularity;
91 } ATIDRIServerInfoRec, *ATIDRIServerInfoPtr;
92
93 typedef struct {
94 int chipset;
95 int width;
96 int height;
97 int mem;
98 int cpp;
99
100 int IsPCI;
101 int AGPMode;
102
103 unsigned int frontOffset;
104 unsigned int frontPitch;
105
106 unsigned int backOffset;
107 unsigned int backPitch;
108
109 unsigned int depthOffset;
110 unsigned int depthPitch;
111
112 unsigned int textureOffset;
113 unsigned int textureSize;
114 int logTextureGranularity;
115
116 drm_handle_t regs;
117 drmSize regsSize;
118
119 drm_handle_t agp;
120 drmSize agpSize;
121 unsigned int agpTextureOffset;
122 unsigned int agpTextureSize;
123 int logAgpTextureGranularity;
124 } ATIDRIRec, *ATIDRIPtr;
125
126 #endif /* __MACH64_DRI_H__ */