OSDN Git Service

mesa: Remove obsolete Windows gldirect and ICD drivers
[android-x86/external-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__ */