annotate drivers/3dfx.h @ 366:00e10ede5234

png->raw image converter
author arpi_esp
date Wed, 11 Apr 2001 23:13:09 +0000
parents 3b5f5d1c5041
children 4a08e7ac3f59
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
1 /*
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
2 * 3dfx.h
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
3 *
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
4 * Copyright (C) Colin Cross Apr 2000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
5 *
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
6 * mpeg2dec is free software; you can redistribute it and/or modify
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
8 * the Free Software Foundation; either version 2, or (at your option)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
9 * any later version.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
10 *
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
11 * mpeg2dec is distributed in the hope that it will be useful,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
14 * GNU General Public License for more details.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
15 *
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
17 * along with GNU Make; see the file COPYING. If not, write to
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
18 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
19 *
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
20 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
21
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
22
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
23 #define VOODOO_IO_REG_OFFSET ((unsigned long int)0x0000000)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
24 #define VOODOO_YUV_REG_OFFSET ((unsigned long int)0x0080100)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
25 #define VOODOO_AGP_REG_OFFSET ((unsigned long int)0x0080000)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
26 #define VOODOO_2D_REG_OFFSET ((unsigned long int)0x0100000)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
27 #define VOODOO_YUV_PLANE_OFFSET ((unsigned long int)0x0C00000)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
28
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
29 #define VOODOO_BLT_FORMAT_YUYV (8<<16)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
30 #define VOODOO_BLT_FORMAT_16 (3<<16)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
31
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
32 #define VOODOO_YUV_STRIDE (1024>>2)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
33
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
34 struct voodoo_yuv_fb_t {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
35 uint32_t Y[0x0040000];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
36 uint32_t U[0x0040000];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
37 uint32_t V[0x0040000];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
38 };
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
39
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
40 struct voodoo_yuv_reg_t {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
41 uint32_t yuvBaseAddr;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
42 uint32_t yuvStride;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
43 };
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
44
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
45 struct voodoo_2d_reg_t {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
46 uint32_t status;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
47 uint32_t intCtrl;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
48 uint32_t clip0Min;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
49 uint32_t clip0Max;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
50 uint32_t dstBaseAddr;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
51 uint32_t dstFormat;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
52 uint32_t srcColorkeyMin;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
53 uint32_t srcColorkeyMax;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
54 uint32_t dstColorkeyMin;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
55 uint32_t dstColorkeyMax;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
56 signed long bresError0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
57 signed long bresError1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
58 uint32_t rop;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
59 uint32_t srcBaseAddr;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
60 uint32_t commandExtra;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
61 uint32_t lineStipple;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
62 uint32_t lineStyle;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
63 uint32_t pattern0Alias;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
64 uint32_t pattern1Alias;;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
65 uint32_t clip1Min;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
66 uint32_t clip1Max;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
67 uint32_t srcFormat;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
68 uint32_t srcSize;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
69 uint32_t srcXY;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
70 uint32_t colorBack;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
71 uint32_t colorFore;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
72 uint32_t dstSize;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
73 uint32_t dstXY;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
74 uint32_t command;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
75 uint32_t RESERVED1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
76 uint32_t RESERVED2;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
77 uint32_t RESERVED3;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
78 uint8_t launchArea[128];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
79 };
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
80
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
81
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
82 struct voodoo_io_reg_t {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
83 uint32_t status;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
84 uint32_t pciInit0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
85 uint32_t sipMonitor;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
86 uint32_t lfbMemoryConfig;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
87 uint32_t miscInit0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
88 uint32_t miscInit1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
89 uint32_t dramInit0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
90 uint32_t dramInit1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
91 uint32_t agpInit;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
92 uint32_t tmuGbeInit;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
93 uint32_t vgaInit0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
94 uint32_t vgaInit1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
95 uint32_t dramCommand;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
96 uint32_t dramData;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
97 uint32_t RESERVED1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
98 uint32_t RESERVED2;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
99
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
100 uint32_t pllCtrl0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
101 uint32_t pllCtrl1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
102 uint32_t pllCtrl2;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
103 uint32_t dacMode;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
104 uint32_t dacAddr;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
105 uint32_t dacData;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
106
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
107 uint32_t rgbMaxDelta;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
108 uint32_t vidProcCfg;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
109 uint32_t hwCurPatAddr;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
110 uint32_t hwCurLoc;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
111 uint32_t hwCurC0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
112 uint32_t hwCurC1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
113 uint32_t vidInFormat;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
114 uint32_t vidInStatus;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
115 uint32_t vidSerialParallelPort;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
116 uint32_t vidInXDecimDeltas;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
117 uint32_t vidInDecimInitErrs;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
118 uint32_t vidInYDecimDeltas;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
119 uint32_t vidPixelBufThold;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
120 uint32_t vidChromaMin;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
121 uint32_t vidChromaMax;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
122 uint32_t vidCurrentLine;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
123 uint32_t vidScreenSize;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
124 uint32_t vidOverlayStartCoords;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
125 uint32_t vidOverlayEndScreenCoord;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
126 uint32_t vidOverlayDudx;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
127 uint32_t vidOverlayDudxOffsetSrcWidth;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
128 uint32_t vidOverlayDvdy;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
129
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
130 uint32_t vga_registers_not_mem_mapped[12];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
131 uint32_t vidOverlayDvdyOffset;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
132 uint32_t vidDesktopStartAddr;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
133 uint32_t vidDesktopOverlayStride;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
134 uint32_t vidInAddr0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
135 uint32_t vidInAddr1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
136 uint32_t vidInAddr2;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
137 uint32_t vidInStride;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
138 uint32_t vidCurrOverlayStartAddr;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
139 };
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
140
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
141
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
142 struct pioData_t {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
143 short port;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
144 short size;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
145 int device;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
146 void *value;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
147 };
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
148
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
149 typedef struct pioData_t pioData;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
150 typedef struct voodoo_2d_reg_t voodoo_2d_reg;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
151 typedef struct voodoo_io_reg_t voodoo_io_reg;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
152 typedef struct voodoo_yuv_reg_t voodoo_yuv_reg;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
153 typedef struct voodoo_yuv_fb_t voodoo_yuv_fb;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
154