nouveau: remove unused field from nouveau_bo
[profile/ivi/libdrm.git] / nouveau / nouveau_class.h
1 /*************************************************************************
2
3    Autogenerated file, do not edit !
4
5    This file was generated by renouveau-gen from renouveau.xml, the
6    XML database of nvidia objects and methods. renouveau-gen and
7    renouveau.xml can be found in CVS module renouveau of sourceforge.net
8    project nouveau:
9
10 cvs -z3 -d:pserver:anonymous@nouveau.cvs.sourceforge.net:/cvsroot/nouveau co -P renouveau
11
12 **************************************************************************
13
14    Copyright (C) 2006-2008 :
15    Dmitry Baryshkov,
16    Laurent Carlier,
17    Matthieu Castet,
18    Dawid Gajownik,
19    Jeremy Kolb,
20    Stephane Loeuillet,
21    Patrice Mandin,
22    Stephane Marchesin,
23    Serge Martin,
24    Sylvain Munaut,
25    Simon Raffeiner,
26    Ben Skeggs,
27    Erik Waling,
28    koala_br,
29
30 All Rights Reserved.
31
32 Permission is hereby granted, free of charge, to any person obtaining
33 a copy of this software and associated documentation files (the
34 "Software"), to deal in the Software without restriction, including
35 without limitation the rights to use, copy, modify, merge, publish,
36 distribute, sublicense, and/or sell copies of the Software, and to
37 permit persons to whom the Software is furnished to do so, subject to
38 the following conditions:
39
40 The above copyright notice and this permission notice (including the
41 next paragraph) shall be included in all copies or substantial
42 portions of the Software.
43
44 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
45 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
46 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
47 IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
48 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
49 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
50 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
51
52 *************************************************************************/
53
54
55 #ifndef NOUVEAU_REG_H
56 #define NOUVEAU_REG_H 1
57
58
59 #define NV01_ROOT                                                                       0x00000001
60
61
62
63 #define NV01_CONTEXT_DMA                                                                0x00000002
64
65
66
67 #define NV01_DEVICE                                                                     0x00000003
68
69
70
71 #define NV01_TIMER                                                                      0x00000004
72
73 #define  NV01_TIMER_SYNCHRONIZE                                                         0x00000100
74 #define  NV01_TIMER_STOP_ALARM                                                          0x00000104
75 #define  NV01_TIMER_DMA_NOTIFY                                                          0x00000180
76 #define  NV01_TIMER_TIME(x)                                                             (0x00000300+((x)*4))
77 #define  NV01_TIMER_TIME__SIZE                                                          0x00000002
78 #define  NV01_TIMER_ALARM_NOTIFY                                                        0x00000308
79
80
81 #define NV01_CONTEXT_BETA1                                                              0x00000012
82
83 #define  NV01_CONTEXT_BETA1_NOP                                                         0x00000100
84 #define  NV01_CONTEXT_BETA1_NOTIFY                                                      0x00000104
85 #define  NV01_CONTEXT_BETA1_DMA_NOTIFY                                                  0x00000180
86 #define  NV01_CONTEXT_BETA1_BETA_1D31                                                   0x00000300
87
88
89 #define NV01_CONTEXT_COLOR_KEY                                                          0x00000017
90
91 #define  NV01_CONTEXT_COLOR_KEY_NOP                                                     0x00000100
92 #define  NV01_CONTEXT_COLOR_KEY_NOTIFY                                                  0x00000104
93 #define  NV01_CONTEXT_COLOR_KEY_DMA_NOTIFY                                              0x00000180
94 #define  NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT                                            0x00000300
95 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16A8Y8                                   0x00000001
96 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X24Y8                                     0x00000002
97 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16A1R5G5B5                               0x00000003
98 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X17R5G5B5                                 0x00000004
99 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_A8R8G8B8                                  0x00000005
100 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X8R8G8B8                                  0x00000006
101 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_A16Y16                                    0x00000007
102 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16Y16                                    0x00000008
103 #define  NV01_CONTEXT_COLOR_KEY_COLOR                                                   0x00000304
104
105
106 #define NV04_CONTEXT_COLOR_KEY                                                          0x00000057
107
108
109
110 #define NV01_CONTEXT_PATTERN                                                            0x00000018
111
112 #define  NV01_CONTEXT_PATTERN_NOP                                                       0x00000100
113 #define  NV01_CONTEXT_PATTERN_NOTIFY                                                    0x00000104
114 #define  NV01_CONTEXT_PATTERN_DMA_NOTIFY                                                0x00000180
115 #define  NV01_CONTEXT_PATTERN_COLOR_FORMAT                                              0x00000300
116 #define  NV01_CONTEXT_PATTERN_MONOCHROME_FORMAT                                         0x00000304
117 #define  NV01_CONTEXT_PATTERN_SHAPE                                                     0x00000308
118 #define  NV01_CONTEXT_PATTERN_COLOR(x)                                                  (0x00000310+((x)*4))
119 #define  NV01_CONTEXT_PATTERN_COLOR__SIZE                                               0x00000002
120 #define  NV01_CONTEXT_PATTERN_PATTERN(x)                                                (0x00000318+((x)*4))
121 #define  NV01_CONTEXT_PATTERN_PATTERN__SIZE                                             0x00000002
122
123
124 #define NV01_CONTEXT_CLIP_RECTANGLE                                                     0x00000019
125
126 #define  NV01_CONTEXT_CLIP_RECTANGLE_NOP                                                0x00000100
127 #define  NV01_CONTEXT_CLIP_RECTANGLE_NOTIFY                                             0x00000104
128 #define  NV01_CONTEXT_CLIP_RECTANGLE_DMA_NOTIFY                                         0x00000180
129 #define  NV01_CONTEXT_CLIP_RECTANGLE_POINT                                              0x00000300
130 #define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_X_SHIFT                                     0
131 #define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_X_MASK                                      0x0000ffff
132 #define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_Y_SHIFT                                     16
133 #define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_Y_MASK                                      0xffff0000
134 #define  NV01_CONTEXT_CLIP_RECTANGLE_SIZE                                               0x00000304
135 #define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_W_SHIFT                                      0
136 #define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_W_MASK                                       0x0000ffff
137 #define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_H_SHIFT                                      16
138 #define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_H_MASK                                       0xffff0000
139
140
141 #define NV01_RENDER_SOLID_LINE                                                          0x0000001c
142
143 #define  NV01_RENDER_SOLID_LINE_NOP                                                     0x00000100
144 #define  NV01_RENDER_SOLID_LINE_NOTIFY                                                  0x00000104
145 #define  NV01_RENDER_SOLID_LINE_PATCH                                                   0x0000010c
146 #define  NV01_RENDER_SOLID_LINE_DMA_NOTIFY                                              0x00000180
147 #define  NV01_RENDER_SOLID_LINE_CLIP_RECTANGLE                                          0x00000184
148 #define  NV01_RENDER_SOLID_LINE_PATTERN                                                 0x00000188
149 #define  NV01_RENDER_SOLID_LINE_ROP                                                     0x0000018c
150 #define  NV01_RENDER_SOLID_LINE_BETA1                                                   0x00000190
151 #define  NV01_RENDER_SOLID_LINE_SURFACE                                                 0x00000194
152 #define  NV01_RENDER_SOLID_LINE_OPERATION                                               0x000002fc
153 #define   NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY_AND                                  0x00000000
154 #define   NV01_RENDER_SOLID_LINE_OPERATION_ROP_AND                                      0x00000001
155 #define   NV01_RENDER_SOLID_LINE_OPERATION_BLEND_AND                                    0x00000002
156 #define   NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY                                      0x00000003
157 #define   NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY_PREMULT                              0x00000004
158 #define   NV01_RENDER_SOLID_LINE_OPERATION_BLEND_PREMULT                                0x00000005
159 #define  NV01_RENDER_SOLID_LINE_COLOR_FORMAT                                            0x00000300
160 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16A8Y8                                   0x00000001
161 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X24Y8                                     0x00000002
162 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16A1R5G5B5                               0x00000003
163 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X17R5G5B5                                 0x00000004
164 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_A8R8G8B8                                  0x00000005
165 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X8R8G8B8                                  0x00000006
166 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_A16Y16                                    0x00000007
167 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16Y16                                    0x00000008
168 #define  NV01_RENDER_SOLID_LINE_COLOR                                                   0x00000304
169 #define  NV01_RENDER_SOLID_LINE_LINE_POINT0(x)                                          (0x00000400+((x)*8))
170 #define  NV01_RENDER_SOLID_LINE_LINE_POINT0__SIZE                                       0x00000010
171 #define   NV01_RENDER_SOLID_LINE_LINE_POINT0_X_SHIFT                                    0
172 #define   NV01_RENDER_SOLID_LINE_LINE_POINT0_X_MASK                                     0x0000ffff
173 #define   NV01_RENDER_SOLID_LINE_LINE_POINT0_Y_SHIFT                                    16
174 #define   NV01_RENDER_SOLID_LINE_LINE_POINT0_Y_MASK                                     0xffff0000
175 #define  NV01_RENDER_SOLID_LINE_LINE_POINT1(x)                                          (0x00000404+((x)*8))
176 #define  NV01_RENDER_SOLID_LINE_LINE_POINT1__SIZE                                       0x00000010
177 #define   NV01_RENDER_SOLID_LINE_LINE_POINT1_X_SHIFT                                    0
178 #define   NV01_RENDER_SOLID_LINE_LINE_POINT1_X_MASK                                     0x0000ffff
179 #define   NV01_RENDER_SOLID_LINE_LINE_POINT1_Y_SHIFT                                    16
180 #define   NV01_RENDER_SOLID_LINE_LINE_POINT1_Y_MASK                                     0xffff0000
181 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_X(x)                                      (0x00000480+((x)*16))
182 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_X__SIZE                                   0x00000010
183 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_Y(x)                                      (0x00000484+((x)*16))
184 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_Y__SIZE                                   0x00000010
185 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_X(x)                                      (0x00000488+((x)*16))
186 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_X__SIZE                                   0x00000010
187 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_Y(x)                                      (0x0000048c+((x)*16))
188 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_Y__SIZE                                   0x00000010
189 #define  NV01_RENDER_SOLID_LINE_POLYLINE(x)                                             (0x00000500+((x)*4))
190 #define  NV01_RENDER_SOLID_LINE_POLYLINE__SIZE                                          0x00000020
191 #define   NV01_RENDER_SOLID_LINE_POLYLINE_X_SHIFT                                       0
192 #define   NV01_RENDER_SOLID_LINE_POLYLINE_X_MASK                                        0x0000ffff
193 #define   NV01_RENDER_SOLID_LINE_POLYLINE_Y_SHIFT                                       16
194 #define   NV01_RENDER_SOLID_LINE_POLYLINE_Y_MASK                                        0xffff0000
195 #define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_X(x)                                   (0x00000580+((x)*8))
196 #define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_X__SIZE                                0x00000010
197 #define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_Y(x)                                   (0x00000584+((x)*8))
198 #define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_Y__SIZE                                0x00000010
199 #define  NV01_RENDER_SOLID_LINE_CPOLYLINE_COLOR(x)                                      (0x00000600+((x)*8))
200 #define  NV01_RENDER_SOLID_LINE_CPOLYLINE_COLOR__SIZE                                   0x00000010
201 #define  NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT(x)                                      (0x00000604+((x)*8))
202 #define  NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT__SIZE                                   0x00000010
203 #define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_X_SHIFT                                0
204 #define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_X_MASK                                 0x0000ffff
205 #define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_Y_SHIFT                                16
206 #define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_Y_MASK                                 0xffff0000
207
208
209 #define NV04_RENDER_SOLID_LINE                                                          0x0000005c
210
211 #define  NV04_RENDER_SOLID_LINE_BETA4                                                   0x00000194
212 #define  NV04_RENDER_SOLID_LINE_SURFACE                                                 0x00000198
213
214
215 #define NV01_RENDER_SOLID_TRIANGLE                                                      0x0000001d
216
217 #define  NV01_RENDER_SOLID_TRIANGLE_NOP                                                 0x00000100
218 #define  NV01_RENDER_SOLID_TRIANGLE_NOTIFY                                              0x00000104
219 #define  NV01_RENDER_SOLID_TRIANGLE_PATCH                                               0x0000010c
220 #define  NV01_RENDER_SOLID_TRIANGLE_DMA_NOTIFY                                          0x00000180
221 #define  NV01_RENDER_SOLID_TRIANGLE_CLIP_RECTANGLE                                      0x00000184
222 #define  NV01_RENDER_SOLID_TRIANGLE_PATTERN                                             0x00000188
223 #define  NV01_RENDER_SOLID_TRIANGLE_ROP                                                 0x0000018c
224 #define  NV01_RENDER_SOLID_TRIANGLE_BETA1                                               0x00000190
225 #define  NV01_RENDER_SOLID_TRIANGLE_SURFACE                                             0x00000194
226 #define  NV01_RENDER_SOLID_TRIANGLE_OPERATION                                           0x000002fc
227 #define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY_AND                              0x00000000
228 #define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_ROP_AND                                  0x00000001
229 #define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_BLEND_AND                                0x00000002
230 #define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY                                  0x00000003
231 #define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY_PREMULT                          0x00000004
232 #define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_BLEND_PREMULT                            0x00000005
233 #define  NV01_RENDER_SOLID_TRIANGLE_COLOR_FORMAT                                        0x00000300
234 #define  NV01_RENDER_SOLID_TRIANGLE_COLOR                                               0x00000304
235 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0                                     0x00000310
236 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_X_SHIFT                            0
237 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_X_MASK                             0x0000ffff
238 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_Y_SHIFT                            16
239 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_Y_MASK                             0xffff0000
240 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1                                     0x00000314
241 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_X_SHIFT                            0
242 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_X_MASK                             0x0000ffff
243 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_Y_SHIFT                            16
244 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_Y_MASK                             0xffff0000
245 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2                                     0x00000318
246 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_X_SHIFT                            0
247 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_X_MASK                             0x0000ffff
248 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_Y_SHIFT                            16
249 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_Y_MASK                             0xffff0000
250 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT0_X                                 0x00000320
251 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT0_Y                                 0x00000324
252 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT1_X                                 0x00000328
253 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT1_Y                                 0x0000032c
254 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT2_X                                 0x00000330
255 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT2_Y                                 0x00000334
256 #define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH(x)                                          (0x00000400+((x)*4))
257 #define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH__SIZE                                       0x00000020
258 #define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_X_SHIFT                                    0
259 #define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_X_MASK                                     0x0000ffff
260 #define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_Y_SHIFT                                    16
261 #define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_Y_MASK                                     0xffff0000
262 #define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_X(x)                                (0x00000480+((x)*8))
263 #define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_X__SIZE                             0x00000010
264 #define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_Y(x)                                (0x00000484+((x)*8))
265 #define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_Y__SIZE                             0x00000010
266 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_COLOR(x)                                  (0x00000500+((x)*16))
267 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_COLOR__SIZE                               0x00000008
268 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0(x)                                 (0x00000504+((x)*16))
269 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0__SIZE                              0x00000008
270 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_X_SHIFT                           0
271 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_X_MASK                            0x0000ffff
272 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_Y_SHIFT                           16
273 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_Y_MASK                            0xffff0000
274 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1(x)                                 (0x00000508+((x)*16))
275 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1__SIZE                              0x00000008
276 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_X_SHIFT                           0
277 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_X_MASK                            0x0000ffff
278 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_Y_SHIFT                           16
279 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_Y_MASK                            0xffff0000
280 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2(x)                                 (0x0000050c+((x)*16))
281 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2__SIZE                              0x00000008
282 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_X_SHIFT                           0
283 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_X_MASK                            0x0000ffff
284 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_Y_SHIFT                           16
285 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_Y_MASK                            0xffff0000
286 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_COLOR(x)                                   (0x00000580+((x)*8))
287 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_COLOR__SIZE                                0x00000010
288 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT(x)                                   (0x00000584+((x)*8))
289 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT__SIZE                                0x00000010
290 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_X_SHIFT                             0
291 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_X_MASK                              0x0000ffff
292 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_Y_SHIFT                             16
293 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_Y_MASK                              0xffff0000
294
295
296 #define NV04_RENDER_SOLID_TRIANGLE                                                      0x0000005d
297
298 #define  NV04_RENDER_SOLID_TRIANGLE_BETA4                                               0x00000194
299 #define  NV04_RENDER_SOLID_TRIANGLE_SURFACE                                             0x00000198
300
301
302 #define NV01_RENDER_SOLID_RECTANGLE                                                     0x0000001e
303
304 #define  NV01_RENDER_SOLID_RECTANGLE_NOP                                                0x00000100
305 #define  NV01_RENDER_SOLID_RECTANGLE_NOTIFY                                             0x00000104
306 #define  NV01_RENDER_SOLID_RECTANGLE_PATCH                                              0x0000010c
307 #define  NV01_RENDER_SOLID_RECTANGLE_DMA_NOTIFY                                         0x00000180
308 #define  NV01_RENDER_SOLID_RECTANGLE_CLIP_RECTANGLE                                     0x00000184
309 #define  NV01_RENDER_SOLID_RECTANGLE_PATTERN                                            0x00000188
310 #define  NV01_RENDER_SOLID_RECTANGLE_ROP                                                0x0000018c
311 #define  NV01_RENDER_SOLID_RECTANGLE_BETA1                                              0x00000190
312 #define  NV01_RENDER_SOLID_RECTANGLE_SURFACE                                            0x00000194
313 #define  NV01_RENDER_SOLID_RECTANGLE_OPERATION                                          0x000002fc
314 #define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY_AND                             0x00000000
315 #define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_ROP_AND                                 0x00000001
316 #define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_BLEND_AND                               0x00000002
317 #define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY                                 0x00000003
318 #define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY_PREMULT                         0x00000004
319 #define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_BLEND_PREMULT                           0x00000005
320 #define  NV01_RENDER_SOLID_RECTANGLE_COLOR_FORMAT                                       0x00000300
321 #define  NV01_RENDER_SOLID_RECTANGLE_COLOR                                              0x00000304
322 #define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT(x)                                 (0x00000400+((x)*8))
323 #define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT__SIZE                              0x00000010
324 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_X_SHIFT                           0
325 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_X_MASK                            0x0000ffff
326 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_Y_SHIFT                           16
327 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_Y_MASK                            0xffff0000
328 #define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE(x)                                  (0x00000404+((x)*8))
329 #define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE__SIZE                               0x00000010
330 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_W_SHIFT                            0
331 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_W_MASK                             0x0000ffff
332 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_H_SHIFT                            16
333 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_H_MASK                             0xffff0000
334
335
336 #define NV04_RENDER_SOLID_RECTANGLE                                                     0x0000005e
337
338 #define  NV04_RENDER_SOLID_RECTANGLE_BETA4                                              0x00000194
339 #define  NV04_RENDER_SOLID_RECTANGLE_SURFACE                                            0x00000198
340
341
342 #define NV01_IMAGE_BLIT                                                                 0x0000001f
343
344 #define  NV01_IMAGE_BLIT_NOP                                                            0x00000100
345 #define  NV01_IMAGE_BLIT_NOTIFY                                                         0x00000104
346 #define  NV01_IMAGE_BLIT_PATCH                                                          0x0000010c
347 #define  NV01_IMAGE_BLIT_DMA_NOTIFY                                                     0x00000180
348 #define  NV01_IMAGE_BLIT_COLOR_KEY                                                      0x00000184
349 #define  NV01_IMAGE_BLIT_CLIP_RECTANGLE                                                 0x00000188
350 #define  NV01_IMAGE_BLIT_PATTERN                                                        0x0000018c
351 #define  NV01_IMAGE_BLIT_ROP                                                            0x00000190
352 #define  NV01_IMAGE_BLIT_BETA1                                                          0x00000194
353 #define  NV01_IMAGE_BLIT_SURFACE                                                        0x0000019c
354 #define  NV01_IMAGE_BLIT_OPERATION                                                      0x000002fc
355 #define   NV01_IMAGE_BLIT_OPERATION_SRCCOPY_AND                                         0x00000000
356 #define   NV01_IMAGE_BLIT_OPERATION_ROP_AND                                             0x00000001
357 #define   NV01_IMAGE_BLIT_OPERATION_BLEND_AND                                           0x00000002
358 #define   NV01_IMAGE_BLIT_OPERATION_SRCCOPY                                             0x00000003
359 #define   NV01_IMAGE_BLIT_OPERATION_SRCCOPY_PREMULT                                     0x00000004
360 #define   NV01_IMAGE_BLIT_OPERATION_BLEND_PREMULT                                       0x00000005
361 #define  NV01_IMAGE_BLIT_IMAGE_INPUT                                                    0x00000204
362 #define  NV01_IMAGE_BLIT_POINT_IN                                                       0x00000300
363 #define   NV01_IMAGE_BLIT_POINT_IN_X_SHIFT                                              0
364 #define   NV01_IMAGE_BLIT_POINT_IN_X_MASK                                               0x0000ffff
365 #define   NV01_IMAGE_BLIT_POINT_IN_Y_SHIFT                                              16
366 #define   NV01_IMAGE_BLIT_POINT_IN_Y_MASK                                               0xffff0000
367 #define  NV01_IMAGE_BLIT_POINT_OUT                                                      0x00000304
368 #define   NV01_IMAGE_BLIT_POINT_OUT_X_SHIFT                                             0
369 #define   NV01_IMAGE_BLIT_POINT_OUT_X_MASK                                              0x0000ffff
370 #define   NV01_IMAGE_BLIT_POINT_OUT_Y_SHIFT                                             16
371 #define   NV01_IMAGE_BLIT_POINT_OUT_Y_MASK                                              0xffff0000
372 #define  NV01_IMAGE_BLIT_SIZE                                                           0x00000308
373 #define   NV01_IMAGE_BLIT_SIZE_W_SHIFT                                                  0
374 #define   NV01_IMAGE_BLIT_SIZE_W_MASK                                                   0x0000ffff
375 #define   NV01_IMAGE_BLIT_SIZE_H_SHIFT                                                  16
376 #define   NV01_IMAGE_BLIT_SIZE_H_MASK                                                   0xffff0000
377
378
379 #define NV04_IMAGE_BLIT                                                                 0x0000005f
380
381 #define  NV04_IMAGE_BLIT_ROP                                                            0x00000190
382 #define  NV04_IMAGE_BLIT_BETA4                                                          0x00000198
383 #define  NV04_IMAGE_BLIT_SURFACE                                                        0x0000019c
384
385
386 #define NV12_IMAGE_BLIT                                                                 0x0000009f
387
388 #define  NV12_IMAGE_BLIT_WAIT_FOR_IDLE                                                  0x00000108
389
390
391 #define NV01_IMAGE_FROM_CPU                                                             0x00000021
392
393 #define  NV01_IMAGE_FROM_CPU_NOP                                                        0x00000100
394 #define  NV01_IMAGE_FROM_CPU_NOTIFY                                                     0x00000104
395 #define  NV01_IMAGE_FROM_CPU_PATCH                                                      0x0000010c
396 #define  NV01_IMAGE_FROM_CPU_DMA_NOTIFY                                                 0x00000180
397 #define  NV01_IMAGE_FROM_CPU_COLOR_KEY                                                  0x00000184
398 #define  NV01_IMAGE_FROM_CPU_CLIP_RECTANGLE                                             0x00000188
399 #define  NV01_IMAGE_FROM_CPU_PATTERN                                                    0x0000018c
400 #define  NV01_IMAGE_FROM_CPU_ROP                                                        0x00000190
401 #define  NV01_IMAGE_FROM_CPU_BETA1                                                      0x00000194
402 #define  NV01_IMAGE_FROM_CPU_SURFACE                                                    0x00000198
403 #define  NV01_IMAGE_FROM_CPU_OPERATION                                                  0x000002fc
404 #define   NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY_AND                                     0x00000000
405 #define   NV01_IMAGE_FROM_CPU_OPERATION_ROP_AND                                         0x00000001
406 #define   NV01_IMAGE_FROM_CPU_OPERATION_BLEND_AND                                       0x00000002
407 #define   NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY                                         0x00000003
408 #define   NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY_PREMULT                                 0x00000004
409 #define   NV01_IMAGE_FROM_CPU_OPERATION_BLEND_PREMULT                                   0x00000005
410 #define  NV01_IMAGE_FROM_CPU_COLOR_FORMAT                                               0x00000300
411 #define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_Y8                                           0x00000001
412 #define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_A1R5G5B5                                     0x00000002
413 #define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_X1R5G5B5                                     0x00000003
414 #define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_A8R8G8B8                                     0x00000004
415 #define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_X8R8G8B8                                     0x00000005
416 #define  NV01_IMAGE_FROM_CPU_POINT                                                      0x00000304
417 #define   NV01_IMAGE_FROM_CPU_POINT_X_SHIFT                                             0
418 #define   NV01_IMAGE_FROM_CPU_POINT_X_MASK                                              0x0000ffff
419 #define   NV01_IMAGE_FROM_CPU_POINT_Y_SHIFT                                             16
420 #define   NV01_IMAGE_FROM_CPU_POINT_Y_MASK                                              0xffff0000
421 #define  NV01_IMAGE_FROM_CPU_SIZE_OUT                                                   0x00000308
422 #define   NV01_IMAGE_FROM_CPU_SIZE_OUT_W_SHIFT                                          0
423 #define   NV01_IMAGE_FROM_CPU_SIZE_OUT_W_MASK                                           0x0000ffff
424 #define   NV01_IMAGE_FROM_CPU_SIZE_OUT_H_SHIFT                                          16
425 #define   NV01_IMAGE_FROM_CPU_SIZE_OUT_H_MASK                                           0xffff0000
426 #define  NV01_IMAGE_FROM_CPU_SIZE_IN                                                    0x0000030c
427 #define   NV01_IMAGE_FROM_CPU_SIZE_IN_W_SHIFT                                           0
428 #define   NV01_IMAGE_FROM_CPU_SIZE_IN_W_MASK                                            0x0000ffff
429 #define   NV01_IMAGE_FROM_CPU_SIZE_IN_H_SHIFT                                           16
430 #define   NV01_IMAGE_FROM_CPU_SIZE_IN_H_MASK                                            0xffff0000
431 #define  NV01_IMAGE_FROM_CPU_COLOR(x)                                                   (0x00000400+((x)*4))
432 #define  NV01_IMAGE_FROM_CPU_COLOR__SIZE                                                0x00000020
433
434
435 #define NV04_IMAGE_FROM_CPU                                                             0x00000061
436
437 #define  NV04_IMAGE_FROM_CPU_BETA4                                                      0x00000198
438 #define  NV04_IMAGE_FROM_CPU_SURFACE                                                    0x0000019c
439
440
441 #define NV05_IMAGE_FROM_CPU                                                             0x00000065
442
443 #define  NV05_IMAGE_FROM_CPU_COLOR_CONVERSION                                           0x000002f8
444
445
446 #define NV10_IMAGE_FROM_CPU                                                             0x0000008a
447
448 #define  NV10_IMAGE_FROM_CPU_WAIT_FOR_IDLE                                              0x00000108
449
450
451 #define NV30_IMAGE_FROM_CPU                                                             0x0000038a
452
453
454
455 #define NV40_IMAGE_FROM_CPU                                                             0x0000308a
456
457
458
459 #define NV01_NULL                                                                       0x00000030
460
461
462
463 #define NV03_STRETCHED_IMAGE_FROM_CPU                                                   0x00000036
464
465 #define  NV03_STRETCHED_IMAGE_FROM_CPU_NOP                                              0x00000100
466 #define  NV03_STRETCHED_IMAGE_FROM_CPU_NOTIFY                                           0x00000104
467 #define  NV03_STRETCHED_IMAGE_FROM_CPU_PATCH                                            0x0000010c
468 #define  NV03_STRETCHED_IMAGE_FROM_CPU_DMA_NOTIFY                                       0x00000180
469 #define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR_KEY                                        0x00000184
470 #define  NV03_STRETCHED_IMAGE_FROM_CPU_PATTERN                                          0x00000188
471 #define  NV03_STRETCHED_IMAGE_FROM_CPU_ROP                                              0x0000018c
472 #define  NV03_STRETCHED_IMAGE_FROM_CPU_BETA1                                            0x00000190
473 #define  NV03_STRETCHED_IMAGE_FROM_CPU_SURFACE                                          0x00000194
474 #define  NV03_STRETCHED_IMAGE_FROM_CPU_OPERATION                                        0x000002fc
475 #define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR_FORMAT                                     0x00000300
476 #define  NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN                                          0x00000304
477 #define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_W_SHIFT                                 0
478 #define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_W_MASK                                  0x0000ffff
479 #define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_H_SHIFT                                 16
480 #define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_H_MASK                                  0xffff0000
481 #define  NV03_STRETCHED_IMAGE_FROM_CPU_DX_DU                                            0x00000308
482 #define  NV03_STRETCHED_IMAGE_FROM_CPU_DY_DV                                            0x0000030c
483 #define  NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT                                       0x00000310
484 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_X_SHIFT                              0
485 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_X_MASK                               0x0000ffff
486 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_Y_SHIFT                              16
487 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_Y_MASK                               0xffff0000
488 #define  NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE                                        0x00000314
489 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_W_SHIFT                               0
490 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_W_MASK                                0x0000ffff
491 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_H_SHIFT                               16
492 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_H_MASK                                0xffff0000
493 #define  NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4                                        0x00000318
494 #define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_X_SHIFT                               0
495 #define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_X_MASK                                0x0000ffff
496 #define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_Y_SHIFT                               16
497 #define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_Y_MASK                                0xffff0000
498 #define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR(x)                                         (0x00000400+((x)*4))
499 #define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR__SIZE                                      0x00000020
500
501
502 #define NV04_STRETCHED_IMAGE_FROM_CPU                                                   0x00000076
503
504 #define  NV04_STRETCHED_IMAGE_FROM_CPU_BETA4                                            0x00000194
505 #define  NV04_STRETCHED_IMAGE_FROM_CPU_SURFACE                                          0x00000198
506
507
508 #define NV05_STRETCHED_IMAGE_FROM_CPU                                                   0x00000066
509
510 #define  NV05_STRETCHED_IMAGE_FROM_CPU_COLOR_CONVERSION                                 0x000002f8
511
512
513 #define NV30_STRETCHED_IMAGE_FROM_CPU                                                   0x00000366
514
515
516
517 #define NV40_STRETCHED_IMAGE_FROM_CPU                                                   0x00003066
518
519
520
521 #define NV03_SCALED_IMAGE_FROM_MEMORY                                                   0x00000037
522
523 #define  NV03_SCALED_IMAGE_FROM_MEMORY_NOP                                              0x00000100
524 #define  NV03_SCALED_IMAGE_FROM_MEMORY_NOTIFY                                           0x00000104
525 #define  NV03_SCALED_IMAGE_FROM_MEMORY_DMA_NOTIFY                                       0x00000180
526 #define  NV03_SCALED_IMAGE_FROM_MEMORY_DMA_IMAGE                                        0x00000184
527 #define  NV03_SCALED_IMAGE_FROM_MEMORY_PATTERN                                          0x00000188
528 #define  NV03_SCALED_IMAGE_FROM_MEMORY_ROP                                              0x0000018c
529 #define  NV03_SCALED_IMAGE_FROM_MEMORY_BETA1                                            0x00000190
530 #define  NV03_SCALED_IMAGE_FROM_MEMORY_SURFACE                                          0x00000194
531 #define  NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT                                     0x00000300
532 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A1R5G5B5                           0x00000001
533 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X1R5G5B5                           0x00000002
534 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A8R8G8B8                           0x00000003
535 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X8R8G8B8                           0x00000004
536 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_V8YB8U8YA8                         0x00000005
537 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_YB8V8YA8U8                         0x00000006
538 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_R5G6B5                             0x00000007
539 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_Y8                                 0x00000008
540 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_AY8                                0x00000009
541 #define  NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION                                        0x00000304
542 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_AND                           0x00000000
543 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_ROP_AND                               0x00000001
544 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_AND                             0x00000002
545 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY                               0x00000003
546 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_PREMULT                       0x00000004
547 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_PREMULT                         0x00000005
548 #define  NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT                                       0x00000308
549 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_SHIFT                              0
550 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_MASK                               0x0000ffff
551 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_SHIFT                              16
552 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_MASK                               0xffff0000
553 #define  NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE                                        0x0000030c
554 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_SHIFT                               0
555 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_MASK                                0x0000ffff
556 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_SHIFT                               16
557 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_MASK                                0xffff0000
558 #define  NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT                                        0x00000310
559 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_SHIFT                               0
560 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_MASK                                0x0000ffff
561 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_SHIFT                               16
562 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_MASK                                0xffff0000
563 #define  NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE                                         0x00000314
564 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_SHIFT                                0
565 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_MASK                                 0x0000ffff
566 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_SHIFT                                16
567 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_MASK                                 0xffff0000
568 #define  NV03_SCALED_IMAGE_FROM_MEMORY_DU_DX                                            0x00000318
569 #define  NV03_SCALED_IMAGE_FROM_MEMORY_DV_DY                                            0x0000031c
570 #define  NV03_SCALED_IMAGE_FROM_MEMORY_SIZE                                             0x00000400
571 #define   NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_W_SHIFT                                    0
572 #define   NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_W_MASK                                     0x0000ffff
573 #define   NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_H_SHIFT                                    16
574 #define   NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_H_MASK                                     0xffff0000
575 #define  NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT                                           0x00000404
576 #define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_SHIFT                              0
577 #define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_MASK                               0x0000ffff
578 #define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_SHIFT                             16
579 #define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_MASK                              0x00ff0000
580 #define    NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CENTER                           0x00010000
581 #define    NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CORNER                           0x00020000
582 #define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_SHIFT                             24
583 #define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_MASK                              0xff000000
584 #define    NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_POINT_SAMPLE                     0x00000000
585 #define    NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_BILINEAR                         0x01000000
586 #define  NV03_SCALED_IMAGE_FROM_MEMORY_OFFSET                                           0x00000408
587 #define  NV03_SCALED_IMAGE_FROM_MEMORY_POINT                                            0x0000040c
588 #define   NV03_SCALED_IMAGE_FROM_MEMORY_POINT_U_SHIFT                                   0
589 #define   NV03_SCALED_IMAGE_FROM_MEMORY_POINT_U_MASK                                    0x0000ffff
590 #define   NV03_SCALED_IMAGE_FROM_MEMORY_POINT_V_SHIFT                                   16
591 #define   NV03_SCALED_IMAGE_FROM_MEMORY_POINT_V_MASK                                    0xffff0000
592
593
594 #define NV04_SCALED_IMAGE_FROM_MEMORY                                                   0x00000077
595
596 #define  NV04_SCALED_IMAGE_FROM_MEMORY_BETA4                                            0x00000194
597 #define  NV04_SCALED_IMAGE_FROM_MEMORY_SURFACE                                          0x00000198
598
599
600 #define NV05_SCALED_IMAGE_FROM_MEMORY                                                   0x00000063
601
602 #define  NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION                                 0x000002fc
603 #define   NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_DITHER                         0x00000000
604 #define   NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_TRUNCATE                       0x00000001
605 #define   NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_SUBTR_TRUNCATE                 0x00000002
606
607
608 #define NV10_SCALED_IMAGE_FROM_MEMORY                                                   0x00000089
609
610 #define  NV10_SCALED_IMAGE_FROM_MEMORY_WAIT_FOR_IDLE                                    0x00000108
611
612
613 #define NV30_SCALED_IMAGE_FROM_MEMORY                                                   0x00000389
614
615
616
617 #define NV40_SCALED_IMAGE_FROM_MEMORY                                                   0x00003089
618
619
620
621 #define NV04_DVD_SUBPICTURE                                                             0x00000038
622
623 #define  NV04_DVD_SUBPICTURE_NOP                                                        0x00000100
624 #define  NV04_DVD_SUBPICTURE_NOTIFY                                                     0x00000104
625 #define  NV04_DVD_SUBPICTURE_DMA_NOTIFY                                                 0x00000180
626 #define  NV04_DVD_SUBPICTURE_DMA_OVERLAY                                                0x00000184
627 #define  NV04_DVD_SUBPICTURE_DMA_IMAGEIN                                                0x00000188
628 #define  NV04_DVD_SUBPICTURE_DMA_IMAGEOUT                                               0x0000018c
629 #define  NV04_DVD_SUBPICTURE_IMAGEOUT_POINT                                             0x00000300
630 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_X_SHIFT                                    0
631 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_X_MASK                                     0x0000ffff
632 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_Y_SHIFT                                    16
633 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_Y_MASK                                     0xffff0000
634 #define  NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE                                              0x00000304
635 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_W_SHIFT                                     0
636 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_W_MASK                                      0x0000ffff
637 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_H_SHIFT                                     16
638 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_H_MASK                                      0xffff0000
639 #define  NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT                                            0x00000308
640 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_PITCH_SHIFT                               0
641 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_PITCH_MASK                                0x0000ffff
642 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_COLOR_SHIFT                               16
643 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_COLOR_MASK                                0xffff0000
644 #define  NV04_DVD_SUBPICTURE_IMAGEOUT_OFFSET                                            0x0000030c
645 #define  NV04_DVD_SUBPICTURE_IMAGEIN_DELTA_DU_DX                                        0x00000310
646 #define  NV04_DVD_SUBPICTURE_IMAGEIN_DELTA_DV_DY                                        0x00000314
647 #define  NV04_DVD_SUBPICTURE_IMAGEIN_SIZE                                               0x00000318
648 #define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_W_SHIFT                                      0
649 #define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_W_MASK                                       0x0000ffff
650 #define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_H_SHIFT                                      16
651 #define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_H_MASK                                       0xffff0000
652 #define  NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT                                             0x0000031c
653 #define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_PITCH_SHIFT                                0
654 #define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_PITCH_MASK                                 0x0000ffff
655 #define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_COLOR_SHIFT                                16
656 #define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_COLOR_MASK                                 0xffff0000
657 #define  NV04_DVD_SUBPICTURE_IMAGEIN_OFFSET                                             0x00000320
658 #define  NV04_DVD_SUBPICTURE_IMAGEIN_POINT                                              0x00000324
659 #define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_U_SHIFT                                     0
660 #define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_U_MASK                                      0x0000ffff
661 #define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_V_SHIFT                                     16
662 #define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_V_MASK                                      0xffff0000
663 #define  NV04_DVD_SUBPICTURE_OVERLAY_DELTA_DU_DX                                        0x00000328
664 #define  NV04_DVD_SUBPICTURE_OVERLAY_DELTA_DV_DY                                        0x0000032c
665 #define  NV04_DVD_SUBPICTURE_OVERLAY_SIZE                                               0x00000330
666 #define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_W_SHIFT                                      0
667 #define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_W_MASK                                       0x0000ffff
668 #define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_H_SHIFT                                      16
669 #define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_H_MASK                                       0xffff0000
670 #define  NV04_DVD_SUBPICTURE_OVERLAY_FORMAT                                             0x00000334
671 #define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_PITCH_SHIFT                                0
672 #define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_PITCH_MASK                                 0x0000ffff
673 #define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_COLOR_SHIFT                                16
674 #define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_COLOR_MASK                                 0xffff0000
675 #define  NV04_DVD_SUBPICTURE_OVERLAY_OFFSET                                             0x00000338
676 #define  NV04_DVD_SUBPICTURE_OVERLAY_POINT                                              0x0000033c
677 #define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_U_SHIFT                                     0
678 #define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_U_MASK                                      0x0000ffff
679 #define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_V_SHIFT                                     16
680 #define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_V_MASK                                      0xffff0000
681
682
683 #define NV10_DVD_SUBPICTURE                                                             0x00000088
684
685 #define  NV10_DVD_SUBPICTURE_WAIT_FOR_IDLE                                              0x00000108
686
687
688 #define NV04_MEMORY_TO_MEMORY_FORMAT                                                    0x00000039
689
690 #define  NV04_MEMORY_TO_MEMORY_FORMAT_NOP                                               0x00000100
691 #define  NV04_MEMORY_TO_MEMORY_FORMAT_NOTIFY                                            0x00000104
692 #define  NV04_MEMORY_TO_MEMORY_FORMAT_DMA_NOTIFY                                        0x00000180
693 #define  NV04_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_IN                                     0x00000184
694 #define  NV04_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_OUT                                    0x00000188
695 #define  NV04_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN                                         0x0000030c
696 #define  NV04_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT                                        0x00000310
697 #define  NV04_MEMORY_TO_MEMORY_FORMAT_PITCH_IN                                          0x00000314
698 #define  NV04_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT                                         0x00000318
699 #define  NV04_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN                                    0x0000031c
700 #define  NV04_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT                                        0x00000320
701 #define  NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT                                            0x00000324
702 #define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_SHIFT                           0
703 #define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_MASK                            0x000000ff
704 #define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_SHIFT                          8
705 #define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_MASK                           0x0000ff00
706 #define  NV04_MEMORY_TO_MEMORY_FORMAT_BUF_NOTIFY                                        0x00000328
707
708
709 #define NV50_MEMORY_TO_MEMORY_FORMAT                                                    0x00005039
710
711 #define  NV50_MEMORY_TO_MEMORY_FORMAT_SERIALIZE                                         0x00000110
712 #define  NV50_MEMORY_TO_MEMORY_FORMAT_LINEAR_IN                                         0x00000200
713 #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_IN                                    0x00000204
714 #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_IN                                   0x00000208
715 #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_IN                                  0x0000020c
716 #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_IN                                   0x00000210
717 #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Z                              0x00000214
718 #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN                                0x00000218
719 #define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X_SHIFT                       0
720 #define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X_MASK                        0x0000ffff
721 #define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y_SHIFT                       16
722 #define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y_MASK                        0xffff0000
723 #define  NV50_MEMORY_TO_MEMORY_FORMAT_LINEAR_OUT                                        0x0000021c
724 #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_OUT                                   0x00000220
725 #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_OUT                                  0x00000224
726 #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_OUT                                 0x00000228
727 #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_OUT                                  0x0000022c
728 #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Z                             0x00000230
729 #define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT                               0x00000234
730 #define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X_SHIFT                      0
731 #define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X_MASK                       0x0000ffff
732 #define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y_SHIFT                      16
733 #define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y_MASK                       0xffff0000
734 #define  NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_HIGH                                    0x00000238
735 #define  NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH                                   0x0000023c
736
737
738 #define NV01_MEMORY_LOCAL_BANKED                                                        0x0000003d
739
740
741
742 #define NV01_MAPPING_SYSTEM                                                             0x0000003e
743
744
745
746 #define NV03_MEMORY_LOCAL_CURSOR                                                        0x0000003f
747
748
749
750 #define NV01_MEMORY_LOCAL_LINEAR                                                        0x00000040
751
752
753
754 #define NV01_MAPPING_LOCAL                                                              0x00000041
755
756
757
758 #define NV04_CONTEXT_SURFACES_2D                                                        0x00000042
759
760 #define  NV04_CONTEXT_SURFACES_2D_NOP                                                   0x00000100
761 #define  NV04_CONTEXT_SURFACES_2D_NOTIFY                                                0x00000104
762 #define  NV04_CONTEXT_SURFACES_2D_PM_TRIGGER                                            0x00000140
763 #define  NV04_CONTEXT_SURFACES_2D_DMA_NOTIFY                                            0x00000180
764 #define  NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_SOURCE                                      0x00000184
765 #define  NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_DESTIN                                      0x00000188
766 #define  NV04_CONTEXT_SURFACES_2D_FORMAT                                                0x00000300
767 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_Y8                                            0x00000001
768 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_X1R5G5B5_Z1R5G5B5                             0x00000002
769 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_X1R5G5B5_X1R5G5B5                             0x00000003
770 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_R5G6B5                                        0x00000004
771 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_Y16                                           0x00000005
772 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_X8R8G8B8_Z8R8G8B8                             0x00000006
773 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_X8R8G8B8_X8R8G8B8                             0x00000007
774 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_X1A7R8G8B8_Z1A7R8G8B8                         0x00000008
775 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_X1A7R8G8B8_X1A7R8G8B8                         0x00000009
776 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_A8R8G8B8                                      0x0000000a
777 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_Y32                                           0x0000000b
778 #define  NV04_CONTEXT_SURFACES_2D_PITCH                                                 0x00000304
779 #define   NV04_CONTEXT_SURFACES_2D_PITCH_SOURCE_SHIFT                                   0
780 #define   NV04_CONTEXT_SURFACES_2D_PITCH_SOURCE_MASK                                    0x0000ffff
781 #define   NV04_CONTEXT_SURFACES_2D_PITCH_DESTIN_SHIFT                                   16
782 #define   NV04_CONTEXT_SURFACES_2D_PITCH_DESTIN_MASK                                    0xffff0000
783 #define  NV04_CONTEXT_SURFACES_2D_OFFSET_SOURCE                                         0x00000308
784 #define  NV04_CONTEXT_SURFACES_2D_OFFSET_DESTIN                                         0x0000030c
785
786
787 #define NV10_CONTEXT_SURFACES_2D                                                        0x00000062
788
789
790
791 #define NV30_CONTEXT_SURFACES_2D                                                        0x00000362
792
793
794
795 #define NV40_CONTEXT_SURFACES_2D                                                        0x00003062
796
797
798
799 #define NV03_CONTEXT_ROP                                                                0x00000043
800
801 #define  NV03_CONTEXT_ROP_NOP                                                           0x00000100
802 #define  NV03_CONTEXT_ROP_NOTIFY                                                        0x00000104
803 #define  NV03_CONTEXT_ROP_DMA_NOTIFY                                                    0x00000180
804 #define  NV03_CONTEXT_ROP_ROP                                                           0x00000300
805 #define   NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_SHIFT                                       0
806 #define   NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_MASK                                        0x0000000f
807 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_CLEAR                                      0x00000000
808 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NOR                                        0x00000001
809 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND_INVERTED                               0x00000002
810 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_COPY_INVERTED                              0x00000003
811 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND_REVERSE                                0x00000004
812 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_INVERT                                     0x00000005
813 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_XOR                                        0x00000006
814 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NAND                                       0x00000007
815 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND                                        0x00000008
816 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_EQUI                                       0x00000009
817 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NOOP                                       0x0000000a
818 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR_INVERTED                                0x0000000b
819 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_COPY                                       0x0000000c
820 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR_REVERSE                                 0x0000000d
821 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR                                         0x0000000e
822 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_SET                                        0x0000000f
823 #define   NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_SHIFT                                       4
824 #define   NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_MASK                                        0x000000f0
825 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_CLEAR                                      0x00000000
826 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NOR                                        0x00000010
827 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND_INVERTED                               0x00000020
828 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_COPY_INVERTED                              0x00000030
829 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND_REVERSE                                0x00000040
830 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_INVERT                                     0x00000050
831 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_XOR                                        0x00000060
832 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NAND                                       0x00000070
833 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND                                        0x00000080
834 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_EQUI                                       0x00000090
835 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NOOP                                       0x000000a0
836 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR_INVERTED                                0x000000b0
837 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_COPY                                       0x000000c0
838 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR_REVERSE                                 0x000000d0
839 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR                                         0x000000e0
840 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_SET                                        0x000000f0
841
842
843 #define NV04_IMAGE_PATTERN                                                              0x00000044
844
845 #define  NV04_IMAGE_PATTERN_NOP                                                         0x00000100
846 #define  NV04_IMAGE_PATTERN_NOTIFY                                                      0x00000104
847 #define  NV04_IMAGE_PATTERN_DMA_NOTIFY                                                  0x00000180
848 #define  NV04_IMAGE_PATTERN_COLOR_FORMAT                                                0x00000300
849 #define   NV04_IMAGE_PATTERN_COLOR_FORMAT_A16R5G6B5                                     0x00000001
850 #define   NV04_IMAGE_PATTERN_COLOR_FORMAT_X16A1R5G5B5                                   0x00000002
851 #define   NV04_IMAGE_PATTERN_COLOR_FORMAT_A8R8G8B8                                      0x00000003
852 #define  NV04_IMAGE_PATTERN_MONOCHROME_FORMAT                                           0x00000304
853 #define   NV04_IMAGE_PATTERN_MONOCHROME_FORMAT_CGA6                                     0x00000001
854 #define   NV04_IMAGE_PATTERN_MONOCHROME_FORMAT_LE                                       0x00000002
855 #define  NV04_IMAGE_PATTERN_MONOCHROME_SHAPE                                            0x00000308
856 #define   NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_8X8                                       0x00000000
857 #define   NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_64X1                                      0x00000001
858 #define   NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_1X64                                      0x00000002
859 #define  NV04_IMAGE_PATTERN_PATTERN_SELECT                                              0x0000030c
860 #define   NV04_IMAGE_PATTERN_PATTERN_SELECT_MONO                                        0x00000001
861 #define   NV04_IMAGE_PATTERN_PATTERN_SELECT_COLOR                                       0x00000002
862 #define  NV04_IMAGE_PATTERN_MONOCHROME_COLOR0                                           0x00000310
863 #define  NV04_IMAGE_PATTERN_MONOCHROME_COLOR1                                           0x00000314
864 #define  NV04_IMAGE_PATTERN_MONOCHROME_PATTERN0                                         0x00000318
865 #define  NV04_IMAGE_PATTERN_MONOCHROME_PATTERN1                                         0x0000031c
866 #define  NV04_IMAGE_PATTERN_PATTERN_Y8(x)                                               (0x00000400+((x)*4))
867 #define  NV04_IMAGE_PATTERN_PATTERN_Y8__SIZE                                            0x00000010
868 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y0_SHIFT                                        0
869 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y0_MASK                                         0x000000ff
870 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y1_SHIFT                                        8
871 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y1_MASK                                         0x0000ff00
872 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y2_SHIFT                                        16
873 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y2_MASK                                         0x00ff0000
874 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y3_SHIFT                                        24
875 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y3_MASK                                         0xff000000
876 #define  NV04_IMAGE_PATTERN_PATTERN_R5G6B5(x)                                           (0x00000500+((x)*4))
877 #define  NV04_IMAGE_PATTERN_PATTERN_R5G6B5__SIZE                                        0x00000020
878 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B0_SHIFT                                    0
879 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B0_MASK                                     0x0000001f
880 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G0_SHIFT                                    5
881 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G0_MASK                                     0x000007e0
882 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R0_SHIFT                                    11
883 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R0_MASK                                     0x0000f800
884 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B1_SHIFT                                    16
885 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B1_MASK                                     0x001f0000
886 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G1_SHIFT                                    21
887 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G1_MASK                                     0x07e00000
888 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R1_SHIFT                                    27
889 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R1_MASK                                     0xf8000000
890 #define  NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5(x)                                         (0x00000600+((x)*4))
891 #define  NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5__SIZE                                      0x00000020
892 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B0_SHIFT                                  0
893 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B0_MASK                                   0x0000001f
894 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G0_SHIFT                                  5
895 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G0_MASK                                   0x000003e0
896 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R0_SHIFT                                  10
897 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R0_MASK                                   0x00007c00
898 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B1_SHIFT                                  16
899 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B1_MASK                                   0x001f0000
900 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G1_SHIFT                                  21
901 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G1_MASK                                   0x03e00000
902 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R1_SHIFT                                  26
903 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R1_MASK                                   0x7c000000
904 #define  NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8(x)                                         (0x00000700+((x)*4))
905 #define  NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8__SIZE                                      0x00000040
906 #define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_B_SHIFT                                   0
907 #define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_B_MASK                                    0x000000ff
908 #define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_G_SHIFT                                   8
909 #define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_G_MASK                                    0x0000ff00
910 #define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_R_SHIFT                                   16
911 #define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_R_MASK                                    0x00ff0000
912
913
914 #define NV03_VIDEO_LUT_CURSOR_DAC                                                       0x00000046
915
916 #define  NV03_VIDEO_LUT_CURSOR_DAC_SYNCHRONIZE                                          0x00000100
917 #define  NV03_VIDEO_LUT_CURSOR_DAC_STOP_IMAGE                                           0x00000104
918 #define  NV03_VIDEO_LUT_CURSOR_DAC_STOP_CURSOR                                          0x00000108
919 #define  NV03_VIDEO_LUT_CURSOR_DAC_STOP_DAC                                             0x0000010c
920 #define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_NOTIFY                                           0x00000180
921 #define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_IMAGE(x)                                         (0x00000184+((x)*4))
922 #define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_IMAGE__SIZE                                      0x00000002
923 #define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_LUT(x)                                           (0x0000018c+((x)*4))
924 #define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_LUT__SIZE                                        0x00000002
925 #define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_CURSOR(x)                                        (0x00000194+((x)*4))
926 #define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_CURSOR__SIZE                                     0x00000002
927 #define  NV03_VIDEO_LUT_CURSOR_DAC_GET                                                  0x000002fc
928 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_OFFSET(x)                                  (0x00000300+((x)*8))
929 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_OFFSET__SIZE                               0x00000002
930 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT(x)                                  (0x00000304+((x)*8))
931 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT__SIZE                               0x00000002
932 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_PITCH_SHIFT                        0
933 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_PITCH_MASK                         0x0000ffff
934 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_COLOR_SHIFT                        16
935 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_COLOR_MASK                         0x0fff0000
936 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_NOTIFY_SHIFT                       28
937 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_NOTIFY_MASK                        0xf0000000
938 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_OFFSET(x)                                 (0x00000340+((x)*12))
939 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_OFFSET__SIZE                              0x00000002
940 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT(x)                              (0x00000344+((x)*12))
941 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT__SIZE                           0x00000002
942 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_X_SHIFT                        0
943 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_X_MASK                         0x0000ffff
944 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_Y_SHIFT                        16
945 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_Y_MASK                         0xffff0000
946 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_FORMAT(x)                                 (0x00000348+((x)*12))
947 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_FORMAT__SIZE                              0x00000002
948 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A                               0x00000358
949 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_X_SHIFT                      0
950 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_X_MASK                       0x0000ffff
951 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_Y_SHIFT                      16
952 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_Y_MASK                       0xffff0000
953 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE(x)                                (0x00000380+((x)*16))
954 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE__SIZE                             0x00000002
955 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_W_SHIFT                          0
956 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_W_MASK                           0x0000ffff
957 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_H_SHIFT                          16
958 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_H_MASK                           0xffff0000
959 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC(x)                                     (0x00000384+((x)*16))
960 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC__SIZE                                  0x00000002
961 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_START_SHIFT                           0
962 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_START_MASK                            0x0000ffff
963 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_WIDTH_SHIFT                           16
964 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_WIDTH_MASK                            0x0fff0000
965 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_POLARITY_SHIFT                        28
966 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_POLARITY_MASK                         0xf0000000
967 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC(x)                                     (0x00000388+((x)*16))
968 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC__SIZE                                  0x00000002
969 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_START_SHIFT                           0
970 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_START_MASK                            0x0000ffff
971 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_WIDTH_SHIFT                           16
972 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_WIDTH_MASK                            0x0fff0000
973 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_POLARITY_SHIFT                        28
974 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_POLARITY_MASK                         0xf0000000
975 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE(x)                                (0x0000038c+((x)*16))
976 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE__SIZE                             0x00000002
977 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_WIDTH_SHIFT                      0
978 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_WIDTH_MASK                       0x0000ffff
979 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_HEIGHT_SHIFT                     16
980 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_HEIGHT_MASK                      0x0fff0000
981 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_NOTIFY_SHIFT                     28
982 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_NOTIFY_MASK                      0xf0000000
983 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_PIXEL_CLOCK                                      0x000003a0
984
985
986 #define NV03_TEXTURED_TRIANGLE                                                          0x00000048
987
988 #define  NV03_TEXTURED_TRIANGLE_NOP                                                     0x00000100
989 #define  NV03_TEXTURED_TRIANGLE_NOTIFY                                                  0x00000104
990 #define  NV03_TEXTURED_TRIANGLE_PATCH                                                   0x0000010c
991 #define  NV03_TEXTURED_TRIANGLE_DMA_NOTIFY                                              0x00000180
992 #define  NV03_TEXTURED_TRIANGLE_DMA_TEXTURE                                             0x00000184
993 #define  NV03_TEXTURED_TRIANGLE_CLIP_RECTANGLE                                          0x00000188
994 #define  NV03_TEXTURED_TRIANGLE_SURFACE                                                 0x0000018c
995 #define  NV03_TEXTURED_TRIANGLE_TEXTURE_OFFSET                                          0x00000304
996 #define  NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT                                          0x00000308
997 #define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_MASK_SHIFT                    0
998 #define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_MASK_MASK                     0x0000ffff
999 #define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_ENABLE_SHIFT                  16
1000 #define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_ENABLE_MASK                   0x000f0000
1001 #define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_SHIFT                             20
1002 #define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_MASK                              0x00f00000
1003 #define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MIN_SHIFT                          24
1004 #define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MIN_MASK                           0x0f000000
1005 #define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MAX_SHIFT                          28
1006 #define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MAX_MASK                           0xf0000000
1007 #define  NV03_TEXTURED_TRIANGLE_FILTER                                                  0x0000030c
1008 #define   NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_X_SHIFT                                  0
1009 #define   NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_X_MASK                                   0x0000001f
1010 #define   NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_Y_SHIFT                                  8
1011 #define   NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_Y_MASK                                   0x00001f00
1012 #define   NV03_TEXTURED_TRIANGLE_FILTER_SIZE_ADJUST_SHIFT                               16
1013 #define   NV03_TEXTURED_TRIANGLE_FILTER_SIZE_ADJUST_MASK                                0x00ff0000
1014 #define  NV03_TEXTURED_TRIANGLE_FOG_COLOR                                               0x00000310
1015 #define   NV03_TEXTURED_TRIANGLE_FOG_COLOR_B_SHIFT                                      0
1016 #define   NV03_TEXTURED_TRIANGLE_FOG_COLOR_B_MASK                                       0x000000ff
1017 #define   NV03_TEXTURED_TRIANGLE_FOG_COLOR_G_SHIFT                                      8
1018 #define   NV03_TEXTURED_TRIANGLE_FOG_COLOR_G_MASK                                       0x0000ff00
1019 #define   NV03_TEXTURED_TRIANGLE_FOG_COLOR_R_SHIFT                                      16
1020 #define   NV03_TEXTURED_TRIANGLE_FOG_COLOR_R_MASK                                       0x00ff0000
1021 #define  NV03_TEXTURED_TRIANGLE_CONTROL_OUT                                             0x00000314
1022 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_INTERPOLATOR_SHIFT                         0
1023 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_INTERPOLATOR_MASK                          0x0000000f
1024 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_U_SHIFT                               4
1025 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_U_MASK                                0x00000030
1026 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_V_SHIFT                               6
1027 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_V_MASK                                0x000000c0
1028 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_SOURCE_COLOR_SHIFT                         8
1029 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_SOURCE_COLOR_MASK                          0x00000f00
1030 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_CULLING_SHIFT                              12
1031 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_CULLING_MASK                               0x00007000
1032 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_PERSPECTIVE_ENABLE                       (1 << 15)
1033 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_FUNC_SHIFT                               16
1034 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_FUNC_MASK                                0x000f0000
1035 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_WRITE_ENABLE_SHIFT                       20
1036 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_WRITE_ENABLE_MASK                        0x00f00000
1037 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_COLOR_WRITE_ENABLE_SHIFT                   24
1038 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_COLOR_WRITE_ENABLE_MASK                    0x07000000
1039 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_ROP_SHIFT                                  27
1040 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_ROP_MASK                                   0x18000000
1041 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_BETA                                       (1 << 29)
1042 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_DST_BLEND                                  (1 << 30)
1043 #define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_SRC_BLEND                                  (1 << 31)
1044 #define  NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL                                           0x00000318
1045 #define   NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_SHIFT                          0
1046 #define   NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_MASK                           0x000000ff
1047 #define   NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_SHIFT                         8
1048 #define   NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_MASK                          0xffffff00
1049 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(x)                                    (0x00001000+((x)*32))
1050 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR__SIZE                                 0x00000080
1051 #define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I0_SHIFT                             0
1052 #define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I0_MASK                              0x0000000f
1053 #define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I1_SHIFT                             4
1054 #define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I1_MASK                              0x000000f0
1055 #define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I2_SHIFT                             8
1056 #define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I2_MASK                              0x00000f00
1057 #define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I3_SHIFT                             12
1058 #define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I3_MASK                              0x0000f000
1059 #define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I4_SHIFT                             16
1060 #define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I4_MASK                              0x000f0000
1061 #define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I5_SHIFT                             20
1062 #define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I5_MASK                              0x00f00000
1063 #define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_SHIFT                            24
1064 #define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_MASK                             0xff000000
1065 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_COLOR(x)                                       (0x00001004+((x)*32))
1066 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_COLOR__SIZE                                    0x00000080
1067 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SX(x)                                          (0x00001008+((x)*32))
1068 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SX__SIZE                                       0x00000080
1069 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SY(x)                                          (0x0000100c+((x)*32))
1070 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SY__SIZE                                       0x00000080
1071 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SZ(x)                                          (0x00001010+((x)*32))
1072 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SZ__SIZE                                       0x00000080
1073 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_RHW(x)                                         (0x00001014+((x)*32))
1074 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_RHW__SIZE                                      0x00000080
1075 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_TU(x)                                          (0x00001018+((x)*32))
1076 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_TU__SIZE                                       0x00000080
1077 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_TV(x)                                          (0x0000101c+((x)*32))
1078 #define  NV03_TEXTURED_TRIANGLE_TLVERTEX_TV__SIZE                                       0x00000080
1079
1080
1081 #define NV04_GDI_RECTANGLE_TEXT                                                         0x0000004a
1082
1083 #define  NV04_GDI_RECTANGLE_TEXT_NOP                                                    0x00000100
1084 #define  NV04_GDI_RECTANGLE_TEXT_NOTIFY                                                 0x00000104
1085 #define  NV04_GDI_RECTANGLE_TEXT_PATCH                                                  0x0000010c
1086 #define  NV04_GDI_RECTANGLE_TEXT_PM_TRIGGER                                             0x00000140
1087 #define  NV04_GDI_RECTANGLE_TEXT_DMA_NOTIFY                                             0x00000180
1088 #define  NV04_GDI_RECTANGLE_TEXT_DMA_FONTS                                              0x00000184
1089 #define  NV04_GDI_RECTANGLE_TEXT_PATTERN                                                0x00000188
1090 #define  NV04_GDI_RECTANGLE_TEXT_ROP                                                    0x0000018c
1091 #define  NV04_GDI_RECTANGLE_TEXT_BETA1                                                  0x00000190
1092 #define  NV04_GDI_RECTANGLE_TEXT_BETA4                                                  0x00000194
1093 #define  NV04_GDI_RECTANGLE_TEXT_SURFACE                                                0x00000198
1094 #define  NV04_GDI_RECTANGLE_TEXT_OPERATION                                              0x000002fc
1095 #define   NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY_AND                                 0x00000000
1096 #define   NV04_GDI_RECTANGLE_TEXT_OPERATION_ROP_AND                                     0x00000001
1097 #define   NV04_GDI_RECTANGLE_TEXT_OPERATION_BLEND_AND                                   0x00000002
1098 #define   NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY                                     0x00000003
1099 #define   NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY_PREMULT                             0x00000004
1100 #define   NV04_GDI_RECTANGLE_TEXT_OPERATION_BLEND_PREMULT                               0x00000005
1101 #define  NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT                                           0x00000300
1102 #define   NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A16R5G6B5                                0x00000001
1103 #define   NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_X16A1R5G5B5                              0x00000002
1104 #define   NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A8R8G8B8                                 0x00000003
1105 #define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT                                      0x00000304
1106 #define   NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT_CGA6                                0x00000001
1107 #define   NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT_LE                                  0x00000002
1108 #define  NV04_GDI_RECTANGLE_TEXT_COLOR1_A                                               0x000003fc
1109 #define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT(x)                           (0x00000400+((x)*8))
1110 #define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT__SIZE                        0x00000020
1111 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_SHIFT                     0
1112 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_MASK                      0x0000ffff
1113 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_SHIFT                     16
1114 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_MASK                      0xffff0000
1115 #define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE(x)                            (0x00000404+((x)*8))
1116 #define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE__SIZE                         0x00000020
1117 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_SHIFT                      0
1118 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_MASK                       0x0000ffff
1119 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_SHIFT                      16
1120 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_MASK                       0xffff0000
1121 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0                                          0x000005f4
1122 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_L_SHIFT                                 0
1123 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_L_MASK                                  0x0000ffff
1124 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_T_SHIFT                                 16
1125 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_T_MASK                                  0xffff0000
1126 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1                                          0x000005f8
1127 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_R_SHIFT                                 0
1128 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_R_MASK                                  0x0000ffff
1129 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_B_SHIFT                                 16
1130 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_B_MASK                                  0xffff0000
1131 #define  NV04_GDI_RECTANGLE_TEXT_COLOR1_B                                               0x000005fc
1132 #define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0(x)                           (0x00000600+((x)*8))
1133 #define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0__SIZE                        0x00000020
1134 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_SHIFT                     0
1135 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_MASK                      0x0000ffff
1136 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_SHIFT                     16
1137 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_MASK                      0xffff0000
1138 #define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1(x)                           (0x00000604+((x)*8))
1139 #define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1__SIZE                        0x00000020
1140 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_SHIFT                     0
1141 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_MASK                      0x0000ffff
1142 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_SHIFT                     16
1143 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_MASK                      0xffff0000
1144 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0                                          0x000007ec
1145 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_SHIFT                                 0
1146 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_MASK                                  0x0000ffff
1147 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_SHIFT                                 16
1148 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_MASK                                  0xffff0000
1149 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1                                          0x000007f0
1150 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_SHIFT                                 0
1151 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_MASK                                  0x0000ffff
1152 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_SHIFT                                 16
1153 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_MASK                                  0xffff0000
1154 #define  NV04_GDI_RECTANGLE_TEXT_COLOR1_C                                               0x000007f4
1155 #define  NV04_GDI_RECTANGLE_TEXT_SIZE_C                                                 0x000007f8
1156 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_W_SHIFT                                        0
1157 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_W_MASK                                         0x0000ffff
1158 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_H_SHIFT                                        16
1159 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_H_MASK                                         0xffff0000
1160 #define  NV04_GDI_RECTANGLE_TEXT_POINT_C                                                0x000007fc
1161 #define   NV04_GDI_RECTANGLE_TEXT_POINT_C_X_SHIFT                                       0
1162 #define   NV04_GDI_RECTANGLE_TEXT_POINT_C_X_MASK                                        0x0000ffff
1163 #define   NV04_GDI_RECTANGLE_TEXT_POINT_C_Y_SHIFT                                       16
1164 #define   NV04_GDI_RECTANGLE_TEXT_POINT_C_Y_MASK                                        0xffff0000
1165 #define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C(x)                                 (0x00000800+((x)*4))
1166 #define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C__SIZE                              0x00000080
1167 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0                                          0x00000be4
1168 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_SHIFT                                 0
1169 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_MASK                                  0x0000ffff
1170 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_SHIFT                                 16
1171 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_MASK                                  0xffff0000
1172 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1                                          0x00000be8
1173 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_SHIFT                                 0
1174 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_MASK                                  0x0000ffff
1175 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_SHIFT                                 16
1176 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_MASK                                  0xffff0000
1177 #define  NV04_GDI_RECTANGLE_TEXT_COLOR0_E                                               0x00000bec
1178 #define  NV04_GDI_RECTANGLE_TEXT_COLOR1_E                                               0x00000bf0
1179 #define  NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E                                              0x00000bf4
1180 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_SHIFT                                     0
1181 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_MASK                                      0x0000ffff
1182 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_SHIFT                                     16
1183 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_MASK                                      0xffff0000
1184 #define  NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E                                             0x00000bf8
1185 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_SHIFT                                    0
1186 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_MASK                                     0x0000ffff
1187 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_SHIFT                                    16
1188 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_MASK                                     0xffff0000
1189 #define  NV04_GDI_RECTANGLE_TEXT_POINT_E                                                0x00000bfc
1190 #define   NV04_GDI_RECTANGLE_TEXT_POINT_E_X_SHIFT                                       0
1191 #define   NV04_GDI_RECTANGLE_TEXT_POINT_E_X_MASK                                        0x0000ffff
1192 #define   NV04_GDI_RECTANGLE_TEXT_POINT_E_Y_SHIFT                                       16
1193 #define   NV04_GDI_RECTANGLE_TEXT_POINT_E_Y_MASK                                        0xffff0000
1194 #define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E(x)                                (0x00000c00+((x)*4))
1195 #define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E__SIZE                             0x00000080
1196 #define  NV04_GDI_RECTANGLE_TEXT_FONT_F                                                 0x00000ff0
1197 #define   NV04_GDI_RECTANGLE_TEXT_FONT_F_OFFSET_SHIFT                                   0
1198 #define   NV04_GDI_RECTANGLE_TEXT_FONT_F_OFFSET_MASK                                    0x0fffffff
1199 #define   NV04_GDI_RECTANGLE_TEXT_FONT_F_PITCH_SHIFT                                    28
1200 #define   NV04_GDI_RECTANGLE_TEXT_FONT_F_PITCH_MASK                                     0xf0000000
1201 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0                                          0x00000ff4
1202 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_L_SHIFT                                 0
1203 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_L_MASK                                  0x0000ffff
1204 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_T_SHIFT                                 16
1205 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_T_MASK                                  0xffff0000
1206 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1                                          0x00000ff8
1207 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_R_SHIFT                                 0
1208 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_R_MASK                                  0x0000ffff
1209 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_B_SHIFT                                 16
1210 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_B_MASK                                  0xffff0000
1211 #define  NV04_GDI_RECTANGLE_TEXT_COLOR1_F                                               0x00000ffc
1212 #define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F(x)                                  (0x00001000+((x)*4))
1213 #define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F__SIZE                               0x00000100
1214 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_INDEX_SHIFT                        0
1215 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_INDEX_MASK                         0x000000ff
1216 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_X_SHIFT                            8
1217 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_X_MASK                             0x000fff00
1218 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_Y_SHIFT                            20
1219 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_Y_MASK                             0xfff00000
1220 #define  NV04_GDI_RECTANGLE_TEXT_FONT_G                                                 0x000017f0
1221 #define   NV04_GDI_RECTANGLE_TEXT_FONT_G_OFFSET_SHIFT                                   0
1222 #define   NV04_GDI_RECTANGLE_TEXT_FONT_G_OFFSET_MASK                                    0x0fffffff
1223 #define   NV04_GDI_RECTANGLE_TEXT_FONT_G_PITCH_SHIFT                                    28
1224 #define   NV04_GDI_RECTANGLE_TEXT_FONT_G_PITCH_MASK                                     0xf0000000
1225 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0                                          0x000017f4
1226 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_L_SHIFT                                 0
1227 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_L_MASK                                  0x0000ffff
1228 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_T_SHIFT                                 16
1229 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_T_MASK                                  0xffff0000
1230 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1                                          0x000017f8
1231 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_R_SHIFT                                 0
1232 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_R_MASK                                  0x0000ffff
1233 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_B_SHIFT                                 16
1234 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_B_MASK                                  0xffff0000
1235 #define  NV04_GDI_RECTANGLE_TEXT_COLOR1_G                                               0x000017fc
1236 #define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT(x)                            (0x00001800+((x)*8))
1237 #define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT__SIZE                         0x00000100
1238 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_X_SHIFT                      0
1239 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_X_MASK                       0x0000ffff
1240 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_Y_SHIFT                      16
1241 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_Y_MASK                       0xffff0000
1242 #define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_INDEX(x)                            (0x00001804+((x)*8))
1243 #define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_INDEX__SIZE                         0x00000100
1244
1245
1246 #define NV03_GDI_RECTANGLE_TEXT                                                         0x0000004b
1247
1248 #define  NV03_GDI_RECTANGLE_TEXT_NOP                                                    0x00000100
1249 #define  NV03_GDI_RECTANGLE_TEXT_NOTIFY                                                 0x00000104
1250 #define  NV03_GDI_RECTANGLE_TEXT_DMA_NOTIFY                                             0x00000180
1251 #define  NV03_GDI_RECTANGLE_TEXT_PATTERN                                                0x00000184
1252 #define  NV03_GDI_RECTANGLE_TEXT_ROP                                                    0x00000188
1253 #define  NV03_GDI_RECTANGLE_TEXT_BETA1                                                  0x0000018c
1254 #define  NV03_GDI_RECTANGLE_TEXT_SURFACE                                                0x00000190
1255 #define  NV03_GDI_RECTANGLE_TEXT_OPERATION                                              0x000002fc
1256 #define  NV03_GDI_RECTANGLE_TEXT_COLOR_FORMAT                                           0x00000300
1257 #define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT                                      0x00000304
1258 #define  NV03_GDI_RECTANGLE_TEXT_COLOR1_A                                               0x000003fc
1259 #define  NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT                              0x00000400
1260 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_SHIFT                     0
1261 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_MASK                      0x0000ffff
1262 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_SHIFT                     16
1263 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_MASK                      0xffff0000
1264 #define  NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE                               0x00000404
1265 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_SHIFT                      0
1266 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_MASK                       0x0000ffff
1267 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_SHIFT                      16
1268 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_MASK                       0xffff0000
1269 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B                                          0x000007f4
1270 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_L_SHIFT                                 0
1271 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_L_MASK                                  0x0000ffff
1272 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_T_SHIFT                                 16
1273 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_T_MASK                                  0xffff0000
1274 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B                                          0x000007f8
1275 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_R_SHIFT                                 0
1276 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_R_MASK                                  0x0000ffff
1277 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_B_SHIFT                                 16
1278 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_B_MASK                                  0xffff0000
1279 #define  NV03_GDI_RECTANGLE_TEXT_COLOR1_B                                               0x000007fc
1280 #define  NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0                              0x00000800
1281 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_SHIFT                     0
1282 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_MASK                      0x0000ffff
1283 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_SHIFT                     16
1284 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_MASK                      0xffff0000
1285 #define  NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1                              0x00000804
1286 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_SHIFT                     0
1287 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_MASK                      0x0000ffff
1288 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_SHIFT                     16
1289 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_MASK                      0xffff0000
1290 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0                                          0x00000bec
1291 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_SHIFT                                 0
1292 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_MASK                                  0x0000ffff
1293 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_SHIFT                                 16
1294 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_MASK                                  0xffff0000
1295 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1                                          0x00000bf0
1296 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_SHIFT                                 0
1297 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_MASK                                  0x0000ffff
1298 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_SHIFT                                 16
1299 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_MASK                                  0xffff0000
1300 #define  NV03_GDI_RECTANGLE_TEXT_COLOR1_C                                               0x00000bf4
1301 #define  NV03_GDI_RECTANGLE_TEXT_SIZE_C                                                 0x00000bf8
1302 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_W_SHIFT                                        0
1303 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_W_MASK                                         0x0000ffff
1304 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_H_SHIFT                                        16
1305 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_H_MASK                                         0xffff0000
1306 #define  NV03_GDI_RECTANGLE_TEXT_POINT_C                                                0x00000bfc
1307 #define   NV03_GDI_RECTANGLE_TEXT_POINT_C_X_SHIFT                                       0
1308 #define   NV03_GDI_RECTANGLE_TEXT_POINT_C_X_MASK                                        0x0000ffff
1309 #define   NV03_GDI_RECTANGLE_TEXT_POINT_C_Y_SHIFT                                       16
1310 #define   NV03_GDI_RECTANGLE_TEXT_POINT_C_Y_MASK                                        0xffff0000
1311 #define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C(x)                                 (0x00000c00+((x)*4))
1312 #define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C__SIZE                              0x00000020
1313 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0                                          0x00000fe8
1314 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_L_SHIFT                                 0
1315 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_L_MASK                                  0x0000ffff
1316 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_T_SHIFT                                 16
1317 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_T_MASK                                  0xffff0000
1318 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1                                          0x00000fec
1319 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_R_SHIFT                                 0
1320 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_R_MASK                                  0x0000ffff
1321 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_B_SHIFT                                 16
1322 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_B_MASK                                  0xffff0000
1323 #define  NV03_GDI_RECTANGLE_TEXT_COLOR1_D                                               0x00000ff0
1324 #define  NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D                                              0x00000ff4
1325 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_W_SHIFT                                     0
1326 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_W_MASK                                      0x0000ffff
1327 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_H_SHIFT                                     16
1328 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_H_MASK                                      0xffff0000
1329 #define  NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D                                             0x00000ff8
1330 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_W_SHIFT                                    0
1331 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_W_MASK                                     0x0000ffff
1332 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_H_SHIFT                                    16
1333 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_H_MASK                                     0xffff0000
1334 #define  NV03_GDI_RECTANGLE_TEXT_POINT_D                                                0x00000ffc
1335 #define   NV03_GDI_RECTANGLE_TEXT_POINT_D_X_SHIFT                                       0
1336 #define   NV03_GDI_RECTANGLE_TEXT_POINT_D_X_MASK                                        0x0000ffff
1337 #define   NV03_GDI_RECTANGLE_TEXT_POINT_D_Y_SHIFT                                       16
1338 #define   NV03_GDI_RECTANGLE_TEXT_POINT_D_Y_MASK                                        0xffff0000
1339 #define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_D(x)                                 (0x00001000+((x)*4))
1340 #define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_D__SIZE                              0x00000020
1341 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0                                          0x000013e4
1342 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_SHIFT                                 0
1343 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_MASK                                  0x0000ffff
1344 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_SHIFT                                 16
1345 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_MASK                                  0xffff0000
1346 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1                                          0x000013e8
1347 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_SHIFT                                 0
1348 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_MASK                                  0x0000ffff
1349 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_SHIFT                                 16
1350 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_MASK                                  0xffff0000
1351 #define  NV03_GDI_RECTANGLE_TEXT_COLOR0_E                                               0x000013ec
1352 #define  NV03_GDI_RECTANGLE_TEXT_COLOR1_E                                               0x000013f0
1353 #define  NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E                                              0x000013f4
1354 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_SHIFT                                     0
1355 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_MASK                                      0x0000ffff
1356 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_SHIFT                                     16
1357 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_MASK                                      0xffff0000
1358 #define  NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E                                             0x000013f8
1359 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_SHIFT                                    0
1360 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_MASK                                     0x0000ffff
1361 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_SHIFT                                    16
1362 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_MASK                                     0xffff0000
1363 #define  NV03_GDI_RECTANGLE_TEXT_POINT_E                                                0x000013fc
1364 #define   NV03_GDI_RECTANGLE_TEXT_POINT_E_X_SHIFT                                       0
1365 #define   NV03_GDI_RECTANGLE_TEXT_POINT_E_X_MASK                                        0x0000ffff
1366 #define   NV03_GDI_RECTANGLE_TEXT_POINT_E_Y_SHIFT                                       16
1367 #define   NV03_GDI_RECTANGLE_TEXT_POINT_E_Y_MASK                                        0xffff0000
1368 #define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E(x)                                (0x00001400+((x)*4))
1369 #define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E__SIZE                             0x00000020
1370
1371
1372 #define NV04_SWIZZLED_SURFACE                                                           0x00000052
1373
1374 #define  NV04_SWIZZLED_SURFACE_NOP                                                      0x00000100
1375 #define  NV04_SWIZZLED_SURFACE_NOTIFY                                                   0x00000104
1376 #define  NV04_SWIZZLED_SURFACE_DMA_NOTIFY                                               0x00000180
1377 #define  NV04_SWIZZLED_SURFACE_DMA_IMAGE                                                0x00000184
1378 #define  NV04_SWIZZLED_SURFACE_FORMAT                                                   0x00000300
1379 #define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_SHIFT                                      0
1380 #define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_MASK                                       0x000000ff
1381 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y8                                        0x00000001
1382 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5                         0x00000002
1383 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1R5G5B5_X1R5G5B5                         0x00000003
1384 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_R5G6B5                                    0x00000004
1385 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y16                                       0x00000005
1386 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8                         0x00000006
1387 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X8R8G8B8_X8R8G8B8                         0x00000007
1388 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8                     0x00000008
1389 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8                     0x00000009
1390 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_A8R8G8B8                                  0x0000000a
1391 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y32                                       0x0000000b
1392 #define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_SHIFT                                16
1393 #define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_MASK                                 0x00ff0000
1394 #define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_V_SHIFT                                24
1395 #define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_V_MASK                                 0xff000000
1396 #define  NV04_SWIZZLED_SURFACE_OFFSET                                                   0x00000304
1397
1398
1399 #define NV20_SWIZZLED_SURFACE                                                           0x0000009e
1400
1401
1402
1403 #define NV30_SWIZZLED_SURFACE                                                           0x0000039e
1404
1405
1406
1407 #define NV40_SWIZZLED_SURFACE                                                           0x0000309e
1408
1409
1410
1411 #define NV04_CONTEXT_SURFACES_3D                                                        0x00000053
1412
1413 #define  NV04_CONTEXT_SURFACES_3D_NOP                                                   0x00000100
1414 #define  NV04_CONTEXT_SURFACES_3D_NOTIFY                                                0x00000104
1415 #define  NV04_CONTEXT_SURFACES_3D_DMA_NOTIFY                                            0x00000180
1416 #define  NV04_CONTEXT_SURFACES_3D_DMA_COLOR                                             0x00000184
1417 #define  NV04_CONTEXT_SURFACES_3D_DMA_ZETA                                              0x00000188
1418 #define  NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL                                       0x000002f8
1419 #define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X_SHIFT                              0
1420 #define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X_MASK                               0x0000ffff
1421 #define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W_SHIFT                              16
1422 #define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W_MASK                               0xffff0000
1423 #define  NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL                                         0x000002fc
1424 #define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y_SHIFT                                0
1425 #define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y_MASK                                 0x0000ffff
1426 #define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H_SHIFT                                16
1427 #define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H_MASK                                 0xffff0000
1428 #define  NV04_CONTEXT_SURFACES_3D_FORMAT                                                0x00000300
1429 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_SHIFT                                   0
1430 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_MASK                                    0x000000ff
1431 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5                      0x00000001
1432 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_X1R5G5B5                      0x00000002
1433 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_R5G6B5                                 0x00000003
1434 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8                      0x00000004
1435 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_X8R8G8B8                      0x00000005
1436 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8                  0x00000006
1437 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8                  0x00000007
1438 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_A8R8G8B8                               0x00000008
1439 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SHIFT                                    8
1440 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_MASK                                     0x0000ff00
1441 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_PITCH                                   0x00000100
1442 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SWIZZLE                                 0x00000200
1443 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U_SHIFT                             16
1444 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U_MASK                              0x00ff0000
1445 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V_SHIFT                             24
1446 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V_MASK                              0xff000000
1447 #define  NV04_CONTEXT_SURFACES_3D_CLIP_SIZE                                             0x00000304
1448 #define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W_SHIFT                                    0
1449 #define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W_MASK                                     0x0000ffff
1450 #define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H_SHIFT                                    16
1451 #define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H_MASK                                     0xffff0000
1452 #define  NV04_CONTEXT_SURFACES_3D_PITCH                                                 0x00000308
1453 #define   NV04_CONTEXT_SURFACES_3D_PITCH_COLOR_SHIFT                                    0
1454 #define   NV04_CONTEXT_SURFACES_3D_PITCH_COLOR_MASK                                     0x0000ffff
1455 #define   NV04_CONTEXT_SURFACES_3D_PITCH_ZETA_SHIFT                                     16
1456 #define   NV04_CONTEXT_SURFACES_3D_PITCH_ZETA_MASK                                      0xffff0000
1457 #define  NV04_CONTEXT_SURFACES_3D_OFFSET_COLOR                                          0x0000030c
1458 #define  NV04_CONTEXT_SURFACES_3D_OFFSET_ZETA                                           0x00000310
1459
1460
1461 #define NV10_CONTEXT_SURFACES_3D                                                        0x00000093
1462
1463
1464
1465 #define NV04_TEXTURED_TRIANGLE                                                          0x00000054
1466
1467 #define  NV04_TEXTURED_TRIANGLE_NOP                                                     0x00000100
1468 #define  NV04_TEXTURED_TRIANGLE_NOTIFY                                                  0x00000104
1469 #define  NV04_TEXTURED_TRIANGLE_DMA_NOTIFY                                              0x00000180
1470 #define  NV04_TEXTURED_TRIANGLE_DMA_A                                                   0x00000184
1471 #define  NV04_TEXTURED_TRIANGLE_DMA_B                                                   0x00000188
1472 #define  NV04_TEXTURED_TRIANGLE_SURFACE                                                 0x0000018c
1473 #define  NV04_TEXTURED_TRIANGLE_COLORKEY                                                0x00000300
1474 #define  NV04_TEXTURED_TRIANGLE_OFFSET                                                  0x00000304
1475 #define  NV04_TEXTURED_TRIANGLE_FORMAT                                                  0x00000308
1476 #define   NV04_TEXTURED_TRIANGLE_FORMAT_DMA_A                                           (1 <<  0)
1477 #define   NV04_TEXTURED_TRIANGLE_FORMAT_DMA_B                                           (1 <<  1)
1478 #define   NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_MATCH_SHIFT                           2
1479 #define   NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_MATCH_MASK                            0x0000000c
1480 #define   NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_SHIFT                                4
1481 #define   NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_MASK                                 0x00000030
1482 #define    NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CENTER                              0x00000010
1483 #define    NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CORNER                              0x00000020
1484 #define   NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_SHIFT                                6
1485 #define   NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_MASK                                 0x000000c0
1486 #define    NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CENTER                              0x00000040
1487 #define    NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CORNER                              0x00000080
1488 #define   NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_SHIFT                                     8
1489 #define   NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_MASK                                      0x00000f00
1490 #define    NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_Y8                                       0x00000100
1491 #define    NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A1R5G5B5                                 0x00000200
1492 #define    NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_X1R5G5B5                                 0x00000300
1493 #define    NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A4R4G4B4                                 0x00000400
1494 #define    NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_R5G6B5                                   0x00000500
1495 #define    NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A8R8G8B8                                 0x00000600
1496 #define    NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_X8R8G8B8                                 0x00000700
1497 #define   NV04_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS_SHIFT                             12
1498 #define   NV04_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS_MASK                              0x0000f000
1499 #define   NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U_SHIFT                               16
1500 #define   NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U_MASK                                0x000f0000
1501 #define   NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V_SHIFT                               20
1502 #define   NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V_MASK                                0x00f00000
1503 #define   NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_SHIFT                                  24
1504 #define   NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MASK                                   0x07000000
1505 #define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_REPEAT                                0x01000000
1506 #define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MIRRORED_REPEAT                       0x02000000
1507 #define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_EDGE                         0x03000000
1508 #define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_BORDER                       0x04000000
1509 #define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP                                 0x05000000
1510 #define   NV04_TEXTURED_TRIANGLE_FORMAT_WRAPU                                           (1 << 27)
1511 #define   NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_SHIFT                                  28
1512 #define   NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MASK                                   0x70000000
1513 #define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_REPEAT                                0x10000000
1514 #define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MIRRORED_REPEAT                       0x20000000
1515 #define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_EDGE                         0x30000000
1516 #define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_BORDER                       0x40000000
1517 #define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP                                 0x50000000
1518 #define   NV04_TEXTURED_TRIANGLE_FORMAT_WRAPV                                           (1 << 31)
1519 #define  NV04_TEXTURED_TRIANGLE_FILTER                                                  0x0000030c
1520 #define   NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X_SHIFT                             0
1521 #define   NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X_MASK                              0x000000ff
1522 #define   NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y_SHIFT                             8
1523 #define   NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y_MASK                              0x00007f00
1524 #define   NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE                            (1 << 15)
1525 #define   NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS_SHIFT                            16
1526 #define   NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS_MASK                             0x00ff0000
1527 #define   NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_SHIFT                                    24
1528 #define   NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_MASK                                     0x07000000
1529 #define    NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST                                 0x01000000
1530 #define    NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR                                  0x02000000
1531 #define    NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST                  0x03000000
1532 #define    NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST                   0x04000000
1533 #define    NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR                   0x05000000
1534 #define    NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR                    0x06000000
1535 #define   NV04_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE                       (1 << 27)
1536 #define   NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_SHIFT                                   28
1537 #define   NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_MASK                                    0x70000000
1538 #define    NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST                                0x10000000
1539 #define    NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR                                 0x20000000
1540 #define   NV04_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE                      (1 << 31)
1541 #define  NV04_TEXTURED_TRIANGLE_BLEND                                                   0x00000310
1542 #define   NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_SHIFT                                0
1543 #define   NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MASK                                 0x0000000f
1544 #define   NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT_SHIFT                                   4
1545 #define   NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT_MASK                                    0x00000030
1546 #define   NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_SHIFT                                 6
1547 #define   NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_MASK                                  0x000000c0
1548 #define    NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_FLAT                                 0x00000040
1549 #define    NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_GOURAUD                              0x00000080
1550 #define    NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_PHONG                                0x000000c0
1551 #define   NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE                       (1 <<  8)
1552 #define   NV04_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE                                  (1 << 12)
1553 #define   NV04_TEXTURED_TRIANGLE_BLEND_FOG_ENABLE                                       (1 << 16)
1554 #define   NV04_TEXTURED_TRIANGLE_BLEND_BLEND_ENABLE                                     (1 << 20)
1555 #define   NV04_TEXTURED_TRIANGLE_BLEND_SRC_SHIFT                                        24
1556 #define   NV04_TEXTURED_TRIANGLE_BLEND_SRC_MASK                                         0x0f000000
1557 #define   NV04_TEXTURED_TRIANGLE_BLEND_DST_SHIFT                                        28
1558 #define   NV04_TEXTURED_TRIANGLE_BLEND_DST_MASK                                         0xf0000000
1559 #define  NV04_TEXTURED_TRIANGLE_CONTROL                                                 0x00000314
1560 #define   NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF_SHIFT                                0
1561 #define   NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF_MASK                                 0x000000ff
1562 #define   NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_SHIFT                               8
1563 #define   NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_MASK                                0x00000f00
1564 #define   NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_ENABLE                                   (1 << 12)
1565 #define   NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN                                         (1 << 13)
1566 #define   NV04_TEXTURED_TRIANGLE_CONTROL_Z_ENABLE                                       (1 << 14)
1567 #define   NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_SHIFT                                   16
1568 #define   NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_MASK                                    0x000f0000
1569 #define   NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_SHIFT                                20
1570 #define   NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_MASK                                 0x00300000
1571 #define    NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_BOTH                                0x00000000
1572 #define    NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_NONE                                0x00100000
1573 #define    NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_CW                                  0x00200000
1574 #define    NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_CCW                                 0x00300000
1575 #define   NV04_TEXTURED_TRIANGLE_CONTROL_DITHER_ENABLE                                  (1 << 22)
1576 #define   NV04_TEXTURED_TRIANGLE_CONTROL_Z_PERSPECTIVE_ENABLE                           (1 << 23)
1577 #define   NV04_TEXTURED_TRIANGLE_CONTROL_Z_WRITE                                        (1 << 24)
1578 #define   NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_SHIFT                                 30
1579 #define   NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_MASK                                  0xc0000000
1580 #define  NV04_TEXTURED_TRIANGLE_FOGCOLOR                                                0x00000318
1581 #define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_B_SHIFT                                       0
1582 #define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_B_MASK                                        0x000000ff
1583 #define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_G_SHIFT                                       8
1584 #define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_G_MASK                                        0x0000ff00
1585 #define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_R_SHIFT                                       16
1586 #define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_R_MASK                                        0x00ff0000
1587 #define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_A_SHIFT                                       24
1588 #define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_A_MASK                                        0xff000000
1589 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SX(x)                                          (0x00000400+((x)*32))
1590 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SX__SIZE                                       0x00000010
1591 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SY(x)                                          (0x00000404+((x)*32))
1592 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SY__SIZE                                       0x00000010
1593 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SZ(x)                                          (0x00000408+((x)*32))
1594 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SZ__SIZE                                       0x00000010
1595 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_RHW(x)                                         (0x0000040c+((x)*32))
1596 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_RHW__SIZE                                      0x00000010
1597 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR(x)                                       (0x00000410+((x)*32))
1598 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR__SIZE                                    0x00000010
1599 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B_SHIFT                                 0
1600 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B_MASK                                  0x000000ff
1601 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G_SHIFT                                 8
1602 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G_MASK                                  0x0000ff00
1603 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R_SHIFT                                 16
1604 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R_MASK                                  0x00ff0000
1605 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A_SHIFT                                 24
1606 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A_MASK                                  0xff000000
1607 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(x)                                    (0x00000414+((x)*32))
1608 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR__SIZE                                 0x00000010
1609 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B_SHIFT                              0
1610 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B_MASK                               0x000000ff
1611 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G_SHIFT                              8
1612 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G_MASK                               0x0000ff00
1613 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R_SHIFT                              16
1614 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R_MASK                               0x00ff0000
1615 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_SHIFT                            24
1616 #define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_MASK                             0xff000000
1617 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_TU(x)                                          (0x00000418+((x)*32))
1618 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_TU__SIZE                                       0x00000010
1619 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_TV(x)                                          (0x0000041c+((x)*32))
1620 #define  NV04_TEXTURED_TRIANGLE_TLVERTEX_TV__SIZE                                       0x00000010
1621 #define  NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE(x)                                        (0x00000600+((x)*4))
1622 #define  NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE__SIZE                                     0x00000040
1623 #define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I0_SHIFT                                 0
1624 #define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I0_MASK                                  0x0000000f
1625 #define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I1_SHIFT                                 4
1626 #define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I1_MASK                                  0x000000f0
1627 #define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I2_SHIFT                                 8
1628 #define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I2_MASK                                  0x00000f00
1629 #define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I3_SHIFT                                 12
1630 #define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I3_MASK                                  0x0000f000
1631 #define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I4_SHIFT                                 16
1632 #define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I4_MASK                                  0x000f0000
1633 #define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I5_SHIFT                                 20
1634 #define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I5_MASK                                  0x00f00000
1635
1636
1637 #define NV10_TEXTURED_TRIANGLE                                                          0x00000094
1638
1639
1640
1641 #define NV04_MULTITEX_TRIANGLE                                                          0x00000055
1642
1643 #define  NV04_MULTITEX_TRIANGLE_NOP                                                     0x00000100
1644 #define  NV04_MULTITEX_TRIANGLE_NOTIFY                                                  0x00000104
1645 #define  NV04_MULTITEX_TRIANGLE_DMA_NOTIFY                                              0x00000180
1646 #define  NV04_MULTITEX_TRIANGLE_DMA_A                                                   0x00000184
1647 #define  NV04_MULTITEX_TRIANGLE_DMA_B                                                   0x00000188
1648 #define  NV04_MULTITEX_TRIANGLE_SURFACE                                                 0x0000018c
1649 #define  NV04_MULTITEX_TRIANGLE_OFFSET(x)                                               (0x00000308+((x)*4))
1650 #define  NV04_MULTITEX_TRIANGLE_OFFSET__SIZE                                            0x00000002
1651 #define  NV04_MULTITEX_TRIANGLE_FORMAT(x)                                               (0x00000310+((x)*4))
1652 #define  NV04_MULTITEX_TRIANGLE_FORMAT__SIZE                                            0x00000002
1653 #define   NV04_MULTITEX_TRIANGLE_FORMAT_DMA_A                                           (1 <<  0)
1654 #define   NV04_MULTITEX_TRIANGLE_FORMAT_DMA_B                                           (1 <<  1)
1655 #define   NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_SHIFT                                4
1656 #define   NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_MASK                                 0x00000030
1657 #define   NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_SHIFT                                6
1658 #define   NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_MASK                                 0x000000c0
1659 #define   NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_SHIFT                                     8
1660 #define   NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_MASK                                      0x00000f00
1661 #define   NV04_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS_SHIFT                             12
1662 #define   NV04_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS_MASK                              0x0000f000
1663 #define   NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U_SHIFT                               16
1664 #define   NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U_MASK                                0x000f0000
1665 #define   NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V_SHIFT                               20
1666 #define   NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V_MASK                                0x00f00000
1667 #define   NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_SHIFT                                  24
1668 #define   NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_MASK                                   0x07000000
1669 #define   NV04_MULTITEX_TRIANGLE_FORMAT_WRAPU                                           (1 << 27)
1670 #define   NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_SHIFT                                  28
1671 #define   NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_MASK                                   0x70000000
1672 #define   NV04_MULTITEX_TRIANGLE_FORMAT_WRAPV                                           (1 << 31)
1673 #define  NV04_MULTITEX_TRIANGLE_FILTER(x)                                               (0x00000318+((x)*4))
1674 #define  NV04_MULTITEX_TRIANGLE_FILTER__SIZE                                            0x00000002
1675 #define   NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X_SHIFT                             0
1676 #define   NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X_MASK                              0x000000ff
1677 #define   NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y_SHIFT                             8
1678 #define   NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y_MASK                              0x00007f00
1679 #define   NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE                            (1 << 15)
1680 #define   NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS_SHIFT                            16
1681 #define   NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS_MASK                             0x00ff0000
1682 #define   NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_SHIFT                                    24
1683 #define   NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_MASK                                     0x07000000
1684 #define   NV04_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE                       (1 << 27)
1685 #define   NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY_SHIFT                                   28
1686 #define   NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY_MASK                                    0x70000000
1687 #define   NV04_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE                      (1 << 31)
1688 #define  NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA(x)                                        (0x00000320+((x)*12))
1689 #define  NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA__SIZE                                     0x00000002
1690 #define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE0                                 (1 <<  0)
1691 #define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_SHIFT                          2
1692 #define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_MASK                           0x000000fc
1693 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_ZERO                          0x00000004
1694 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_CONSTANT                      0x00000008
1695 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_PRIMARY_COLOR                 0x0000000c
1696 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_PREVIOUS                      0x00000010
1697 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURE0                      0x00000014
1698 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURE1                      0x00000018
1699 #define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE1                                 (1 <<  8)
1700 #define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_SHIFT                          10
1701 #define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_MASK                           0x0000fc00
1702 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_ZERO                          0x00000400
1703 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_CONSTANT                      0x00000800
1704 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_PRIMARY_COLOR                 0x00000c00
1705 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_PREVIOUS                      0x00001000
1706 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURE0                      0x00001400
1707 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURE1                      0x00001800
1708 #define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE2                                 (1 << 16)
1709 #define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_SHIFT                          18
1710 #define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_MASK                           0x00fc0000
1711 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_ZERO                          0x00040000
1712 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_CONSTANT                      0x00080000
1713 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_PRIMARY_COLOR                 0x000c0000
1714 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_PREVIOUS                      0x00100000
1715 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURE0                      0x00140000
1716 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURE1                      0x00180000
1717 #define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE3                                 (1 << 24)
1718 #define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_SHIFT                          26
1719 #define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_MASK                           0x1c000000
1720 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_ZERO                          0x04000000
1721 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_CONSTANT                      0x08000000
1722 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_PRIMARY_COLOR                 0x0c000000
1723 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_PREVIOUS                      0x10000000
1724 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURE0                      0x14000000
1725 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURE1                      0x18000000
1726 #define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SHIFT                                29
1727 #define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_MASK                                 0xe0000000
1728 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_IDENTITY                            0x20000000
1729 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SCALE2                              0x40000000
1730 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SCALE4                              0x60000000
1731 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_BIAS                                0x80000000
1732 #define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_BIAS_SCALE2                         0xe0000000
1733 #define  NV04_MULTITEX_TRIANGLE_COMBINE_COLOR(x)                                        (0x00000324+((x)*12))
1734 #define  NV04_MULTITEX_TRIANGLE_COMBINE_COLOR__SIZE                                     0x00000002
1735 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE0                                 (1 <<  0)
1736 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA0                                   (1 <<  1)
1737 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_SHIFT                          2
1738 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_MASK                           0x000000fc
1739 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_ZERO                          0x00000004
1740 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_CONSTANT                      0x00000008
1741 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_PRIMARY_COLOR                 0x0000000c
1742 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_PREVIOUS                      0x00000010
1743 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURE0                      0x00000014
1744 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURE1                      0x00000018
1745 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE1                                 (1 <<  8)
1746 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA1                                   (1 <<  9)
1747 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_SHIFT                          10
1748 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_MASK                           0x0000fc00
1749 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_ZERO                          0x00000400
1750 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_CONSTANT                      0x00000800
1751 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_PRIMARY_COLOR                 0x00000c00
1752 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_PREVIOUS                      0x00001000
1753 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURE0                      0x00001400
1754 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURE1                      0x00001800
1755 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE2                                 (1 << 16)
1756 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA2                                   (1 << 17)
1757 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_SHIFT                          18
1758 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_MASK                           0x00fc0000
1759 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_ZERO                          0x00040000
1760 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_CONSTANT                      0x00080000
1761 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_PRIMARY_COLOR                 0x000c0000
1762 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_PREVIOUS                      0x00100000
1763 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURE0                      0x00140000
1764 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURE1                      0x00180000
1765 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE3                                 (1 << 24)
1766 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA3                                   (1 << 25)
1767 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_SHIFT                          26
1768 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_MASK                           0x1c000000
1769 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_ZERO                          0x04000000
1770 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_CONSTANT                      0x08000000
1771 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_PRIMARY_COLOR                 0x0c000000
1772 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_PREVIOUS                      0x10000000
1773 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURE0                      0x14000000
1774 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURE1                      0x18000000
1775 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SHIFT                                29
1776 #define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_MASK                                 0xe0000000
1777 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_IDENTITY                            0x20000000
1778 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SCALE2                              0x40000000
1779 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SCALE4                              0x60000000
1780 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_BIAS                                0x80000000
1781 #define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_BIAS_SCALE2                         0xe0000000
1782 #define  NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR                                          0x00000334
1783 #define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_B_SHIFT                                 0
1784 #define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_B_MASK                                  0x000000ff
1785 #define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_G_SHIFT                                 8
1786 #define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_G_MASK                                  0x0000ff00
1787 #define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_R_SHIFT                                 16
1788 #define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_R_MASK                                  0x00ff0000
1789 #define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_A_SHIFT                                 24
1790 #define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_A_MASK                                  0xff000000
1791 #define  NV04_MULTITEX_TRIANGLE_BLEND                                                   0x00000338
1792 #define   NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT_SHIFT                                   4
1793 #define   NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT_MASK                                    0x00000030
1794 #define   NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_SHIFT                                 6
1795 #define   NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_MASK                                  0x000000c0
1796 #define    NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_FLAT                                 0x00000040
1797 #define    NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_GOURAUD                              0x00000080
1798 #define    NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_PHONG                                0x000000c0
1799 #define   NV04_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE                       (1 <<  8)
1800 #define   NV04_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE                                  (1 << 12)
1801 #define   NV04_MULTITEX_TRIANGLE_BLEND_FOG_ENABLE                                       (1 << 16)
1802 #define   NV04_MULTITEX_TRIANGLE_BLEND_BLEND_ENABLE                                     (1 << 20)
1803 #define   NV04_MULTITEX_TRIANGLE_BLEND_SRC_SHIFT                                        24
1804 #define   NV04_MULTITEX_TRIANGLE_BLEND_SRC_MASK                                         0x0f000000
1805 #define   NV04_MULTITEX_TRIANGLE_BLEND_DST_SHIFT                                        28
1806 #define   NV04_MULTITEX_TRIANGLE_BLEND_DST_MASK                                         0xf0000000
1807 #define  NV04_MULTITEX_TRIANGLE_CONTROL0                                                0x0000033c
1808 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF_SHIFT                               0
1809 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF_MASK                                0x000000ff
1810 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_SHIFT                              8
1811 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_MASK                               0x00000f00
1812 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_ENABLE                                  (1 << 12)
1813 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN                                        (1 << 13)
1814 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_Z_ENABLE                                      (1 << 14)
1815 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_SHIFT                                  16
1816 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_MASK                                   0x000f0000
1817 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_SHIFT                               20
1818 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_MASK                                0x00300000
1819 #define    NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_BOTH                               0x00000000
1820 #define    NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_NONE                               0x00100000
1821 #define    NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_CW                                 0x00200000
1822 #define    NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_CCW                                0x00300000
1823 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_DITHER_ENABLE                                 (1 << 22)
1824 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_Z_PERSPECTIVE_ENABLE                          (1 << 23)
1825 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_Z_WRITE                                       (1 << 24)
1826 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_STENCIL_WRITE                                 (1 << 25)
1827 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_WRITE                                   (1 << 26)
1828 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_RED_WRITE                                     (1 << 27)
1829 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_GREEN_WRITE                                   (1 << 28)
1830 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_BLUE_WRITE                                    (1 << 29)
1831 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_SHIFT                                30
1832 #define   NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_MASK                                 0xc0000000
1833 #define  NV04_MULTITEX_TRIANGLE_CONTROL1                                                0x00000340
1834 #define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_ENABLE                                (1 <<  0)
1835 #define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC_SHIFT                            4
1836 #define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC_MASK                             0x000000f0
1837 #define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF_SHIFT                             8
1838 #define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF_MASK                              0x0000ff00
1839 #define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ_SHIFT                       16
1840 #define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ_MASK                        0x00ff0000
1841 #define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE_SHIFT                      24
1842 #define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE_MASK                       0xff000000
1843 #define  NV04_MULTITEX_TRIANGLE_CONTROL2                                                0x00000344
1844 #define   NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL_SHIFT                         0
1845 #define   NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL_MASK                          0x0000000f
1846 #define   NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL_SHIFT                        4
1847 #define   NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL_MASK                         0x000000f0
1848 #define   NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS_SHIFT                        8
1849 #define   NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS_MASK                         0x00000f00
1850 #define  NV04_MULTITEX_TRIANGLE_FOGCOLOR                                                0x00000348
1851 #define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_B_SHIFT                                       0
1852 #define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_B_MASK                                        0x000000ff
1853 #define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_G_SHIFT                                       8
1854 #define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_G_MASK                                        0x0000ff00
1855 #define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_R_SHIFT                                       16
1856 #define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_R_MASK                                        0x00ff0000
1857 #define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_A_SHIFT                                       24
1858 #define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_A_MASK                                        0xff000000
1859 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SX(x)                                        (0x00000400+((x)*40))
1860 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SX__SIZE                                     0x00000008
1861 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SY(x)                                        (0x00000404+((x)*40))
1862 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SY__SIZE                                     0x00000008
1863 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SZ(x)                                        (0x00000408+((x)*40))
1864 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SZ__SIZE                                     0x00000008
1865 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_RHW(x)                                       (0x0000040c+((x)*40))
1866 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_RHW__SIZE                                    0x00000008
1867 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR(x)                                     (0x00000410+((x)*40))
1868 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR__SIZE                                  0x00000008
1869 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B_SHIFT                               0
1870 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B_MASK                                0x000000ff
1871 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G_SHIFT                               8
1872 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G_MASK                                0x0000ff00
1873 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R_SHIFT                               16
1874 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R_MASK                                0x00ff0000
1875 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A_SHIFT                               24
1876 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A_MASK                                0xff000000
1877 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR(x)                                  (0x00000414+((x)*40))
1878 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR__SIZE                               0x00000008
1879 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B_SHIFT                            0
1880 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B_MASK                             0x000000ff
1881 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G_SHIFT                            8
1882 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G_MASK                             0x0000ff00
1883 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R_SHIFT                            16
1884 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R_MASK                             0x00ff0000
1885 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG_SHIFT                          24
1886 #define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG_MASK                           0xff000000
1887 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU0(x)                                       (0x00000418+((x)*40))
1888 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU0__SIZE                                    0x00000008
1889 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV0(x)                                       (0x0000041c+((x)*40))
1890 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV0__SIZE                                    0x00000008
1891 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU1(x)                                       (0x00000420+((x)*40))
1892 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU1__SIZE                                    0x00000008
1893 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV1(x)                                       (0x00000424+((x)*40))
1894 #define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV1__SIZE                                    0x00000008
1895 #define  NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE(x)                                        (0x00000540+((x)*4))
1896 #define  NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE__SIZE                                     0x00000030
1897 #define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I0_SHIFT                                 0
1898 #define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I0_MASK                                  0x0000000f
1899 #define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I1_SHIFT                                 4
1900 #define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I1_MASK                                  0x000000f0
1901 #define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I2_SHIFT                                 8
1902 #define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I2_MASK                                  0x00000f00
1903 #define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I3_SHIFT                                 12
1904 #define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I3_MASK                                  0x0000f000
1905 #define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I4_SHIFT                                 16
1906 #define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I4_MASK                                  0x000f0000
1907 #define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I5_SHIFT                                 20
1908 #define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I5_MASK                                  0x00f00000
1909
1910
1911 #define NV10_MULTITEX_TRIANGLE                                                          0x00000095
1912
1913
1914
1915 #define NV10TCL                                                                         0x00000056
1916
1917 #define  NV10TCL_NOP                                                                    0x00000100
1918 #define  NV10TCL_NOTIFY                                                                 0x00000104
1919 #define  NV10TCL_DMA_NOTIFY                                                             0x00000180
1920 #define  NV10TCL_DMA_IN_MEMORY0                                                         0x00000184
1921 #define  NV10TCL_DMA_IN_MEMORY1                                                         0x00000188
1922 #define  NV10TCL_DMA_VTXBUF0                                                            0x0000018c
1923 #define  NV10TCL_DMA_IN_MEMORY2                                                         0x00000194
1924 #define  NV10TCL_DMA_IN_MEMORY3                                                         0x00000198
1925 #define  NV10TCL_RT_HORIZ                                                               0x00000200
1926 #define   NV10TCL_RT_HORIZ_X_SHIFT                                                      0
1927 #define   NV10TCL_RT_HORIZ_X_MASK                                                       0x0000ffff
1928 #define   NV10TCL_RT_HORIZ_W_SHIFT                                                      16
1929 #define   NV10TCL_RT_HORIZ_W_MASK                                                       0xffff0000
1930 #define  NV10TCL_RT_VERT                                                                0x00000204
1931 #define   NV10TCL_RT_VERT_Y_SHIFT                                                       0
1932 #define   NV10TCL_RT_VERT_Y_MASK                                                        0x0000ffff
1933 #define   NV10TCL_RT_VERT_H_SHIFT                                                       16
1934 #define   NV10TCL_RT_VERT_H_MASK                                                        0xffff0000
1935 #define  NV10TCL_RT_FORMAT                                                              0x00000208
1936 #define   NV10TCL_RT_FORMAT_TYPE_SHIFT                                                  8
1937 #define   NV10TCL_RT_FORMAT_TYPE_MASK                                                   0x00000f00
1938 #define    NV10TCL_RT_FORMAT_TYPE_LINEAR                                                0x00000100
1939 #define    NV10TCL_RT_FORMAT_TYPE_SWIZZLED                                              0x00000200
1940 #define   NV10TCL_RT_FORMAT_COLOR_SHIFT                                                 0
1941 #define   NV10TCL_RT_FORMAT_COLOR_MASK                                                  0x0000001f
1942 #define    NV10TCL_RT_FORMAT_COLOR_R5G6B5                                               0x00000003
1943 #define    NV10TCL_RT_FORMAT_COLOR_X8R8G8B8                                             0x00000005
1944 #define    NV10TCL_RT_FORMAT_COLOR_A8R8G8B8                                             0x00000008
1945 #define    NV10TCL_RT_FORMAT_COLOR_B8                                                   0x00000009
1946 #define    NV10TCL_RT_FORMAT_COLOR_UNKNOWN                                              0x0000000d
1947 #define    NV10TCL_RT_FORMAT_COLOR_X8B8G8R8                                             0x0000000f
1948 #define    NV10TCL_RT_FORMAT_COLOR_A8B8G8R8                                             0x00000010
1949 #define  NV10TCL_RT_PITCH                                                               0x0000020c
1950 #define   NV10TCL_RT_PITCH_COLOR_PITCH_SHIFT                                            0
1951 #define   NV10TCL_RT_PITCH_COLOR_PITCH_MASK                                             0x0000ffff
1952 #define   NV10TCL_RT_PITCH_ZETA_PITCH_SHIFT                                             16
1953 #define   NV10TCL_RT_PITCH_ZETA_PITCH_MASK                                              0xffff0000
1954 #define  NV10TCL_COLOR_OFFSET                                                           0x00000210
1955 #define  NV10TCL_ZETA_OFFSET                                                            0x00000214
1956 #define  NV10TCL_TX_OFFSET(x)                                                           (0x00000218+((x)*4))
1957 #define  NV10TCL_TX_OFFSET__SIZE                                                        0x00000002
1958 #define  NV10TCL_TX_FORMAT(x)                                                           (0x00000220+((x)*4))
1959 #define  NV10TCL_TX_FORMAT__SIZE                                                        0x00000002
1960 #define   NV10TCL_TX_FORMAT_DMA0                                                        (1 <<  0)
1961 #define   NV10TCL_TX_FORMAT_DMA1                                                        (1 <<  1)
1962 #define   NV10TCL_TX_FORMAT_CUBE_MAP                                                    (1 <<  2)
1963 #define   NV10TCL_TX_FORMAT_FORMAT_SHIFT                                                7
1964 #define   NV10TCL_TX_FORMAT_FORMAT_MASK                                                 0x00000f80
1965 #define    NV10TCL_TX_FORMAT_FORMAT_L8                                                  0x00000000
1966 #define    NV10TCL_TX_FORMAT_FORMAT_A8                                                  0x00000080
1967 #define    NV10TCL_TX_FORMAT_FORMAT_A1R5G5B5                                            0x00000100
1968 #define    NV10TCL_TX_FORMAT_FORMAT_A4R4G4B4                                            0x00000200
1969 #define    NV10TCL_TX_FORMAT_FORMAT_R5G6B5                                              0x00000280
1970 #define    NV10TCL_TX_FORMAT_FORMAT_A8R8G8B8                                            0x00000300
1971 #define    NV10TCL_TX_FORMAT_FORMAT_X8R8G8B8                                            0x00000380
1972 #define    NV10TCL_TX_FORMAT_FORMAT_INDEX8                                              0x00000580
1973 #define    NV10TCL_TX_FORMAT_FORMAT_DXT1                                                0x00000600
1974 #define    NV10TCL_TX_FORMAT_FORMAT_DXT3                                                0x00000700
1975 #define    NV10TCL_TX_FORMAT_FORMAT_DXT5                                                0x00000780
1976 #define    NV10TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT                                       0x00000800
1977 #define    NV10TCL_TX_FORMAT_FORMAT_R5G6B5_RECT                                         0x00000880
1978 #define    NV10TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT                                       0x00000900
1979 #define    NV10TCL_TX_FORMAT_FORMAT_A8_RECT                                             0x00000980
1980 #define   NV10TCL_TX_FORMAT_MIPMAP                                                      (1 << 15)
1981 #define   NV10TCL_TX_FORMAT_BASE_SIZE_U_SHIFT                                           16
1982 #define   NV10TCL_TX_FORMAT_BASE_SIZE_U_MASK                                            0x000f0000
1983 #define   NV10TCL_TX_FORMAT_BASE_SIZE_V_SHIFT                                           20
1984 #define   NV10TCL_TX_FORMAT_BASE_SIZE_V_MASK                                            0x00f00000
1985 #define   NV10TCL_TX_FORMAT_WRAP_S_SHIFT                                                24
1986 #define   NV10TCL_TX_FORMAT_WRAP_S_MASK                                                 0x0f000000
1987 #define    NV10TCL_TX_FORMAT_WRAP_S_REPEAT                                              0x01000000
1988 #define    NV10TCL_TX_FORMAT_WRAP_S_MIRRORED_REPEAT                                     0x02000000
1989 #define    NV10TCL_TX_FORMAT_WRAP_S_CLAMP_TO_EDGE                                       0x03000000
1990 #define    NV10TCL_TX_FORMAT_WRAP_S_CLAMP_TO_BORDER                                     0x04000000
1991 #define    NV10TCL_TX_FORMAT_WRAP_S_CLAMP                                               0x05000000
1992 #define   NV10TCL_TX_FORMAT_WRAP_T_SHIFT                                                28
1993 #define   NV10TCL_TX_FORMAT_WRAP_T_MASK                                                 0xf0000000
1994 #define    NV10TCL_TX_FORMAT_WRAP_T_REPEAT                                              0x10000000
1995 #define    NV10TCL_TX_FORMAT_WRAP_T_MIRRORED_REPEAT                                     0x20000000
1996 #define    NV10TCL_TX_FORMAT_WRAP_T_CLAMP_TO_EDGE                                       0x30000000
1997 #define    NV10TCL_TX_FORMAT_WRAP_T_CLAMP_TO_BORDER                                     0x40000000
1998 #define    NV10TCL_TX_FORMAT_WRAP_T_CLAMP                                               0x50000000
1999 #define  NV10TCL_TX_ENABLE(x)                                                           (0x00000228+((x)*4))
2000 #define  NV10TCL_TX_ENABLE__SIZE                                                        0x00000002
2001 #define   NV10TCL_TX_ENABLE_CULL_SHIFT                                                  0
2002 #define   NV10TCL_TX_ENABLE_CULL_MASK                                                   0x0000000f
2003 #define    NV10TCL_TX_ENABLE_CULL_DISABLED                                              0x00000000
2004 #define    NV10TCL_TX_ENABLE_CULL_TEST_ALL                                              0x00000003
2005 #define    NV10TCL_TX_ENABLE_CULL_TEST_ALPHA                                            0x00000004
2006 #define   NV10TCL_TX_ENABLE_ANISOTROPY_SHIFT                                            4
2007 #define   NV10TCL_TX_ENABLE_ANISOTROPY_MASK                                             0x00000030
2008 #define   NV10TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT                                        14
2009 #define   NV10TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK                                         0x0003c000
2010 #define   NV10TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT                                        26
2011 #define   NV10TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK                                         0x3c000000
2012 #define   NV10TCL_TX_ENABLE_ENABLE                                                      (1 << 30)
2013 #define  NV10TCL_TX_NPOT_PITCH(x)                                                       (0x00000230+((x)*4))
2014 #define  NV10TCL_TX_NPOT_PITCH__SIZE                                                    0x00000002
2015 #define   NV10TCL_TX_NPOT_PITCH_PITCH_SHIFT                                             16
2016 #define   NV10TCL_TX_NPOT_PITCH_PITCH_MASK                                              0xffff0000
2017 #define  NV10TCL_TX_NPOT_SIZE(x)                                                        (0x00000240+((x)*4))
2018 #define  NV10TCL_TX_NPOT_SIZE__SIZE                                                     0x00000002
2019 #define   NV10TCL_TX_NPOT_SIZE_H_SHIFT                                                  0
2020 #define   NV10TCL_TX_NPOT_SIZE_H_MASK                                                   0x0000ffff
2021 #define   NV10TCL_TX_NPOT_SIZE_W_SHIFT                                                  16
2022 #define   NV10TCL_TX_NPOT_SIZE_W_MASK                                                   0xffff0000
2023 #define  NV10TCL_TX_FILTER(x)                                                           (0x00000248+((x)*4))
2024 #define  NV10TCL_TX_FILTER__SIZE                                                        0x00000002
2025 #define   NV10TCL_TX_FILTER_LOD_BIAS_SHIFT                                              8
2026 #define   NV10TCL_TX_FILTER_LOD_BIAS_MASK                                               0x00000f00
2027 #define   NV10TCL_TX_FILTER_MINIFY_SHIFT                                                24
2028 #define   NV10TCL_TX_FILTER_MINIFY_MASK                                                 0x0f000000
2029 #define    NV10TCL_TX_FILTER_MINIFY_NEAREST                                             0x01000000
2030 #define    NV10TCL_TX_FILTER_MINIFY_LINEAR                                              0x02000000
2031 #define    NV10TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST                              0x03000000
2032 #define    NV10TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST                               0x04000000
2033 #define    NV10TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR                               0x05000000
2034 #define    NV10TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR                                0x06000000
2035 #define   NV10TCL_TX_FILTER_MAGNIFY_SHIFT                                               28
2036 #define   NV10TCL_TX_FILTER_MAGNIFY_MASK                                                0xf0000000
2037 #define    NV10TCL_TX_FILTER_MAGNIFY_NEAREST                                            0x10000000
2038 #define    NV10TCL_TX_FILTER_MAGNIFY_LINEAR                                             0x20000000
2039 #define  NV10TCL_TX_PALETTE_OFFSET(x)                                                   (0x00000250+((x)*4))
2040 #define  NV10TCL_TX_PALETTE_OFFSET__SIZE                                                0x00000002
2041 #define  NV10TCL_RC_IN_ALPHA(x)                                                         (0x00000260+((x)*4))
2042 #define  NV10TCL_RC_IN_ALPHA__SIZE                                                      0x00000002
2043 #define   NV10TCL_RC_IN_ALPHA_D_INPUT_SHIFT                                             0
2044 #define   NV10TCL_RC_IN_ALPHA_D_INPUT_MASK                                              0x0000000f
2045 #define    NV10TCL_RC_IN_ALPHA_D_INPUT_ZERO                                             0x00000000
2046 #define    NV10TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0                                  0x00000001
2047 #define    NV10TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1                                  0x00000002
2048 #define    NV10TCL_RC_IN_ALPHA_D_INPUT_FOG                                              0x00000003
2049 #define    NV10TCL_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR                                    0x00000004
2050 #define    NV10TCL_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR                                  0x00000005
2051 #define    NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE0                                         0x00000008
2052 #define    NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE1                                         0x00000009
2053 #define    NV10TCL_RC_IN_ALPHA_D_INPUT_SPARE0                                           0x0000000c
2054 #define    NV10TCL_RC_IN_ALPHA_D_INPUT_SPARE1                                           0x0000000d
2055 #define    NV10TCL_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR                      0x0000000e
2056 #define    NV10TCL_RC_IN_ALPHA_D_INPUT_E_TIMES_F                                        0x0000000f
2057 #define    NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE2                                         0x0000000a
2058 #define    NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE3                                         0x0000000b
2059 #define   NV10TCL_RC_IN_ALPHA_D_COMPONENT_USAGE                                         (1 <<  4)
2060 #define    NV10TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE                                   0x00000000
2061 #define    NV10TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA                                  0x00000010
2062 #define   NV10TCL_RC_IN_ALPHA_D_MAPPING_SHIFT                                           5
2063 #define   NV10TCL_RC_IN_ALPHA_D_MAPPING_MASK                                            0x000000e0
2064 #define    NV10TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY                              0x00000000
2065 #define    NV10TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT                                0x00000020
2066 #define    NV10TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL                                  0x00000040
2067 #define    NV10TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE                                  0x00000060
2068 #define    NV10TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL                               0x00000080
2069 #define    NV10TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE                               0x000000a0
2070 #define    NV10TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY                                0x000000c0
2071 #define    NV10TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE                                  0x000000e0
2072 #define   NV10TCL_RC_IN_ALPHA_C_INPUT_SHIFT                                             8
2073 #define   NV10TCL_RC_IN_ALPHA_C_INPUT_MASK                                              0x00000f00
2074 #define    NV10TCL_RC_IN_ALPHA_C_INPUT_ZERO                                             0x00000000
2075 #define    NV10TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0                                  0x00000100
2076 #define    NV10TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1                                  0x00000200
2077 #define    NV10TCL_RC_IN_ALPHA_C_INPUT_FOG                                              0x00000300
2078 #define    NV10TCL_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR                                    0x00000400
2079 #define    NV10TCL_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR                                  0x00000500
2080 #define    NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE0                                         0x00000800
2081 #define    NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE1                                         0x00000900
2082 #define    NV10TCL_RC_IN_ALPHA_C_INPUT_SPARE0                                           0x00000c00
2083 #define    NV10TCL_RC_IN_ALPHA_C_INPUT_SPARE1                                           0x00000d00
2084 #define    NV10TCL_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR                      0x00000e00
2085 #define    NV10TCL_RC_IN_ALPHA_C_INPUT_E_TIMES_F                                        0x00000f00
2086 #define    NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE2                                         0x00000a00
2087 #define    NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE3                                         0x00000b00
2088 #define   NV10TCL_RC_IN_ALPHA_C_COMPONENT_USAGE                                         (1 << 12)
2089 #define    NV10TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE                                   0x00000000
2090 #define    NV10TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA                                  0x00001000
2091 #define   NV10TCL_RC_IN_ALPHA_C_MAPPING_SHIFT                                           13
2092 #define   NV10TCL_RC_IN_ALPHA_C_MAPPING_MASK                                            0x0000e000
2093 #define    NV10TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY                              0x00000000
2094 #define    NV10TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT                                0x00002000
2095 #define    NV10TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL                                  0x00004000
2096 #define    NV10TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE                                  0x00006000
2097 #define    NV10TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL                               0x00008000
2098 #define    NV10TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE                               0x0000a000
2099 #define    NV10TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY                                0x0000c000
2100 #define    NV10TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE                                  0x0000e000
2101 #define   NV10TCL_RC_IN_ALPHA_B_INPUT_SHIFT                                             16
2102 #define   NV10TCL_RC_IN_ALPHA_B_INPUT_MASK                                              0x000f0000
2103 #define    NV10TCL_RC_IN_ALPHA_B_INPUT_ZERO                                             0x00000000
2104 #define    NV10TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0                                  0x00010000
2105 #define    NV10TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1                                  0x00020000
2106 #define    NV10TCL_RC_IN_ALPHA_B_INPUT_FOG                                              0x00030000
2107 #define    NV10TCL_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR                                    0x00040000
2108 #define    NV10TCL_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR                                  0x00050000
2109 #define    NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE0                                         0x00080000
2110 #define    NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE1                                         0x00090000
2111 #define    NV10TCL_RC_IN_ALPHA_B_INPUT_SPARE0                                           0x000c0000
2112 #define    NV10TCL_RC_IN_ALPHA_B_INPUT_SPARE1                                           0x000d0000
2113 #define    NV10TCL_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR                      0x000e0000
2114 #define    NV10TCL_RC_IN_ALPHA_B_INPUT_E_TIMES_F                                        0x000f0000
2115 #define    NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE2                                         0x000a0000
2116 #define    NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE3                                         0x000b0000
2117 #define   NV10TCL_RC_IN_ALPHA_B_COMPONENT_USAGE                                         (1 << 20)
2118 #define    NV10TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE                                   0x00000000
2119 #define    NV10TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA                                  0x00100000
2120 #define   NV10TCL_RC_IN_ALPHA_B_MAPPING_SHIFT                                           21
2121 #define   NV10TCL_RC_IN_ALPHA_B_MAPPING_MASK                                            0x00e00000
2122 #define    NV10TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY                              0x00000000
2123 #define    NV10TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT                                0x00200000
2124 #define    NV10TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL                                  0x00400000
2125 #define    NV10TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE                                  0x00600000
2126 #define    NV10TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL                               0x00800000
2127 #define    NV10TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE                               0x00a00000
2128 #define    NV10TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY                                0x00c00000
2129 #define    NV10TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE                                  0x00e00000
2130 #define   NV10TCL_RC_IN_ALPHA_A_INPUT_SHIFT                                             24
2131 #define   NV10TCL_RC_IN_ALPHA_A_INPUT_MASK                                              0x0f000000
2132 #define    NV10TCL_RC_IN_ALPHA_A_INPUT_ZERO                                             0x00000000
2133 #define    NV10TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0                                  0x01000000
2134 #define    NV10TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1                                  0x02000000
2135 #define    NV10TCL_RC_IN_ALPHA_A_INPUT_FOG                                              0x03000000
2136 #define    NV10TCL_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR                                    0x04000000
2137 #define    NV10TCL_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR                                  0x05000000
2138 #define    NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE0                                         0x08000000
2139 #define    NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE1                                         0x09000000
2140 #define    NV10TCL_RC_IN_ALPHA_A_INPUT_SPARE0                                           0x0c000000
2141 #define    NV10TCL_RC_IN_ALPHA_A_INPUT_SPARE1                                           0x0d000000
2142 #define    NV10TCL_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR                      0x0e000000
2143 #define    NV10TCL_RC_IN_ALPHA_A_INPUT_E_TIMES_F                                        0x0f000000
2144 #define    NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE2                                         0x0a000000
2145 #define    NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE3                                         0x0b000000
2146 #define   NV10TCL_RC_IN_ALPHA_A_COMPONENT_USAGE                                         (1 << 28)
2147 #define    NV10TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE                                   0x00000000
2148 #define    NV10TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA                                  0x10000000
2149 #define   NV10TCL_RC_IN_ALPHA_A_MAPPING_SHIFT                                           29
2150 #define   NV10TCL_RC_IN_ALPHA_A_MAPPING_MASK                                            0xe0000000
2151 #define    NV10TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY                              0x00000000
2152 #define    NV10TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT                                0x20000000
2153 #define    NV10TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL                                  0x40000000
2154 #define    NV10TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE                                  0x60000000
2155 #define    NV10TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL                               0x80000000
2156 #define    NV10TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE                               0xa0000000
2157 #define    NV10TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY                                0xc0000000
2158 #define    NV10TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE                                  0xe0000000
2159 #define  NV10TCL_RC_IN_RGB(x)                                                           (0x00000268+((x)*4))
2160 #define  NV10TCL_RC_IN_RGB__SIZE                                                        0x00000002
2161 #define   NV10TCL_RC_IN_RGB_D_INPUT_SHIFT                                               0
2162 #define   NV10TCL_RC_IN_RGB_D_INPUT_MASK                                                0x0000000f
2163 #define    NV10TCL_RC_IN_RGB_D_INPUT_ZERO                                               0x00000000
2164 #define    NV10TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0                                    0x00000001
2165 #define    NV10TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1                                    0x00000002
2166 #define    NV10TCL_RC_IN_RGB_D_INPUT_FOG                                                0x00000003
2167 #define    NV10TCL_RC_IN_RGB_D_INPUT_PRIMARY_COLOR                                      0x00000004
2168 #define    NV10TCL_RC_IN_RGB_D_INPUT_SECONDARY_COLOR                                    0x00000005
2169 #define    NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE0                                           0x00000008
2170 #define    NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE1                                           0x00000009
2171 #define    NV10TCL_RC_IN_RGB_D_INPUT_SPARE0                                             0x0000000c
2172 #define    NV10TCL_RC_IN_RGB_D_INPUT_SPARE1                                             0x0000000d
2173 #define    NV10TCL_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0000000e
2174 #define    NV10TCL_RC_IN_RGB_D_INPUT_E_TIMES_F                                          0x0000000f
2175 #define    NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE2                                           0x0000000a
2176 #define    NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE3                                           0x0000000b
2177 #define   NV10TCL_RC_IN_RGB_D_COMPONENT_USAGE                                           (1 <<  4)
2178 #define    NV10TCL_RC_IN_RGB_D_COMPONENT_USAGE_RGB                                      0x00000000
2179 #define    NV10TCL_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA                                    0x00000010
2180 #define   NV10TCL_RC_IN_RGB_D_MAPPING_SHIFT                                             5
2181 #define   NV10TCL_RC_IN_RGB_D_MAPPING_MASK                                              0x000000e0
2182 #define    NV10TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY                                0x00000000
2183 #define    NV10TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT                                  0x00000020
2184 #define    NV10TCL_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL                                    0x00000040
2185 #define    NV10TCL_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE                                    0x00000060
2186 #define    NV10TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL                                 0x00000080
2187 #define    NV10TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE                                 0x000000a0
2188 #define    NV10TCL_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY                                  0x000000c0
2189 #define    NV10TCL_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE                                    0x000000e0
2190 #define   NV10TCL_RC_IN_RGB_C_INPUT_SHIFT                                               8
2191 #define   NV10TCL_RC_IN_RGB_C_INPUT_MASK                                                0x00000f00
2192 #define    NV10TCL_RC_IN_RGB_C_INPUT_ZERO                                               0x00000000
2193 #define    NV10TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0                                    0x00000100
2194 #define    NV10TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1                                    0x00000200
2195 #define    NV10TCL_RC_IN_RGB_C_INPUT_FOG                                                0x00000300
2196 #define    NV10TCL_RC_IN_RGB_C_INPUT_PRIMARY_COLOR                                      0x00000400
2197 #define    NV10TCL_RC_IN_RGB_C_INPUT_SECONDARY_COLOR                                    0x00000500
2198 #define    NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE0                                           0x00000800
2199 #define    NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE1                                           0x00000900
2200 #define    NV10TCL_RC_IN_RGB_C_INPUT_SPARE0                                             0x00000c00
2201 #define    NV10TCL_RC_IN_RGB_C_INPUT_SPARE1                                             0x00000d00
2202 #define    NV10TCL_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x00000e00
2203 #define    NV10TCL_RC_IN_RGB_C_INPUT_E_TIMES_F                                          0x00000f00
2204 #define    NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE2                                           0x00000a00
2205 #define    NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE3                                           0x00000b00
2206 #define   NV10TCL_RC_IN_RGB_C_COMPONENT_USAGE                                           (1 << 12)
2207 #define    NV10TCL_RC_IN_RGB_C_COMPONENT_USAGE_RGB                                      0x00000000
2208 #define    NV10TCL_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA                                    0x00001000
2209 #define   NV10TCL_RC_IN_RGB_C_MAPPING_SHIFT                                             13
2210 #define   NV10TCL_RC_IN_RGB_C_MAPPING_MASK                                              0x0000e000
2211 #define    NV10TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY                                0x00000000
2212 #define    NV10TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT                                  0x00002000
2213 #define    NV10TCL_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL                                    0x00004000
2214 #define    NV10TCL_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE                                    0x00006000
2215 #define    NV10TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL                                 0x00008000
2216 #define    NV10TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE                                 0x0000a000
2217 #define    NV10TCL_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY                                  0x0000c000
2218 #define    NV10TCL_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE                                    0x0000e000
2219 #define   NV10TCL_RC_IN_RGB_B_INPUT_SHIFT                                               16
2220 #define   NV10TCL_RC_IN_RGB_B_INPUT_MASK                                                0x000f0000
2221 #define    NV10TCL_RC_IN_RGB_B_INPUT_ZERO                                               0x00000000
2222 #define    NV10TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0                                    0x00010000
2223 #define    NV10TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1                                    0x00020000
2224 #define    NV10TCL_RC_IN_RGB_B_INPUT_FOG                                                0x00030000
2225 #define    NV10TCL_RC_IN_RGB_B_INPUT_PRIMARY_COLOR                                      0x00040000
2226 #define    NV10TCL_RC_IN_RGB_B_INPUT_SECONDARY_COLOR                                    0x00050000
2227 #define    NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE0                                           0x00080000
2228 #define    NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE1                                           0x00090000
2229 #define    NV10TCL_RC_IN_RGB_B_INPUT_SPARE0                                             0x000c0000
2230 #define    NV10TCL_RC_IN_RGB_B_INPUT_SPARE1                                             0x000d0000
2231 #define    NV10TCL_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x000e0000
2232 #define    NV10TCL_RC_IN_RGB_B_INPUT_E_TIMES_F                                          0x000f0000
2233 #define    NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE2                                           0x000a0000
2234 #define    NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE3                                           0x000b0000
2235 #define   NV10TCL_RC_IN_RGB_B_COMPONENT_USAGE                                           (1 << 20)
2236 #define    NV10TCL_RC_IN_RGB_B_COMPONENT_USAGE_RGB                                      0x00000000
2237 #define    NV10TCL_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA                                    0x00100000
2238 #define   NV10TCL_RC_IN_RGB_B_MAPPING_SHIFT                                             21
2239 #define   NV10TCL_RC_IN_RGB_B_MAPPING_MASK                                              0x00e00000
2240 #define    NV10TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY                                0x00000000
2241 #define    NV10TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT                                  0x00200000
2242 #define    NV10TCL_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL                                    0x00400000
2243 #define    NV10TCL_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE                                    0x00600000
2244 #define    NV10TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL                                 0x00800000
2245 #define    NV10TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE                                 0x00a00000
2246 #define    NV10TCL_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY                                  0x00c00000
2247 #define    NV10TCL_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE                                    0x00e00000
2248 #define   NV10TCL_RC_IN_RGB_A_INPUT_SHIFT                                               24
2249 #define   NV10TCL_RC_IN_RGB_A_INPUT_MASK                                                0x0f000000
2250 #define    NV10TCL_RC_IN_RGB_A_INPUT_ZERO                                               0x00000000
2251 #define    NV10TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0                                    0x01000000
2252 #define    NV10TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1                                    0x02000000
2253 #define    NV10TCL_RC_IN_RGB_A_INPUT_FOG                                                0x03000000
2254 #define    NV10TCL_RC_IN_RGB_A_INPUT_PRIMARY_COLOR                                      0x04000000
2255 #define    NV10TCL_RC_IN_RGB_A_INPUT_SECONDARY_COLOR                                    0x05000000
2256 #define    NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE0                                           0x08000000
2257 #define    NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE1                                           0x09000000
2258 #define    NV10TCL_RC_IN_RGB_A_INPUT_SPARE0                                             0x0c000000
2259 #define    NV10TCL_RC_IN_RGB_A_INPUT_SPARE1                                             0x0d000000
2260 #define    NV10TCL_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0e000000
2261 #define    NV10TCL_RC_IN_RGB_A_INPUT_E_TIMES_F                                          0x0f000000
2262 #define    NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE2                                           0x0a000000
2263 #define    NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE3                                           0x0b000000
2264 #define   NV10TCL_RC_IN_RGB_A_COMPONENT_USAGE                                           (1 << 28)
2265 #define    NV10TCL_RC_IN_RGB_A_COMPONENT_USAGE_RGB                                      0x00000000
2266 #define    NV10TCL_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA                                    0x10000000
2267 #define   NV10TCL_RC_IN_RGB_A_MAPPING_SHIFT                                             29
2268 #define   NV10TCL_RC_IN_RGB_A_MAPPING_MASK                                              0xe0000000
2269 #define    NV10TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY                                0x00000000
2270 #define    NV10TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT                                  0x20000000
2271 #define    NV10TCL_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL                                    0x40000000
2272 #define    NV10TCL_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE                                    0x60000000
2273 #define    NV10TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL                                 0x80000000
2274 #define    NV10TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE                                 0xa0000000
2275 #define    NV10TCL_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY                                  0xc0000000
2276 #define    NV10TCL_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE                                    0xe0000000
2277 #define  NV10TCL_RC_COLOR(x)                                                            (0x00000270+((x)*4))
2278 #define  NV10TCL_RC_COLOR__SIZE                                                         0x00000002
2279 #define   NV10TCL_RC_COLOR_B_SHIFT                                                      0
2280 #define   NV10TCL_RC_COLOR_B_MASK                                                       0x000000ff
2281 #define   NV10TCL_RC_COLOR_G_SHIFT                                                      8
2282 #define   NV10TCL_RC_COLOR_G_MASK                                                       0x0000ff00
2283 #define   NV10TCL_RC_COLOR_R_SHIFT                                                      16
2284 #define   NV10TCL_RC_COLOR_R_MASK                                                       0x00ff0000
2285 #define   NV10TCL_RC_COLOR_A_SHIFT                                                      24
2286 #define   NV10TCL_RC_COLOR_A_MASK                                                       0xff000000
2287 #define  NV10TCL_RC_OUT_ALPHA(x)                                                        (0x00000278+((x)*4))
2288 #define  NV10TCL_RC_OUT_ALPHA__SIZE                                                     0x00000002
2289 #define   NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SHIFT                                          0
2290 #define   NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_MASK                                           0x0000000f
2291 #define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_ZERO                                          0x00000000
2292 #define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0                               0x00000001
2293 #define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1                               0x00000002
2294 #define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_FOG                                           0x00000003
2295 #define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR                                 0x00000004
2296 #define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR                               0x00000005
2297 #define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0                                      0x00000008
2298 #define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1                                      0x00000009
2299 #define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0                                        0x0000000c
2300 #define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE1                                        0x0000000d
2301 #define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                   0x0000000e
2302 #define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F                                     0x0000000f
2303 #define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2                                      0x0000000a
2304 #define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3                                      0x0000000b
2305 #define   NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SHIFT                                          4
2306 #define   NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_MASK                                           0x000000f0
2307 #define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_ZERO                                          0x00000000
2308 #define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0                               0x00000010
2309 #define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1                               0x00000020
2310 #define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_FOG                                           0x00000030
2311 #define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR                                 0x00000040
2312 #define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR                               0x00000050
2313 #define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0                                      0x00000080
2314 #define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1                                      0x00000090
2315 #define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0                                        0x000000c0
2316 #define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE1                                        0x000000d0
2317 #define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                   0x000000e0
2318 #define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F                                     0x000000f0
2319 #define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2                                      0x000000a0
2320 #define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3                                      0x000000b0
2321 #define   NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT                                         8
2322 #define   NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_MASK                                          0x00000f00
2323 #define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_ZERO                                         0x00000000
2324 #define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0                              0x00000100
2325 #define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1                              0x00000200
2326 #define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_FOG                                          0x00000300
2327 #define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR                                0x00000400
2328 #define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR                              0x00000500
2329 #define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0                                     0x00000800
2330 #define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1                                     0x00000900
2331 #define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0                                       0x00000c00
2332 #define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1                                       0x00000d00
2333 #define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                  0x00000e00
2334 #define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F                                    0x00000f00
2335 #define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2                                     0x00000a00
2336 #define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3                                     0x00000b00
2337 #define   NV10TCL_RC_OUT_ALPHA_CD_DOT_PRODUCT                                           (1 << 12)
2338 #define   NV10TCL_RC_OUT_ALPHA_AB_DOT_PRODUCT                                           (1 << 13)
2339 #define   NV10TCL_RC_OUT_ALPHA_MUX_SUM                                                  (1 << 14)
2340 #define   NV10TCL_RC_OUT_ALPHA_BIAS                                                     (1 << 15)
2341 #define    NV10TCL_RC_OUT_ALPHA_BIAS_NONE                                               0x00000000
2342 #define    NV10TCL_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF                          0x00008000
2343 #define   NV10TCL_RC_OUT_ALPHA_SCALE_SHIFT                                              17
2344 #define   NV10TCL_RC_OUT_ALPHA_SCALE_MASK                                               0x00000000
2345 #define    NV10TCL_RC_OUT_ALPHA_SCALE_NONE                                              0x00000000
2346 #define    NV10TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO                                      0x00020000
2347 #define    NV10TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR                                     0x00040000
2348 #define    NV10TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF                                 0x00060000
2349 #define  NV10TCL_RC_OUT_RGB(x)                                                          (0x00000280+((x)*4))
2350 #define  NV10TCL_RC_OUT_RGB__SIZE                                                       0x00000002
2351 #define   NV10TCL_RC_OUT_RGB_CD_OUTPUT_SHIFT                                            0
2352 #define   NV10TCL_RC_OUT_RGB_CD_OUTPUT_MASK                                             0x0000000f
2353 #define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_ZERO                                            0x00000000
2354 #define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0                                 0x00000001
2355 #define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1                                 0x00000002
2356 #define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_FOG                                             0x00000003
2357 #define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR                                   0x00000004
2358 #define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR                                 0x00000005
2359 #define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE0                                        0x00000008
2360 #define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE1                                        0x00000009
2361 #define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0                                          0x0000000c
2362 #define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_SPARE1                                          0x0000000d
2363 #define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                     0x0000000e
2364 #define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F                                       0x0000000f
2365 #define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE2                                        0x0000000a
2366 #define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE3                                        0x0000000b
2367 #define   NV10TCL_RC_OUT_RGB_AB_OUTPUT_SHIFT                                            4
2368 #define   NV10TCL_RC_OUT_RGB_AB_OUTPUT_MASK                                             0x000000f0
2369 #define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_ZERO                                            0x00000000
2370 #define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0                                 0x00000010
2371 #define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1                                 0x00000020
2372 #define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_FOG                                             0x00000030
2373 #define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR                                   0x00000040
2374 #define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR                                 0x00000050
2375 #define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE0                                        0x00000080
2376 #define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE1                                        0x00000090
2377 #define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0                                          0x000000c0
2378 #define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_SPARE1                                          0x000000d0
2379 #define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                     0x000000e0
2380 #define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F                                       0x000000f0
2381 #define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE2                                        0x000000a0
2382 #define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE3                                        0x000000b0
2383 #define   NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SHIFT                                           8
2384 #define   NV10TCL_RC_OUT_RGB_SUM_OUTPUT_MASK                                            0x00000f00
2385 #define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_ZERO                                           0x00000000
2386 #define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0                                0x00000100
2387 #define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1                                0x00000200
2388 #define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_FOG                                            0x00000300
2389 #define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR                                  0x00000400
2390 #define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR                                0x00000500
2391 #define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0                                       0x00000800
2392 #define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1                                       0x00000900
2393 #define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0                                         0x00000c00
2394 #define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE1                                         0x00000d00
2395 #define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                    0x00000e00
2396 #define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F                                      0x00000f00
2397 #define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2                                       0x00000a00
2398 #define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3                                       0x00000b00
2399 #define   NV10TCL_RC_OUT_RGB_CD_DOT_PRODUCT                                             (1 << 12)
2400 #define   NV10TCL_RC_OUT_RGB_AB_DOT_PRODUCT                                             (1 << 13)
2401 #define   NV10TCL_RC_OUT_RGB_MUX_SUM                                                    (1 << 14)
2402 #define   NV10TCL_RC_OUT_RGB_BIAS                                                       (1 << 15)
2403 #define    NV10TCL_RC_OUT_RGB_BIAS_NONE                                                 0x00000000
2404 #define    NV10TCL_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF                            0x00008000
2405 #define   NV10TCL_RC_OUT_RGB_SCALE_SHIFT                                                17
2406 #define   NV10TCL_RC_OUT_RGB_SCALE_MASK                                                 0x00000000
2407 #define    NV10TCL_RC_OUT_RGB_SCALE_NONE                                                0x00000000
2408 #define    NV10TCL_RC_OUT_RGB_SCALE_SCALE_BY_TWO                                        0x00020000
2409 #define    NV10TCL_RC_OUT_RGB_SCALE_SCALE_BY_FOUR                                       0x00040000
2410 #define    NV10TCL_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF                                   0x00060000
2411 #define   NV10TCL_RC_OUT_RGB_OPERATION_SHIFT                                            27
2412 #define   NV10TCL_RC_OUT_RGB_OPERATION_MASK                                             0x38000000
2413 #define  NV10TCL_RC_FINAL0                                                              0x00000288
2414 #define   NV10TCL_RC_FINAL0_D_INPUT_SHIFT                                               0
2415 #define   NV10TCL_RC_FINAL0_D_INPUT_MASK                                                0x0000000f
2416 #define    NV10TCL_RC_FINAL0_D_INPUT_ZERO                                               0x00000000
2417 #define    NV10TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR0                                    0x00000001
2418 #define    NV10TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR1                                    0x00000002
2419 #define    NV10TCL_RC_FINAL0_D_INPUT_FOG                                                0x00000003
2420 #define    NV10TCL_RC_FINAL0_D_INPUT_PRIMARY_COLOR                                      0x00000004
2421 #define    NV10TCL_RC_FINAL0_D_INPUT_SECONDARY_COLOR                                    0x00000005
2422 #define    NV10TCL_RC_FINAL0_D_INPUT_TEXTURE0                                           0x00000008
2423 #define    NV10TCL_RC_FINAL0_D_INPUT_TEXTURE1                                           0x00000009
2424 #define    NV10TCL_RC_FINAL0_D_INPUT_SPARE0                                             0x0000000c
2425 #define    NV10TCL_RC_FINAL0_D_INPUT_SPARE1                                             0x0000000d
2426 #define    NV10TCL_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0000000e
2427 #define    NV10TCL_RC_FINAL0_D_INPUT_E_TIMES_F                                          0x0000000f
2428 #define    NV10TCL_RC_FINAL0_D_INPUT_TEXTURE2                                           0x0000000a
2429 #define    NV10TCL_RC_FINAL0_D_INPUT_TEXTURE3                                           0x0000000b
2430 #define   NV10TCL_RC_FINAL0_D_COMPONENT_USAGE                                           (1 <<  4)
2431 #define    NV10TCL_RC_FINAL0_D_COMPONENT_USAGE_RGB                                      0x00000000
2432 #define    NV10TCL_RC_FINAL0_D_COMPONENT_USAGE_ALPHA                                    0x00000010
2433 #define   NV10TCL_RC_FINAL0_D_MAPPING_SHIFT                                             5
2434 #define   NV10TCL_RC_FINAL0_D_MAPPING_MASK                                              0x000000e0
2435 #define    NV10TCL_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY                                0x00000000
2436 #define    NV10TCL_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT                                  0x00000020
2437 #define    NV10TCL_RC_FINAL0_D_MAPPING_EXPAND_NORMAL                                    0x00000040
2438 #define    NV10TCL_RC_FINAL0_D_MAPPING_EXPAND_NEGATE                                    0x00000060
2439 #define    NV10TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL                                 0x00000080
2440 #define    NV10TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE                                 0x000000a0
2441 #define    NV10TCL_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY                                  0x000000c0
2442 #define    NV10TCL_RC_FINAL0_D_MAPPING_SIGNED_NEGATE                                    0x000000e0
2443 #define   NV10TCL_RC_FINAL0_C_INPUT_SHIFT                                               8
2444 #define   NV10TCL_RC_FINAL0_C_INPUT_MASK                                                0x00000f00
2445 #define    NV10TCL_RC_FINAL0_C_INPUT_ZERO                                               0x00000000
2446 #define    NV10TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR0                                    0x00000100
2447 #define    NV10TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR1                                    0x00000200
2448 #define    NV10TCL_RC_FINAL0_C_INPUT_FOG                                                0x00000300
2449 #define    NV10TCL_RC_FINAL0_C_INPUT_PRIMARY_COLOR                                      0x00000400
2450 #define    NV10TCL_RC_FINAL0_C_INPUT_SECONDARY_COLOR                                    0x00000500
2451 #define    NV10TCL_RC_FINAL0_C_INPUT_TEXTURE0                                           0x00000800
2452 #define    NV10TCL_RC_FINAL0_C_INPUT_TEXTURE1                                           0x00000900
2453 #define    NV10TCL_RC_FINAL0_C_INPUT_SPARE0                                             0x00000c00
2454 #define    NV10TCL_RC_FINAL0_C_INPUT_SPARE1                                             0x00000d00
2455 #define    NV10TCL_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x00000e00
2456 #define    NV10TCL_RC_FINAL0_C_INPUT_E_TIMES_F                                          0x00000f00
2457 #define    NV10TCL_RC_FINAL0_C_INPUT_TEXTURE2                                           0x00000a00
2458 #define    NV10TCL_RC_FINAL0_C_INPUT_TEXTURE3                                           0x00000b00
2459 #define   NV10TCL_RC_FINAL0_C_COMPONENT_USAGE                                           (1 << 12)
2460 #define    NV10TCL_RC_FINAL0_C_COMPONENT_USAGE_RGB                                      0x00000000
2461 #define    NV10TCL_RC_FINAL0_C_COMPONENT_USAGE_ALPHA                                    0x00001000
2462 #define   NV10TCL_RC_FINAL0_C_MAPPING_SHIFT                                             13
2463 #define   NV10TCL_RC_FINAL0_C_MAPPING_MASK                                              0x0000e000
2464 #define    NV10TCL_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY                                0x00000000
2465 #define    NV10TCL_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT                                  0x00002000
2466 #define    NV10TCL_RC_FINAL0_C_MAPPING_EXPAND_NORMAL                                    0x00004000
2467 #define    NV10TCL_RC_FINAL0_C_MAPPING_EXPAND_NEGATE                                    0x00006000
2468 #define    NV10TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL                                 0x00008000
2469 #define    NV10TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE                                 0x0000a000
2470 #define    NV10TCL_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY                                  0x0000c000
2471 #define    NV10TCL_RC_FINAL0_C_MAPPING_SIGNED_NEGATE                                    0x0000e000
2472 #define   NV10TCL_RC_FINAL0_B_INPUT_SHIFT                                               16
2473 #define   NV10TCL_RC_FINAL0_B_INPUT_MASK                                                0x000f0000
2474 #define    NV10TCL_RC_FINAL0_B_INPUT_ZERO                                               0x00000000
2475 #define    NV10TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR0                                    0x00010000
2476 #define    NV10TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR1                                    0x00020000
2477 #define    NV10TCL_RC_FINAL0_B_INPUT_FOG                                                0x00030000
2478 #define    NV10TCL_RC_FINAL0_B_INPUT_PRIMARY_COLOR                                      0x00040000
2479 #define    NV10TCL_RC_FINAL0_B_INPUT_SECONDARY_COLOR                                    0x00050000
2480 #define    NV10TCL_RC_FINAL0_B_INPUT_TEXTURE0                                           0x00080000
2481 #define    NV10TCL_RC_FINAL0_B_INPUT_TEXTURE1                                           0x00090000
2482 #define    NV10TCL_RC_FINAL0_B_INPUT_SPARE0                                             0x000c0000
2483 #define    NV10TCL_RC_FINAL0_B_INPUT_SPARE1                                             0x000d0000
2484 #define    NV10TCL_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x000e0000
2485 #define    NV10TCL_RC_FINAL0_B_INPUT_E_TIMES_F                                          0x000f0000
2486 #define    NV10TCL_RC_FINAL0_B_INPUT_TEXTURE2                                           0x000a0000
2487 #define    NV10TCL_RC_FINAL0_B_INPUT_TEXTURE3                                           0x000b0000
2488 #define   NV10TCL_RC_FINAL0_B_COMPONENT_USAGE                                           (1 << 20)
2489 #define    NV10TCL_RC_FINAL0_B_COMPONENT_USAGE_RGB                                      0x00000000
2490 #define    NV10TCL_RC_FINAL0_B_COMPONENT_USAGE_ALPHA                                    0x00100000
2491 #define   NV10TCL_RC_FINAL0_B_MAPPING_SHIFT                                             21
2492 #define   NV10TCL_RC_FINAL0_B_MAPPING_MASK                                              0x00e00000
2493 #define    NV10TCL_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY                                0x00000000
2494 #define    NV10TCL_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT                                  0x00200000
2495 #define    NV10TCL_RC_FINAL0_B_MAPPING_EXPAND_NORMAL                                    0x00400000
2496 #define    NV10TCL_RC_FINAL0_B_MAPPING_EXPAND_NEGATE                                    0x00600000
2497 #define    NV10TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL                                 0x00800000
2498 #define    NV10TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE                                 0x00a00000
2499 #define    NV10TCL_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY                                  0x00c00000
2500 #define    NV10TCL_RC_FINAL0_B_MAPPING_SIGNED_NEGATE                                    0x00e00000
2501 #define   NV10TCL_RC_FINAL0_A_INPUT_SHIFT                                               24
2502 #define   NV10TCL_RC_FINAL0_A_INPUT_MASK                                                0x0f000000
2503 #define    NV10TCL_RC_FINAL0_A_INPUT_ZERO                                               0x00000000
2504 #define    NV10TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR0                                    0x01000000
2505 #define    NV10TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR1                                    0x02000000
2506 #define    NV10TCL_RC_FINAL0_A_INPUT_FOG                                                0x03000000
2507 #define    NV10TCL_RC_FINAL0_A_INPUT_PRIMARY_COLOR                                      0x04000000
2508 #define    NV10TCL_RC_FINAL0_A_INPUT_SECONDARY_COLOR                                    0x05000000
2509 #define    NV10TCL_RC_FINAL0_A_INPUT_TEXTURE0                                           0x08000000
2510 #define    NV10TCL_RC_FINAL0_A_INPUT_TEXTURE1                                           0x09000000
2511 #define    NV10TCL_RC_FINAL0_A_INPUT_SPARE0                                             0x0c000000
2512 #define    NV10TCL_RC_FINAL0_A_INPUT_SPARE1                                             0x0d000000
2513 #define    NV10TCL_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0e000000
2514 #define    NV10TCL_RC_FINAL0_A_INPUT_E_TIMES_F                                          0x0f000000
2515 #define    NV10TCL_RC_FINAL0_A_INPUT_TEXTURE2                                           0x0a000000
2516 #define    NV10TCL_RC_FINAL0_A_INPUT_TEXTURE3                                           0x0b000000
2517 #define   NV10TCL_RC_FINAL0_A_COMPONENT_USAGE                                           (1 << 28)
2518 #define    NV10TCL_RC_FINAL0_A_COMPONENT_USAGE_RGB                                      0x00000000
2519 #define    NV10TCL_RC_FINAL0_A_COMPONENT_USAGE_ALPHA                                    0x10000000
2520 #define   NV10TCL_RC_FINAL0_A_MAPPING_SHIFT                                             29
2521 #define   NV10TCL_RC_FINAL0_A_MAPPING_MASK                                              0xe0000000
2522 #define    NV10TCL_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY                                0x00000000
2523 #define    NV10TCL_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT                                  0x20000000
2524 #define    NV10TCL_RC_FINAL0_A_MAPPING_EXPAND_NORMAL                                    0x40000000
2525 #define    NV10TCL_RC_FINAL0_A_MAPPING_EXPAND_NEGATE                                    0x60000000
2526 #define    NV10TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL                                 0x80000000
2527 #define    NV10TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE                                 0xa0000000
2528 #define    NV10TCL_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY                                  0xc0000000
2529 #define    NV10TCL_RC_FINAL0_A_MAPPING_SIGNED_NEGATE                                    0xe0000000
2530 #define  NV10TCL_RC_FINAL1                                                              0x0000028c
2531 #define   NV10TCL_RC_FINAL1_COLOR_SUM_CLAMP                                             (1 <<  7)
2532 #define   NV10TCL_RC_FINAL1_G_INPUT_SHIFT                                               8
2533 #define   NV10TCL_RC_FINAL1_G_INPUT_MASK                                                0x00000f00
2534 #define    NV10TCL_RC_FINAL1_G_INPUT_ZERO                                               0x00000000
2535 #define    NV10TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR0                                    0x00000100
2536 #define    NV10TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR1                                    0x00000200
2537 #define    NV10TCL_RC_FINAL1_G_INPUT_FOG                                                0x00000300
2538 #define    NV10TCL_RC_FINAL1_G_INPUT_PRIMARY_COLOR                                      0x00000400
2539 #define    NV10TCL_RC_FINAL1_G_INPUT_SECONDARY_COLOR                                    0x00000500
2540 #define    NV10TCL_RC_FINAL1_G_INPUT_TEXTURE0                                           0x00000800
2541 #define    NV10TCL_RC_FINAL1_G_INPUT_TEXTURE1                                           0x00000900
2542 #define    NV10TCL_RC_FINAL1_G_INPUT_SPARE0                                             0x00000c00
2543 #define    NV10TCL_RC_FINAL1_G_INPUT_SPARE1                                             0x00000d00
2544 #define    NV10TCL_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x00000e00
2545 #define    NV10TCL_RC_FINAL1_G_INPUT_E_TIMES_F                                          0x00000f00
2546 #define    NV10TCL_RC_FINAL1_G_INPUT_TEXTURE2                                           0x00000a00
2547 #define    NV10TCL_RC_FINAL1_G_INPUT_TEXTURE3                                           0x00000b00
2548 #define   NV10TCL_RC_FINAL1_G_COMPONENT_USAGE                                           (1 << 12)
2549 #define    NV10TCL_RC_FINAL1_G_COMPONENT_USAGE_RGB                                      0x00000000
2550 #define    NV10TCL_RC_FINAL1_G_COMPONENT_USAGE_ALPHA                                    0x00001000
2551 #define   NV10TCL_RC_FINAL1_G_MAPPING_SHIFT                                             13
2552 #define   NV10TCL_RC_FINAL1_G_MAPPING_MASK                                              0x0000e000
2553 #define    NV10TCL_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY                                0x00000000
2554 #define    NV10TCL_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT                                  0x00002000
2555 #define    NV10TCL_RC_FINAL1_G_MAPPING_EXPAND_NORMAL                                    0x00004000
2556 #define    NV10TCL_RC_FINAL1_G_MAPPING_EXPAND_NEGATE                                    0x00006000
2557 #define    NV10TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL                                 0x00008000
2558 #define    NV10TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE                                 0x0000a000
2559 #define    NV10TCL_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY                                  0x0000c000
2560 #define    NV10TCL_RC_FINAL1_G_MAPPING_SIGNED_NEGATE                                    0x0000e000
2561 #define   NV10TCL_RC_FINAL1_F_INPUT_SHIFT                                               16
2562 #define   NV10TCL_RC_FINAL1_F_INPUT_MASK                                                0x000f0000
2563 #define    NV10TCL_RC_FINAL1_F_INPUT_ZERO                                               0x00000000
2564 #define    NV10TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR0                                    0x00010000
2565 #define    NV10TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR1                                    0x00020000
2566 #define    NV10TCL_RC_FINAL1_F_INPUT_FOG                                                0x00030000
2567 #define    NV10TCL_RC_FINAL1_F_INPUT_PRIMARY_COLOR                                      0x00040000
2568 #define    NV10TCL_RC_FINAL1_F_INPUT_SECONDARY_COLOR                                    0x00050000
2569 #define    NV10TCL_RC_FINAL1_F_INPUT_TEXTURE0                                           0x00080000
2570 #define    NV10TCL_RC_FINAL1_F_INPUT_TEXTURE1                                           0x00090000
2571 #define    NV10TCL_RC_FINAL1_F_INPUT_SPARE0                                             0x000c0000
2572 #define    NV10TCL_RC_FINAL1_F_INPUT_SPARE1                                             0x000d0000
2573 #define    NV10TCL_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x000e0000
2574 #define    NV10TCL_RC_FINAL1_F_INPUT_E_TIMES_F                                          0x000f0000
2575 #define    NV10TCL_RC_FINAL1_F_INPUT_TEXTURE2                                           0x000a0000
2576 #define    NV10TCL_RC_FINAL1_F_INPUT_TEXTURE3                                           0x000b0000
2577 #define   NV10TCL_RC_FINAL1_F_COMPONENT_USAGE                                           (1 << 20)
2578 #define    NV10TCL_RC_FINAL1_F_COMPONENT_USAGE_RGB                                      0x00000000
2579 #define    NV10TCL_RC_FINAL1_F_COMPONENT_USAGE_ALPHA                                    0x00100000
2580 #define   NV10TCL_RC_FINAL1_F_MAPPING_SHIFT                                             21
2581 #define   NV10TCL_RC_FINAL1_F_MAPPING_MASK                                              0x00e00000
2582 #define    NV10TCL_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY                                0x00000000
2583 #define    NV10TCL_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT                                  0x00200000
2584 #define    NV10TCL_RC_FINAL1_F_MAPPING_EXPAND_NORMAL                                    0x00400000
2585 #define    NV10TCL_RC_FINAL1_F_MAPPING_EXPAND_NEGATE                                    0x00600000
2586 #define    NV10TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL                                 0x00800000
2587 #define    NV10TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE                                 0x00a00000
2588 #define    NV10TCL_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY                                  0x00c00000
2589 #define    NV10TCL_RC_FINAL1_F_MAPPING_SIGNED_NEGATE                                    0x00e00000
2590 #define   NV10TCL_RC_FINAL1_E_INPUT_SHIFT                                               24
2591 #define   NV10TCL_RC_FINAL1_E_INPUT_MASK                                                0x0f000000
2592 #define    NV10TCL_RC_FINAL1_E_INPUT_ZERO                                               0x00000000
2593 #define    NV10TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR0                                    0x01000000
2594 #define    NV10TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR1                                    0x02000000
2595 #define    NV10TCL_RC_FINAL1_E_INPUT_FOG                                                0x03000000
2596 #define    NV10TCL_RC_FINAL1_E_INPUT_PRIMARY_COLOR                                      0x04000000
2597 #define    NV10TCL_RC_FINAL1_E_INPUT_SECONDARY_COLOR                                    0x05000000
2598 #define    NV10TCL_RC_FINAL1_E_INPUT_TEXTURE0                                           0x08000000
2599 #define    NV10TCL_RC_FINAL1_E_INPUT_TEXTURE1                                           0x09000000
2600 #define    NV10TCL_RC_FINAL1_E_INPUT_SPARE0                                             0x0c000000
2601 #define    NV10TCL_RC_FINAL1_E_INPUT_SPARE1                                             0x0d000000
2602 #define    NV10TCL_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0e000000
2603 #define    NV10TCL_RC_FINAL1_E_INPUT_E_TIMES_F                                          0x0f000000
2604 #define    NV10TCL_RC_FINAL1_E_INPUT_TEXTURE2                                           0x0a000000
2605 #define    NV10TCL_RC_FINAL1_E_INPUT_TEXTURE3                                           0x0b000000
2606 #define   NV10TCL_RC_FINAL1_E_COMPONENT_USAGE                                           (1 << 28)
2607 #define    NV10TCL_RC_FINAL1_E_COMPONENT_USAGE_RGB                                      0x00000000
2608 #define    NV10TCL_RC_FINAL1_E_COMPONENT_USAGE_ALPHA                                    0x10000000
2609 #define   NV10TCL_RC_FINAL1_E_MAPPING_SHIFT                                             29
2610 #define   NV10TCL_RC_FINAL1_E_MAPPING_MASK                                              0xe0000000
2611 #define    NV10TCL_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY                                0x00000000
2612 #define    NV10TCL_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT                                  0x20000000
2613 #define    NV10TCL_RC_FINAL1_E_MAPPING_EXPAND_NORMAL                                    0x40000000
2614 #define    NV10TCL_RC_FINAL1_E_MAPPING_EXPAND_NEGATE                                    0x60000000
2615 #define    NV10TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL                                 0x80000000
2616 #define    NV10TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE                                 0xa0000000
2617 #define    NV10TCL_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY                                  0xc0000000
2618 #define    NV10TCL_RC_FINAL1_E_MAPPING_SIGNED_NEGATE                                    0xe0000000
2619 #define  NV10TCL_LIGHT_MODEL                                                            0x00000294
2620 #define   NV10TCL_LIGHT_MODEL_VERTEX_SPECULAR                                           (1 <<  0)
2621 #define   NV10TCL_LIGHT_MODEL_SEPARATE_SPECULAR                                         (1 <<  1)
2622 #define   NV10TCL_LIGHT_MODEL_LOCAL_VIEWER                                              (1 << 16)
2623 #define  NV10TCL_COLOR_MATERIAL                                                         0x00000298
2624 #define   NV10TCL_COLOR_MATERIAL_EMISSION                                               (1 <<  0)
2625 #define   NV10TCL_COLOR_MATERIAL_AMBIENT                                                (1 <<  1)
2626 #define   NV10TCL_COLOR_MATERIAL_DIFFUSE                                                (1 <<  2)
2627 #define   NV10TCL_COLOR_MATERIAL_SPECULAR                                               (1 <<  3)
2628 #define  NV10TCL_FOG_MODE                                                               0x0000029c
2629 #define   NV10TCL_FOG_MODE_LINEAR                                                       0x00002601
2630 #define   NV10TCL_FOG_MODE_EXP                                                          0x00000800
2631 #define   NV10TCL_FOG_MODE_EXP_ABS                                                      0x00000802
2632 #define   NV10TCL_FOG_MODE_EXP2                                                         0x00000803
2633 #define  NV10TCL_FOG_COORD                                                              0x000002a0
2634 #define   NV10TCL_FOG_COORD_FOG                                                         0x00000000
2635 #define   NV10TCL_FOG_COORD_DIST_RADIAL                                                 0x00000001
2636 #define   NV10TCL_FOG_COORD_DIST_ORTHOGONAL                                             0x00000002
2637 #define   NV10TCL_FOG_COORD_DIST_ORTHOGONAL_ABS                                         0x00000003
2638 #define  NV10TCL_FOG_ENABLE                                                             0x000002a4
2639 #define  NV10TCL_FOG_COLOR                                                              0x000002a8
2640 #define   NV10TCL_FOG_COLOR_R_SHIFT                                                     0
2641 #define   NV10TCL_FOG_COLOR_R_MASK                                                      0x000000ff
2642 #define   NV10TCL_FOG_COLOR_G_SHIFT                                                     8
2643 #define   NV10TCL_FOG_COLOR_G_MASK                                                      0x0000ff00
2644 #define   NV10TCL_FOG_COLOR_B_SHIFT                                                     16
2645 #define   NV10TCL_FOG_COLOR_B_MASK                                                      0x00ff0000
2646 #define   NV10TCL_FOG_COLOR_A_SHIFT                                                     24
2647 #define   NV10TCL_FOG_COLOR_A_MASK                                                      0xff000000
2648 #define  NV10TCL_VIEWPORT_CLIP_MODE                                                     0x000002b4
2649 #define  NV10TCL_VIEWPORT_CLIP_HORIZ(x)                                                 (0x000002c0+((x)*4))
2650 #define  NV10TCL_VIEWPORT_CLIP_HORIZ__SIZE                                              0x00000008
2651 #define   NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_L_SHIFT                                      0
2652 #define   NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_L_MASK                                       0x000007ff
2653 #define   NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_LEFT_ENABLE                                  (1 << 11)
2654 #define   NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_R_SHIFT                                      16
2655 #define   NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_R_MASK                                       0x07ff0000
2656 #define   NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_RIGHT_ENABLE                                 (1 << 27)
2657 #define  NV10TCL_VIEWPORT_CLIP_VERT(x)                                                  (0x000002e0+((x)*4))
2658 #define  NV10TCL_VIEWPORT_CLIP_VERT__SIZE                                               0x00000008
2659 #define   NV10TCL_VIEWPORT_CLIP_VERT_CLIP_T_SHIFT                                       0
2660 #define   NV10TCL_VIEWPORT_CLIP_VERT_CLIP_T_MASK                                        0x000007ff
2661 #define   NV10TCL_VIEWPORT_CLIP_VERT_CLIP_TOP_ENABLE                                    (1 << 11)
2662 #define   NV10TCL_VIEWPORT_CLIP_VERT_CLIP_B_SHIFT                                       16
2663 #define   NV10TCL_VIEWPORT_CLIP_VERT_CLIP_B_MASK                                        0x07ff0000
2664 #define   NV10TCL_VIEWPORT_CLIP_VERT_CLIP_BOTTOM_ENABLE                                 (1 << 27)
2665 #define  NV10TCL_ALPHA_FUNC_ENABLE                                                      0x00000300
2666 #define  NV10TCL_BLEND_FUNC_ENABLE                                                      0x00000304
2667 #define  NV10TCL_CULL_FACE_ENABLE                                                       0x00000308
2668 #define  NV10TCL_DEPTH_TEST_ENABLE                                                      0x0000030c
2669 #define  NV10TCL_DITHER_ENABLE                                                          0x00000310
2670 #define  NV10TCL_LIGHTING_ENABLE                                                        0x00000314
2671 #define  NV10TCL_POINT_PARAMETERS_ENABLE                                                0x00000318
2672 #define  NV10TCL_POINT_SMOOTH_ENABLE                                                    0x0000031c
2673 #define  NV10TCL_LINE_SMOOTH_ENABLE                                                     0x00000320
2674 #define  NV10TCL_POLYGON_SMOOTH_ENABLE                                                  0x00000324
2675 #define  NV10TCL_VERTEX_WEIGHT_ENABLE                                                   0x00000328
2676 #define  NV10TCL_STENCIL_ENABLE                                                         0x0000032c
2677 #define  NV10TCL_POLYGON_OFFSET_POINT_ENABLE                                            0x00000330
2678 #define  NV10TCL_POLYGON_OFFSET_LINE_ENABLE                                             0x00000334
2679 #define  NV10TCL_POLYGON_OFFSET_FILL_ENABLE                                             0x00000338
2680 #define  NV10TCL_ALPHA_FUNC_FUNC                                                        0x0000033c
2681 #define   NV10TCL_ALPHA_FUNC_FUNC_NEVER                                                 0x00000200
2682 #define   NV10TCL_ALPHA_FUNC_FUNC_LESS                                                  0x00000201
2683 #define   NV10TCL_ALPHA_FUNC_FUNC_EQUAL                                                 0x00000202
2684 #define   NV10TCL_ALPHA_FUNC_FUNC_LEQUAL                                                0x00000203
2685 #define   NV10TCL_ALPHA_FUNC_FUNC_GREATER                                               0x00000204
2686 #define   NV10TCL_ALPHA_FUNC_FUNC_NOTEQUAL                                              0x00000205
2687 #define   NV10TCL_ALPHA_FUNC_FUNC_GEQUAL                                                0x00000206
2688 #define   NV10TCL_ALPHA_FUNC_FUNC_ALWAYS                                                0x00000207
2689 #define  NV10TCL_ALPHA_FUNC_REF                                                         0x00000340
2690 #define  NV10TCL_BLEND_FUNC_SRC                                                         0x00000344
2691 #define   NV10TCL_BLEND_FUNC_SRC_ZERO                                                   0x00000000
2692 #define   NV10TCL_BLEND_FUNC_SRC_ONE                                                    0x00000001
2693 #define   NV10TCL_BLEND_FUNC_SRC_SRC_COLOR                                              0x00000300
2694 #define   NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR                                    0x00000301
2695 #define   NV10TCL_BLEND_FUNC_SRC_SRC_ALPHA                                              0x00000302
2696 #define   NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA                                    0x00000303
2697 #define   NV10TCL_BLEND_FUNC_SRC_DST_ALPHA                                              0x00000304
2698 #define   NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA                                    0x00000305
2699 #define   NV10TCL_BLEND_FUNC_SRC_DST_COLOR                                              0x00000306
2700 #define   NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR                                    0x00000307
2701 #define   NV10TCL_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE                                     0x00000308
2702 #define   NV10TCL_BLEND_FUNC_SRC_CONSTANT_COLOR                                         0x00008001
2703 #define   NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR                               0x00008002
2704 #define   NV10TCL_BLEND_FUNC_SRC_CONSTANT_ALPHA                                         0x00008003
2705 #define   NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA                               0x00008004
2706 #define  NV10TCL_BLEND_FUNC_DST                                                         0x00000348
2707 #define   NV10TCL_BLEND_FUNC_DST_ZERO                                                   0x00000000
2708 #define   NV10TCL_BLEND_FUNC_DST_ONE                                                    0x00000001
2709 #define   NV10TCL_BLEND_FUNC_DST_SRC_COLOR                                              0x00000300
2710 #define   NV10TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR                                    0x00000301
2711 #define   NV10TCL_BLEND_FUNC_DST_SRC_ALPHA                                              0x00000302
2712 #define   NV10TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA                                    0x00000303
2713 #define   NV10TCL_BLEND_FUNC_DST_DST_ALPHA                                              0x00000304
2714 #define   NV10TCL_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA                                    0x00000305
2715 #define   NV10TCL_BLEND_FUNC_DST_DST_COLOR                                              0x00000306
2716 #define   NV10TCL_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR                                    0x00000307
2717 #define   NV10TCL_BLEND_FUNC_DST_SRC_ALPHA_SATURATE                                     0x00000308
2718 #define   NV10TCL_BLEND_FUNC_DST_CONSTANT_COLOR                                         0x00008001
2719 #define   NV10TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR                               0x00008002
2720 #define   NV10TCL_BLEND_FUNC_DST_CONSTANT_ALPHA                                         0x00008003
2721 #define   NV10TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA                               0x00008004
2722 #define  NV10TCL_BLEND_COLOR                                                            0x0000034c
2723 #define   NV10TCL_BLEND_COLOR_B_SHIFT                                                   0
2724 #define   NV10TCL_BLEND_COLOR_B_MASK                                                    0x000000ff
2725 #define   NV10TCL_BLEND_COLOR_G_SHIFT                                                   8
2726 #define   NV10TCL_BLEND_COLOR_G_MASK                                                    0x0000ff00
2727 #define   NV10TCL_BLEND_COLOR_R_SHIFT                                                   16
2728 #define   NV10TCL_BLEND_COLOR_R_MASK                                                    0x00ff0000
2729 #define   NV10TCL_BLEND_COLOR_A_SHIFT                                                   24
2730 #define   NV10TCL_BLEND_COLOR_A_MASK                                                    0xff000000
2731 #define  NV10TCL_BLEND_EQUATION                                                         0x00000350
2732 #define   NV10TCL_BLEND_EQUATION_FUNC_ADD                                               0x00008006
2733 #define   NV10TCL_BLEND_EQUATION_MIN                                                    0x00008007
2734 #define   NV10TCL_BLEND_EQUATION_MAX                                                    0x00008008
2735 #define   NV10TCL_BLEND_EQUATION_FUNC_SUBTRACT                                          0x0000800a
2736 #define   NV10TCL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT                                  0x0000800b
2737 #define  NV10TCL_DEPTH_FUNC                                                             0x00000354
2738 #define   NV10TCL_DEPTH_FUNC_NEVER                                                      0x00000200
2739 #define   NV10TCL_DEPTH_FUNC_LESS                                                       0x00000201
2740 #define   NV10TCL_DEPTH_FUNC_EQUAL                                                      0x00000202
2741 #define   NV10TCL_DEPTH_FUNC_LEQUAL                                                     0x00000203
2742 #define   NV10TCL_DEPTH_FUNC_GREATER                                                    0x00000204
2743 #define   NV10TCL_DEPTH_FUNC_NOTEQUAL                                                   0x00000205
2744 #define   NV10TCL_DEPTH_FUNC_GEQUAL                                                     0x00000206
2745 #define   NV10TCL_DEPTH_FUNC_ALWAYS                                                     0x00000207
2746 #define  NV10TCL_COLOR_MASK                                                             0x00000358
2747 #define   NV10TCL_COLOR_MASK_B                                                          (1 <<  0)
2748 #define   NV10TCL_COLOR_MASK_G                                                          (1 <<  8)
2749 #define   NV10TCL_COLOR_MASK_R                                                          (1 << 16)
2750 #define   NV10TCL_COLOR_MASK_A                                                          (1 << 24)
2751 #define  NV10TCL_DEPTH_WRITE_ENABLE                                                     0x0000035c
2752 #define  NV10TCL_STENCIL_MASK                                                           0x00000360
2753 #define  NV10TCL_STENCIL_FUNC_FUNC                                                      0x00000364
2754 #define   NV10TCL_STENCIL_FUNC_FUNC_NEVER                                               0x00000200
2755 #define   NV10TCL_STENCIL_FUNC_FUNC_LESS                                                0x00000201
2756 #define   NV10TCL_STENCIL_FUNC_FUNC_EQUAL                                               0x00000202
2757 #define   NV10TCL_STENCIL_FUNC_FUNC_LEQUAL                                              0x00000203
2758 #define   NV10TCL_STENCIL_FUNC_FUNC_GREATER                                             0x00000204
2759 #define   NV10TCL_STENCIL_FUNC_FUNC_NOTEQUAL                                            0x00000205
2760 #define   NV10TCL_STENCIL_FUNC_FUNC_GEQUAL                                              0x00000206
2761 #define   NV10TCL_STENCIL_FUNC_FUNC_ALWAYS                                              0x00000207
2762 #define  NV10TCL_STENCIL_FUNC_REF                                                       0x00000368
2763 #define  NV10TCL_STENCIL_FUNC_MASK                                                      0x0000036c
2764 #define  NV10TCL_STENCIL_OP_FAIL                                                        0x00000370
2765 #define   NV10TCL_STENCIL_OP_FAIL_ZERO                                                  0x00000000
2766 #define   NV10TCL_STENCIL_OP_FAIL_INVERT                                                0x0000150a
2767 #define   NV10TCL_STENCIL_OP_FAIL_KEEP                                                  0x00001e00
2768 #define   NV10TCL_STENCIL_OP_FAIL_REPLACE                                               0x00001e01
2769 #define   NV10TCL_STENCIL_OP_FAIL_INCR                                                  0x00001e02
2770 #define   NV10TCL_STENCIL_OP_FAIL_DECR                                                  0x00001e03
2771 #define   NV10TCL_STENCIL_OP_FAIL_INCR_WRAP                                             0x00008507
2772 #define   NV10TCL_STENCIL_OP_FAIL_DECR_WRAP                                             0x00008508
2773 #define  NV10TCL_STENCIL_OP_ZFAIL                                                       0x00000374
2774 #define   NV10TCL_STENCIL_OP_ZFAIL_ZERO                                                 0x00000000
2775 #define   NV10TCL_STENCIL_OP_ZFAIL_INVERT                                               0x0000150a
2776 #define   NV10TCL_STENCIL_OP_ZFAIL_KEEP                                                 0x00001e00
2777 #define   NV10TCL_STENCIL_OP_ZFAIL_REPLACE                                              0x00001e01
2778 #define   NV10TCL_STENCIL_OP_ZFAIL_INCR                                                 0x00001e02
2779 #define   NV10TCL_STENCIL_OP_ZFAIL_DECR                                                 0x00001e03
2780 #define   NV10TCL_STENCIL_OP_ZFAIL_INCR_WRAP                                            0x00008507
2781 #define   NV10TCL_STENCIL_OP_ZFAIL_DECR_WRAP                                            0x00008508
2782 #define  NV10TCL_STENCIL_OP_ZPASS                                                       0x00000378
2783 #define   NV10TCL_STENCIL_OP_ZPASS_ZERO                                                 0x00000000
2784 #define   NV10TCL_STENCIL_OP_ZPASS_INVERT                                               0x0000150a
2785 #define   NV10TCL_STENCIL_OP_ZPASS_KEEP                                                 0x00001e00
2786 #define   NV10TCL_STENCIL_OP_ZPASS_REPLACE                                              0x00001e01
2787 #define   NV10TCL_STENCIL_OP_ZPASS_INCR                                                 0x00001e02
2788 #define   NV10TCL_STENCIL_OP_ZPASS_DECR                                                 0x00001e03
2789 #define   NV10TCL_STENCIL_OP_ZPASS_INCR_WRAP                                            0x00008507
2790 #define   NV10TCL_STENCIL_OP_ZPASS_DECR_WRAP                                            0x00008508
2791 #define  NV10TCL_SHADE_MODEL                                                            0x0000037c
2792 #define   NV10TCL_SHADE_MODEL_FLAT                                                      0x00001d00
2793 #define   NV10TCL_SHADE_MODEL_SMOOTH                                                    0x00001d01
2794 #define  NV10TCL_LINE_WIDTH                                                             0x00000380
2795 #define  NV10TCL_POLYGON_OFFSET_FACTOR                                                  0x00000384
2796 #define  NV10TCL_POLYGON_OFFSET_UNITS                                                   0x00000388
2797 #define  NV10TCL_POLYGON_MODE_FRONT                                                     0x0000038c
2798 #define   NV10TCL_POLYGON_MODE_FRONT_POINT                                              0x00001b00
2799 #define   NV10TCL_POLYGON_MODE_FRONT_LINE                                               0x00001b01
2800 #define   NV10TCL_POLYGON_MODE_FRONT_FILL                                               0x00001b02
2801 #define  NV10TCL_POLYGON_MODE_BACK                                                      0x00000390
2802 #define   NV10TCL_POLYGON_MODE_BACK_POINT                                               0x00001b00
2803 #define   NV10TCL_POLYGON_MODE_BACK_LINE                                                0x00001b01
2804 #define   NV10TCL_POLYGON_MODE_BACK_FILL                                                0x00001b02
2805 #define  NV10TCL_DEPTH_RANGE_NEAR                                                       0x00000394
2806 #define  NV10TCL_DEPTH_RANGE_FAR                                                        0x00000398
2807 #define  NV10TCL_CULL_FACE                                                              0x0000039c
2808 #define   NV10TCL_CULL_FACE_FRONT                                                       0x00000404
2809 #define   NV10TCL_CULL_FACE_BACK                                                        0x00000405
2810 #define   NV10TCL_CULL_FACE_FRONT_AND_BACK                                              0x00000408
2811 #define  NV10TCL_FRONT_FACE                                                             0x000003a0
2812 #define   NV10TCL_FRONT_FACE_CW                                                         0x00000900
2813 #define   NV10TCL_FRONT_FACE_CCW                                                        0x00000901
2814 #define  NV10TCL_NORMALIZE_ENABLE                                                       0x000003a4
2815 #define  NV10TCL_MATERIAL_FACTOR_R                                                      0x000003a8
2816 #define  NV10TCL_MATERIAL_FACTOR_G                                                      0x000003ac
2817 #define  NV10TCL_MATERIAL_FACTOR_B                                                      0x000003b0
2818 #define  NV10TCL_MATERIAL_FACTOR_A                                                      0x000003b4
2819 #define  NV10TCL_SEPARATE_SPECULAR_ENABLE                                               0x000003b8
2820 #define  NV10TCL_ENABLED_LIGHTS                                                         0x000003bc
2821 #define   NV10TCL_ENABLED_LIGHTS_0_SHIFT                                                0
2822 #define   NV10TCL_ENABLED_LIGHTS_0_MASK                                                 0x00000003
2823 #define    NV10TCL_ENABLED_LIGHTS_0_DISABLED                                            0x00000000
2824 #define    NV10TCL_ENABLED_LIGHTS_0_NONPOSITIONAL                                       0x00000001
2825 #define    NV10TCL_ENABLED_LIGHTS_0_POSITIONAL                                          0x00000002
2826 #define    NV10TCL_ENABLED_LIGHTS_0_DIRECTIONAL                                         0x00000003
2827 #define   NV10TCL_ENABLED_LIGHTS_1_SHIFT                                                2
2828 #define   NV10TCL_ENABLED_LIGHTS_1_MASK                                                 0x0000000c
2829 #define    NV10TCL_ENABLED_LIGHTS_1_DISABLED                                            0x00000000
2830 #define    NV10TCL_ENABLED_LIGHTS_1_NONPOSITIONAL                                       0x00000004
2831 #define    NV10TCL_ENABLED_LIGHTS_1_POSITIONAL                                          0x00000008
2832 #define    NV10TCL_ENABLED_LIGHTS_1_DIRECTIONAL                                         0x0000000c
2833 #define   NV10TCL_ENABLED_LIGHTS_2_SHIFT                                                4
2834 #define   NV10TCL_ENABLED_LIGHTS_2_MASK                                                 0x00000030
2835 #define    NV10TCL_ENABLED_LIGHTS_2_DISABLED                                            0x00000000
2836 #define    NV10TCL_ENABLED_LIGHTS_2_NONPOSITIONAL                                       0x00000010
2837 #define    NV10TCL_ENABLED_LIGHTS_2_POSITIONAL                                          0x00000020
2838 #define    NV10TCL_ENABLED_LIGHTS_2_DIRECTIONAL                                         0x00000030
2839 #define   NV10TCL_ENABLED_LIGHTS_3_SHIFT                                                6
2840 #define   NV10TCL_ENABLED_LIGHTS_3_MASK                                                 0x000000c0
2841 #define    NV10TCL_ENABLED_LIGHTS_3_DISABLED                                            0x00000000
2842 #define    NV10TCL_ENABLED_LIGHTS_3_NONPOSITIONAL                                       0x00000040
2843 #define    NV10TCL_ENABLED_LIGHTS_3_POSITIONAL                                          0x00000080
2844 #define    NV10TCL_ENABLED_LIGHTS_3_DIRECTIONAL                                         0x000000c0
2845 #define   NV10TCL_ENABLED_LIGHTS_4_SHIFT                                                8
2846 #define   NV10TCL_ENABLED_LIGHTS_4_MASK                                                 0x00000300
2847 #define    NV10TCL_ENABLED_LIGHTS_4_DISABLED                                            0x00000000
2848 #define    NV10TCL_ENABLED_LIGHTS_4_NONPOSITIONAL                                       0x00000100
2849 #define    NV10TCL_ENABLED_LIGHTS_4_POSITIONAL                                          0x00000200
2850 #define    NV10TCL_ENABLED_LIGHTS_4_DIRECTIONAL                                         0x00000300
2851 #define   NV10TCL_ENABLED_LIGHTS_5_SHIFT                                                10
2852 #define   NV10TCL_ENABLED_LIGHTS_5_MASK                                                 0x00000c00
2853 #define    NV10TCL_ENABLED_LIGHTS_5_DISABLED                                            0x00000000
2854 #define    NV10TCL_ENABLED_LIGHTS_5_NONPOSITIONAL                                       0x00000400
2855 #define    NV10TCL_ENABLED_LIGHTS_5_POSITIONAL                                          0x00000800
2856 #define    NV10TCL_ENABLED_LIGHTS_5_DIRECTIONAL                                         0x00000c00
2857 #define   NV10TCL_ENABLED_LIGHTS_6_SHIFT                                                12
2858 #define   NV10TCL_ENABLED_LIGHTS_6_MASK                                                 0x00003000
2859 #define    NV10TCL_ENABLED_LIGHTS_6_DISABLED                                            0x00000000
2860 #define    NV10TCL_ENABLED_LIGHTS_6_NONPOSITIONAL                                       0x00001000
2861 #define    NV10TCL_ENABLED_LIGHTS_6_POSITIONAL                                          0x00002000
2862 #define    NV10TCL_ENABLED_LIGHTS_6_DIRECTIONAL                                         0x00003000
2863 #define   NV10TCL_ENABLED_LIGHTS_7_SHIFT                                                14
2864 #define   NV10TCL_ENABLED_LIGHTS_7_MASK                                                 0x0000c000
2865 #define    NV10TCL_ENABLED_LIGHTS_7_DISABLED                                            0x00000000
2866 #define    NV10TCL_ENABLED_LIGHTS_7_NONPOSITIONAL                                       0x00004000
2867 #define    NV10TCL_ENABLED_LIGHTS_7_POSITIONAL                                          0x00008000
2868 #define    NV10TCL_ENABLED_LIGHTS_7_DIRECTIONAL                                         0x0000c000
2869 #define  NV10TCL_TX_GEN_MODE_S(x)                                                       (0x000003c0+((x)*16))
2870 #define  NV10TCL_TX_GEN_MODE_S__SIZE                                                    0x00000002
2871 #define   NV10TCL_TX_GEN_MODE_S_FALSE                                                   0x00000000
2872 #define   NV10TCL_TX_GEN_MODE_S_EYE_LINEAR                                              0x00002400
2873 #define   NV10TCL_TX_GEN_MODE_S_OBJECT_LINEAR                                           0x00002401
2874 #define   NV10TCL_TX_GEN_MODE_S_SPHERE_MAP                                              0x00002402
2875 #define   NV10TCL_TX_GEN_MODE_S_NORMAL_MAP                                              0x00008511
2876 #define   NV10TCL_TX_GEN_MODE_S_REFLECTION_MAP                                          0x00008512
2877 #define  NV10TCL_TX_GEN_MODE_T(x)                                                       (0x000003c4+((x)*16))
2878 #define  NV10TCL_TX_GEN_MODE_T__SIZE                                                    0x00000002
2879 #define   NV10TCL_TX_GEN_MODE_T_FALSE                                                   0x00000000
2880 #define   NV10TCL_TX_GEN_MODE_T_EYE_LINEAR                                              0x00002400
2881 #define   NV10TCL_TX_GEN_MODE_T_OBJECT_LINEAR                                           0x00002401
2882 #define   NV10TCL_TX_GEN_MODE_T_SPHERE_MAP                                              0x00002402
2883 #define   NV10TCL_TX_GEN_MODE_T_NORMAL_MAP                                              0x00008511
2884 #define   NV10TCL_TX_GEN_MODE_T_REFLECTION_MAP                                          0x00008512
2885 #define  NV10TCL_TX_GEN_MODE_R(x)                                                       (0x000003c8+((x)*16))
2886 #define  NV10TCL_TX_GEN_MODE_R__SIZE                                                    0x00000002
2887 #define   NV10TCL_TX_GEN_MODE_R_FALSE                                                   0x00000000
2888 #define   NV10TCL_TX_GEN_MODE_R_EYE_LINEAR                                              0x00002400
2889 #define   NV10TCL_TX_GEN_MODE_R_OBJECT_LINEAR                                           0x00002401
2890 #define   NV10TCL_TX_GEN_MODE_R_SPHERE_MAP                                              0x00002402
2891 #define   NV10TCL_TX_GEN_MODE_R_NORMAL_MAP                                              0x00008511
2892 #define   NV10TCL_TX_GEN_MODE_R_REFLECTION_MAP                                          0x00008512
2893 #define  NV10TCL_TX_GEN_MODE_Q(x)                                                       (0x000003cc+((x)*16))
2894 #define  NV10TCL_TX_GEN_MODE_Q__SIZE                                                    0x00000002
2895 #define   NV10TCL_TX_GEN_MODE_Q_FALSE                                                   0x00000000
2896 #define   NV10TCL_TX_GEN_MODE_Q_EYE_LINEAR                                              0x00002400
2897 #define   NV10TCL_TX_GEN_MODE_Q_OBJECT_LINEAR                                           0x00002401
2898 #define   NV10TCL_TX_GEN_MODE_Q_SPHERE_MAP                                              0x00002402
2899 #define   NV10TCL_TX_GEN_MODE_Q_NORMAL_MAP                                              0x00008511
2900 #define   NV10TCL_TX_GEN_MODE_Q_REFLECTION_MAP                                          0x00008512
2901 #define  NV10TCL_TX_MATRIX_ENABLE(x)                                                    (0x000003e0+((x)*4))
2902 #define  NV10TCL_TX_MATRIX_ENABLE__SIZE                                                 0x00000002
2903 #define  NV10TCL_VIEW_MATRIX_ENABLE                                                     0x000003e8
2904 #define   NV10TCL_VIEW_MATRIX_ENABLE_MODELVIEW1                                         (1 <<  0)
2905 #define   NV10TCL_VIEW_MATRIX_ENABLE_MODELVIEW0                                         (1 <<  1)
2906 #define   NV10TCL_VIEW_MATRIX_ENABLE_PROJECTION                                         (1 <<  2)
2907 #define  NV10TCL_POINT_SIZE                                                             0x000003ec
2908 #define  NV10TCL_MODELVIEW0_MATRIX(x)                                                   (0x00000400+((x)*4))
2909 #define  NV10TCL_MODELVIEW0_MATRIX__SIZE                                                0x00000010
2910 #define  NV10TCL_MODELVIEW1_MATRIX(x)                                                   (0x00000440+((x)*4))
2911 #define  NV10TCL_MODELVIEW1_MATRIX__SIZE                                                0x00000010
2912 #define  NV10TCL_INVERSE_MODELVIEW0_MATRIX(x)                                           (0x00000480+((x)*4))
2913 #define  NV10TCL_INVERSE_MODELVIEW0_MATRIX__SIZE                                        0x00000010
2914 #define  NV10TCL_INVERSE_MODELVIEW1_MATRIX(x)                                           (0x000004c0+((x)*4))
2915 #define  NV10TCL_INVERSE_MODELVIEW1_MATRIX__SIZE                                        0x00000010
2916 #define  NV10TCL_PROJECTION_MATRIX(x)                                                   (0x00000500+((x)*4))
2917 #define  NV10TCL_PROJECTION_MATRIX__SIZE                                                0x00000010
2918 #define  NV10TCL_TX0_MATRIX(x)                                                          (0x00000540+((x)*4))
2919 #define  NV10TCL_TX0_MATRIX__SIZE                                                       0x00000010
2920 #define  NV10TCL_TX1_MATRIX(x)                                                          (0x00000580+((x)*4))
2921 #define  NV10TCL_TX1_MATRIX__SIZE                                                       0x00000010
2922 #define  NV10TCL_TX_GEN_COEFF_S_A(x)                                                    (0x00000600+((x)*64))
2923 #define  NV10TCL_TX_GEN_COEFF_S_A__SIZE                                                 0x00000002
2924 #define  NV10TCL_TX_GEN_COEFF_S_B(x)                                                    (0x00000604+((x)*64))
2925 #define  NV10TCL_TX_GEN_COEFF_S_B__SIZE                                                 0x00000002
2926 #define  NV10TCL_TX_GEN_COEFF_S_C(x)                                                    (0x00000608+((x)*64))
2927 #define  NV10TCL_TX_GEN_COEFF_S_C__SIZE                                                 0x00000002
2928 #define  NV10TCL_TX_GEN_COEFF_S_D(x)                                                    (0x0000060c+((x)*64))
2929 #define  NV10TCL_TX_GEN_COEFF_S_D__SIZE                                                 0x00000002
2930 #define  NV10TCL_TX_GEN_COEFF_T_A(x)                                                    (0x00000610+((x)*64))
2931 #define  NV10TCL_TX_GEN_COEFF_T_A__SIZE                                                 0x00000002
2932 #define  NV10TCL_TX_GEN_COEFF_T_B(x)                                                    (0x00000614+((x)*64))
2933 #define  NV10TCL_TX_GEN_COEFF_T_B__SIZE                                                 0x00000002
2934 #define  NV10TCL_TX_GEN_COEFF_T_C(x)                                                    (0x00000618+((x)*64))
2935 #define  NV10TCL_TX_GEN_COEFF_T_C__SIZE                                                 0x00000002
2936 #define  NV10TCL_TX_GEN_COEFF_T_D(x)                                                    (0x0000061c+((x)*64))
2937 #define  NV10TCL_TX_GEN_COEFF_T_D__SIZE                                                 0x00000002
2938 #define  NV10TCL_TX_GEN_COEFF_R_A(x)                                                    (0x00000620+((x)*64))
2939 #define  NV10TCL_TX_GEN_COEFF_R_A__SIZE                                                 0x00000002
2940 #define  NV10TCL_TX_GEN_COEFF_R_B(x)                                                    (0x00000624+((x)*64))
2941 #define  NV10TCL_TX_GEN_COEFF_R_B__SIZE                                                 0x00000002
2942 #define  NV10TCL_TX_GEN_COEFF_R_C(x)                                                    (0x00000628+((x)*64))
2943 #define  NV10TCL_TX_GEN_COEFF_R_C__SIZE                                                 0x00000002
2944 #define  NV10TCL_TX_GEN_COEFF_R_D(x)                                                    (0x0000062c+((x)*64))
2945 #define  NV10TCL_TX_GEN_COEFF_R_D__SIZE                                                 0x00000002
2946 #define  NV10TCL_TX_GEN_COEFF_Q_A(x)                                                    (0x00000630+((x)*64))
2947 #define  NV10TCL_TX_GEN_COEFF_Q_A__SIZE                                                 0x00000002
2948 #define  NV10TCL_TX_GEN_COEFF_Q_B(x)                                                    (0x00000634+((x)*64))
2949 #define  NV10TCL_TX_GEN_COEFF_Q_B__SIZE                                                 0x00000002
2950 #define  NV10TCL_TX_GEN_COEFF_Q_C(x)                                                    (0x00000638+((x)*64))
2951 #define  NV10TCL_TX_GEN_COEFF_Q_C__SIZE                                                 0x00000002
2952 #define  NV10TCL_TX_GEN_COEFF_Q_D(x)                                                    (0x0000063c+((x)*64))
2953 #define  NV10TCL_TX_GEN_COEFF_Q_D__SIZE                                                 0x00000002
2954 #define  NV10TCL_FOG_EQUATION_CONSTANT                                                  0x00000680
2955 #define  NV10TCL_FOG_EQUATION_LINEAR                                                    0x00000684
2956 #define  NV10TCL_FOG_EQUATION_QUADRATIC                                                 0x00000688
2957 #define  NV10TCL_MATERIAL_SHININESS(x)                                                  (0x000006a0+((x)*4))
2958 #define  NV10TCL_MATERIAL_SHININESS__SIZE                                               0x00000006
2959 #define  NV10TCL_LIGHT_MODEL_AMBIENT_R                                                  0x000006c4
2960 #define  NV10TCL_LIGHT_MODEL_AMBIENT_G                                                  0x000006c8
2961 #define  NV10TCL_LIGHT_MODEL_AMBIENT_B                                                  0x000006cc
2962 #define  NV10TCL_VIEWPORT_TRANSLATE_X                                                   0x000006e8
2963 #define  NV10TCL_VIEWPORT_TRANSLATE_Y                                                   0x000006ec
2964 #define  NV10TCL_VIEWPORT_TRANSLATE_Z                                                   0x000006f0
2965 #define  NV10TCL_VIEWPORT_TRANSLATE_W                                                   0x000006f4
2966 #define  NV10TCL_POINT_PARAMETER(x)                                                     (0x000006f8+((x)*4))
2967 #define  NV10TCL_POINT_PARAMETER__SIZE                                                  0x00000008
2968 #define  NV10TCL_LIGHT_AMBIENT_R(x)                                                     (0x00000800+((x)*128))
2969 #define  NV10TCL_LIGHT_AMBIENT_R__SIZE                                                  0x00000008
2970 #define  NV10TCL_LIGHT_AMBIENT_G(x)                                                     (0x00000804+((x)*128))
2971 #define  NV10TCL_LIGHT_AMBIENT_G__SIZE                                                  0x00000008
2972 #define  NV10TCL_LIGHT_AMBIENT_B(x)                                                     (0x00000808+((x)*128))
2973 #define  NV10TCL_LIGHT_AMBIENT_B__SIZE                                                  0x00000008
2974 #define  NV10TCL_LIGHT_DIFFUSE_R(x)                                                     (0x0000080c+((x)*128))
2975 #define  NV10TCL_LIGHT_DIFFUSE_R__SIZE                                                  0x00000008
2976 #define  NV10TCL_LIGHT_DIFFUSE_G(x)                                                     (0x00000810+((x)*128))
2977 #define  NV10TCL_LIGHT_DIFFUSE_G__SIZE                                                  0x00000008
2978 #define  NV10TCL_LIGHT_DIFFUSE_B(x)                                                     (0x00000814+((x)*128))
2979 #define  NV10TCL_LIGHT_DIFFUSE_B__SIZE                                                  0x00000008
2980 #define  NV10TCL_LIGHT_SPECULAR_R(x)                                                    (0x00000818+((x)*128))
2981 #define  NV10TCL_LIGHT_SPECULAR_R__SIZE                                                 0x00000008
2982 #define  NV10TCL_LIGHT_SPECULAR_G(x)                                                    (0x0000081c+((x)*128))
2983 #define  NV10TCL_LIGHT_SPECULAR_G__SIZE                                                 0x00000008
2984 #define  NV10TCL_LIGHT_SPECULAR_B(x)                                                    (0x00000820+((x)*128))
2985 #define  NV10TCL_LIGHT_SPECULAR_B__SIZE                                                 0x00000008
2986 #define  NV10TCL_LIGHT_HALF_VECTOR_X(x)                                                 (0x00000828+((x)*128))
2987 #define  NV10TCL_LIGHT_HALF_VECTOR_X__SIZE                                              0x00000008
2988 #define  NV10TCL_LIGHT_HALF_VECTOR_Y(x)                                                 (0x0000082c+((x)*128))
2989 #define  NV10TCL_LIGHT_HALF_VECTOR_Y__SIZE                                              0x00000008
2990 #define  NV10TCL_LIGHT_HALF_VECTOR_Z(x)                                                 (0x00000830+((x)*128))
2991 #define  NV10TCL_LIGHT_HALF_VECTOR_Z__SIZE                                              0x00000008
2992 #define  NV10TCL_LIGHT_DIRECTION_X(x)                                                   (0x00000834+((x)*128))
2993 #define  NV10TCL_LIGHT_DIRECTION_X__SIZE                                                0x00000008
2994 #define  NV10TCL_LIGHT_DIRECTION_Y(x)                                                   (0x00000838+((x)*128))
2995 #define  NV10TCL_LIGHT_DIRECTION_Y__SIZE                                                0x00000008
2996 #define  NV10TCL_LIGHT_DIRECTION_Z(x)                                                   (0x0000083c+((x)*128))
2997 #define  NV10TCL_LIGHT_DIRECTION_Z__SIZE                                                0x00000008
2998 #define  NV10TCL_LIGHT_SPOT_CUTOFF_A(x)                                                 (0x00000840+((x)*128))
2999 #define  NV10TCL_LIGHT_SPOT_CUTOFF_A__SIZE                                              0x00000008
3000 #define  NV10TCL_LIGHT_SPOT_CUTOFF_B(x)                                                 (0x00000844+((x)*128))
3001 #define  NV10TCL_LIGHT_SPOT_CUTOFF_B__SIZE                                              0x00000008
3002 #define  NV10TCL_LIGHT_SPOT_CUTOFF_C(x)                                                 (0x00000848+((x)*128))
3003 #define  NV10TCL_LIGHT_SPOT_CUTOFF_C__SIZE                                              0x00000008
3004 #define  NV10TCL_LIGHT_SPOT_DIR_X(x)                                                    (0x0000084c+((x)*128))
3005 #define  NV10TCL_LIGHT_SPOT_DIR_X__SIZE                                                 0x00000008
3006 #define  NV10TCL_LIGHT_SPOT_DIR_Y(x)                                                    (0x00000850+((x)*128))
3007 #define  NV10TCL_LIGHT_SPOT_DIR_Y__SIZE                                                 0x00000008
3008 #define  NV10TCL_LIGHT_SPOT_DIR_Z(x)                                                    (0x00000854+((x)*128))
3009 #define  NV10TCL_LIGHT_SPOT_DIR_Z__SIZE                                                 0x00000008
3010 #define  NV10TCL_LIGHT_SPOT_CUTOFF_D(x)                                                 (0x00000858+((x)*128))
3011 #define  NV10TCL_LIGHT_SPOT_CUTOFF_D__SIZE                                              0x00000008
3012 #define  NV10TCL_LIGHT_POSITION_X(x)                                                    (0x0000085c+((x)*128))
3013 #define  NV10TCL_LIGHT_POSITION_X__SIZE                                                 0x00000008
3014 #define  NV10TCL_LIGHT_POSITION_Y(x)                                                    (0x00000860+((x)*128))
3015 #define  NV10TCL_LIGHT_POSITION_Y__SIZE                                                 0x00000008
3016 #define  NV10TCL_LIGHT_POSITION_Z(x)                                                    (0x00000864+((x)*128))
3017 #define  NV10TCL_LIGHT_POSITION_Z__SIZE                                                 0x00000008
3018 #define  NV10TCL_LIGHT_ATTENUATION_CONSTANT(x)                                          (0x00000868+((x)*128))
3019 #define  NV10TCL_LIGHT_ATTENUATION_CONSTANT__SIZE                                       0x00000008
3020 #define  NV10TCL_LIGHT_ATTENUATION_LINEAR(x)                                            (0x0000086c+((x)*128))
3021 #define  NV10TCL_LIGHT_ATTENUATION_LINEAR__SIZE                                         0x00000008
3022 #define  NV10TCL_LIGHT_ATTENUATION_QUADRATIC(x)                                         (0x00000870+((x)*128))
3023 #define  NV10TCL_LIGHT_ATTENUATION_QUADRATIC__SIZE                                      0x00000008
3024 #define  NV10TCL_VERTEX_POS_3F_X                                                        0x00000c00
3025 #define  NV10TCL_VERTEX_POS_3F_Y                                                        0x00000c04
3026 #define  NV10TCL_VERTEX_POS_3F_Z                                                        0x00000c08
3027 #define  NV10TCL_VERTEX_POS_4F_X                                                        0x00000c18
3028 #define  NV10TCL_VERTEX_POS_4F_Y                                                        0x00000c1c
3029 #define  NV10TCL_VERTEX_POS_4F_Z                                                        0x00000c20
3030 #define  NV10TCL_VERTEX_POS_4F_W                                                        0x00000c24
3031 #define  NV10TCL_VERTEX_NOR_3F_X                                                        0x00000c30
3032 #define  NV10TCL_VERTEX_NOR_3F_Y                                                        0x00000c34
3033 #define  NV10TCL_VERTEX_NOR_3F_Z                                                        0x00000c38
3034 #define  NV10TCL_VERTEX_NOR_3I_XY                                                       0x00000c40
3035 #define   NV10TCL_VERTEX_NOR_3I_XY_X_SHIFT                                              0
3036 #define   NV10TCL_VERTEX_NOR_3I_XY_X_MASK                                               0x0000ffff
3037 #define   NV10TCL_VERTEX_NOR_3I_XY_Y_SHIFT                                              16
3038 #define   NV10TCL_VERTEX_NOR_3I_XY_Y_MASK                                               0xffff0000
3039 #define  NV10TCL_VERTEX_NOR_3I_Z                                                        0x00000c44
3040 #define   NV10TCL_VERTEX_NOR_3I_Z_Z_SHIFT                                               0
3041 #define   NV10TCL_VERTEX_NOR_3I_Z_Z_MASK                                                0x0000ffff
3042 #define  NV10TCL_VERTEX_COL_4F_R                                                        0x00000c50
3043 #define  NV10TCL_VERTEX_COL_4F_G                                                        0x00000c54
3044 #define  NV10TCL_VERTEX_COL_4F_B                                                        0x00000c58
3045 #define  NV10TCL_VERTEX_COL_4F_A                                                        0x00000c5c
3046 #define  NV10TCL_VERTEX_COL_3F_R                                                        0x00000c60
3047 #define  NV10TCL_VERTEX_COL_3F_G                                                        0x00000c64
3048 #define  NV10TCL_VERTEX_COL_3F_B                                                        0x00000c68
3049 #define  NV10TCL_VERTEX_COL_4I                                                          0x00000c6c
3050 #define   NV10TCL_VERTEX_COL_4I_R_SHIFT                                                 0
3051 #define   NV10TCL_VERTEX_COL_4I_R_MASK                                                  0x000000ff
3052 #define   NV10TCL_VERTEX_COL_4I_G_SHIFT                                                 8
3053 #define   NV10TCL_VERTEX_COL_4I_G_MASK                                                  0x0000ff00
3054 #define   NV10TCL_VERTEX_COL_4I_B_SHIFT                                                 16
3055 #define   NV10TCL_VERTEX_COL_4I_B_MASK                                                  0x00ff0000
3056 #define   NV10TCL_VERTEX_COL_4I_A_SHIFT                                                 24
3057 #define   NV10TCL_VERTEX_COL_4I_A_MASK                                                  0xff000000
3058 #define  NV10TCL_VERTEX_COL2_3F_R                                                       0x00000c80
3059 #define  NV10TCL_VERTEX_COL2_3F_G                                                       0x00000c84
3060 #define  NV10TCL_VERTEX_COL2_3F_B                                                       0x00000c88
3061 #define  NV10TCL_VERTEX_COL2_3I                                                         0x00000c8c
3062 #define   NV10TCL_VERTEX_COL2_3I_R_SHIFT                                                0
3063 #define   NV10TCL_VERTEX_COL2_3I_R_MASK                                                 0x000000ff
3064 #define   NV10TCL_VERTEX_COL2_3I_G_SHIFT                                                8
3065 #define   NV10TCL_VERTEX_COL2_3I_G_MASK                                                 0x0000ff00
3066 #define   NV10TCL_VERTEX_COL2_3I_B_SHIFT                                                16
3067 #define   NV10TCL_VERTEX_COL2_3I_B_MASK                                                 0x00ff0000
3068 #define  NV10TCL_VERTEX_TX0_2F_S                                                        0x00000c90
3069 #define  NV10TCL_VERTEX_TX0_2F_T                                                        0x00000c94
3070 #define  NV10TCL_VERTEX_TX0_2I                                                          0x00000c98
3071 #define   NV10TCL_VERTEX_TX0_2I_S_SHIFT                                                 0
3072 #define   NV10TCL_VERTEX_TX0_2I_S_MASK                                                  0x0000ffff
3073 #define   NV10TCL_VERTEX_TX0_2I_T_SHIFT                                                 16
3074 #define   NV10TCL_VERTEX_TX0_2I_T_MASK                                                  0xffff0000
3075 #define  NV10TCL_VERTEX_TX0_4F_S                                                        0x00000ca0
3076 #define  NV10TCL_VERTEX_TX0_4F_T                                                        0x00000ca4
3077 #define  NV10TCL_VERTEX_TX0_4F_R                                                        0x00000ca8
3078 #define  NV10TCL_VERTEX_TX0_4F_Q                                                        0x00000cac
3079 #define  NV10TCL_VERTEX_TX0_4I_ST                                                       0x00000cb0
3080 #define   NV10TCL_VERTEX_TX0_4I_ST_S_SHIFT                                              0
3081 #define   NV10TCL_VERTEX_TX0_4I_ST_S_MASK                                               0x0000ffff
3082 #define   NV10TCL_VERTEX_TX0_4I_ST_T_SHIFT                                              16
3083 #define   NV10TCL_VERTEX_TX0_4I_ST_T_MASK                                               0xffff0000
3084 #define  NV10TCL_VERTEX_TX0_4I_RQ                                                       0x00000cb4
3085 #define   NV10TCL_VERTEX_TX0_4I_RQ_R_SHIFT                                              0
3086 #define   NV10TCL_VERTEX_TX0_4I_RQ_R_MASK                                               0x0000ffff
3087 #define   NV10TCL_VERTEX_TX0_4I_RQ_Q_SHIFT                                              16
3088 #define   NV10TCL_VERTEX_TX0_4I_RQ_Q_MASK                                               0xffff0000
3089 #define  NV10TCL_VERTEX_TX1_2F_S                                                        0x00000cb8
3090 #define  NV10TCL_VERTEX_TX1_2F_T                                                        0x00000cbc
3091 #define  NV10TCL_VERTEX_TX1_2I                                                          0x00000cc0
3092 #define   NV10TCL_VERTEX_TX1_2I_S_SHIFT                                                 0
3093 #define   NV10TCL_VERTEX_TX1_2I_S_MASK                                                  0x0000ffff
3094 #define   NV10TCL_VERTEX_TX1_2I_T_SHIFT                                                 16
3095 #define   NV10TCL_VERTEX_TX1_2I_T_MASK                                                  0xffff0000
3096 #define  NV10TCL_VERTEX_TX1_4F_S                                                        0x00000cc8
3097 #define  NV10TCL_VERTEX_TX1_4F_T                                                        0x00000ccc
3098 #define  NV10TCL_VERTEX_TX1_4F_R                                                        0x00000cd0
3099 #define  NV10TCL_VERTEX_TX1_4F_Q                                                        0x00000cd4
3100 #define  NV10TCL_VERTEX_TX1_4I_ST                                                       0x00000cd8
3101 #define   NV10TCL_VERTEX_TX1_4I_ST_S_SHIFT                                              0
3102 #define   NV10TCL_VERTEX_TX1_4I_ST_S_MASK                                               0x0000ffff
3103 #define   NV10TCL_VERTEX_TX1_4I_ST_T_SHIFT                                              16
3104 #define   NV10TCL_VERTEX_TX1_4I_ST_T_MASK                                               0xffff0000
3105 #define  NV10TCL_VERTEX_TX1_4I_RQ                                                       0x00000cdc
3106 #define   NV10TCL_VERTEX_TX1_4I_RQ_R_SHIFT                                              0
3107 #define   NV10TCL_VERTEX_TX1_4I_RQ_R_MASK                                               0x0000ffff
3108 #define   NV10TCL_VERTEX_TX1_4I_RQ_Q_SHIFT                                              16
3109 #define   NV10TCL_VERTEX_TX1_4I_RQ_Q_MASK                                               0xffff0000
3110 #define  NV10TCL_VERTEX_FOG_1F                                                          0x00000ce0
3111 #define  NV10TCL_VERTEX_WGH_1F                                                          0x00000ce4
3112 #define  NV10TCL_EDGEFLAG_ENABLE                                                        0x00000cec
3113 #define  NV10TCL_VERTEX_ARRAY_VALIDATE                                                  0x00000cf0
3114 #define  NV10TCL_VTXBUF_ADDRESS(x)                                                      (0x00000d00+((x)*8))
3115 #define  NV10TCL_VTXBUF_ADDRESS__SIZE                                                   0x00000008
3116 #define  NV10TCL_VTXFMT(x)                                                              (0x00000d04+((x)*8))
3117 #define  NV10TCL_VTXFMT__SIZE                                                           0x00000008
3118 #define   NV10TCL_VTXFMT_TYPE_SHIFT                                                     0
3119 #define   NV10TCL_VTXFMT_TYPE_MASK                                                      0x0000000f
3120 #define    NV10TCL_VTXFMT_TYPE_BYTE_BGRA                                                0x00000000
3121 #define    NV10TCL_VTXFMT_TYPE_SHORT                                                    0x00000001
3122 #define    NV10TCL_VTXFMT_TYPE_FLOAT                                                    0x00000002
3123 #define    NV10TCL_VTXFMT_TYPE_BYTE_RGBA                                                0x00000004
3124 #define   NV10TCL_VTXFMT_FIELDS_SHIFT                                                   4
3125 #define   NV10TCL_VTXFMT_FIELDS_MASK                                                    0x000000f0
3126 #define   NV10TCL_VTXFMT_STRIDE_SHIFT                                                   8
3127 #define   NV10TCL_VTXFMT_STRIDE_MASK                                                    0x0000ff00
3128 #define   NV10TCL_VTXFMT_POS_HOMOGENEOUS                                                (1 << 24)
3129 #define  NV10TCL_VERTEX_BEGIN_END                                                       0x00000dfc
3130 #define   NV10TCL_VERTEX_BEGIN_END_STOP                                                 0x00000000
3131 #define   NV10TCL_VERTEX_BEGIN_END_POINTS                                               0x00000001
3132 #define   NV10TCL_VERTEX_BEGIN_END_LINES                                                0x00000002
3133 #define   NV10TCL_VERTEX_BEGIN_END_LINE_LOOP                                            0x00000003
3134 #define   NV10TCL_VERTEX_BEGIN_END_LINE_STRIP                                           0x00000004
3135 #define   NV10TCL_VERTEX_BEGIN_END_TRIANGLES                                            0x00000005
3136 #define   NV10TCL_VERTEX_BEGIN_END_TRIANGLE_STRIP                                       0x00000006
3137 #define   NV10TCL_VERTEX_BEGIN_END_TRIANGLE_FAN                                         0x00000007
3138 #define   NV10TCL_VERTEX_BEGIN_END_QUADS                                                0x00000008
3139 #define   NV10TCL_VERTEX_BEGIN_END_QUAD_STRIP                                           0x00000009
3140 #define   NV10TCL_VERTEX_BEGIN_END_POLYGON                                              0x0000000a
3141 #define  NV10TCL_VB_ELEMENT_U16                                                         0x00000e00
3142 #define   NV10TCL_VB_ELEMENT_U16_I0_SHIFT                                               0
3143 #define   NV10TCL_VB_ELEMENT_U16_I0_MASK                                                0x0000ffff
3144 #define   NV10TCL_VB_ELEMENT_U16_I1_SHIFT                                               16
3145 #define   NV10TCL_VB_ELEMENT_U16_I1_MASK                                                0xffff0000
3146 #define  NV10TCL_VB_ELEMENT_U32                                                         0x00001100
3147 #define  NV10TCL_VERTEX_BUFFER_BEGIN_END                                                0x000013fc
3148 #define   NV10TCL_VERTEX_BUFFER_BEGIN_END_STOP                                          0x00000000
3149 #define   NV10TCL_VERTEX_BUFFER_BEGIN_END_POINTS                                        0x00000001
3150 #define   NV10TCL_VERTEX_BUFFER_BEGIN_END_LINES                                         0x00000002
3151 #define   NV10TCL_VERTEX_BUFFER_BEGIN_END_LINE_LOOP                                     0x00000003
3152 #define   NV10TCL_VERTEX_BUFFER_BEGIN_END_LINE_STRIP                                    0x00000004
3153 #define   NV10TCL_VERTEX_BUFFER_BEGIN_END_TRIANGLES                                     0x00000005
3154 #define   NV10TCL_VERTEX_BUFFER_BEGIN_END_TRIANGLE_STRIP                                0x00000006
3155 #define   NV10TCL_VERTEX_BUFFER_BEGIN_END_TRIANGLE_FAN                                  0x00000007
3156 #define   NV10TCL_VERTEX_BUFFER_BEGIN_END_QUADS                                         0x00000008
3157 #define   NV10TCL_VERTEX_BUFFER_BEGIN_END_QUAD_STRIP                                    0x00000009
3158 #define   NV10TCL_VERTEX_BUFFER_BEGIN_END_POLYGON                                       0x0000000a
3159 #define  NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS                                              0x00001400
3160 #define   NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_SHIFT                                 0
3161 #define   NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_MASK                                  0x0000ffff
3162 #define   NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_LAST_SHIFT                                  24
3163 #define   NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_LAST_MASK                                   0xff000000
3164 #define  NV10TCL_VERTEX_ARRAY_DATA                                                      0x00001800
3165
3166
3167 #define NV11TCL                                                                         0x00000096
3168
3169 #define  NV11TCL_COLOR_LOGIC_OP_ENABLE                                                  0x00000d40
3170 #define  NV11TCL_COLOR_LOGIC_OP_OP                                                      0x00000d44
3171 #define   NV11TCL_COLOR_LOGIC_OP_OP_CLEAR                                               0x00001500
3172 #define   NV11TCL_COLOR_LOGIC_OP_OP_AND                                                 0x00001501
3173 #define   NV11TCL_COLOR_LOGIC_OP_OP_AND_REVERSE                                         0x00001502
3174 #define   NV11TCL_COLOR_LOGIC_OP_OP_COPY                                                0x00001503
3175 #define   NV11TCL_COLOR_LOGIC_OP_OP_AND_INVERTED                                        0x00001504
3176 #define   NV11TCL_COLOR_LOGIC_OP_OP_NOOP                                                0x00001505
3177 #define   NV11TCL_COLOR_LOGIC_OP_OP_XOR                                                 0x00001506
3178 #define   NV11TCL_COLOR_LOGIC_OP_OP_OR                                                  0x00001507
3179 #define   NV11TCL_COLOR_LOGIC_OP_OP_NOR                                                 0x00001508
3180 #define   NV11TCL_COLOR_LOGIC_OP_OP_EQUIV                                               0x00001509
3181 #define   NV11TCL_COLOR_LOGIC_OP_OP_INVERT                                              0x0000150a
3182 #define   NV11TCL_COLOR_LOGIC_OP_OP_OR_REVERSE                                          0x0000150b
3183 #define   NV11TCL_COLOR_LOGIC_OP_OP_COPY_INVERTED                                       0x0000150c
3184 #define   NV11TCL_COLOR_LOGIC_OP_OP_OR_INVERTED                                         0x0000150d
3185 #define   NV11TCL_COLOR_LOGIC_OP_OP_NAND                                                0x0000150e
3186 #define   NV11TCL_COLOR_LOGIC_OP_OP_SET                                                 0x0000150f
3187
3188
3189 #define NV17TCL                                                                         0x00000099
3190
3191 #define  NV17TCL_DMA_IN_MEMORY4                                                         0x000001ac
3192 #define  NV17TCL_DMA_IN_MEMORY5                                                         0x000001b0
3193 #define  NV17TCL_COLOR_MASK_ENABLE                                                      0x000002bc
3194 #define  NV17TCL_LMA_DEPTH_BUFFER_PITCH                                                 0x00000d5c
3195 #define  NV17TCL_LMA_DEPTH_BUFFER_OFFSET                                                0x00000d60
3196 #define  NV17TCL_LMA_DEPTH_FILL_VALUE                                                   0x00000d68
3197 #define  NV17TCL_LMA_DEPTH_BUFFER_CLEAR                                                 0x00000d6c
3198 #define  NV17TCL_LMA_DEPTH_WINDOW_X                                                     0x00001638
3199 #define  NV17TCL_LMA_DEPTH_WINDOW_Y                                                     0x0000163c
3200 #define  NV17TCL_LMA_DEPTH_WINDOW_Z                                                     0x00001640
3201 #define  NV17TCL_LMA_DEPTH_WINDOW_W                                                     0x00001644
3202 #define  NV17TCL_LMA_DEPTH_ENABLE                                                       0x00001658
3203
3204
3205 #define NV03_CONTEXT_SURFACES_2D                                                        0x00000058
3206
3207 #define  NV03_CONTEXT_SURFACES_2D_SYNCHRONIZE                                           0x00000100
3208 #define  NV03_CONTEXT_SURFACES_2D_DMA_NOTIFY                                            0x00000180
3209 #define  NV03_CONTEXT_SURFACES_2D_DMA_SOURCE                                            0x00000184
3210 #define  NV03_CONTEXT_SURFACES_2D_DMA_DESTIN                                            0x00000188
3211 #define  NV03_CONTEXT_SURFACES_2D_COLOR_FORMAT                                          0x00000300
3212 #define  NV03_CONTEXT_SURFACES_2D_PITCH                                                 0x00000304
3213 #define   NV03_CONTEXT_SURFACES_2D_PITCH_SOURCE_SHIFT                                   0
3214 #define   NV03_CONTEXT_SURFACES_2D_PITCH_SOURCE_MASK                                    0x0000ffff
3215 #define   NV03_CONTEXT_SURFACES_2D_PITCH_DESTIN_SHIFT                                   16
3216 #define   NV03_CONTEXT_SURFACES_2D_PITCH_DESTIN_MASK                                    0xffff0000
3217 #define  NV03_CONTEXT_SURFACES_2D_OFFSET_SOURCE                                         0x00000308
3218 #define  NV03_CONTEXT_SURFACES_2D_OFFSET_DESTIN                                         0x0000030c
3219
3220
3221 #define NV03_CONTEXT_SURFACES_3D                                                        0x0000005a
3222
3223 #define  NV03_CONTEXT_SURFACES_3D_SYNCHRONIZE                                           0x00000100
3224 #define  NV03_CONTEXT_SURFACES_3D_DMA_NOTIFY                                            0x00000180
3225 #define  NV03_CONTEXT_SURFACES_3D_DMA_SURFACE                                           0x00000184
3226 #define  NV03_CONTEXT_SURFACES_3D_PITCH                                                 0x00000300
3227 #define  NV03_CONTEXT_SURFACES_3D_OFFSET_COLOR                                          0x00000304
3228 #define  NV03_CONTEXT_SURFACES_3D_OFFSET_ZETA                                           0x00000308
3229
3230
3231 #define NV04_INDEXED_IMAGE_FROM_CPU                                                     0x00000060
3232
3233 #define  NV04_INDEXED_IMAGE_FROM_CPU_NOP                                                0x00000100
3234 #define  NV04_INDEXED_IMAGE_FROM_CPU_NOTIFY                                             0x00000104
3235 #define  NV04_INDEXED_IMAGE_FROM_CPU_PATCH                                              0x0000010c
3236 #define  NV04_INDEXED_IMAGE_FROM_CPU_DMA_NOTIFY                                         0x00000180
3237 #define  NV04_INDEXED_IMAGE_FROM_CPU_DMA_LUT                                            0x00000184
3238 #define  NV04_INDEXED_IMAGE_FROM_CPU_COLOR_KEY                                          0x00000188
3239 #define  NV04_INDEXED_IMAGE_FROM_CPU_CLIP_RECTANGLE                                     0x0000018c
3240 #define  NV04_INDEXED_IMAGE_FROM_CPU_PATTERN                                            0x00000190
3241 #define  NV04_INDEXED_IMAGE_FROM_CPU_ROP                                                0x00000194
3242 #define  NV04_INDEXED_IMAGE_FROM_CPU_BETA1                                              0x00000198
3243 #define  NV04_INDEXED_IMAGE_FROM_CPU_BETA4                                              0x0000019c
3244 #define  NV04_INDEXED_IMAGE_FROM_CPU_SURFACE                                            0x000001a0
3245 #define  NV04_INDEXED_IMAGE_FROM_CPU_OPERATION                                          0x000003e4
3246 #define  NV04_INDEXED_IMAGE_FROM_CPU_COLOR_FORMAT                                       0x000003e8
3247 #define  NV04_INDEXED_IMAGE_FROM_CPU_INDEX_FORMAT                                       0x000003ec
3248 #define  NV04_INDEXED_IMAGE_FROM_CPU_LUT_OFFSET                                         0x000003f0
3249 #define  NV04_INDEXED_IMAGE_FROM_CPU_POINT                                              0x000003f4
3250 #define  NV04_INDEXED_IMAGE_FROM_CPU_SIZE_OUT                                           0x000003f8
3251 #define  NV04_INDEXED_IMAGE_FROM_CPU_SIZE_IN                                            0x000003fc
3252 #define  NV04_INDEXED_IMAGE_FROM_CPU_COLOR(x)                                           (0x00000400+((x)*4))
3253 #define  NV04_INDEXED_IMAGE_FROM_CPU_COLOR__SIZE                                        0x00000700
3254
3255
3256 #define NV05_INDEXED_IMAGE_FROM_CPU                                                     0x00000064
3257
3258 #define  NV05_INDEXED_IMAGE_FROM_CPU_COLOR_CONVERSION                                   0x000003e0
3259
3260
3261 #define NV03_CHANNEL_PIO                                                                0x0000006a
3262
3263
3264
3265 #define NV03_CHANNEL_DMA                                                                0x0000006b
3266
3267
3268
3269 #define NV04_BETA_SOLID                                                                 0x00000072
3270
3271 #define  NV04_BETA_SOLID_NOP                                                            0x00000100
3272 #define  NV04_BETA_SOLID_NOTIFY                                                         0x00000104
3273 #define  NV04_BETA_SOLID_DMA_NOTIFY                                                     0x00000180
3274 #define  NV04_BETA_SOLID_BETA_OUTPUT                                                    0x00000200
3275 #define  NV04_BETA_SOLID_BETA_FACTOR                                                    0x00000300
3276
3277
3278 #define NV10_TEXTURE_FROM_CPU                                                           0x0000007b
3279
3280 #define  NV10_TEXTURE_FROM_CPU_NOP                                                      0x00000100
3281 #define  NV10_TEXTURE_FROM_CPU_NOTIFY                                                   0x00000104
3282 #define  NV10_TEXTURE_FROM_CPU_WAIT_FOR_IDLE                                            0x00000108
3283 #define  NV10_TEXTURE_FROM_CPU_PM_TRIGGER                                               0x00000140
3284 #define  NV10_TEXTURE_FROM_CPU_DMA_NOTIFY                                               0x00000180
3285 #define  NV10_TEXTURE_FROM_CPU_SURFACE                                                  0x00000184
3286 #define  NV10_TEXTURE_FROM_CPU_COLOR_FORMAT                                             0x00000300
3287 #define  NV10_TEXTURE_FROM_CPU_POINT                                                    0x00000304
3288 #define   NV10_TEXTURE_FROM_CPU_POINT_X_SHIFT                                           0
3289 #define   NV10_TEXTURE_FROM_CPU_POINT_X_MASK                                            0x0000ffff
3290 #define   NV10_TEXTURE_FROM_CPU_POINT_Y_SHIFT                                           16
3291 #define   NV10_TEXTURE_FROM_CPU_POINT_Y_MASK                                            0xffff0000
3292 #define  NV10_TEXTURE_FROM_CPU_SIZE                                                     0x00000308
3293 #define   NV10_TEXTURE_FROM_CPU_SIZE_W_SHIFT                                            0
3294 #define   NV10_TEXTURE_FROM_CPU_SIZE_W_MASK                                             0x0000ffff
3295 #define   NV10_TEXTURE_FROM_CPU_SIZE_H_SHIFT                                            16
3296 #define   NV10_TEXTURE_FROM_CPU_SIZE_H_MASK                                             0xffff0000
3297 #define  NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL                                          0x0000030c
3298 #define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_X_SHIFT                                 0
3299 #define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_X_MASK                                  0x0000ffff
3300 #define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_W_SHIFT                                 16
3301 #define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_W_MASK                                  0xffff0000
3302 #define  NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL                                            0x00000310
3303 #define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_Y_SHIFT                                   0
3304 #define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_Y_MASK                                    0x0000ffff
3305 #define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_H_SHIFT                                   16
3306 #define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_H_MASK                                    0xffff0000
3307 #define  NV10_TEXTURE_FROM_CPU_COLOR(x)                                                 (0x00000400+((x)*4))
3308 #define  NV10_TEXTURE_FROM_CPU_COLOR__SIZE                                              0x00000700
3309
3310
3311 #define NV30_TEXTURE_FROM_CPU                                                           0x0000037b
3312
3313
3314
3315 #define NV40_TEXTURE_FROM_CPU                                                           0x0000307b
3316
3317
3318
3319 #define NV10_VIDEO_DISPLAY                                                              0x0000007c
3320
3321
3322
3323 #define NV20TCL                                                                         0x00000097
3324
3325 #define  NV20TCL_NOP                                                                    0x00000100
3326 #define  NV20TCL_NOTIFY                                                                 0x00000104
3327 #define  NV20TCL_DMA_NOTIFY                                                             0x00000180
3328 #define  NV20TCL_DMA_TEXTURE0                                                           0x00000184
3329 #define  NV20TCL_DMA_TEXTURE1                                                           0x00000188
3330 #define  NV20TCL_DMA_COLOR                                                              0x00000194
3331 #define  NV20TCL_DMA_ZETA                                                               0x00000198
3332 #define  NV20TCL_DMA_VTXBUF0                                                            0x0000019c
3333 #define  NV20TCL_DMA_VTXBUF1                                                            0x000001a0
3334 #define  NV20TCL_DMA_FENCE                                                              0x000001a4
3335 #define  NV20TCL_DMA_QUERY                                                              0x000001a8
3336 #define  NV20TCL_RT_HORIZ                                                               0x00000200
3337 #define   NV20TCL_RT_HORIZ_X_SHIFT                                                      0
3338 #define   NV20TCL_RT_HORIZ_X_MASK                                                       0x0000ffff
3339 #define   NV20TCL_RT_HORIZ_W_SHIFT                                                      16
3340 #define   NV20TCL_RT_HORIZ_W_MASK                                                       0xffff0000
3341 #define  NV20TCL_RT_VERT                                                                0x00000204
3342 #define   NV20TCL_RT_VERT_Y_SHIFT                                                       0
3343 #define   NV20TCL_RT_VERT_Y_MASK                                                        0x0000ffff
3344 #define   NV20TCL_RT_VERT_H_SHIFT                                                       16
3345 #define   NV20TCL_RT_VERT_H_MASK                                                        0xffff0000
3346 #define  NV20TCL_RT_FORMAT                                                              0x00000208
3347 #define   NV20TCL_RT_FORMAT_TYPE_SHIFT                                                  8
3348 #define   NV20TCL_RT_FORMAT_TYPE_MASK                                                   0x00000f00
3349 #define    NV20TCL_RT_FORMAT_TYPE_LINEAR                                                0x00000100
3350 #define    NV20TCL_RT_FORMAT_TYPE_SWIZZLED                                              0x00000200
3351 #define   NV20TCL_RT_FORMAT_COLOR_SHIFT                                                 0
3352 #define   NV20TCL_RT_FORMAT_COLOR_MASK                                                  0x0000001f
3353 #define    NV20TCL_RT_FORMAT_COLOR_R5G6B5                                               0x00000003
3354 #define    NV20TCL_RT_FORMAT_COLOR_X8R8G8B8                                             0x00000005
3355 #define    NV20TCL_RT_FORMAT_COLOR_A8R8G8B8                                             0x00000008
3356 #define    NV20TCL_RT_FORMAT_COLOR_B8                                                   0x00000009
3357 #define    NV20TCL_RT_FORMAT_COLOR_UNKNOWN                                              0x0000000d
3358 #define    NV20TCL_RT_FORMAT_COLOR_X8B8G8R8                                             0x0000000f
3359 #define    NV20TCL_RT_FORMAT_COLOR_A8B8G8R8                                             0x00000010
3360 #define  NV20TCL_RT_PITCH                                                               0x0000020c
3361 #define   NV20TCL_RT_PITCH_COLOR_PITCH_SHIFT                                            0
3362 #define   NV20TCL_RT_PITCH_COLOR_PITCH_MASK                                             0x0000ffff
3363 #define   NV20TCL_RT_PITCH_ZETA_PITCH_SHIFT                                             16
3364 #define   NV20TCL_RT_PITCH_ZETA_PITCH_MASK                                              0xffff0000
3365 #define  NV20TCL_COLOR_OFFSET                                                           0x00000210
3366 #define  NV20TCL_ZETA_OFFSET                                                            0x00000214
3367 #define  NV20TCL_RC_IN_ALPHA(x)                                                         (0x00000260+((x)*4))
3368 #define  NV20TCL_RC_IN_ALPHA__SIZE                                                      0x00000008
3369 #define   NV20TCL_RC_IN_ALPHA_D_INPUT_SHIFT                                             0
3370 #define   NV20TCL_RC_IN_ALPHA_D_INPUT_MASK                                              0x0000000f
3371 #define    NV20TCL_RC_IN_ALPHA_D_INPUT_ZERO                                             0x00000000
3372 #define    NV20TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0                                  0x00000001
3373 #define    NV20TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1                                  0x00000002
3374 #define    NV20TCL_RC_IN_ALPHA_D_INPUT_FOG                                              0x00000003
3375 #define    NV20TCL_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR                                    0x00000004
3376 #define    NV20TCL_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR                                  0x00000005
3377 #define    NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE0                                         0x00000008
3378 #define    NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE1                                         0x00000009
3379 #define    NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE0                                           0x0000000c
3380 #define    NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE1                                           0x0000000d
3381 #define    NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR                      0x0000000e
3382 #define    NV20TCL_RC_IN_ALPHA_D_INPUT_E_TIMES_F                                        0x0000000f
3383 #define    NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE2                                         0x0000000a
3384 #define    NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE3                                         0x0000000b
3385 #define   NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE                                         (1 <<  4)
3386 #define    NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE                                   0x00000000
3387 #define    NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA                                  0x00000010
3388 #define   NV20TCL_RC_IN_ALPHA_D_MAPPING_SHIFT                                           5
3389 #define   NV20TCL_RC_IN_ALPHA_D_MAPPING_MASK                                            0x000000e0
3390 #define    NV20TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY                              0x00000000
3391 #define    NV20TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT                                0x00000020
3392 #define    NV20TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL                                  0x00000040
3393 #define    NV20TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE                                  0x00000060
3394 #define    NV20TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL                               0x00000080
3395 #define    NV20TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE                               0x000000a0
3396 #define    NV20TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY                                0x000000c0
3397 #define    NV20TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE                                  0x000000e0
3398 #define   NV20TCL_RC_IN_ALPHA_C_INPUT_SHIFT                                             8
3399 #define   NV20TCL_RC_IN_ALPHA_C_INPUT_MASK                                              0x00000f00
3400 #define    NV20TCL_RC_IN_ALPHA_C_INPUT_ZERO                                             0x00000000
3401 #define    NV20TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0                                  0x00000100
3402 #define    NV20TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1                                  0x00000200
3403 #define    NV20TCL_RC_IN_ALPHA_C_INPUT_FOG                                              0x00000300
3404 #define    NV20TCL_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR                                    0x00000400
3405 #define    NV20TCL_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR                                  0x00000500
3406 #define    NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE0                                         0x00000800
3407 #define    NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE1                                         0x00000900
3408 #define    NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE0                                           0x00000c00
3409 #define    NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE1                                           0x00000d00
3410 #define    NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR                      0x00000e00
3411 #define    NV20TCL_RC_IN_ALPHA_C_INPUT_E_TIMES_F                                        0x00000f00
3412 #define    NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE2                                         0x00000a00
3413 #define    NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE3                                         0x00000b00
3414 #define   NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE                                         (1 << 12)
3415 #define    NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE                                   0x00000000
3416 #define    NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA                                  0x00001000
3417 #define   NV20TCL_RC_IN_ALPHA_C_MAPPING_SHIFT                                           13
3418 #define   NV20TCL_RC_IN_ALPHA_C_MAPPING_MASK                                            0x0000e000
3419 #define    NV20TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY                              0x00000000
3420 #define    NV20TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT                                0x00002000
3421 #define    NV20TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL                                  0x00004000
3422 #define    NV20TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE                                  0x00006000
3423 #define    NV20TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL                               0x00008000
3424 #define    NV20TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE                               0x0000a000
3425 #define    NV20TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY                                0x0000c000
3426 #define    NV20TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE                                  0x0000e000
3427 #define   NV20TCL_RC_IN_ALPHA_B_INPUT_SHIFT                                             16
3428 #define   NV20TCL_RC_IN_ALPHA_B_INPUT_MASK                                              0x000f0000
3429 #define    NV20TCL_RC_IN_ALPHA_B_INPUT_ZERO                                             0x00000000
3430 #define    NV20TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0                                  0x00010000
3431 #define    NV20TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1                                  0x00020000
3432 #define    NV20TCL_RC_IN_ALPHA_B_INPUT_FOG                                              0x00030000
3433 #define    NV20TCL_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR                                    0x00040000
3434 #define    NV20TCL_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR                                  0x00050000
3435 #define    NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE0                                         0x00080000
3436 #define    NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE1                                         0x00090000
3437 #define    NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE0                                           0x000c0000
3438 #define    NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE1                                           0x000d0000
3439 #define    NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR                      0x000e0000
3440 #define    NV20TCL_RC_IN_ALPHA_B_INPUT_E_TIMES_F                                        0x000f0000
3441 #define    NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE2                                         0x000a0000
3442 #define    NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE3                                         0x000b0000
3443 #define   NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE                                         (1 << 20)
3444 #define    NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE                                   0x00000000
3445 #define    NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA                                  0x00100000
3446 #define   NV20TCL_RC_IN_ALPHA_B_MAPPING_SHIFT                                           21
3447 #define   NV20TCL_RC_IN_ALPHA_B_MAPPING_MASK                                            0x00e00000
3448 #define    NV20TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY                              0x00000000
3449 #define    NV20TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT                                0x00200000
3450 #define    NV20TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL                                  0x00400000
3451 #define    NV20TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE                                  0x00600000
3452 #define    NV20TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL                               0x00800000
3453 #define    NV20TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE                               0x00a00000
3454 #define    NV20TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY                                0x00c00000
3455 #define    NV20TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE                                  0x00e00000
3456 #define   NV20TCL_RC_IN_ALPHA_A_INPUT_SHIFT                                             24
3457 #define   NV20TCL_RC_IN_ALPHA_A_INPUT_MASK                                              0x0f000000
3458 #define    NV20TCL_RC_IN_ALPHA_A_INPUT_ZERO                                             0x00000000
3459 #define    NV20TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0                                  0x01000000
3460 #define    NV20TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1                                  0x02000000
3461 #define    NV20TCL_RC_IN_ALPHA_A_INPUT_FOG                                              0x03000000
3462 #define    NV20TCL_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR                                    0x04000000
3463 #define    NV20TCL_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR                                  0x05000000
3464 #define    NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE0                                         0x08000000
3465 #define    NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE1                                         0x09000000
3466 #define    NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE0                                           0x0c000000
3467 #define    NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE1                                           0x0d000000
3468 #define    NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR                      0x0e000000
3469 #define    NV20TCL_RC_IN_ALPHA_A_INPUT_E_TIMES_F                                        0x0f000000
3470 #define    NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE2                                         0x0a000000
3471 #define    NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE3                                         0x0b000000
3472 #define   NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE                                         (1 << 28)
3473 #define    NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE                                   0x00000000
3474 #define    NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA                                  0x10000000
3475 #define   NV20TCL_RC_IN_ALPHA_A_MAPPING_SHIFT                                           29
3476 #define   NV20TCL_RC_IN_ALPHA_A_MAPPING_MASK                                            0xe0000000
3477 #define    NV20TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY                              0x00000000
3478 #define    NV20TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT                                0x20000000
3479 #define    NV20TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL                                  0x40000000
3480 #define    NV20TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE                                  0x60000000
3481 #define    NV20TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL                               0x80000000
3482 #define    NV20TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE                               0xa0000000
3483 #define    NV20TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY                                0xc0000000
3484 #define    NV20TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE                                  0xe0000000
3485 #define  NV20TCL_RC_FINAL0                                                              0x00000288
3486 #define   NV20TCL_RC_FINAL0_D_INPUT_SHIFT                                               0
3487 #define   NV20TCL_RC_FINAL0_D_INPUT_MASK                                                0x0000000f
3488 #define    NV20TCL_RC_FINAL0_D_INPUT_ZERO                                               0x00000000
3489 #define    NV20TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR0                                    0x00000001
3490 #define    NV20TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR1                                    0x00000002
3491 #define    NV20TCL_RC_FINAL0_D_INPUT_FOG                                                0x00000003
3492 #define    NV20TCL_RC_FINAL0_D_INPUT_PRIMARY_COLOR                                      0x00000004
3493 #define    NV20TCL_RC_FINAL0_D_INPUT_SECONDARY_COLOR                                    0x00000005
3494 #define    NV20TCL_RC_FINAL0_D_INPUT_TEXTURE0                                           0x00000008
3495 #define    NV20TCL_RC_FINAL0_D_INPUT_TEXTURE1                                           0x00000009
3496 #define    NV20TCL_RC_FINAL0_D_INPUT_SPARE0                                             0x0000000c
3497 #define    NV20TCL_RC_FINAL0_D_INPUT_SPARE1                                             0x0000000d
3498 #define    NV20TCL_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0000000e
3499 #define    NV20TCL_RC_FINAL0_D_INPUT_E_TIMES_F                                          0x0000000f
3500 #define    NV20TCL_RC_FINAL0_D_INPUT_TEXTURE2                                           0x0000000a
3501 #define    NV20TCL_RC_FINAL0_D_INPUT_TEXTURE3                                           0x0000000b
3502 #define   NV20TCL_RC_FINAL0_D_COMPONENT_USAGE                                           (1 <<  4)
3503 #define    NV20TCL_RC_FINAL0_D_COMPONENT_USAGE_RGB                                      0x00000000
3504 #define    NV20TCL_RC_FINAL0_D_COMPONENT_USAGE_ALPHA                                    0x00000010
3505 #define   NV20TCL_RC_FINAL0_D_MAPPING_SHIFT                                             5
3506 #define   NV20TCL_RC_FINAL0_D_MAPPING_MASK                                              0x000000e0
3507 #define    NV20TCL_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY                                0x00000000
3508 #define    NV20TCL_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT                                  0x00000020
3509 #define    NV20TCL_RC_FINAL0_D_MAPPING_EXPAND_NORMAL                                    0x00000040
3510 #define    NV20TCL_RC_FINAL0_D_MAPPING_EXPAND_NEGATE                                    0x00000060
3511 #define    NV20TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL                                 0x00000080
3512 #define    NV20TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE                                 0x000000a0
3513 #define    NV20TCL_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY                                  0x000000c0
3514 #define    NV20TCL_RC_FINAL0_D_MAPPING_SIGNED_NEGATE                                    0x000000e0
3515 #define   NV20TCL_RC_FINAL0_C_INPUT_SHIFT                                               8
3516 #define   NV20TCL_RC_FINAL0_C_INPUT_MASK                                                0x00000f00
3517 #define    NV20TCL_RC_FINAL0_C_INPUT_ZERO                                               0x00000000
3518 #define    NV20TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR0                                    0x00000100
3519 #define    NV20TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR1                                    0x00000200
3520 #define    NV20TCL_RC_FINAL0_C_INPUT_FOG                                                0x00000300
3521 #define    NV20TCL_RC_FINAL0_C_INPUT_PRIMARY_COLOR                                      0x00000400
3522 #define    NV20TCL_RC_FINAL0_C_INPUT_SECONDARY_COLOR                                    0x00000500
3523 #define    NV20TCL_RC_FINAL0_C_INPUT_TEXTURE0                                           0x00000800
3524 #define    NV20TCL_RC_FINAL0_C_INPUT_TEXTURE1                                           0x00000900
3525 #define    NV20TCL_RC_FINAL0_C_INPUT_SPARE0                                             0x00000c00
3526 #define    NV20TCL_RC_FINAL0_C_INPUT_SPARE1                                             0x00000d00
3527 #define    NV20TCL_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x00000e00
3528 #define    NV20TCL_RC_FINAL0_C_INPUT_E_TIMES_F                                          0x00000f00
3529 #define    NV20TCL_RC_FINAL0_C_INPUT_TEXTURE2                                           0x00000a00
3530 #define    NV20TCL_RC_FINAL0_C_INPUT_TEXTURE3                                           0x00000b00
3531 #define   NV20TCL_RC_FINAL0_C_COMPONENT_USAGE                                           (1 << 12)
3532 #define    NV20TCL_RC_FINAL0_C_COMPONENT_USAGE_RGB                                      0x00000000
3533 #define    NV20TCL_RC_FINAL0_C_COMPONENT_USAGE_ALPHA                                    0x00001000
3534 #define   NV20TCL_RC_FINAL0_C_MAPPING_SHIFT                                             13
3535 #define   NV20TCL_RC_FINAL0_C_MAPPING_MASK                                              0x0000e000
3536 #define    NV20TCL_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY                                0x00000000
3537 #define    NV20TCL_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT                                  0x00002000
3538 #define    NV20TCL_RC_FINAL0_C_MAPPING_EXPAND_NORMAL                                    0x00004000
3539 #define    NV20TCL_RC_FINAL0_C_MAPPING_EXPAND_NEGATE                                    0x00006000
3540 #define    NV20TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL                                 0x00008000
3541 #define    NV20TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE                                 0x0000a000
3542 #define    NV20TCL_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY                                  0x0000c000
3543 #define    NV20TCL_RC_FINAL0_C_MAPPING_SIGNED_NEGATE                                    0x0000e000
3544 #define   NV20TCL_RC_FINAL0_B_INPUT_SHIFT                                               16
3545 #define   NV20TCL_RC_FINAL0_B_INPUT_MASK                                                0x000f0000
3546 #define    NV20TCL_RC_FINAL0_B_INPUT_ZERO                                               0x00000000
3547 #define    NV20TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR0                                    0x00010000
3548 #define    NV20TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR1                                    0x00020000
3549 #define    NV20TCL_RC_FINAL0_B_INPUT_FOG                                                0x00030000
3550 #define    NV20TCL_RC_FINAL0_B_INPUT_PRIMARY_COLOR                                      0x00040000
3551 #define    NV20TCL_RC_FINAL0_B_INPUT_SECONDARY_COLOR                                    0x00050000
3552 #define    NV20TCL_RC_FINAL0_B_INPUT_TEXTURE0                                           0x00080000
3553 #define    NV20TCL_RC_FINAL0_B_INPUT_TEXTURE1                                           0x00090000
3554 #define    NV20TCL_RC_FINAL0_B_INPUT_SPARE0                                             0x000c0000
3555 #define    NV20TCL_RC_FINAL0_B_INPUT_SPARE1                                             0x000d0000
3556 #define    NV20TCL_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x000e0000
3557 #define    NV20TCL_RC_FINAL0_B_INPUT_E_TIMES_F                                          0x000f0000
3558 #define    NV20TCL_RC_FINAL0_B_INPUT_TEXTURE2                                           0x000a0000
3559 #define    NV20TCL_RC_FINAL0_B_INPUT_TEXTURE3                                           0x000b0000
3560 #define   NV20TCL_RC_FINAL0_B_COMPONENT_USAGE                                           (1 << 20)
3561 #define    NV20TCL_RC_FINAL0_B_COMPONENT_USAGE_RGB                                      0x00000000
3562 #define    NV20TCL_RC_FINAL0_B_COMPONENT_USAGE_ALPHA                                    0x00100000
3563 #define   NV20TCL_RC_FINAL0_B_MAPPING_SHIFT                                             21
3564 #define   NV20TCL_RC_FINAL0_B_MAPPING_MASK                                              0x00e00000
3565 #define    NV20TCL_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY                                0x00000000
3566 #define    NV20TCL_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT                                  0x00200000
3567 #define    NV20TCL_RC_FINAL0_B_MAPPING_EXPAND_NORMAL                                    0x00400000
3568 #define    NV20TCL_RC_FINAL0_B_MAPPING_EXPAND_NEGATE                                    0x00600000
3569 #define    NV20TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL                                 0x00800000
3570 #define    NV20TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE                                 0x00a00000
3571 #define    NV20TCL_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY                                  0x00c00000
3572 #define    NV20TCL_RC_FINAL0_B_MAPPING_SIGNED_NEGATE                                    0x00e00000
3573 #define   NV20TCL_RC_FINAL0_A_INPUT_SHIFT                                               24
3574 #define   NV20TCL_RC_FINAL0_A_INPUT_MASK                                                0x0f000000
3575 #define    NV20TCL_RC_FINAL0_A_INPUT_ZERO                                               0x00000000
3576 #define    NV20TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR0                                    0x01000000
3577 #define    NV20TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR1                                    0x02000000
3578 #define    NV20TCL_RC_FINAL0_A_INPUT_FOG                                                0x03000000
3579 #define    NV20TCL_RC_FINAL0_A_INPUT_PRIMARY_COLOR                                      0x04000000
3580 #define    NV20TCL_RC_FINAL0_A_INPUT_SECONDARY_COLOR                                    0x05000000
3581 #define    NV20TCL_RC_FINAL0_A_INPUT_TEXTURE0                                           0x08000000
3582 #define    NV20TCL_RC_FINAL0_A_INPUT_TEXTURE1                                           0x09000000
3583 #define    NV20TCL_RC_FINAL0_A_INPUT_SPARE0                                             0x0c000000
3584 #define    NV20TCL_RC_FINAL0_A_INPUT_SPARE1                                             0x0d000000
3585 #define    NV20TCL_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0e000000
3586 #define    NV20TCL_RC_FINAL0_A_INPUT_E_TIMES_F                                          0x0f000000
3587 #define    NV20TCL_RC_FINAL0_A_INPUT_TEXTURE2                                           0x0a000000
3588 #define    NV20TCL_RC_FINAL0_A_INPUT_TEXTURE3                                           0x0b000000
3589 #define   NV20TCL_RC_FINAL0_A_COMPONENT_USAGE                                           (1 << 28)
3590 #define    NV20TCL_RC_FINAL0_A_COMPONENT_USAGE_RGB                                      0x00000000
3591 #define    NV20TCL_RC_FINAL0_A_COMPONENT_USAGE_ALPHA                                    0x10000000
3592 #define   NV20TCL_RC_FINAL0_A_MAPPING_SHIFT                                             29
3593 #define   NV20TCL_RC_FINAL0_A_MAPPING_MASK                                              0xe0000000
3594 #define    NV20TCL_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY                                0x00000000
3595 #define    NV20TCL_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT                                  0x20000000
3596 #define    NV20TCL_RC_FINAL0_A_MAPPING_EXPAND_NORMAL                                    0x40000000
3597 #define    NV20TCL_RC_FINAL0_A_MAPPING_EXPAND_NEGATE                                    0x60000000
3598 #define    NV20TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL                                 0x80000000
3599 #define    NV20TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE                                 0xa0000000
3600 #define    NV20TCL_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY                                  0xc0000000
3601 #define    NV20TCL_RC_FINAL0_A_MAPPING_SIGNED_NEGATE                                    0xe0000000
3602 #define  NV20TCL_RC_FINAL1                                                              0x0000028c
3603 #define   NV20TCL_RC_FINAL1_COLOR_SUM_CLAMP                                             (1 <<  7)
3604 #define   NV20TCL_RC_FINAL1_G_INPUT_SHIFT                                               8
3605 #define   NV20TCL_RC_FINAL1_G_INPUT_MASK                                                0x00000f00
3606 #define    NV20TCL_RC_FINAL1_G_INPUT_ZERO                                               0x00000000
3607 #define    NV20TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR0                                    0x00000100
3608 #define    NV20TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR1                                    0x00000200
3609 #define    NV20TCL_RC_FINAL1_G_INPUT_FOG                                                0x00000300
3610 #define    NV20TCL_RC_FINAL1_G_INPUT_PRIMARY_COLOR                                      0x00000400
3611 #define    NV20TCL_RC_FINAL1_G_INPUT_SECONDARY_COLOR                                    0x00000500
3612 #define    NV20TCL_RC_FINAL1_G_INPUT_TEXTURE0                                           0x00000800
3613 #define    NV20TCL_RC_FINAL1_G_INPUT_TEXTURE1                                           0x00000900
3614 #define    NV20TCL_RC_FINAL1_G_INPUT_SPARE0                                             0x00000c00
3615 #define    NV20TCL_RC_FINAL1_G_INPUT_SPARE1                                             0x00000d00
3616 #define    NV20TCL_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x00000e00
3617 #define    NV20TCL_RC_FINAL1_G_INPUT_E_TIMES_F                                          0x00000f00
3618 #define    NV20TCL_RC_FINAL1_G_INPUT_TEXTURE2                                           0x00000a00
3619 #define    NV20TCL_RC_FINAL1_G_INPUT_TEXTURE3                                           0x00000b00
3620 #define   NV20TCL_RC_FINAL1_G_COMPONENT_USAGE                                           (1 << 12)
3621 #define    NV20TCL_RC_FINAL1_G_COMPONENT_USAGE_RGB                                      0x00000000
3622 #define    NV20TCL_RC_FINAL1_G_COMPONENT_USAGE_ALPHA                                    0x00001000
3623 #define   NV20TCL_RC_FINAL1_G_MAPPING_SHIFT                                             13
3624 #define   NV20TCL_RC_FINAL1_G_MAPPING_MASK                                              0x0000e000
3625 #define    NV20TCL_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY                                0x00000000
3626 #define    NV20TCL_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT                                  0x00002000
3627 #define    NV20TCL_RC_FINAL1_G_MAPPING_EXPAND_NORMAL                                    0x00004000
3628 #define    NV20TCL_RC_FINAL1_G_MAPPING_EXPAND_NEGATE                                    0x00006000
3629 #define    NV20TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL                                 0x00008000
3630 #define    NV20TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE                                 0x0000a000
3631 #define    NV20TCL_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY                                  0x0000c000
3632 #define    NV20TCL_RC_FINAL1_G_MAPPING_SIGNED_NEGATE                                    0x0000e000
3633 #define   NV20TCL_RC_FINAL1_F_INPUT_SHIFT                                               16
3634 #define   NV20TCL_RC_FINAL1_F_INPUT_MASK                                                0x000f0000
3635 #define    NV20TCL_RC_FINAL1_F_INPUT_ZERO                                               0x00000000
3636 #define    NV20TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR0                                    0x00010000
3637 #define    NV20TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR1                                    0x00020000
3638 #define    NV20TCL_RC_FINAL1_F_INPUT_FOG                                                0x00030000
3639 #define    NV20TCL_RC_FINAL1_F_INPUT_PRIMARY_COLOR                                      0x00040000
3640 #define    NV20TCL_RC_FINAL1_F_INPUT_SECONDARY_COLOR                                    0x00050000
3641 #define    NV20TCL_RC_FINAL1_F_INPUT_TEXTURE0                                           0x00080000
3642 #define    NV20TCL_RC_FINAL1_F_INPUT_TEXTURE1                                           0x00090000
3643 #define    NV20TCL_RC_FINAL1_F_INPUT_SPARE0                                             0x000c0000
3644 #define    NV20TCL_RC_FINAL1_F_INPUT_SPARE1                                             0x000d0000
3645 #define    NV20TCL_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x000e0000
3646 #define    NV20TCL_RC_FINAL1_F_INPUT_E_TIMES_F                                          0x000f0000
3647 #define    NV20TCL_RC_FINAL1_F_INPUT_TEXTURE2                                           0x000a0000
3648 #define    NV20TCL_RC_FINAL1_F_INPUT_TEXTURE3                                           0x000b0000
3649 #define   NV20TCL_RC_FINAL1_F_COMPONENT_USAGE                                           (1 << 20)
3650 #define    NV20TCL_RC_FINAL1_F_COMPONENT_USAGE_RGB                                      0x00000000
3651 #define    NV20TCL_RC_FINAL1_F_COMPONENT_USAGE_ALPHA                                    0x00100000
3652 #define   NV20TCL_RC_FINAL1_F_MAPPING_SHIFT                                             21
3653 #define   NV20TCL_RC_FINAL1_F_MAPPING_MASK                                              0x00e00000
3654 #define    NV20TCL_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY                                0x00000000
3655 #define    NV20TCL_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT                                  0x00200000
3656 #define    NV20TCL_RC_FINAL1_F_MAPPING_EXPAND_NORMAL                                    0x00400000
3657 #define    NV20TCL_RC_FINAL1_F_MAPPING_EXPAND_NEGATE                                    0x00600000
3658 #define    NV20TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL                                 0x00800000
3659 #define    NV20TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE                                 0x00a00000
3660 #define    NV20TCL_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY                                  0x00c00000
3661 #define    NV20TCL_RC_FINAL1_F_MAPPING_SIGNED_NEGATE                                    0x00e00000
3662 #define   NV20TCL_RC_FINAL1_E_INPUT_SHIFT                                               24
3663 #define   NV20TCL_RC_FINAL1_E_INPUT_MASK                                                0x0f000000
3664 #define    NV20TCL_RC_FINAL1_E_INPUT_ZERO                                               0x00000000
3665 #define    NV20TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR0                                    0x01000000
3666 #define    NV20TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR1                                    0x02000000
3667 #define    NV20TCL_RC_FINAL1_E_INPUT_FOG                                                0x03000000
3668 #define    NV20TCL_RC_FINAL1_E_INPUT_PRIMARY_COLOR                                      0x04000000
3669 #define    NV20TCL_RC_FINAL1_E_INPUT_SECONDARY_COLOR                                    0x05000000
3670 #define    NV20TCL_RC_FINAL1_E_INPUT_TEXTURE0                                           0x08000000
3671 #define    NV20TCL_RC_FINAL1_E_INPUT_TEXTURE1                                           0x09000000
3672 #define    NV20TCL_RC_FINAL1_E_INPUT_SPARE0                                             0x0c000000
3673 #define    NV20TCL_RC_FINAL1_E_INPUT_SPARE1                                             0x0d000000
3674 #define    NV20TCL_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0e000000
3675 #define    NV20TCL_RC_FINAL1_E_INPUT_E_TIMES_F                                          0x0f000000
3676 #define    NV20TCL_RC_FINAL1_E_INPUT_TEXTURE2                                           0x0a000000
3677 #define    NV20TCL_RC_FINAL1_E_INPUT_TEXTURE3                                           0x0b000000
3678 #define   NV20TCL_RC_FINAL1_E_COMPONENT_USAGE                                           (1 << 28)
3679 #define    NV20TCL_RC_FINAL1_E_COMPONENT_USAGE_RGB                                      0x00000000
3680 #define    NV20TCL_RC_FINAL1_E_COMPONENT_USAGE_ALPHA                                    0x10000000
3681 #define   NV20TCL_RC_FINAL1_E_MAPPING_SHIFT                                             29
3682 #define   NV20TCL_RC_FINAL1_E_MAPPING_MASK                                              0xe0000000
3683 #define    NV20TCL_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY                                0x00000000
3684 #define    NV20TCL_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT                                  0x20000000
3685 #define    NV20TCL_RC_FINAL1_E_MAPPING_EXPAND_NORMAL                                    0x40000000
3686 #define    NV20TCL_RC_FINAL1_E_MAPPING_EXPAND_NEGATE                                    0x60000000
3687 #define    NV20TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL                                 0x80000000
3688 #define    NV20TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE                                 0xa0000000
3689 #define    NV20TCL_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY                                  0xc0000000
3690 #define    NV20TCL_RC_FINAL1_E_MAPPING_SIGNED_NEGATE                                    0xe0000000
3691 #define  NV20TCL_LIGHT_MODEL                                                            0x00000294
3692 #define   NV20TCL_LIGHT_MODEL_VIEWER_SHIFT                                              16
3693 #define   NV20TCL_LIGHT_MODEL_VIEWER_MASK                                               0x00030000
3694 #define    NV20TCL_LIGHT_MODEL_VIEWER_NONLOCAL                                          0x00020000
3695 #define    NV20TCL_LIGHT_MODEL_VIEWER_LOCAL                                             0x00030000
3696 #define   NV20TCL_LIGHT_MODEL_SEPARATE_SPECULAR                                         (1 <<  0)
3697 #define  NV20TCL_COLOR_MATERIAL                                                         0x00000298
3698 #define   NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_SHIFT                                   0
3699 #define   NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_MASK                                    0x00000003
3700 #define    NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_OFF                                    0x00000000
3701 #define    NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_COL1                                   0x00000001
3702 #define    NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_COL2                                   0x00000002
3703 #define   NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_SHIFT                                    2
3704 #define   NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_MASK                                     0x0000000c
3705 #define    NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_OFF                                     0x00000000
3706 #define    NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_COL1                                    0x00000004
3707 #define    NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_COL2                                    0x00000008
3708 #define   NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_SHIFT                                    4
3709 #define   NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_MASK                                     0x00000030
3710 #define    NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_OFF                                     0x00000000
3711 #define    NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_COL1                                    0x00000010
3712 #define    NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_COL2                                    0x00000020
3713 #define   NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_SHIFT                                   6
3714 #define   NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_MASK                                    0x000000c0
3715 #define    NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_OFF                                    0x00000000
3716 #define    NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_COL1                                   0x00000040
3717 #define    NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_COL2                                   0x00000080
3718 #define   NV20TCL_COLOR_MATERIAL_BACK_EMISSION_SHIFT                                    8
3719 #define   NV20TCL_COLOR_MATERIAL_BACK_EMISSION_MASK                                     0x00000300
3720 #define    NV20TCL_COLOR_MATERIAL_BACK_EMISSION_OFF                                     0x00000000
3721 #define    NV20TCL_COLOR_MATERIAL_BACK_EMISSION_COL1                                    0x00000100
3722 #define    NV20TCL_COLOR_MATERIAL_BACK_EMISSION_COL2                                    0x00000200
3723 #define   NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_SHIFT                                     10
3724 #define   NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_MASK                                      0x00000c00
3725 #define    NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_OFF                                      0x00000000
3726 #define    NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_COL1                                     0x00000400
3727 #define    NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_COL2                                     0x00000800
3728 #define   NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_SHIFT                                     12
3729 #define   NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_MASK                                      0x00003000
3730 #define    NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_OFF                                      0x00000000
3731 #define    NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_COL1                                     0x00001000
3732 #define    NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_COL2                                     0x00002000
3733 #define   NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_SHIFT                                    14
3734 #define   NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_MASK                                     0x0000c000
3735 #define    NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_OFF                                     0x00000000
3736 #define    NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_COL1                                    0x00004000
3737 #define    NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_COL2                                    0x00008000
3738 #define  NV20TCL_FOG_MODE                                                               0x0000029c
3739 #define   NV20TCL_FOG_MODE_LINEAR_UNSIGNED                                              0x00000804
3740 #define   NV20TCL_FOG_MODE_LINEAR_SIGNED                                                0x00002601
3741 #define   NV20TCL_FOG_MODE_EXP_UNSIGNED                                                 0x00000802
3742 #define   NV20TCL_FOG_MODE_EXP_SIGNED                                                   0x00000800
3743 #define   NV20TCL_FOG_MODE_EXP2_UNSIGNED                                                0x00000803
3744 #define   NV20TCL_FOG_MODE_EXP2_SIGNED                                                  0x00000801
3745 #define  NV20TCL_FOG_COORD                                                              0x000002a0
3746 #define   NV20TCL_FOG_COORD_DIST_RADIAL                                                 0x00000001
3747 #define   NV20TCL_FOG_COORD_DIST_ORTHOGONAL                                             0x00000002
3748 #define   NV20TCL_FOG_COORD_DIST_ORTHOGONAL_ABS                                         0x00000003
3749 #define   NV20TCL_FOG_COORD_FOG                                                         0x00000006
3750 #define  NV20TCL_FOG_ENABLE                                                             0x000002a4
3751 #define  NV20TCL_FOG_COLOR                                                              0x000002a8
3752 #define   NV20TCL_FOG_COLOR_R_SHIFT                                                     0
3753 #define   NV20TCL_FOG_COLOR_R_MASK                                                      0x000000ff
3754 #define   NV20TCL_FOG_COLOR_G_SHIFT                                                     8
3755 #define   NV20TCL_FOG_COLOR_G_MASK                                                      0x0000ff00
3756 #define   NV20TCL_FOG_COLOR_B_SHIFT                                                     16
3757 #define   NV20TCL_FOG_COLOR_B_MASK                                                      0x00ff0000
3758 #define   NV20TCL_FOG_COLOR_A_SHIFT                                                     24
3759 #define   NV20TCL_FOG_COLOR_A_MASK                                                      0xff000000
3760 #define  NV20TCL_VIEWPORT_CLIP_MODE                                                     0x000002b4
3761 #define  NV20TCL_VIEWPORT_CLIP_HORIZ(x)                                                 (0x000002c0+((x)*4))
3762 #define  NV20TCL_VIEWPORT_CLIP_HORIZ__SIZE                                              0x00000008
3763 #define  NV20TCL_VIEWPORT_CLIP_VERT(x)                                                  (0x000002e0+((x)*4))
3764 #define  NV20TCL_VIEWPORT_CLIP_VERT__SIZE                                               0x00000008
3765 #define  NV20TCL_ALPHA_FUNC_ENABLE                                                      0x00000300
3766 #define  NV20TCL_BLEND_FUNC_ENABLE                                                      0x00000304
3767 #define  NV20TCL_CULL_FACE_ENABLE                                                       0x00000308
3768 #define  NV20TCL_DEPTH_TEST_ENABLE                                                      0x0000030c
3769 #define  NV20TCL_DITHER_ENABLE                                                          0x00000310
3770 #define  NV20TCL_LIGHTING_ENABLE                                                        0x00000314
3771 #define  NV20TCL_POINT_PARAMETERS_ENABLE                                                0x00000318
3772 #define  NV20TCL_POINT_SMOOTH_ENABLE                                                    0x0000031c
3773 #define  NV20TCL_LINE_SMOOTH_ENABLE                                                     0x00000320
3774 #define  NV20TCL_POLYGON_SMOOTH_ENABLE                                                  0x00000324
3775 #define  NV20TCL_STENCIL_ENABLE                                                         0x0000032c
3776 #define  NV20TCL_POLYGON_OFFSET_POINT_ENABLE                                            0x00000330
3777 #define  NV20TCL_POLYGON_OFFSET_LINE_ENABLE                                             0x00000334
3778 #define  NV20TCL_POLYGON_OFFSET_FILL_ENABLE                                             0x00000338
3779 #define  NV20TCL_ALPHA_FUNC_FUNC                                                        0x0000033c
3780 #define   NV20TCL_ALPHA_FUNC_FUNC_NEVER                                                 0x00000200
3781 #define   NV20TCL_ALPHA_FUNC_FUNC_LESS                                                  0x00000201
3782 #define   NV20TCL_ALPHA_FUNC_FUNC_EQUAL                                                 0x00000202
3783 #define   NV20TCL_ALPHA_FUNC_FUNC_LEQUAL                                                0x00000203
3784 #define   NV20TCL_ALPHA_FUNC_FUNC_GREATER                                               0x00000204
3785 #define   NV20TCL_ALPHA_FUNC_FUNC_NOTEQUAL                                              0x00000205
3786 #define   NV20TCL_ALPHA_FUNC_FUNC_GEQUAL                                                0x00000206
3787 #define   NV20TCL_ALPHA_FUNC_FUNC_ALWAYS                                                0x00000207
3788 #define  NV20TCL_ALPHA_FUNC_REF                                                         0x00000340
3789 #define  NV20TCL_BLEND_FUNC_SRC                                                         0x00000344
3790 #define   NV20TCL_BLEND_FUNC_SRC_ZERO                                                   0x00000000
3791 #define   NV20TCL_BLEND_FUNC_SRC_ONE                                                    0x00000001
3792 #define   NV20TCL_BLEND_FUNC_SRC_SRC_COLOR                                              0x00000300
3793 #define   NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR                                    0x00000301
3794 #define   NV20TCL_BLEND_FUNC_SRC_SRC_ALPHA                                              0x00000302
3795 #define   NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA                                    0x00000303
3796 #define   NV20TCL_BLEND_FUNC_SRC_DST_ALPHA                                              0x00000304
3797 #define   NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA                                    0x00000305
3798 #define   NV20TCL_BLEND_FUNC_SRC_DST_COLOR                                              0x00000306
3799 #define   NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR                                    0x00000307
3800 #define   NV20TCL_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE                                     0x00000308
3801 #define   NV20TCL_BLEND_FUNC_SRC_CONSTANT_COLOR                                         0x00008001
3802 #define   NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR                               0x00008002
3803 #define   NV20TCL_BLEND_FUNC_SRC_CONSTANT_ALPHA                                         0x00008003
3804 #define   NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA                               0x00008004
3805 #define  NV20TCL_BLEND_FUNC_DST                                                         0x00000348
3806 #define   NV20TCL_BLEND_FUNC_DST_ZERO                                                   0x00000000
3807 #define   NV20TCL_BLEND_FUNC_DST_ONE                                                    0x00000001
3808 #define   NV20TCL_BLEND_FUNC_DST_SRC_COLOR                                              0x00000300
3809 #define   NV20TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR                                    0x00000301
3810 #define   NV20TCL_BLEND_FUNC_DST_SRC_ALPHA                                              0x00000302
3811 #define   NV20TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA                                    0x00000303
3812 #define   NV20TCL_BLEND_FUNC_DST_DST_ALPHA                                              0x00000304
3813 #define   NV20TCL_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA                                    0x00000305
3814 #define   NV20TCL_BLEND_FUNC_DST_DST_COLOR                                              0x00000306
3815 #define   NV20TCL_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR                                    0x00000307
3816 #define   NV20TCL_BLEND_FUNC_DST_SRC_ALPHA_SATURATE                                     0x00000308
3817 #define   NV20TCL_BLEND_FUNC_DST_CONSTANT_COLOR                                         0x00008001
3818 #define   NV20TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR                               0x00008002
3819 #define   NV20TCL_BLEND_FUNC_DST_CONSTANT_ALPHA                                         0x00008003
3820 #define   NV20TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA                               0x00008004
3821 #define  NV20TCL_BLEND_COLOR                                                            0x0000034c
3822 #define   NV20TCL_BLEND_COLOR_B_SHIFT                                                   0
3823 #define   NV20TCL_BLEND_COLOR_B_MASK                                                    0x000000ff
3824 #define   NV20TCL_BLEND_COLOR_G_SHIFT                                                   8
3825 #define   NV20TCL_BLEND_COLOR_G_MASK                                                    0x0000ff00
3826 #define   NV20TCL_BLEND_COLOR_R_SHIFT                                                   16
3827 #define   NV20TCL_BLEND_COLOR_R_MASK                                                    0x00ff0000
3828 #define   NV20TCL_BLEND_COLOR_A_SHIFT                                                   24
3829 #define   NV20TCL_BLEND_COLOR_A_MASK                                                    0xff000000
3830 #define  NV20TCL_BLEND_EQUATION                                                         0x00000350
3831 #define   NV20TCL_BLEND_EQUATION_FUNC_ADD                                               0x00008006
3832 #define   NV20TCL_BLEND_EQUATION_MIN                                                    0x00008007
3833 #define   NV20TCL_BLEND_EQUATION_MAX                                                    0x00008008
3834 #define   NV20TCL_BLEND_EQUATION_FUNC_SUBTRACT                                          0x0000800a
3835 #define   NV20TCL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT                                  0x0000800b
3836 #define  NV20TCL_DEPTH_FUNC                                                             0x00000354
3837 #define   NV20TCL_DEPTH_FUNC_NEVER                                                      0x00000200
3838 #define   NV20TCL_DEPTH_FUNC_LESS                                                       0x00000201
3839 #define   NV20TCL_DEPTH_FUNC_EQUAL                                                      0x00000202
3840 #define   NV20TCL_DEPTH_FUNC_LEQUAL                                                     0x00000203
3841 #define   NV20TCL_DEPTH_FUNC_GREATER                                                    0x00000204
3842 #define   NV20TCL_DEPTH_FUNC_NOTEQUAL                                                   0x00000205
3843 #define   NV20TCL_DEPTH_FUNC_GEQUAL                                                     0x00000206
3844 #define   NV20TCL_DEPTH_FUNC_ALWAYS                                                     0x00000207
3845 #define  NV20TCL_COLOR_MASK                                                             0x00000358
3846 #define   NV20TCL_COLOR_MASK_B                                                          (1 <<  0)
3847 #define   NV20TCL_COLOR_MASK_G                                                          (1 <<  8)
3848 #define   NV20TCL_COLOR_MASK_R                                                          (1 << 16)
3849 #define   NV20TCL_COLOR_MASK_A                                                          (1 << 24)
3850 #define  NV20TCL_DEPTH_WRITE_ENABLE                                                     0x0000035c
3851 #define  NV20TCL_STENCIL_MASK                                                           0x00000360
3852 #define  NV20TCL_STENCIL_FUNC_FUNC                                                      0x00000364
3853 #define   NV20TCL_STENCIL_FUNC_FUNC_NEVER                                               0x00000200
3854 #define   NV20TCL_STENCIL_FUNC_FUNC_LESS                                                0x00000201
3855 #define   NV20TCL_STENCIL_FUNC_FUNC_EQUAL                                               0x00000202
3856 #define   NV20TCL_STENCIL_FUNC_FUNC_LEQUAL                                              0x00000203
3857 #define   NV20TCL_STENCIL_FUNC_FUNC_GREATER                                             0x00000204
3858 #define   NV20TCL_STENCIL_FUNC_FUNC_NOTEQUAL                                            0x00000205
3859 #define   NV20TCL_STENCIL_FUNC_FUNC_GEQUAL                                              0x00000206
3860 #define   NV20TCL_STENCIL_FUNC_FUNC_ALWAYS                                              0x00000207
3861 #define  NV20TCL_STENCIL_FUNC_REF                                                       0x00000368
3862 #define  NV20TCL_STENCIL_FUNC_MASK                                                      0x0000036c
3863 #define  NV20TCL_STENCIL_OP_FAIL                                                        0x00000370
3864 #define   NV20TCL_STENCIL_OP_FAIL_ZERO                                                  0x00000000
3865 #define   NV20TCL_STENCIL_OP_FAIL_INVERT                                                0x0000150a
3866 #define   NV20TCL_STENCIL_OP_FAIL_KEEP                                                  0x00001e00
3867 #define   NV20TCL_STENCIL_OP_FAIL_REPLACE                                               0x00001e01
3868 #define   NV20TCL_STENCIL_OP_FAIL_INCR                                                  0x00001e02
3869 #define   NV20TCL_STENCIL_OP_FAIL_DECR                                                  0x00001e03
3870 #define   NV20TCL_STENCIL_OP_FAIL_INCR_WRAP                                             0x00008507
3871 #define   NV20TCL_STENCIL_OP_FAIL_DECR_WRAP                                             0x00008508
3872 #define  NV20TCL_STENCIL_OP_ZFAIL                                                       0x00000374
3873 #define   NV20TCL_STENCIL_OP_ZFAIL_ZERO                                                 0x00000000
3874 #define   NV20TCL_STENCIL_OP_ZFAIL_INVERT                                               0x0000150a
3875 #define   NV20TCL_STENCIL_OP_ZFAIL_KEEP                                                 0x00001e00
3876 #define   NV20TCL_STENCIL_OP_ZFAIL_REPLACE                                              0x00001e01
3877 #define   NV20TCL_STENCIL_OP_ZFAIL_INCR                                                 0x00001e02
3878 #define   NV20TCL_STENCIL_OP_ZFAIL_DECR                                                 0x00001e03
3879 #define   NV20TCL_STENCIL_OP_ZFAIL_INCR_WRAP                                            0x00008507
3880 #define   NV20TCL_STENCIL_OP_ZFAIL_DECR_WRAP                                            0x00008508
3881 #define  NV20TCL_STENCIL_OP_ZPASS                                                       0x00000378
3882 #define   NV20TCL_STENCIL_OP_ZPASS_ZERO                                                 0x00000000
3883 #define   NV20TCL_STENCIL_OP_ZPASS_INVERT                                               0x0000150a
3884 #define   NV20TCL_STENCIL_OP_ZPASS_KEEP                                                 0x00001e00
3885 #define   NV20TCL_STENCIL_OP_ZPASS_REPLACE                                              0x00001e01
3886 #define   NV20TCL_STENCIL_OP_ZPASS_INCR                                                 0x00001e02
3887 #define   NV20TCL_STENCIL_OP_ZPASS_DECR                                                 0x00001e03
3888 #define   NV20TCL_STENCIL_OP_ZPASS_INCR_WRAP                                            0x00008507
3889 #define   NV20TCL_STENCIL_OP_ZPASS_DECR_WRAP                                            0x00008508
3890 #define  NV20TCL_SHADE_MODEL                                                            0x0000037c
3891 #define   NV20TCL_SHADE_MODEL_FLAT                                                      0x00001d00
3892 #define   NV20TCL_SHADE_MODEL_SMOOTH                                                    0x00001d01
3893 #define  NV20TCL_LINE_WIDTH                                                             0x00000380
3894 #define  NV20TCL_POLYGON_OFFSET_FACTOR                                                  0x00000384
3895 #define  NV20TCL_POLYGON_OFFSET_UNITS                                                   0x00000388
3896 #define  NV20TCL_POLYGON_MODE_FRONT                                                     0x0000038c
3897 #define   NV20TCL_POLYGON_MODE_FRONT_POINT                                              0x00001b00
3898 #define   NV20TCL_POLYGON_MODE_FRONT_LINE                                               0x00001b01
3899 #define   NV20TCL_POLYGON_MODE_FRONT_FILL                                               0x00001b02
3900 #define  NV20TCL_POLYGON_MODE_BACK                                                      0x00000390
3901 #define   NV20TCL_POLYGON_MODE_BACK_POINT                                               0x00001b00
3902 #define   NV20TCL_POLYGON_MODE_BACK_LINE                                                0x00001b01
3903 #define   NV20TCL_POLYGON_MODE_BACK_FILL                                                0x00001b02
3904 #define  NV20TCL_DEPTH_RANGE_NEAR                                                       0x00000394
3905 #define  NV20TCL_DEPTH_RANGE_FAR                                                        0x00000398
3906 #define  NV20TCL_CULL_FACE                                                              0x0000039c
3907 #define   NV20TCL_CULL_FACE_FRONT                                                       0x00000404
3908 #define   NV20TCL_CULL_FACE_BACK                                                        0x00000405
3909 #define   NV20TCL_CULL_FACE_FRONT_AND_BACK                                              0x00000408
3910 #define  NV20TCL_FRONT_FACE                                                             0x000003a0
3911 #define   NV20TCL_FRONT_FACE_CW                                                         0x00000900
3912 #define   NV20TCL_FRONT_FACE_CCW                                                        0x00000901
3913 #define  NV20TCL_NORMALIZE_ENABLE                                                       0x000003a4
3914 #define  NV20TCL_MATERIAL_FACTOR_FRONT_R                                                0x000003a8
3915 #define  NV20TCL_MATERIAL_FACTOR_FRONT_G                                                0x000003ac
3916 #define  NV20TCL_MATERIAL_FACTOR_FRONT_B                                                0x000003b0
3917 #define  NV20TCL_MATERIAL_FACTOR_FRONT_A                                                0x000003b4
3918 #define  NV20TCL_SEPARATE_SPECULAR_ENABLE                                               0x000003b8
3919 #define  NV20TCL_ENABLED_LIGHTS                                                         0x000003bc
3920 #define   NV20TCL_ENABLED_LIGHTS_0_SHIFT                                                0
3921 #define   NV20TCL_ENABLED_LIGHTS_0_MASK                                                 0x00000003
3922 #define    NV20TCL_ENABLED_LIGHTS_0_DISABLED                                            0x00000000
3923 #define    NV20TCL_ENABLED_LIGHTS_0_NONPOSITIONAL                                       0x00000001
3924 #define    NV20TCL_ENABLED_LIGHTS_0_POSITIONAL                                          0x00000002
3925 #define    NV20TCL_ENABLED_LIGHTS_0_DIRECTIONAL                                         0x00000003
3926 #define   NV20TCL_ENABLED_LIGHTS_1_SHIFT                                                2
3927 #define   NV20TCL_ENABLED_LIGHTS_1_MASK                                                 0x0000000c
3928 #define    NV20TCL_ENABLED_LIGHTS_1_DISABLED                                            0x00000000
3929 #define    NV20TCL_ENABLED_LIGHTS_1_NONPOSITIONAL                                       0x00000004
3930 #define    NV20TCL_ENABLED_LIGHTS_1_POSITIONAL                                          0x00000008
3931 #define    NV20TCL_ENABLED_LIGHTS_1_DIRECTIONAL                                         0x0000000c
3932 #define   NV20TCL_ENABLED_LIGHTS_2_SHIFT                                                4
3933 #define   NV20TCL_ENABLED_LIGHTS_2_MASK                                                 0x00000030
3934 #define    NV20TCL_ENABLED_LIGHTS_2_DISABLED                                            0x00000000
3935 #define    NV20TCL_ENABLED_LIGHTS_2_NONPOSITIONAL                                       0x00000010
3936 #define    NV20TCL_ENABLED_LIGHTS_2_POSITIONAL                                          0x00000020
3937 #define    NV20TCL_ENABLED_LIGHTS_2_DIRECTIONAL                                         0x00000030
3938 #define   NV20TCL_ENABLED_LIGHTS_3_SHIFT                                                6
3939 #define   NV20TCL_ENABLED_LIGHTS_3_MASK                                                 0x000000c0
3940 #define    NV20TCL_ENABLED_LIGHTS_3_DISABLED                                            0x00000000
3941 #define    NV20TCL_ENABLED_LIGHTS_3_NONPOSITIONAL                                       0x00000040
3942 #define    NV20TCL_ENABLED_LIGHTS_3_POSITIONAL                                          0x00000080
3943 #define    NV20TCL_ENABLED_LIGHTS_3_DIRECTIONAL                                         0x000000c0
3944 #define   NV20TCL_ENABLED_LIGHTS_4_SHIFT                                                8
3945 #define   NV20TCL_ENABLED_LIGHTS_4_MASK                                                 0x00000300
3946 #define    NV20TCL_ENABLED_LIGHTS_4_DISABLED                                            0x00000000
3947 #define    NV20TCL_ENABLED_LIGHTS_4_NONPOSITIONAL                                       0x00000100
3948 #define    NV20TCL_ENABLED_LIGHTS_4_POSITIONAL                                          0x00000200
3949 #define    NV20TCL_ENABLED_LIGHTS_4_DIRECTIONAL                                         0x00000300
3950 #define   NV20TCL_ENABLED_LIGHTS_5_SHIFT                                                10
3951 #define   NV20TCL_ENABLED_LIGHTS_5_MASK                                                 0x00000c00
3952 #define    NV20TCL_ENABLED_LIGHTS_5_DISABLED                                            0x00000000
3953 #define    NV20TCL_ENABLED_LIGHTS_5_NONPOSITIONAL                                       0x00000400
3954 #define    NV20TCL_ENABLED_LIGHTS_5_POSITIONAL                                          0x00000800
3955 #define    NV20TCL_ENABLED_LIGHTS_5_DIRECTIONAL                                         0x00000c00
3956 #define   NV20TCL_ENABLED_LIGHTS_6_SHIFT                                                12
3957 #define   NV20TCL_ENABLED_LIGHTS_6_MASK                                                 0x00003000
3958 #define    NV20TCL_ENABLED_LIGHTS_6_DISABLED                                            0x00000000
3959 #define    NV20TCL_ENABLED_LIGHTS_6_NONPOSITIONAL                                       0x00001000
3960 #define    NV20TCL_ENABLED_LIGHTS_6_POSITIONAL                                          0x00002000
3961 #define    NV20TCL_ENABLED_LIGHTS_6_DIRECTIONAL                                         0x00003000
3962 #define   NV20TCL_ENABLED_LIGHTS_7_SHIFT                                                14
3963 #define   NV20TCL_ENABLED_LIGHTS_7_MASK                                                 0x0000c000
3964 #define    NV20TCL_ENABLED_LIGHTS_7_DISABLED                                            0x00000000
3965 #define    NV20TCL_ENABLED_LIGHTS_7_NONPOSITIONAL                                       0x00004000
3966 #define    NV20TCL_ENABLED_LIGHTS_7_POSITIONAL                                          0x00008000
3967 #define    NV20TCL_ENABLED_LIGHTS_7_DIRECTIONAL                                         0x0000c000
3968 #define  NV20TCL_TX_GEN_MODE_S(x)                                                       (0x000003c0+((x)*16))
3969 #define  NV20TCL_TX_GEN_MODE_S__SIZE                                                    0x00000004
3970 #define   NV20TCL_TX_GEN_MODE_S_FALSE                                                   0x00000000
3971 #define   NV20TCL_TX_GEN_MODE_S_EYE_LINEAR                                              0x00002400
3972 #define   NV20TCL_TX_GEN_MODE_S_OBJECT_LINEAR                                           0x00002401
3973 #define   NV20TCL_TX_GEN_MODE_S_SPHERE_MAP                                              0x00002402
3974 #define   NV20TCL_TX_GEN_MODE_S_NORMAL_MAP                                              0x00008511
3975 #define   NV20TCL_TX_GEN_MODE_S_REFLECTION_MAP                                          0x00008512
3976 #define  NV20TCL_TX_GEN_MODE_T(x)                                                       (0x000003c4+((x)*16))
3977 #define  NV20TCL_TX_GEN_MODE_T__SIZE                                                    0x00000004
3978 #define   NV20TCL_TX_GEN_MODE_T_FALSE                                                   0x00000000
3979 #define   NV20TCL_TX_GEN_MODE_T_EYE_LINEAR                                              0x00002400
3980 #define   NV20TCL_TX_GEN_MODE_T_OBJECT_LINEAR                                           0x00002401
3981 #define   NV20TCL_TX_GEN_MODE_T_SPHERE_MAP                                              0x00002402
3982 #define   NV20TCL_TX_GEN_MODE_T_NORMAL_MAP                                              0x00008511
3983 #define   NV20TCL_TX_GEN_MODE_T_REFLECTION_MAP                                          0x00008512
3984 #define  NV20TCL_TX_GEN_MODE_R(x)                                                       (0x000003c8+((x)*16))
3985 #define  NV20TCL_TX_GEN_MODE_R__SIZE                                                    0x00000004
3986 #define   NV20TCL_TX_GEN_MODE_R_FALSE                                                   0x00000000
3987 #define   NV20TCL_TX_GEN_MODE_R_EYE_LINEAR                                              0x00002400
3988 #define   NV20TCL_TX_GEN_MODE_R_OBJECT_LINEAR                                           0x00002401
3989 #define   NV20TCL_TX_GEN_MODE_R_SPHERE_MAP                                              0x00002402
3990 #define   NV20TCL_TX_GEN_MODE_R_NORMAL_MAP                                              0x00008511
3991 #define   NV20TCL_TX_GEN_MODE_R_REFLECTION_MAP                                          0x00008512
3992 #define  NV20TCL_TX_GEN_MODE_Q(x)                                                       (0x000003cc+((x)*16))
3993 #define  NV20TCL_TX_GEN_MODE_Q__SIZE                                                    0x00000004
3994 #define   NV20TCL_TX_GEN_MODE_Q_FALSE                                                   0x00000000
3995 #define   NV20TCL_TX_GEN_MODE_Q_EYE_LINEAR                                              0x00002400
3996 #define   NV20TCL_TX_GEN_MODE_Q_OBJECT_LINEAR                                           0x00002401
3997 #define   NV20TCL_TX_GEN_MODE_Q_SPHERE_MAP                                              0x00002402
3998 #define   NV20TCL_TX_GEN_MODE_Q_NORMAL_MAP                                              0x00008511
3999 #define   NV20TCL_TX_GEN_MODE_Q_REFLECTION_MAP                                          0x00008512
4000 #define  NV20TCL_TX_MATRIX_ENABLE(x)                                                    (0x00000420+((x)*4))
4001 #define  NV20TCL_TX_MATRIX_ENABLE__SIZE                                                 0x00000004
4002 #define  NV20TCL_POINT_SIZE                                                             0x0000043c
4003 #define  NV20TCL_MODELVIEW0_MATRIX(x)                                                   (0x00000480+((x)*4))
4004 #define  NV20TCL_MODELVIEW0_MATRIX__SIZE                                                0x00000010
4005 #define  NV20TCL_MODELVIEW1_MATRIX(x)                                                   (0x000004c0+((x)*4))
4006 #define  NV20TCL_MODELVIEW1_MATRIX__SIZE                                                0x00000010
4007 #define  NV20TCL_MODELVIEW2_MATRIX(x)                                                   (0x00000500+((x)*4))
4008 #define  NV20TCL_MODELVIEW2_MATRIX__SIZE                                                0x00000010
4009 #define  NV20TCL_MODELVIEW3_MATRIX(x)                                                   (0x00000540+((x)*4))
4010 #define  NV20TCL_MODELVIEW3_MATRIX__SIZE                                                0x00000010
4011 #define  NV20TCL_INVERSE_MODELVIEW0_MATRIX(x)                                           (0x00000580+((x)*4))
4012 #define  NV20TCL_INVERSE_MODELVIEW0_MATRIX__SIZE                                        0x00000010
4013 #define  NV20TCL_INVERSE_MODELVIEW1_MATRIX(x)                                           (0x000005c0+((x)*4))
4014 #define  NV20TCL_INVERSE_MODELVIEW1_MATRIX__SIZE                                        0x00000010
4015 #define  NV20TCL_INVERSE_MODELVIEW2_MATRIX(x)                                           (0x00000600+((x)*4))
4016 #define  NV20TCL_INVERSE_MODELVIEW2_MATRIX__SIZE                                        0x00000010
4017 #define  NV20TCL_INVERSE_MODELVIEW3_MATRIX(x)                                           (0x00000640+((x)*4))
4018 #define  NV20TCL_INVERSE_MODELVIEW3_MATRIX__SIZE                                        0x00000010
4019 #define  NV20TCL_PROJECTION_MATRIX(x)                                                   (0x00000680+((x)*4))
4020 #define  NV20TCL_PROJECTION_MATRIX__SIZE                                                0x00000010
4021 #define  NV20TCL_TX0_MATRIX(x)                                                          (0x000006c0+((x)*4))
4022 #define  NV20TCL_TX0_MATRIX__SIZE                                                       0x00000010
4023 #define  NV20TCL_TX1_MATRIX(x)                                                          (0x00000700+((x)*4))
4024 #define  NV20TCL_TX1_MATRIX__SIZE                                                       0x00000010
4025 #define  NV20TCL_TX2_MATRIX(x)                                                          (0x00000740+((x)*4))
4026 #define  NV20TCL_TX2_MATRIX__SIZE                                                       0x00000010
4027 #define  NV20TCL_TX3_MATRIX(x)                                                          (0x00000780+((x)*4))
4028 #define  NV20TCL_TX3_MATRIX__SIZE                                                       0x00000010
4029 #define  NV20TCL_TX_GEN_COEFF_S_A(x)                                                    (0x00000840+((x)*64))
4030 #define  NV20TCL_TX_GEN_COEFF_S_A__SIZE                                                 0x00000004
4031 #define  NV20TCL_TX_GEN_COEFF_S_B(x)                                                    (0x00000844+((x)*64))
4032 #define  NV20TCL_TX_GEN_COEFF_S_B__SIZE                                                 0x00000004
4033 #define  NV20TCL_TX_GEN_COEFF_S_C(x)                                                    (0x00000848+((x)*64))
4034 #define  NV20TCL_TX_GEN_COEFF_S_C__SIZE                                                 0x00000004
4035 #define  NV20TCL_TX_GEN_COEFF_S_D(x)                                                    (0x0000084c+((x)*64))
4036 #define  NV20TCL_TX_GEN_COEFF_S_D__SIZE                                                 0x00000004
4037 #define  NV20TCL_TX_GEN_COEFF_T_A(x)                                                    (0x00000850+((x)*64))
4038 #define  NV20TCL_TX_GEN_COEFF_T_A__SIZE                                                 0x00000004
4039 #define  NV20TCL_TX_GEN_COEFF_T_B(x)                                                    (0x00000854+((x)*64))
4040 #define  NV20TCL_TX_GEN_COEFF_T_B__SIZE                                                 0x00000004
4041 #define  NV20TCL_TX_GEN_COEFF_T_C(x)                                                    (0x00000858+((x)*64))
4042 #define  NV20TCL_TX_GEN_COEFF_T_C__SIZE                                                 0x00000004
4043 #define  NV20TCL_TX_GEN_COEFF_T_D(x)                                                    (0x0000085c+((x)*64))
4044 #define  NV20TCL_TX_GEN_COEFF_T_D__SIZE                                                 0x00000004
4045 #define  NV20TCL_TX_GEN_COEFF_R_A(x)                                                    (0x00000860+((x)*64))
4046 #define  NV20TCL_TX_GEN_COEFF_R_A__SIZE                                                 0x00000004
4047 #define  NV20TCL_TX_GEN_COEFF_R_B(x)                                                    (0x00000864+((x)*64))
4048 #define  NV20TCL_TX_GEN_COEFF_R_B__SIZE                                                 0x00000004
4049 #define  NV20TCL_TX_GEN_COEFF_R_C(x)                                                    (0x00000868+((x)*64))
4050 #define  NV20TCL_TX_GEN_COEFF_R_C__SIZE                                                 0x00000004
4051 #define  NV20TCL_TX_GEN_COEFF_R_D(x)                                                    (0x0000086c+((x)*64))
4052 #define  NV20TCL_TX_GEN_COEFF_R_D__SIZE                                                 0x00000004
4053 #define  NV20TCL_TX_GEN_COEFF_Q_A(x)                                                    (0x00000870+((x)*64))
4054 #define  NV20TCL_TX_GEN_COEFF_Q_A__SIZE                                                 0x00000004
4055 #define  NV20TCL_TX_GEN_COEFF_Q_B(x)                                                    (0x00000874+((x)*64))
4056 #define  NV20TCL_TX_GEN_COEFF_Q_B__SIZE                                                 0x00000004
4057 #define  NV20TCL_TX_GEN_COEFF_Q_C(x)                                                    (0x00000878+((x)*64))
4058 #define  NV20TCL_TX_GEN_COEFF_Q_C__SIZE                                                 0x00000004
4059 #define  NV20TCL_TX_GEN_COEFF_Q_D(x)                                                    (0x0000087c+((x)*64))
4060 #define  NV20TCL_TX_GEN_COEFF_Q_D__SIZE                                                 0x00000004
4061 #define  NV20TCL_FOG_EQUATION_CONSTANT                                                  0x000009c0
4062 #define  NV20TCL_FOG_EQUATION_LINEAR                                                    0x000009c4
4063 #define  NV20TCL_FOG_EQUATION_QUADRATIC                                                 0x000009c8
4064 #define  NV20TCL_FRONT_MATERIAL_SHININESS(x)                                            (0x000009e0+((x)*4))
4065 #define  NV20TCL_FRONT_MATERIAL_SHININESS__SIZE                                         0x00000006
4066 #define  NV20TCL_LIGHT_MODEL_FRONT_AMBIENT_R                                            0x00000a10
4067 #define  NV20TCL_LIGHT_MODEL_FRONT_AMBIENT_G                                            0x00000a14
4068 #define  NV20TCL_LIGHT_MODEL_FRONT_AMBIENT_B                                            0x00000a18
4069 #define  NV20TCL_VIEWPORT_TRANSLATE_X                                                   0x00000a20
4070 #define  NV20TCL_VIEWPORT_TRANSLATE_Y                                                   0x00000a24
4071 #define  NV20TCL_VIEWPORT_TRANSLATE_Z                                                   0x00000a28
4072 #define  NV20TCL_VIEWPORT_TRANSLATE_W                                                   0x00000a2c
4073 #define  NV20TCL_POINT_PARAMETER(x)                                                     (0x00000a30+((x)*4))
4074 #define  NV20TCL_POINT_PARAMETER__SIZE                                                  0x00000008
4075 #define  NV20TCL_RC_CONSTANT_COLOR0(x)                                                  (0x00000a60+((x)*4))
4076 #define  NV20TCL_RC_CONSTANT_COLOR0__SIZE                                               0x00000008
4077 #define   NV20TCL_RC_CONSTANT_COLOR0_B_SHIFT                                            0
4078 #define   NV20TCL_RC_CONSTANT_COLOR0_B_MASK                                             0x000000ff
4079 #define   NV20TCL_RC_CONSTANT_COLOR0_G_SHIFT                                            8
4080 #define   NV20TCL_RC_CONSTANT_COLOR0_G_MASK                                             0x0000ff00
4081 #define   NV20TCL_RC_CONSTANT_COLOR0_R_SHIFT                                            16
4082 #define   NV20TCL_RC_CONSTANT_COLOR0_R_MASK                                             0x00ff0000
4083 #define   NV20TCL_RC_CONSTANT_COLOR0_A_SHIFT                                            24
4084 #define   NV20TCL_RC_CONSTANT_COLOR0_A_MASK                                             0xff000000
4085 #define  NV20TCL_RC_CONSTANT_COLOR1(x)                                                  (0x00000a80+((x)*4))
4086 #define  NV20TCL_RC_CONSTANT_COLOR1__SIZE                                               0x00000008
4087 #define   NV20TCL_RC_CONSTANT_COLOR1_B_SHIFT                                            0
4088 #define   NV20TCL_RC_CONSTANT_COLOR1_B_MASK                                             0x000000ff
4089 #define   NV20TCL_RC_CONSTANT_COLOR1_G_SHIFT                                            8
4090 #define   NV20TCL_RC_CONSTANT_COLOR1_G_MASK                                             0x0000ff00
4091 #define   NV20TCL_RC_CONSTANT_COLOR1_R_SHIFT                                            16
4092 #define   NV20TCL_RC_CONSTANT_COLOR1_R_MASK                                             0x00ff0000
4093 #define   NV20TCL_RC_CONSTANT_COLOR1_A_SHIFT                                            24
4094 #define   NV20TCL_RC_CONSTANT_COLOR1_A_MASK                                             0xff000000
4095 #define  NV20TCL_RC_OUT_ALPHA(x)                                                        (0x00000aa0+((x)*4))
4096 #define  NV20TCL_RC_OUT_ALPHA__SIZE                                                     0x00000008
4097 #define   NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SHIFT                                          0
4098 #define   NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_MASK                                           0x0000000f
4099 #define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_ZERO                                          0x00000000
4100 #define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0                               0x00000001
4101 #define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1                               0x00000002
4102 #define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_FOG                                           0x00000003
4103 #define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR                                 0x00000004
4104 #define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR                               0x00000005
4105 #define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0                                      0x00000008
4106 #define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1                                      0x00000009
4107 #define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0                                        0x0000000c
4108 #define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE1                                        0x0000000d
4109 #define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                   0x0000000e
4110 #define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F                                     0x0000000f
4111 #define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2                                      0x0000000a
4112 #define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3                                      0x0000000b
4113 #define   NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SHIFT                                          4
4114 #define   NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_MASK                                           0x000000f0
4115 #define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_ZERO                                          0x00000000
4116 #define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0                               0x00000010
4117 #define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1                               0x00000020
4118 #define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_FOG                                           0x00000030
4119 #define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR                                 0x00000040
4120 #define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR                               0x00000050
4121 #define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0                                      0x00000080
4122 #define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1                                      0x00000090
4123 #define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0                                        0x000000c0
4124 #define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE1                                        0x000000d0
4125 #define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                   0x000000e0
4126 #define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F                                     0x000000f0
4127 #define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2                                      0x000000a0
4128 #define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3                                      0x000000b0
4129 #define   NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT                                         8
4130 #define   NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_MASK                                          0x00000f00
4131 #define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_ZERO                                         0x00000000
4132 #define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0                              0x00000100
4133 #define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1                              0x00000200
4134 #define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_FOG                                          0x00000300
4135 #define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR                                0x00000400
4136 #define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR                              0x00000500
4137 #define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0                                     0x00000800
4138 #define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1                                     0x00000900
4139 #define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0                                       0x00000c00
4140 #define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1                                       0x00000d00
4141 #define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                  0x00000e00
4142 #define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F                                    0x00000f00
4143 #define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2                                     0x00000a00
4144 #define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3                                     0x00000b00
4145 #define   NV20TCL_RC_OUT_ALPHA_CD_DOT_PRODUCT                                           (1 << 12)
4146 #define   NV20TCL_RC_OUT_ALPHA_AB_DOT_PRODUCT                                           (1 << 13)
4147 #define   NV20TCL_RC_OUT_ALPHA_MUX_SUM                                                  (1 << 14)
4148 #define   NV20TCL_RC_OUT_ALPHA_BIAS                                                     (1 << 15)
4149 #define    NV20TCL_RC_OUT_ALPHA_BIAS_NONE                                               0x00000000
4150 #define    NV20TCL_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF                          0x00008000
4151 #define   NV20TCL_RC_OUT_ALPHA_SCALE_SHIFT                                              17
4152 #define   NV20TCL_RC_OUT_ALPHA_SCALE_MASK                                               0x00000000
4153 #define    NV20TCL_RC_OUT_ALPHA_SCALE_NONE                                              0x00000000
4154 #define    NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO                                      0x00020000
4155 #define    NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR                                     0x00040000
4156 #define    NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF                                 0x00060000
4157 #define  NV20TCL_RC_IN_RGB(x)                                                           (0x00000ac0+((x)*4))
4158 #define  NV20TCL_RC_IN_RGB__SIZE                                                        0x00000008
4159 #define   NV20TCL_RC_IN_RGB_D_INPUT_SHIFT                                               0
4160 #define   NV20TCL_RC_IN_RGB_D_INPUT_MASK                                                0x0000000f
4161 #define    NV20TCL_RC_IN_RGB_D_INPUT_ZERO                                               0x00000000
4162 #define    NV20TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0                                    0x00000001
4163 #define    NV20TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1                                    0x00000002
4164 #define    NV20TCL_RC_IN_RGB_D_INPUT_FOG                                                0x00000003
4165 #define    NV20TCL_RC_IN_RGB_D_INPUT_PRIMARY_COLOR                                      0x00000004
4166 #define    NV20TCL_RC_IN_RGB_D_INPUT_SECONDARY_COLOR                                    0x00000005
4167 #define    NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE0                                           0x00000008
4168 #define    NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE1                                           0x00000009
4169 #define    NV20TCL_RC_IN_RGB_D_INPUT_SPARE0                                             0x0000000c
4170 #define    NV20TCL_RC_IN_RGB_D_INPUT_SPARE1                                             0x0000000d
4171 #define    NV20TCL_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0000000e
4172 #define    NV20TCL_RC_IN_RGB_D_INPUT_E_TIMES_F                                          0x0000000f
4173 #define    NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE2                                           0x0000000a
4174 #define    NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE3                                           0x0000000b
4175 #define   NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE                                           (1 <<  4)
4176 #define    NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE_RGB                                      0x00000000
4177 #define    NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA                                    0x00000010
4178 #define   NV20TCL_RC_IN_RGB_D_MAPPING_SHIFT                                             5
4179 #define   NV20TCL_RC_IN_RGB_D_MAPPING_MASK                                              0x000000e0
4180 #define    NV20TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY                                0x00000000
4181 #define    NV20TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT                                  0x00000020
4182 #define    NV20TCL_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL                                    0x00000040
4183 #define    NV20TCL_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE                                    0x00000060
4184 #define    NV20TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL                                 0x00000080
4185 #define    NV20TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE                                 0x000000a0
4186 #define    NV20TCL_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY                                  0x000000c0
4187 #define    NV20TCL_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE                                    0x000000e0
4188 #define   NV20TCL_RC_IN_RGB_C_INPUT_SHIFT                                               8
4189 #define   NV20TCL_RC_IN_RGB_C_INPUT_MASK                                                0x00000f00
4190 #define    NV20TCL_RC_IN_RGB_C_INPUT_ZERO                                               0x00000000
4191 #define    NV20TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0                                    0x00000100
4192 #define    NV20TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1                                    0x00000200
4193 #define    NV20TCL_RC_IN_RGB_C_INPUT_FOG                                                0x00000300
4194 #define    NV20TCL_RC_IN_RGB_C_INPUT_PRIMARY_COLOR                                      0x00000400
4195 #define    NV20TCL_RC_IN_RGB_C_INPUT_SECONDARY_COLOR                                    0x00000500
4196 #define    NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE0                                           0x00000800
4197 #define    NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE1                                           0x00000900
4198 #define    NV20TCL_RC_IN_RGB_C_INPUT_SPARE0                                             0x00000c00
4199 #define    NV20TCL_RC_IN_RGB_C_INPUT_SPARE1                                             0x00000d00
4200 #define    NV20TCL_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x00000e00
4201 #define    NV20TCL_RC_IN_RGB_C_INPUT_E_TIMES_F                                          0x00000f00
4202 #define    NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE2                                           0x00000a00
4203 #define    NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE3                                           0x00000b00
4204 #define   NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE                                           (1 << 12)
4205 #define    NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE_RGB                                      0x00000000
4206 #define    NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA                                    0x00001000
4207 #define   NV20TCL_RC_IN_RGB_C_MAPPING_SHIFT                                             13
4208 #define   NV20TCL_RC_IN_RGB_C_MAPPING_MASK                                              0x0000e000
4209 #define    NV20TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY                                0x00000000
4210 #define    NV20TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT                                  0x00002000
4211 #define    NV20TCL_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL                                    0x00004000
4212 #define    NV20TCL_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE                                    0x00006000
4213 #define    NV20TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL                                 0x00008000
4214 #define    NV20TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE                                 0x0000a000
4215 #define    NV20TCL_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY                                  0x0000c000
4216 #define    NV20TCL_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE                                    0x0000e000
4217 #define   NV20TCL_RC_IN_RGB_B_INPUT_SHIFT                                               16
4218 #define   NV20TCL_RC_IN_RGB_B_INPUT_MASK                                                0x000f0000
4219 #define    NV20TCL_RC_IN_RGB_B_INPUT_ZERO                                               0x00000000
4220 #define    NV20TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0                                    0x00010000
4221 #define    NV20TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1                                    0x00020000
4222 #define    NV20TCL_RC_IN_RGB_B_INPUT_FOG                                                0x00030000
4223 #define    NV20TCL_RC_IN_RGB_B_INPUT_PRIMARY_COLOR                                      0x00040000
4224 #define    NV20TCL_RC_IN_RGB_B_INPUT_SECONDARY_COLOR                                    0x00050000
4225 #define    NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE0                                           0x00080000
4226 #define    NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE1                                           0x00090000
4227 #define    NV20TCL_RC_IN_RGB_B_INPUT_SPARE0                                             0x000c0000
4228 #define    NV20TCL_RC_IN_RGB_B_INPUT_SPARE1                                             0x000d0000
4229 #define    NV20TCL_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x000e0000
4230 #define    NV20TCL_RC_IN_RGB_B_INPUT_E_TIMES_F                                          0x000f0000
4231 #define    NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE2                                           0x000a0000
4232 #define    NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE3                                           0x000b0000
4233 #define   NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE                                           (1 << 20)
4234 #define    NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE_RGB                                      0x00000000
4235 #define    NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA                                    0x00100000
4236 #define   NV20TCL_RC_IN_RGB_B_MAPPING_SHIFT                                             21
4237 #define   NV20TCL_RC_IN_RGB_B_MAPPING_MASK                                              0x00e00000
4238 #define    NV20TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY                                0x00000000
4239 #define    NV20TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT                                  0x00200000
4240 #define    NV20TCL_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL                                    0x00400000
4241 #define    NV20TCL_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE                                    0x00600000
4242 #define    NV20TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL                                 0x00800000
4243 #define    NV20TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE                                 0x00a00000
4244 #define    NV20TCL_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY                                  0x00c00000
4245 #define    NV20TCL_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE                                    0x00e00000
4246 #define   NV20TCL_RC_IN_RGB_A_INPUT_SHIFT                                               24
4247 #define   NV20TCL_RC_IN_RGB_A_INPUT_MASK                                                0x0f000000
4248 #define    NV20TCL_RC_IN_RGB_A_INPUT_ZERO                                               0x00000000
4249 #define    NV20TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0                                    0x01000000
4250 #define    NV20TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1                                    0x02000000
4251 #define    NV20TCL_RC_IN_RGB_A_INPUT_FOG                                                0x03000000
4252 #define    NV20TCL_RC_IN_RGB_A_INPUT_PRIMARY_COLOR                                      0x04000000
4253 #define    NV20TCL_RC_IN_RGB_A_INPUT_SECONDARY_COLOR                                    0x05000000
4254 #define    NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE0                                           0x08000000
4255 #define    NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE1                                           0x09000000
4256 #define    NV20TCL_RC_IN_RGB_A_INPUT_SPARE0                                             0x0c000000
4257 #define    NV20TCL_RC_IN_RGB_A_INPUT_SPARE1                                             0x0d000000
4258 #define    NV20TCL_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0e000000
4259 #define    NV20TCL_RC_IN_RGB_A_INPUT_E_TIMES_F                                          0x0f000000
4260 #define    NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE2                                           0x0a000000
4261 #define    NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE3                                           0x0b000000
4262 #define   NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE                                           (1 << 28)
4263 #define    NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE_RGB                                      0x00000000
4264 #define    NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA                                    0x10000000
4265 #define   NV20TCL_RC_IN_RGB_A_MAPPING_SHIFT                                             29
4266 #define   NV20TCL_RC_IN_RGB_A_MAPPING_MASK                                              0xe0000000
4267 #define    NV20TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY                                0x00000000
4268 #define    NV20TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT                                  0x20000000
4269 #define    NV20TCL_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL                                    0x40000000
4270 #define    NV20TCL_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE                                    0x60000000
4271 #define    NV20TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL                                 0x80000000
4272 #define    NV20TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE                                 0xa0000000
4273 #define    NV20TCL_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY                                  0xc0000000
4274 #define    NV20TCL_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE                                    0xe0000000
4275 #define  NV20TCL_VIEWPORT_SCALE_X                                                       0x00000af0
4276 #define  NV20TCL_VIEWPORT_SCALE_Y                                                       0x00000af4
4277 #define  NV20TCL_VIEWPORT_SCALE_Z                                                       0x00000af8
4278 #define  NV20TCL_VIEWPORT_SCALE_W                                                       0x00000afc
4279 #define  NV20TCL_VP_UPLOAD_INST(x)                                                      (0x00000b00+((x)*4))
4280 #define  NV20TCL_VP_UPLOAD_INST__SIZE                                                   0x00000004
4281 #define  NV20TCL_VP_UPLOAD_CONST(x)                                                     (0x00000b80+((x)*4))
4282 #define  NV20TCL_VP_UPLOAD_CONST__SIZE                                                  0x00000004
4283 #define  NV20TCL_LIGHT_BACK_AMBIENT_R(x)                                                (0x00000c00+((x)*64))
4284 #define  NV20TCL_LIGHT_BACK_AMBIENT_R__SIZE                                             0x00000008
4285 #define  NV20TCL_LIGHT_BACK_AMBIENT_G(x)                                                (0x00000c04+((x)*64))
4286 #define  NV20TCL_LIGHT_BACK_AMBIENT_G__SIZE                                             0x00000008
4287 #define  NV20TCL_LIGHT_BACK_AMBIENT_B(x)                                                (0x00000c08+((x)*64))
4288 #define  NV20TCL_LIGHT_BACK_AMBIENT_B__SIZE                                             0x00000008
4289 #define  NV20TCL_LIGHT_BACK_DIFFUSE_R(x)                                                (0x00000c0c+((x)*64))
4290 #define  NV20TCL_LIGHT_BACK_DIFFUSE_R__SIZE                                             0x00000008
4291 #define  NV20TCL_LIGHT_BACK_DIFFUSE_G(x)                                                (0x00000c10+((x)*64))
4292 #define  NV20TCL_LIGHT_BACK_DIFFUSE_G__SIZE                                             0x00000008
4293 #define  NV20TCL_LIGHT_BACK_DIFFUSE_B(x)                                                (0x00000c14+((x)*64))
4294 #define  NV20TCL_LIGHT_BACK_DIFFUSE_B__SIZE                                             0x00000008
4295 #define  NV20TCL_LIGHT_BACK_SPECULAR_R(x)                                               (0x00000c18+((x)*64))
4296 #define  NV20TCL_LIGHT_BACK_SPECULAR_R__SIZE                                            0x00000008
4297 #define  NV20TCL_LIGHT_BACK_SPECULAR_G(x)                                               (0x00000c1c+((x)*64))
4298 #define  NV20TCL_LIGHT_BACK_SPECULAR_G__SIZE                                            0x00000008
4299 #define  NV20TCL_LIGHT_BACK_SPECULAR_B(x)                                               (0x00000c20+((x)*64))
4300 #define  NV20TCL_LIGHT_BACK_SPECULAR_B__SIZE                                            0x00000008
4301 #define  NV20TCL_LIGHT_FRONT_AMBIENT_R(x)                                               (0x00001000+((x)*128))
4302 #define  NV20TCL_LIGHT_FRONT_AMBIENT_R__SIZE                                            0x00000008
4303 #define  NV20TCL_LIGHT_FRONT_AMBIENT_G(x)                                               (0x00001004+((x)*128))
4304 #define  NV20TCL_LIGHT_FRONT_AMBIENT_G__SIZE                                            0x00000008
4305 #define  NV20TCL_LIGHT_FRONT_AMBIENT_B(x)                                               (0x00001008+((x)*128))
4306 #define  NV20TCL_LIGHT_FRONT_AMBIENT_B__SIZE                                            0x00000008
4307 #define  NV20TCL_LIGHT_FRONT_DIFFUSE_R(x)                                               (0x0000100c+((x)*128))
4308 #define  NV20TCL_LIGHT_FRONT_DIFFUSE_R__SIZE                                            0x00000008
4309 #define  NV20TCL_LIGHT_FRONT_DIFFUSE_G(x)                                               (0x00001010+((x)*128))
4310 #define  NV20TCL_LIGHT_FRONT_DIFFUSE_G__SIZE                                            0x00000008
4311 #define  NV20TCL_LIGHT_FRONT_DIFFUSE_B(x)                                               (0x00001014+((x)*128))
4312 #define  NV20TCL_LIGHT_FRONT_DIFFUSE_B__SIZE                                            0x00000008
4313 #define  NV20TCL_LIGHT_FRONT_SPECULAR_R(x)                                              (0x00001018+((x)*128))
4314 #define  NV20TCL_LIGHT_FRONT_SPECULAR_R__SIZE                                           0x00000008
4315 #define  NV20TCL_LIGHT_FRONT_SPECULAR_G(x)                                              (0x0000101c+((x)*128))
4316 #define  NV20TCL_LIGHT_FRONT_SPECULAR_G__SIZE                                           0x00000008
4317 #define  NV20TCL_LIGHT_FRONT_SPECULAR_B(x)                                              (0x00001020+((x)*128))
4318 #define  NV20TCL_LIGHT_FRONT_SPECULAR_B__SIZE                                           0x00000008
4319 #define  NV20TCL_LIGHT_HALF_VECTOR_X(x)                                                 (0x00001028+((x)*128))
4320 #define  NV20TCL_LIGHT_HALF_VECTOR_X__SIZE                                              0x00000008
4321 #define  NV20TCL_LIGHT_HALF_VECTOR_Y(x)                                                 (0x0000102c+((x)*128))
4322 #define  NV20TCL_LIGHT_HALF_VECTOR_Y__SIZE                                              0x00000008
4323 #define  NV20TCL_LIGHT_HALF_VECTOR_Z(x)                                                 (0x00001030+((x)*128))
4324 #define  NV20TCL_LIGHT_HALF_VECTOR_Z__SIZE                                              0x00000008
4325 #define  NV20TCL_LIGHT_DIRECTION_X(x)                                                   (0x00001034+((x)*128))
4326 #define  NV20TCL_LIGHT_DIRECTION_X__SIZE                                                0x00000008
4327 #define  NV20TCL_LIGHT_DIRECTION_Y(x)                                                   (0x00001038+((x)*128))
4328 #define  NV20TCL_LIGHT_DIRECTION_Y__SIZE                                                0x00000008
4329 #define  NV20TCL_LIGHT_DIRECTION_Z(x)                                                   (0x0000103c+((x)*128))
4330 #define  NV20TCL_LIGHT_DIRECTION_Z__SIZE                                                0x00000008
4331 #define  NV20TCL_LIGHT_SPOT_CUTOFF_A(x)                                                 (0x00001040+((x)*128))
4332 #define  NV20TCL_LIGHT_SPOT_CUTOFF_A__SIZE                                              0x00000008
4333 #define  NV20TCL_LIGHT_SPOT_CUTOFF_B(x)                                                 (0x00001044+((x)*128))
4334 #define  NV20TCL_LIGHT_SPOT_CUTOFF_B__SIZE                                              0x00000008
4335 #define  NV20TCL_LIGHT_SPOT_CUTOFF_C(x)                                                 (0x00001048+((x)*128))
4336 #define  NV20TCL_LIGHT_SPOT_CUTOFF_C__SIZE                                              0x00000008
4337 #define  NV20TCL_LIGHT_SPOT_DIR_X(x)                                                    (0x0000104c+((x)*128))
4338 #define  NV20TCL_LIGHT_SPOT_DIR_X__SIZE                                                 0x00000008
4339 #define  NV20TCL_LIGHT_SPOT_DIR_Y(x)                                                    (0x00001050+((x)*128))
4340 #define  NV20TCL_LIGHT_SPOT_DIR_Y__SIZE                                                 0x00000008
4341 #define  NV20TCL_LIGHT_SPOT_DIR_Z(x)                                                    (0x00001054+((x)*128))
4342 #define  NV20TCL_LIGHT_SPOT_DIR_Z__SIZE                                                 0x00000008
4343 #define  NV20TCL_LIGHT_SPOT_CUTOFF_D(x)                                                 (0x00001058+((x)*128))
4344 #define  NV20TCL_LIGHT_SPOT_CUTOFF_D__SIZE                                              0x00000008
4345 #define  NV20TCL_LIGHT_POSITION_X(x)                                                    (0x0000105c+((x)*128))
4346 #define  NV20TCL_LIGHT_POSITION_X__SIZE                                                 0x00000008
4347 #define  NV20TCL_LIGHT_POSITION_Y(x)                                                    (0x00001060+((x)*128))
4348 #define  NV20TCL_LIGHT_POSITION_Y__SIZE                                                 0x00000008
4349 #define  NV20TCL_LIGHT_POSITION_Z(x)                                                    (0x00001064+((x)*128))
4350 #define  NV20TCL_LIGHT_POSITION_Z__SIZE                                                 0x00000008
4351 #define  NV20TCL_LIGHT_ATTENUATION_CONSTANT(x)                                          (0x00001068+((x)*128))
4352 #define  NV20TCL_LIGHT_ATTENUATION_CONSTANT__SIZE                                       0x00000008
4353 #define  NV20TCL_LIGHT_ATTENUATION_LINEAR(x)                                            (0x0000106c+((x)*128))
4354 #define  NV20TCL_LIGHT_ATTENUATION_LINEAR__SIZE                                         0x00000008
4355 #define  NV20TCL_LIGHT_ATTENUATION_QUADRATIC(x)                                         (0x00001070+((x)*128))
4356 #define  NV20TCL_LIGHT_ATTENUATION_QUADRATIC__SIZE                                      0x00000008
4357 #define  NV20TCL_POLYGON_STIPPLE_ENABLE                                                 0x0000147c
4358 #define  NV20TCL_POLYGON_STIPPLE_PATTERN(x)                                             (0x00001480+((x)*4))
4359 #define  NV20TCL_POLYGON_STIPPLE_PATTERN__SIZE                                          0x00000020
4360 #define  NV20TCL_VERTEX_POS_3F_X                                                        0x00001500
4361 #define  NV20TCL_VERTEX_POS_3F_Y                                                        0x00001504
4362 #define  NV20TCL_VERTEX_POS_3F_Z                                                        0x00001508
4363 #define  NV20TCL_VERTEX_POS_4F_X                                                        0x00001518
4364 #define  NV20TCL_VERTEX_POS_4F_Y                                                        0x0000151c
4365 #define  NV20TCL_VERTEX_POS_4F_Z                                                        0x00001520
4366 #define  NV20TCL_VERTEX_POS_3I_XY                                                       0x00001528
4367 #define   NV20TCL_VERTEX_POS_3I_XY_X_SHIFT                                              0
4368 #define   NV20TCL_VERTEX_POS_3I_XY_X_MASK                                               0x0000ffff
4369 #define   NV20TCL_VERTEX_POS_3I_XY_Y_SHIFT                                              16
4370 #define   NV20TCL_VERTEX_POS_3I_XY_Y_MASK                                               0xffff0000
4371 #define  NV20TCL_VERTEX_POS_3I_Z                                                        0x0000152c
4372 #define   NV20TCL_VERTEX_POS_3I_Z_Z_SHIFT                                               0
4373 #define   NV20TCL_VERTEX_POS_3I_Z_Z_MASK                                                0x0000ffff
4374 #define  NV20TCL_VERTEX_NOR_3F_X                                                        0x00001530
4375 #define  NV20TCL_VERTEX_NOR_3F_Y                                                        0x00001534
4376 #define  NV20TCL_VERTEX_NOR_3F_Z                                                        0x00001538
4377 #define  NV20TCL_VERTEX_NOR_3I_XY                                                       0x00001540
4378 #define   NV20TCL_VERTEX_NOR_3I_XY_X_SHIFT                                              0
4379 #define   NV20TCL_VERTEX_NOR_3I_XY_X_MASK                                               0x0000ffff
4380 #define   NV20TCL_VERTEX_NOR_3I_XY_Y_SHIFT                                              16
4381 #define   NV20TCL_VERTEX_NOR_3I_XY_Y_MASK                                               0xffff0000
4382 #define  NV20TCL_VERTEX_NOR_3I_Z                                                        0x00001544
4383 #define   NV20TCL_VERTEX_NOR_3I_Z_Z_SHIFT                                               0
4384 #define   NV20TCL_VERTEX_NOR_3I_Z_Z_MASK                                                0x0000ffff
4385 #define  NV20TCL_VERTEX_COL_4F_X                                                        0x00001550
4386 #define  NV20TCL_VERTEX_COL_4F_Y                                                        0x00001554
4387 #define  NV20TCL_VERTEX_COL_4F_Z                                                        0x00001558
4388 #define  NV20TCL_VERTEX_COL_4F_W                                                        0x0000155c
4389 #define  NV20TCL_VERTEX_COL_3F_X                                                        0x00001560
4390 #define  NV20TCL_VERTEX_COL_3F_Y                                                        0x00001564
4391 #define  NV20TCL_VERTEX_COL_3F_Z                                                        0x00001568
4392 #define  NV20TCL_VERTEX_COL_4I                                                          0x0000156c
4393 #define   NV20TCL_VERTEX_COL_4I_R_SHIFT                                                 0
4394 #define   NV20TCL_VERTEX_COL_4I_R_MASK                                                  0x000000ff
4395 #define   NV20TCL_VERTEX_COL_4I_G_SHIFT                                                 8
4396 #define   NV20TCL_VERTEX_COL_4I_G_MASK                                                  0x0000ff00
4397 #define   NV20TCL_VERTEX_COL_4I_B_SHIFT                                                 16
4398 #define   NV20TCL_VERTEX_COL_4I_B_MASK                                                  0x00ff0000
4399 #define   NV20TCL_VERTEX_COL_4I_A_SHIFT                                                 24
4400 #define   NV20TCL_VERTEX_COL_4I_A_MASK                                                  0xff000000
4401 #define  NV20TCL_VERTEX_COL2_3F_X                                                       0x00001580
4402 #define  NV20TCL_VERTEX_COL2_3F_Y                                                       0x00001584
4403 #define  NV20TCL_VERTEX_COL2_3F_Z                                                       0x00001588
4404 #define  NV20TCL_VERTEX_COL2_4I                                                         0x0000158c
4405 #define   NV20TCL_VERTEX_COL2_4I_R_SHIFT                                                0
4406 #define   NV20TCL_VERTEX_COL2_4I_R_MASK                                                 0x000000ff
4407 #define   NV20TCL_VERTEX_COL2_4I_G_SHIFT                                                8
4408 #define   NV20TCL_VERTEX_COL2_4I_G_MASK                                                 0x0000ff00
4409 #define   NV20TCL_VERTEX_COL2_4I_B_SHIFT                                                16
4410 #define   NV20TCL_VERTEX_COL2_4I_B_MASK                                                 0x00ff0000
4411 #define   NV20TCL_VERTEX_COL2_4I_A_SHIFT                                                24
4412 #define   NV20TCL_VERTEX_COL2_4I_A_MASK                                                 0xff000000
4413 #define  NV20TCL_VERTEX_TX0_2F_S                                                        0x00001590
4414 #define  NV20TCL_VERTEX_TX0_2F_T                                                        0x00001594
4415 #define  NV20TCL_VERTEX_TX0_2I                                                          0x00001598
4416 #define   NV20TCL_VERTEX_TX0_2I_S_SHIFT                                                 0
4417 #define   NV20TCL_VERTEX_TX0_2I_S_MASK                                                  0x0000ffff
4418 #define   NV20TCL_VERTEX_TX0_2I_T_SHIFT                                                 16
4419 #define   NV20TCL_VERTEX_TX0_2I_T_MASK                                                  0xffff0000
4420 #define  NV20TCL_VERTEX_TX0_4F_S                                                        0x000015a0
4421 #define  NV20TCL_VERTEX_TX0_4F_T                                                        0x000015a4
4422 #define  NV20TCL_VERTEX_TX0_4F_R                                                        0x000015a8
4423 #define  NV20TCL_VERTEX_TX0_4F_Q                                                        0x000015ac
4424 #define  NV20TCL_VERTEX_TX0_4I_ST                                                       0x000015b0
4425 #define   NV20TCL_VERTEX_TX0_4I_ST_S_SHIFT                                              0
4426 #define   NV20TCL_VERTEX_TX0_4I_ST_S_MASK                                               0x0000ffff
4427 #define   NV20TCL_VERTEX_TX0_4I_ST_T_SHIFT                                              16
4428 #define   NV20TCL_VERTEX_TX0_4I_ST_T_MASK                                               0xffff0000
4429 #define  NV20TCL_VERTEX_TX0_4I_RQ                                                       0x000015b4
4430 #define   NV20TCL_VERTEX_TX0_4I_RQ_R_SHIFT                                              0
4431 #define   NV20TCL_VERTEX_TX0_4I_RQ_R_MASK                                               0x0000ffff
4432 #define   NV20TCL_VERTEX_TX0_4I_RQ_Q_SHIFT                                              16
4433 #define   NV20TCL_VERTEX_TX0_4I_RQ_Q_MASK                                               0xffff0000
4434 #define  NV20TCL_VERTEX_TX1_2F_S                                                        0x000015b8
4435 #define  NV20TCL_VERTEX_TX1_2F_T                                                        0x000015bc
4436 #define  NV20TCL_VERTEX_TX1_2I                                                          0x000015c0
4437 #define   NV20TCL_VERTEX_TX1_2I_S_SHIFT                                                 0
4438 #define   NV20TCL_VERTEX_TX1_2I_S_MASK                                                  0x0000ffff
4439 #define   NV20TCL_VERTEX_TX1_2I_T_SHIFT                                                 16
4440 #define   NV20TCL_VERTEX_TX1_2I_T_MASK                                                  0xffff0000
4441 #define  NV20TCL_VERTEX_TX1_4F_S                                                        0x000015c8
4442 #define  NV20TCL_VERTEX_TX1_4F_T                                                        0x000015cc
4443 #define  NV20TCL_VERTEX_TX1_4F_R                                                        0x000015d0
4444 #define  NV20TCL_VERTEX_TX1_4F_Q                                                        0x000015d4
4445 #define  NV20TCL_VERTEX_TX1_4I_ST                                                       0x000015d8
4446 #define   NV20TCL_VERTEX_TX1_4I_ST_S_SHIFT                                              0
4447 #define   NV20TCL_VERTEX_TX1_4I_ST_S_MASK                                               0x0000ffff
4448 #define   NV20TCL_VERTEX_TX1_4I_ST_T_SHIFT                                              16
4449 #define   NV20TCL_VERTEX_TX1_4I_ST_T_MASK                                               0xffff0000
4450 #define  NV20TCL_VERTEX_TX1_4I_RQ                                                       0x000015dc
4451 #define   NV20TCL_VERTEX_TX1_4I_RQ_R_SHIFT                                              0
4452 #define   NV20TCL_VERTEX_TX1_4I_RQ_R_MASK                                               0x0000ffff
4453 #define   NV20TCL_VERTEX_TX1_4I_RQ_Q_SHIFT                                              16
4454 #define   NV20TCL_VERTEX_TX1_4I_RQ_Q_MASK                                               0xffff0000
4455 #define  NV20TCL_VERTEX_TX2_2F_S                                                        0x000015e0
4456 #define  NV20TCL_VERTEX_TX2_2F_T                                                        0x000015e4
4457 #define  NV20TCL_VERTEX_TX2_2I                                                          0x000015e8
4458 #define   NV20TCL_VERTEX_TX2_2I_S_SHIFT                                                 0
4459 #define   NV20TCL_VERTEX_TX2_2I_S_MASK                                                  0x0000ffff
4460 #define   NV20TCL_VERTEX_TX2_2I_T_SHIFT                                                 16
4461 #define   NV20TCL_VERTEX_TX2_2I_T_MASK                                                  0xffff0000
4462 #define  NV20TCL_VERTEX_TX2_4F_S                                                        0x000015f0
4463 #define  NV20TCL_VERTEX_TX2_4F_T                                                        0x000015f4
4464 #define  NV20TCL_VERTEX_TX2_4F_R                                                        0x000015f8
4465 #define  NV20TCL_VERTEX_TX2_4F_Q                                                        0x000015fc
4466 #define  NV20TCL_VERTEX_TX2_4I_ST                                                       0x00001600
4467 #define   NV20TCL_VERTEX_TX2_4I_ST_S_SHIFT                                              0
4468 #define   NV20TCL_VERTEX_TX2_4I_ST_S_MASK                                               0x0000ffff
4469 #define   NV20TCL_VERTEX_TX2_4I_ST_T_SHIFT                                              16
4470 #define   NV20TCL_VERTEX_TX2_4I_ST_T_MASK                                               0xffff0000
4471 #define  NV20TCL_VERTEX_TX2_4I_RQ                                                       0x00001604
4472 #define   NV20TCL_VERTEX_TX2_4I_RQ_R_SHIFT                                              0
4473 #define   NV20TCL_VERTEX_TX2_4I_RQ_R_MASK                                               0x0000ffff
4474 #define   NV20TCL_VERTEX_TX2_4I_RQ_Q_SHIFT                                              16
4475 #define   NV20TCL_VERTEX_TX2_4I_RQ_Q_MASK                                               0xffff0000
4476 #define  NV20TCL_VERTEX_TX3_2F_S                                                        0x00001608
4477 #define  NV20TCL_VERTEX_TX3_2F_T                                                        0x0000160c
4478 #define  NV20TCL_VERTEX_TX3_2I                                                          0x00001610
4479 #define   NV20TCL_VERTEX_TX3_2I_S_SHIFT                                                 0
4480 #define   NV20TCL_VERTEX_TX3_2I_S_MASK                                                  0x0000ffff
4481 #define   NV20TCL_VERTEX_TX3_2I_T_SHIFT                                                 16
4482 #define   NV20TCL_VERTEX_TX3_2I_T_MASK                                                  0xffff0000
4483 #define  NV20TCL_VERTEX_TX3_4F_S                                                        0x00001620
4484 #define  NV20TCL_VERTEX_TX3_4F_T                                                        0x00001624
4485 #define  NV20TCL_VERTEX_TX3_4F_R                                                        0x00001628
4486 #define  NV20TCL_VERTEX_TX3_4F_Q                                                        0x0000162c
4487 #define  NV20TCL_VERTEX_TX3_4I_ST                                                       0x00001630
4488 #define   NV20TCL_VERTEX_TX3_4I_ST_S_SHIFT                                              0
4489 #define   NV20TCL_VERTEX_TX3_4I_ST_S_MASK                                               0x0000ffff
4490 #define   NV20TCL_VERTEX_TX3_4I_ST_T_SHIFT                                              16
4491 #define   NV20TCL_VERTEX_TX3_4I_ST_T_MASK                                               0xffff0000
4492 #define  NV20TCL_VERTEX_TX3_4I_RQ                                                       0x00001634
4493 #define   NV20TCL_VERTEX_TX3_4I_RQ_R_SHIFT                                              0
4494 #define   NV20TCL_VERTEX_TX3_4I_RQ_R_MASK                                               0x0000ffff
4495 #define   NV20TCL_VERTEX_TX3_4I_RQ_Q_SHIFT                                              16
4496 #define   NV20TCL_VERTEX_TX3_4I_RQ_Q_MASK                                               0xffff0000
4497 #define  NV20TCL_VERTEX_FOG_1F                                                          0x00001698
4498 #define  NV20TCL_EDGEFLAG_ENABLE                                                        0x000016bc
4499 #define  NV20TCL_VTX_CACHE_INVALIDATE                                                   0x00001710
4500 #define  NV20TCL_VTXBUF_ADDRESS(x)                                                      (0x00001720+((x)*4))
4501 #define  NV20TCL_VTXBUF_ADDRESS__SIZE                                                   0x00000010
4502 #define   NV20TCL_VTXBUF_ADDRESS_DMA1                                                   (1 << 31)
4503 #define   NV20TCL_VTXBUF_ADDRESS_OFFSET_SHIFT                                           0
4504 #define   NV20TCL_VTXBUF_ADDRESS_OFFSET_MASK                                            0x0fffffff
4505 #define  NV20TCL_VTXFMT(x)                                                              (0x00001760+((x)*4))
4506 #define  NV20TCL_VTXFMT__SIZE                                                           0x00000010
4507 #define   NV20TCL_VTXFMT_TYPE_SHIFT                                                     0
4508 #define   NV20TCL_VTXFMT_TYPE_MASK                                                      0x0000000f
4509 #define    NV20TCL_VTXFMT_TYPE_FLOAT                                                    0x00000002
4510 #define    NV20TCL_VTXFMT_TYPE_UBYTE                                                    0x00000004
4511 #define    NV20TCL_VTXFMT_TYPE_USHORT                                                   0x00000005
4512 #define   NV20TCL_VTXFMT_SIZE_SHIFT                                                     4
4513 #define   NV20TCL_VTXFMT_SIZE_MASK                                                      0x000000f0
4514 #define   NV20TCL_VTXFMT_STRIDE_SHIFT                                                   8
4515 #define   NV20TCL_VTXFMT_STRIDE_MASK                                                    0x0000ff00
4516 #define  NV20TCL_LIGHT_MODEL_BACK_AMBIENT_R                                             0x000017a0
4517 #define  NV20TCL_LIGHT_MODEL_BACK_AMBIENT_G                                             0x000017a4
4518 #define  NV20TCL_LIGHT_MODEL_BACK_AMBIENT_B                                             0x000017a8
4519 #define  NV20TCL_MATERIAL_FACTOR_BACK_A                                                 0x000017ac
4520 #define  NV20TCL_MATERIAL_FACTOR_BACK_R                                                 0x000017b0
4521 #define  NV20TCL_MATERIAL_FACTOR_BACK_G                                                 0x000017b4
4522 #define  NV20TCL_MATERIAL_FACTOR_BACK_B                                                 0x000017b8
4523 #define  NV20TCL_COLOR_LOGIC_OP_ENABLE                                                  0x000017bc
4524 #define  NV20TCL_COLOR_LOGIC_OP_OP                                                      0x000017c0
4525 #define   NV20TCL_COLOR_LOGIC_OP_OP_CLEAR                                               0x00001500
4526 #define   NV20TCL_COLOR_LOGIC_OP_OP_AND                                                 0x00001501
4527 #define   NV20TCL_COLOR_LOGIC_OP_OP_AND_REVERSE                                         0x00001502
4528 #define   NV20TCL_COLOR_LOGIC_OP_OP_COPY                                                0x00001503
4529 #define   NV20TCL_COLOR_LOGIC_OP_OP_AND_INVERTED                                        0x00001504
4530 #define   NV20TCL_COLOR_LOGIC_OP_OP_NOOP                                                0x00001505
4531 #define   NV20TCL_COLOR_LOGIC_OP_OP_XOR                                                 0x00001506
4532 #define   NV20TCL_COLOR_LOGIC_OP_OP_OR                                                  0x00001507
4533 #define   NV20TCL_COLOR_LOGIC_OP_OP_NOR                                                 0x00001508
4534 #define   NV20TCL_COLOR_LOGIC_OP_OP_EQUIV                                               0x00001509
4535 #define   NV20TCL_COLOR_LOGIC_OP_OP_INVERT                                              0x0000150a
4536 #define   NV20TCL_COLOR_LOGIC_OP_OP_OR_REVERSE                                          0x0000150b
4537 #define   NV20TCL_COLOR_LOGIC_OP_OP_COPY_INVERTED                                       0x0000150c
4538 #define   NV20TCL_COLOR_LOGIC_OP_OP_OR_INVERTED                                         0x0000150d
4539 #define   NV20TCL_COLOR_LOGIC_OP_OP_NAND                                                0x0000150e
4540 #define   NV20TCL_COLOR_LOGIC_OP_OP_SET                                                 0x0000150f
4541 #define  NV20TCL_LIGHT_MODEL_TWO_SIDE_ENABLE                                            0x000017c4
4542 #define  NV20TCL_TX_SHADER_CULL_MODE                                                    0x000017f8
4543 #define   NV20TCL_TX_SHADER_CULL_MODE_TX0_S                                             (1 <<  0)
4544 #define    NV20TCL_TX_SHADER_CULL_MODE_TX0_S_GEQUAL                                     0x00000000
4545 #define    NV20TCL_TX_SHADER_CULL_MODE_TX0_S_LESS                                       0x00000001
4546 #define   NV20TCL_TX_SHADER_CULL_MODE_TX0_T                                             (1 <<  1)
4547 #define    NV20TCL_TX_SHADER_CULL_MODE_TX0_T_GEQUAL                                     0x00000000
4548 #define    NV20TCL_TX_SHADER_CULL_MODE_TX0_T_LESS                                       0x00000002
4549 #define   NV20TCL_TX_SHADER_CULL_MODE_TX0_R                                             (1 <<  2)
4550 #define    NV20TCL_TX_SHADER_CULL_MODE_TX0_R_GEQUAL                                     0x00000000
4551 #define    NV20TCL_TX_SHADER_CULL_MODE_TX0_R_LESS                                       0x00000004
4552 #define   NV20TCL_TX_SHADER_CULL_MODE_TX0_Q                                             (1 <<  3)
4553 #define    NV20TCL_TX_SHADER_CULL_MODE_TX0_Q_GEQUAL                                     0x00000000
4554 #define    NV20TCL_TX_SHADER_CULL_MODE_TX0_Q_LESS                                       0x00000008
4555 #define   NV20TCL_TX_SHADER_CULL_MODE_TX1_S                                             (1 <<  4)
4556 #define    NV20TCL_TX_SHADER_CULL_MODE_TX1_S_GEQUAL                                     0x00000000
4557 #define    NV20TCL_TX_SHADER_CULL_MODE_TX1_S_LESS                                       0x00000010
4558 #define   NV20TCL_TX_SHADER_CULL_MODE_TX1_T                                             (1 <<  5)
4559 #define    NV20TCL_TX_SHADER_CULL_MODE_TX1_T_GEQUAL                                     0x00000000
4560 #define    NV20TCL_TX_SHADER_CULL_MODE_TX1_T_LESS                                       0x00000020
4561 #define   NV20TCL_TX_SHADER_CULL_MODE_TX1_R                                             (1 <<  6)
4562 #define    NV20TCL_TX_SHADER_CULL_MODE_TX1_R_GEQUAL                                     0x00000000
4563 #define    NV20TCL_TX_SHADER_CULL_MODE_TX1_R_LESS                                       0x00000040
4564 #define   NV20TCL_TX_SHADER_CULL_MODE_TX1_Q                                             (1 <<  7)
4565 #define    NV20TCL_TX_SHADER_CULL_MODE_TX1_Q_GEQUAL                                     0x00000000
4566 #define    NV20TCL_TX_SHADER_CULL_MODE_TX1_Q_LESS                                       0x00000080
4567 #define   NV20TCL_TX_SHADER_CULL_MODE_TX2_S                                             (1 <<  8)
4568 #define    NV20TCL_TX_SHADER_CULL_MODE_TX2_S_GEQUAL                                     0x00000000
4569 #define    NV20TCL_TX_SHADER_CULL_MODE_TX2_S_LESS                                       0x00000100
4570 #define   NV20TCL_TX_SHADER_CULL_MODE_TX2_T                                             (1 <<  9)
4571 #define    NV20TCL_TX_SHADER_CULL_MODE_TX2_T_GEQUAL                                     0x00000000
4572 #define    NV20TCL_TX_SHADER_CULL_MODE_TX2_T_LESS                                       0x00000200
4573 #define   NV20TCL_TX_SHADER_CULL_MODE_TX2_R                                             (1 << 10)
4574 #define    NV20TCL_TX_SHADER_CULL_MODE_TX2_R_GEQUAL                                     0x00000000
4575 #define    NV20TCL_TX_SHADER_CULL_MODE_TX2_R_LESS                                       0x00000400
4576 #define   NV20TCL_TX_SHADER_CULL_MODE_TX2_Q                                             (1 << 11)
4577 #define    NV20TCL_TX_SHADER_CULL_MODE_TX2_Q_GEQUAL                                     0x00000000
4578 #define    NV20TCL_TX_SHADER_CULL_MODE_TX2_Q_LESS                                       0x00000800
4579 #define   NV20TCL_TX_SHADER_CULL_MODE_TX3_S                                             (1 << 12)
4580 #define    NV20TCL_TX_SHADER_CULL_MODE_TX3_S_GEQUAL                                     0x00000000
4581 #define    NV20TCL_TX_SHADER_CULL_MODE_TX3_S_LESS                                       0x00001000
4582 #define   NV20TCL_TX_SHADER_CULL_MODE_TX3_T                                             (1 << 13)
4583 #define    NV20TCL_TX_SHADER_CULL_MODE_TX3_T_GEQUAL                                     0x00000000
4584 #define    NV20TCL_TX_SHADER_CULL_MODE_TX3_T_LESS                                       0x00002000
4585 #define   NV20TCL_TX_SHADER_CULL_MODE_TX3_R                                             (1 << 14)
4586 #define    NV20TCL_TX_SHADER_CULL_MODE_TX3_R_GEQUAL                                     0x00000000
4587 #define    NV20TCL_TX_SHADER_CULL_MODE_TX3_R_LESS                                       0x00004000
4588 #define   NV20TCL_TX_SHADER_CULL_MODE_TX3_Q                                             (1 << 15)
4589 #define    NV20TCL_TX_SHADER_CULL_MODE_TX3_Q_GEQUAL                                     0x00000000
4590 #define    NV20TCL_TX_SHADER_CULL_MODE_TX3_Q_LESS                                       0x00008000
4591 #define  NV20TCL_VERTEX_BEGIN_END                                                       0x000017fc
4592 #define   NV20TCL_VERTEX_BEGIN_END_STOP                                                 0x00000000
4593 #define   NV20TCL_VERTEX_BEGIN_END_POINTS                                               0x00000001
4594 #define   NV20TCL_VERTEX_BEGIN_END_LINES                                                0x00000002
4595 #define   NV20TCL_VERTEX_BEGIN_END_LINE_LOOP                                            0x00000003
4596 #define   NV20TCL_VERTEX_BEGIN_END_LINE_STRIP                                           0x00000004
4597 #define   NV20TCL_VERTEX_BEGIN_END_TRIANGLES                                            0x00000005
4598 #define   NV20TCL_VERTEX_BEGIN_END_TRIANGLE_STRIP                                       0x00000006
4599 #define   NV20TCL_VERTEX_BEGIN_END_TRIANGLE_FAN                                         0x00000007
4600 #define   NV20TCL_VERTEX_BEGIN_END_QUADS                                                0x00000008
4601 #define   NV20TCL_VERTEX_BEGIN_END_QUAD_STRIP                                           0x00000009
4602 #define   NV20TCL_VERTEX_BEGIN_END_POLYGON                                              0x0000000a
4603 #define  NV20TCL_VB_ELEMENT_U16                                                         0x00001800
4604 #define   NV20TCL_VB_ELEMENT_U16_I0_SHIFT                                               0
4605 #define   NV20TCL_VB_ELEMENT_U16_I0_MASK                                                0x0000ffff
4606 #define   NV20TCL_VB_ELEMENT_U16_I1_SHIFT                                               16
4607 #define   NV20TCL_VB_ELEMENT_U16_I1_MASK                                                0xffff0000
4608 #define  NV20TCL_VB_ELEMENT_U32                                                         0x00001808
4609 #define  NV20TCL_VB_VERTEX_BATCH                                                        0x00001810
4610 #define   NV20TCL_VB_VERTEX_BATCH_OFFSET_SHIFT                                          0
4611 #define   NV20TCL_VB_VERTEX_BATCH_OFFSET_MASK                                           0x00ffffff
4612 #define   NV20TCL_VB_VERTEX_BATCH_COUNT_SHIFT                                           24
4613 #define   NV20TCL_VB_VERTEX_BATCH_COUNT_MASK                                            0xff000000
4614 #define  NV20TCL_VERTEX_DATA                                                            0x00001818
4615 #define  NV20TCL_TX_SHADER_CONST_EYE_X                                                  0x0000181c
4616 #define  NV20TCL_TX_SHADER_CONST_EYE_Y                                                  0x00001820
4617 #define  NV20TCL_TX_SHADER_CONST_EYE_Z                                                  0x00001824
4618 #define  NV20TCL_VTX_ATTR_4F_X(x)                                                       (0x00001a00+((x)*16))
4619 #define  NV20TCL_VTX_ATTR_4F_X__SIZE                                                    0x00000010
4620 #define  NV20TCL_VTX_ATTR_4F_Y(x)                                                       (0x00001a04+((x)*16))
4621 #define  NV20TCL_VTX_ATTR_4F_Y__SIZE                                                    0x00000010
4622 #define  NV20TCL_VTX_ATTR_4F_Z(x)                                                       (0x00001a08+((x)*16))
4623 #define  NV20TCL_VTX_ATTR_4F_Z__SIZE                                                    0x00000010
4624 #define  NV20TCL_VTX_ATTR_4F_W(x)                                                       (0x00001a0c+((x)*16))
4625 #define  NV20TCL_VTX_ATTR_4F_W__SIZE                                                    0x00000010
4626 #define  NV20TCL_TX_OFFSET(x)                                                           (0x00001b00+((x)*64))
4627 #define  NV20TCL_TX_OFFSET__SIZE                                                        0x00000004
4628 #define  NV20TCL_TX_FORMAT(x)                                                           (0x00001b04+((x)*64))
4629 #define  NV20TCL_TX_FORMAT__SIZE                                                        0x00000004
4630 #define   NV20TCL_TX_FORMAT_DMA0                                                        (1 <<  0)
4631 #define   NV20TCL_TX_FORMAT_DMA1                                                        (1 <<  1)
4632 #define   NV20TCL_TX_FORMAT_CUBIC                                                       (1 <<  2)
4633 #define   NV20TCL_TX_FORMAT_NO_BORDER                                                   (1 <<  3)
4634 #define   NV20TCL_TX_FORMAT_DIMS_SHIFT                                                  4
4635 #define   NV20TCL_TX_FORMAT_DIMS_MASK                                                   0x000000f0
4636 #define    NV20TCL_TX_FORMAT_DIMS_1D                                                    0x00000010
4637 #define    NV20TCL_TX_FORMAT_DIMS_2D                                                    0x00000020
4638 #define    NV20TCL_TX_FORMAT_DIMS_3D                                                    0x00000030
4639 #define   NV20TCL_TX_FORMAT_FORMAT_SHIFT                                                8
4640 #define   NV20TCL_TX_FORMAT_FORMAT_MASK                                                 0x0000ff00
4641 #define    NV20TCL_TX_FORMAT_FORMAT_L8                                                  0x00000000
4642 #define    NV20TCL_TX_FORMAT_FORMAT_A8                                                  0x00000100
4643 #define    NV20TCL_TX_FORMAT_FORMAT_A1R5G5B5                                            0x00000200
4644 #define    NV20TCL_TX_FORMAT_FORMAT_A4R4G4B4                                            0x00000400
4645 #define    NV20TCL_TX_FORMAT_FORMAT_R5G6B5                                              0x00000500
4646 #define    NV20TCL_TX_FORMAT_FORMAT_A8R8G8B8                                            0x00000600
4647 #define    NV20TCL_TX_FORMAT_FORMAT_X8R8G8B8                                            0x00000700
4648 #define    NV20TCL_TX_FORMAT_FORMAT_INDEX8                                              0x00000b00
4649 #define    NV20TCL_TX_FORMAT_FORMAT_DXT1                                                0x00000c00
4650 #define    NV20TCL_TX_FORMAT_FORMAT_DXT3                                                0x00000e00
4651 #define    NV20TCL_TX_FORMAT_FORMAT_DXT5                                                0x00000f00
4652 #define    NV20TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT                                       0x00001000
4653 #define    NV20TCL_TX_FORMAT_FORMAT_R5G6B5_RECT                                         0x00001100
4654 #define    NV20TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT                                       0x00001200
4655 #define    NV20TCL_TX_FORMAT_FORMAT_L8_RECT                                             0x00001300
4656 #define    NV20TCL_TX_FORMAT_FORMAT_DSDT8_RECT                                          0x00001700
4657 #define    NV20TCL_TX_FORMAT_FORMAT_A8L8                                                0x00001a00
4658 #define    NV20TCL_TX_FORMAT_FORMAT_A8_RECT                                             0x00001b00
4659 #define    NV20TCL_TX_FORMAT_FORMAT_A4R4G4B4_RECT                                       0x00001d00
4660 #define    NV20TCL_TX_FORMAT_FORMAT_R8G8B8_RECT                                         0x00001e00
4661 #define    NV20TCL_TX_FORMAT_FORMAT_A8L8_RECT                                           0x00002000
4662 #define    NV20TCL_TX_FORMAT_FORMAT_DSDT8                                               0x00002800
4663 #define    NV20TCL_TX_FORMAT_FORMAT_HILO16                                              0x00003300
4664 #define    NV20TCL_TX_FORMAT_FORMAT_HILO16_RECT                                         0x00003600
4665 #define    NV20TCL_TX_FORMAT_FORMAT_HILO8                                               0x00004400
4666 #define    NV20TCL_TX_FORMAT_FORMAT_SIGNED_HILO8                                        0x00004500
4667 #define    NV20TCL_TX_FORMAT_FORMAT_HILO8_RECT                                          0x00004600
4668 #define    NV20TCL_TX_FORMAT_FORMAT_SIGNED_HILO8_RECT                                   0x00004700
4669 #define    NV20TCL_TX_FORMAT_FORMAT_A16                                                 0x00003200
4670 #define    NV20TCL_TX_FORMAT_FORMAT_A16_RECT                                            0x00003500
4671 #define    NV20TCL_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV                                     0x00004a00
4672 #define    NV20TCL_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV                                     0x00004b00
4673 #define    NV20TCL_TX_FORMAT_FORMAT_FLOAT_R32_NV                                        0x00004c00
4674 #define   NV20TCL_TX_FORMAT_MIPMAP                                                      (1 << 19)
4675 #define   NV20TCL_TX_FORMAT_BASE_SIZE_U_SHIFT                                           20
4676 #define   NV20TCL_TX_FORMAT_BASE_SIZE_U_MASK                                            0x00f00000
4677 #define   NV20TCL_TX_FORMAT_BASE_SIZE_V_SHIFT                                           24
4678 #define   NV20TCL_TX_FORMAT_BASE_SIZE_V_MASK                                            0x0f000000
4679 #define   NV20TCL_TX_FORMAT_BASE_SIZE_W_SHIFT                                           28
4680 #define   NV20TCL_TX_FORMAT_BASE_SIZE_W_MASK                                            0xf0000000
4681 #define  NV20TCL_TX_WRAP(x)                                                             (0x00001b08+((x)*64))
4682 #define  NV20TCL_TX_WRAP__SIZE                                                          0x00000004
4683 #define   NV20TCL_TX_WRAP_S_SHIFT                                                       0
4684 #define   NV20TCL_TX_WRAP_S_MASK                                                        0x000000ff
4685 #define    NV20TCL_TX_WRAP_S_REPEAT                                                     0x00000001
4686 #define    NV20TCL_TX_WRAP_S_MIRRORED_REPEAT                                            0x00000002
4687 #define    NV20TCL_TX_WRAP_S_CLAMP_TO_EDGE                                              0x00000003
4688 #define    NV20TCL_TX_WRAP_S_CLAMP_TO_BORDER                                            0x00000004
4689 #define    NV20TCL_TX_WRAP_S_CLAMP                                                      0x00000005
4690 #define   NV20TCL_TX_WRAP_T_SHIFT                                                       8
4691 #define   NV20TCL_TX_WRAP_T_MASK                                                        0x00000f00
4692 #define    NV20TCL_TX_WRAP_T_REPEAT                                                     0x00000100
4693 #define    NV20TCL_TX_WRAP_T_MIRRORED_REPEAT                                            0x00000200
4694 #define    NV20TCL_TX_WRAP_T_CLAMP_TO_EDGE                                              0x00000300
4695 #define    NV20TCL_TX_WRAP_T_CLAMP_TO_BORDER                                            0x00000400
4696 #define    NV20TCL_TX_WRAP_T_CLAMP                                                      0x00000500
4697 #define   NV20TCL_TX_WRAP_R_SHIFT                                                       16
4698 #define   NV20TCL_TX_WRAP_R_MASK                                                        0x000f0000
4699 #define    NV20TCL_TX_WRAP_R_REPEAT                                                     0x00010000
4700 #define    NV20TCL_TX_WRAP_R_MIRRORED_REPEAT                                            0x00020000
4701 #define    NV20TCL_TX_WRAP_R_CLAMP_TO_EDGE                                              0x00030000
4702 #define    NV20TCL_TX_WRAP_R_CLAMP_TO_BORDER                                            0x00040000
4703 #define    NV20TCL_TX_WRAP_R_CLAMP                                                      0x00050000
4704 #define  NV20TCL_TX_ENABLE(x)                                                           (0x00001b0c+((x)*64))
4705 #define  NV20TCL_TX_ENABLE__SIZE                                                        0x00000004
4706 #define   NV20TCL_TX_ENABLE_ANISO_SHIFT                                                 4
4707 #define   NV20TCL_TX_ENABLE_ANISO_MASK                                                  0x00000030
4708 #define    NV20TCL_TX_ENABLE_ANISO_NONE                                                 0x00000000
4709 #define    NV20TCL_TX_ENABLE_ANISO_2X                                                   0x00000010
4710 #define    NV20TCL_TX_ENABLE_ANISO_4X                                                   0x00000020
4711 #define    NV20TCL_TX_ENABLE_ANISO_8X                                                   0x00000030
4712 #define   NV20TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT                                        14
4713 #define   NV20TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK                                         0x0003c000
4714 #define   NV20TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT                                        26
4715 #define   NV20TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK                                         0x3c000000
4716 #define   NV20TCL_TX_ENABLE_ENABLE                                                      (1 << 30)
4717 #define  NV20TCL_TX_NPOT_PITCH(x)                                                       (0x00001b10+((x)*64))
4718 #define  NV20TCL_TX_NPOT_PITCH__SIZE                                                    0x00000004
4719 #define   NV20TCL_TX_NPOT_PITCH_PITCH_SHIFT                                             16
4720 #define   NV20TCL_TX_NPOT_PITCH_PITCH_MASK                                              0xffff0000
4721 #define  NV20TCL_TX_FILTER(x)                                                           (0x00001b14+((x)*64))
4722 #define  NV20TCL_TX_FILTER__SIZE                                                        0x00000004
4723 #define   NV20TCL_TX_FILTER_LOD_BIAS_SHIFT                                              8
4724 #define   NV20TCL_TX_FILTER_LOD_BIAS_MASK                                               0x00000f00
4725 #define   NV20TCL_TX_FILTER_MINIFY_SHIFT                                                16
4726 #define   NV20TCL_TX_FILTER_MINIFY_MASK                                                 0x000f0000
4727 #define    NV20TCL_TX_FILTER_MINIFY_NEAREST                                             0x00010000
4728 #define    NV20TCL_TX_FILTER_MINIFY_LINEAR                                              0x00020000
4729 #define    NV20TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST                              0x00030000
4730 #define    NV20TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST                               0x00040000
4731 #define    NV20TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR                               0x00050000
4732 #define    NV20TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR                                0x00060000
4733 #define   NV20TCL_TX_FILTER_MAGNIFY_SHIFT                                               24
4734 #define   NV20TCL_TX_FILTER_MAGNIFY_MASK                                                0x0f000000
4735 #define    NV20TCL_TX_FILTER_MAGNIFY_NEAREST                                            0x01000000
4736 #define    NV20TCL_TX_FILTER_MAGNIFY_LINEAR                                             0x02000000
4737 #define  NV20TCL_TX_NPOT_SIZE(x)                                                        (0x00001b1c+((x)*64))
4738 #define  NV20TCL_TX_NPOT_SIZE__SIZE                                                     0x00000004
4739 #define   NV20TCL_TX_NPOT_SIZE_H_SHIFT                                                  0
4740 #define   NV20TCL_TX_NPOT_SIZE_H_MASK                                                   0x0000ffff
4741 #define   NV20TCL_TX_NPOT_SIZE_W_SHIFT                                                  16
4742 #define   NV20TCL_TX_NPOT_SIZE_W_MASK                                                   0xffff0000
4743 #define  NV20TCL_TX_PALETTE_OFFSET(x)                                                   (0x00001b20+((x)*64))
4744 #define  NV20TCL_TX_PALETTE_OFFSET__SIZE                                                0x00000004
4745 #define  NV20TCL_TX_BORDER_COLOR(x)                                                     (0x00001b24+((x)*64))
4746 #define  NV20TCL_TX_BORDER_COLOR__SIZE                                                  0x00000004
4747 #define   NV20TCL_TX_BORDER_COLOR_B_SHIFT                                               0
4748 #define   NV20TCL_TX_BORDER_COLOR_B_MASK                                                0x000000ff
4749 #define   NV20TCL_TX_BORDER_COLOR_G_SHIFT                                               8
4750 #define   NV20TCL_TX_BORDER_COLOR_G_MASK                                                0x0000ff00
4751 #define   NV20TCL_TX_BORDER_COLOR_R_SHIFT                                               16
4752 #define   NV20TCL_TX_BORDER_COLOR_R_MASK                                                0x00ff0000
4753 #define   NV20TCL_TX_BORDER_COLOR_A_SHIFT                                               24
4754 #define   NV20TCL_TX_BORDER_COLOR_A_MASK                                                0xff000000
4755 #define  NV20TCL_TX_SHADER_OFFSET_MATRIX00(x)                                           (0x00001b28+((x)*64))
4756 #define  NV20TCL_TX_SHADER_OFFSET_MATRIX00__SIZE                                        0x00000004
4757 #define  NV20TCL_TX_SHADER_OFFSET_MATRIX01(x)                                           (0x00001b2c+((x)*64))
4758 #define  NV20TCL_TX_SHADER_OFFSET_MATRIX01__SIZE                                        0x00000004
4759 #define  NV20TCL_TX_SHADER_OFFSET_MATRIX11(x)                                           (0x00001b30+((x)*64))
4760 #define  NV20TCL_TX_SHADER_OFFSET_MATRIX11__SIZE                                        0x00000004
4761 #define  NV20TCL_TX_SHADER_OFFSET_MATRIX10(x)                                           (0x00001b34+((x)*64))
4762 #define  NV20TCL_TX_SHADER_OFFSET_MATRIX10__SIZE                                        0x00000004
4763 #define  NV20TCL_DEPTH_UNK17D8                                                          0x00001d78
4764 #define   NV20TCL_DEPTH_UNK17D8_CLAMP_SHIFT                                             4
4765 #define   NV20TCL_DEPTH_UNK17D8_CLAMP_MASK                                              0x000000f0
4766 #define  NV20TCL_MULTISAMPLE_CONTROL                                                    0x00001d7c
4767 #define  NV20TCL_CLEAR_DEPTH_VALUE                                                      0x00001d8c
4768 #define  NV20TCL_CLEAR_VALUE                                                            0x00001d90
4769 #define  NV20TCL_CLEAR_BUFFERS                                                          0x00001d94
4770 #define   NV20TCL_CLEAR_BUFFERS_COLOR_A                                                 (1 <<  7)
4771 #define   NV20TCL_CLEAR_BUFFERS_COLOR_B                                                 (1 <<  6)
4772 #define   NV20TCL_CLEAR_BUFFERS_COLOR_G                                                 (1 <<  5)
4773 #define   NV20TCL_CLEAR_BUFFERS_COLOR_R                                                 (1 <<  4)
4774 #define   NV20TCL_CLEAR_BUFFERS_STENCIL                                                 (1 <<  1)
4775 #define   NV20TCL_CLEAR_BUFFERS_DEPTH                                                   (1 <<  0)
4776 #define  NV20TCL_RC_COLOR0                                                              0x00001e20
4777 #define   NV20TCL_RC_COLOR0_B_SHIFT                                                     0
4778 #define   NV20TCL_RC_COLOR0_B_MASK                                                      0x000000ff
4779 #define   NV20TCL_RC_COLOR0_G_SHIFT                                                     8
4780 #define   NV20TCL_RC_COLOR0_G_MASK                                                      0x0000ff00
4781 #define   NV20TCL_RC_COLOR0_R_SHIFT                                                     16
4782 #define   NV20TCL_RC_COLOR0_R_MASK                                                      0x00ff0000
4783 #define   NV20TCL_RC_COLOR0_A_SHIFT                                                     24
4784 #define   NV20TCL_RC_COLOR0_A_MASK                                                      0xff000000
4785 #define  NV20TCL_RC_COLOR1                                                              0x00001e24
4786 #define   NV20TCL_RC_COLOR1_B_SHIFT                                                     0
4787 #define   NV20TCL_RC_COLOR1_B_MASK                                                      0x000000ff
4788 #define   NV20TCL_RC_COLOR1_G_SHIFT                                                     8
4789 #define   NV20TCL_RC_COLOR1_G_MASK                                                      0x0000ff00
4790 #define   NV20TCL_RC_COLOR1_R_SHIFT                                                     16
4791 #define   NV20TCL_RC_COLOR1_R_MASK                                                      0x00ff0000
4792 #define   NV20TCL_RC_COLOR1_A_SHIFT                                                     24
4793 #define   NV20TCL_RC_COLOR1_A_MASK                                                      0xff000000
4794 #define  NV20TCL_BACK_MATERIAL_SHININESS(x)                                             (0x00001e28+((x)*4))
4795 #define  NV20TCL_BACK_MATERIAL_SHININESS__SIZE                                          0x00000006
4796 #define  NV20TCL_RC_OUT_RGB(x)                                                          (0x00001e40+((x)*4))
4797 #define  NV20TCL_RC_OUT_RGB__SIZE                                                       0x00000008
4798 #define   NV20TCL_RC_OUT_RGB_CD_OUTPUT_SHIFT                                            0
4799 #define   NV20TCL_RC_OUT_RGB_CD_OUTPUT_MASK                                             0x0000000f
4800 #define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_ZERO                                            0x00000000
4801 #define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0                                 0x00000001
4802 #define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1                                 0x00000002
4803 #define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_FOG                                             0x00000003
4804 #define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR                                   0x00000004
4805 #define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR                                 0x00000005
4806 #define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE0                                        0x00000008
4807 #define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE1                                        0x00000009
4808 #define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0                                          0x0000000c
4809 #define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE1                                          0x0000000d
4810 #define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                     0x0000000e
4811 #define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F                                       0x0000000f
4812 #define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE2                                        0x0000000a
4813 #define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE3                                        0x0000000b
4814 #define   NV20TCL_RC_OUT_RGB_AB_OUTPUT_SHIFT                                            4
4815 #define   NV20TCL_RC_OUT_RGB_AB_OUTPUT_MASK                                             0x000000f0
4816 #define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_ZERO                                            0x00000000
4817 #define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0                                 0x00000010
4818 #define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1                                 0x00000020
4819 #define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_FOG                                             0x00000030
4820 #define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR                                   0x00000040
4821 #define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR                                 0x00000050
4822 #define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE0                                        0x00000080
4823 #define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE1                                        0x00000090
4824 #define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0                                          0x000000c0
4825 #define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE1                                          0x000000d0
4826 #define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                     0x000000e0
4827 #define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F                                       0x000000f0
4828 #define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE2                                        0x000000a0
4829 #define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE3                                        0x000000b0
4830 #define   NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SHIFT                                           8
4831 #define   NV20TCL_RC_OUT_RGB_SUM_OUTPUT_MASK                                            0x00000f00
4832 #define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_ZERO                                           0x00000000
4833 #define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0                                0x00000100
4834 #define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1                                0x00000200
4835 #define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_FOG                                            0x00000300
4836 #define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR                                  0x00000400
4837 #define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR                                0x00000500
4838 #define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0                                       0x00000800
4839 #define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1                                       0x00000900
4840 #define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0                                         0x00000c00
4841 #define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE1                                         0x00000d00
4842 #define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                    0x00000e00
4843 #define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F                                      0x00000f00
4844 #define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2                                       0x00000a00
4845 #define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3                                       0x00000b00
4846 #define   NV20TCL_RC_OUT_RGB_CD_DOT_PRODUCT                                             (1 << 12)
4847 #define   NV20TCL_RC_OUT_RGB_AB_DOT_PRODUCT                                             (1 << 13)
4848 #define   NV20TCL_RC_OUT_RGB_MUX_SUM                                                    (1 << 14)
4849 #define   NV20TCL_RC_OUT_RGB_BIAS                                                       (1 << 15)
4850 #define    NV20TCL_RC_OUT_RGB_BIAS_NONE                                                 0x00000000
4851 #define    NV20TCL_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF                            0x00008000
4852 #define   NV20TCL_RC_OUT_RGB_SCALE_SHIFT                                                17
4853 #define   NV20TCL_RC_OUT_RGB_SCALE_MASK                                                 0x00000000
4854 #define    NV20TCL_RC_OUT_RGB_SCALE_NONE                                                0x00000000
4855 #define    NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_TWO                                        0x00020000
4856 #define    NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_FOUR                                       0x00040000
4857 #define    NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF                                   0x00060000
4858 #define  NV20TCL_RC_ENABLE                                                              0x00001e60
4859 #define   NV20TCL_RC_ENABLE_NUM_COMBINERS_SHIFT                                         0
4860 #define   NV20TCL_RC_ENABLE_NUM_COMBINERS_MASK                                          0x0000000f
4861 #define  NV20TCL_TX_RCOMP                                                               0x00001e6c
4862 #define   NV20TCL_TX_RCOMP_NEVER                                                        0x00000000
4863 #define   NV20TCL_TX_RCOMP_GREATER                                                      0x00000001
4864 #define   NV20TCL_TX_RCOMP_EQUAL                                                        0x00000002
4865 #define   NV20TCL_TX_RCOMP_GEQUAL                                                       0x00000003
4866 #define   NV20TCL_TX_RCOMP_LESS                                                         0x00000004
4867 #define   NV20TCL_TX_RCOMP_NOTEQUAL                                                     0x00000005
4868 #define   NV20TCL_TX_RCOMP_LEQUAL                                                       0x00000006
4869 #define   NV20TCL_TX_RCOMP_ALWAYS                                                       0x00000007
4870 #define  NV20TCL_TX_SHADER_OP                                                           0x00001e70
4871 #define   NV20TCL_TX_SHADER_OP_TX0_SHIFT                                                0
4872 #define   NV20TCL_TX_SHADER_OP_TX0_MASK                                                 0x0000001f
4873 #define    NV20TCL_TX_SHADER_OP_TX0_NONE                                                0x00000000
4874 #define    NV20TCL_TX_SHADER_OP_TX0_TEXTURE_2D                                          0x00000001
4875 #define    NV20TCL_TX_SHADER_OP_TX0_PASS_THROUGH                                        0x00000004
4876 #define    NV20TCL_TX_SHADER_OP_TX0_CULL_FRAGMENT                                       0x00000005
4877 #define    NV20TCL_TX_SHADER_OP_TX0_OFFSET_TEXTURE_2D                                   0x00000006
4878 #define    NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT_TEXTURE_2D                              0x00000009
4879 #define    NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT_DEPTH_REPLACE                           0x0000000a
4880 #define    NV20TCL_TX_SHADER_OP_TX0_DEPENDANT_AR_TEXTURE_2D                             0x0000000f
4881 #define    NV20TCL_TX_SHADER_OP_TX0_DEPENDANT_GB_TEXTURE_2D                             0x00000010
4882 #define    NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT                                         0x00000011
4883 #define   NV20TCL_TX_SHADER_OP_TX1_SHIFT                                                5
4884 #define   NV20TCL_TX_SHADER_OP_TX1_MASK                                                 0x000003e0
4885 #define    NV20TCL_TX_SHADER_OP_TX1_NONE                                                0x00000000
4886 #define    NV20TCL_TX_SHADER_OP_TX1_TEXTURE_2D                                          0x00000020
4887 #define    NV20TCL_TX_SHADER_OP_TX1_PASS_THROUGH                                        0x00000080
4888 #define    NV20TCL_TX_SHADER_OP_TX1_CULL_FRAGMENT                                       0x000000a0
4889 #define    NV20TCL_TX_SHADER_OP_TX1_OFFSET_TEXTURE_2D                                   0x000000c0
4890 #define    NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT_TEXTURE_2D                              0x00000120
4891 #define    NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT_DEPTH_REPLACE                           0x00000140
4892 #define    NV20TCL_TX_SHADER_OP_TX1_DEPENDANT_AR_TEXTURE_2D                             0x000001e0
4893 #define    NV20TCL_TX_SHADER_OP_TX1_DEPENDANT_GB_TEXTURE_2D                             0x00000200
4894 #define    NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT                                         0x00000220
4895 #define   NV20TCL_TX_SHADER_OP_TX2_SHIFT                                                10
4896 #define   NV20TCL_TX_SHADER_OP_TX2_MASK                                                 0x00007c00
4897 #define    NV20TCL_TX_SHADER_OP_TX2_NONE                                                0x00000000
4898 #define    NV20TCL_TX_SHADER_OP_TX2_TEXTURE_2D                                          0x00000400
4899 #define    NV20TCL_TX_SHADER_OP_TX2_PASS_THROUGH                                        0x00001000
4900 #define    NV20TCL_TX_SHADER_OP_TX2_CULL_FRAGMENT                                       0x00001400
4901 #define    NV20TCL_TX_SHADER_OP_TX2_OFFSET_TEXTURE_2D                                   0x00001800
4902 #define    NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT_TEXTURE_2D                              0x00002400
4903 #define    NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT_DEPTH_REPLACE                           0x00002800
4904 #define    NV20TCL_TX_SHADER_OP_TX2_DEPENDANT_AR_TEXTURE_2D                             0x00003c00
4905 #define    NV20TCL_TX_SHADER_OP_TX2_DEPENDANT_GB_TEXTURE_2D                             0x00004000
4906 #define    NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT                                         0x00004400
4907 #define   NV20TCL_TX_SHADER_OP_TX3_SHIFT                                                15
4908 #define   NV20TCL_TX_SHADER_OP_TX3_MASK                                                 0x000f8000
4909 #define    NV20TCL_TX_SHADER_OP_TX3_NONE                                                0x00000000
4910 #define    NV20TCL_TX_SHADER_OP_TX3_TEXTURE_2D                                          0x00008000
4911 #define    NV20TCL_TX_SHADER_OP_TX3_PASS_THROUGH                                        0x00020000
4912 #define    NV20TCL_TX_SHADER_OP_TX3_CULL_FRAGMENT                                       0x00028000
4913 #define    NV20TCL_TX_SHADER_OP_TX3_OFFSET_TEXTURE_2D                                   0x00030000
4914 #define    NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT_TEXTURE_2D                              0x00048000
4915 #define    NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT_DEPTH_REPLACE                           0x00050000
4916 #define    NV20TCL_TX_SHADER_OP_TX3_DEPENDANT_AR_TEXTURE_2D                             0x00078000
4917 #define    NV20TCL_TX_SHADER_OP_TX3_DEPENDANT_GB_TEXTURE_2D                             0x00080000
4918 #define    NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT                                         0x00088000
4919 #define  NV20TCL_TX_SHADER_DOTMAPPING                                                   0x00001e74
4920 #define   NV20TCL_TX_SHADER_DOTMAPPING_TX0_SHIFT                                        0
4921 #define   NV20TCL_TX_SHADER_DOTMAPPING_TX0_MASK                                         0x0000000f
4922 #define   NV20TCL_TX_SHADER_DOTMAPPING_TX1_SHIFT                                        4
4923 #define   NV20TCL_TX_SHADER_DOTMAPPING_TX1_MASK                                         0x000000f0
4924 #define   NV20TCL_TX_SHADER_DOTMAPPING_TX2_SHIFT                                        8
4925 #define   NV20TCL_TX_SHADER_DOTMAPPING_TX2_MASK                                         0x00000f00
4926 #define   NV20TCL_TX_SHADER_DOTMAPPING_TX3_SHIFT                                        12
4927 #define   NV20TCL_TX_SHADER_DOTMAPPING_TX3_MASK                                         0x0000f000
4928 #define  NV20TCL_TX_SHADER_PREVIOUS                                                     0x00001e78
4929 #define   NV20TCL_TX_SHADER_PREVIOUS_TX0_SHIFT                                          8
4930 #define   NV20TCL_TX_SHADER_PREVIOUS_TX0_MASK                                           0x00000f00
4931 #define   NV20TCL_TX_SHADER_PREVIOUS_TX1_SHIFT                                          12
4932 #define   NV20TCL_TX_SHADER_PREVIOUS_TX1_MASK                                           0x0000f000
4933 #define   NV20TCL_TX_SHADER_PREVIOUS_TX2_SHIFT                                          16
4934 #define   NV20TCL_TX_SHADER_PREVIOUS_TX2_MASK                                           0x00030000
4935 #define   NV20TCL_TX_SHADER_PREVIOUS_TX3_SHIFT                                          20
4936 #define   NV20TCL_TX_SHADER_PREVIOUS_TX3_MASK                                           0x00300000
4937 #define  NV20TCL_ENGINE                                                                 0x00001e94
4938 #define   NV20TCL_ENGINE_VP                                                             (1 <<  1)
4939 #define   NV20TCL_ENGINE_FIXED                                                          (1 <<  2)
4940 #define  NV20TCL_VP_UPLOAD_FROM_ID                                                      0x00001e9c
4941 #define  NV20TCL_VP_START_FROM_ID                                                       0x00001ea0
4942 #define  NV20TCL_VP_UPLOAD_CONST_ID                                                     0x00001ea4
4943
4944
4945 #define NV25TCL                                                                         0x00000597
4946
4947 #define  NV25TCL_DMA_IN_MEMORY4                                                         0x0000019c
4948 #define  NV25TCL_DMA_IN_MEMORY5                                                         0x000001a0
4949 #define  NV25TCL_DMA_IN_MEMORY8                                                         0x000001ac
4950 #define  NV25TCL_DMA_IN_MEMORY9                                                         0x000001b0
4951
4952
4953 #define NV30TCL                                                                         0x00000397
4954
4955
4956
4957 #define NV35TCL                                                                         0x00000497
4958
4959
4960
4961 #define NV34TCL                                                                         0x00000697
4962
4963 #define  NV34TCL_NOP                                                                    0x00000100
4964 #define  NV34TCL_NOTIFY                                                                 0x00000104
4965 #define  NV34TCL_DMA_NOTIFY                                                             0x00000180
4966 #define  NV34TCL_DMA_TEXTURE0                                                           0x00000184
4967 #define  NV34TCL_DMA_TEXTURE1                                                           0x00000188
4968 #define  NV34TCL_DMA_COLOR1                                                             0x0000018c
4969 #define  NV34TCL_DMA_COLOR0                                                             0x00000194
4970 #define  NV34TCL_DMA_ZETA                                                               0x00000198
4971 #define  NV34TCL_DMA_VTXBUF0                                                            0x0000019c
4972 #define  NV34TCL_DMA_VTXBUF1                                                            0x000001a0
4973 #define  NV34TCL_DMA_FENCE                                                              0x000001a4
4974 #define  NV34TCL_DMA_QUERY                                                              0x000001a8
4975 #define  NV34TCL_DMA_IN_MEMORY7                                                         0x000001ac
4976 #define  NV34TCL_DMA_IN_MEMORY8                                                         0x000001b0
4977 #define  NV34TCL_RT_HORIZ                                                               0x00000200
4978 #define   NV34TCL_RT_HORIZ_X_SHIFT                                                      0
4979 #define   NV34TCL_RT_HORIZ_X_MASK                                                       0x0000ffff
4980 #define   NV34TCL_RT_HORIZ_W_SHIFT                                                      16
4981 #define   NV34TCL_RT_HORIZ_W_MASK                                                       0xffff0000
4982 #define  NV34TCL_RT_VERT                                                                0x00000204
4983 #define   NV34TCL_RT_VERT_Y_SHIFT                                                       0
4984 #define   NV34TCL_RT_VERT_Y_MASK                                                        0x0000ffff
4985 #define   NV34TCL_RT_VERT_H_SHIFT                                                       16
4986 #define   NV34TCL_RT_VERT_H_MASK                                                        0xffff0000
4987 #define  NV34TCL_RT_FORMAT                                                              0x00000208
4988 #define   NV34TCL_RT_FORMAT_LOG2_HEIGHT_SHIFT                                           24
4989 #define   NV34TCL_RT_FORMAT_LOG2_HEIGHT_MASK                                            0xff000000
4990 #define   NV34TCL_RT_FORMAT_LOG2_WIDTH_SHIFT                                            16
4991 #define   NV34TCL_RT_FORMAT_LOG2_WIDTH_MASK                                             0x00ff0000
4992 #define   NV34TCL_RT_FORMAT_TYPE_SHIFT                                                  8
4993 #define   NV34TCL_RT_FORMAT_TYPE_MASK                                                   0x00000f00
4994 #define    NV34TCL_RT_FORMAT_TYPE_LINEAR                                                0x00000100
4995 #define    NV34TCL_RT_FORMAT_TYPE_SWIZZLED                                              0x00000200
4996 #define   NV34TCL_RT_FORMAT_ZETA_SHIFT                                                  5
4997 #define   NV34TCL_RT_FORMAT_ZETA_MASK                                                   0x000000e0
4998 #define    NV34TCL_RT_FORMAT_ZETA_Z16                                                   0x00000020
4999 #define    NV34TCL_RT_FORMAT_ZETA_Z24S8                                                 0x00000040
5000 #define   NV34TCL_RT_FORMAT_COLOR_SHIFT                                                 0
5001 #define   NV34TCL_RT_FORMAT_COLOR_MASK                                                  0x0000001f
5002 #define    NV34TCL_RT_FORMAT_COLOR_R5G6B5                                               0x00000003
5003 #define    NV34TCL_RT_FORMAT_COLOR_X8R8G8B8                                             0x00000005
5004 #define    NV34TCL_RT_FORMAT_COLOR_A8R8G8B8                                             0x00000008
5005 #define    NV34TCL_RT_FORMAT_COLOR_B8                                                   0x00000009
5006 #define    NV34TCL_RT_FORMAT_COLOR_UNKNOWN                                              0x0000000d
5007 #define    NV34TCL_RT_FORMAT_COLOR_X8B8G8R8                                             0x0000000f
5008 #define    NV34TCL_RT_FORMAT_COLOR_A8B8G8R8                                             0x00000010
5009 #define  NV34TCL_COLOR0_PITCH                                                           0x0000020c
5010 #define   NV34TCL_COLOR0_PITCH_COLOR0_SHIFT                                             0
5011 #define   NV34TCL_COLOR0_PITCH_COLOR0_MASK                                              0x0000ffff
5012 #define   NV34TCL_COLOR0_PITCH_ZETA_SHIFT                                               16
5013 #define   NV34TCL_COLOR0_PITCH_ZETA_MASK                                                0xffff0000
5014 #define  NV34TCL_COLOR0_OFFSET                                                          0x00000210
5015 #define  NV34TCL_ZETA_OFFSET                                                            0x00000214
5016 #define  NV34TCL_COLOR1_OFFSET                                                          0x00000218
5017 #define  NV34TCL_COLOR1_PITCH                                                           0x0000021c
5018 #define  NV34TCL_RT_ENABLE                                                              0x00000220
5019 #define   NV34TCL_RT_ENABLE_MRT                                                         (1 <<  4)
5020 #define   NV34TCL_RT_ENABLE_COLOR1                                                      (1 <<  1)
5021 #define   NV34TCL_RT_ENABLE_COLOR0                                                      (1 <<  0)
5022 #define  NV34TCL_LMA_DEPTH_PITCH                                                        0x0000022c
5023 #define  NV34TCL_LMA_DEPTH_OFFSET                                                       0x00000230
5024 #define  NV34TCL_TX_UNITS_ENABLE                                                        0x0000023c
5025 #define   NV34TCL_TX_UNITS_ENABLE_TX0                                                   (1 <<  0)
5026 #define   NV34TCL_TX_UNITS_ENABLE_TX1                                                   (1 <<  1)
5027 #define   NV34TCL_TX_UNITS_ENABLE_TX2                                                   (1 <<  2)
5028 #define   NV34TCL_TX_UNITS_ENABLE_TX3                                                   (1 <<  3)
5029 #define   NV34TCL_TX_UNITS_ENABLE_TX4                                                   (1 <<  4)
5030 #define   NV34TCL_TX_UNITS_ENABLE_TX5                                                   (1 <<  5)
5031 #define   NV34TCL_TX_UNITS_ENABLE_TX6                                                   (1 <<  6)
5032 #define   NV34TCL_TX_UNITS_ENABLE_TX7                                                   (1 <<  7)
5033 #define  NV34TCL_TX_MATRIX_ENABLE(x)                                                    (0x00000240+((x)*4))
5034 #define  NV34TCL_TX_MATRIX_ENABLE__SIZE                                                 0x00000008
5035 #define  NV34TCL_VIEWPORT_TX_ORIGIN                                                     0x000002b8
5036 #define   NV34TCL_VIEWPORT_TX_ORIGIN_X_SHIFT                                            0
5037 #define   NV34TCL_VIEWPORT_TX_ORIGIN_X_MASK                                             0x0000ffff
5038 #define   NV34TCL_VIEWPORT_TX_ORIGIN_Y_SHIFT                                            16
5039 #define   NV34TCL_VIEWPORT_TX_ORIGIN_Y_MASK                                             0xffff0000
5040 #define  NV34TCL_VIEWPORT_CLIP_MODE                                                     0x000002bc
5041 #define  NV34TCL_VIEWPORT_CLIP_HORIZ(x)                                                 (0x000002c0+((x)*8))
5042 #define  NV34TCL_VIEWPORT_CLIP_HORIZ__SIZE                                              0x00000008
5043 #define   NV34TCL_VIEWPORT_CLIP_HORIZ_L_SHIFT                                           0
5044 #define   NV34TCL_VIEWPORT_CLIP_HORIZ_L_MASK                                            0x0000ffff
5045 #define   NV34TCL_VIEWPORT_CLIP_HORIZ_R_SHIFT                                           16
5046 #define   NV34TCL_VIEWPORT_CLIP_HORIZ_R_MASK                                            0xffff0000
5047 #define  NV34TCL_VIEWPORT_CLIP_VERT(x)                                                  (0x000002c4+((x)*8))
5048 #define  NV34TCL_VIEWPORT_CLIP_VERT__SIZE                                               0x00000008
5049 #define   NV34TCL_VIEWPORT_CLIP_VERT_T_SHIFT                                            0
5050 #define   NV34TCL_VIEWPORT_CLIP_VERT_T_MASK                                             0x0000ffff
5051 #define   NV34TCL_VIEWPORT_CLIP_VERT_D_SHIFT                                            16
5052 #define   NV34TCL_VIEWPORT_CLIP_VERT_D_MASK                                             0xffff0000
5053 #define  NV34TCL_DITHER_ENABLE                                                          0x00000300
5054 #define  NV34TCL_ALPHA_FUNC_ENABLE                                                      0x00000304
5055 #define  NV34TCL_ALPHA_FUNC_FUNC                                                        0x00000308
5056 #define   NV34TCL_ALPHA_FUNC_FUNC_NEVER                                                 0x00000200
5057 #define   NV34TCL_ALPHA_FUNC_FUNC_LESS                                                  0x00000201
5058 #define   NV34TCL_ALPHA_FUNC_FUNC_EQUAL                                                 0x00000202
5059 #define   NV34TCL_ALPHA_FUNC_FUNC_LEQUAL                                                0x00000203
5060 #define   NV34TCL_ALPHA_FUNC_FUNC_GREATER                                               0x00000204
5061 #define   NV34TCL_ALPHA_FUNC_FUNC_NOTEQUAL                                              0x00000205
5062 #define   NV34TCL_ALPHA_FUNC_FUNC_GEQUAL                                                0x00000206
5063 #define   NV34TCL_ALPHA_FUNC_FUNC_ALWAYS                                                0x00000207
5064 #define  NV34TCL_ALPHA_FUNC_REF                                                         0x0000030c
5065 #define  NV34TCL_BLEND_FUNC_ENABLE                                                      0x00000310
5066 #define  NV34TCL_BLEND_FUNC_SRC                                                         0x00000314
5067 #define   NV34TCL_BLEND_FUNC_SRC_RGB_SHIFT                                              0
5068 #define   NV34TCL_BLEND_FUNC_SRC_RGB_MASK                                               0x0000ffff
5069 #define    NV34TCL_BLEND_FUNC_SRC_RGB_ZERO                                              0x00000000
5070 #define    NV34TCL_BLEND_FUNC_SRC_RGB_ONE                                               0x00000001
5071 #define    NV34TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR                                         0x00000300
5072 #define    NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR                               0x00000301
5073 #define    NV34TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA                                         0x00000302
5074 #define    NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA                               0x00000303
5075 #define    NV34TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA                                         0x00000304
5076 #define    NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA                               0x00000305
5077 #define    NV34TCL_BLEND_FUNC_SRC_RGB_DST_COLOR                                         0x00000306
5078 #define    NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR                               0x00000307
5079 #define    NV34TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE                                0x00000308
5080 #define    NV34TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR                                    0x00008001
5081 #define    NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR                          0x00008002
5082 #define    NV34TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA                                    0x00008003
5083 #define    NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA                          0x00008004
5084 #define   NV34TCL_BLEND_FUNC_SRC_ALPHA_SHIFT                                            16
5085 #define   NV34TCL_BLEND_FUNC_SRC_ALPHA_MASK                                             0xffff0000
5086 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ZERO                                            0x00000000
5087 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE                                             0x00010000
5088 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                                       0x03000000
5089 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR                             0x03010000
5090 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                                       0x03020000
5091 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA                             0x03030000
5092 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                                       0x03040000
5093 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA                             0x03050000
5094 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR                                       0x03060000
5095 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR                             0x03070000
5096 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                              0x03080000
5097 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR                                  0x80010000
5098 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR                        0x80020000
5099 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA                                  0x80030000
5100 #define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA                        0x80040000
5101 #define  NV34TCL_BLEND_FUNC_DST                                                         0x00000318
5102 #define   NV34TCL_BLEND_FUNC_DST_RGB_SHIFT                                              0
5103 #define   NV34TCL_BLEND_FUNC_DST_RGB_MASK                                               0x0000ffff
5104 #define    NV34TCL_BLEND_FUNC_DST_RGB_ZERO                                              0x00000000
5105 #define    NV34TCL_BLEND_FUNC_DST_RGB_ONE                                               0x00000001
5106 #define    NV34TCL_BLEND_FUNC_DST_RGB_SRC_COLOR                                         0x00000300
5107 #define    NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR                               0x00000301
5108 #define    NV34TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA                                         0x00000302
5109 #define    NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA                               0x00000303
5110 #define    NV34TCL_BLEND_FUNC_DST_RGB_DST_ALPHA                                         0x00000304
5111 #define    NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA                               0x00000305
5112 #define    NV34TCL_BLEND_FUNC_DST_RGB_DST_COLOR                                         0x00000306
5113 #define    NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR                               0x00000307
5114 #define    NV34TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE                                0x00000308
5115 #define    NV34TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR                                    0x00008001
5116 #define    NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR                          0x00008002
5117 #define    NV34TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA                                    0x00008003
5118 #define    NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA                          0x00008004
5119 #define   NV34TCL_BLEND_FUNC_DST_ALPHA_SHIFT                                            16
5120 #define   NV34TCL_BLEND_FUNC_DST_ALPHA_MASK                                             0xffff0000
5121 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_ZERO                                            0x00000000
5122 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE                                             0x00010000
5123 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR                                       0x03000000
5124 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR                             0x03010000
5125 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                                       0x03020000
5126 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA                             0x03030000
5127 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA                                       0x03040000
5128 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA                             0x03050000
5129 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR                                       0x03060000
5130 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR                             0x03070000
5131 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                              0x03080000
5132 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR                                  0x80010000
5133 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR                        0x80020000
5134 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                                  0x80030000
5135 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA                        0x80040000
5136 #define  NV34TCL_BLEND_COLOR                                                            0x0000031c
5137 #define   NV34TCL_BLEND_COLOR_B_SHIFT                                                   0
5138 #define   NV34TCL_BLEND_COLOR_B_MASK                                                    0x000000ff
5139 #define   NV34TCL_BLEND_COLOR_G_SHIFT                                                   8
5140 #define   NV34TCL_BLEND_COLOR_G_MASK                                                    0x0000ff00
5141 #define   NV34TCL_BLEND_COLOR_R_SHIFT                                                   16
5142 #define   NV34TCL_BLEND_COLOR_R_MASK                                                    0x00ff0000
5143 #define   NV34TCL_BLEND_COLOR_A_SHIFT                                                   24
5144 #define   NV34TCL_BLEND_COLOR_A_MASK                                                    0xff000000
5145 #define  NV34TCL_BLEND_EQUATION                                                         0x00000320
5146 #define   NV34TCL_BLEND_EQUATION_FUNC_ADD                                               0x00008006
5147 #define   NV34TCL_BLEND_EQUATION_MIN                                                    0x00008007
5148 #define   NV34TCL_BLEND_EQUATION_MAX                                                    0x00008008
5149 #define   NV34TCL_BLEND_EQUATION_FUNC_SUBTRACT                                          0x0000800a
5150 #define   NV34TCL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT                                  0x0000800b
5151 #define  NV34TCL_COLOR_MASK                                                             0x00000324
5152 #define   NV34TCL_COLOR_MASK_B_SHIFT                                                    0
5153 #define   NV34TCL_COLOR_MASK_B_MASK                                                     0x000000ff
5154 #define   NV34TCL_COLOR_MASK_G_SHIFT                                                    8
5155 #define   NV34TCL_COLOR_MASK_G_MASK                                                     0x0000ff00
5156 #define   NV34TCL_COLOR_MASK_R_SHIFT                                                    16
5157 #define   NV34TCL_COLOR_MASK_R_MASK                                                     0x00ff0000
5158 #define   NV34TCL_COLOR_MASK_A_SHIFT                                                    24
5159 #define   NV34TCL_COLOR_MASK_A_MASK                                                     0xff000000
5160 #define  NV34TCL_STENCIL_FRONT_ENABLE                                                   0x00000328
5161 #define  NV34TCL_STENCIL_FRONT_MASK                                                     0x0000032c
5162 #define  NV34TCL_STENCIL_FRONT_FUNC_FUNC                                                0x00000330
5163 #define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_NEVER                                         0x00000200
5164 #define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_LESS                                          0x00000201
5165 #define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL                                         0x00000202
5166 #define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL                                        0x00000203
5167 #define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                       0x00000204
5168 #define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                                      0x00000205
5169 #define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL                                        0x00000206
5170 #define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS                                        0x00000207
5171 #define  NV34TCL_STENCIL_FRONT_FUNC_REF                                                 0x00000334
5172 #define  NV34TCL_STENCIL_FRONT_FUNC_MASK                                                0x00000338
5173 #define  NV34TCL_STENCIL_FRONT_OP_FAIL                                                  0x0000033c
5174 #define   NV34TCL_STENCIL_FRONT_OP_FAIL_ZERO                                            0x00000000
5175 #define   NV34TCL_STENCIL_FRONT_OP_FAIL_INVERT                                          0x0000150a
5176 #define   NV34TCL_STENCIL_FRONT_OP_FAIL_KEEP                                            0x00001e00
5177 #define   NV34TCL_STENCIL_FRONT_OP_FAIL_REPLACE                                         0x00001e01
5178 #define   NV34TCL_STENCIL_FRONT_OP_FAIL_INCR                                            0x00001e02
5179 #define   NV34TCL_STENCIL_FRONT_OP_FAIL_DECR                                            0x00001e03
5180 #define   NV34TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP                                       0x00008507
5181 #define   NV34TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP                                       0x00008508
5182 #define  NV34TCL_STENCIL_FRONT_OP_ZFAIL                                                 0x00000340
5183 #define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_ZERO                                           0x00000000
5184 #define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_INVERT                                         0x0000150a
5185 #define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_KEEP                                           0x00001e00
5186 #define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE                                        0x00001e01
5187 #define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_INCR                                           0x00001e02
5188 #define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_DECR                                           0x00001e03
5189 #define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                                      0x00008507
5190 #define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                                      0x00008508
5191 #define  NV34TCL_STENCIL_FRONT_OP_ZPASS                                                 0x00000344
5192 #define   NV34TCL_STENCIL_FRONT_OP_ZPASS_ZERO                                           0x00000000
5193 #define   NV34TCL_STENCIL_FRONT_OP_ZPASS_INVERT                                         0x0000150a
5194 #define   NV34TCL_STENCIL_FRONT_OP_ZPASS_KEEP                                           0x00001e00
5195 #define   NV34TCL_STENCIL_FRONT_OP_ZPASS_REPLACE                                        0x00001e01
5196 #define   NV34TCL_STENCIL_FRONT_OP_ZPASS_INCR                                           0x00001e02
5197 #define   NV34TCL_STENCIL_FRONT_OP_ZPASS_DECR                                           0x00001e03
5198 #define   NV34TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                                      0x00008507
5199 #define   NV34TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                                      0x00008508
5200 #define  NV34TCL_STENCIL_BACK_ENABLE                                                    0x00000348
5201 #define  NV34TCL_STENCIL_BACK_MASK                                                      0x0000034c
5202 #define  NV34TCL_STENCIL_BACK_FUNC_FUNC                                                 0x00000350
5203 #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_NEVER                                          0x00000200
5204 #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_LESS                                           0x00000201
5205 #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_EQUAL                                          0x00000202
5206 #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL                                         0x00000203
5207 #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                        0x00000204
5208 #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                                       0x00000205
5209 #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL                                         0x00000206
5210 #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS                                         0x00000207
5211 #define  NV34TCL_STENCIL_BACK_FUNC_REF                                                  0x00000354
5212 #define  NV34TCL_STENCIL_BACK_FUNC_MASK                                                 0x00000358
5213 #define  NV34TCL_STENCIL_BACK_OP_FAIL                                                   0x0000035c
5214 #define   NV34TCL_STENCIL_BACK_OP_FAIL_ZERO                                             0x00000000
5215 #define   NV34TCL_STENCIL_BACK_OP_FAIL_INVERT                                           0x0000150a
5216 #define   NV34TCL_STENCIL_BACK_OP_FAIL_KEEP                                             0x00001e00
5217 #define   NV34TCL_STENCIL_BACK_OP_FAIL_REPLACE                                          0x00001e01
5218 #define   NV34TCL_STENCIL_BACK_OP_FAIL_INCR                                             0x00001e02
5219 #define   NV34TCL_STENCIL_BACK_OP_FAIL_DECR                                             0x00001e03
5220 #define   NV34TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP                                        0x00008507
5221 #define   NV34TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP                                        0x00008508
5222 #define  NV34TCL_STENCIL_BACK_OP_ZFAIL                                                  0x00000360
5223 #define   NV34TCL_STENCIL_BACK_OP_ZFAIL_ZERO                                            0x00000000
5224 #define   NV34TCL_STENCIL_BACK_OP_ZFAIL_INVERT                                          0x0000150a
5225 #define   NV34TCL_STENCIL_BACK_OP_ZFAIL_KEEP                                            0x00001e00
5226 #define   NV34TCL_STENCIL_BACK_OP_ZFAIL_REPLACE                                         0x00001e01
5227 #define   NV34TCL_STENCIL_BACK_OP_ZFAIL_INCR                                            0x00001e02
5228 #define   NV34TCL_STENCIL_BACK_OP_ZFAIL_DECR                                            0x00001e03
5229 #define   NV34TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                                       0x00008507
5230 #define   NV34TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                                       0x00008508
5231 #define  NV34TCL_STENCIL_BACK_OP_ZPASS                                                  0x00000364
5232 #define   NV34TCL_STENCIL_BACK_OP_ZPASS_ZERO                                            0x00000000
5233 #define   NV34TCL_STENCIL_BACK_OP_ZPASS_INVERT                                          0x0000150a
5234 #define   NV34TCL_STENCIL_BACK_OP_ZPASS_KEEP                                            0x00001e00
5235 #define   NV34TCL_STENCIL_BACK_OP_ZPASS_REPLACE                                         0x00001e01
5236 #define   NV34TCL_STENCIL_BACK_OP_ZPASS_INCR                                            0x00001e02
5237 #define   NV34TCL_STENCIL_BACK_OP_ZPASS_DECR                                            0x00001e03
5238 #define   NV34TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP                                       0x00008507
5239 #define   NV34TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP                                       0x00008508
5240 #define  NV34TCL_SHADE_MODEL                                                            0x00000368
5241 #define   NV34TCL_SHADE_MODEL_FLAT                                                      0x00001d00
5242 #define   NV34TCL_SHADE_MODEL_SMOOTH                                                    0x00001d01
5243 #define  NV34TCL_FOG_ENABLE                                                             0x0000036c
5244 #define  NV34TCL_FOG_COLOR                                                              0x00000370
5245 #define   NV34TCL_FOG_COLOR_R_SHIFT                                                     0
5246 #define   NV34TCL_FOG_COLOR_R_MASK                                                      0x000000ff
5247 #define   NV34TCL_FOG_COLOR_G_SHIFT                                                     8
5248 #define   NV34TCL_FOG_COLOR_G_MASK                                                      0x0000ff00
5249 #define   NV34TCL_FOG_COLOR_B_SHIFT                                                     16
5250 #define   NV34TCL_FOG_COLOR_B_MASK                                                      0x00ff0000
5251 #define   NV34TCL_FOG_COLOR_A_SHIFT                                                     24
5252 #define   NV34TCL_FOG_COLOR_A_MASK                                                      0xff000000
5253 #define  NV34TCL_COLOR_LOGIC_OP_ENABLE                                                  0x00000374
5254 #define  NV34TCL_COLOR_LOGIC_OP_OP                                                      0x00000378
5255 #define   NV34TCL_COLOR_LOGIC_OP_OP_CLEAR                                               0x00001500
5256 #define   NV34TCL_COLOR_LOGIC_OP_OP_AND                                                 0x00001501
5257 #define   NV34TCL_COLOR_LOGIC_OP_OP_AND_REVERSE                                         0x00001502
5258 #define   NV34TCL_COLOR_LOGIC_OP_OP_COPY                                                0x00001503
5259 #define   NV34TCL_COLOR_LOGIC_OP_OP_AND_INVERTED                                        0x00001504
5260 #define   NV34TCL_COLOR_LOGIC_OP_OP_NOOP                                                0x00001505
5261 #define   NV34TCL_COLOR_LOGIC_OP_OP_XOR                                                 0x00001506
5262 #define   NV34TCL_COLOR_LOGIC_OP_OP_OR                                                  0x00001507
5263 #define   NV34TCL_COLOR_LOGIC_OP_OP_NOR                                                 0x00001508
5264 #define   NV34TCL_COLOR_LOGIC_OP_OP_EQUIV                                               0x00001509
5265 #define   NV34TCL_COLOR_LOGIC_OP_OP_INVERT                                              0x0000150a
5266 #define   NV34TCL_COLOR_LOGIC_OP_OP_OR_REVERSE                                          0x0000150b
5267 #define   NV34TCL_COLOR_LOGIC_OP_OP_COPY_INVERTED                                       0x0000150c
5268 #define   NV34TCL_COLOR_LOGIC_OP_OP_OR_INVERTED                                         0x0000150d
5269 #define   NV34TCL_COLOR_LOGIC_OP_OP_NAND                                                0x0000150e
5270 #define   NV34TCL_COLOR_LOGIC_OP_OP_SET                                                 0x0000150f
5271 #define  NV34TCL_NORMALIZE_ENABLE                                                       0x0000037c
5272 #define  NV34TCL_COLOR_MATERIAL                                                         0x00000390
5273 #define   NV34TCL_COLOR_MATERIAL_FRONT_EMISSION_ENABLE                                  (1 <<  0)
5274 #define   NV34TCL_COLOR_MATERIAL_FRONT_AMBIENT_ENABLE                                   (1 <<  2)
5275 #define   NV34TCL_COLOR_MATERIAL_FRONT_DIFFUSE_ENABLE                                   (1 <<  4)
5276 #define   NV34TCL_COLOR_MATERIAL_FRONT_SPECULAR_ENABLE                                  (1 <<  6)
5277 #define   NV34TCL_COLOR_MATERIAL_BACK_EMISSION_ENABLE                                   (1 <<  8)
5278 #define   NV34TCL_COLOR_MATERIAL_BACK_AMBIENT_ENABLE                                    (1 << 10)
5279 #define   NV34TCL_COLOR_MATERIAL_BACK_DIFFUSE_ENABLE                                    (1 << 12)
5280 #define   NV34TCL_COLOR_MATERIAL_BACK_SPECULAR_ENABLE                                   (1 << 14)
5281 #define  NV34TCL_DEPTH_RANGE_NEAR                                                       0x00000394
5282 #define  NV34TCL_DEPTH_RANGE_FAR                                                        0x00000398
5283 #define  NV34TCL_COLOR_MATERIAL_FRONT_R                                                 0x000003a0
5284 #define  NV34TCL_COLOR_MATERIAL_FRONT_G                                                 0x000003a4
5285 #define  NV34TCL_COLOR_MATERIAL_FRONT_B                                                 0x000003a8
5286 #define  NV34TCL_COLOR_MATERIAL_FRONT_A                                                 0x000003b4
5287 #define  NV34TCL_LINE_WIDTH                                                             0x000003b8
5288 #define  NV34TCL_LINE_SMOOTH_ENABLE                                                     0x000003bc
5289 #define  NV34TCL_TX_GEN_S(x)                                                            (0x00000400+((x)*16))
5290 #define  NV34TCL_TX_GEN_S__SIZE                                                         0x00000008
5291 #define   NV34TCL_TX_GEN_S_FALSE                                                        0x00000000
5292 #define   NV34TCL_TX_GEN_S_EYE_LINEAR                                                   0x00002400
5293 #define   NV34TCL_TX_GEN_S_OBJECT_LINEAR                                                0x00002401
5294 #define   NV34TCL_TX_GEN_S_SPHERE_MAP                                                   0x00002402
5295 #define   NV34TCL_TX_GEN_S_NORMAL_MAP                                                   0x00008511
5296 #define   NV34TCL_TX_GEN_S_REFLECTION_MAP                                               0x00008512
5297 #define  NV34TCL_TX_GEN_T(x)                                                            (0x00000404+((x)*16))
5298 #define  NV34TCL_TX_GEN_T__SIZE                                                         0x00000008
5299 #define   NV34TCL_TX_GEN_T_FALSE                                                        0x00000000
5300 #define   NV34TCL_TX_GEN_T_EYE_LINEAR                                                   0x00002400
5301 #define   NV34TCL_TX_GEN_T_OBJECT_LINEAR                                                0x00002401
5302 #define   NV34TCL_TX_GEN_T_SPHERE_MAP                                                   0x00002402
5303 #define   NV34TCL_TX_GEN_T_NORMAL_MAP                                                   0x00008511
5304 #define   NV34TCL_TX_GEN_T_REFLECTION_MAP                                               0x00008512
5305 #define  NV34TCL_TX_GEN_R(x)                                                            (0x00000408+((x)*16))
5306 #define  NV34TCL_TX_GEN_R__SIZE                                                         0x00000008
5307 #define   NV34TCL_TX_GEN_R_FALSE                                                        0x00000000
5308 #define   NV34TCL_TX_GEN_R_EYE_LINEAR                                                   0x00002400
5309 #define   NV34TCL_TX_GEN_R_OBJECT_LINEAR                                                0x00002401
5310 #define   NV34TCL_TX_GEN_R_SPHERE_MAP                                                   0x00002402
5311 #define   NV34TCL_TX_GEN_R_NORMAL_MAP                                                   0x00008511
5312 #define   NV34TCL_TX_GEN_R_REFLECTION_MAP                                               0x00008512
5313 #define  NV34TCL_TX_GEN_Q(x)                                                            (0x0000040c+((x)*16))
5314 #define  NV34TCL_TX_GEN_Q__SIZE                                                         0x00000008
5315 #define   NV34TCL_TX_GEN_Q_FALSE                                                        0x00000000
5316 #define   NV34TCL_TX_GEN_Q_EYE_LINEAR                                                   0x00002400
5317 #define   NV34TCL_TX_GEN_Q_OBJECT_LINEAR                                                0x00002401
5318 #define   NV34TCL_TX_GEN_Q_SPHERE_MAP                                                   0x00002402
5319 #define   NV34TCL_TX_GEN_Q_NORMAL_MAP                                                   0x00008511
5320 #define   NV34TCL_TX_GEN_Q_REFLECTION_MAP                                               0x00008512
5321 #define  NV34TCL_MODELVIEW_MATRIX(x)                                                    (0x00000480+((x)*4))
5322 #define  NV34TCL_MODELVIEW_MATRIX__SIZE                                                 0x00000010
5323 #define  NV34TCL_INVERSE_MODELVIEW_MATRIX(x)                                            (0x00000580+((x)*4))
5324 #define  NV34TCL_INVERSE_MODELVIEW_MATRIX__SIZE                                         0x0000000c
5325 #define  NV34TCL_PROJECTION_MATRIX(x)                                                   (0x00000680+((x)*4))
5326 #define  NV34TCL_PROJECTION_MATRIX__SIZE                                                0x00000010
5327 #define  NV34TCL_TX0_MATRIX(x)                                                          (0x000006c0+((x)*4))
5328 #define  NV34TCL_TX0_MATRIX__SIZE                                                       0x00000010
5329 #define  NV34TCL_TX1_MATRIX(x)                                                          (0x00000700+((x)*4))
5330 #define  NV34TCL_TX1_MATRIX__SIZE                                                       0x00000010
5331 #define  NV34TCL_TX2_MATRIX(x)                                                          (0x00000740+((x)*4))
5332 #define  NV34TCL_TX2_MATRIX__SIZE                                                       0x00000010
5333 #define  NV34TCL_TX3_MATRIX(x)                                                          (0x00000780+((x)*4))
5334 #define  NV34TCL_TX3_MATRIX__SIZE                                                       0x00000010
5335 #define  NV34TCL_TX4_MATRIX(x)                                                          (0x000007c0+((x)*4))
5336 #define  NV34TCL_TX4_MATRIX__SIZE                                                       0x00000010
5337 #define  NV34TCL_TX5_MATRIX(x)                                                          (0x00000800+((x)*4))
5338 #define  NV34TCL_TX5_MATRIX__SIZE                                                       0x00000010
5339 #define  NV34TCL_TX6_MATRIX(x)                                                          (0x00000840+((x)*4))
5340 #define  NV34TCL_TX6_MATRIX__SIZE                                                       0x00000010
5341 #define  NV34TCL_TX7_MATRIX(x)                                                          (0x00000880+((x)*4))
5342 #define  NV34TCL_TX7_MATRIX__SIZE                                                       0x00000010
5343 #define  NV34TCL_SCISSOR_HORIZ                                                          0x000008c0
5344 #define   NV34TCL_SCISSOR_HORIZ_X_SHIFT                                                 0
5345 #define   NV34TCL_SCISSOR_HORIZ_X_MASK                                                  0x0000ffff
5346 #define   NV34TCL_SCISSOR_HORIZ_W_SHIFT                                                 16
5347 #define   NV34TCL_SCISSOR_HORIZ_W_MASK                                                  0xffff0000
5348 #define  NV34TCL_SCISSOR_VERT                                                           0x000008c4
5349 #define   NV34TCL_SCISSOR_VERT_Y_SHIFT                                                  0
5350 #define   NV34TCL_SCISSOR_VERT_Y_MASK                                                   0x0000ffff
5351 #define   NV34TCL_SCISSOR_VERT_H_SHIFT                                                  16
5352 #define   NV34TCL_SCISSOR_VERT_H_MASK                                                   0xffff0000
5353 #define  NV34TCL_FOG_COORD_DIST                                                         0x000008c8
5354 #define  NV34TCL_FOG_MODE                                                               0x000008cc
5355 #define  NV34TCL_FOG_EQUATION_CONSTANT                                                  0x000008d0
5356 #define  NV34TCL_FOG_EQUATION_LINEAR                                                    0x000008d4
5357 #define  NV34TCL_FOG_EQUATION_QUADRATIC                                                 0x000008d8
5358 #define  NV34TCL_FP_ACTIVE_PROGRAM                                                      0x000008e4
5359 #define   NV34TCL_FP_ACTIVE_PROGRAM_DMA0                                                (1 <<  0)
5360 #define   NV34TCL_FP_ACTIVE_PROGRAM_DMA1                                                (1 <<  1)
5361 #define   NV34TCL_FP_ACTIVE_PROGRAM_OFFSET_SHIFT                                        2
5362 #define   NV34TCL_FP_ACTIVE_PROGRAM_OFFSET_MASK                                         0xfffffffc
5363 #define  NV34TCL_RC_COLOR0                                                              0x000008ec
5364 #define   NV34TCL_RC_COLOR0_B_SHIFT                                                     0
5365 #define   NV34TCL_RC_COLOR0_B_MASK                                                      0x000000ff
5366 #define   NV34TCL_RC_COLOR0_G_SHIFT                                                     8
5367 #define   NV34TCL_RC_COLOR0_G_MASK                                                      0x0000ff00
5368 #define   NV34TCL_RC_COLOR0_R_SHIFT                                                     16
5369 #define   NV34TCL_RC_COLOR0_R_MASK                                                      0x00ff0000
5370 #define   NV34TCL_RC_COLOR0_A_SHIFT                                                     24
5371 #define   NV34TCL_RC_COLOR0_A_MASK                                                      0xff000000
5372 #define  NV34TCL_RC_COLOR1                                                              0x000008f0
5373 #define   NV34TCL_RC_COLOR1_B_SHIFT                                                     0
5374 #define   NV34TCL_RC_COLOR1_B_MASK                                                      0x000000ff
5375 #define   NV34TCL_RC_COLOR1_G_SHIFT                                                     8
5376 #define   NV34TCL_RC_COLOR1_G_MASK                                                      0x0000ff00
5377 #define   NV34TCL_RC_COLOR1_R_SHIFT                                                     16
5378 #define   NV34TCL_RC_COLOR1_R_MASK                                                      0x00ff0000
5379 #define   NV34TCL_RC_COLOR1_A_SHIFT                                                     24
5380 #define   NV34TCL_RC_COLOR1_A_MASK                                                      0xff000000
5381 #define  NV34TCL_RC_FINAL0                                                              0x000008f4
5382 #define   NV34TCL_RC_FINAL0_D_INPUT_SHIFT                                               0
5383 #define   NV34TCL_RC_FINAL0_D_INPUT_MASK                                                0x0000000f
5384 #define    NV34TCL_RC_FINAL0_D_INPUT_ZERO                                               0x00000000
5385 #define    NV34TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR0                                    0x00000001
5386 #define    NV34TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR1                                    0x00000002
5387 #define    NV34TCL_RC_FINAL0_D_INPUT_FOG                                                0x00000003
5388 #define    NV34TCL_RC_FINAL0_D_INPUT_PRIMARY_COLOR                                      0x00000004
5389 #define    NV34TCL_RC_FINAL0_D_INPUT_SECONDARY_COLOR                                    0x00000005
5390 #define    NV34TCL_RC_FINAL0_D_INPUT_TEXTURE0                                           0x00000008
5391 #define    NV34TCL_RC_FINAL0_D_INPUT_TEXTURE1                                           0x00000009
5392 #define    NV34TCL_RC_FINAL0_D_INPUT_SPARE0                                             0x0000000c
5393 #define    NV34TCL_RC_FINAL0_D_INPUT_SPARE1                                             0x0000000d
5394 #define    NV34TCL_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0000000e
5395 #define    NV34TCL_RC_FINAL0_D_INPUT_E_TIMES_F                                          0x0000000f
5396 #define    NV34TCL_RC_FINAL0_D_INPUT_TEXTURE2                                           0x0000000a
5397 #define    NV34TCL_RC_FINAL0_D_INPUT_TEXTURE3                                           0x0000000b
5398 #define   NV34TCL_RC_FINAL0_D_COMPONENT_USAGE                                           (1 <<  4)
5399 #define    NV34TCL_RC_FINAL0_D_COMPONENT_USAGE_RGB                                      0x00000000
5400 #define    NV34TCL_RC_FINAL0_D_COMPONENT_USAGE_ALPHA                                    0x00000010
5401 #define   NV34TCL_RC_FINAL0_D_MAPPING_SHIFT                                             5
5402 #define   NV34TCL_RC_FINAL0_D_MAPPING_MASK                                              0x000000e0
5403 #define    NV34TCL_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY                                0x00000000
5404 #define    NV34TCL_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT                                  0x00000020
5405 #define    NV34TCL_RC_FINAL0_D_MAPPING_EXPAND_NORMAL                                    0x00000040
5406 #define    NV34TCL_RC_FINAL0_D_MAPPING_EXPAND_NEGATE                                    0x00000060
5407 #define    NV34TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL                                 0x00000080
5408 #define    NV34TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE                                 0x000000a0
5409 #define    NV34TCL_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY                                  0x000000c0
5410 #define    NV34TCL_RC_FINAL0_D_MAPPING_SIGNED_NEGATE                                    0x000000e0
5411 #define   NV34TCL_RC_FINAL0_C_INPUT_SHIFT                                               8
5412 #define   NV34TCL_RC_FINAL0_C_INPUT_MASK                                                0x00000f00
5413 #define    NV34TCL_RC_FINAL0_C_INPUT_ZERO                                               0x00000000
5414 #define    NV34TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR0                                    0x00000100
5415 #define    NV34TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR1                                    0x00000200
5416 #define    NV34TCL_RC_FINAL0_C_INPUT_FOG                                                0x00000300
5417 #define    NV34TCL_RC_FINAL0_C_INPUT_PRIMARY_COLOR                                      0x00000400
5418 #define    NV34TCL_RC_FINAL0_C_INPUT_SECONDARY_COLOR                                    0x00000500
5419 #define    NV34TCL_RC_FINAL0_C_INPUT_TEXTURE0                                           0x00000800
5420 #define    NV34TCL_RC_FINAL0_C_INPUT_TEXTURE1                                           0x00000900
5421 #define    NV34TCL_RC_FINAL0_C_INPUT_SPARE0                                             0x00000c00
5422 #define    NV34TCL_RC_FINAL0_C_INPUT_SPARE1                                             0x00000d00
5423 #define    NV34TCL_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x00000e00
5424 #define    NV34TCL_RC_FINAL0_C_INPUT_E_TIMES_F                                          0x00000f00
5425 #define    NV34TCL_RC_FINAL0_C_INPUT_TEXTURE2                                           0x00000a00
5426 #define    NV34TCL_RC_FINAL0_C_INPUT_TEXTURE3                                           0x00000b00
5427 #define   NV34TCL_RC_FINAL0_C_COMPONENT_USAGE                                           (1 << 12)
5428 #define    NV34TCL_RC_FINAL0_C_COMPONENT_USAGE_RGB                                      0x00000000
5429 #define    NV34TCL_RC_FINAL0_C_COMPONENT_USAGE_ALPHA                                    0x00001000
5430 #define   NV34TCL_RC_FINAL0_C_MAPPING_SHIFT                                             13
5431 #define   NV34TCL_RC_FINAL0_C_MAPPING_MASK                                              0x0000e000
5432 #define    NV34TCL_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY                                0x00000000
5433 #define    NV34TCL_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT                                  0x00002000
5434 #define    NV34TCL_RC_FINAL0_C_MAPPING_EXPAND_NORMAL                                    0x00004000
5435 #define    NV34TCL_RC_FINAL0_C_MAPPING_EXPAND_NEGATE                                    0x00006000
5436 #define    NV34TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL                                 0x00008000
5437 #define    NV34TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE                                 0x0000a000
5438 #define    NV34TCL_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY                                  0x0000c000
5439 #define    NV34TCL_RC_FINAL0_C_MAPPING_SIGNED_NEGATE                                    0x0000e000
5440 #define   NV34TCL_RC_FINAL0_B_INPUT_SHIFT                                               16
5441 #define   NV34TCL_RC_FINAL0_B_INPUT_MASK                                                0x000f0000
5442 #define    NV34TCL_RC_FINAL0_B_INPUT_ZERO                                               0x00000000
5443 #define    NV34TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR0                                    0x00010000
5444 #define    NV34TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR1                                    0x00020000
5445 #define    NV34TCL_RC_FINAL0_B_INPUT_FOG                                                0x00030000
5446 #define    NV34TCL_RC_FINAL0_B_INPUT_PRIMARY_COLOR                                      0x00040000
5447 #define    NV34TCL_RC_FINAL0_B_INPUT_SECONDARY_COLOR                                    0x00050000
5448 #define    NV34TCL_RC_FINAL0_B_INPUT_TEXTURE0                                           0x00080000
5449 #define    NV34TCL_RC_FINAL0_B_INPUT_TEXTURE1                                           0x00090000
5450 #define    NV34TCL_RC_FINAL0_B_INPUT_SPARE0                                             0x000c0000
5451 #define    NV34TCL_RC_FINAL0_B_INPUT_SPARE1                                             0x000d0000
5452 #define    NV34TCL_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x000e0000
5453 #define    NV34TCL_RC_FINAL0_B_INPUT_E_TIMES_F                                          0x000f0000
5454 #define    NV34TCL_RC_FINAL0_B_INPUT_TEXTURE2                                           0x000a0000
5455 #define    NV34TCL_RC_FINAL0_B_INPUT_TEXTURE3                                           0x000b0000
5456 #define   NV34TCL_RC_FINAL0_B_COMPONENT_USAGE                                           (1 << 20)
5457 #define    NV34TCL_RC_FINAL0_B_COMPONENT_USAGE_RGB                                      0x00000000
5458 #define    NV34TCL_RC_FINAL0_B_COMPONENT_USAGE_ALPHA                                    0x00100000
5459 #define   NV34TCL_RC_FINAL0_B_MAPPING_SHIFT                                             21
5460 #define   NV34TCL_RC_FINAL0_B_MAPPING_MASK                                              0x00e00000
5461 #define    NV34TCL_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY                                0x00000000
5462 #define    NV34TCL_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT                                  0x00200000
5463 #define    NV34TCL_RC_FINAL0_B_MAPPING_EXPAND_NORMAL                                    0x00400000
5464 #define    NV34TCL_RC_FINAL0_B_MAPPING_EXPAND_NEGATE                                    0x00600000
5465 #define    NV34TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL                                 0x00800000
5466 #define    NV34TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE                                 0x00a00000
5467 #define    NV34TCL_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY                                  0x00c00000
5468 #define    NV34TCL_RC_FINAL0_B_MAPPING_SIGNED_NEGATE                                    0x00e00000
5469 #define   NV34TCL_RC_FINAL0_A_INPUT_SHIFT                                               24
5470 #define   NV34TCL_RC_FINAL0_A_INPUT_MASK                                                0x0f000000
5471 #define    NV34TCL_RC_FINAL0_A_INPUT_ZERO                                               0x00000000
5472 #define    NV34TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR0                                    0x01000000
5473 #define    NV34TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR1                                    0x02000000
5474 #define    NV34TCL_RC_FINAL0_A_INPUT_FOG                                                0x03000000
5475 #define    NV34TCL_RC_FINAL0_A_INPUT_PRIMARY_COLOR                                      0x04000000
5476 #define    NV34TCL_RC_FINAL0_A_INPUT_SECONDARY_COLOR                                    0x05000000
5477 #define    NV34TCL_RC_FINAL0_A_INPUT_TEXTURE0                                           0x08000000
5478 #define    NV34TCL_RC_FINAL0_A_INPUT_TEXTURE1                                           0x09000000
5479 #define    NV34TCL_RC_FINAL0_A_INPUT_SPARE0                                             0x0c000000
5480 #define    NV34TCL_RC_FINAL0_A_INPUT_SPARE1                                             0x0d000000
5481 #define    NV34TCL_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0e000000
5482 #define    NV34TCL_RC_FINAL0_A_INPUT_E_TIMES_F                                          0x0f000000
5483 #define    NV34TCL_RC_FINAL0_A_INPUT_TEXTURE2                                           0x0a000000
5484 #define    NV34TCL_RC_FINAL0_A_INPUT_TEXTURE3                                           0x0b000000
5485 #define   NV34TCL_RC_FINAL0_A_COMPONENT_USAGE                                           (1 << 28)
5486 #define    NV34TCL_RC_FINAL0_A_COMPONENT_USAGE_RGB                                      0x00000000
5487 #define    NV34TCL_RC_FINAL0_A_COMPONENT_USAGE_ALPHA                                    0x10000000
5488 #define   NV34TCL_RC_FINAL0_A_MAPPING_SHIFT                                             29
5489 #define   NV34TCL_RC_FINAL0_A_MAPPING_MASK                                              0xe0000000
5490 #define    NV34TCL_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY                                0x00000000
5491 #define    NV34TCL_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT                                  0x20000000
5492 #define    NV34TCL_RC_FINAL0_A_MAPPING_EXPAND_NORMAL                                    0x40000000
5493 #define    NV34TCL_RC_FINAL0_A_MAPPING_EXPAND_NEGATE                                    0x60000000
5494 #define    NV34TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL                                 0x80000000
5495 #define    NV34TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE                                 0xa0000000
5496 #define    NV34TCL_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY                                  0xc0000000
5497 #define    NV34TCL_RC_FINAL0_A_MAPPING_SIGNED_NEGATE                                    0xe0000000
5498 #define  NV34TCL_RC_FINAL1                                                              0x000008f8
5499 #define   NV34TCL_RC_FINAL1_COLOR_SUM_CLAMP                                             (1 <<  7)
5500 #define   NV34TCL_RC_FINAL1_G_INPUT_SHIFT                                               8
5501 #define   NV34TCL_RC_FINAL1_G_INPUT_MASK                                                0x00000f00
5502 #define    NV34TCL_RC_FINAL1_G_INPUT_ZERO                                               0x00000000
5503 #define    NV34TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR0                                    0x00000100
5504 #define    NV34TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR1                                    0x00000200
5505 #define    NV34TCL_RC_FINAL1_G_INPUT_FOG                                                0x00000300
5506 #define    NV34TCL_RC_FINAL1_G_INPUT_PRIMARY_COLOR                                      0x00000400
5507 #define    NV34TCL_RC_FINAL1_G_INPUT_SECONDARY_COLOR                                    0x00000500
5508 #define    NV34TCL_RC_FINAL1_G_INPUT_TEXTURE0                                           0x00000800
5509 #define    NV34TCL_RC_FINAL1_G_INPUT_TEXTURE1                                           0x00000900
5510 #define    NV34TCL_RC_FINAL1_G_INPUT_SPARE0                                             0x00000c00
5511 #define    NV34TCL_RC_FINAL1_G_INPUT_SPARE1                                             0x00000d00
5512 #define    NV34TCL_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x00000e00
5513 #define    NV34TCL_RC_FINAL1_G_INPUT_E_TIMES_F                                          0x00000f00
5514 #define    NV34TCL_RC_FINAL1_G_INPUT_TEXTURE2                                           0x00000a00
5515 #define    NV34TCL_RC_FINAL1_G_INPUT_TEXTURE3                                           0x00000b00
5516 #define   NV34TCL_RC_FINAL1_G_COMPONENT_USAGE                                           (1 << 12)
5517 #define    NV34TCL_RC_FINAL1_G_COMPONENT_USAGE_RGB                                      0x00000000
5518 #define    NV34TCL_RC_FINAL1_G_COMPONENT_USAGE_ALPHA                                    0x00001000
5519 #define   NV34TCL_RC_FINAL1_G_MAPPING_SHIFT                                             13
5520 #define   NV34TCL_RC_FINAL1_G_MAPPING_MASK                                              0x0000e000
5521 #define    NV34TCL_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY                                0x00000000
5522 #define    NV34TCL_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT                                  0x00002000
5523 #define    NV34TCL_RC_FINAL1_G_MAPPING_EXPAND_NORMAL                                    0x00004000
5524 #define    NV34TCL_RC_FINAL1_G_MAPPING_EXPAND_NEGATE                                    0x00006000
5525 #define    NV34TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL                                 0x00008000
5526 #define    NV34TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE                                 0x0000a000
5527 #define    NV34TCL_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY                                  0x0000c000
5528 #define    NV34TCL_RC_FINAL1_G_MAPPING_SIGNED_NEGATE                                    0x0000e000
5529 #define   NV34TCL_RC_FINAL1_F_INPUT_SHIFT                                               16
5530 #define   NV34TCL_RC_FINAL1_F_INPUT_MASK                                                0x000f0000
5531 #define    NV34TCL_RC_FINAL1_F_INPUT_ZERO                                               0x00000000
5532 #define    NV34TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR0                                    0x00010000
5533 #define    NV34TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR1                                    0x00020000
5534 #define    NV34TCL_RC_FINAL1_F_INPUT_FOG                                                0x00030000
5535 #define    NV34TCL_RC_FINAL1_F_INPUT_PRIMARY_COLOR                                      0x00040000
5536 #define    NV34TCL_RC_FINAL1_F_INPUT_SECONDARY_COLOR                                    0x00050000
5537 #define    NV34TCL_RC_FINAL1_F_INPUT_TEXTURE0                                           0x00080000
5538 #define    NV34TCL_RC_FINAL1_F_INPUT_TEXTURE1                                           0x00090000
5539 #define    NV34TCL_RC_FINAL1_F_INPUT_SPARE0                                             0x000c0000
5540 #define    NV34TCL_RC_FINAL1_F_INPUT_SPARE1                                             0x000d0000
5541 #define    NV34TCL_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x000e0000
5542 #define    NV34TCL_RC_FINAL1_F_INPUT_E_TIMES_F                                          0x000f0000
5543 #define    NV34TCL_RC_FINAL1_F_INPUT_TEXTURE2                                           0x000a0000
5544 #define    NV34TCL_RC_FINAL1_F_INPUT_TEXTURE3                                           0x000b0000
5545 #define   NV34TCL_RC_FINAL1_F_COMPONENT_USAGE                                           (1 << 20)
5546 #define    NV34TCL_RC_FINAL1_F_COMPONENT_USAGE_RGB                                      0x00000000
5547 #define    NV34TCL_RC_FINAL1_F_COMPONENT_USAGE_ALPHA                                    0x00100000
5548 #define   NV34TCL_RC_FINAL1_F_MAPPING_SHIFT                                             21
5549 #define   NV34TCL_RC_FINAL1_F_MAPPING_MASK                                              0x00e00000
5550 #define    NV34TCL_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY                                0x00000000
5551 #define    NV34TCL_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT                                  0x00200000
5552 #define    NV34TCL_RC_FINAL1_F_MAPPING_EXPAND_NORMAL                                    0x00400000
5553 #define    NV34TCL_RC_FINAL1_F_MAPPING_EXPAND_NEGATE                                    0x00600000
5554 #define    NV34TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL                                 0x00800000
5555 #define    NV34TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE                                 0x00a00000
5556 #define    NV34TCL_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY                                  0x00c00000
5557 #define    NV34TCL_RC_FINAL1_F_MAPPING_SIGNED_NEGATE                                    0x00e00000
5558 #define   NV34TCL_RC_FINAL1_E_INPUT_SHIFT                                               24
5559 #define   NV34TCL_RC_FINAL1_E_INPUT_MASK                                                0x0f000000
5560 #define    NV34TCL_RC_FINAL1_E_INPUT_ZERO                                               0x00000000
5561 #define    NV34TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR0                                    0x01000000
5562 #define    NV34TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR1                                    0x02000000
5563 #define    NV34TCL_RC_FINAL1_E_INPUT_FOG                                                0x03000000
5564 #define    NV34TCL_RC_FINAL1_E_INPUT_PRIMARY_COLOR                                      0x04000000
5565 #define    NV34TCL_RC_FINAL1_E_INPUT_SECONDARY_COLOR                                    0x05000000
5566 #define    NV34TCL_RC_FINAL1_E_INPUT_TEXTURE0                                           0x08000000
5567 #define    NV34TCL_RC_FINAL1_E_INPUT_TEXTURE1                                           0x09000000
5568 #define    NV34TCL_RC_FINAL1_E_INPUT_SPARE0                                             0x0c000000
5569 #define    NV34TCL_RC_FINAL1_E_INPUT_SPARE1                                             0x0d000000
5570 #define    NV34TCL_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0e000000
5571 #define    NV34TCL_RC_FINAL1_E_INPUT_E_TIMES_F                                          0x0f000000
5572 #define    NV34TCL_RC_FINAL1_E_INPUT_TEXTURE2                                           0x0a000000
5573 #define    NV34TCL_RC_FINAL1_E_INPUT_TEXTURE3                                           0x0b000000
5574 #define   NV34TCL_RC_FINAL1_E_COMPONENT_USAGE                                           (1 << 28)
5575 #define    NV34TCL_RC_FINAL1_E_COMPONENT_USAGE_RGB                                      0x00000000
5576 #define    NV34TCL_RC_FINAL1_E_COMPONENT_USAGE_ALPHA                                    0x10000000
5577 #define   NV34TCL_RC_FINAL1_E_MAPPING_SHIFT                                             29
5578 #define   NV34TCL_RC_FINAL1_E_MAPPING_MASK                                              0xe0000000
5579 #define    NV34TCL_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY                                0x00000000
5580 #define    NV34TCL_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT                                  0x20000000
5581 #define    NV34TCL_RC_FINAL1_E_MAPPING_EXPAND_NORMAL                                    0x40000000
5582 #define    NV34TCL_RC_FINAL1_E_MAPPING_EXPAND_NEGATE                                    0x60000000
5583 #define    NV34TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL                                 0x80000000
5584 #define    NV34TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE                                 0xa0000000
5585 #define    NV34TCL_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY                                  0xc0000000
5586 #define    NV34TCL_RC_FINAL1_E_MAPPING_SIGNED_NEGATE                                    0xe0000000
5587 #define  NV34TCL_RC_ENABLE                                                              0x000008fc
5588 #define   NV34TCL_RC_ENABLE_NUM_COMBINERS_SHIFT                                         0
5589 #define   NV34TCL_RC_ENABLE_NUM_COMBINERS_MASK                                          0x0000000f
5590 #define   NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR0_SHIFT                                 12
5591 #define   NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR0_MASK                                  0x0000f000
5592 #define   NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR1_SHIFT                                 16
5593 #define   NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR1_MASK                                  0x000f0000
5594 #define  NV34TCL_RC_IN_ALPHA(x)                                                         (0x00000900+((x)*32))
5595 #define  NV34TCL_RC_IN_ALPHA__SIZE                                                      0x00000008
5596 #define   NV34TCL_RC_IN_ALPHA_D_INPUT_SHIFT                                             0
5597 #define   NV34TCL_RC_IN_ALPHA_D_INPUT_MASK                                              0x0000000f
5598 #define    NV34TCL_RC_IN_ALPHA_D_INPUT_ZERO                                             0x00000000
5599 #define    NV34TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0                                  0x00000001
5600 #define    NV34TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1                                  0x00000002
5601 #define    NV34TCL_RC_IN_ALPHA_D_INPUT_FOG                                              0x00000003
5602 #define    NV34TCL_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR                                    0x00000004
5603 #define    NV34TCL_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR                                  0x00000005
5604 #define    NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE0                                         0x00000008
5605 #define    NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE1                                         0x00000009
5606 #define    NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE0                                           0x0000000c
5607 #define    NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE1                                           0x0000000d
5608 #define    NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR                      0x0000000e
5609 #define    NV34TCL_RC_IN_ALPHA_D_INPUT_E_TIMES_F                                        0x0000000f
5610 #define    NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE2                                         0x0000000a
5611 #define    NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE3                                         0x0000000b
5612 #define   NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE                                         (1 <<  4)
5613 #define    NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE                                   0x00000000
5614 #define    NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA                                  0x00000010
5615 #define   NV34TCL_RC_IN_ALPHA_D_MAPPING_SHIFT                                           5
5616 #define   NV34TCL_RC_IN_ALPHA_D_MAPPING_MASK                                            0x000000e0
5617 #define    NV34TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY                              0x00000000
5618 #define    NV34TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT                                0x00000020
5619 #define    NV34TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL                                  0x00000040
5620 #define    NV34TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE                                  0x00000060
5621 #define    NV34TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL                               0x00000080
5622 #define    NV34TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE                               0x000000a0
5623 #define    NV34TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY                                0x000000c0
5624 #define    NV34TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE                                  0x000000e0
5625 #define   NV34TCL_RC_IN_ALPHA_C_INPUT_SHIFT                                             8
5626 #define   NV34TCL_RC_IN_ALPHA_C_INPUT_MASK                                              0x00000f00
5627 #define    NV34TCL_RC_IN_ALPHA_C_INPUT_ZERO                                             0x00000000
5628 #define    NV34TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0                                  0x00000100
5629 #define    NV34TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1                                  0x00000200
5630 #define    NV34TCL_RC_IN_ALPHA_C_INPUT_FOG                                              0x00000300
5631 #define    NV34TCL_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR                                    0x00000400
5632 #define    NV34TCL_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR                                  0x00000500
5633 #define    NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE0                                         0x00000800
5634 #define    NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE1                                         0x00000900
5635 #define    NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE0                                           0x00000c00
5636 #define    NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE1                                           0x00000d00
5637 #define    NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR                      0x00000e00
5638 #define    NV34TCL_RC_IN_ALPHA_C_INPUT_E_TIMES_F                                        0x00000f00
5639 #define    NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE2                                         0x00000a00
5640 #define    NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE3                                         0x00000b00
5641 #define   NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE                                         (1 << 12)
5642 #define    NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE                                   0x00000000
5643 #define    NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA                                  0x00001000
5644 #define   NV34TCL_RC_IN_ALPHA_C_MAPPING_SHIFT                                           13
5645 #define   NV34TCL_RC_IN_ALPHA_C_MAPPING_MASK                                            0x0000e000
5646 #define    NV34TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY                              0x00000000
5647 #define    NV34TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT                                0x00002000
5648 #define    NV34TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL                                  0x00004000
5649 #define    NV34TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE                                  0x00006000
5650 #define    NV34TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL                               0x00008000
5651 #define    NV34TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE                               0x0000a000
5652 #define    NV34TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY                                0x0000c000
5653 #define    NV34TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE                                  0x0000e000
5654 #define   NV34TCL_RC_IN_ALPHA_B_INPUT_SHIFT                                             16
5655 #define   NV34TCL_RC_IN_ALPHA_B_INPUT_MASK                                              0x000f0000
5656 #define    NV34TCL_RC_IN_ALPHA_B_INPUT_ZERO                                             0x00000000
5657 #define    NV34TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0                                  0x00010000
5658 #define    NV34TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1                                  0x00020000
5659 #define    NV34TCL_RC_IN_ALPHA_B_INPUT_FOG                                              0x00030000
5660 #define    NV34TCL_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR                                    0x00040000
5661 #define    NV34TCL_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR                                  0x00050000
5662 #define    NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE0                                         0x00080000
5663 #define    NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE1                                         0x00090000
5664 #define    NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE0                                           0x000c0000
5665 #define    NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE1                                           0x000d0000
5666 #define    NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR                      0x000e0000
5667 #define    NV34TCL_RC_IN_ALPHA_B_INPUT_E_TIMES_F                                        0x000f0000
5668 #define    NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE2                                         0x000a0000
5669 #define    NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE3                                         0x000b0000
5670 #define   NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE                                         (1 << 20)
5671 #define    NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE                                   0x00000000
5672 #define    NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA                                  0x00100000
5673 #define   NV34TCL_RC_IN_ALPHA_B_MAPPING_SHIFT                                           21
5674 #define   NV34TCL_RC_IN_ALPHA_B_MAPPING_MASK                                            0x00e00000
5675 #define    NV34TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY                              0x00000000
5676 #define    NV34TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT                                0x00200000
5677 #define    NV34TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL                                  0x00400000
5678 #define    NV34TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE                                  0x00600000
5679 #define    NV34TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL                               0x00800000
5680 #define    NV34TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE                               0x00a00000
5681 #define    NV34TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY                                0x00c00000
5682 #define    NV34TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE                                  0x00e00000
5683 #define   NV34TCL_RC_IN_ALPHA_A_INPUT_SHIFT                                             24
5684 #define   NV34TCL_RC_IN_ALPHA_A_INPUT_MASK                                              0x0f000000
5685 #define    NV34TCL_RC_IN_ALPHA_A_INPUT_ZERO                                             0x00000000
5686 #define    NV34TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0                                  0x01000000
5687 #define    NV34TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1                                  0x02000000
5688 #define    NV34TCL_RC_IN_ALPHA_A_INPUT_FOG                                              0x03000000
5689 #define    NV34TCL_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR                                    0x04000000
5690 #define    NV34TCL_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR                                  0x05000000
5691 #define    NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE0                                         0x08000000
5692 #define    NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE1                                         0x09000000
5693 #define    NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE0                                           0x0c000000
5694 #define    NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE1                                           0x0d000000
5695 #define    NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR                      0x0e000000
5696 #define    NV34TCL_RC_IN_ALPHA_A_INPUT_E_TIMES_F                                        0x0f000000
5697 #define    NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE2                                         0x0a000000
5698 #define    NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE3                                         0x0b000000
5699 #define   NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE                                         (1 << 28)
5700 #define    NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE                                   0x00000000
5701 #define    NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA                                  0x10000000
5702 #define   NV34TCL_RC_IN_ALPHA_A_MAPPING_SHIFT                                           29
5703 #define   NV34TCL_RC_IN_ALPHA_A_MAPPING_MASK                                            0xe0000000
5704 #define    NV34TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY                              0x00000000
5705 #define    NV34TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT                                0x20000000
5706 #define    NV34TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL                                  0x40000000
5707 #define    NV34TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE                                  0x60000000
5708 #define    NV34TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL                               0x80000000
5709 #define    NV34TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE                               0xa0000000
5710 #define    NV34TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY                                0xc0000000
5711 #define    NV34TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE                                  0xe0000000
5712 #define  NV34TCL_RC_IN_RGB(x)                                                           (0x00000904+((x)*32))
5713 #define  NV34TCL_RC_IN_RGB__SIZE                                                        0x00000008
5714 #define   NV34TCL_RC_IN_RGB_D_INPUT_SHIFT                                               0
5715 #define   NV34TCL_RC_IN_RGB_D_INPUT_MASK                                                0x0000000f
5716 #define    NV34TCL_RC_IN_RGB_D_INPUT_ZERO                                               0x00000000
5717 #define    NV34TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0                                    0x00000001
5718 #define    NV34TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1                                    0x00000002
5719 #define    NV34TCL_RC_IN_RGB_D_INPUT_FOG                                                0x00000003
5720 #define    NV34TCL_RC_IN_RGB_D_INPUT_PRIMARY_COLOR                                      0x00000004
5721 #define    NV34TCL_RC_IN_RGB_D_INPUT_SECONDARY_COLOR                                    0x00000005
5722 #define    NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE0                                           0x00000008
5723 #define    NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE1                                           0x00000009
5724 #define    NV34TCL_RC_IN_RGB_D_INPUT_SPARE0                                             0x0000000c
5725 #define    NV34TCL_RC_IN_RGB_D_INPUT_SPARE1                                             0x0000000d
5726 #define    NV34TCL_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0000000e
5727 #define    NV34TCL_RC_IN_RGB_D_INPUT_E_TIMES_F                                          0x0000000f
5728 #define    NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE2                                           0x0000000a
5729 #define    NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE3                                           0x0000000b
5730 #define   NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE                                           (1 <<  4)
5731 #define    NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE_RGB                                      0x00000000
5732 #define    NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA                                    0x00000010
5733 #define   NV34TCL_RC_IN_RGB_D_MAPPING_SHIFT                                             5
5734 #define   NV34TCL_RC_IN_RGB_D_MAPPING_MASK                                              0x000000e0
5735 #define    NV34TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY                                0x00000000
5736 #define    NV34TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT                                  0x00000020
5737 #define    NV34TCL_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL                                    0x00000040
5738 #define    NV34TCL_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE                                    0x00000060
5739 #define    NV34TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL                                 0x00000080
5740 #define    NV34TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE                                 0x000000a0
5741 #define    NV34TCL_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY                                  0x000000c0
5742 #define    NV34TCL_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE                                    0x000000e0
5743 #define   NV34TCL_RC_IN_RGB_C_INPUT_SHIFT                                               8
5744 #define   NV34TCL_RC_IN_RGB_C_INPUT_MASK                                                0x00000f00
5745 #define    NV34TCL_RC_IN_RGB_C_INPUT_ZERO                                               0x00000000
5746 #define    NV34TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0                                    0x00000100
5747 #define    NV34TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1                                    0x00000200
5748 #define    NV34TCL_RC_IN_RGB_C_INPUT_FOG                                                0x00000300
5749 #define    NV34TCL_RC_IN_RGB_C_INPUT_PRIMARY_COLOR                                      0x00000400
5750 #define    NV34TCL_RC_IN_RGB_C_INPUT_SECONDARY_COLOR                                    0x00000500
5751 #define    NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE0                                           0x00000800
5752 #define    NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE1                                           0x00000900
5753 #define    NV34TCL_RC_IN_RGB_C_INPUT_SPARE0                                             0x00000c00
5754 #define    NV34TCL_RC_IN_RGB_C_INPUT_SPARE1                                             0x00000d00
5755 #define    NV34TCL_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x00000e00
5756 #define    NV34TCL_RC_IN_RGB_C_INPUT_E_TIMES_F                                          0x00000f00
5757 #define    NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE2                                           0x00000a00
5758 #define    NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE3                                           0x00000b00
5759 #define   NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE                                           (1 << 12)
5760 #define    NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE_RGB                                      0x00000000
5761 #define    NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA                                    0x00001000
5762 #define   NV34TCL_RC_IN_RGB_C_MAPPING_SHIFT                                             13
5763 #define   NV34TCL_RC_IN_RGB_C_MAPPING_MASK                                              0x0000e000
5764 #define    NV34TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY                                0x00000000
5765 #define    NV34TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT                                  0x00002000
5766 #define    NV34TCL_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL                                    0x00004000
5767 #define    NV34TCL_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE                                    0x00006000
5768 #define    NV34TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL                                 0x00008000
5769 #define    NV34TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE                                 0x0000a000
5770 #define    NV34TCL_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY                                  0x0000c000
5771 #define    NV34TCL_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE                                    0x0000e000
5772 #define   NV34TCL_RC_IN_RGB_B_INPUT_SHIFT                                               16
5773 #define   NV34TCL_RC_IN_RGB_B_INPUT_MASK                                                0x000f0000
5774 #define    NV34TCL_RC_IN_RGB_B_INPUT_ZERO                                               0x00000000
5775 #define    NV34TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0                                    0x00010000
5776 #define    NV34TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1                                    0x00020000
5777 #define    NV34TCL_RC_IN_RGB_B_INPUT_FOG                                                0x00030000
5778 #define    NV34TCL_RC_IN_RGB_B_INPUT_PRIMARY_COLOR                                      0x00040000
5779 #define    NV34TCL_RC_IN_RGB_B_INPUT_SECONDARY_COLOR                                    0x00050000
5780 #define    NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE0                                           0x00080000
5781 #define    NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE1                                           0x00090000
5782 #define    NV34TCL_RC_IN_RGB_B_INPUT_SPARE0                                             0x000c0000
5783 #define    NV34TCL_RC_IN_RGB_B_INPUT_SPARE1                                             0x000d0000
5784 #define    NV34TCL_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x000e0000
5785 #define    NV34TCL_RC_IN_RGB_B_INPUT_E_TIMES_F                                          0x000f0000
5786 #define    NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE2                                           0x000a0000
5787 #define    NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE3                                           0x000b0000
5788 #define   NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE                                           (1 << 20)
5789 #define    NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE_RGB                                      0x00000000
5790 #define    NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA                                    0x00100000
5791 #define   NV34TCL_RC_IN_RGB_B_MAPPING_SHIFT                                             21
5792 #define   NV34TCL_RC_IN_RGB_B_MAPPING_MASK                                              0x00e00000
5793 #define    NV34TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY                                0x00000000
5794 #define    NV34TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT                                  0x00200000
5795 #define    NV34TCL_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL                                    0x00400000
5796 #define    NV34TCL_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE                                    0x00600000
5797 #define    NV34TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL                                 0x00800000
5798 #define    NV34TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE                                 0x00a00000
5799 #define    NV34TCL_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY                                  0x00c00000
5800 #define    NV34TCL_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE                                    0x00e00000
5801 #define   NV34TCL_RC_IN_RGB_A_INPUT_SHIFT                                               24
5802 #define   NV34TCL_RC_IN_RGB_A_INPUT_MASK                                                0x0f000000
5803 #define    NV34TCL_RC_IN_RGB_A_INPUT_ZERO                                               0x00000000
5804 #define    NV34TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0                                    0x01000000
5805 #define    NV34TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1                                    0x02000000
5806 #define    NV34TCL_RC_IN_RGB_A_INPUT_FOG                                                0x03000000
5807 #define    NV34TCL_RC_IN_RGB_A_INPUT_PRIMARY_COLOR                                      0x04000000
5808 #define    NV34TCL_RC_IN_RGB_A_INPUT_SECONDARY_COLOR                                    0x05000000
5809 #define    NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE0                                           0x08000000
5810 #define    NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE1                                           0x09000000
5811 #define    NV34TCL_RC_IN_RGB_A_INPUT_SPARE0                                             0x0c000000
5812 #define    NV34TCL_RC_IN_RGB_A_INPUT_SPARE1                                             0x0d000000
5813 #define    NV34TCL_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR                        0x0e000000
5814 #define    NV34TCL_RC_IN_RGB_A_INPUT_E_TIMES_F                                          0x0f000000
5815 #define    NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE2                                           0x0a000000
5816 #define    NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE3                                           0x0b000000
5817 #define   NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE                                           (1 << 28)
5818 #define    NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE_RGB                                      0x00000000
5819 #define    NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA                                    0x10000000
5820 #define   NV34TCL_RC_IN_RGB_A_MAPPING_SHIFT                                             29
5821 #define   NV34TCL_RC_IN_RGB_A_MAPPING_MASK                                              0xe0000000
5822 #define    NV34TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY                                0x00000000
5823 #define    NV34TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT                                  0x20000000
5824 #define    NV34TCL_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL                                    0x40000000
5825 #define    NV34TCL_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE                                    0x60000000
5826 #define    NV34TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL                                 0x80000000
5827 #define    NV34TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE                                 0xa0000000
5828 #define    NV34TCL_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY                                  0xc0000000
5829 #define    NV34TCL_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE                                    0xe0000000
5830 #define  NV34TCL_RC_CONSTANT_COLOR0(x)                                                  (0x00000908+((x)*32))
5831 #define  NV34TCL_RC_CONSTANT_COLOR0__SIZE                                               0x00000008
5832 #define   NV34TCL_RC_CONSTANT_COLOR0_B_SHIFT                                            0
5833 #define   NV34TCL_RC_CONSTANT_COLOR0_B_MASK                                             0x000000ff
5834 #define   NV34TCL_RC_CONSTANT_COLOR0_G_SHIFT                                            8
5835 #define   NV34TCL_RC_CONSTANT_COLOR0_G_MASK                                             0x0000ff00
5836 #define   NV34TCL_RC_CONSTANT_COLOR0_R_SHIFT                                            16
5837 #define   NV34TCL_RC_CONSTANT_COLOR0_R_MASK                                             0x00ff0000
5838 #define   NV34TCL_RC_CONSTANT_COLOR0_A_SHIFT                                            24
5839 #define   NV34TCL_RC_CONSTANT_COLOR0_A_MASK                                             0xff000000
5840 #define  NV34TCL_RC_CONSTANT_COLOR1(x)                                                  (0x0000090c+((x)*32))
5841 #define  NV34TCL_RC_CONSTANT_COLOR1__SIZE                                               0x00000008
5842 #define   NV34TCL_RC_CONSTANT_COLOR1_B_SHIFT                                            0
5843 #define   NV34TCL_RC_CONSTANT_COLOR1_B_MASK                                             0x000000ff
5844 #define   NV34TCL_RC_CONSTANT_COLOR1_G_SHIFT                                            8
5845 #define   NV34TCL_RC_CONSTANT_COLOR1_G_MASK                                             0x0000ff00
5846 #define   NV34TCL_RC_CONSTANT_COLOR1_R_SHIFT                                            16
5847 #define   NV34TCL_RC_CONSTANT_COLOR1_R_MASK                                             0x00ff0000
5848 #define   NV34TCL_RC_CONSTANT_COLOR1_A_SHIFT                                            24
5849 #define   NV34TCL_RC_CONSTANT_COLOR1_A_MASK                                             0xff000000
5850 #define  NV34TCL_RC_OUT_ALPHA(x)                                                        (0x00000910+((x)*32))
5851 #define  NV34TCL_RC_OUT_ALPHA__SIZE                                                     0x00000008
5852 #define   NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SHIFT                                          0
5853 #define   NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_MASK                                           0x0000000f
5854 #define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_ZERO                                          0x00000000
5855 #define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0                               0x00000001
5856 #define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1                               0x00000002
5857 #define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_FOG                                           0x00000003
5858 #define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR                                 0x00000004
5859 #define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR                               0x00000005
5860 #define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0                                      0x00000008
5861 #define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1                                      0x00000009
5862 #define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0                                        0x0000000c
5863 #define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE1                                        0x0000000d
5864 #define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                   0x0000000e
5865 #define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F                                     0x0000000f
5866 #define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2                                      0x0000000a
5867 #define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3                                      0x0000000b
5868 #define   NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SHIFT                                          4
5869 #define   NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_MASK                                           0x000000f0
5870 #define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_ZERO                                          0x00000000
5871 #define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0                               0x00000010
5872 #define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1                               0x00000020
5873 #define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_FOG                                           0x00000030
5874 #define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR                                 0x00000040
5875 #define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR                               0x00000050
5876 #define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0                                      0x00000080
5877 #define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1                                      0x00000090
5878 #define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0                                        0x000000c0
5879 #define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE1                                        0x000000d0
5880 #define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                   0x000000e0
5881 #define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F                                     0x000000f0
5882 #define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2                                      0x000000a0
5883 #define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3                                      0x000000b0
5884 #define   NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT                                         8
5885 #define   NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_MASK                                          0x00000f00
5886 #define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_ZERO                                         0x00000000
5887 #define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0                              0x00000100
5888 #define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1                              0x00000200
5889 #define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_FOG                                          0x00000300
5890 #define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR                                0x00000400
5891 #define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR                              0x00000500
5892 #define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0                                     0x00000800
5893 #define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1                                     0x00000900
5894 #define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0                                       0x00000c00
5895 #define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1                                       0x00000d00
5896 #define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                  0x00000e00
5897 #define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F                                    0x00000f00
5898 #define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2                                     0x00000a00
5899 #define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3                                     0x00000b00
5900 #define   NV34TCL_RC_OUT_ALPHA_CD_DOT_PRODUCT                                           (1 << 12)
5901 #define   NV34TCL_RC_OUT_ALPHA_AB_DOT_PRODUCT                                           (1 << 13)
5902 #define   NV34TCL_RC_OUT_ALPHA_MUX_SUM                                                  (1 << 14)
5903 #define   NV34TCL_RC_OUT_ALPHA_BIAS                                                     (1 << 15)
5904 #define    NV34TCL_RC_OUT_ALPHA_BIAS_NONE                                               0x00000000
5905 #define    NV34TCL_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF                          0x00008000
5906 #define   NV34TCL_RC_OUT_ALPHA_SCALE_SHIFT                                              17
5907 #define   NV34TCL_RC_OUT_ALPHA_SCALE_MASK                                               0x00000000
5908 #define    NV34TCL_RC_OUT_ALPHA_SCALE_NONE                                              0x00000000
5909 #define    NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO                                      0x00020000
5910 #define    NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR                                     0x00040000
5911 #define    NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF                                 0x00060000
5912 #define  NV34TCL_RC_OUT_RGB(x)                                                          (0x00000914+((x)*32))
5913 #define  NV34TCL_RC_OUT_RGB__SIZE                                                       0x00000008
5914 #define   NV34TCL_RC_OUT_RGB_CD_OUTPUT_SHIFT                                            0
5915 #define   NV34TCL_RC_OUT_RGB_CD_OUTPUT_MASK                                             0x0000000f
5916 #define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_ZERO                                            0x00000000
5917 #define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0                                 0x00000001
5918 #define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1                                 0x00000002
5919 #define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_FOG                                             0x00000003
5920 #define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR                                   0x00000004
5921 #define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR                                 0x00000005
5922 #define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE0                                        0x00000008
5923 #define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE1                                        0x00000009
5924 #define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0                                          0x0000000c
5925 #define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE1                                          0x0000000d
5926 #define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                     0x0000000e
5927 #define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F                                       0x0000000f
5928 #define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE2                                        0x0000000a
5929 #define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE3                                        0x0000000b
5930 #define   NV34TCL_RC_OUT_RGB_AB_OUTPUT_SHIFT                                            4
5931 #define   NV34TCL_RC_OUT_RGB_AB_OUTPUT_MASK                                             0x000000f0
5932 #define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_ZERO                                            0x00000000
5933 #define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0                                 0x00000010
5934 #define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1                                 0x00000020
5935 #define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_FOG                                             0x00000030
5936 #define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR                                   0x00000040
5937 #define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR                                 0x00000050
5938 #define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE0                                        0x00000080
5939 #define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE1                                        0x00000090
5940 #define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0                                          0x000000c0
5941 #define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE1                                          0x000000d0
5942 #define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                     0x000000e0
5943 #define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F                                       0x000000f0
5944 #define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE2                                        0x000000a0
5945 #define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE3                                        0x000000b0
5946 #define   NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SHIFT                                           8
5947 #define   NV34TCL_RC_OUT_RGB_SUM_OUTPUT_MASK                                            0x00000f00
5948 #define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_ZERO                                           0x00000000
5949 #define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0                                0x00000100
5950 #define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1                                0x00000200
5951 #define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_FOG                                            0x00000300
5952 #define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR                                  0x00000400
5953 #define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR                                0x00000500
5954 #define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0                                       0x00000800
5955 #define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1                                       0x00000900
5956 #define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0                                         0x00000c00
5957 #define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE1                                         0x00000d00
5958 #define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR                    0x00000e00
5959 #define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F                                      0x00000f00
5960 #define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2                                       0x00000a00
5961 #define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3                                       0x00000b00
5962 #define   NV34TCL_RC_OUT_RGB_CD_DOT_PRODUCT                                             (1 << 12)
5963 #define   NV34TCL_RC_OUT_RGB_AB_DOT_PRODUCT                                             (1 << 13)
5964 #define   NV34TCL_RC_OUT_RGB_MUX_SUM                                                    (1 << 14)
5965 #define   NV34TCL_RC_OUT_RGB_BIAS                                                       (1 << 15)
5966 #define    NV34TCL_RC_OUT_RGB_BIAS_NONE                                                 0x00000000
5967 #define    NV34TCL_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF                            0x00008000
5968 #define   NV34TCL_RC_OUT_RGB_SCALE_SHIFT                                                17
5969 #define   NV34TCL_RC_OUT_RGB_SCALE_MASK                                                 0x00000000
5970 #define    NV34TCL_RC_OUT_RGB_SCALE_NONE                                                0x00000000
5971 #define    NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_TWO                                        0x00020000
5972 #define    NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_FOUR                                       0x00040000
5973 #define    NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF                                   0x00060000
5974 #define  NV34TCL_VIEWPORT_HORIZ                                                         0x00000a00
5975 #define   NV34TCL_VIEWPORT_HORIZ_X_SHIFT                                                0
5976 #define   NV34TCL_VIEWPORT_HORIZ_X_MASK                                                 0x0000ffff
5977 #define   NV34TCL_VIEWPORT_HORIZ_W_SHIFT                                                16
5978 #define   NV34TCL_VIEWPORT_HORIZ_W_MASK                                                 0xffff0000
5979 #define  NV34TCL_VIEWPORT_VERT                                                          0x00000a04
5980 #define   NV34TCL_VIEWPORT_VERT_Y_SHIFT                                                 0
5981 #define   NV34TCL_VIEWPORT_VERT_Y_MASK                                                  0x0000ffff
5982 #define   NV34TCL_VIEWPORT_VERT_H_SHIFT                                                 16
5983 #define   NV34TCL_VIEWPORT_VERT_H_MASK                                                  0xffff0000
5984 #define  NV34TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R                 0x00000a10
5985 #define  NV34TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G                 0x00000a14
5986 #define  NV34TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B                 0x00000a18
5987 #define  NV34TCL_VIEWPORT_TRANSLATE_X                                                   0x00000a20
5988 #define  NV34TCL_VIEWPORT_TRANSLATE_Y                                                   0x00000a24
5989 #define  NV34TCL_VIEWPORT_TRANSLATE_Z                                                   0x00000a28
5990 #define  NV34TCL_VIEWPORT_TRANSLATE_W                                                   0x00000a2c
5991 #define  NV34TCL_VIEWPORT_SCALE_X                                                       0x00000a30
5992 #define  NV34TCL_VIEWPORT_SCALE_Y                                                       0x00000a34
5993 #define  NV34TCL_VIEWPORT_SCALE_Z                                                       0x00000a38
5994 #define  NV34TCL_VIEWPORT_SCALE_W                                                       0x00000a3c
5995 #define  NV34TCL_POLYGON_OFFSET_POINT_ENABLE                                            0x00000a60
5996 #define  NV34TCL_POLYGON_OFFSET_LINE_ENABLE                                             0x00000a64
5997 #define  NV34TCL_POLYGON_OFFSET_FILL_ENABLE                                             0x00000a68
5998 #define  NV34TCL_DEPTH_FUNC                                                             0x00000a6c
5999 #define   NV34TCL_DEPTH_FUNC_NEVER                                                      0x00000200
6000 #define   NV34TCL_DEPTH_FUNC_LESS                                                       0x00000201
6001 #define   NV34TCL_DEPTH_FUNC_EQUAL                                                      0x00000202
6002 #define   NV34TCL_DEPTH_FUNC_LEQUAL                                                     0x00000203
6003 #define   NV34TCL_DEPTH_FUNC_GREATER                                                    0x00000204
6004 #define   NV34TCL_DEPTH_FUNC_NOTEQUAL                                                   0x00000205
6005 #define   NV34TCL_DEPTH_FUNC_GEQUAL                                                     0x00000206
6006 #define   NV34TCL_DEPTH_FUNC_ALWAYS                                                     0x00000207
6007 #define  NV34TCL_DEPTH_WRITE_ENABLE                                                     0x00000a70
6008 #define  NV34TCL_DEPTH_TEST_ENABLE                                                      0x00000a74
6009 #define  NV34TCL_POLYGON_OFFSET_FACTOR                                                  0x00000a78
6010 #define  NV34TCL_POLYGON_OFFSET_UNITS                                                   0x00000a7c
6011 #define  NV34TCL_VTX_ATTR_3I_XY(x)                                                      (0x00000a80+((x)*8))
6012 #define  NV34TCL_VTX_ATTR_3I_XY__SIZE                                                   0x00000010
6013 #define   NV34TCL_VTX_ATTR_3I_XY_X_SHIFT                                                0
6014 #define   NV34TCL_VTX_ATTR_3I_XY_X_MASK                                                 0x0000ffff
6015 #define   NV34TCL_VTX_ATTR_3I_XY_Y_SHIFT                                                16
6016 #define   NV34TCL_VTX_ATTR_3I_XY_Y_MASK                                                 0xffff0000
6017 #define  NV34TCL_VTX_ATTR_3I_Z(x)                                                       (0x00000a84+((x)*8))
6018 #define  NV34TCL_VTX_ATTR_3I_Z__SIZE                                                    0x00000010
6019 #define   NV34TCL_VTX_ATTR_3I_Z_Z_SHIFT                                                 0
6020 #define   NV34TCL_VTX_ATTR_3I_Z_Z_MASK                                                  0x0000ffff
6021 #define  NV34TCL_VP_UPLOAD_INST(x)                                                      (0x00000b80+((x)*4))
6022 #define  NV34TCL_VP_UPLOAD_INST__SIZE                                                   0x00000004
6023 #define  NV34TCL_TX0_CLIP_PLANE_A(x)                                                    (0x00000e00+((x)*16))
6024 #define  NV34TCL_TX0_CLIP_PLANE_A__SIZE                                                 0x00000004
6025 #define  NV34TCL_TX0_CLIP_PLANE_B(x)                                                    (0x00000e04+((x)*16))
6026 #define  NV34TCL_TX0_CLIP_PLANE_B__SIZE                                                 0x00000004
6027 #define  NV34TCL_TX0_CLIP_PLANE_C(x)                                                    (0x00000e08+((x)*16))
6028 #define  NV34TCL_TX0_CLIP_PLANE_C__SIZE                                                 0x00000004
6029 #define  NV34TCL_TX0_CLIP_PLANE_D(x)                                                    (0x00000e0c+((x)*16))
6030 #define  NV34TCL_TX0_CLIP_PLANE_D__SIZE                                                 0x00000004
6031 #define  NV34TCL_TX1_CLIP_PLANE_A(x)                                                    (0x00000e40+((x)*16))
6032 #define  NV34TCL_TX1_CLIP_PLANE_A__SIZE                                                 0x00000004
6033 #define  NV34TCL_TX1_CLIP_PLANE_B(x)                                                    (0x00000e44+((x)*16))
6034 #define  NV34TCL_TX1_CLIP_PLANE_B__SIZE                                                 0x00000004
6035 #define  NV34TCL_TX1_CLIP_PLANE_C(x)                                                    (0x00000e48+((x)*16))
6036 #define  NV34TCL_TX1_CLIP_PLANE_C__SIZE                                                 0x00000004
6037 #define  NV34TCL_TX1_CLIP_PLANE_D(x)                                                    (0x00000e4c+((x)*16))
6038 #define  NV34TCL_TX1_CLIP_PLANE_D__SIZE                                                 0x00000004
6039 #define  NV34TCL_TX2_CLIP_PLANE_A(x)                                                    (0x00000e80+((x)*16))
6040 #define  NV34TCL_TX2_CLIP_PLANE_A__SIZE                                                 0x00000004
6041 #define  NV34TCL_TX2_CLIP_PLANE_B(x)                                                    (0x00000e84+((x)*16))
6042 #define  NV34TCL_TX2_CLIP_PLANE_B__SIZE                                                 0x00000004
6043 #define  NV34TCL_TX2_CLIP_PLANE_C(x)                                                    (0x00000e88+((x)*16))
6044 #define  NV34TCL_TX2_CLIP_PLANE_C__SIZE                                                 0x00000004
6045 #define  NV34TCL_TX2_CLIP_PLANE_D(x)                                                    (0x00000e8c+((x)*16))
6046 #define  NV34TCL_TX2_CLIP_PLANE_D__SIZE                                                 0x00000004
6047 #define  NV34TCL_TX3_CLIP_PLANE_A(x)                                                    (0x00000ec0+((x)*16))
6048 #define  NV34TCL_TX3_CLIP_PLANE_A__SIZE                                                 0x00000004
6049 #define  NV34TCL_TX3_CLIP_PLANE_B(x)                                                    (0x00000ec4+((x)*16))
6050 #define  NV34TCL_TX3_CLIP_PLANE_B__SIZE                                                 0x00000004
6051 #define  NV34TCL_TX3_CLIP_PLANE_C(x)                                                    (0x00000ec8+((x)*16))
6052 #define  NV34TCL_TX3_CLIP_PLANE_C__SIZE                                                 0x00000004
6053 #define  NV34TCL_TX3_CLIP_PLANE_D(x)                                                    (0x00000ecc+((x)*16))
6054 #define  NV34TCL_TX3_CLIP_PLANE_D__SIZE                                                 0x00000004
6055 #define  NV34TCL_TX4_CLIP_PLANE_A(x)                                                    (0x00000f00+((x)*16))
6056 #define  NV34TCL_TX4_CLIP_PLANE_A__SIZE                                                 0x00000004
6057 #define  NV34TCL_TX4_CLIP_PLANE_B(x)                                                    (0x00000f04+((x)*16))
6058 #define  NV34TCL_TX4_CLIP_PLANE_B__SIZE                                                 0x00000004
6059 #define  NV34TCL_TX4_CLIP_PLANE_C(x)                                                    (0x00000f08+((x)*16))
6060 #define  NV34TCL_TX4_CLIP_PLANE_C__SIZE                                                 0x00000004
6061 #define  NV34TCL_TX4_CLIP_PLANE_D(x)                                                    (0x00000f0c+((x)*16))
6062 #define  NV34TCL_TX4_CLIP_PLANE_D__SIZE                                                 0x00000004
6063 #define  NV34TCL_TX5_CLIP_PLANE_A(x)                                                    (0x00000f40+((x)*16))
6064 #define  NV34TCL_TX5_CLIP_PLANE_A__SIZE                                                 0x00000004
6065 #define  NV34TCL_TX5_CLIP_PLANE_B(x)                                                    (0x00000f44+((x)*16))
6066 #define  NV34TCL_TX5_CLIP_PLANE_B__SIZE                                                 0x00000004
6067 #define  NV34TCL_TX5_CLIP_PLANE_C(x)                                                    (0x00000f48+((x)*16))
6068 #define  NV34TCL_TX5_CLIP_PLANE_C__SIZE                                                 0x00000004
6069 #define  NV34TCL_TX5_CLIP_PLANE_D(x)                                                    (0x00000f4c+((x)*16))
6070 #define  NV34TCL_TX5_CLIP_PLANE_D__SIZE                                                 0x00000004
6071 #define  NV34TCL_TX6_CLIP_PLANE_A(x)                                                    (0x00000f80+((x)*16))
6072 #define  NV34TCL_TX6_CLIP_PLANE_A__SIZE                                                 0x00000004
6073 #define  NV34TCL_TX6_CLIP_PLANE_B(x)                                                    (0x00000f84+((x)*16))
6074 #define  NV34TCL_TX6_CLIP_PLANE_B__SIZE                                                 0x00000004
6075 #define  NV34TCL_TX6_CLIP_PLANE_C(x)                                                    (0x00000f88+((x)*16))
6076 #define  NV34TCL_TX6_CLIP_PLANE_C__SIZE                                                 0x00000004
6077 #define  NV34TCL_TX6_CLIP_PLANE_D(x)                                                    (0x00000f8c+((x)*16))
6078 #define  NV34TCL_TX6_CLIP_PLANE_D__SIZE                                                 0x00000004
6079 #define  NV34TCL_TX7_CLIP_PLANE_A(x)                                                    (0x00000fc0+((x)*16))
6080 #define  NV34TCL_TX7_CLIP_PLANE_A__SIZE                                                 0x00000004
6081 #define  NV34TCL_TX7_CLIP_PLANE_B(x)                                                    (0x00000fc4+((x)*16))
6082 #define  NV34TCL_TX7_CLIP_PLANE_B__SIZE                                                 0x00000004
6083 #define  NV34TCL_TX7_CLIP_PLANE_C(x)                                                    (0x00000fc8+((x)*16))
6084 #define  NV34TCL_TX7_CLIP_PLANE_C__SIZE                                                 0x00000004
6085 #define  NV34TCL_TX7_CLIP_PLANE_D(x)                                                    (0x00000fcc+((x)*16))
6086 #define  NV34TCL_TX7_CLIP_PLANE_D__SIZE                                                 0x00000004
6087 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(x)                                  (0x00001000+((x)*64))
6088 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R__SIZE                               0x00000008
6089 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(x)                                  (0x00001004+((x)*64))
6090 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G__SIZE                               0x00000008
6091 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(x)                                  (0x00001008+((x)*64))
6092 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B__SIZE                               0x00000008
6093 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(x)                                  (0x0000100c+((x)*64))
6094 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R__SIZE                               0x00000008
6095 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(x)                                  (0x00001010+((x)*64))
6096 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G__SIZE                               0x00000008
6097 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(x)                                  (0x00001014+((x)*64))
6098 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B__SIZE                               0x00000008
6099 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(x)                                 (0x00001018+((x)*64))
6100 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R__SIZE                              0x00000008
6101 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(x)                                 (0x0000101c+((x)*64))
6102 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G__SIZE                              0x00000008
6103 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(x)                                 (0x00001020+((x)*64))
6104 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B__SIZE                              0x00000008
6105 #define  NV34TCL_LIGHT_HALF_VECTOR_X(x)                                                 (0x00001028+((x)*64))
6106 #define  NV34TCL_LIGHT_HALF_VECTOR_X__SIZE                                              0x00000008
6107 #define  NV34TCL_LIGHT_HALF_VECTOR_Y(x)                                                 (0x0000102c+((x)*64))
6108 #define  NV34TCL_LIGHT_HALF_VECTOR_Y__SIZE                                              0x00000008
6109 #define  NV34TCL_LIGHT_HALF_VECTOR_Z(x)                                                 (0x00001030+((x)*64))
6110 #define  NV34TCL_LIGHT_HALF_VECTOR_Z__SIZE                                              0x00000008
6111 #define  NV34TCL_LIGHT_DIRECTION_X(x)                                                   (0x00001034+((x)*64))
6112 #define  NV34TCL_LIGHT_DIRECTION_X__SIZE                                                0x00000008
6113 #define  NV34TCL_LIGHT_DIRECTION_Y(x)                                                   (0x00001038+((x)*64))
6114 #define  NV34TCL_LIGHT_DIRECTION_Y__SIZE                                                0x00000008
6115 #define  NV34TCL_LIGHT_DIRECTION_Z(x)                                                   (0x0000103c+((x)*64))
6116 #define  NV34TCL_LIGHT_DIRECTION_Z__SIZE                                                0x00000008
6117 #define  NV34TCL_LIGHT_SPOT_CUTOFF_A(x)                                                 (0x00001200+((x)*64))
6118 #define  NV34TCL_LIGHT_SPOT_CUTOFF_A__SIZE                                              0x00000008
6119 #define  NV34TCL_LIGHT_SPOT_CUTOFF_B(x)                                                 (0x00001204+((x)*64))
6120 #define  NV34TCL_LIGHT_SPOT_CUTOFF_B__SIZE                                              0x00000008
6121 #define  NV34TCL_LIGHT_SPOT_CUTOFF_C(x)                                                 (0x00001208+((x)*64))
6122 #define  NV34TCL_LIGHT_SPOT_CUTOFF_C__SIZE                                              0x00000008
6123 #define  NV34TCL_LIGHT_SPOT_DIR_X(x)                                                    (0x0000120c+((x)*64))
6124 #define  NV34TCL_LIGHT_SPOT_DIR_X__SIZE                                                 0x00000008
6125 #define  NV34TCL_LIGHT_SPOT_DIR_Y(x)                                                    (0x00001210+((x)*64))
6126 #define  NV34TCL_LIGHT_SPOT_DIR_Y__SIZE                                                 0x00000008
6127 #define  NV34TCL_LIGHT_SPOT_DIR_Z(x)                                                    (0x00001214+((x)*64))
6128 #define  NV34TCL_LIGHT_SPOT_DIR_Z__SIZE                                                 0x00000008
6129 #define  NV34TCL_LIGHT_SPOT_CUTOFF_D(x)                                                 (0x00001218+((x)*64))
6130 #define  NV34TCL_LIGHT_SPOT_CUTOFF_D__SIZE                                              0x00000008
6131 #define  NV34TCL_LIGHT_POSITION_X(x)                                                    (0x0000121c+((x)*64))
6132 #define  NV34TCL_LIGHT_POSITION_X__SIZE                                                 0x00000008
6133 #define  NV34TCL_LIGHT_POSITION_Y(x)                                                    (0x00001220+((x)*64))
6134 #define  NV34TCL_LIGHT_POSITION_Y__SIZE                                                 0x00000008
6135 #define  NV34TCL_LIGHT_POSITION_Z(x)                                                    (0x00001224+((x)*64))
6136 #define  NV34TCL_LIGHT_POSITION_Z__SIZE                                                 0x00000008
6137 #define  NV34TCL_LIGHT_ATTENUATION_CONSTANT(x)                                          (0x00001228+((x)*64))
6138 #define  NV34TCL_LIGHT_ATTENUATION_CONSTANT__SIZE                                       0x00000008
6139 #define  NV34TCL_LIGHT_ATTENUATION_LINEAR(x)                                            (0x0000122c+((x)*64))
6140 #define  NV34TCL_LIGHT_ATTENUATION_LINEAR__SIZE                                         0x00000008
6141 #define  NV34TCL_LIGHT_ATTENUATION_QUADRATIC(x)                                         (0x00001230+((x)*64))
6142 #define  NV34TCL_LIGHT_ATTENUATION_QUADRATIC__SIZE                                      0x00000008
6143 #define  NV34TCL_FRONT_MATERIAL_SHININESS(x)                                            (0x00001400+((x)*4))
6144 #define  NV34TCL_FRONT_MATERIAL_SHININESS__SIZE                                         0x00000006
6145 #define  NV34TCL_ENABLED_LIGHTS                                                         0x00001420
6146 #define  NV34TCL_VERTEX_TWO_SIDE_ENABLE                                                 0x0000142c
6147 #define  NV34TCL_FP_REG_CONTROL                                                         0x00001450
6148 #define   NV34TCL_FP_REG_CONTROL_UNK1_SHIFT                                             16
6149 #define   NV34TCL_FP_REG_CONTROL_UNK1_MASK                                              0xffff0000
6150 #define   NV34TCL_FP_REG_CONTROL_UNK0_SHIFT                                             0
6151 #define   NV34TCL_FP_REG_CONTROL_UNK0_MASK                                              0x0000ffff
6152 #define  NV34TCL_VP_CLIP_PLANES_ENABLE                                                  0x00001478
6153 #define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE0                                          (1 <<  1)
6154 #define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE1                                          (1 <<  5)
6155 #define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE2                                          (1 <<  9)
6156 #define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE3                                          (1 << 13)
6157 #define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE4                                          (1 << 17)
6158 #define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE5                                          (1 << 21)
6159 #define  NV34TCL_POLYGON_STIPPLE_ENABLE                                                 0x0000147c
6160 #define  NV34TCL_POLYGON_STIPPLE_PATTERN(x)                                             (0x00001480+((x)*4))
6161 #define  NV34TCL_POLYGON_STIPPLE_PATTERN__SIZE                                          0x00000020
6162 #define  NV34TCL_VTX_ATTR_3F_X(x)                                                       (0x00001500+((x)*16))
6163 #define  NV34TCL_VTX_ATTR_3F_X__SIZE                                                    0x00000010
6164 #define  NV34TCL_VTX_ATTR_3F_Y(x)                                                       (0x00001504+((x)*16))
6165 #define  NV34TCL_VTX_ATTR_3F_Y__SIZE                                                    0x00000010
6166 #define  NV34TCL_VTX_ATTR_3F_Z(x)                                                       (0x00001508+((x)*16))
6167 #define  NV34TCL_VTX_ATTR_3F_Z__SIZE                                                    0x00000010
6168 #define  NV34TCL_VP_CLIP_PLANE_A(x)                                                     (0x00001600+((x)*16))
6169 #define  NV34TCL_VP_CLIP_PLANE_A__SIZE                                                  0x00000006
6170 #define  NV34TCL_VP_CLIP_PLANE_B(x)                                                     (0x00001604+((x)*16))
6171 #define  NV34TCL_VP_CLIP_PLANE_B__SIZE                                                  0x00000006
6172 #define  NV34TCL_VP_CLIP_PLANE_C(x)                                                     (0x00001608+((x)*16))
6173 #define  NV34TCL_VP_CLIP_PLANE_C__SIZE                                                  0x00000006
6174 #define  NV34TCL_VP_CLIP_PLANE_D(x)                                                     (0x0000160c+((x)*16))
6175 #define  NV34TCL_VP_CLIP_PLANE_D__SIZE                                                  0x00000006
6176 #define  NV34TCL_VTXBUF_ADDRESS(x)                                                      (0x00001680+((x)*4))
6177 #define  NV34TCL_VTXBUF_ADDRESS__SIZE                                                   0x00000010
6178 #define   NV34TCL_VTXBUF_ADDRESS_DMA1                                                   (1 << 31)
6179 #define   NV34TCL_VTXBUF_ADDRESS_OFFSET_SHIFT                                           0
6180 #define   NV34TCL_VTXBUF_ADDRESS_OFFSET_MASK                                            0x0fffffff
6181 #define  NV34TCL_VTXFMT(x)                                                              (0x00001740+((x)*4))
6182 #define  NV34TCL_VTXFMT__SIZE                                                           0x00000010
6183 #define   NV34TCL_VTXFMT_TYPE_SHIFT                                                     0
6184 #define   NV34TCL_VTXFMT_TYPE_MASK                                                      0x0000000f
6185 #define    NV34TCL_VTXFMT_TYPE_FLOAT                                                    0x00000002
6186 #define    NV34TCL_VTXFMT_TYPE_UBYTE                                                    0x00000004
6187 #define    NV34TCL_VTXFMT_TYPE_USHORT                                                   0x00000005
6188 #define   NV34TCL_VTXFMT_SIZE_SHIFT                                                     4
6189 #define   NV34TCL_VTXFMT_SIZE_MASK                                                      0x000000f0
6190 #define   NV34TCL_VTXFMT_STRIDE_SHIFT                                                   8
6191 #define   NV34TCL_VTXFMT_STRIDE_MASK                                                    0x0000ff00
6192 #define  NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R                  0x000017a0
6193 #define  NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G                  0x000017a4
6194 #define  NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B                  0x000017a8
6195 #define  NV34TCL_COLOR_MATERIAL_BACK_R                                                  0x000017b0
6196 #define  NV34TCL_COLOR_MATERIAL_BACK_G                                                  0x000017b4
6197 #define  NV34TCL_COLOR_MATERIAL_BACK_B                                                  0x000017b8
6198 #define  NV34TCL_COLOR_MATERIAL_BACK_A                                                  0x000017c0
6199 #define  NV34TCL_QUERY_RESET                                                            0x000017c8
6200 #define  NV34TCL_QUERY_UNK17CC                                                          0x000017cc
6201 #define  NV34TCL_QUERY_GET                                                              0x00001800
6202 #define   NV34TCL_QUERY_GET_UNK24_SHIFT                                                 24
6203 #define   NV34TCL_QUERY_GET_UNK24_MASK                                                  0xff000000
6204 #define   NV34TCL_QUERY_GET_OFFSET_SHIFT                                                0
6205 #define   NV34TCL_QUERY_GET_OFFSET_MASK                                                 0x00ffffff
6206 #define  NV34TCL_VERTEX_BEGIN_END                                                       0x00001808
6207 #define   NV34TCL_VERTEX_BEGIN_END_STOP                                                 0x00000000
6208 #define   NV34TCL_VERTEX_BEGIN_END_POINTS                                               0x00000001
6209 #define   NV34TCL_VERTEX_BEGIN_END_LINES                                                0x00000002
6210 #define   NV34TCL_VERTEX_BEGIN_END_LINE_LOOP                                            0x00000003
6211 #define   NV34TCL_VERTEX_BEGIN_END_LINE_STRIP                                           0x00000004
6212 #define   NV34TCL_VERTEX_BEGIN_END_TRIANGLES                                            0x00000005
6213 #define   NV34TCL_VERTEX_BEGIN_END_TRIANGLE_STRIP                                       0x00000006
6214 #define   NV34TCL_VERTEX_BEGIN_END_TRIANGLE_FAN                                         0x00000007
6215 #define   NV34TCL_VERTEX_BEGIN_END_QUADS                                                0x00000008
6216 #define   NV34TCL_VERTEX_BEGIN_END_QUAD_STRIP                                           0x00000009
6217 #define   NV34TCL_VERTEX_BEGIN_END_POLYGON                                              0x0000000a
6218 #define  NV34TCL_VB_ELEMENT_U16                                                         0x0000180c
6219 #define   NV34TCL_VB_ELEMENT_U16_I0_SHIFT                                               0
6220 #define   NV34TCL_VB_ELEMENT_U16_I0_MASK                                                0x0000ffff
6221 #define   NV34TCL_VB_ELEMENT_U16_I1_SHIFT                                               16
6222 #define   NV34TCL_VB_ELEMENT_U16_I1_MASK                                                0xffff0000
6223 #define  NV34TCL_VB_ELEMENT_U32                                                         0x00001810
6224 #define  NV34TCL_VB_VERTEX_BATCH                                                        0x00001814
6225 #define   NV34TCL_VB_VERTEX_BATCH_OFFSET_SHIFT                                          0
6226 #define   NV34TCL_VB_VERTEX_BATCH_OFFSET_MASK                                           0x00ffffff
6227 #define   NV34TCL_VB_VERTEX_BATCH_COUNT_SHIFT                                           24
6228 #define   NV34TCL_VB_VERTEX_BATCH_COUNT_MASK                                            0xff000000
6229 #define  NV34TCL_VERTEX_DATA                                                            0x00001818
6230 #define  NV34TCL_IDXBUF_ADDRESS                                                         0x0000181c
6231 #define  NV34TCL_IDXBUF_FORMAT                                                          0x00001820
6232 #define   NV34TCL_IDXBUF_FORMAT_TYPE_SHIFT                                              4
6233 #define   NV34TCL_IDXBUF_FORMAT_TYPE_MASK                                               0x000000f0
6234 #define    NV34TCL_IDXBUF_FORMAT_TYPE_U32                                               0x00000000
6235 #define    NV34TCL_IDXBUF_FORMAT_TYPE_U16                                               0x00000010
6236 #define   NV34TCL_IDXBUF_FORMAT_DMA1                                                    (1 <<  0)
6237 #define  NV34TCL_VB_INDEX_BATCH                                                         0x00001824
6238 #define   NV34TCL_VB_INDEX_BATCH_COUNT_SHIFT                                            24
6239 #define   NV34TCL_VB_INDEX_BATCH_COUNT_MASK                                             0xff000000
6240 #define   NV34TCL_VB_INDEX_BATCH_START_SHIFT                                            0
6241 #define   NV34TCL_VB_INDEX_BATCH_START_MASK                                             0x00ffffff
6242 #define  NV34TCL_POLYGON_MODE_FRONT                                                     0x00001828
6243 #define   NV34TCL_POLYGON_MODE_FRONT_POINT                                              0x00001b00
6244 #define   NV34TCL_POLYGON_MODE_FRONT_LINE                                               0x00001b01
6245 #define   NV34TCL_POLYGON_MODE_FRONT_FILL                                               0x00001b02
6246 #define  NV34TCL_POLYGON_MODE_BACK                                                      0x0000182c
6247 #define   NV34TCL_POLYGON_MODE_BACK_POINT                                               0x00001b00
6248 #define   NV34TCL_POLYGON_MODE_BACK_LINE                                                0x00001b01
6249 #define   NV34TCL_POLYGON_MODE_BACK_FILL                                                0x00001b02
6250 #define  NV34TCL_CULL_FACE                                                              0x00001830
6251 #define   NV34TCL_CULL_FACE_FRONT                                                       0x00000404
6252 #define   NV34TCL_CULL_FACE_BACK                                                        0x00000405
6253 #define   NV34TCL_CULL_FACE_FRONT_AND_BACK                                              0x00000408
6254 #define  NV34TCL_FRONT_FACE                                                             0x00001834
6255 #define   NV34TCL_FRONT_FACE_CW                                                         0x00000900
6256 #define   NV34TCL_FRONT_FACE_CCW                                                        0x00000901
6257 #define  NV34TCL_POLYGON_SMOOTH_ENABLE                                                  0x00001838
6258 #define  NV34TCL_CULL_FACE_ENABLE                                                       0x0000183c
6259 #define  NV34TCL_TX_PALETTE_OFFSET(x)                                                   (0x00001840+((x)*4))
6260 #define  NV34TCL_TX_PALETTE_OFFSET__SIZE                                                0x00000008
6261 #define  NV34TCL_VTX_ATTR_2F_X(x)                                                       (0x00001880+((x)*8))
6262 #define  NV34TCL_VTX_ATTR_2F_X__SIZE                                                    0x00000010
6263 #define  NV34TCL_VTX_ATTR_2F_Y(x)                                                       (0x00001884+((x)*8))
6264 #define  NV34TCL_VTX_ATTR_2F_Y__SIZE                                                    0x00000010
6265 #define  NV34TCL_VTX_ATTR_2I(x)                                                         (0x00001900+((x)*4))
6266 #define  NV34TCL_VTX_ATTR_2I__SIZE                                                      0x00000010
6267 #define   NV34TCL_VTX_ATTR_2I_X_SHIFT                                                   0
6268 #define   NV34TCL_VTX_ATTR_2I_X_MASK                                                    0x0000ffff
6269 #define   NV34TCL_VTX_ATTR_2I_Y_SHIFT                                                   16
6270 #define   NV34TCL_VTX_ATTR_2I_Y_MASK                                                    0xffff0000
6271 #define  NV34TCL_VTX_ATTR_4UB(x)                                                        (0x00001940+((x)*4))
6272 #define  NV34TCL_VTX_ATTR_4UB__SIZE                                                     0x00000010
6273 #define   NV34TCL_VTX_ATTR_4UB_X_SHIFT                                                  0
6274 #define   NV34TCL_VTX_ATTR_4UB_X_MASK                                                   0x000000ff
6275 #define   NV34TCL_VTX_ATTR_4UB_Y_SHIFT                                                  8
6276 #define   NV34TCL_VTX_ATTR_4UB_Y_MASK                                                   0x0000ff00
6277 #define   NV34TCL_VTX_ATTR_4UB_Z_SHIFT                                                  16
6278 #define   NV34TCL_VTX_ATTR_4UB_Z_MASK                                                   0x00ff0000
6279 #define   NV34TCL_VTX_ATTR_4UB_W_SHIFT                                                  24
6280 #define   NV34TCL_VTX_ATTR_4UB_W_MASK                                                   0xff000000
6281 #define  NV34TCL_VTX_ATTR_4I_XY(x)                                                      (0x00001980+((x)*8))
6282 #define  NV34TCL_VTX_ATTR_4I_XY__SIZE                                                   0x00000010
6283 #define   NV34TCL_VTX_ATTR_4I_XY_X_SHIFT                                                0
6284 #define   NV34TCL_VTX_ATTR_4I_XY_X_MASK                                                 0x0000ffff
6285 #define   NV34TCL_VTX_ATTR_4I_XY_Y_SHIFT                                                16
6286 #define   NV34TCL_VTX_ATTR_4I_XY_Y_MASK                                                 0xffff0000
6287 #define  NV34TCL_VTX_ATTR_4I_ZW(x)                                                      (0x00001984+((x)*8))
6288 #define  NV34TCL_VTX_ATTR_4I_ZW__SIZE                                                   0x00000010
6289 #define   NV34TCL_VTX_ATTR_4I_ZW_Z_SHIFT                                                0
6290 #define   NV34TCL_VTX_ATTR_4I_ZW_Z_MASK                                                 0x0000ffff
6291 #define   NV34TCL_VTX_ATTR_4I_ZW_W_SHIFT                                                16
6292 #define   NV34TCL_VTX_ATTR_4I_ZW_W_MASK                                                 0xffff0000
6293 #define  NV34TCL_TX_OFFSET(x)                                                           (0x00001a00+((x)*32))
6294 #define  NV34TCL_TX_OFFSET__SIZE                                                        0x00000008
6295 #define  NV34TCL_TX_FORMAT(x)                                                           (0x00001a04+((x)*32))
6296 #define  NV34TCL_TX_FORMAT__SIZE                                                        0x00000008
6297 #define   NV34TCL_TX_FORMAT_DMA0                                                        (1 <<  0)
6298 #define   NV34TCL_TX_FORMAT_DMA1                                                        (1 <<  1)
6299 #define   NV34TCL_TX_FORMAT_CUBIC                                                       (1 <<  2)
6300 #define   NV34TCL_TX_FORMAT_NO_BORDER                                                   (1 <<  3)
6301 #define   NV34TCL_TX_FORMAT_DIMS_SHIFT                                                  4
6302 #define   NV34TCL_TX_FORMAT_DIMS_MASK                                                   0x000000f0
6303 #define    NV34TCL_TX_FORMAT_DIMS_1D                                                    0x00000010
6304 #define    NV34TCL_TX_FORMAT_DIMS_2D                                                    0x00000020
6305 #define    NV34TCL_TX_FORMAT_DIMS_3D                                                    0x00000030
6306 #define   NV34TCL_TX_FORMAT_FORMAT_SHIFT                                                8
6307 #define   NV34TCL_TX_FORMAT_FORMAT_MASK                                                 0x0000ff00
6308 #define    NV34TCL_TX_FORMAT_FORMAT_L8                                                  0x00000000
6309 #define    NV34TCL_TX_FORMAT_FORMAT_A8                                                  0x00000100
6310 #define    NV34TCL_TX_FORMAT_FORMAT_A1R5G5B5                                            0x00000200
6311 #define    NV34TCL_TX_FORMAT_FORMAT_A4R4G4B4                                            0x00000400
6312 #define    NV34TCL_TX_FORMAT_FORMAT_R5G6B5                                              0x00000500
6313 #define    NV34TCL_TX_FORMAT_FORMAT_A8R8G8B8                                            0x00000600
6314 #define    NV34TCL_TX_FORMAT_FORMAT_X8R8G8B8                                            0x00000700
6315 #define    NV34TCL_TX_FORMAT_FORMAT_INDEX8                                              0x00000b00
6316 #define    NV34TCL_TX_FORMAT_FORMAT_DXT1                                                0x00000c00
6317 #define    NV34TCL_TX_FORMAT_FORMAT_DXT3                                                0x00000e00
6318 #define    NV34TCL_TX_FORMAT_FORMAT_DXT5                                                0x00000f00
6319 #define    NV34TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT                                       0x00001000
6320 #define    NV34TCL_TX_FORMAT_FORMAT_R5G6B5_RECT                                         0x00001100
6321 #define    NV34TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT                                       0x00001200
6322 #define    NV34TCL_TX_FORMAT_FORMAT_L8_RECT                                             0x00001300
6323 #define    NV34TCL_TX_FORMAT_FORMAT_DSDT8_RECT                                          0x00001700
6324 #define    NV34TCL_TX_FORMAT_FORMAT_A8L8                                                0x00001a00
6325 #define    NV34TCL_TX_FORMAT_FORMAT_A8_RECT                                             0x00001b00
6326 #define    NV34TCL_TX_FORMAT_FORMAT_A4R4G4B4_RECT                                       0x00001d00
6327 #define    NV34TCL_TX_FORMAT_FORMAT_R8G8B8_RECT                                         0x00001e00
6328 #define    NV34TCL_TX_FORMAT_FORMAT_A8L8_RECT                                           0x00002000
6329 #define    NV34TCL_TX_FORMAT_FORMAT_DSDT8                                               0x00002800
6330 #define    NV34TCL_TX_FORMAT_FORMAT_HILO16                                              0x00003300
6331 #define    NV34TCL_TX_FORMAT_FORMAT_HILO16_RECT                                         0x00003600
6332 #define    NV34TCL_TX_FORMAT_FORMAT_HILO8                                               0x00004400
6333 #define    NV34TCL_TX_FORMAT_FORMAT_SIGNED_HILO8                                        0x00004500
6334 #define    NV34TCL_TX_FORMAT_FORMAT_HILO8_RECT                                          0x00004600
6335 #define    NV34TCL_TX_FORMAT_FORMAT_SIGNED_HILO8_RECT                                   0x00004700
6336 #define    NV34TCL_TX_FORMAT_FORMAT_A16                                                 0x00003200
6337 #define    NV34TCL_TX_FORMAT_FORMAT_A16_RECT                                            0x00003500
6338 #define    NV34TCL_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV                                     0x00004a00
6339 #define    NV34TCL_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV                                     0x00004b00
6340 #define    NV34TCL_TX_FORMAT_FORMAT_FLOAT_R32_NV                                        0x00004c00
6341 #define   NV34TCL_TX_FORMAT_MIPMAP                                                      (1 << 19)
6342 #define   NV34TCL_TX_FORMAT_BASE_SIZE_U_SHIFT                                           20
6343 #define   NV34TCL_TX_FORMAT_BASE_SIZE_U_MASK                                            0x00f00000
6344 #define   NV34TCL_TX_FORMAT_BASE_SIZE_V_SHIFT                                           24
6345 #define   NV34TCL_TX_FORMAT_BASE_SIZE_V_MASK                                            0x0f000000
6346 #define   NV34TCL_TX_FORMAT_BASE_SIZE_W_SHIFT                                           28
6347 #define   NV34TCL_TX_FORMAT_BASE_SIZE_W_MASK                                            0xf0000000
6348 #define  NV34TCL_TX_WRAP(x)                                                             (0x00001a08+((x)*32))
6349 #define  NV34TCL_TX_WRAP__SIZE                                                          0x00000008
6350 #define   NV34TCL_TX_WRAP_S_SHIFT                                                       0
6351 #define   NV34TCL_TX_WRAP_S_MASK                                                        0x000000ff
6352 #define    NV34TCL_TX_WRAP_S_REPEAT                                                     0x00000001
6353 #define    NV34TCL_TX_WRAP_S_MIRRORED_REPEAT                                            0x00000002
6354 #define    NV34TCL_TX_WRAP_S_CLAMP_TO_EDGE                                              0x00000003
6355 #define    NV34TCL_TX_WRAP_S_CLAMP_TO_BORDER                                            0x00000004
6356 #define    NV34TCL_TX_WRAP_S_CLAMP                                                      0x00000005
6357 #define   NV34TCL_TX_WRAP_T_SHIFT                                                       8
6358 #define   NV34TCL_TX_WRAP_T_MASK                                                        0x00000f00
6359 #define    NV34TCL_TX_WRAP_T_REPEAT                                                     0x00000100
6360 #define    NV34TCL_TX_WRAP_T_MIRRORED_REPEAT                                            0x00000200
6361 #define    NV34TCL_TX_WRAP_T_CLAMP_TO_EDGE                                              0x00000300
6362 #define    NV34TCL_TX_WRAP_T_CLAMP_TO_BORDER                                            0x00000400
6363 #define    NV34TCL_TX_WRAP_T_CLAMP                                                      0x00000500
6364 #define   NV34TCL_TX_WRAP_EXPAND_NORMAL_SHIFT                                           12
6365 #define   NV34TCL_TX_WRAP_EXPAND_NORMAL_MASK                                            0x0000f000
6366 #define   NV34TCL_TX_WRAP_R_SHIFT                                                       16
6367 #define   NV34TCL_TX_WRAP_R_MASK                                                        0x000f0000
6368 #define    NV34TCL_TX_WRAP_R_REPEAT                                                     0x00010000
6369 #define    NV34TCL_TX_WRAP_R_MIRRORED_REPEAT                                            0x00020000
6370 #define    NV34TCL_TX_WRAP_R_CLAMP_TO_EDGE                                              0x00030000
6371 #define    NV34TCL_TX_WRAP_R_CLAMP_TO_BORDER                                            0x00040000
6372 #define    NV34TCL_TX_WRAP_R_CLAMP                                                      0x00050000
6373 #define   NV34TCL_TX_WRAP_RCOMP_SHIFT                                                   28
6374 #define   NV34TCL_TX_WRAP_RCOMP_MASK                                                    0xf0000000
6375 #define    NV34TCL_TX_WRAP_RCOMP_NEVER                                                  0x00000000
6376 #define    NV34TCL_TX_WRAP_RCOMP_GREATER                                                0x10000000
6377 #define    NV34TCL_TX_WRAP_RCOMP_EQUAL                                                  0x20000000
6378 #define    NV34TCL_TX_WRAP_RCOMP_GEQUAL                                                 0x30000000
6379 #define    NV34TCL_TX_WRAP_RCOMP_LESS                                                   0x40000000
6380 #define    NV34TCL_TX_WRAP_RCOMP_NOTEQUAL                                               0x50000000
6381 #define    NV34TCL_TX_WRAP_RCOMP_LEQUAL                                                 0x60000000
6382 #define    NV34TCL_TX_WRAP_RCOMP_ALWAYS                                                 0x70000000
6383 #define  NV34TCL_TX_ENABLE(x)                                                           (0x00001a0c+((x)*32))
6384 #define  NV34TCL_TX_ENABLE__SIZE                                                        0x00000008
6385 #define   NV34TCL_TX_ENABLE_ANISO_SHIFT                                                 4
6386 #define   NV34TCL_TX_ENABLE_ANISO_MASK                                                  0x00000030
6387 #define    NV34TCL_TX_ENABLE_ANISO_NONE                                                 0x00000000
6388 #define    NV34TCL_TX_ENABLE_ANISO_2X                                                   0x00000010
6389 #define    NV34TCL_TX_ENABLE_ANISO_4X                                                   0x00000020
6390 #define    NV34TCL_TX_ENABLE_ANISO_8X                                                   0x00000030
6391 #define   NV34TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT                                        14
6392 #define   NV34TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK                                         0x0003c000
6393 #define   NV34TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT                                        26
6394 #define   NV34TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK                                         0x3c000000
6395 #define   NV34TCL_TX_ENABLE_ENABLE                                                      (1 << 30)
6396 #define  NV34TCL_TX_SWIZZLE(x)                                                          (0x00001a10+((x)*32))
6397 #define  NV34TCL_TX_SWIZZLE__SIZE                                                       0x00000008
6398 #define   NV34TCL_TX_SWIZZLE_S0_X_SHIFT                                                 14
6399 #define   NV34TCL_TX_SWIZZLE_S0_X_MASK                                                  0x0000c000
6400 #define    NV34TCL_TX_SWIZZLE_S0_X_ZERO                                                 0x00000000
6401 #define    NV34TCL_TX_SWIZZLE_S0_X_ONE                                                  0x00004000
6402 #define    NV34TCL_TX_SWIZZLE_S0_X_S1                                                   0x00008000
6403 #define   NV34TCL_TX_SWIZZLE_S0_Y_SHIFT                                                 12
6404 #define   NV34TCL_TX_SWIZZLE_S0_Y_MASK                                                  0x00003000
6405 #define    NV34TCL_TX_SWIZZLE_S0_Y_ZERO                                                 0x00000000
6406 #define    NV34TCL_TX_SWIZZLE_S0_Y_ONE                                                  0x00001000
6407 #define    NV34TCL_TX_SWIZZLE_S0_Y_S1                                                   0x00002000
6408 #define   NV34TCL_TX_SWIZZLE_S0_Z_SHIFT                                                 10
6409 #define   NV34TCL_TX_SWIZZLE_S0_Z_MASK                                                  0x00000c00
6410 #define    NV34TCL_TX_SWIZZLE_S0_Z_ZERO                                                 0x00000000
6411 #define    NV34TCL_TX_SWIZZLE_S0_Z_ONE                                                  0x00000400
6412 #define    NV34TCL_TX_SWIZZLE_S0_Z_S1                                                   0x00000800
6413 #define   NV34TCL_TX_SWIZZLE_S0_W_SHIFT                                                 8
6414 #define   NV34TCL_TX_SWIZZLE_S0_W_MASK                                                  0x00000300
6415 #define    NV34TCL_TX_SWIZZLE_S0_W_ZERO                                                 0x00000000
6416 #define    NV34TCL_TX_SWIZZLE_S0_W_ONE                                                  0x00000100
6417 #define    NV34TCL_TX_SWIZZLE_S0_W_S1                                                   0x00000200
6418 #define   NV34TCL_TX_SWIZZLE_S1_X_SHIFT                                                 6
6419 #define   NV34TCL_TX_SWIZZLE_S1_X_MASK                                                  0x000000c0
6420 #define    NV34TCL_TX_SWIZZLE_S1_X_W                                                    0x00000000
6421 #define    NV34TCL_TX_SWIZZLE_S1_X_Z                                                    0x00000040
6422 #define    NV34TCL_TX_SWIZZLE_S1_X_Y                                                    0x00000080
6423 #define    NV34TCL_TX_SWIZZLE_S1_X_X                                                    0x000000c0
6424 #define   NV34TCL_TX_SWIZZLE_S1_Y_SHIFT                                                 4
6425 #define   NV34TCL_TX_SWIZZLE_S1_Y_MASK                                                  0x00000030
6426 #define    NV34TCL_TX_SWIZZLE_S1_Y_W                                                    0x00000000
6427 #define    NV34TCL_TX_SWIZZLE_S1_Y_Z                                                    0x00000010
6428 #define    NV34TCL_TX_SWIZZLE_S1_Y_Y                                                    0x00000020
6429 #define    NV34TCL_TX_SWIZZLE_S1_Y_X                                                    0x00000030
6430 #define   NV34TCL_TX_SWIZZLE_S1_Z_SHIFT                                                 2
6431 #define   NV34TCL_TX_SWIZZLE_S1_Z_MASK                                                  0x0000000c
6432 #define    NV34TCL_TX_SWIZZLE_S1_Z_W                                                    0x00000000
6433 #define    NV34TCL_TX_SWIZZLE_S1_Z_Z                                                    0x00000004
6434 #define    NV34TCL_TX_SWIZZLE_S1_Z_Y                                                    0x00000008
6435 #define    NV34TCL_TX_SWIZZLE_S1_Z_X                                                    0x0000000c
6436 #define   NV34TCL_TX_SWIZZLE_S1_W_SHIFT                                                 0
6437 #define   NV34TCL_TX_SWIZZLE_S1_W_MASK                                                  0x00000003
6438 #define    NV34TCL_TX_SWIZZLE_S1_W_W                                                    0x00000000
6439 #define    NV34TCL_TX_SWIZZLE_S1_W_Z                                                    0x00000001
6440 #define    NV34TCL_TX_SWIZZLE_S1_W_Y                                                    0x00000002
6441 #define    NV34TCL_TX_SWIZZLE_S1_W_X                                                    0x00000003
6442 #define   NV34TCL_TX_SWIZZLE_RECT_PITCH_SHIFT                                           16
6443 #define   NV34TCL_TX_SWIZZLE_RECT_PITCH_MASK                                            0xffff0000
6444 #define  NV34TCL_TX_FILTER(x)                                                           (0x00001a14+((x)*32))
6445 #define  NV34TCL_TX_FILTER__SIZE                                                        0x00000008
6446 #define   NV34TCL_TX_FILTER_LOD_BIAS_SHIFT                                              8
6447 #define   NV34TCL_TX_FILTER_LOD_BIAS_MASK                                               0x00000f00
6448 #define   NV34TCL_TX_FILTER_MINIFY_SHIFT                                                16
6449 #define   NV34TCL_TX_FILTER_MINIFY_MASK                                                 0x000f0000
6450 #define    NV34TCL_TX_FILTER_MINIFY_NEAREST                                             0x00010000
6451 #define    NV34TCL_TX_FILTER_MINIFY_LINEAR                                              0x00020000
6452 #define    NV34TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST                              0x00030000
6453 #define    NV34TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST                               0x00040000
6454 #define    NV34TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR                               0x00050000
6455 #define    NV34TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR                                0x00060000
6456 #define   NV34TCL_TX_FILTER_MAGNIFY_SHIFT                                               24
6457 #define   NV34TCL_TX_FILTER_MAGNIFY_MASK                                                0x0f000000
6458 #define    NV34TCL_TX_FILTER_MAGNIFY_NEAREST                                            0x01000000
6459 #define    NV34TCL_TX_FILTER_MAGNIFY_LINEAR                                             0x02000000
6460 #define   NV34TCL_TX_FILTER_SIGNED_BLUE                                                 (1 << 28)
6461 #define   NV34TCL_TX_FILTER_SIGNED_GREEN                                                (1 << 29)
6462 #define   NV34TCL_TX_FILTER_SIGNED_RED                                                  (1 << 30)
6463 #define   NV34TCL_TX_FILTER_SIGNED_ALPHA                                                (1 << 31)
6464 #define  NV34TCL_TX_NPOT_SIZE(x)                                                        (0x00001a18+((x)*32))
6465 #define  NV34TCL_TX_NPOT_SIZE__SIZE                                                     0x00000008
6466 #define   NV34TCL_TX_NPOT_SIZE_H_SHIFT                                                  0
6467 #define   NV34TCL_TX_NPOT_SIZE_H_MASK                                                   0x0000ffff
6468 #define   NV34TCL_TX_NPOT_SIZE_W_SHIFT                                                  16
6469 #define   NV34TCL_TX_NPOT_SIZE_W_MASK                                                   0xffff0000
6470 #define  NV34TCL_TX_BORDER_COLOR(x)                                                     (0x00001a1c+((x)*32))
6471 #define  NV34TCL_TX_BORDER_COLOR__SIZE                                                  0x00000008
6472 #define   NV34TCL_TX_BORDER_COLOR_B_SHIFT                                               0
6473 #define   NV34TCL_TX_BORDER_COLOR_B_MASK                                                0x000000ff
6474 #define   NV34TCL_TX_BORDER_COLOR_G_SHIFT                                               8
6475 #define   NV34TCL_TX_BORDER_COLOR_G_MASK                                                0x0000ff00
6476 #define   NV34TCL_TX_BORDER_COLOR_R_SHIFT                                               16
6477 #define   NV34TCL_TX_BORDER_COLOR_R_MASK                                                0x00ff0000
6478 #define   NV34TCL_TX_BORDER_COLOR_A_SHIFT                                               24
6479 #define   NV34TCL_TX_BORDER_COLOR_A_MASK                                                0xff000000
6480 #define  NV34TCL_VTX_ATTR_4F_X(x)                                                       (0x00001c00+((x)*16))
6481 #define  NV34TCL_VTX_ATTR_4F_X__SIZE                                                    0x00000010
6482 #define  NV34TCL_VTX_ATTR_4F_Y(x)                                                       (0x00001c04+((x)*16))
6483 #define  NV34TCL_VTX_ATTR_4F_Y__SIZE                                                    0x00000010
6484 #define  NV34TCL_VTX_ATTR_4F_Z(x)                                                       (0x00001c08+((x)*16))
6485 #define  NV34TCL_VTX_ATTR_4F_Z__SIZE                                                    0x00000010
6486 #define  NV34TCL_VTX_ATTR_4F_W(x)                                                       (0x00001c0c+((x)*16))
6487 #define  NV34TCL_VTX_ATTR_4F_W__SIZE                                                    0x00000010
6488 #define  NV34TCL_FP_CONTROL                                                             0x00001d60
6489 #define   NV34TCL_FP_CONTROL_USES_KIL                                                   (1 <<  7)
6490 #define   NV34TCL_FP_CONTROL_USED_REGS_MINUS1_DIV2_SHIFT                                0
6491 #define   NV34TCL_FP_CONTROL_USED_REGS_MINUS1_DIV2_MASK                                 0x0000000f
6492 #define  NV34TCL_DEPTH_UNK17D8                                                          0x00001d78
6493 #define   NV34TCL_DEPTH_UNK17D8_CLAMP_SHIFT                                             4
6494 #define   NV34TCL_DEPTH_UNK17D8_CLAMP_MASK                                              0x000000f0
6495 #define  NV34TCL_MULTISAMPLE_CONTROL                                                    0x00001d7c
6496 #define   NV34TCL_MULTISAMPLE_CONTROL_ENABLE                                            (1 <<  0)
6497 #define   NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_ALPHA_TO_COVERAGE                          (1 <<  4)
6498 #define   NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_ALPHA_TO_ONE                               (1 <<  8)
6499 #define   NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_COVERAGE_SHIFT                             16
6500 #define   NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_COVERAGE_MASK                              0xffff0000
6501 #define  NV34TCL_CLEAR_DEPTH_VALUE                                                      0x00001d8c
6502 #define  NV34TCL_CLEAR_COLOR_VALUE                                                      0x00001d90
6503 #define   NV34TCL_CLEAR_COLOR_VALUE_B_SHIFT                                             0
6504 #define   NV34TCL_CLEAR_COLOR_VALUE_B_MASK                                              0x000000ff
6505 #define   NV34TCL_CLEAR_COLOR_VALUE_G_SHIFT                                             8
6506 #define   NV34TCL_CLEAR_COLOR_VALUE_G_MASK                                              0x0000ff00
6507 #define   NV34TCL_CLEAR_COLOR_VALUE_R_SHIFT                                             16
6508 #define   NV34TCL_CLEAR_COLOR_VALUE_R_MASK                                              0x00ff0000
6509 #define   NV34TCL_CLEAR_COLOR_VALUE_A_SHIFT                                             24
6510 #define   NV34TCL_CLEAR_COLOR_VALUE_A_MASK                                              0xff000000
6511 #define  NV34TCL_CLEAR_BUFFERS                                                          0x00001d94
6512 #define   NV34TCL_CLEAR_BUFFERS_COLOR_A                                                 (1 <<  7)
6513 #define   NV34TCL_CLEAR_BUFFERS_COLOR_B                                                 (1 <<  6)
6514 #define   NV34TCL_CLEAR_BUFFERS_COLOR_G                                                 (1 <<  5)
6515 #define   NV34TCL_CLEAR_BUFFERS_COLOR_R                                                 (1 <<  4)
6516 #define   NV34TCL_CLEAR_BUFFERS_STENCIL                                                 (1 <<  1)
6517 #define   NV34TCL_CLEAR_BUFFERS_DEPTH                                                   (1 <<  0)
6518 #define  NV34TCL_DO_VERTICES                                                            0x00001dac
6519 #define  NV34TCL_LINE_STIPPLE_ENABLE                                                    0x00001db4
6520 #define  NV34TCL_LINE_STIPPLE_PATTERN                                                   0x00001db8
6521 #define   NV34TCL_LINE_STIPPLE_PATTERN_FACTOR_SHIFT                                     0
6522 #define   NV34TCL_LINE_STIPPLE_PATTERN_FACTOR_MASK                                      0x0000ffff
6523 #define   NV34TCL_LINE_STIPPLE_PATTERN_PATTERN_SHIFT                                    16
6524 #define   NV34TCL_LINE_STIPPLE_PATTERN_PATTERN_MASK                                     0xffff0000
6525 #define  NV34TCL_BACK_MATERIAL_SHININESS(x)                                             (0x00001e20+((x)*4))
6526 #define  NV34TCL_BACK_MATERIAL_SHININESS__SIZE                                          0x00000006
6527 #define  NV34TCL_VTX_ATTR_1F(x)                                                         (0x00001e40+((x)*4))
6528 #define  NV34TCL_VTX_ATTR_1F__SIZE                                                      0x00000010
6529 #define  NV34TCL_ENGINE                                                                 0x00001e94
6530 #define   NV34TCL_ENGINE_FP                                                             (1 <<  0)
6531 #define   NV34TCL_ENGINE_VP                                                             (1 <<  1)
6532 #define   NV34TCL_ENGINE_FIXED                                                          (1 <<  2)
6533 #define  NV34TCL_VP_UPLOAD_FROM_ID                                                      0x00001e9c
6534 #define  NV34TCL_VP_START_FROM_ID                                                       0x00001ea0
6535 #define  NV34TCL_POINT_PARAMETERS(x)                                                    (0x00001ec0+((x)*4))
6536 #define  NV34TCL_POINT_PARAMETERS__SIZE                                                 0x00000008
6537 #define  NV34TCL_POINT_SIZE                                                             0x00001ee0
6538 #define  NV34TCL_POINT_PARAMETERS_ENABLE                                                0x00001ee4
6539 #define  NV34TCL_POINT_SPRITE                                                           0x00001ee8
6540 #define   NV34TCL_POINT_SPRITE_ENABLE                                                   (1 <<  0)
6541 #define   NV34TCL_POINT_SPRITE_R_MODE_SHIFT                                             1
6542 #define   NV34TCL_POINT_SPRITE_R_MODE_MASK                                              0x00000006
6543 #define    NV34TCL_POINT_SPRITE_R_MODE_ZERO                                             0x00000000
6544 #define    NV34TCL_POINT_SPRITE_R_MODE_R                                                0x00000002
6545 #define    NV34TCL_POINT_SPRITE_R_MODE_S                                                0x00000004
6546 #define   NV34TCL_POINT_SPRITE_COORD_REPLACE_0                                          (1 <<  8)
6547 #define   NV34TCL_POINT_SPRITE_COORD_REPLACE_1                                          (1 <<  9)
6548 #define   NV34TCL_POINT_SPRITE_COORD_REPLACE_2                                          (1 << 10)
6549 #define   NV34TCL_POINT_SPRITE_COORD_REPLACE_3                                          (1 << 11)
6550 #define   NV34TCL_POINT_SPRITE_COORD_REPLACE_4                                          (1 << 12)
6551 #define   NV34TCL_POINT_SPRITE_COORD_REPLACE_5                                          (1 << 13)
6552 #define   NV34TCL_POINT_SPRITE_COORD_REPLACE_6                                          (1 << 14)
6553 #define   NV34TCL_POINT_SPRITE_COORD_REPLACE_7                                          (1 << 15)
6554 #define  NV34TCL_VP_UPLOAD_CONST_ID                                                     0x00001efc
6555 #define  NV34TCL_VP_UPLOAD_CONST_X(x)                                                   (0x00001f00+((x)*16))
6556 #define  NV34TCL_VP_UPLOAD_CONST_X__SIZE                                                0x00000004
6557 #define  NV34TCL_VP_UPLOAD_CONST_Y(x)                                                   (0x00001f04+((x)*16))
6558 #define  NV34TCL_VP_UPLOAD_CONST_Y__SIZE                                                0x00000004
6559 #define  NV34TCL_VP_UPLOAD_CONST_Z(x)                                                   (0x00001f08+((x)*16))
6560 #define  NV34TCL_VP_UPLOAD_CONST_Z__SIZE                                                0x00000004
6561 #define  NV34TCL_VP_UPLOAD_CONST_W(x)                                                   (0x00001f0c+((x)*16))
6562 #define  NV34TCL_VP_UPLOAD_CONST_W__SIZE                                                0x00000004
6563 #define  NV34TCL_UNK1f80(x)                                                             (0x00001f80+((x)*4))
6564 #define  NV34TCL_UNK1f80__SIZE                                                          0x00000010
6565
6566
6567 #define NV40TCL                                                                         0x00004097
6568
6569 #define  NV40TCL_REF_CNT                                                                0x00000050
6570 #define  NV40TCL_NOP                                                                    0x00000100
6571 #define  NV40TCL_NOTIFY                                                                 0x00000104
6572 #define  NV40TCL_DMA_NOTIFY                                                             0x00000180
6573 #define  NV40TCL_DMA_TEXTURE0                                                           0x00000184
6574 #define  NV40TCL_DMA_TEXTURE1                                                           0x00000188
6575 #define  NV40TCL_DMA_COLOR1                                                             0x0000018c
6576 #define  NV40TCL_DMA_COLOR0                                                             0x00000194
6577 #define  NV40TCL_DMA_ZETA                                                               0x00000198
6578 #define  NV40TCL_DMA_VTXBUF0                                                            0x0000019c
6579 #define  NV40TCL_DMA_VTXBUF1                                                            0x000001a0
6580 #define  NV40TCL_DMA_FENCE                                                              0x000001a4
6581 #define  NV40TCL_DMA_QUERY                                                              0x000001a8
6582 #define  NV40TCL_DMA_UNK01AC                                                            0x000001ac
6583 #define  NV40TCL_DMA_UNK01B0                                                            0x000001b0
6584 #define  NV40TCL_DMA_COLOR2                                                             0x000001b4
6585 #define  NV40TCL_DMA_COLOR3                                                             0x000001b8
6586 #define  NV40TCL_RT_HORIZ                                                               0x00000200
6587 #define   NV40TCL_RT_HORIZ_W_SHIFT                                                      16
6588 #define   NV40TCL_RT_HORIZ_W_MASK                                                       0xffff0000
6589 #define   NV40TCL_RT_HORIZ_X_SHIFT                                                      0
6590 #define   NV40TCL_RT_HORIZ_X_MASK                                                       0x0000ffff
6591 #define  NV40TCL_RT_VERT                                                                0x00000204
6592 #define   NV40TCL_RT_VERT_H_SHIFT                                                       16
6593 #define   NV40TCL_RT_VERT_H_MASK                                                        0xffff0000
6594 #define   NV40TCL_RT_VERT_Y_SHIFT                                                       0
6595 #define   NV40TCL_RT_VERT_Y_MASK                                                        0x0000ffff
6596 #define  NV40TCL_RT_FORMAT                                                              0x00000208
6597 #define   NV40TCL_RT_FORMAT_LOG2_HEIGHT_SHIFT                                           24
6598 #define   NV40TCL_RT_FORMAT_LOG2_HEIGHT_MASK                                            0xff000000
6599 #define   NV40TCL_RT_FORMAT_LOG2_WIDTH_SHIFT                                            16
6600 #define   NV40TCL_RT_FORMAT_LOG2_WIDTH_MASK                                             0x00ff0000
6601 #define   NV40TCL_RT_FORMAT_TYPE_SHIFT                                                  8
6602 #define   NV40TCL_RT_FORMAT_TYPE_MASK                                                   0x00000f00
6603 #define    NV40TCL_RT_FORMAT_TYPE_LINEAR                                                0x00000100
6604 #define    NV40TCL_RT_FORMAT_TYPE_SWIZZLED                                              0x00000200
6605 #define   NV40TCL_RT_FORMAT_ZETA_SHIFT                                                  5
6606 #define   NV40TCL_RT_FORMAT_ZETA_MASK                                                   0x000000e0
6607 #define    NV40TCL_RT_FORMAT_ZETA_Z16                                                   0x00000020
6608 #define    NV40TCL_RT_FORMAT_ZETA_Z24S8                                                 0x00000040
6609 #define   NV40TCL_RT_FORMAT_COLOR_SHIFT                                                 0
6610 #define   NV40TCL_RT_FORMAT_COLOR_MASK                                                  0x0000001f
6611 #define    NV40TCL_RT_FORMAT_COLOR_R5G6B5                                               0x00000003
6612 #define    NV40TCL_RT_FORMAT_COLOR_X8R8G8B8                                             0x00000005
6613 #define    NV40TCL_RT_FORMAT_COLOR_A8R8G8B8                                             0x00000008
6614 #define    NV40TCL_RT_FORMAT_COLOR_B8                                                   0x00000009
6615 #define    NV40TCL_RT_FORMAT_COLOR_UNKNOWN                                              0x0000000d
6616 #define    NV40TCL_RT_FORMAT_COLOR_X8B8G8R8                                             0x0000000f
6617 #define    NV40TCL_RT_FORMAT_COLOR_A8B8G8R8                                             0x00000010
6618 #define  NV40TCL_COLOR0_PITCH                                                           0x0000020c
6619 #define  NV40TCL_COLOR0_OFFSET                                                          0x00000210
6620 #define  NV40TCL_ZETA_OFFSET                                                            0x00000214
6621 #define  NV40TCL_COLOR1_OFFSET                                                          0x00000218
6622 #define  NV40TCL_COLOR1_PITCH                                                           0x0000021c
6623 #define  NV40TCL_RT_ENABLE                                                              0x00000220
6624 #define   NV40TCL_RT_ENABLE_MRT                                                         (1 <<  4)
6625 #define   NV40TCL_RT_ENABLE_COLOR3                                                      (1 <<  3)
6626 #define   NV40TCL_RT_ENABLE_COLOR2                                                      (1 <<  2)
6627 #define   NV40TCL_RT_ENABLE_COLOR1                                                      (1 <<  1)
6628 #define   NV40TCL_RT_ENABLE_COLOR0                                                      (1 <<  0)
6629 #define  NV40TCL_ZETA_PITCH                                                             0x0000022c
6630 #define  NV40TCL_COLOR2_PITCH                                                           0x00000280
6631 #define  NV40TCL_COLOR3_PITCH                                                           0x00000284
6632 #define  NV40TCL_COLOR2_OFFSET                                                          0x00000288
6633 #define  NV40TCL_COLOR3_OFFSET                                                          0x0000028c
6634 #define  NV40TCL_VIEWPORT_CLIP_HORIZ(x)                                                 (0x000002c0+((x)*8))
6635 #define  NV40TCL_VIEWPORT_CLIP_HORIZ__SIZE                                              0x00000008
6636 #define  NV40TCL_VIEWPORT_CLIP_VERT(x)                                                  (0x000002c4+((x)*8))
6637 #define  NV40TCL_VIEWPORT_CLIP_VERT__SIZE                                               0x00000008
6638 #define  NV40TCL_DITHER_ENABLE                                                          0x00000300
6639 #define  NV40TCL_ALPHA_TEST_ENABLE                                                      0x00000304
6640 #define  NV40TCL_ALPHA_TEST_FUNC                                                        0x00000308
6641 #define   NV40TCL_ALPHA_TEST_FUNC_NEVER                                                 0x00000200
6642 #define   NV40TCL_ALPHA_TEST_FUNC_LESS                                                  0x00000201
6643 #define   NV40TCL_ALPHA_TEST_FUNC_EQUAL                                                 0x00000202
6644 #define   NV40TCL_ALPHA_TEST_FUNC_LEQUAL                                                0x00000203
6645 #define   NV40TCL_ALPHA_TEST_FUNC_GREATER                                               0x00000204
6646 #define   NV40TCL_ALPHA_TEST_FUNC_NOTEQUAL                                              0x00000205
6647 #define   NV40TCL_ALPHA_TEST_FUNC_GEQUAL                                                0x00000206
6648 #define   NV40TCL_ALPHA_TEST_FUNC_ALWAYS                                                0x00000207
6649 #define  NV40TCL_ALPHA_TEST_REF                                                         0x0000030c
6650 #define  NV40TCL_BLEND_ENABLE                                                           0x00000310
6651 #define  NV40TCL_BLEND_FUNC_SRC                                                         0x00000314
6652 #define   NV40TCL_BLEND_FUNC_SRC_RGB_SHIFT                                              0
6653 #define   NV40TCL_BLEND_FUNC_SRC_RGB_MASK                                               0x0000ffff
6654 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ZERO                                              0x00000000
6655 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE                                               0x00000001
6656 #define    NV40TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR                                         0x00000300
6657 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR                               0x00000301
6658 #define    NV40TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA                                         0x00000302
6659 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA                               0x00000303
6660 #define    NV40TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA                                         0x00000304
6661 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA                               0x00000305
6662 #define    NV40TCL_BLEND_FUNC_SRC_RGB_DST_COLOR                                         0x00000306
6663 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR                               0x00000307
6664 #define    NV40TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE                                0x00000308
6665 #define    NV40TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR                                    0x00008001
6666 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR                          0x00008002
6667 #define    NV40TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA                                    0x00008003
6668 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA                          0x00008004
6669 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_SHIFT                                            16
6670 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_MASK                                             0xffff0000
6671 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ZERO                                            0x00000000
6672 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE                                             0x00010000
6673 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                                       0x03000000
6674 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR                             0x03010000
6675 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                                       0x03020000
6676 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA                             0x03030000
6677 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                                       0x03040000
6678 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA                             0x03050000
6679 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR                                       0x03060000
6680 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR                             0x03070000
6681 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                              0x03080000
6682 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR                                  0x80010000
6683 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR                        0x80020000
6684 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA                                  0x80030000
6685 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA                        0x80040000
6686 #define  NV40TCL_BLEND_FUNC_DST                                                         0x00000318
6687 #define   NV40TCL_BLEND_FUNC_DST_RGB_SHIFT                                              0
6688 #define   NV40TCL_BLEND_FUNC_DST_RGB_MASK                                               0x0000ffff
6689 #define    NV40TCL_BLEND_FUNC_DST_RGB_ZERO                                              0x00000000
6690 #define    NV40TCL_BLEND_FUNC_DST_RGB_ONE                                               0x00000001
6691 #define    NV40TCL_BLEND_FUNC_DST_RGB_SRC_COLOR                                         0x00000300
6692 #define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR                               0x00000301
6693 #define    NV40TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA                                         0x00000302
6694 #define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA                               0x00000303
6695 #define    NV40TCL_BLEND_FUNC_DST_RGB_DST_ALPHA                                         0x00000304
6696 #define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA                               0x00000305
6697 #define    NV40TCL_BLEND_FUNC_DST_RGB_DST_COLOR                                         0x00000306
6698 #define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR                               0x00000307
6699 #define    NV40TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE                                0x00000308
6700 #define    NV40TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR                                    0x00008001
6701 #define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR                          0x00008002
6702 #define    NV40TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA                                    0x00008003
6703 #define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA                          0x00008004
6704 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_SHIFT                                            16
6705 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_MASK                                             0xffff0000
6706 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ZERO                                            0x00000000
6707 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE                                             0x00010000
6708 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR                                       0x03000000
6709 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR                             0x03010000
6710 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                                       0x03020000
6711 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA                             0x03030000
6712 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA                                       0x03040000
6713 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA                             0x03050000
6714 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR                                       0x03060000
6715 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR                             0x03070000
6716 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                              0x03080000
6717 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR                                  0x80010000
6718 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR                        0x80020000
6719 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                                  0x80030000
6720 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA                        0x80040000
6721 #define  NV40TCL_BLEND_COLOR                                                            0x0000031c
6722 #define   NV40TCL_BLEND_COLOR_B_SHIFT                                                   0
6723 #define   NV40TCL_BLEND_COLOR_B_MASK                                                    0x000000ff
6724 #define   NV40TCL_BLEND_COLOR_G_SHIFT                                                   8
6725 #define   NV40TCL_BLEND_COLOR_G_MASK                                                    0x0000ff00
6726 #define   NV40TCL_BLEND_COLOR_R_SHIFT                                                   16
6727 #define   NV40TCL_BLEND_COLOR_R_MASK                                                    0x00ff0000
6728 #define   NV40TCL_BLEND_COLOR_A_SHIFT                                                   24
6729 #define   NV40TCL_BLEND_COLOR_A_MASK                                                    0xff000000
6730 #define  NV40TCL_BLEND_EQUATION                                                         0x00000320
6731 #define   NV40TCL_BLEND_EQUATION_RGB_SHIFT                                              0
6732 #define   NV40TCL_BLEND_EQUATION_RGB_MASK                                               0x0000ffff
6733 #define    NV40TCL_BLEND_EQUATION_RGB_FUNC_ADD                                          0x00008006
6734 #define    NV40TCL_BLEND_EQUATION_RGB_MIN                                               0x00008007
6735 #define    NV40TCL_BLEND_EQUATION_RGB_MAX                                               0x00008008
6736 #define    NV40TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT                                     0x0000800a
6737 #define    NV40TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT                             0x0000800b
6738 #define   NV40TCL_BLEND_EQUATION_ALPHA_SHIFT                                            16
6739 #define   NV40TCL_BLEND_EQUATION_ALPHA_MASK                                             0xffff0000
6740 #define    NV40TCL_BLEND_EQUATION_ALPHA_FUNC_ADD                                        0x80060000
6741 #define    NV40TCL_BLEND_EQUATION_ALPHA_MIN                                             0x80070000
6742 #define    NV40TCL_BLEND_EQUATION_ALPHA_MAX                                             0x80080000
6743 #define    NV40TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT                                   0x800a0000
6744 #define    NV40TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT                           0x800b0000
6745 #define  NV40TCL_COLOR_MASK                                                             0x00000324
6746 #define   NV40TCL_COLOR_MASK_BUFFER0_B_SHIFT                                            0
6747 #define   NV40TCL_COLOR_MASK_BUFFER0_B_MASK                                             0x000000ff
6748 #define   NV40TCL_COLOR_MASK_BUFFER0_G_SHIFT                                            8
6749 #define   NV40TCL_COLOR_MASK_BUFFER0_G_MASK                                             0x0000ff00
6750 #define   NV40TCL_COLOR_MASK_BUFFER0_R_SHIFT                                            16
6751 #define   NV40TCL_COLOR_MASK_BUFFER0_R_MASK                                             0x00ff0000
6752 #define   NV40TCL_COLOR_MASK_BUFFER0_A_SHIFT                                            24
6753 #define   NV40TCL_COLOR_MASK_BUFFER0_A_MASK                                             0xff000000
6754 #define  NV40TCL_STENCIL_FRONT_ENABLE                                                   0x00000328
6755 #define  NV40TCL_STENCIL_FRONT_MASK                                                     0x0000032c
6756 #define  NV40TCL_STENCIL_FRONT_FUNC_FUNC                                                0x00000330
6757 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_NEVER                                         0x00000200
6758 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_LESS                                          0x00000201
6759 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL                                         0x00000202
6760 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL                                        0x00000203
6761 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                       0x00000204
6762 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                                      0x00000205
6763 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL                                        0x00000206
6764 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS                                        0x00000207
6765 #define  NV40TCL_STENCIL_FRONT_FUNC_REF                                                 0x00000334
6766 #define  NV40TCL_STENCIL_FRONT_FUNC_MASK                                                0x00000338
6767 #define  NV40TCL_STENCIL_FRONT_OP_FAIL                                                  0x0000033c
6768 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_ZERO                                            0x00000000
6769 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_INVERT                                          0x0000150a
6770 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_KEEP                                            0x00001e00
6771 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_REPLACE                                         0x00001e01
6772 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_INCR                                            0x00001e02
6773 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_DECR                                            0x00001e03
6774 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP                                       0x00008507
6775 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP                                       0x00008508
6776 #define  NV40TCL_STENCIL_FRONT_OP_ZFAIL                                                 0x00000340
6777 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_ZERO                                           0x00000000
6778 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_INVERT                                         0x0000150a
6779 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_KEEP                                           0x00001e00
6780 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE                                        0x00001e01
6781 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_INCR                                           0x00001e02
6782 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_DECR                                           0x00001e03
6783 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                                      0x00008507
6784 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                                      0x00008508
6785 #define  NV40TCL_STENCIL_FRONT_OP_ZPASS                                                 0x00000344
6786 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_ZERO                                           0x00000000
6787 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_INVERT                                         0x0000150a
6788 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_KEEP                                           0x00001e00
6789 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_REPLACE                                        0x00001e01
6790 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_INCR                                           0x00001e02
6791 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_DECR                                           0x00001e03
6792 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                                      0x00008507
6793 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                                      0x00008508
6794 #define  NV40TCL_STENCIL_BACK_ENABLE                                                    0x00000348
6795 #define  NV40TCL_STENCIL_BACK_MASK                                                      0x0000034c
6796 #define  NV40TCL_STENCIL_BACK_FUNC_FUNC                                                 0x00000350
6797 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_NEVER                                          0x00000200
6798 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_LESS                                           0x00000201
6799 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_EQUAL                                          0x00000202
6800 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL                                         0x00000203
6801 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                        0x00000204
6802 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                                       0x00000205
6803 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL                                         0x00000206
6804 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS                                         0x00000207
6805 #define  NV40TCL_STENCIL_BACK_FUNC_REF                                                  0x00000354
6806 #define  NV40TCL_STENCIL_BACK_FUNC_MASK                                                 0x00000358
6807 #define  NV40TCL_STENCIL_BACK_OP_FAIL                                                   0x0000035c
6808 #define   NV40TCL_STENCIL_BACK_OP_FAIL_ZERO                                             0x00000000
6809 #define   NV40TCL_STENCIL_BACK_OP_FAIL_INVERT                                           0x0000150a
6810 #define   NV40TCL_STENCIL_BACK_OP_FAIL_KEEP                                             0x00001e00
6811 #define   NV40TCL_STENCIL_BACK_OP_FAIL_REPLACE                                          0x00001e01
6812 #define   NV40TCL_STENCIL_BACK_OP_FAIL_INCR                                             0x00001e02
6813 #define   NV40TCL_STENCIL_BACK_OP_FAIL_DECR                                             0x00001e03
6814 #define   NV40TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP                                        0x00008507
6815 #define   NV40TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP                                        0x00008508
6816 #define  NV40TCL_STENCIL_BACK_OP_ZFAIL                                                  0x00000360
6817 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_ZERO                                            0x00000000
6818 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_INVERT                                          0x0000150a
6819 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_KEEP                                            0x00001e00
6820 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_REPLACE                                         0x00001e01
6821 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_INCR                                            0x00001e02
6822 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_DECR                                            0x00001e03
6823 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                                       0x00008507
6824 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                                       0x00008508
6825 #define  NV40TCL_STENCIL_BACK_OP_ZPASS                                                  0x00000364
6826 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_ZERO                                            0x00000000
6827 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_INVERT                                          0x0000150a
6828 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_KEEP                                            0x00001e00
6829 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_REPLACE                                         0x00001e01
6830 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_INCR                                            0x00001e02
6831 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_DECR                                            0x00001e03
6832 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP                                       0x00008507
6833 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP                                       0x00008508
6834 #define  NV40TCL_SHADE_MODEL                                                            0x00000368
6835 #define   NV40TCL_SHADE_MODEL_FLAT                                                      0x00001d00
6836 #define   NV40TCL_SHADE_MODEL_SMOOTH                                                    0x00001d01
6837 #define  NV40TCL_MRT_COLOR_MASK                                                         0x00000370
6838 #define   NV40TCL_MRT_COLOR_MASK_BUFFER1_A                                              (1 <<  4)
6839 #define   NV40TCL_MRT_COLOR_MASK_BUFFER1_R                                              (1 <<  5)
6840 #define   NV40TCL_MRT_COLOR_MASK_BUFFER1_G                                              (1 <<  6)
6841 #define   NV40TCL_MRT_COLOR_MASK_BUFFER1_B                                              (1 <<  7)
6842 #define   NV40TCL_MRT_COLOR_MASK_BUFFER2_A                                              (1 <<  8)
6843 #define   NV40TCL_MRT_COLOR_MASK_BUFFER2_R                                              (1 <<  9)
6844 #define   NV40TCL_MRT_COLOR_MASK_BUFFER2_G                                              (1 << 10)
6845 #define   NV40TCL_MRT_COLOR_MASK_BUFFER2_B                                              (1 << 11)
6846 #define   NV40TCL_MRT_COLOR_MASK_BUFFER3_A                                              (1 << 12)
6847 #define   NV40TCL_MRT_COLOR_MASK_BUFFER3_R                                              (1 << 13)
6848 #define   NV40TCL_MRT_COLOR_MASK_BUFFER3_G                                              (1 << 14)
6849 #define   NV40TCL_MRT_COLOR_MASK_BUFFER3_B                                              (1 << 15)
6850 #define  NV40TCL_COLOR_LOGIC_OP_ENABLE                                                  0x00000374
6851 #define  NV40TCL_COLOR_LOGIC_OP                                                         0x00000378
6852 #define   NV40TCL_COLOR_LOGIC_OP_CLEAR                                                  0x00001500
6853 #define   NV40TCL_COLOR_LOGIC_OP_AND                                                    0x00001501
6854 #define   NV40TCL_COLOR_LOGIC_OP_AND_REVERSE                                            0x00001502
6855 #define   NV40TCL_COLOR_LOGIC_OP_COPY                                                   0x00001503
6856 #define   NV40TCL_COLOR_LOGIC_OP_AND_INVERTED                                           0x00001504
6857 #define   NV40TCL_COLOR_LOGIC_OP_NOOP                                                   0x00001505
6858 #define   NV40TCL_COLOR_LOGIC_OP_XOR                                                    0x00001506
6859 #define   NV40TCL_COLOR_LOGIC_OP_OR                                                     0x00001507
6860 #define   NV40TCL_COLOR_LOGIC_OP_NOR                                                    0x00001508
6861 #define   NV40TCL_COLOR_LOGIC_OP_EQUIV                                                  0x00001509
6862 #define   NV40TCL_COLOR_LOGIC_OP_INVERT                                                 0x0000150a
6863 #define   NV40TCL_COLOR_LOGIC_OP_OR_REVERSE                                             0x0000150b
6864 #define   NV40TCL_COLOR_LOGIC_OP_COPY_INVERTED                                          0x0000150c
6865 #define   NV40TCL_COLOR_LOGIC_OP_OR_INVERTED                                            0x0000150d
6866 #define   NV40TCL_COLOR_LOGIC_OP_NAND                                                   0x0000150e
6867 #define   NV40TCL_COLOR_LOGIC_OP_SET                                                    0x0000150f
6868 #define  NV40TCL_DEPTH_RANGE_NEAR                                                       0x00000394
6869 #define  NV40TCL_DEPTH_RANGE_FAR                                                        0x00000398
6870 #define  NV40TCL_LINE_WIDTH                                                             0x000003b8
6871 #define  NV40TCL_LINE_SMOOTH_ENABLE                                                     0x000003bc
6872 #define  NV40TCL_UNK03C0(x)                                                             (0x000003c0+((x)*4))
6873 #define  NV40TCL_UNK03C0__SIZE                                                          0x00000010
6874 #define  NV40TCL_UNK0400(x)                                                             (0x00000400+((x)*4))
6875 #define  NV40TCL_UNK0400__SIZE                                                          0x00000010
6876 #define  NV40TCL_UNK0440(x)                                                             (0x00000440+((x)*4))
6877 #define  NV40TCL_UNK0440__SIZE                                                          0x00000020
6878 #define  NV40TCL_SCISSOR_HORIZ                                                          0x000008c0
6879 #define   NV40TCL_SCISSOR_HORIZ_X_SHIFT                                                 0
6880 #define   NV40TCL_SCISSOR_HORIZ_X_MASK                                                  0x0000ffff
6881 #define   NV40TCL_SCISSOR_HORIZ_W_SHIFT                                                 16
6882 #define   NV40TCL_SCISSOR_HORIZ_W_MASK                                                  0xffff0000
6883 #define  NV40TCL_SCISSOR_VERT                                                           0x000008c4
6884 #define   NV40TCL_SCISSOR_VERT_Y_SHIFT                                                  0
6885 #define   NV40TCL_SCISSOR_VERT_Y_MASK                                                   0x0000ffff
6886 #define   NV40TCL_SCISSOR_VERT_H_SHIFT                                                  16
6887 #define   NV40TCL_SCISSOR_VERT_H_MASK                                                   0xffff0000
6888 #define  NV40TCL_FOG_MODE                                                               0x000008cc
6889 #define  NV40TCL_FOG_EQUATION_CONSTANT                                                  0x000008d0
6890 #define  NV40TCL_FOG_EQUATION_LINEAR                                                    0x000008d4
6891 #define  NV40TCL_FOG_EQUATION_QUADRATIC                                                 0x000008d8
6892 #define  NV40TCL_FP_ADDRESS                                                             0x000008e4
6893 #define   NV40TCL_FP_ADDRESS_OFFSET_SHIFT                                               8
6894 #define   NV40TCL_FP_ADDRESS_OFFSET_MASK                                                0xffffff00
6895 #define   NV40TCL_FP_ADDRESS_DMA1                                                       (1 <<  1)
6896 #define   NV40TCL_FP_ADDRESS_DMA0                                                       (1 <<  0)
6897 #define  NV40TCL_VIEWPORT_HORIZ                                                         0x00000a00
6898 #define   NV40TCL_VIEWPORT_HORIZ_W_SHIFT                                                16
6899 #define   NV40TCL_VIEWPORT_HORIZ_W_MASK                                                 0xffff0000
6900 #define   NV40TCL_VIEWPORT_HORIZ_X_SHIFT                                                0
6901 #define   NV40TCL_VIEWPORT_HORIZ_X_MASK                                                 0x0000ffff
6902 #define  NV40TCL_VIEWPORT_VERT                                                          0x00000a04
6903 #define   NV40TCL_VIEWPORT_VERT_H_SHIFT                                                 16
6904 #define   NV40TCL_VIEWPORT_VERT_H_MASK                                                  0xffff0000
6905 #define   NV40TCL_VIEWPORT_VERT_Y_SHIFT                                                 0
6906 #define   NV40TCL_VIEWPORT_VERT_Y_MASK                                                  0x0000ffff
6907 #define  NV40TCL_VIEWPORT_TRANSLATE_X                                                   0x00000a20
6908 #define  NV40TCL_VIEWPORT_TRANSLATE_Y                                                   0x00000a24
6909 #define  NV40TCL_VIEWPORT_TRANSLATE_Z                                                   0x00000a28
6910 #define  NV40TCL_VIEWPORT_TRANSLATE_W                                                   0x00000a2c
6911 #define  NV40TCL_VIEWPORT_SCALE_X                                                       0x00000a30
6912 #define  NV40TCL_VIEWPORT_SCALE_Y                                                       0x00000a34
6913 #define  NV40TCL_VIEWPORT_SCALE_Z                                                       0x00000a38
6914 #define  NV40TCL_VIEWPORT_SCALE_W                                                       0x00000a3c
6915 #define  NV40TCL_POLYGON_OFFSET_POINT_ENABLE                                            0x00000a60
6916 #define  NV40TCL_POLYGON_OFFSET_LINE_ENABLE                                             0x00000a64
6917 #define  NV40TCL_POLYGON_OFFSET_FILL_ENABLE                                             0x00000a68
6918 #define  NV40TCL_DEPTH_FUNC                                                             0x00000a6c
6919 #define   NV40TCL_DEPTH_FUNC_NEVER                                                      0x00000200
6920 #define   NV40TCL_DEPTH_FUNC_LESS                                                       0x00000201
6921 #define   NV40TCL_DEPTH_FUNC_EQUAL                                                      0x00000202
6922 #define   NV40TCL_DEPTH_FUNC_LEQUAL                                                     0x00000203
6923 #define   NV40TCL_DEPTH_FUNC_GREATER                                                    0x00000204
6924 #define   NV40TCL_DEPTH_FUNC_NOTEQUAL                                                   0x00000205
6925 #define   NV40TCL_DEPTH_FUNC_GEQUAL                                                     0x00000206
6926 #define   NV40TCL_DEPTH_FUNC_ALWAYS                                                     0x00000207
6927 #define  NV40TCL_DEPTH_WRITE_ENABLE                                                     0x00000a70
6928 #define  NV40TCL_DEPTH_TEST_ENABLE                                                      0x00000a74
6929 #define  NV40TCL_POLYGON_OFFSET_FACTOR                                                  0x00000a78
6930 #define  NV40TCL_POLYGON_OFFSET_UNITS                                                   0x00000a7c
6931 #define  NV40TCL_VTX_ATTR_3I_XY(x)                                                      (0x00000a80+((x)*8))
6932 #define  NV40TCL_VTX_ATTR_3I_XY__SIZE                                                   0x00000010
6933 #define   NV40TCL_VTX_ATTR_3I_XY_X_SHIFT                                                0
6934 #define   NV40TCL_VTX_ATTR_3I_XY_X_MASK                                                 0x0000ffff
6935 #define   NV40TCL_VTX_ATTR_3I_XY_Y_SHIFT                                                16
6936 #define   NV40TCL_VTX_ATTR_3I_XY_Y_MASK                                                 0xffff0000
6937 #define  NV40TCL_VTX_ATTR_3I_Z(x)                                                       (0x00000a84+((x)*8))
6938 #define  NV40TCL_VTX_ATTR_3I_Z__SIZE                                                    0x00000010
6939 #define   NV40TCL_VTX_ATTR_3I_Z_Z_SHIFT                                                 0
6940 #define   NV40TCL_VTX_ATTR_3I_Z_Z_MASK                                                  0x0000ffff
6941 #define  NV40TCL_TEX_FILTER_OPTIMIZATION                                                0x00000b00
6942 #define   NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_SHIFT                               0
6943 #define   NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_MASK                                0x0000001f
6944 #define    NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_OFF                                0x00000000
6945 #define    NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_HIGH_QUALITY                       0x00000004
6946 #define    NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_QUALITY                            0x00000006
6947 #define    NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_PERFORMANCE                        0x00000008
6948 #define    NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_HIGH_PERFORMANCE                   0x00000018
6949 #define   NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_SHIFT                            6
6950 #define   NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_MASK                             0x000001c0
6951 #define    NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_OFF                             0x00000000
6952 #define    NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_HIGH_QUALITY                    0x000000c0
6953 #define    NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_QUALITY                         0x000001c0
6954 #define    NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_PERFORMANCE                     0x00000140
6955 #define   NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_SHIFT                                 10
6956 #define   NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_MASK                                  0x00007c00
6957 #define    NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_OFF                                  0x00000000
6958 #define    NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_PARTIAL                              0x00002c00
6959 #define    NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_FULL                                 0x00007c00
6960 #define  NV40TCL_UNK0B40(x)                                                             (0x00000b40+((x)*4))
6961 #define  NV40TCL_UNK0B40__SIZE                                                          0x00000008
6962 #define  NV40TCL_VP_UPLOAD_INST(x)                                                      (0x00000b80+((x)*4))
6963 #define  NV40TCL_VP_UPLOAD_INST__SIZE                                                   0x00000004
6964 #define  NV40TCL_VERTEX_TWO_SIDE_ENABLE                                                 0x0000142c
6965 #define  NV40TCL_CLIP_PLANE_ENABLE                                                      0x00001478
6966 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE0                                              (1 <<  1)
6967 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE1                                              (1 <<  5)
6968 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE2                                              (1 <<  9)
6969 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE3                                              (1 << 13)
6970 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE4                                              (1 << 17)
6971 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE5                                              (1 << 21)
6972 #define  NV40TCL_POLYGON_STIPPLE_ENABLE                                                 0x0000147c
6973 #define  NV40TCL_POLYGON_STIPPLE_PATTERN(x)                                             (0x00001480+((x)*4))
6974 #define  NV40TCL_POLYGON_STIPPLE_PATTERN__SIZE                                          0x00000020
6975 #define  NV40TCL_VTX_ATTR_3F_X(x)                                                       (0x00001500+((x)*16))
6976 #define  NV40TCL_VTX_ATTR_3F_X__SIZE                                                    0x00000010
6977 #define  NV40TCL_VTX_ATTR_3F_Y(x)                                                       (0x00001504+((x)*16))
6978 #define  NV40TCL_VTX_ATTR_3F_Y__SIZE                                                    0x00000010
6979 #define  NV40TCL_VTX_ATTR_3F_Z(x)                                                       (0x00001508+((x)*16))
6980 #define  NV40TCL_VTX_ATTR_3F_Z__SIZE                                                    0x00000010
6981 #define  NV40TCL_VTXBUF_ADDRESS(x)                                                      (0x00001680+((x)*4))
6982 #define  NV40TCL_VTXBUF_ADDRESS__SIZE                                                   0x00000010
6983 #define   NV40TCL_VTXBUF_ADDRESS_DMA1                                                   (1 << 31)
6984 #define   NV40TCL_VTXBUF_ADDRESS_OFFSET_SHIFT                                           0
6985 #define   NV40TCL_VTXBUF_ADDRESS_OFFSET_MASK                                            0x0fffffff
6986 #define  NV40TCL_VTX_CACHE_INVALIDATE                                                   0x00001714
6987 #define  NV40TCL_VTXFMT(x)                                                              (0x00001740+((x)*4))
6988 #define  NV40TCL_VTXFMT__SIZE                                                           0x00000010
6989 #define   NV40TCL_VTXFMT_TYPE_SHIFT                                                     0
6990 #define   NV40TCL_VTXFMT_TYPE_MASK                                                      0x0000000f
6991 #define    NV40TCL_VTXFMT_TYPE_FLOAT                                                    0x00000002
6992 #define    NV40TCL_VTXFMT_TYPE_UBYTE                                                    0x00000004
6993 #define    NV40TCL_VTXFMT_TYPE_USHORT                                                   0x00000005
6994 #define   NV40TCL_VTXFMT_SIZE_SHIFT                                                     4
6995 #define   NV40TCL_VTXFMT_SIZE_MASK                                                      0x000000f0
6996 #define   NV40TCL_VTXFMT_STRIDE_SHIFT                                                   8
6997 #define   NV40TCL_VTXFMT_STRIDE_MASK                                                    0x0000ff00
6998 #define  NV40TCL_QUERY_RESET                                                            0x000017c8
6999 #define  NV40TCL_QUERY_UNK17CC                                                          0x000017cc
7000 #define  NV40TCL_QUERY_GET                                                              0x00001800
7001 #define   NV40TCL_QUERY_GET_UNK24_SHIFT                                                 24
7002 #define   NV40TCL_QUERY_GET_UNK24_MASK                                                  0xff000000
7003 #define   NV40TCL_QUERY_GET_OFFSET_SHIFT                                                0
7004 #define   NV40TCL_QUERY_GET_OFFSET_MASK                                                 0x00ffffff
7005 #define  NV40TCL_BEGIN_END                                                              0x00001808
7006 #define   NV40TCL_BEGIN_END_STOP                                                        0x00000000
7007 #define   NV40TCL_BEGIN_END_POINTS                                                      0x00000001
7008 #define   NV40TCL_BEGIN_END_LINES                                                       0x00000002
7009 #define   NV40TCL_BEGIN_END_LINE_LOOP                                                   0x00000003
7010 #define   NV40TCL_BEGIN_END_LINE_STRIP                                                  0x00000004
7011 #define   NV40TCL_BEGIN_END_TRIANGLES                                                   0x00000005
7012 #define   NV40TCL_BEGIN_END_TRIANGLE_STRIP                                              0x00000006
7013 #define   NV40TCL_BEGIN_END_TRIANGLE_FAN                                                0x00000007
7014 #define   NV40TCL_BEGIN_END_QUADS                                                       0x00000008
7015 #define   NV40TCL_BEGIN_END_QUAD_STRIP                                                  0x00000009
7016 #define   NV40TCL_BEGIN_END_POLYGON                                                     0x0000000a
7017 #define  NV40TCL_VB_ELEMENT_U16                                                         0x0000180c
7018 #define   NV40TCL_VB_ELEMENT_U16_1_SHIFT                                                16
7019 #define   NV40TCL_VB_ELEMENT_U16_1_MASK                                                 0xffff0000
7020 #define   NV40TCL_VB_ELEMENT_U16_0_SHIFT                                                0
7021 #define   NV40TCL_VB_ELEMENT_U16_0_MASK                                                 0x0000ffff
7022 #define  NV40TCL_VB_ELEMENT_U32                                                         0x00001810
7023 #define  NV40TCL_VB_VERTEX_BATCH                                                        0x00001814
7024 #define   NV40TCL_VB_VERTEX_BATCH_COUNT_SHIFT                                           24
7025 #define   NV40TCL_VB_VERTEX_BATCH_COUNT_MASK                                            0xff000000
7026 #define   NV40TCL_VB_VERTEX_BATCH_START_SHIFT                                           0
7027 #define   NV40TCL_VB_VERTEX_BATCH_START_MASK                                            0x00ffffff
7028 #define  NV40TCL_VERTEX_DATA                                                            0x00001818
7029 #define  NV40TCL_IDXBUF_ADDRESS                                                         0x0000181c
7030 #define  NV40TCL_IDXBUF_FORMAT                                                          0x00001820
7031 #define   NV40TCL_IDXBUF_FORMAT_TYPE_SHIFT                                              4
7032 #define   NV40TCL_IDXBUF_FORMAT_TYPE_MASK                                               0x000000f0
7033 #define    NV40TCL_IDXBUF_FORMAT_TYPE_U32                                               0x00000000
7034 #define    NV40TCL_IDXBUF_FORMAT_TYPE_U16                                               0x00000010
7035 #define   NV40TCL_IDXBUF_FORMAT_DMA1                                                    (1 <<  0)
7036 #define  NV40TCL_VB_INDEX_BATCH                                                         0x00001824
7037 #define   NV40TCL_VB_INDEX_BATCH_COUNT_SHIFT                                            24
7038 #define   NV40TCL_VB_INDEX_BATCH_COUNT_MASK                                             0xff000000
7039 #define   NV40TCL_VB_INDEX_BATCH_START_SHIFT                                            0
7040 #define   NV40TCL_VB_INDEX_BATCH_START_MASK                                             0x00ffffff
7041 #define  NV40TCL_POLYGON_MODE_FRONT                                                     0x00001828
7042 #define   NV40TCL_POLYGON_MODE_FRONT_POINT                                              0x00001b00
7043 #define   NV40TCL_POLYGON_MODE_FRONT_LINE                                               0x00001b01
7044 #define   NV40TCL_POLYGON_MODE_FRONT_FILL                                               0x00001b02
7045 #define  NV40TCL_POLYGON_MODE_BACK                                                      0x0000182c
7046 #define   NV40TCL_POLYGON_MODE_BACK_POINT                                               0x00001b00
7047 #define   NV40TCL_POLYGON_MODE_BACK_LINE                                                0x00001b01
7048 #define   NV40TCL_POLYGON_MODE_BACK_FILL                                                0x00001b02
7049 #define  NV40TCL_CULL_FACE                                                              0x00001830
7050 #define   NV40TCL_CULL_FACE_FRONT                                                       0x00000404
7051 #define   NV40TCL_CULL_FACE_BACK                                                        0x00000405
7052 #define   NV40TCL_CULL_FACE_FRONT_AND_BACK                                              0x00000408
7053 #define  NV40TCL_FRONT_FACE                                                             0x00001834
7054 #define   NV40TCL_FRONT_FACE_CW                                                         0x00000900
7055 #define   NV40TCL_FRONT_FACE_CCW                                                        0x00000901
7056 #define  NV40TCL_POLYGON_SMOOTH_ENABLE                                                  0x00001838
7057 #define  NV40TCL_CULL_FACE_ENABLE                                                       0x0000183c
7058 #define  NV40TCL_TEX_SIZE1(x)                                                           (0x00001840+((x)*4))
7059 #define  NV40TCL_TEX_SIZE1__SIZE                                                        0x00000008
7060 #define   NV40TCL_TEX_SIZE1_DEPTH_SHIFT                                                 20
7061 #define   NV40TCL_TEX_SIZE1_DEPTH_MASK                                                  0xfff00000
7062 #define   NV40TCL_TEX_SIZE1_PITCH_SHIFT                                                 0
7063 #define   NV40TCL_TEX_SIZE1_PITCH_MASK                                                  0x0000ffff
7064 #define  NV40TCL_VTX_ATTR_2F_X(x)                                                       (0x00001880+((x)*8))
7065 #define  NV40TCL_VTX_ATTR_2F_X__SIZE                                                    0x00000010
7066 #define  NV40TCL_VTX_ATTR_2F_Y(x)                                                       (0x00001884+((x)*8))
7067 #define  NV40TCL_VTX_ATTR_2F_Y__SIZE                                                    0x00000010
7068 #define  NV40TCL_VTX_ATTR_2I(x)                                                         (0x00001900+((x)*4))
7069 #define  NV40TCL_VTX_ATTR_2I__SIZE                                                      0x00000010
7070 #define   NV40TCL_VTX_ATTR_2I_X_SHIFT                                                   0
7071 #define   NV40TCL_VTX_ATTR_2I_X_MASK                                                    0x0000ffff
7072 #define   NV40TCL_VTX_ATTR_2I_Y_SHIFT                                                   16
7073 #define   NV40TCL_VTX_ATTR_2I_Y_MASK                                                    0xffff0000
7074 #define  NV40TCL_VTX_ATTR_4UB(x)                                                        (0x00001940+((x)*4))
7075 #define  NV40TCL_VTX_ATTR_4UB__SIZE                                                     0x00000010
7076 #define   NV40TCL_VTX_ATTR_4UB_X_SHIFT                                                  0
7077 #define   NV40TCL_VTX_ATTR_4UB_X_MASK                                                   0x000000ff
7078 #define   NV40TCL_VTX_ATTR_4UB_Y_SHIFT                                                  8
7079 #define   NV40TCL_VTX_ATTR_4UB_Y_MASK                                                   0x0000ff00
7080 #define   NV40TCL_VTX_ATTR_4UB_Z_SHIFT                                                  16
7081 #define   NV40TCL_VTX_ATTR_4UB_Z_MASK                                                   0x00ff0000
7082 #define   NV40TCL_VTX_ATTR_4UB_W_SHIFT                                                  24
7083 #define   NV40TCL_VTX_ATTR_4UB_W_MASK                                                   0xff000000
7084 #define  NV40TCL_VTX_ATTR_4I_XY(x)                                                      (0x00001980+((x)*8))
7085 #define  NV40TCL_VTX_ATTR_4I_XY__SIZE                                                   0x00000010
7086 #define   NV40TCL_VTX_ATTR_4I_XY_X_SHIFT                                                0
7087 #define   NV40TCL_VTX_ATTR_4I_XY_X_MASK                                                 0x0000ffff
7088 #define   NV40TCL_VTX_ATTR_4I_XY_Y_SHIFT                                                16
7089 #define   NV40TCL_VTX_ATTR_4I_XY_Y_MASK                                                 0xffff0000
7090 #define  NV40TCL_VTX_ATTR_4I_ZW(x)                                                      (0x00001984+((x)*8))
7091 #define  NV40TCL_VTX_ATTR_4I_ZW__SIZE                                                   0x00000010
7092 #define   NV40TCL_VTX_ATTR_4I_ZW_Z_SHIFT                                                0
7093 #define   NV40TCL_VTX_ATTR_4I_ZW_Z_MASK                                                 0x0000ffff
7094 #define   NV40TCL_VTX_ATTR_4I_ZW_W_SHIFT                                                16
7095 #define   NV40TCL_VTX_ATTR_4I_ZW_W_MASK                                                 0xffff0000
7096 #define  NV40TCL_TEX_OFFSET(x)                                                          (0x00001a00+((x)*32))
7097 #define  NV40TCL_TEX_OFFSET__SIZE                                                       0x00000010
7098 #define  NV40TCL_TEX_FORMAT(x)                                                          (0x00001a04+((x)*32))
7099 #define  NV40TCL_TEX_FORMAT__SIZE                                                       0x00000010
7100 #define   NV40TCL_TEX_FORMAT_MIPMAP_COUNT_SHIFT                                         16
7101 #define   NV40TCL_TEX_FORMAT_MIPMAP_COUNT_MASK                                          0x000f0000
7102 #define   NV40TCL_TEX_FORMAT_RECT                                                       (1 << 14)
7103 #define   NV40TCL_TEX_FORMAT_LINEAR                                                     (1 << 13)
7104 #define   NV40TCL_TEX_FORMAT_FORMAT_SHIFT                                               8
7105 #define   NV40TCL_TEX_FORMAT_FORMAT_MASK                                                0x00001f00
7106 #define    NV40TCL_TEX_FORMAT_FORMAT_L8                                                 0x00000100
7107 #define    NV40TCL_TEX_FORMAT_FORMAT_A1R5G5B5                                           0x00000200
7108 #define    NV40TCL_TEX_FORMAT_FORMAT_A4R4G4B4                                           0x00000300
7109 #define    NV40TCL_TEX_FORMAT_FORMAT_R5G6B5                                             0x00000400
7110 #define    NV40TCL_TEX_FORMAT_FORMAT_A8R8G8B8                                           0x00000500
7111 #define    NV40TCL_TEX_FORMAT_FORMAT_DXT1                                               0x00000600
7112 #define    NV40TCL_TEX_FORMAT_FORMAT_DXT3                                               0x00000700
7113 #define    NV40TCL_TEX_FORMAT_FORMAT_DXT5                                               0x00000800
7114 #define    NV40TCL_TEX_FORMAT_FORMAT_A8L8                                               0x00000b00
7115 #define    NV40TCL_TEX_FORMAT_FORMAT_Z24                                                0x00001000
7116 #define    NV40TCL_TEX_FORMAT_FORMAT_Z16                                                0x00001200
7117 #define    NV40TCL_TEX_FORMAT_FORMAT_A16                                                0x00001400
7118 #define    NV40TCL_TEX_FORMAT_FORMAT_A16L16                                             0x00001500
7119 #define    NV40TCL_TEX_FORMAT_FORMAT_HILO8                                              0x00001800
7120 #define    NV40TCL_TEX_FORMAT_FORMAT_RGBA16F                                            0x00001a00
7121 #define    NV40TCL_TEX_FORMAT_FORMAT_RGBA32F                                            0x00001b00
7122 #define   NV40TCL_TEX_FORMAT_DIMS_SHIFT                                                 4
7123 #define   NV40TCL_TEX_FORMAT_DIMS_MASK                                                  0x000000f0
7124 #define    NV40TCL_TEX_FORMAT_DIMS_1D                                                   0x00000010
7125 #define    NV40TCL_TEX_FORMAT_DIMS_2D                                                   0x00000020
7126 #define    NV40TCL_TEX_FORMAT_DIMS_3D                                                   0x00000030
7127 #define   NV40TCL_TEX_FORMAT_NO_BORDER                                                  (1 <<  3)
7128 #define   NV40TCL_TEX_FORMAT_CUBIC                                                      (1 <<  2)
7129 #define   NV40TCL_TEX_FORMAT_DMA1                                                       (1 <<  1)
7130 #define   NV40TCL_TEX_FORMAT_DMA0                                                       (1 <<  0)
7131 #define  NV40TCL_TEX_WRAP(x)                                                            (0x00001a08+((x)*32))
7132 #define  NV40TCL_TEX_WRAP__SIZE                                                         0x00000010
7133 #define   NV40TCL_TEX_WRAP_S_SHIFT                                                      0
7134 #define   NV40TCL_TEX_WRAP_S_MASK                                                       0x0000000f
7135 #define    NV40TCL_TEX_WRAP_S_REPEAT                                                    0x00000001
7136 #define    NV40TCL_TEX_WRAP_S_MIRRORED_REPEAT                                           0x00000002
7137 #define    NV40TCL_TEX_WRAP_S_CLAMP_TO_EDGE                                             0x00000003
7138 #define    NV40TCL_TEX_WRAP_S_CLAMP_TO_BORDER                                           0x00000004
7139 #define    NV40TCL_TEX_WRAP_S_CLAMP                                                     0x00000005
7140 #define    NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_EDGE                                      0x00000006
7141 #define    NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_BORDER                                    0x00000007
7142 #define    NV40TCL_TEX_WRAP_S_MIRROR_CLAMP                                              0x00000008
7143 #define   NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_SHIFT                          4
7144 #define   NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_MASK                           0x00000070
7145 #define    NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_OFF                           0x00000000
7146 #define    NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_QUALITY                       0x00000020
7147 #define    NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_PERFORMANCE                   0x00000030
7148 #define    NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_HIGH_PERFORMANCE              0x00000070
7149 #define   NV40TCL_TEX_WRAP_T_SHIFT                                                      8
7150 #define   NV40TCL_TEX_WRAP_T_MASK                                                       0x00000f00
7151 #define    NV40TCL_TEX_WRAP_T_REPEAT                                                    0x00000100
7152 #define    NV40TCL_TEX_WRAP_T_MIRRORED_REPEAT                                           0x00000200
7153 #define    NV40TCL_TEX_WRAP_T_CLAMP_TO_EDGE                                             0x00000300
7154 #define    NV40TCL_TEX_WRAP_T_CLAMP_TO_BORDER                                           0x00000400
7155 #define    NV40TCL_TEX_WRAP_T_CLAMP                                                     0x00000500
7156 #define    NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_EDGE                                      0x00000600
7157 #define    NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_BORDER                                    0x00000700
7158 #define    NV40TCL_TEX_WRAP_T_MIRROR_CLAMP                                              0x00000800
7159 #define   NV40TCL_TEX_WRAP_EXPAND_NORMAL_SHIFT                                          12
7160 #define   NV40TCL_TEX_WRAP_EXPAND_NORMAL_MASK                                           0x0000f000
7161 #define   NV40TCL_TEX_WRAP_R_SHIFT                                                      16
7162 #define   NV40TCL_TEX_WRAP_R_MASK                                                       0x000f0000
7163 #define    NV40TCL_TEX_WRAP_R_REPEAT                                                    0x00010000
7164 #define    NV40TCL_TEX_WRAP_R_MIRRORED_REPEAT                                           0x00020000
7165 #define    NV40TCL_TEX_WRAP_R_CLAMP_TO_EDGE                                             0x00030000
7166 #define    NV40TCL_TEX_WRAP_R_CLAMP_TO_BORDER                                           0x00040000
7167 #define    NV40TCL_TEX_WRAP_R_CLAMP                                                     0x00050000
7168 #define    NV40TCL_TEX_WRAP_R_MIRROR_CLAMP_TO_EDGE                                      0x00060000
7169 #define    NV40TCL_TEX_WRAP_R_MIRROR_CLAMP_TO_BORDER                                    0x00070000
7170 #define    NV40TCL_TEX_WRAP_R_MIRROR_CLAMP                                              0x00080000
7171 #define   NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_SHIFT                                  20
7172 #define   NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_MASK                                   0x00f00000
7173 #define    NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_NONE                                  0x00000000
7174 #define    NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_RED                                   0x00100000
7175 #define    NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_GREEN                                 0x00200000
7176 #define    NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_BLUE                                  0x00400000
7177 #define    NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_ALL                                   0x00f00000
7178 #define   NV40TCL_TEX_WRAP_RCOMP_SHIFT                                                  28
7179 #define   NV40TCL_TEX_WRAP_RCOMP_MASK                                                   0xf0000000
7180 #define    NV40TCL_TEX_WRAP_RCOMP_NEVER                                                 0x00000000
7181 #define    NV40TCL_TEX_WRAP_RCOMP_GREATER                                               0x10000000
7182 #define    NV40TCL_TEX_WRAP_RCOMP_EQUAL                                                 0x20000000
7183 #define    NV40TCL_TEX_WRAP_RCOMP_GEQUAL                                                0x30000000
7184 #define    NV40TCL_TEX_WRAP_RCOMP_LESS                                                  0x40000000
7185 #define    NV40TCL_TEX_WRAP_RCOMP_NOTEQUAL                                              0x50000000
7186 #define    NV40TCL_TEX_WRAP_RCOMP_LEQUAL                                                0x60000000
7187 #define    NV40TCL_TEX_WRAP_RCOMP_ALWAYS                                                0x70000000
7188 #define  NV40TCL_TEX_ENABLE(x)                                                          (0x00001a0c+((x)*32))
7189 #define  NV40TCL_TEX_ENABLE__SIZE                                                       0x00000010
7190 #define   NV40TCL_TEX_ENABLE_ENABLE                                                     (1 << 31)
7191 #define   NV40TCL_TEX_ENABLE_MIPMAP_MIN_LOD_SHIFT                                       27
7192 #define   NV40TCL_TEX_ENABLE_MIPMAP_MIN_LOD_MASK                                        0x38000000
7193 #define   NV40TCL_TEX_ENABLE_MIPMAP_MAX_LOD_SHIFT                                       15
7194 #define   NV40TCL_TEX_ENABLE_MIPMAP_MAX_LOD_MASK                                        0x00038000
7195 #define   NV40TCL_TEX_ENABLE_ANISO_SHIFT                                                4
7196 #define   NV40TCL_TEX_ENABLE_ANISO_MASK                                                 0x000000f0
7197 #define    NV40TCL_TEX_ENABLE_ANISO_NONE                                                0x00000000
7198 #define    NV40TCL_TEX_ENABLE_ANISO_2X                                                  0x00000010
7199 #define    NV40TCL_TEX_ENABLE_ANISO_4X                                                  0x00000020
7200 #define    NV40TCL_TEX_ENABLE_ANISO_6X                                                  0x00000030
7201 #define    NV40TCL_TEX_ENABLE_ANISO_8X                                                  0x00000040
7202 #define    NV40TCL_TEX_ENABLE_ANISO_10X                                                 0x00000050
7203 #define    NV40TCL_TEX_ENABLE_ANISO_12X                                                 0x00000060
7204 #define    NV40TCL_TEX_ENABLE_ANISO_16X                                                 0x00000070
7205 #define  NV40TCL_TEX_SWIZZLE(x)                                                         (0x00001a10+((x)*32))
7206 #define  NV40TCL_TEX_SWIZZLE__SIZE                                                      0x00000010
7207 #define   NV40TCL_TEX_SWIZZLE_S0_X_SHIFT                                                14
7208 #define   NV40TCL_TEX_SWIZZLE_S0_X_MASK                                                 0x0000c000
7209 #define    NV40TCL_TEX_SWIZZLE_S0_X_ZERO                                                0x00000000
7210 #define    NV40TCL_TEX_SWIZZLE_S0_X_ONE                                                 0x00004000
7211 #define    NV40TCL_TEX_SWIZZLE_S0_X_S1                                                  0x00008000
7212 #define   NV40TCL_TEX_SWIZZLE_S0_Y_SHIFT                                                12
7213 #define   NV40TCL_TEX_SWIZZLE_S0_Y_MASK                                                 0x00003000
7214 #define    NV40TCL_TEX_SWIZZLE_S0_Y_ZERO                                                0x00000000
7215 #define    NV40TCL_TEX_SWIZZLE_S0_Y_ONE                                                 0x00001000
7216 #define    NV40TCL_TEX_SWIZZLE_S0_Y_S1                                                  0x00002000
7217 #define   NV40TCL_TEX_SWIZZLE_S0_Z_SHIFT                                                10
7218 #define   NV40TCL_TEX_SWIZZLE_S0_Z_MASK                                                 0x00000c00
7219 #define    NV40TCL_TEX_SWIZZLE_S0_Z_ZERO                                                0x00000000
7220 #define    NV40TCL_TEX_SWIZZLE_S0_Z_ONE                                                 0x00000400
7221 #define    NV40TCL_TEX_SWIZZLE_S0_Z_S1                                                  0x00000800
7222 #define   NV40TCL_TEX_SWIZZLE_S0_W_SHIFT                                                8
7223 #define   NV40TCL_TEX_SWIZZLE_S0_W_MASK                                                 0x00000300
7224 #define    NV40TCL_TEX_SWIZZLE_S0_W_ZERO                                                0x00000000
7225 #define    NV40TCL_TEX_SWIZZLE_S0_W_ONE                                                 0x00000100
7226 #define    NV40TCL_TEX_SWIZZLE_S0_W_S1                                                  0x00000200
7227 #define   NV40TCL_TEX_SWIZZLE_S1_X_SHIFT                                                6
7228 #define   NV40TCL_TEX_SWIZZLE_S1_X_MASK                                                 0x000000c0
7229 #define    NV40TCL_TEX_SWIZZLE_S1_X_W                                                   0x00000000
7230 #define    NV40TCL_TEX_SWIZZLE_S1_X_Z                                                   0x00000040
7231 #define    NV40TCL_TEX_SWIZZLE_S1_X_Y                                                   0x00000080
7232 #define    NV40TCL_TEX_SWIZZLE_S1_X_X                                                   0x000000c0
7233 #define   NV40TCL_TEX_SWIZZLE_S1_Y_SHIFT                                                4
7234 #define   NV40TCL_TEX_SWIZZLE_S1_Y_MASK                                                 0x00000030
7235 #define    NV40TCL_TEX_SWIZZLE_S1_Y_W                                                   0x00000000
7236 #define    NV40TCL_TEX_SWIZZLE_S1_Y_Z                                                   0x00000010
7237 #define    NV40TCL_TEX_SWIZZLE_S1_Y_Y                                                   0x00000020
7238 #define    NV40TCL_TEX_SWIZZLE_S1_Y_X                                                   0x00000030
7239 #define   NV40TCL_TEX_SWIZZLE_S1_Z_SHIFT                                                2
7240 #define   NV40TCL_TEX_SWIZZLE_S1_Z_MASK                                                 0x0000000c
7241 #define    NV40TCL_TEX_SWIZZLE_S1_Z_W                                                   0x00000000
7242 #define    NV40TCL_TEX_SWIZZLE_S1_Z_Z                                                   0x00000004
7243 #define    NV40TCL_TEX_SWIZZLE_S1_Z_Y                                                   0x00000008
7244 #define    NV40TCL_TEX_SWIZZLE_S1_Z_X                                                   0x0000000c
7245 #define   NV40TCL_TEX_SWIZZLE_S1_W_SHIFT                                                0
7246 #define   NV40TCL_TEX_SWIZZLE_S1_W_MASK                                                 0x00000003
7247 #define    NV40TCL_TEX_SWIZZLE_S1_W_W                                                   0x00000000
7248 #define    NV40TCL_TEX_SWIZZLE_S1_W_Z                                                   0x00000001
7249 #define    NV40TCL_TEX_SWIZZLE_S1_W_Y                                                   0x00000002
7250 #define    NV40TCL_TEX_SWIZZLE_S1_W_X                                                   0x00000003
7251 #define  NV40TCL_TEX_FILTER(x)                                                          (0x00001a14+((x)*32))
7252 #define  NV40TCL_TEX_FILTER__SIZE                                                       0x00000010
7253 #define   NV40TCL_TEX_FILTER_SIGNED_ALPHA                                               (1 << 31)
7254 #define   NV40TCL_TEX_FILTER_SIGNED_RED                                                 (1 << 30)
7255 #define   NV40TCL_TEX_FILTER_SIGNED_GREEN                                               (1 << 29)
7256 #define   NV40TCL_TEX_FILTER_SIGNED_BLUE                                                (1 << 28)
7257 #define   NV40TCL_TEX_FILTER_MIN_SHIFT                                                  16
7258 #define   NV40TCL_TEX_FILTER_MIN_MASK                                                   0x000f0000
7259 #define    NV40TCL_TEX_FILTER_MIN_NEAREST                                               0x00010000
7260 #define    NV40TCL_TEX_FILTER_MIN_LINEAR                                                0x00020000
7261 #define    NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_NEAREST                                0x00030000
7262 #define    NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_NEAREST                                 0x00040000
7263 #define    NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_LINEAR                                 0x00050000
7264 #define    NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_LINEAR                                  0x00060000
7265 #define   NV40TCL_TEX_FILTER_MAG_SHIFT                                                  24
7266 #define   NV40TCL_TEX_FILTER_MAG_MASK                                                   0x0f000000
7267 #define    NV40TCL_TEX_FILTER_MAG_NEAREST                                               0x01000000
7268 #define    NV40TCL_TEX_FILTER_MAG_LINEAR                                                0x02000000
7269 #define  NV40TCL_TEX_SIZE0(x)                                                           (0x00001a18+((x)*32))
7270 #define  NV40TCL_TEX_SIZE0__SIZE                                                        0x00000010
7271 #define   NV40TCL_TEX_SIZE0_H_SHIFT                                                     0
7272 #define   NV40TCL_TEX_SIZE0_H_MASK                                                      0x0000ffff
7273 #define   NV40TCL_TEX_SIZE0_W_SHIFT                                                     16
7274 #define   NV40TCL_TEX_SIZE0_W_MASK                                                      0xffff0000
7275 #define  NV40TCL_TEX_BORDER_COLOR(x)                                                    (0x00001a1c+((x)*32))
7276 #define  NV40TCL_TEX_BORDER_COLOR__SIZE                                                 0x00000010
7277 #define   NV40TCL_TEX_BORDER_COLOR_B_SHIFT                                              0
7278 #define   NV40TCL_TEX_BORDER_COLOR_B_MASK                                               0x000000ff
7279 #define   NV40TCL_TEX_BORDER_COLOR_G_SHIFT                                              8
7280 #define   NV40TCL_TEX_BORDER_COLOR_G_MASK                                               0x0000ff00
7281 #define   NV40TCL_TEX_BORDER_COLOR_R_SHIFT                                              16
7282 #define   NV40TCL_TEX_BORDER_COLOR_R_MASK                                               0x00ff0000
7283 #define   NV40TCL_TEX_BORDER_COLOR_A_SHIFT                                              24
7284 #define   NV40TCL_TEX_BORDER_COLOR_A_MASK                                               0xff000000
7285 #define  NV40TCL_VTX_ATTR_4F_X(x)                                                       (0x00001c00+((x)*16))
7286 #define  NV40TCL_VTX_ATTR_4F_X__SIZE                                                    0x00000010
7287 #define  NV40TCL_VTX_ATTR_4F_Y(x)                                                       (0x00001c04+((x)*16))
7288 #define  NV40TCL_VTX_ATTR_4F_Y__SIZE                                                    0x00000010
7289 #define  NV40TCL_VTX_ATTR_4F_Z(x)                                                       (0x00001c08+((x)*16))
7290 #define  NV40TCL_VTX_ATTR_4F_Z__SIZE                                                    0x00000010
7291 #define  NV40TCL_VTX_ATTR_4F_W(x)                                                       (0x00001c0c+((x)*16))
7292 #define  NV40TCL_VTX_ATTR_4F_W__SIZE                                                    0x00000010
7293 #define  NV40TCL_FP_CONTROL                                                             0x00001d60
7294 #define   NV40TCL_FP_CONTROL_TEMP_COUNT_SHIFT                                           24
7295 #define   NV40TCL_FP_CONTROL_TEMP_COUNT_MASK                                            0xff000000
7296 #define   NV40TCL_FP_CONTROL_KIL                                                        (1 <<  7)
7297 #define  NV40TCL_MULTISAMPLE_CONTROL                                                    0x00001d7c
7298 #define  NV40TCL_CLEAR_VALUE_DEPTH                                                      0x00001d8c
7299 #define  NV40TCL_CLEAR_VALUE_COLOR                                                      0x00001d90
7300 #define   NV40TCL_CLEAR_VALUE_COLOR_B_SHIFT                                             0
7301 #define   NV40TCL_CLEAR_VALUE_COLOR_B_MASK                                              0x000000ff
7302 #define   NV40TCL_CLEAR_VALUE_COLOR_G_SHIFT                                             8
7303 #define   NV40TCL_CLEAR_VALUE_COLOR_G_MASK                                              0x0000ff00
7304 #define   NV40TCL_CLEAR_VALUE_COLOR_R_SHIFT                                             16
7305 #define   NV40TCL_CLEAR_VALUE_COLOR_R_MASK                                              0x00ff0000
7306 #define   NV40TCL_CLEAR_VALUE_COLOR_A_SHIFT                                             24
7307 #define   NV40TCL_CLEAR_VALUE_COLOR_A_MASK                                              0xff000000
7308 #define  NV40TCL_CLEAR_BUFFERS                                                          0x00001d94
7309 #define   NV40TCL_CLEAR_BUFFERS_COLOR_A                                                 (1 <<  7)
7310 #define   NV40TCL_CLEAR_BUFFERS_COLOR_B                                                 (1 <<  6)
7311 #define   NV40TCL_CLEAR_BUFFERS_COLOR_G                                                 (1 <<  5)
7312 #define   NV40TCL_CLEAR_BUFFERS_COLOR_R                                                 (1 <<  4)
7313 #define   NV40TCL_CLEAR_BUFFERS_STENCIL                                                 (1 <<  1)
7314 #define   NV40TCL_CLEAR_BUFFERS_DEPTH                                                   (1 <<  0)
7315 #define  NV40TCL_LINE_STIPPLE_ENABLE                                                    0x00001db4
7316 #define  NV40TCL_LINE_STIPPLE_PATTERN                                                   0x00001db8
7317 #define   NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_SHIFT                                     0
7318 #define   NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_MASK                                      0x0000ffff
7319 #define   NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_SHIFT                                    16
7320 #define   NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_MASK                                     0xffff0000
7321 #define  NV40TCL_VTX_ATTR_1F(x)                                                         (0x00001e40+((x)*4))
7322 #define  NV40TCL_VTX_ATTR_1F__SIZE                                                      0x00000010
7323 #define  NV40TCL_VP_UPLOAD_FROM_ID                                                      0x00001e9c
7324 #define  NV40TCL_VP_START_FROM_ID                                                       0x00001ea0
7325 #define  NV40TCL_POINT_SIZE                                                             0x00001ee0
7326 #define  NV40TCL_POINT_SPRITE                                                           0x00001ee8
7327 #define   NV40TCL_POINT_SPRITE_ENABLE                                                   (1 <<  0)
7328 #define   NV40TCL_POINT_SPRITE_R_MODE_SHIFT                                             1
7329 #define   NV40TCL_POINT_SPRITE_R_MODE_MASK                                              0x00000006
7330 #define    NV40TCL_POINT_SPRITE_R_MODE_ZERO                                             0x00000000
7331 #define    NV40TCL_POINT_SPRITE_R_MODE_R                                                0x00000002
7332 #define    NV40TCL_POINT_SPRITE_R_MODE_S                                                0x00000004
7333 #define   NV40TCL_POINT_SPRITE_COORD_REPLACE_0                                          (1 <<  8)
7334 #define   NV40TCL_POINT_SPRITE_COORD_REPLACE_1                                          (1 <<  9)
7335 #define   NV40TCL_POINT_SPRITE_COORD_REPLACE_2                                          (1 << 10)
7336 #define   NV40TCL_POINT_SPRITE_COORD_REPLACE_3                                          (1 << 11)
7337 #define   NV40TCL_POINT_SPRITE_COORD_REPLACE_4                                          (1 << 12)
7338 #define   NV40TCL_POINT_SPRITE_COORD_REPLACE_5                                          (1 << 13)
7339 #define   NV40TCL_POINT_SPRITE_COORD_REPLACE_6                                          (1 << 14)
7340 #define   NV40TCL_POINT_SPRITE_COORD_REPLACE_7                                          (1 << 15)
7341 #define  NV40TCL_VP_UPLOAD_CONST_ID                                                     0x00001efc
7342 #define  NV40TCL_VP_UPLOAD_CONST_X(x)                                                   (0x00001f00+((x)*16))
7343 #define  NV40TCL_VP_UPLOAD_CONST_X__SIZE                                                0x00000004
7344 #define  NV40TCL_VP_UPLOAD_CONST_Y(x)                                                   (0x00001f04+((x)*16))
7345 #define  NV40TCL_VP_UPLOAD_CONST_Y__SIZE                                                0x00000004
7346 #define  NV40TCL_VP_UPLOAD_CONST_Z(x)                                                   (0x00001f08+((x)*16))
7347 #define  NV40TCL_VP_UPLOAD_CONST_Z__SIZE                                                0x00000004
7348 #define  NV40TCL_VP_UPLOAD_CONST_W(x)                                                   (0x00001f0c+((x)*16))
7349 #define  NV40TCL_VP_UPLOAD_CONST_W__SIZE                                                0x00000004
7350 #define  NV40TCL_TEX_CACHE_CTL                                                          0x00001fd8
7351 #define  NV40TCL_VP_ATTRIB_EN                                                           0x00001ff0
7352 #define  NV40TCL_VP_RESULT_EN                                                           0x00001ff4
7353
7354
7355 #define NV44TCL                                                                         0x00004497
7356
7357
7358
7359 #define NV50_2D                                                                         0x0000502d
7360
7361 #define  NV50_2D_NOP                                                                    0x00000100
7362 #define  NV50_2D_NOTIFY                                                                 0x00000104
7363 #define  NV50_2D_SERIALIZE                                                              0x00000110
7364 #define  NV50_2D_DMA_NOTIFY                                                             0x00000180
7365 #define  NV50_2D_DMA_DST                                                                0x00000184
7366 #define  NV50_2D_DMA_SRC                                                                0x00000188
7367 #define  NV50_2D_DMA_COND                                                               0x0000018c
7368 #define  NV50_2D_DST_FORMAT                                                             0x00000200
7369 #define   NV50_2D_DST_FORMAT_R32G32B32A32_FLOAT                                         0x000000c0
7370 #define   NV50_2D_DST_FORMAT_R32G32B32A32_SINT                                          0x000000c1
7371 #define   NV50_2D_DST_FORMAT_R32G32B32A32_UINT                                          0x000000c2
7372 #define   NV50_2D_DST_FORMAT_R32G32B32X32_FLOAT                                         0x000000c3
7373 #define   NV50_2D_DST_FORMAT_R16G16B16A16_UNORM                                         0x000000c6
7374 #define   NV50_2D_DST_FORMAT_R16G16B16A16_SNORM                                         0x000000c7
7375 #define   NV50_2D_DST_FORMAT_R16G16B16A16_SINT                                          0x000000c8
7376 #define   NV50_2D_DST_FORMAT_R16G16B16A16_UINT                                          0x000000c9
7377 #define   NV50_2D_DST_FORMAT_R16G16B16A16_FLOAT                                         0x000000ca
7378 #define   NV50_2D_DST_FORMAT_R32G32_FLOAT                                               0x000000cb
7379 #define   NV50_2D_DST_FORMAT_R32G32_SINT                                                0x000000cc
7380 #define   NV50_2D_DST_FORMAT_R32G32_UINT                                                0x000000cd
7381 #define   NV50_2D_DST_FORMAT_R16G16B16X16_FLOAT                                         0x000000ce
7382 #define   NV50_2D_DST_FORMAT_A8R8G8B8_UNORM                                             0x000000cf
7383 #define   NV50_2D_DST_FORMAT_A8R8G8B8_SRGB                                              0x000000d0
7384 #define   NV50_2D_DST_FORMAT_A2B10G10R10_UNORM                                          0x000000d1
7385 #define   NV50_2D_DST_FORMAT_A2B10G10R10_UINT                                           0x000000d2
7386 #define   NV50_2D_DST_FORMAT_A8B8G8R8_UNORM                                             0x000000d5
7387 #define   NV50_2D_DST_FORMAT_A8B8G8R8_SRGB                                              0x000000d6
7388 #define   NV50_2D_DST_FORMAT_A8B8G8R8_SNORM                                             0x000000d7
7389 #define   NV50_2D_DST_FORMAT_A8B8G8R8_SINT                                              0x000000d8
7390 #define   NV50_2D_DST_FORMAT_A8B8G8R8_UINT                                              0x000000d9
7391 #define   NV50_2D_DST_FORMAT_R16G16_UNORM                                               0x000000da
7392 #define   NV50_2D_DST_FORMAT_R16G16_SNORM                                               0x000000db
7393 #define   NV50_2D_DST_FORMAT_R16G16_SINT                                                0x000000dc
7394 #define   NV50_2D_DST_FORMAT_R16G16_UINT                                                0x000000dd
7395 #define   NV50_2D_DST_FORMAT_R16G16_FLOAT                                               0x000000de
7396 #define   NV50_2D_DST_FORMAT_A2R10G10B10_UNORM                                          0x000000df
7397 #define   NV50_2D_DST_FORMAT_B10G11R11_FLOAT                                            0x000000e0
7398 #define   NV50_2D_DST_FORMAT_R32_FLOAT                                                  0x000000e5
7399 #define   NV50_2D_DST_FORMAT_X8R8G8B8_UNORM                                             0x000000e6
7400 #define   NV50_2D_DST_FORMAT_X8R8G8B8_SRGB                                              0x000000e7
7401 #define   NV50_2D_DST_FORMAT_R5G6B5_UNORM                                               0x000000e8
7402 #define   NV50_2D_DST_FORMAT_A1R5G5B5_UNORM                                             0x000000e9
7403 #define   NV50_2D_DST_FORMAT_R8G8_UNORM                                                 0x000000ea
7404 #define   NV50_2D_DST_FORMAT_R8G8_SNORM                                                 0x000000eb
7405 #define   NV50_2D_DST_FORMAT_R8G8_SINT                                                  0x000000ec
7406 #define   NV50_2D_DST_FORMAT_R8G8_UINT                                                  0x000000ed
7407 #define   NV50_2D_DST_FORMAT_R16_UNORM                                                  0x000000ee
7408 #define   NV50_2D_DST_FORMAT_R16_SNORM                                                  0x000000ef
7409 #define   NV50_2D_DST_FORMAT_R16_SINT                                                   0x000000f0
7410 #define   NV50_2D_DST_FORMAT_R16_UINT                                                   0x000000f1
7411 #define   NV50_2D_DST_FORMAT_R16_FLOAT                                                  0x000000f2
7412 #define   NV50_2D_DST_FORMAT_R8_UNORM                                                   0x000000f3
7413 #define   NV50_2D_DST_FORMAT_R8_SNORM                                                   0x000000f4
7414 #define   NV50_2D_DST_FORMAT_R8_SINT                                                    0x000000f5
7415 #define   NV50_2D_DST_FORMAT_R8_UINT                                                    0x000000f6
7416 #define   NV50_2D_DST_FORMAT_A8_UNORM                                                   0x000000f7
7417 #define   NV50_2D_DST_FORMAT_X1R5G5B5_UNORM                                             0x000000f8
7418 #define   NV50_2D_DST_FORMAT_X8B8G8R8_UNORM                                             0x000000f9
7419 #define   NV50_2D_DST_FORMAT_X8B8G8R8_SRGB                                              0x000000fa
7420 #define  NV50_2D_DST_LINEAR                                                             0x00000204
7421 #define  NV50_2D_DST_TILE_MODE                                                          0x00000208
7422 #define  NV50_2D_DST_DEPTH                                                              0x0000020c
7423 #define  NV50_2D_DST_LAYER                                                              0x00000210
7424 #define  NV50_2D_DST_PITCH                                                              0x00000214
7425 #define  NV50_2D_DST_WIDTH                                                              0x00000218
7426 #define  NV50_2D_DST_HEIGHT                                                             0x0000021c
7427 #define  NV50_2D_DST_ADDRESS_HIGH                                                       0x00000220
7428 #define  NV50_2D_DST_ADDRESS_LOW                                                        0x00000224
7429 #define  NV50_2D_SRC_FORMAT                                                             0x00000230
7430 #define   NV50_2D_SRC_FORMAT_R32G32B32A32_FLOAT                                         0x000000c0
7431 #define   NV50_2D_SRC_FORMAT_R32G32B32A32_SINT                                          0x000000c1
7432 #define   NV50_2D_SRC_FORMAT_R32G32B32A32_UINT                                          0x000000c2
7433 #define   NV50_2D_SRC_FORMAT_R32G32B32X32_FLOAT                                         0x000000c3
7434 #define   NV50_2D_SRC_FORMAT_R16G16B16A16_UNORM                                         0x000000c6
7435 #define   NV50_2D_SRC_FORMAT_R16G16B16A16_SNORM                                         0x000000c7
7436 #define   NV50_2D_SRC_FORMAT_R16G16B16A16_SINT                                          0x000000c8
7437 #define   NV50_2D_SRC_FORMAT_R16G16B16A16_UINT                                          0x000000c9
7438 #define   NV50_2D_SRC_FORMAT_R16G16B16A16_FLOAT                                         0x000000ca
7439 #define   NV50_2D_SRC_FORMAT_R32G32_FLOAT                                               0x000000cb
7440 #define   NV50_2D_SRC_FORMAT_R32G32_SINT                                                0x000000cc
7441 #define   NV50_2D_SRC_FORMAT_R32G32_UINT                                                0x000000cd
7442 #define   NV50_2D_SRC_FORMAT_R16G16B16X16_FLOAT                                         0x000000ce
7443 #define   NV50_2D_SRC_FORMAT_A8R8G8B8_UNORM                                             0x000000cf
7444 #define   NV50_2D_SRC_FORMAT_A8R8G8B8_SRGB                                              0x000000d0
7445 #define   NV50_2D_SRC_FORMAT_A2B10G10R10_UNORM                                          0x000000d1
7446 #define   NV50_2D_SRC_FORMAT_A2B10G10R10_UINT                                           0x000000d2
7447 #define   NV50_2D_SRC_FORMAT_A8B8G8R8_UNORM                                             0x000000d5
7448 #define   NV50_2D_SRC_FORMAT_A8B8G8R8_SRGB                                              0x000000d6
7449 #define   NV50_2D_SRC_FORMAT_A8B8G8R8_SNORM                                             0x000000d7
7450 #define   NV50_2D_SRC_FORMAT_A8B8G8R8_SINT                                              0x000000d8
7451 #define   NV50_2D_SRC_FORMAT_A8B8G8R8_UINT                                              0x000000d9
7452 #define   NV50_2D_SRC_FORMAT_R16G16_UNORM                                               0x000000da
7453 #define   NV50_2D_SRC_FORMAT_R16G16_SNORM                                               0x000000db
7454 #define   NV50_2D_SRC_FORMAT_R16G16_SINT                                                0x000000dc
7455 #define   NV50_2D_SRC_FORMAT_R16G16_UINT                                                0x000000dd
7456 #define   NV50_2D_SRC_FORMAT_R16G16_FLOAT                                               0x000000de
7457 #define   NV50_2D_SRC_FORMAT_A2R10G10B10_UNORM                                          0x000000df
7458 #define   NV50_2D_SRC_FORMAT_B10G11R11_FLOAT                                            0x000000e0
7459 #define   NV50_2D_SRC_FORMAT_R32_FLOAT                                                  0x000000e5
7460 #define   NV50_2D_SRC_FORMAT_X8R8G8B8_UNORM                                             0x000000e6
7461 #define   NV50_2D_SRC_FORMAT_X8R8G8B8_SRGB                                              0x000000e7
7462 #define   NV50_2D_SRC_FORMAT_R5G6B5_UNORM                                               0x000000e8
7463 #define   NV50_2D_SRC_FORMAT_A1R5G5B5_UNORM                                             0x000000e9
7464 #define   NV50_2D_SRC_FORMAT_R8G8_UNORM                                                 0x000000ea
7465 #define   NV50_2D_SRC_FORMAT_R8G8_SNORM                                                 0x000000eb
7466 #define   NV50_2D_SRC_FORMAT_R8G8_SINT                                                  0x000000ec
7467 #define   NV50_2D_SRC_FORMAT_R8G8_UINT                                                  0x000000ed
7468 #define   NV50_2D_SRC_FORMAT_R16_UNORM                                                  0x000000ee
7469 #define   NV50_2D_SRC_FORMAT_R16_SNORM                                                  0x000000ef
7470 #define   NV50_2D_SRC_FORMAT_R16_SINT                                                   0x000000f0
7471 #define   NV50_2D_SRC_FORMAT_R16_UINT                                                   0x000000f1
7472 #define   NV50_2D_SRC_FORMAT_R16_FLOAT                                                  0x000000f2
7473 #define   NV50_2D_SRC_FORMAT_R8_UNORM                                                   0x000000f3
7474 #define   NV50_2D_SRC_FORMAT_R8_SNORM                                                   0x000000f4
7475 #define   NV50_2D_SRC_FORMAT_R8_SINT                                                    0x000000f5
7476 #define   NV50_2D_SRC_FORMAT_R8_UINT                                                    0x000000f6
7477 #define   NV50_2D_SRC_FORMAT_A8_UNORM                                                   0x000000f7
7478 #define   NV50_2D_SRC_FORMAT_X1R5G5B5_UNORM                                             0x000000f8
7479 #define   NV50_2D_SRC_FORMAT_X8B8G8R8_UNORM                                             0x000000f9
7480 #define   NV50_2D_SRC_FORMAT_X8B8G8R8_SRGB                                              0x000000fa
7481 #define  NV50_2D_SRC_LINEAR                                                             0x00000234
7482 #define  NV50_2D_SRC_TILE_MODE                                                          0x00000238
7483 #define  NV50_2D_SRC_DEPTH                                                              0x0000023c
7484 #define  NV50_2D_SRC_LAYER                                                              0x00000240
7485 #define  NV50_2D_SRC_PITCH                                                              0x00000244
7486 #define  NV50_2D_SRC_WIDTH                                                              0x00000248
7487 #define  NV50_2D_SRC_HEIGHT                                                             0x0000024c
7488 #define  NV50_2D_SRC_ADDRESS_HIGH                                                       0x00000250
7489 #define  NV50_2D_SRC_ADDRESS_LOW                                                        0x00000254
7490 #define  NV50_2D_COND_ADDRESS_HIGH                                                      0x00000264
7491 #define  NV50_2D_COND_ADDRESS_LOW                                                       0x00000268
7492 #define  NV50_2D_COND_MODE                                                              0x0000026c
7493 #define   NV50_2D_COND_MODE_NEVER                                                       0x00000000
7494 #define   NV50_2D_COND_MODE_ALWAYS                                                      0x00000001
7495 #define   NV50_2D_COND_MODE_RES                                                         0x00000002
7496 #define   NV50_2D_COND_MODE_NOT_RES_AND_NOT_ID                                          0x00000003
7497 #define   NV50_2D_COND_MODE_RES_OR_ID                                                   0x00000004
7498 #define  NV50_2D_CLIP_X                                                                 0x00000280
7499 #define  NV50_2D_CLIP_Y                                                                 0x00000284
7500 #define  NV50_2D_CLIP_W                                                                 0x00000288
7501 #define  NV50_2D_CLIP_H                                                                 0x0000028c
7502 #define  NV50_2D_CLIP_ENABLE                                                            0x00000290
7503 #define  NV50_2D_COLOR_KEY_FORMAT                                                       0x00000294
7504 #define   NV50_2D_COLOR_KEY_FORMAT_16BPP                                                0x00000000
7505 #define   NV50_2D_COLOR_KEY_FORMAT_15BPP                                                0x00000001
7506 #define   NV50_2D_COLOR_KEY_FORMAT_24BPP                                                0x00000002
7507 #define   NV50_2D_COLOR_KEY_FORMAT_30BPP                                                0x00000003
7508 #define   NV50_2D_COLOR_KEY_FORMAT_8BPP                                                 0x00000004
7509 #define   NV50_2D_COLOR_KEY_FORMAT_16BPP2                                               0x00000005
7510 #define   NV50_2D_COLOR_KEY_FORMAT_32BPP                                                0x00000006
7511 #define  NV50_2D_COLOR_KEY                                                              0x00000298
7512 #define  NV50_2D_COLOR_KEY_ENABLE                                                       0x0000029c
7513 #define  NV50_2D_ROP                                                                    0x000002a0
7514 #define  NV50_2D_OPERATION                                                              0x000002ac
7515 #define   NV50_2D_OPERATION_SRCCOPY_AND                                                 0x00000000
7516 #define   NV50_2D_OPERATION_ROP_AND                                                     0x00000001
7517 #define   NV50_2D_OPERATION_BLEND_AND                                                   0x00000002
7518 #define   NV50_2D_OPERATION_SRCCOPY                                                     0x00000003
7519 #define   NV50_2D_OPERATION_SRCCOPY_PREMULT                                             0x00000004
7520 #define   NV50_2D_OPERATION_BLEND_PREMULT                                               0x00000005
7521 #define  NV50_2D_PATTERN_FORMAT                                                         0x000002e8
7522 #define   NV50_2D_PATTERN_FORMAT_16BPP                                                  0x00000000
7523 #define   NV50_2D_PATTERN_FORMAT_15BPP                                                  0x00000001
7524 #define   NV50_2D_PATTERN_FORMAT_32BPP                                                  0x00000002
7525 #define   NV50_2D_PATTERN_FORMAT_8BPP                                                   0x00000003
7526 #define  NV50_2D_PATTERN_COLOR(x)                                                       (0x000002f0+((x)*4))
7527 #define  NV50_2D_PATTERN_COLOR__SIZE                                                    0x00000002
7528 #define  NV50_2D_PATTERN_BITMAP(x)                                                      (0x000002f8+((x)*4))
7529 #define  NV50_2D_PATTERN_BITMAP__SIZE                                                   0x00000002
7530 #define  NV50_2D_DRAW_SHAPE                                                             0x00000580
7531 #define   NV50_2D_DRAW_SHAPE_POINTS                                                     0x00000000
7532 #define   NV50_2D_DRAW_SHAPE_LINES                                                      0x00000001
7533 #define   NV50_2D_DRAW_SHAPE_LINE_STRIP                                                 0x00000002
7534 #define   NV50_2D_DRAW_SHAPE_TRIANGLES                                                  0x00000003
7535 #define   NV50_2D_DRAW_SHAPE_RECTANGLES                                                 0x00000004
7536 #define  NV50_2D_DRAW_COLOR_FORMAT                                                      0x00000584
7537 #define   NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_FLOAT                                  0x000000c0
7538 #define   NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_SINT                                   0x000000c1
7539 #define   NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_UINT                                   0x000000c2
7540 #define   NV50_2D_DRAW_COLOR_FORMAT_R32G32B32X32_FLOAT                                  0x000000c3
7541 #define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_UNORM                                  0x000000c6
7542 #define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_SNORM                                  0x000000c7
7543 #define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_SINT                                   0x000000c8
7544 #define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_UINT                                   0x000000c9
7545 #define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_FLOAT                                  0x000000ca
7546 #define   NV50_2D_DRAW_COLOR_FORMAT_R32G32_FLOAT                                        0x000000cb
7547 #define   NV50_2D_DRAW_COLOR_FORMAT_R32G32_SINT                                         0x000000cc
7548 #define   NV50_2D_DRAW_COLOR_FORMAT_R32G32_UINT                                         0x000000cd
7549 #define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16X16_FLOAT                                  0x000000ce
7550 #define   NV50_2D_DRAW_COLOR_FORMAT_A8R8G8B8_UNORM                                      0x000000cf
7551 #define   NV50_2D_DRAW_COLOR_FORMAT_A8R8G8B8_SRGB                                       0x000000d0
7552 #define   NV50_2D_DRAW_COLOR_FORMAT_A2B10G10R10_UNORM                                   0x000000d1
7553 #define   NV50_2D_DRAW_COLOR_FORMAT_A2B10G10R10_UINT                                    0x000000d2
7554 #define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_UNORM                                      0x000000d5
7555 #define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SRGB                                       0x000000d6
7556 #define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SNORM                                      0x000000d7
7557 #define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SINT                                       0x000000d8
7558 #define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_UINT                                       0x000000d9
7559 #define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_UNORM                                        0x000000da
7560 #define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_SNORM                                        0x000000db
7561 #define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_SINT                                         0x000000dc
7562 #define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_UINT                                         0x000000dd
7563 #define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_FLOAT                                        0x000000de
7564 #define   NV50_2D_DRAW_COLOR_FORMAT_A2R10G10B10_UNORM                                   0x000000df
7565 #define   NV50_2D_DRAW_COLOR_FORMAT_B10G11R11_FLOAT                                     0x000000e0
7566 #define   NV50_2D_DRAW_COLOR_FORMAT_R32_FLOAT                                           0x000000e5
7567 #define   NV50_2D_DRAW_COLOR_FORMAT_X8R8G8B8_UNORM                                      0x000000e6
7568 #define   NV50_2D_DRAW_COLOR_FORMAT_X8R8G8B8_SRGB                                       0x000000e7
7569 #define   NV50_2D_DRAW_COLOR_FORMAT_R5G6B5_UNORM                                        0x000000e8
7570 #define   NV50_2D_DRAW_COLOR_FORMAT_A1R5G5B5_UNORM                                      0x000000e9
7571 #define   NV50_2D_DRAW_COLOR_FORMAT_R8G8_UNORM                                          0x000000ea
7572 #define   NV50_2D_DRAW_COLOR_FORMAT_R8G8_SNORM                                          0x000000eb
7573 #define   NV50_2D_DRAW_COLOR_FORMAT_R8G8_SINT                                           0x000000ec
7574 #define   NV50_2D_DRAW_COLOR_FORMAT_R8G8_UINT                                           0x000000ed
7575 #define   NV50_2D_DRAW_COLOR_FORMAT_R16_UNORM                                           0x000000ee
7576 #define   NV50_2D_DRAW_COLOR_FORMAT_R16_SNORM                                           0x000000ef
7577 #define   NV50_2D_DRAW_COLOR_FORMAT_R16_SINT                                            0x000000f0
7578 #define   NV50_2D_DRAW_COLOR_FORMAT_R16_UINT                                            0x000000f1
7579 #define   NV50_2D_DRAW_COLOR_FORMAT_R16_FLOAT                                           0x000000f2
7580 #define   NV50_2D_DRAW_COLOR_FORMAT_R8_UNORM                                            0x000000f3
7581 #define   NV50_2D_DRAW_COLOR_FORMAT_R8_SNORM                                            0x000000f4
7582 #define   NV50_2D_DRAW_COLOR_FORMAT_R8_SINT                                             0x000000f5
7583 #define   NV50_2D_DRAW_COLOR_FORMAT_R8_UINT                                             0x000000f6
7584 #define   NV50_2D_DRAW_COLOR_FORMAT_A8_UNORM                                            0x000000f7
7585 #define   NV50_2D_DRAW_COLOR_FORMAT_X1R5G5B5_UNORM                                      0x000000f8
7586 #define   NV50_2D_DRAW_COLOR_FORMAT_X8B8G8R8_UNORM                                      0x000000f9
7587 #define   NV50_2D_DRAW_COLOR_FORMAT_X8B8G8R8_SRGB                                       0x000000fa
7588 #define  NV50_2D_DRAW_COLOR                                                             0x00000588
7589 #define  NV50_2D_DRAW_POINT16                                                           0x000005e0
7590 #define   NV50_2D_DRAW_POINT16_X_SHIFT                                                  0
7591 #define   NV50_2D_DRAW_POINT16_X_MASK                                                   0x0000ffff
7592 #define   NV50_2D_DRAW_POINT16_Y_SHIFT                                                  16
7593 #define   NV50_2D_DRAW_POINT16_Y_MASK                                                   0xffff0000
7594 #define  NV50_2D_DRAW_POINT32_X(x)                                                      (0x00000600+((x)*8))
7595 #define  NV50_2D_DRAW_POINT32_X__SIZE                                                   0x00000040
7596 #define  NV50_2D_DRAW_POINT32_Y(x)                                                      (0x00000604+((x)*8))
7597 #define  NV50_2D_DRAW_POINT32_Y__SIZE                                                   0x00000040
7598 #define  NV50_2D_SIFC_BITMAP_ENABLE                                                     0x00000800
7599 #define  NV50_2D_SIFC_FORMAT                                                            0x00000804
7600 #define   NV50_2D_SIFC_FORMAT_R32G32B32A32_FLOAT                                        0x000000c0
7601 #define   NV50_2D_SIFC_FORMAT_R32G32B32A32_SINT                                         0x000000c1
7602 #define   NV50_2D_SIFC_FORMAT_R32G32B32A32_UINT                                         0x000000c2
7603 #define   NV50_2D_SIFC_FORMAT_R32G32B32X32_FLOAT                                        0x000000c3
7604 #define   NV50_2D_SIFC_FORMAT_R16G16B16A16_UNORM                                        0x000000c6
7605 #define   NV50_2D_SIFC_FORMAT_R16G16B16A16_SNORM                                        0x000000c7
7606 #define   NV50_2D_SIFC_FORMAT_R16G16B16A16_SINT                                         0x000000c8
7607 #define   NV50_2D_SIFC_FORMAT_R16G16B16A16_UINT                                         0x000000c9
7608 #define   NV50_2D_SIFC_FORMAT_R16G16B16A16_FLOAT                                        0x000000ca
7609 #define   NV50_2D_SIFC_FORMAT_R32G32_FLOAT                                              0x000000cb
7610 #define   NV50_2D_SIFC_FORMAT_R32G32_SINT                                               0x000000cc
7611 #define   NV50_2D_SIFC_FORMAT_R32G32_UINT                                               0x000000cd
7612 #define   NV50_2D_SIFC_FORMAT_R16G16B16X16_FLOAT                                        0x000000ce
7613 #define   NV50_2D_SIFC_FORMAT_A8R8G8B8_UNORM                                            0x000000cf
7614 #define   NV50_2D_SIFC_FORMAT_A8R8G8B8_SRGB                                             0x000000d0
7615 #define   NV50_2D_SIFC_FORMAT_A2B10G10R10_UNORM                                         0x000000d1
7616 #define   NV50_2D_SIFC_FORMAT_A2B10G10R10_UINT                                          0x000000d2
7617 #define   NV50_2D_SIFC_FORMAT_A8B8G8R8_UNORM                                            0x000000d5
7618 #define   NV50_2D_SIFC_FORMAT_A8B8G8R8_SRGB                                             0x000000d6
7619 #define   NV50_2D_SIFC_FORMAT_A8B8G8R8_SNORM                                            0x000000d7
7620 #define   NV50_2D_SIFC_FORMAT_A8B8G8R8_SINT                                             0x000000d8
7621 #define   NV50_2D_SIFC_FORMAT_A8B8G8R8_UINT                                             0x000000d9
7622 #define   NV50_2D_SIFC_FORMAT_R16G16_UNORM                                              0x000000da
7623 #define   NV50_2D_SIFC_FORMAT_R16G16_SNORM                                              0x000000db
7624 #define   NV50_2D_SIFC_FORMAT_R16G16_SINT                                               0x000000dc
7625 #define   NV50_2D_SIFC_FORMAT_R16G16_UINT                                               0x000000dd
7626 #define   NV50_2D_SIFC_FORMAT_R16G16_FLOAT                                              0x000000de
7627 #define   NV50_2D_SIFC_FORMAT_A2R10G10B10_UNORM                                         0x000000df
7628 #define   NV50_2D_SIFC_FORMAT_B10G11R11_FLOAT                                           0x000000e0
7629 #define   NV50_2D_SIFC_FORMAT_R32_FLOAT                                                 0x000000e5
7630 #define   NV50_2D_SIFC_FORMAT_X8R8G8B8_UNORM                                            0x000000e6
7631 #define   NV50_2D_SIFC_FORMAT_X8R8G8B8_SRGB                                             0x000000e7
7632 #define   NV50_2D_SIFC_FORMAT_R5G6B5_UNORM                                              0x000000e8
7633 #define   NV50_2D_SIFC_FORMAT_A1R5G5B5_UNORM                                            0x000000e9
7634 #define   NV50_2D_SIFC_FORMAT_R8G8_UNORM                                                0x000000ea
7635 #define   NV50_2D_SIFC_FORMAT_R8G8_SNORM                                                0x000000eb
7636 #define   NV50_2D_SIFC_FORMAT_R8G8_SINT                                                 0x000000ec
7637 #define   NV50_2D_SIFC_FORMAT_R8G8_UINT                                                 0x000000ed
7638 #define   NV50_2D_SIFC_FORMAT_R16_UNORM                                                 0x000000ee
7639 #define   NV50_2D_SIFC_FORMAT_R16_SNORM                                                 0x000000ef
7640 #define   NV50_2D_SIFC_FORMAT_R16_SINT                                                  0x000000f0
7641 #define   NV50_2D_SIFC_FORMAT_R16_UINT                                                  0x000000f1
7642 #define   NV50_2D_SIFC_FORMAT_R16_FLOAT                                                 0x000000f2
7643 #define   NV50_2D_SIFC_FORMAT_R8_UNORM                                                  0x000000f3
7644 #define   NV50_2D_SIFC_FORMAT_R8_SNORM                                                  0x000000f4
7645 #define   NV50_2D_SIFC_FORMAT_R8_SINT                                                   0x000000f5
7646 #define   NV50_2D_SIFC_FORMAT_R8_UINT                                                   0x000000f6
7647 #define   NV50_2D_SIFC_FORMAT_A8_UNORM                                                  0x000000f7
7648 #define   NV50_2D_SIFC_FORMAT_X1R5G5B5_UNORM                                            0x000000f8
7649 #define   NV50_2D_SIFC_FORMAT_X8B8G8R8_UNORM                                            0x000000f9
7650 #define   NV50_2D_SIFC_FORMAT_X8B8G8R8_SRGB                                             0x000000fa
7651 #define  NV50_2D_SIFC_BITMAP_UNK808                                                     0x00000808
7652 #define  NV50_2D_SIFC_BITMAP_LSB_FIRST                                                  0x0000080c
7653 #define  NV50_2D_SIFC_BITMAP_LINE_PACK_MODE                                             0x00000810
7654 #define   NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_PACKED                                     0x00000000
7655 #define   NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_BYTE                                 0x00000001
7656 #define   NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_WORD                                 0x00000002
7657 #define  NV50_2D_SIFC_BITMAP_COLOR_BIT0                                                 0x00000814
7658 #define  NV50_2D_SIFC_BITMAP_COLOR_BIT1                                                 0x00000818
7659 #define  NV50_2D_SIFC_BITMAP_WRITE_BIT0_ENABLE                                          0x0000081c
7660 #define  NV50_2D_SIFC_WIDTH                                                             0x00000838
7661 #define  NV50_2D_SIFC_HEIGHT                                                            0x0000083c
7662 #define  NV50_2D_SIFC_DX_DU_FRACT                                                       0x00000840
7663 #define  NV50_2D_SIFC_DX_DU_INT                                                         0x00000844
7664 #define  NV50_2D_SIFC_DY_DV_FRACT                                                       0x00000848
7665 #define  NV50_2D_SIFC_DY_DV_INT                                                         0x0000084c
7666 #define  NV50_2D_SIFC_DST_X_FRACT                                                       0x00000850
7667 #define  NV50_2D_SIFC_DST_X_INT                                                         0x00000854
7668 #define  NV50_2D_SIFC_DST_Y_FRACT                                                       0x00000858
7669 #define  NV50_2D_SIFC_DST_Y_INT                                                         0x0000085c
7670 #define  NV50_2D_SIFC_DATA                                                              0x00000860
7671 #define  NV50_2D_BLIT_DST_X                                                             0x000008b0
7672 #define  NV50_2D_BLIT_DST_Y                                                             0x000008b4
7673 #define  NV50_2D_BLIT_DST_W                                                             0x000008b8
7674 #define  NV50_2D_BLIT_DST_H                                                             0x000008bc
7675 #define  NV50_2D_BLIT_DU_DX_FRACT                                                       0x000008c0
7676 #define  NV50_2D_BLIT_DU_DX_INT                                                         0x000008c4
7677 #define  NV50_2D_BLIT_DV_DY_FRACT                                                       0x000008c8
7678 #define  NV50_2D_BLIT_DV_DY_INT                                                         0x000008cc
7679 #define  NV50_2D_BLIT_SRC_X_FRACT                                                       0x000008d0
7680 #define  NV50_2D_BLIT_SRC_X_INT                                                         0x000008d4
7681 #define  NV50_2D_BLIT_SRC_Y_FRACT                                                       0x000008d8
7682 #define  NV50_2D_BLIT_SRC_Y_INT                                                         0x000008dc
7683
7684
7685 #define NV50TCL                                                                         0x00005097
7686
7687 #define  NV50TCL_NOP                                                                    0x00000100
7688 #define  NV50TCL_NOTIFY                                                                 0x00000104
7689 #define  NV50TCL_SERIALIZE                                                              0x00000110
7690 #define  NV50TCL_DMA_NOTIFY                                                             0x00000180
7691 #define  NV50TCL_DMA_ZETA                                                               0x00000184
7692 #define  NV50TCL_DMA_QUERY                                                              0x00000188
7693 #define  NV50TCL_DMA_VTXBUF0                                                            0x0000018c
7694 #define  NV50TCL_DMA_LOCAL                                                              0x00000190
7695 #define  NV50TCL_DMA_STACK                                                              0x00000194
7696 #define  NV50TCL_DMA_CODE_CB                                                            0x00000198
7697 #define  NV50TCL_DMA_TSC                                                                0x0000019c
7698 #define  NV50TCL_DMA_TIC                                                                0x000001a0
7699 #define  NV50TCL_DMA_TEXTURE                                                            0x000001a4
7700 #define  NV50TCL_DMA_STRMOUT                                                            0x000001a8
7701 #define  NV50TCL_DMA_UNK01AC                                                            0x000001ac
7702 #define  NV50TCL_DMA_COLOR(x)                                                           (0x000001c0+((x)*4))
7703 #define  NV50TCL_DMA_COLOR__SIZE                                                        0x00000008
7704 #define  NV50TCL_RT_ADDRESS_HIGH(x)                                                     (0x00000200+((x)*32))
7705 #define  NV50TCL_RT_ADDRESS_HIGH__SIZE                                                  0x00000008
7706 #define  NV50TCL_RT_ADDRESS_LOW(x)                                                      (0x00000204+((x)*32))
7707 #define  NV50TCL_RT_ADDRESS_LOW__SIZE                                                   0x00000008
7708 #define  NV50TCL_RT_FORMAT(x)                                                           (0x00000208+((x)*32))
7709 #define  NV50TCL_RT_FORMAT__SIZE                                                        0x00000008
7710 #define   NV50TCL_RT_FORMAT_R32G32B32A32_FLOAT                                          0x000000c0
7711 #define   NV50TCL_RT_FORMAT_R32G32B32A32_SINT                                           0x000000c1
7712 #define   NV50TCL_RT_FORMAT_R32G32B32A32_UINT                                           0x000000c2
7713 #define   NV50TCL_RT_FORMAT_R32G32B32X32_FLOAT                                          0x000000c3
7714 #define   NV50TCL_RT_FORMAT_R16G16B16A16_UNORM                                          0x000000c6
7715 #define   NV50TCL_RT_FORMAT_R16G16B16A16_SNORM                                          0x000000c7
7716 #define   NV50TCL_RT_FORMAT_R16G16B16A16_SINT                                           0x000000c8
7717 #define   NV50TCL_RT_FORMAT_R16G16B16A16_UINT                                           0x000000c9
7718 #define   NV50TCL_RT_FORMAT_R16G16B16A16_FLOAT                                          0x000000ca
7719 #define   NV50TCL_RT_FORMAT_R32G32_FLOAT                                                0x000000cb
7720 #define   NV50TCL_RT_FORMAT_R32G32_SINT                                                 0x000000cc
7721 #define   NV50TCL_RT_FORMAT_R32G32_UINT                                                 0x000000cd
7722 #define   NV50TCL_RT_FORMAT_R16G16B16X16_FLOAT                                          0x000000ce
7723 #define   NV50TCL_RT_FORMAT_A8R8G8B8_UNORM                                              0x000000cf
7724 #define   NV50TCL_RT_FORMAT_A8R8G8B8_SRGB                                               0x000000d0
7725 #define   NV50TCL_RT_FORMAT_A2B10G10R10_UNORM                                           0x000000d1
7726 #define   NV50TCL_RT_FORMAT_A2B10G10R10_UINT                                            0x000000d2
7727 #define   NV50TCL_RT_FORMAT_A8B8G8R8_UNORM                                              0x000000d5
7728 #define   NV50TCL_RT_FORMAT_A8B8G8R8_SRGB                                               0x000000d6
7729 #define   NV50TCL_RT_FORMAT_A8B8G8R8_SNORM                                              0x000000d7
7730 #define   NV50TCL_RT_FORMAT_A8B8G8R8_SINT                                               0x000000d8
7731 #define   NV50TCL_RT_FORMAT_A8B8G8R8_UINT                                               0x000000d9
7732 #define   NV50TCL_RT_FORMAT_R16G16_UNORM                                                0x000000da
7733 #define   NV50TCL_RT_FORMAT_R16G16_SNORM                                                0x000000db
7734 #define   NV50TCL_RT_FORMAT_R16G16_SINT                                                 0x000000dc
7735 #define   NV50TCL_RT_FORMAT_R16G16_UINT                                                 0x000000dd
7736 #define   NV50TCL_RT_FORMAT_R16G16_FLOAT                                                0x000000de
7737 #define   NV50TCL_RT_FORMAT_A2R10G10B10_UNORM                                           0x000000df
7738 #define   NV50TCL_RT_FORMAT_B10G11R11_FLOAT                                             0x000000e0
7739 #define   NV50TCL_RT_FORMAT_R32_FLOAT                                                   0x000000e5
7740 #define   NV50TCL_RT_FORMAT_X8R8G8B8_UNORM                                              0x000000e6
7741 #define   NV50TCL_RT_FORMAT_X8R8G8B8_SRGB                                               0x000000e7
7742 #define   NV50TCL_RT_FORMAT_R5G6B5_UNORM                                                0x000000e8
7743 #define   NV50TCL_RT_FORMAT_A1R5G5B5_UNORM                                              0x000000e9
7744 #define   NV50TCL_RT_FORMAT_R8G8_UNORM                                                  0x000000ea
7745 #define   NV50TCL_RT_FORMAT_R8G8_SNORM                                                  0x000000eb
7746 #define   NV50TCL_RT_FORMAT_R8G8_SINT                                                   0x000000ec
7747 #define   NV50TCL_RT_FORMAT_R8G8_UINT                                                   0x000000ed
7748 #define   NV50TCL_RT_FORMAT_R16_UNORM                                                   0x000000ee
7749 #define   NV50TCL_RT_FORMAT_R16_SNORM                                                   0x000000ef
7750 #define   NV50TCL_RT_FORMAT_R16_SINT                                                    0x000000f0
7751 #define   NV50TCL_RT_FORMAT_R16_UINT                                                    0x000000f1
7752 #define   NV50TCL_RT_FORMAT_R16_FLOAT                                                   0x000000f2
7753 #define   NV50TCL_RT_FORMAT_R8_UNORM                                                    0x000000f3
7754 #define   NV50TCL_RT_FORMAT_R8_SNORM                                                    0x000000f4
7755 #define   NV50TCL_RT_FORMAT_R8_SINT                                                     0x000000f5
7756 #define   NV50TCL_RT_FORMAT_R8_UINT                                                     0x000000f6
7757 #define   NV50TCL_RT_FORMAT_A8_UNORM                                                    0x000000f7
7758 #define   NV50TCL_RT_FORMAT_X1R5G5B5_UNORM                                              0x000000f8
7759 #define   NV50TCL_RT_FORMAT_X8B8G8R8_UNORM                                              0x000000f9
7760 #define   NV50TCL_RT_FORMAT_X8B8G8R8_SRGB                                               0x000000fa
7761 #define  NV50TCL_RT_TILE_MODE(x)                                                        (0x0000020c+((x)*32))
7762 #define  NV50TCL_RT_TILE_MODE__SIZE                                                     0x00000008
7763 #define  NV50TCL_RT_LAYER_STRIDE(x)                                                     (0x00000210+((x)*32))
7764 #define  NV50TCL_RT_LAYER_STRIDE__SIZE                                                  0x00000008
7765 #define  NV50TCL_VTX_ATTR_1F(x)                                                         (0x00000300+((x)*4))
7766 #define  NV50TCL_VTX_ATTR_1F__SIZE                                                      0x00000010
7767 #define  NV50TCL_VTX_ATTR_2H(x)                                                         (0x00000340+((x)*4))
7768 #define  NV50TCL_VTX_ATTR_2H__SIZE                                                      0x00000010
7769 #define   NV50TCL_VTX_ATTR_2H_X_SHIFT                                                   0
7770 #define   NV50TCL_VTX_ATTR_2H_X_MASK                                                    0x0000ffff
7771 #define   NV50TCL_VTX_ATTR_2H_Y_SHIFT                                                   16
7772 #define   NV50TCL_VTX_ATTR_2H_Y_MASK                                                    0xffff0000
7773 #define  NV50TCL_VTX_ATTR_2F_X(x)                                                       (0x00000380+((x)*8))
7774 #define  NV50TCL_VTX_ATTR_2F_X__SIZE                                                    0x00000010
7775 #define  NV50TCL_VTX_ATTR_2F_Y(x)                                                       (0x00000384+((x)*8))
7776 #define  NV50TCL_VTX_ATTR_2F_Y__SIZE                                                    0x00000010
7777 #define  NV50TCL_VTX_ATTR_3F_X(x)                                                       (0x00000400+((x)*16))
7778 #define  NV50TCL_VTX_ATTR_3F_X__SIZE                                                    0x00000010
7779 #define  NV50TCL_VTX_ATTR_3F_Y(x)                                                       (0x00000404+((x)*16))
7780 #define  NV50TCL_VTX_ATTR_3F_Y__SIZE                                                    0x00000010
7781 #define  NV50TCL_VTX_ATTR_3F_Z(x)                                                       (0x00000408+((x)*16))
7782 #define  NV50TCL_VTX_ATTR_3F_Z__SIZE                                                    0x00000010
7783 #define  NV50TCL_VTX_ATTR_4F_X(x)                                                       (0x00000500+((x)*16))
7784 #define  NV50TCL_VTX_ATTR_4F_X__SIZE                                                    0x00000010
7785 #define  NV50TCL_VTX_ATTR_4F_Y(x)                                                       (0x00000504+((x)*16))
7786 #define  NV50TCL_VTX_ATTR_4F_Y__SIZE                                                    0x00000010
7787 #define  NV50TCL_VTX_ATTR_4F_Z(x)                                                       (0x00000508+((x)*16))
7788 #define  NV50TCL_VTX_ATTR_4F_Z__SIZE                                                    0x00000010
7789 #define  NV50TCL_VTX_ATTR_4F_W(x)                                                       (0x0000050c+((x)*16))
7790 #define  NV50TCL_VTX_ATTR_4F_W__SIZE                                                    0x00000010
7791 #define  NV50TCL_VTX_ATTR_4H_0(x)                                                       (0x00000600+((x)*8))
7792 #define  NV50TCL_VTX_ATTR_4H_0__SIZE                                                    0x00000010
7793 #define   NV50TCL_VTX_ATTR_4H_0_X_SHIFT                                                 0
7794 #define   NV50TCL_VTX_ATTR_4H_0_X_MASK                                                  0x0000ffff
7795 #define   NV50TCL_VTX_ATTR_4H_0_Y_SHIFT                                                 16
7796 #define   NV50TCL_VTX_ATTR_4H_0_Y_MASK                                                  0xffff0000
7797 #define  NV50TCL_VTX_ATTR_4H_1(x)                                                       (0x00000604+((x)*8))
7798 #define  NV50TCL_VTX_ATTR_4H_1__SIZE                                                    0x00000010
7799 #define   NV50TCL_VTX_ATTR_4H_1_Z_SHIFT                                                 0
7800 #define   NV50TCL_VTX_ATTR_4H_1_Z_MASK                                                  0x0000ffff
7801 #define   NV50TCL_VTX_ATTR_4H_1_W_SHIFT                                                 16
7802 #define   NV50TCL_VTX_ATTR_4H_1_W_MASK                                                  0xffff0000
7803 #define  NV50TCL_VTX_ATTR_2I(x)                                                         (0x00000680+((x)*4))
7804 #define  NV50TCL_VTX_ATTR_2I__SIZE                                                      0x00000010
7805 #define   NV50TCL_VTX_ATTR_2I_X_SHIFT                                                   0
7806 #define   NV50TCL_VTX_ATTR_2I_X_MASK                                                    0x0000ffff
7807 #define   NV50TCL_VTX_ATTR_2I_Y_SHIFT                                                   16
7808 #define   NV50TCL_VTX_ATTR_2I_Y_MASK                                                    0xffff0000
7809 #define  NV50TCL_VTX_ATTR_2NI(x)                                                        (0x000006c0+((x)*4))
7810 #define  NV50TCL_VTX_ATTR_2NI__SIZE                                                     0x00000010
7811 #define   NV50TCL_VTX_ATTR_2NI_X_SHIFT                                                  0
7812 #define   NV50TCL_VTX_ATTR_2NI_X_MASK                                                   0x0000ffff
7813 #define   NV50TCL_VTX_ATTR_2NI_Y_SHIFT                                                  16
7814 #define   NV50TCL_VTX_ATTR_2NI_Y_MASK                                                   0xffff0000
7815 #define  NV50TCL_VTX_ATTR_4I_0(x)                                                       (0x00000700+((x)*8))
7816 #define  NV50TCL_VTX_ATTR_4I_0__SIZE                                                    0x00000010
7817 #define   NV50TCL_VTX_ATTR_4I_0_X_SHIFT                                                 0
7818 #define   NV50TCL_VTX_ATTR_4I_0_X_MASK                                                  0x0000ffff
7819 #define   NV50TCL_VTX_ATTR_4I_0_Y_SHIFT                                                 16
7820 #define   NV50TCL_VTX_ATTR_4I_0_Y_MASK                                                  0xffff0000
7821 #define  NV50TCL_VTX_ATTR_4I_1(x)                                                       (0x00000704+((x)*8))
7822 #define  NV50TCL_VTX_ATTR_4I_1__SIZE                                                    0x00000010
7823 #define   NV50TCL_VTX_ATTR_4I_1_Z_SHIFT                                                 0
7824 #define   NV50TCL_VTX_ATTR_4I_1_Z_MASK                                                  0x0000ffff
7825 #define   NV50TCL_VTX_ATTR_4I_1_W_SHIFT                                                 16
7826 #define   NV50TCL_VTX_ATTR_4I_1_W_MASK                                                  0xffff0000
7827 #define  NV50TCL_VTX_ATTR_4NI_0(x)                                                      (0x00000780+((x)*8))
7828 #define  NV50TCL_VTX_ATTR_4NI_0__SIZE                                                   0x00000010
7829 #define   NV50TCL_VTX_ATTR_4NI_0_X_SHIFT                                                0
7830 #define   NV50TCL_VTX_ATTR_4NI_0_X_MASK                                                 0x0000ffff
7831 #define   NV50TCL_VTX_ATTR_4NI_0_Y_SHIFT                                                16
7832 #define   NV50TCL_VTX_ATTR_4NI_0_Y_MASK                                                 0xffff0000
7833 #define  NV50TCL_VTX_ATTR_4NI_1(x)                                                      (0x00000784+((x)*8))
7834 #define  NV50TCL_VTX_ATTR_4NI_1__SIZE                                                   0x00000010
7835 #define   NV50TCL_VTX_ATTR_4NI_1_Z_SHIFT                                                0
7836 #define   NV50TCL_VTX_ATTR_4NI_1_Z_MASK                                                 0x0000ffff
7837 #define   NV50TCL_VTX_ATTR_4NI_1_W_SHIFT                                                16
7838 #define   NV50TCL_VTX_ATTR_4NI_1_W_MASK                                                 0xffff0000
7839 #define  NV50TCL_VTX_ATTR_4UB(x)                                                        (0x00000800+((x)*4))
7840 #define  NV50TCL_VTX_ATTR_4UB__SIZE                                                     0x00000010
7841 #define   NV50TCL_VTX_ATTR_4UB_X_SHIFT                                                  0
7842 #define   NV50TCL_VTX_ATTR_4UB_X_MASK                                                   0x000000ff
7843 #define   NV50TCL_VTX_ATTR_4UB_Y_SHIFT                                                  8
7844 #define   NV50TCL_VTX_ATTR_4UB_Y_MASK                                                   0x0000ff00
7845 #define   NV50TCL_VTX_ATTR_4UB_Z_SHIFT                                                  16
7846 #define   NV50TCL_VTX_ATTR_4UB_Z_MASK                                                   0x00ff0000
7847 #define   NV50TCL_VTX_ATTR_4UB_W_SHIFT                                                  24
7848 #define   NV50TCL_VTX_ATTR_4UB_W_MASK                                                   0xff000000
7849 #define  NV50TCL_VTX_ATTR_4B(x)                                                         (0x00000840+((x)*4))
7850 #define  NV50TCL_VTX_ATTR_4B__SIZE                                                      0x00000010
7851 #define   NV50TCL_VTX_ATTR_4B_X_SHIFT                                                   0
7852 #define   NV50TCL_VTX_ATTR_4B_X_MASK                                                    0x000000ff
7853 #define   NV50TCL_VTX_ATTR_4B_Y_SHIFT                                                   8
7854 #define   NV50TCL_VTX_ATTR_4B_Y_MASK                                                    0x0000ff00
7855 #define   NV50TCL_VTX_ATTR_4B_Z_SHIFT                                                   16
7856 #define   NV50TCL_VTX_ATTR_4B_Z_MASK                                                    0x00ff0000
7857 #define   NV50TCL_VTX_ATTR_4B_W_SHIFT                                                   24
7858 #define   NV50TCL_VTX_ATTR_4B_W_MASK                                                    0xff000000
7859 #define  NV50TCL_VTX_ATTR_4NUB(x)                                                       (0x00000880+((x)*4))
7860 #define  NV50TCL_VTX_ATTR_4NUB__SIZE                                                    0x00000010
7861 #define   NV50TCL_VTX_ATTR_4NUB_X_SHIFT                                                 0
7862 #define   NV50TCL_VTX_ATTR_4NUB_X_MASK                                                  0x000000ff
7863 #define   NV50TCL_VTX_ATTR_4NUB_Y_SHIFT                                                 8
7864 #define   NV50TCL_VTX_ATTR_4NUB_Y_MASK                                                  0x0000ff00
7865 #define   NV50TCL_VTX_ATTR_4NUB_Z_SHIFT                                                 16
7866 #define   NV50TCL_VTX_ATTR_4NUB_Z_MASK                                                  0x00ff0000
7867 #define   NV50TCL_VTX_ATTR_4NUB_W_SHIFT                                                 24
7868 #define   NV50TCL_VTX_ATTR_4NUB_W_MASK                                                  0xff000000
7869 #define  NV50TCL_VTX_ATTR_4NB(x)                                                        (0x000008c0+((x)*4))
7870 #define  NV50TCL_VTX_ATTR_4NB__SIZE                                                     0x00000010
7871 #define   NV50TCL_VTX_ATTR_4NB_X_SHIFT                                                  0
7872 #define   NV50TCL_VTX_ATTR_4NB_X_MASK                                                   0x000000ff
7873 #define   NV50TCL_VTX_ATTR_4NB_Y_SHIFT                                                  8
7874 #define   NV50TCL_VTX_ATTR_4NB_Y_MASK                                                   0x0000ff00
7875 #define   NV50TCL_VTX_ATTR_4NB_Z_SHIFT                                                  16
7876 #define   NV50TCL_VTX_ATTR_4NB_Z_MASK                                                   0x00ff0000
7877 #define   NV50TCL_VTX_ATTR_4NB_W_SHIFT                                                  24
7878 #define   NV50TCL_VTX_ATTR_4NB_W_MASK                                                   0xff000000
7879 #define  NV50TCL_VERTEX_ARRAY_FORMAT(x)                                                 (0x00000900+((x)*16))
7880 #define  NV50TCL_VERTEX_ARRAY_FORMAT__SIZE                                              0x00000010
7881 #define   NV50TCL_VERTEX_ARRAY_FORMAT_STRIDE_SHIFT                                      0
7882 #define   NV50TCL_VERTEX_ARRAY_FORMAT_STRIDE_MASK                                       0x00000fff
7883 #define   NV50TCL_VERTEX_ARRAY_FORMAT_ENABLE                                            (1 << 29)
7884 #define  NV50TCL_VERTEX_ARRAY_START_HIGH(x)                                             (0x00000904+((x)*16))
7885 #define  NV50TCL_VERTEX_ARRAY_START_HIGH__SIZE                                          0x00000010
7886 #define  NV50TCL_VERTEX_ARRAY_START_LOW(x)                                              (0x00000908+((x)*16))
7887 #define  NV50TCL_VERTEX_ARRAY_START_LOW__SIZE                                           0x00000010
7888 #define  NV50TCL_VIEWPORT_SCALE_X(x)                                                    (0x00000a00+((x)*32))
7889 #define  NV50TCL_VIEWPORT_SCALE_X__SIZE                                                 0x00000010
7890 #define  NV50TCL_VIEWPORT_SCALE_Y(x)                                                    (0x00000a04+((x)*32))
7891 #define  NV50TCL_VIEWPORT_SCALE_Y__SIZE                                                 0x00000010
7892 #define  NV50TCL_VIEWPORT_SCALE_Z(x)                                                    (0x00000a08+((x)*32))
7893 #define  NV50TCL_VIEWPORT_SCALE_Z__SIZE                                                 0x00000010
7894 #define  NV50TCL_VIEWPORT_TRANSLATE_X(x)                                                (0x00000a0c+((x)*32))
7895 #define  NV50TCL_VIEWPORT_TRANSLATE_X__SIZE                                             0x00000010
7896 #define  NV50TCL_VIEWPORT_TRANSLATE_Y(x)                                                (0x00000a10+((x)*32))
7897 #define  NV50TCL_VIEWPORT_TRANSLATE_Y__SIZE                                             0x00000010
7898 #define  NV50TCL_VIEWPORT_TRANSLATE_Z(x)                                                (0x00000a14+((x)*32))
7899 #define  NV50TCL_VIEWPORT_TRANSLATE_Z__SIZE                                             0x00000010
7900 #define  NV50TCL_VIEWPORT_HORIZ(x)                                                      (0x00000c00+((x)*16))
7901 #define  NV50TCL_VIEWPORT_HORIZ__SIZE                                                   0x00000010
7902 #define   NV50TCL_VIEWPORT_HORIZ_X_SHIFT                                                0
7903 #define   NV50TCL_VIEWPORT_HORIZ_X_MASK                                                 0x0000ffff
7904 #define   NV50TCL_VIEWPORT_HORIZ_W_SHIFT                                                16
7905 #define   NV50TCL_VIEWPORT_HORIZ_W_MASK                                                 0xffff0000
7906 #define  NV50TCL_VIEWPORT_VERT(x)                                                       (0x00000c04+((x)*16))
7907 #define  NV50TCL_VIEWPORT_VERT__SIZE                                                    0x00000010
7908 #define   NV50TCL_VIEWPORT_VERT_Y_SHIFT                                                 0
7909 #define   NV50TCL_VIEWPORT_VERT_Y_MASK                                                  0x0000ffff
7910 #define   NV50TCL_VIEWPORT_VERT_H_SHIFT                                                 16
7911 #define   NV50TCL_VIEWPORT_VERT_H_MASK                                                  0xffff0000
7912 #define  NV50TCL_DEPTH_RANGE_NEAR(x)                                                    (0x00000c08+((x)*16))
7913 #define  NV50TCL_DEPTH_RANGE_NEAR__SIZE                                                 0x00000010
7914 #define  NV50TCL_DEPTH_RANGE_FAR(x)                                                     (0x00000c0c+((x)*16))
7915 #define  NV50TCL_DEPTH_RANGE_FAR__SIZE                                                  0x00000010
7916 #define  NV50TCL_VIEWPORT_CLIP_HORIZ(x)                                                 (0x00000d00+((x)*8))
7917 #define  NV50TCL_VIEWPORT_CLIP_HORIZ__SIZE                                              0x00000008
7918 #define  NV50TCL_VIEWPORT_CLIP_VERT(x)                                                  (0x00000d04+((x)*8))
7919 #define  NV50TCL_VIEWPORT_CLIP_VERT__SIZE                                               0x00000008
7920 #define  NV50TCL_VERTEX_BUFFER_FIRST                                                    0x00000d74
7921 #define  NV50TCL_VERTEX_BUFFER_COUNT                                                    0x00000d78
7922 #define  NV50TCL_CLEAR_COLOR(x)                                                         (0x00000d80+((x)*4))
7923 #define  NV50TCL_CLEAR_COLOR__SIZE                                                      0x00000004
7924 #define  NV50TCL_CLEAR_DEPTH                                                            0x00000d90
7925 #define  NV50TCL_STACK_ADDRESS_HIGH                                                     0x00000d94
7926 #define  NV50TCL_STACK_ADDRESS_LOW                                                      0x00000d98
7927 #define  NV50TCL_STACK_SIZE_LOG                                                         0x00000d9c
7928 #define  NV50TCL_CLEAR_STENCIL                                                          0x00000da0
7929 #define  NV50TCL_STRMOUT_PRIMITIVE_COUNT                                                0x00000da8
7930 #define  NV50TCL_POLYGON_MODE_FRONT                                                     0x00000dac
7931 #define   NV50TCL_POLYGON_MODE_FRONT_POINT                                              0x00001b00
7932 #define   NV50TCL_POLYGON_MODE_FRONT_LINE                                               0x00001b01
7933 #define   NV50TCL_POLYGON_MODE_FRONT_FILL                                               0x00001b02
7934 #define  NV50TCL_POLYGON_MODE_BACK                                                      0x00000db0
7935 #define   NV50TCL_POLYGON_MODE_BACK_POINT                                               0x00001b00
7936 #define   NV50TCL_POLYGON_MODE_BACK_LINE                                                0x00001b01
7937 #define   NV50TCL_POLYGON_MODE_BACK_FILL                                                0x00001b02
7938 #define  NV50TCL_POLYGON_SMOOTH_ENABLE                                                  0x00000db4
7939 #define  NV50TCL_POLYGON_OFFSET_POINT_ENABLE                                            0x00000dc0
7940 #define  NV50TCL_POLYGON_OFFSET_LINE_ENABLE                                             0x00000dc4
7941 #define  NV50TCL_POLYGON_OFFSET_FILL_ENABLE                                             0x00000dc8
7942 #define  NV50TCL_WATCHDOG_TIMER                                                         0x00000de4
7943 #define  NV50TCL_WINDOW_OFFSET_X                                                        0x00000df8
7944 #define  NV50TCL_WINDOW_OFFSET_Y                                                        0x00000dfc
7945 #define  NV50TCL_SCISSOR_ENABLE(x)                                                      (0x00000e00+((x)*16))
7946 #define  NV50TCL_SCISSOR_ENABLE__SIZE                                                   0x00000010
7947 #define  NV50TCL_SCISSOR_HORIZ(x)                                                       (0x00000e04+((x)*16))
7948 #define  NV50TCL_SCISSOR_HORIZ__SIZE                                                    0x00000010
7949 #define   NV50TCL_SCISSOR_HORIZ_MIN_SHIFT                                               0
7950 #define   NV50TCL_SCISSOR_HORIZ_MIN_MASK                                                0x0000ffff
7951 #define   NV50TCL_SCISSOR_HORIZ_MAX_SHIFT                                               16
7952 #define   NV50TCL_SCISSOR_HORIZ_MAX_MASK                                                0xffff0000
7953 #define  NV50TCL_SCISSOR_VERT(x)                                                        (0x00000e08+((x)*16))
7954 #define  NV50TCL_SCISSOR_VERT__SIZE                                                     0x00000010
7955 #define   NV50TCL_SCISSOR_VERT_MIN_SHIFT                                                0
7956 #define   NV50TCL_SCISSOR_VERT_MIN_MASK                                                 0x0000ffff
7957 #define   NV50TCL_SCISSOR_VERT_MAX_SHIFT                                                16
7958 #define   NV50TCL_SCISSOR_VERT_MAX_MASK                                                 0xffff0000
7959 #define  NV50TCL_CB_ADDR                                                                0x00000f00
7960 #define   NV50TCL_CB_ADDR_ID_SHIFT                                                      8
7961 #define   NV50TCL_CB_ADDR_ID_MASK                                                       0x003fff00
7962 #define   NV50TCL_CB_ADDR_BUFFER_SHIFT                                                  0
7963 #define   NV50TCL_CB_ADDR_BUFFER_MASK                                                   0x0000007f
7964 #define  NV50TCL_CB_DATA(x)                                                             (0x00000f04+((x)*4))
7965 #define  NV50TCL_CB_DATA__SIZE                                                          0x00000010
7966 #define  NV50TCL_LOCAL_WARPS_LOG_ALLOC                                                  0x00000f44
7967 #define  NV50TCL_LOCAL_WARPS_NO_CLAMP                                                   0x00000f48
7968 #define  NV50TCL_STACK_WARPS_LOG_ALLOC                                                  0x00000f4c
7969 #define  NV50TCL_STACK_WARPS_NO_CLAMP                                                   0x00000f50
7970 #define  NV50TCL_STENCIL_BACK_FUNC_REF                                                  0x00000f54
7971 #define  NV50TCL_STENCIL_BACK_MASK                                                      0x00000f58
7972 #define  NV50TCL_STENCIL_BACK_FUNC_MASK                                                 0x00000f5c
7973 #define  NV50TCL_GP_ADDRESS_HIGH                                                        0x00000f70
7974 #define  NV50TCL_GP_ADDRESS_LOW                                                         0x00000f74
7975 #define  NV50TCL_VP_ADDRESS_HIGH                                                        0x00000f7c
7976 #define  NV50TCL_VP_ADDRESS_LOW                                                         0x00000f80
7977 #define  NV50TCL_UNK0F84_ADDRESS_HIGH                                                   0x00000f84
7978 #define  NV50TCL_UNK0F84_ADDRESS_LOW                                                    0x00000f88
7979 #define  NV50TCL_DEPTH_BOUNDS(x)                                                        (0x00000f9c+((x)*4))
7980 #define  NV50TCL_DEPTH_BOUNDS__SIZE                                                     0x00000002
7981 #define  NV50TCL_FP_ADDRESS_HIGH                                                        0x00000fa4
7982 #define  NV50TCL_FP_ADDRESS_LOW                                                         0x00000fa8
7983 #define  NV50TCL_MSAA_MASK(x)                                                           (0x00000fbc+((x)*4))
7984 #define  NV50TCL_MSAA_MASK__SIZE                                                        0x00000004
7985 #define  NV50TCL_ZETA_ADDRESS_HIGH                                                      0x00000fe0
7986 #define  NV50TCL_ZETA_ADDRESS_LOW                                                       0x00000fe4
7987 #define  NV50TCL_ZETA_FORMAT                                                            0x00000fe8
7988 #define   NV50TCL_ZETA_FORMAT_Z32_FLOAT                                                 0x0000000a
7989 #define   NV50TCL_ZETA_FORMAT_Z16_UNORM                                                 0x00000013
7990 #define   NV50TCL_ZETA_FORMAT_Z24S8_UNORM                                               0x00000014
7991 #define   NV50TCL_ZETA_FORMAT_X8Z24_UNORM                                               0x00000015
7992 #define   NV50TCL_ZETA_FORMAT_S8Z24_UNORM                                               0x00000016
7993 #define   NV50TCL_ZETA_FORMAT_Z32_FLOAT_X24S8_UNORM                                     0x00000019
7994 #define  NV50TCL_ZETA_TILE_MODE                                                         0x00000fec
7995 #define  NV50TCL_ZETA_LAYER_STRIDE                                                      0x00000ff0
7996 #define  NV50TCL_SCREEN_SCISSOR_HORIZ                                                   0x00000ff4
7997 #define   NV50TCL_SCREEN_SCISSOR_HORIZ_W_SHIFT                                          16
7998 #define   NV50TCL_SCREEN_SCISSOR_HORIZ_W_MASK                                           0xffff0000
7999 #define   NV50TCL_SCREEN_SCISSOR_HORIZ_X_SHIFT                                          0
8000 #define   NV50TCL_SCREEN_SCISSOR_HORIZ_X_MASK                                           0x0000ffff
8001 #define  NV50TCL_SCREEN_SCISSOR_VERT                                                    0x00000ff8
8002 #define   NV50TCL_SCREEN_SCISSOR_VERT_H_SHIFT                                           16
8003 #define   NV50TCL_SCREEN_SCISSOR_VERT_H_MASK                                            0xffff0000
8004 #define   NV50TCL_SCREEN_SCISSOR_VERT_Y_SHIFT                                           0
8005 #define   NV50TCL_SCREEN_SCISSOR_VERT_Y_MASK                                            0x0000ffff
8006 #define  NV50TCL_VERTEX_ARRAY_LIMIT_HIGH(x)                                             (0x00001080+((x)*8))
8007 #define  NV50TCL_VERTEX_ARRAY_LIMIT_HIGH__SIZE                                          0x00000010
8008 #define  NV50TCL_VERTEX_ARRAY_LIMIT_LOW(x)                                              (0x00001084+((x)*8))
8009 #define  NV50TCL_VERTEX_ARRAY_LIMIT_LOW__SIZE                                           0x00000010
8010 #define  NV50TCL_RT_CONTROL                                                             0x0000121c
8011 #define   NV50TCL_RT_CONTROL_COUNT_SHIFT                                                0
8012 #define   NV50TCL_RT_CONTROL_COUNT_MASK                                                 0x0000000f
8013 #define   NV50TCL_RT_CONTROL_MAP0_SHIFT                                                 4
8014 #define   NV50TCL_RT_CONTROL_MAP0_MASK                                                  0x00000070
8015 #define   NV50TCL_RT_CONTROL_MAP1_SHIFT                                                 7
8016 #define   NV50TCL_RT_CONTROL_MAP1_MASK                                                  0x00000380
8017 #define   NV50TCL_RT_CONTROL_MAP2_SHIFT                                                 10
8018 #define   NV50TCL_RT_CONTROL_MAP2_MASK                                                  0x00001c00
8019 #define   NV50TCL_RT_CONTROL_MAP3_SHIFT                                                 13
8020 #define   NV50TCL_RT_CONTROL_MAP3_MASK                                                  0x0000e000
8021 #define   NV50TCL_RT_CONTROL_MAP4_SHIFT                                                 16
8022 #define   NV50TCL_RT_CONTROL_MAP4_MASK                                                  0x00070000
8023 #define   NV50TCL_RT_CONTROL_MAP5_SHIFT                                                 19
8024 #define   NV50TCL_RT_CONTROL_MAP5_MASK                                                  0x00380000
8025 #define   NV50TCL_RT_CONTROL_MAP6_SHIFT                                                 22
8026 #define   NV50TCL_RT_CONTROL_MAP6_MASK                                                  0x01c00000
8027 #define   NV50TCL_RT_CONTROL_MAP7_SHIFT                                                 25
8028 #define   NV50TCL_RT_CONTROL_MAP7_MASK                                                  0x0e000000
8029 #define  NV50TCL_RT_ARRAY_MODE                                                          0x00001224
8030 #define   NV50TCL_RT_ARRAY_MODE_LAYERS_SHIFT                                            0
8031 #define   NV50TCL_RT_ARRAY_MODE_LAYERS_MASK                                             0x0000ffff
8032 #define   NV50TCL_RT_ARRAY_MODE_VOLUME                                                  (1 << 16)
8033 #define  NV50TCL_ZETA_HORIZ                                                             0x00001228
8034 #define  NV50TCL_ZETA_VERT                                                              0x0000122c
8035 #define  NV50TCL_ZETA_ARRAY_MODE                                                        0x00001230
8036 #define   NV50TCL_ZETA_ARRAY_MODE_LAYERS_SHIFT                                          0
8037 #define   NV50TCL_ZETA_ARRAY_MODE_LAYERS_MASK                                           0x0000ffff
8038 #define   NV50TCL_ZETA_ARRAY_MODE_UNK                                                   (1 << 16)
8039 #define  NV50TCL_LINKED_TSC                                                             0x00001234
8040 #define  NV50TCL_RT_HORIZ(x)                                                            (0x00001240+((x)*8))
8041 #define  NV50TCL_RT_HORIZ__SIZE                                                         0x00000008
8042 #define  NV50TCL_RT_VERT(x)                                                             (0x00001244+((x)*8))
8043 #define  NV50TCL_RT_VERT__SIZE                                                          0x00000008
8044 #define  NV50TCL_CB_DEF_ADDRESS_HIGH                                                    0x00001280
8045 #define  NV50TCL_CB_DEF_ADDRESS_LOW                                                     0x00001284
8046 #define  NV50TCL_CB_DEF_SET                                                             0x00001288
8047 #define   NV50TCL_CB_DEF_SET_SIZE_SHIFT                                                 0
8048 #define   NV50TCL_CB_DEF_SET_SIZE_MASK                                                  0x0000ffff
8049 #define   NV50TCL_CB_DEF_SET_BUFFER_SHIFT                                               16
8050 #define   NV50TCL_CB_DEF_SET_BUFFER_MASK                                                0x007f0000
8051 #define  NV50TCL_STRMOUT_BUFFERS_CTRL                                                   0x00001294
8052 #define   NV50TCL_STRMOUT_BUFFERS_CTRL_INTERLEAVED                                      (1 <<  0)
8053 #define   NV50TCL_STRMOUT_BUFFERS_CTRL_SEPARATE_SHIFT                                   4
8054 #define   NV50TCL_STRMOUT_BUFFERS_CTRL_SEPARATE_MASK                                    0x000000f0
8055 #define   NV50TCL_STRMOUT_BUFFERS_CTRL_STRIDE_SHIFT                                     8
8056 #define   NV50TCL_STRMOUT_BUFFERS_CTRL_STRIDE_MASK                                      0x0000ff00
8057 #define  NV50TCL_FP_RESULT_COUNT                                                        0x00001298
8058 #define  NV50TCL_DEPTH_TEST_ENABLE                                                      0x000012cc
8059 #define  NV50TCL_SHADE_MODEL                                                            0x000012d4
8060 #define   NV50TCL_SHADE_MODEL_FLAT                                                      0x00001d00
8061 #define   NV50TCL_SHADE_MODEL_SMOOTH                                                    0x00001d01
8062 #define  NV50TCL_LOCAL_ADDRESS_HIGH                                                     0x000012d8
8063 #define  NV50TCL_LOCAL_ADDRESS_LOW                                                      0x000012dc
8064 #define  NV50TCL_LOCAL_SIZE_LOG                                                         0x000012e0
8065 #define  NV50TCL_DEPTH_WRITE_ENABLE                                                     0x000012e8
8066 #define  NV50TCL_ALPHA_TEST_ENABLE                                                      0x000012ec
8067 #define  NV50TCL_PM_SET(x)                                                              (0x000012f0+((x)*4))
8068 #define  NV50TCL_PM_SET__SIZE                                                           0x00000004
8069 #define  NV50TCL_VB_ELEMENT_U8_SETUP                                                    0x00001300
8070 #define   NV50TCL_VB_ELEMENT_U8_SETUP_OFFSET_SHIFT                                      30
8071 #define   NV50TCL_VB_ELEMENT_U8_SETUP_OFFSET_MASK                                       0xc0000000
8072 #define   NV50TCL_VB_ELEMENT_U8_SETUP_COUNT_SHIFT                                       0
8073 #define   NV50TCL_VB_ELEMENT_U8_SETUP_COUNT_MASK                                        0x3fffffff
8074 #define  NV50TCL_VB_ELEMENT_U8                                                          0x00001304
8075 #define   NV50TCL_VB_ELEMENT_U8_I0_SHIFT                                                0
8076 #define   NV50TCL_VB_ELEMENT_U8_I0_MASK                                                 0x000000ff
8077 #define   NV50TCL_VB_ELEMENT_U8_I1_SHIFT                                                8
8078 #define   NV50TCL_VB_ELEMENT_U8_I1_MASK                                                 0x0000ff00
8079 #define   NV50TCL_VB_ELEMENT_U8_I2_SHIFT                                                16
8080 #define   NV50TCL_VB_ELEMENT_U8_I2_MASK                                                 0x00ff0000
8081 #define   NV50TCL_VB_ELEMENT_U8_I3_SHIFT                                                24
8082 #define   NV50TCL_VB_ELEMENT_U8_I3_MASK                                                 0xff000000
8083 #define  NV50TCL_DEPTH_TEST_FUNC                                                        0x0000130c
8084 #define   NV50TCL_DEPTH_TEST_FUNC_NEVER                                                 0x00000200
8085 #define   NV50TCL_DEPTH_TEST_FUNC_LESS                                                  0x00000201
8086 #define   NV50TCL_DEPTH_TEST_FUNC_EQUAL                                                 0x00000202
8087 #define   NV50TCL_DEPTH_TEST_FUNC_LEQUAL                                                0x00000203
8088 #define   NV50TCL_DEPTH_TEST_FUNC_GREATER                                               0x00000204
8089 #define   NV50TCL_DEPTH_TEST_FUNC_NOTEQUAL                                              0x00000205
8090 #define   NV50TCL_DEPTH_TEST_FUNC_GEQUAL                                                0x00000206
8091 #define   NV50TCL_DEPTH_TEST_FUNC_ALWAYS                                                0x00000207
8092 #define  NV50TCL_ALPHA_TEST_REF                                                         0x00001310
8093 #define  NV50TCL_ALPHA_TEST_FUNC                                                        0x00001314
8094 #define   NV50TCL_ALPHA_TEST_FUNC_NEVER                                                 0x00000200
8095 #define   NV50TCL_ALPHA_TEST_FUNC_LESS                                                  0x00000201
8096 #define   NV50TCL_ALPHA_TEST_FUNC_EQUAL                                                 0x00000202
8097 #define   NV50TCL_ALPHA_TEST_FUNC_LEQUAL                                                0x00000203
8098 #define   NV50TCL_ALPHA_TEST_FUNC_GREATER                                               0x00000204
8099 #define   NV50TCL_ALPHA_TEST_FUNC_NOTEQUAL                                              0x00000205
8100 #define   NV50TCL_ALPHA_TEST_FUNC_GEQUAL                                                0x00000206
8101 #define   NV50TCL_ALPHA_TEST_FUNC_ALWAYS                                                0x00000207
8102 #define  NV50TCL_BLEND_COLOR(x)                                                         (0x0000131c+((x)*4))
8103 #define  NV50TCL_BLEND_COLOR__SIZE                                                      0x00000004
8104 #define  NV50TCL_TIC_FLUSH                                                              0x00001330
8105 #define  NV50TCL_TSC_FLUSH                                                              0x00001334
8106 #define  NV50TCL_TEX_CACHE_CTL                                                          0x00001338
8107 #define  NV50TCL_BLEND_EQUATION_RGB                                                     0x00001340
8108 #define   NV50TCL_BLEND_EQUATION_RGB_FUNC_ADD                                           0x00008006
8109 #define   NV50TCL_BLEND_EQUATION_RGB_MIN                                                0x00008007
8110 #define   NV50TCL_BLEND_EQUATION_RGB_MAX                                                0x00008008
8111 #define   NV50TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT                                      0x0000800a
8112 #define   NV50TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT                              0x0000800b
8113 #define  NV50TCL_BLEND_FUNC_SRC_RGB                                                     0x00001344
8114 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ZERO                                               0x00000000
8115 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE                                                0x00000001
8116 #define   NV50TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR                                          0x00000300
8117 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR                                0x00000301
8118 #define   NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA                                          0x00000302
8119 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA                                0x00000303
8120 #define   NV50TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA                                          0x00000304
8121 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA                                0x00000305
8122 #define   NV50TCL_BLEND_FUNC_SRC_RGB_DST_COLOR                                          0x00000306
8123 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR                                0x00000307
8124 #define   NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE                                 0x00000308
8125 #define   NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR                                     0x00008001
8126 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR                           0x00008002
8127 #define   NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA                                     0x00008003
8128 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA                           0x00008004
8129 #define  NV50TCL_BLEND_FUNC_DST_RGB                                                     0x00001348
8130 #define   NV50TCL_BLEND_FUNC_DST_RGB_ZERO                                               0x00000000
8131 #define   NV50TCL_BLEND_FUNC_DST_RGB_ONE                                                0x00000001
8132 #define   NV50TCL_BLEND_FUNC_DST_RGB_SRC_COLOR                                          0x00000300
8133 #define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR                                0x00000301
8134 #define   NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA                                          0x00000302
8135 #define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA                                0x00000303
8136 #define   NV50TCL_BLEND_FUNC_DST_RGB_DST_ALPHA                                          0x00000304
8137 #define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA                                0x00000305
8138 #define   NV50TCL_BLEND_FUNC_DST_RGB_DST_COLOR                                          0x00000306
8139 #define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR                                0x00000307
8140 #define   NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE                                 0x00000308
8141 #define   NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR                                     0x00008001
8142 #define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR                           0x00008002
8143 #define   NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA                                     0x00008003
8144 #define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA                           0x00008004
8145 #define  NV50TCL_BLEND_EQUATION_ALPHA                                                   0x0000134c
8146 #define   NV50TCL_BLEND_EQUATION_ALPHA_FUNC_ADD                                         0x00008006
8147 #define   NV50TCL_BLEND_EQUATION_ALPHA_MIN                                              0x00008007
8148 #define   NV50TCL_BLEND_EQUATION_ALPHA_MAX                                              0x00008008
8149 #define   NV50TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT                                    0x0000800a
8150 #define   NV50TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT                            0x0000800b
8151 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA                                                   0x00001350
8152 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ZERO                                             0x00000000
8153 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE                                              0x00000001
8154 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                                        0x00000300
8155 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR                              0x00000301
8156 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                                        0x00000302
8157 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA                              0x00000303
8158 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                                        0x00000304
8159 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA                              0x00000305
8160 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR                                        0x00000306
8161 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR                              0x00000307
8162 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                               0x00000308
8163 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR                                   0x00008001
8164 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR                         0x00008002
8165 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA                                   0x00008003
8166 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA                         0x00008004
8167 #define  NV50TCL_BLEND_FUNC_DST_ALPHA                                                   0x00001358
8168 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ZERO                                             0x00000000
8169 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE                                              0x00000001
8170 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR                                        0x00000300
8171 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR                              0x00000301
8172 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                                        0x00000302
8173 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA                              0x00000303
8174 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA                                        0x00000304
8175 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA                              0x00000305
8176 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR                                        0x00000306
8177 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR                              0x00000307
8178 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                               0x00000308
8179 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR                                   0x00008001
8180 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR                         0x00008002
8181 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                                   0x00008003
8182 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA                         0x00008004
8183 #define  NV50TCL_BLEND_ENABLE(x)                                                        (0x00001360+((x)*4))
8184 #define  NV50TCL_BLEND_ENABLE__SIZE                                                     0x00000008
8185 #define  NV50TCL_STENCIL_FRONT_ENABLE                                                   0x00001380
8186 #define  NV50TCL_STENCIL_FRONT_OP_FAIL                                                  0x00001384
8187 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_ZERO                                            0x00000000
8188 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_INVERT                                          0x0000150a
8189 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_KEEP                                            0x00001e00
8190 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_REPLACE                                         0x00001e01
8191 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_INCR                                            0x00001e02
8192 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_DECR                                            0x00001e03
8193 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP                                       0x00008507
8194 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP                                       0x00008508
8195 #define  NV50TCL_STENCIL_FRONT_OP_ZFAIL                                                 0x00001388
8196 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_ZERO                                           0x00000000
8197 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_INVERT                                         0x0000150a
8198 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_KEEP                                           0x00001e00
8199 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE                                        0x00001e01
8200 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_INCR                                           0x00001e02
8201 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_DECR                                           0x00001e03
8202 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                                      0x00008507
8203 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                                      0x00008508
8204 #define  NV50TCL_STENCIL_FRONT_OP_ZPASS                                                 0x0000138c
8205 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_ZERO                                           0x00000000
8206 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_INVERT                                         0x0000150a
8207 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_KEEP                                           0x00001e00
8208 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_REPLACE                                        0x00001e01
8209 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_INCR                                           0x00001e02
8210 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_DECR                                           0x00001e03
8211 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                                      0x00008507
8212 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                                      0x00008508
8213 #define  NV50TCL_STENCIL_FRONT_FUNC_FUNC                                                0x00001390
8214 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_NEVER                                         0x00000200
8215 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_LESS                                          0x00000201
8216 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL                                         0x00000202
8217 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL                                        0x00000203
8218 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                       0x00000204
8219 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                                      0x00000205
8220 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL                                        0x00000206
8221 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS                                        0x00000207
8222 #define  NV50TCL_STENCIL_FRONT_FUNC_REF                                                 0x00001394
8223 #define  NV50TCL_STENCIL_FRONT_MASK                                                     0x00001398
8224 #define  NV50TCL_STENCIL_FRONT_FUNC_MASK                                                0x0000139c
8225 #define  NV50TCL_FRAG_COLOR_CLAMP_EN                                                    0x000013a8
8226 #define  NV50TCL_Y_ORIGIN_BOTTOM                                                        0x000013ac
8227 #define  NV50TCL_LINE_WIDTH                                                             0x000013b0
8228 #define  NV50TCL_TEX_LIMITS(x)                                                          (0x000013b4+((x)*4))
8229 #define  NV50TCL_TEX_LIMITS__SIZE                                                       0x00000003
8230 #define   NV50TCL_TEX_LIMITS_SAMPLERS_LOG2_SHIFT                                        0
8231 #define   NV50TCL_TEX_LIMITS_SAMPLERS_LOG2_MASK                                         0x0000000f
8232 #define   NV50TCL_TEX_LIMITS_TEXTURES_LOG2_SHIFT                                        4
8233 #define   NV50TCL_TEX_LIMITS_TEXTURES_LOG2_MASK                                         0x000000f0
8234 #define  NV50TCL_POINT_COORD_REPLACE_MAP(x)                                             (0x000013c0+((x)*4))
8235 #define  NV50TCL_POINT_COORD_REPLACE_MAP__SIZE                                          0x00000008
8236 #define  NV50TCL_VP_START_ID                                                            0x0000140c
8237 #define  NV50TCL_GP_START_ID                                                            0x00001410
8238 #define  NV50TCL_FP_START_ID                                                            0x00001414
8239 #define  NV50TCL_GP_VERTEX_OUTPUT_COUNT                                                 0x00001420
8240 #define  NV50TCL_VB_ELEMENT_BASE                                                        0x00001434
8241 #define  NV50TCL_CODE_CB_FLUSH                                                          0x00001440
8242 #define  NV50TCL_BIND_TSC(x)                                                            (0x00001444+((x)*8))
8243 #define  NV50TCL_BIND_TSC__SIZE                                                         0x00000003
8244 #define   NV50TCL_BIND_TSC_VALID                                                        (1 <<  0)
8245 #define   NV50TCL_BIND_TSC_SAMPLER_SHIFT                                                4
8246 #define   NV50TCL_BIND_TSC_SAMPLER_MASK                                                 0x000000f0
8247 #define   NV50TCL_BIND_TSC_TSC_SHIFT                                                    12
8248 #define   NV50TCL_BIND_TSC_TSC_MASK                                                     0x001ff000
8249 #define  NV50TCL_BIND_TIC(x)                                                            (0x00001448+((x)*8))
8250 #define  NV50TCL_BIND_TIC__SIZE                                                         0x00000003
8251 #define   NV50TCL_BIND_TIC_VALID                                                        (1 <<  0)
8252 #define   NV50TCL_BIND_TIC_TEXTURE_SHIFT                                                1
8253 #define   NV50TCL_BIND_TIC_TEXTURE_MASK                                                 0x000001fe
8254 #define   NV50TCL_BIND_TIC_TIC_SHIFT                                                    9
8255 #define   NV50TCL_BIND_TIC_TIC_MASK                                                     0x7ffffe00
8256 #define  NV50TCL_STRMOUT_MAP(x)                                                         (0x00001480+((x)*4))
8257 #define  NV50TCL_STRMOUT_MAP__SIZE                                                      0x00000020
8258 #define  NV50TCL_VP_CLIP_DISTANCE_ENABLE                                                0x00001510
8259 #define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_0                                             (1 <<  0)
8260 #define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_1                                             (1 <<  1)
8261 #define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_2                                             (1 <<  2)
8262 #define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_3                                             (1 <<  3)
8263 #define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_4                                             (1 <<  4)
8264 #define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_5                                             (1 <<  5)
8265 #define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_6                                             (1 <<  6)
8266 #define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_7                                             (1 <<  7)
8267 #define  NV50TCL_SAMPLECNT_ENABLE                                                       0x00001514
8268 #define  NV50TCL_POINT_SIZE                                                             0x00001518
8269 #define  NV50TCL_POINT_SPRITE_ENABLE                                                    0x00001520
8270 #define  NV50TCL_SAMPLECNT_RESET                                                        0x00001530
8271 #define  NV50TCL_ZETA_ENABLE                                                            0x00001538
8272 #define  NV50TCL_MULTISAMPLE_CTRL                                                       0x0000153c
8273 #define   NV50TCL_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE                                    (1 <<  0)
8274 #define   NV50TCL_MULTISAMPLE_CTRL_ALPHA_TO_ONE                                         (1 <<  4)
8275 #define  NV50TCL_NOPERSPECTIVE_BITMAP(x)                                                (0x00001540+((x)*4))
8276 #define  NV50TCL_NOPERSPECTIVE_BITMAP__SIZE                                             0x00000004
8277 #define  NV50TCL_COND_ADDRESS_HIGH                                                      0x00001550
8278 #define  NV50TCL_COND_ADDRESS_LOW                                                       0x00001554
8279 #define  NV50TCL_COND_MODE                                                              0x00001558
8280 #define   NV50TCL_COND_MODE_NEVER                                                       0x00000000
8281 #define   NV50TCL_COND_MODE_ALWAYS                                                      0x00000001
8282 #define   NV50TCL_COND_MODE_RES                                                         0x00000002
8283 #define   NV50TCL_COND_MODE_NOT_RES_AND_NOT_ID                                          0x00000003
8284 #define   NV50TCL_COND_MODE_RES_OR_ID                                                   0x00000004
8285 #define  NV50TCL_TSC_ADDRESS_HIGH                                                       0x0000155c
8286 #define  NV50TCL_TSC_ADDRESS_LOW                                                        0x00001560
8287 #define  NV50TCL_TSC_LIMIT                                                              0x00001564
8288 #define  NV50TCL_POLYGON_OFFSET_FACTOR                                                  0x0000156c
8289 #define  NV50TCL_LINE_SMOOTH_ENABLE                                                     0x00001570
8290 #define  NV50TCL_TIC_ADDRESS_HIGH                                                       0x00001574
8291 #define  NV50TCL_TIC_ADDRESS_LOW                                                        0x00001578
8292 #define  NV50TCL_TIC_LIMIT                                                              0x0000157c
8293 #define  NV50TCL_PM_CONTROL(x)                                                          (0x00001580+((x)*4))
8294 #define  NV50TCL_PM_CONTROL__SIZE                                                       0x00000004
8295 #define   NV50TCL_PM_CONTROL_UNK0                                                       (1 <<  0)
8296 #define   NV50TCL_PM_CONTROL_UNK1_SHIFT                                                 4
8297 #define   NV50TCL_PM_CONTROL_UNK1_MASK                                                  0x00000070
8298 #define   NV50TCL_PM_CONTROL_UNK2_SHIFT                                                 8
8299 #define   NV50TCL_PM_CONTROL_UNK2_MASK                                                  0xffffff00
8300 #define  NV50TCL_STENCIL_BACK_ENABLE                                                    0x00001594
8301 #define  NV50TCL_STENCIL_BACK_OP_FAIL                                                   0x00001598
8302 #define   NV50TCL_STENCIL_BACK_OP_FAIL_ZERO                                             0x00000000
8303 #define   NV50TCL_STENCIL_BACK_OP_FAIL_INVERT                                           0x0000150a
8304 #define   NV50TCL_STENCIL_BACK_OP_FAIL_KEEP                                             0x00001e00
8305 #define   NV50TCL_STENCIL_BACK_OP_FAIL_REPLACE                                          0x00001e01
8306 #define   NV50TCL_STENCIL_BACK_OP_FAIL_INCR                                             0x00001e02
8307 #define   NV50TCL_STENCIL_BACK_OP_FAIL_DECR                                             0x00001e03
8308 #define   NV50TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP                                        0x00008507
8309 #define   NV50TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP                                        0x00008508
8310 #define  NV50TCL_STENCIL_BACK_OP_ZFAIL                                                  0x0000159c
8311 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_ZERO                                            0x00000000
8312 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_INVERT                                          0x0000150a
8313 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_KEEP                                            0x00001e00
8314 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_REPLACE                                         0x00001e01
8315 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_INCR                                            0x00001e02
8316 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_DECR                                            0x00001e03
8317 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                                       0x00008507
8318 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                                       0x00008508
8319 #define  NV50TCL_STENCIL_BACK_OP_ZPASS                                                  0x000015a0
8320 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_ZERO                                            0x00000000
8321 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_INVERT                                          0x0000150a
8322 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_KEEP                                            0x00001e00
8323 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_REPLACE                                         0x00001e01
8324 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_INCR                                            0x00001e02
8325 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_DECR                                            0x00001e03
8326 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP                                       0x00008507
8327 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP                                       0x00008508
8328 #define  NV50TCL_STENCIL_BACK_FUNC_FUNC                                                 0x000015a4
8329 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_NEVER                                          0x00000200
8330 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_LESS                                           0x00000201
8331 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_EQUAL                                          0x00000202
8332 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL                                         0x00000203
8333 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                        0x00000204
8334 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                                       0x00000205
8335 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL                                         0x00000206
8336 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS                                         0x00000207
8337 #define  NV50TCL_FRAMEBUFFER_SRGB                                                       0x000015b8
8338 #define  NV50TCL_POLYGON_OFFSET_UNITS                                                   0x000015bc
8339 #define  NV50TCL_GP_BUILTIN_RESULT_EN                                                   0x000015cc
8340 #define   NV50TCL_GP_BUILTIN_RESULT_EN_VPORT_IDX                                        (1 <<  0)
8341 #define   NV50TCL_GP_BUILTIN_RESULT_EN_LAYER_IDX                                        (1 << 16)
8342 #define  NV50TCL_MULTISAMPLE_SAMPLES_LOG2                                               0x000015d0
8343 #define  NV50TCL_VERTEX_BEGIN                                                           0x000015dc
8344 #define   NV50TCL_VERTEX_BEGIN_POINTS                                                   0x00000000
8345 #define   NV50TCL_VERTEX_BEGIN_LINES                                                    0x00000001
8346 #define   NV50TCL_VERTEX_BEGIN_LINE_LOOP                                                0x00000002
8347 #define   NV50TCL_VERTEX_BEGIN_LINE_STRIP                                               0x00000003
8348 #define   NV50TCL_VERTEX_BEGIN_TRIANGLES                                                0x00000004
8349 #define   NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP                                           0x00000005
8350 #define   NV50TCL_VERTEX_BEGIN_TRIANGLE_FAN                                             0x00000006
8351 #define   NV50TCL_VERTEX_BEGIN_QUADS                                                    0x00000007
8352 #define   NV50TCL_VERTEX_BEGIN_QUAD_STRIP                                               0x00000008
8353 #define   NV50TCL_VERTEX_BEGIN_POLYGON                                                  0x00000009
8354 #define   NV50TCL_VERTEX_BEGIN_LINES_ADJACENCY                                          0x0000000a
8355 #define   NV50TCL_VERTEX_BEGIN_LINE_STRIP_ADJACENCY                                     0x0000000b
8356 #define   NV50TCL_VERTEX_BEGIN_TRIANGLES_ADJACENCY                                      0x0000000c
8357 #define   NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP_ADJACENCY                                 0x0000000d
8358 #define  NV50TCL_VERTEX_END                                                             0x000015e0
8359 #define  NV50TCL_EDGEFLAG_ENABLE                                                        0x000015e4
8360 #define  NV50TCL_VB_ELEMENT_U32                                                         0x000015e8
8361 #define  NV50TCL_VB_ELEMENT_U16_SETUP                                                   0x000015ec
8362 #define   NV50TCL_VB_ELEMENT_U16_SETUP_OFFSET_SHIFT                                     30
8363 #define   NV50TCL_VB_ELEMENT_U16_SETUP_OFFSET_MASK                                      0xc0000000
8364 #define   NV50TCL_VB_ELEMENT_U16_SETUP_COUNT_SHIFT                                      0
8365 #define   NV50TCL_VB_ELEMENT_U16_SETUP_COUNT_MASK                                       0x3fffffff
8366 #define  NV50TCL_VB_ELEMENT_U16                                                         0x000015f0
8367 #define   NV50TCL_VB_ELEMENT_U16_I0_SHIFT                                               0
8368 #define   NV50TCL_VB_ELEMENT_U16_I0_MASK                                                0x0000ffff
8369 #define   NV50TCL_VB_ELEMENT_U16_I1_SHIFT                                               16
8370 #define   NV50TCL_VB_ELEMENT_U16_I1_MASK                                                0xffff0000
8371 #define  NV50TCL_VERTEX_DATA                                                            0x00001640
8372 #define  NV50TCL_PRIM_RESTART_ENABLE                                                    0x00001644
8373 #define  NV50TCL_PRIM_RESTART_INDEX                                                     0x00001648
8374 #define  NV50TCL_VP_GP_BUILTIN_ATTR_EN                                                  0x0000164c
8375 #define   NV50TCL_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID                                       (1 <<  0)
8376 #define   NV50TCL_VP_GP_BUILTIN_ATTR_EN_INSTANCE_ID                                     (1 <<  4)
8377 #define   NV50TCL_VP_GP_BUILTIN_ATTR_EN_PRIMITIVE_ID                                    (1 <<  8)
8378 #define   NV50TCL_VP_GP_BUILTIN_ATTR_EN_UNK12                                           (1 << 12)
8379 #define  NV50TCL_VP_ATTR_EN_0                                                           0x00001650
8380 #define   NV50TCL_VP_ATTR_EN_0_7_SHIFT                                                  28
8381 #define   NV50TCL_VP_ATTR_EN_0_7_MASK                                                   0xf0000000
8382 #define    NV50TCL_VP_ATTR_EN_0_7_NONE                                                  0x00000000
8383 #define    NV50TCL_VP_ATTR_EN_0_7_XNNN                                                  0x10000000
8384 #define    NV50TCL_VP_ATTR_EN_0_7_NYNN                                                  0x20000000
8385 #define    NV50TCL_VP_ATTR_EN_0_7_XYNN                                                  0x30000000
8386 #define    NV50TCL_VP_ATTR_EN_0_7_NNZN                                                  0x40000000
8387 #define    NV50TCL_VP_ATTR_EN_0_7_XNZN                                                  0x50000000
8388 #define    NV50TCL_VP_ATTR_EN_0_7_NYZN                                                  0x60000000
8389 #define    NV50TCL_VP_ATTR_EN_0_7_XYZN                                                  0x70000000
8390 #define    NV50TCL_VP_ATTR_EN_0_7_NNNW                                                  0x80000000
8391 #define    NV50TCL_VP_ATTR_EN_0_7_XNNW                                                  0x90000000
8392 #define    NV50TCL_VP_ATTR_EN_0_7_NYNW                                                  0xa0000000
8393 #define    NV50TCL_VP_ATTR_EN_0_7_XYNW                                                  0xb0000000
8394 #define    NV50TCL_VP_ATTR_EN_0_7_NNZW                                                  0xc0000000
8395 #define    NV50TCL_VP_ATTR_EN_0_7_XNZW                                                  0xd0000000
8396 #define    NV50TCL_VP_ATTR_EN_0_7_NYZW                                                  0xe0000000
8397 #define    NV50TCL_VP_ATTR_EN_0_7_XYZW                                                  0xf0000000
8398 #define   NV50TCL_VP_ATTR_EN_0_6_SHIFT                                                  24
8399 #define   NV50TCL_VP_ATTR_EN_0_6_MASK                                                   0x0f000000
8400 #define    NV50TCL_VP_ATTR_EN_0_6_NONE                                                  0x00000000
8401 #define    NV50TCL_VP_ATTR_EN_0_6_XNNN                                                  0x01000000
8402 #define    NV50TCL_VP_ATTR_EN_0_6_NYNN                                                  0x02000000
8403 #define    NV50TCL_VP_ATTR_EN_0_6_XYNN                                                  0x03000000
8404 #define    NV50TCL_VP_ATTR_EN_0_6_NNZN                                                  0x04000000
8405 #define    NV50TCL_VP_ATTR_EN_0_6_XNZN                                                  0x05000000
8406 #define    NV50TCL_VP_ATTR_EN_0_6_NYZN                                                  0x06000000
8407 #define    NV50TCL_VP_ATTR_EN_0_6_XYZN                                                  0x07000000
8408 #define    NV50TCL_VP_ATTR_EN_0_6_NNNW                                                  0x08000000
8409 #define    NV50TCL_VP_ATTR_EN_0_6_XNNW                                                  0x09000000
8410 #define    NV50TCL_VP_ATTR_EN_0_6_NYNW                                                  0x0a000000
8411 #define    NV50TCL_VP_ATTR_EN_0_6_XYNW                                                  0x0b000000
8412 #define    NV50TCL_VP_ATTR_EN_0_6_NNZW                                                  0x0c000000
8413 #define    NV50TCL_VP_ATTR_EN_0_6_XNZW                                                  0x0d000000
8414 #define    NV50TCL_VP_ATTR_EN_0_6_NYZW                                                  0x0e000000
8415 #define    NV50TCL_VP_ATTR_EN_0_6_XYZW                                                  0x0f000000
8416 #define   NV50TCL_VP_ATTR_EN_0_5_SHIFT                                                  20
8417 #define   NV50TCL_VP_ATTR_EN_0_5_MASK                                                   0x00f00000
8418 #define    NV50TCL_VP_ATTR_EN_0_5_NONE                                                  0x00000000
8419 #define    NV50TCL_VP_ATTR_EN_0_5_XNNN                                                  0x00100000
8420 #define    NV50TCL_VP_ATTR_EN_0_5_NYNN                                                  0x00200000
8421 #define    NV50TCL_VP_ATTR_EN_0_5_XYNN                                                  0x00300000
8422 #define    NV50TCL_VP_ATTR_EN_0_5_NNZN                                                  0x00400000
8423 #define    NV50TCL_VP_ATTR_EN_0_5_XNZN                                                  0x00500000
8424 #define    NV50TCL_VP_ATTR_EN_0_5_NYZN                                                  0x00600000
8425 #define    NV50TCL_VP_ATTR_EN_0_5_XYZN                                                  0x00700000
8426 #define    NV50TCL_VP_ATTR_EN_0_5_NNNW                                                  0x00800000
8427 #define    NV50TCL_VP_ATTR_EN_0_5_XNNW                                                  0x00900000
8428 #define    NV50TCL_VP_ATTR_EN_0_5_NYNW                                                  0x00a00000
8429 #define    NV50TCL_VP_ATTR_EN_0_5_XYNW                                                  0x00b00000
8430 #define    NV50TCL_VP_ATTR_EN_0_5_NNZW                                                  0x00c00000
8431 #define    NV50TCL_VP_ATTR_EN_0_5_XNZW                                                  0x00d00000
8432 #define    NV50TCL_VP_ATTR_EN_0_5_NYZW                                                  0x00e00000
8433 #define    NV50TCL_VP_ATTR_EN_0_5_XYZW                                                  0x00f00000
8434 #define   NV50TCL_VP_ATTR_EN_0_4_SHIFT                                                  16
8435 #define   NV50TCL_VP_ATTR_EN_0_4_MASK                                                   0x000f0000
8436 #define    NV50TCL_VP_ATTR_EN_0_4_NONE                                                  0x00000000
8437 #define    NV50TCL_VP_ATTR_EN_0_4_XNNN                                                  0x00010000
8438 #define    NV50TCL_VP_ATTR_EN_0_4_NYNN                                                  0x00020000
8439 #define    NV50TCL_VP_ATTR_EN_0_4_XYNN                                                  0x00030000
8440 #define    NV50TCL_VP_ATTR_EN_0_4_NNZN                                                  0x00040000
8441 #define    NV50TCL_VP_ATTR_EN_0_4_XNZN                                                  0x00050000
8442 #define    NV50TCL_VP_ATTR_EN_0_4_NYZN                                                  0x00060000
8443 #define    NV50TCL_VP_ATTR_EN_0_4_XYZN                                                  0x00070000
8444 #define    NV50TCL_VP_ATTR_EN_0_4_NNNW                                                  0x00080000
8445 #define    NV50TCL_VP_ATTR_EN_0_4_XNNW                                                  0x00090000
8446 #define    NV50TCL_VP_ATTR_EN_0_4_NYNW                                                  0x000a0000
8447 #define    NV50TCL_VP_ATTR_EN_0_4_XYNW                                                  0x000b0000
8448 #define    NV50TCL_VP_ATTR_EN_0_4_NNZW                                                  0x000c0000
8449 #define    NV50TCL_VP_ATTR_EN_0_4_XNZW                                                  0x000d0000
8450 #define    NV50TCL_VP_ATTR_EN_0_4_NYZW                                                  0x000e0000
8451 #define    NV50TCL_VP_ATTR_EN_0_4_XYZW                                                  0x000f0000
8452 #define   NV50TCL_VP_ATTR_EN_0_3_SHIFT                                                  12
8453 #define   NV50TCL_VP_ATTR_EN_0_3_MASK                                                   0x0000f000
8454 #define    NV50TCL_VP_ATTR_EN_0_3_NONE                                                  0x00000000
8455 #define    NV50TCL_VP_ATTR_EN_0_3_XNNN                                                  0x00001000
8456 #define    NV50TCL_VP_ATTR_EN_0_3_NYNN                                                  0x00002000
8457 #define    NV50TCL_VP_ATTR_EN_0_3_XYNN                                                  0x00003000
8458 #define    NV50TCL_VP_ATTR_EN_0_3_NNZN                                                  0x00004000
8459 #define    NV50TCL_VP_ATTR_EN_0_3_XNZN                                                  0x00005000
8460 #define    NV50TCL_VP_ATTR_EN_0_3_NYZN                                                  0x00006000
8461 #define    NV50TCL_VP_ATTR_EN_0_3_XYZN                                                  0x00007000
8462 #define    NV50TCL_VP_ATTR_EN_0_3_NNNW                                                  0x00008000
8463 #define    NV50TCL_VP_ATTR_EN_0_3_XNNW                                                  0x00009000
8464 #define    NV50TCL_VP_ATTR_EN_0_3_NYNW                                                  0x0000a000
8465 #define    NV50TCL_VP_ATTR_EN_0_3_XYNW                                                  0x0000b000
8466 #define    NV50TCL_VP_ATTR_EN_0_3_NNZW                                                  0x0000c000
8467 #define    NV50TCL_VP_ATTR_EN_0_3_XNZW                                                  0x0000d000
8468 #define    NV50TCL_VP_ATTR_EN_0_3_NYZW                                                  0x0000e000
8469 #define    NV50TCL_VP_ATTR_EN_0_3_XYZW                                                  0x0000f000
8470 #define   NV50TCL_VP_ATTR_EN_0_2_SHIFT                                                  8
8471 #define   NV50TCL_VP_ATTR_EN_0_2_MASK                                                   0x00000f00
8472 #define    NV50TCL_VP_ATTR_EN_0_2_NONE                                                  0x00000000
8473 #define    NV50TCL_VP_ATTR_EN_0_2_XNNN                                                  0x00000100
8474 #define    NV50TCL_VP_ATTR_EN_0_2_NYNN                                                  0x00000200
8475 #define    NV50TCL_VP_ATTR_EN_0_2_XYNN                                                  0x00000300
8476 #define    NV50TCL_VP_ATTR_EN_0_2_NNZN                                                  0x00000400
8477 #define    NV50TCL_VP_ATTR_EN_0_2_XNZN                                                  0x00000500
8478 #define    NV50TCL_VP_ATTR_EN_0_2_NYZN                                                  0x00000600
8479 #define    NV50TCL_VP_ATTR_EN_0_2_XYZN                                                  0x00000700
8480 #define    NV50TCL_VP_ATTR_EN_0_2_NNNW                                                  0x00000800
8481 #define    NV50TCL_VP_ATTR_EN_0_2_XNNW                                                  0x00000900
8482 #define    NV50TCL_VP_ATTR_EN_0_2_NYNW                                                  0x00000a00
8483 #define    NV50TCL_VP_ATTR_EN_0_2_XYNW                                                  0x00000b00
8484 #define    NV50TCL_VP_ATTR_EN_0_2_NNZW                                                  0x00000c00
8485 #define    NV50TCL_VP_ATTR_EN_0_2_XNZW                                                  0x00000d00
8486 #define    NV50TCL_VP_ATTR_EN_0_2_NYZW                                                  0x00000e00
8487 #define    NV50TCL_VP_ATTR_EN_0_2_XYZW                                                  0x00000f00
8488 #define   NV50TCL_VP_ATTR_EN_0_1_SHIFT                                                  4
8489 #define   NV50TCL_VP_ATTR_EN_0_1_MASK                                                   0x000000f0
8490 #define    NV50TCL_VP_ATTR_EN_0_1_NONE                                                  0x00000000
8491 #define    NV50TCL_VP_ATTR_EN_0_1_XNNN                                                  0x00000010
8492 #define    NV50TCL_VP_ATTR_EN_0_1_NYNN                                                  0x00000020
8493 #define    NV50TCL_VP_ATTR_EN_0_1_XYNN                                                  0x00000030
8494 #define    NV50TCL_VP_ATTR_EN_0_1_NNZN                                                  0x00000040
8495 #define    NV50TCL_VP_ATTR_EN_0_1_XNZN                                                  0x00000050
8496 #define    NV50TCL_VP_ATTR_EN_0_1_NYZN                                                  0x00000060
8497 #define    NV50TCL_VP_ATTR_EN_0_1_XYZN                                                  0x00000070
8498 #define    NV50TCL_VP_ATTR_EN_0_1_NNNW                                                  0x00000080
8499 #define    NV50TCL_VP_ATTR_EN_0_1_XNNW                                                  0x00000090
8500 #define    NV50TCL_VP_ATTR_EN_0_1_NYNW                                                  0x000000a0
8501 #define    NV50TCL_VP_ATTR_EN_0_1_XYNW                                                  0x000000b0
8502 #define    NV50TCL_VP_ATTR_EN_0_1_NNZW                                                  0x000000c0
8503 #define    NV50TCL_VP_ATTR_EN_0_1_XNZW                                                  0x000000d0
8504 #define    NV50TCL_VP_ATTR_EN_0_1_NYZW                                                  0x000000e0
8505 #define    NV50TCL_VP_ATTR_EN_0_1_XYZW                                                  0x000000f0
8506 #define   NV50TCL_VP_ATTR_EN_0_0_SHIFT                                                  0
8507 #define   NV50TCL_VP_ATTR_EN_0_0_MASK                                                   0x0000000f
8508 #define    NV50TCL_VP_ATTR_EN_0_0_NONE                                                  0x00000000
8509 #define    NV50TCL_VP_ATTR_EN_0_0_XNNN                                                  0x00000001
8510 #define    NV50TCL_VP_ATTR_EN_0_0_NYNN                                                  0x00000002
8511 #define    NV50TCL_VP_ATTR_EN_0_0_XYNN                                                  0x00000003
8512 #define    NV50TCL_VP_ATTR_EN_0_0_NNZN                                                  0x00000004
8513 #define    NV50TCL_VP_ATTR_EN_0_0_XNZN                                                  0x00000005
8514 #define    NV50TCL_VP_ATTR_EN_0_0_NYZN                                                  0x00000006
8515 #define    NV50TCL_VP_ATTR_EN_0_0_XYZN                                                  0x00000007
8516 #define    NV50TCL_VP_ATTR_EN_0_0_NNNW                                                  0x00000008
8517 #define    NV50TCL_VP_ATTR_EN_0_0_XNNW                                                  0x00000009
8518 #define    NV50TCL_VP_ATTR_EN_0_0_NYNW                                                  0x0000000a
8519 #define    NV50TCL_VP_ATTR_EN_0_0_XYNW                                                  0x0000000b
8520 #define    NV50TCL_VP_ATTR_EN_0_0_NNZW                                                  0x0000000c
8521 #define    NV50TCL_VP_ATTR_EN_0_0_XNZW                                                  0x0000000d
8522 #define    NV50TCL_VP_ATTR_EN_0_0_NYZW                                                  0x0000000e
8523 #define    NV50TCL_VP_ATTR_EN_0_0_XYZW                                                  0x0000000f
8524 #define  NV50TCL_VP_ATTR_EN_1                                                           0x00001654
8525 #define   NV50TCL_VP_ATTR_EN_1_15_SHIFT                                                 28
8526 #define   NV50TCL_VP_ATTR_EN_1_15_MASK                                                  0xf0000000
8527 #define    NV50TCL_VP_ATTR_EN_1_15_NONE                                                 0x00000000
8528 #define    NV50TCL_VP_ATTR_EN_1_15_XNNN                                                 0x10000000
8529 #define    NV50TCL_VP_ATTR_EN_1_15_NYNN                                                 0x20000000
8530 #define    NV50TCL_VP_ATTR_EN_1_15_XYNN                                                 0x30000000
8531 #define    NV50TCL_VP_ATTR_EN_1_15_NNZN                                                 0x40000000
8532 #define    NV50TCL_VP_ATTR_EN_1_15_XNZN                                                 0x50000000
8533 #define    NV50TCL_VP_ATTR_EN_1_15_NYZN                                                 0x60000000
8534 #define    NV50TCL_VP_ATTR_EN_1_15_XYZN                                                 0x70000000
8535 #define    NV50TCL_VP_ATTR_EN_1_15_NNNW                                                 0x80000000
8536 #define    NV50TCL_VP_ATTR_EN_1_15_XNNW                                                 0x90000000
8537 #define    NV50TCL_VP_ATTR_EN_1_15_NYNW                                                 0xa0000000
8538 #define    NV50TCL_VP_ATTR_EN_1_15_XYNW                                                 0xb0000000
8539 #define    NV50TCL_VP_ATTR_EN_1_15_NNZW                                                 0xc0000000
8540 #define    NV50TCL_VP_ATTR_EN_1_15_XNZW                                                 0xd0000000
8541 #define    NV50TCL_VP_ATTR_EN_1_15_NYZW                                                 0xe0000000
8542 #define    NV50TCL_VP_ATTR_EN_1_15_XYZW                                                 0xf0000000
8543 #define   NV50TCL_VP_ATTR_EN_1_14_SHIFT                                                 24
8544 #define   NV50TCL_VP_ATTR_EN_1_14_MASK                                                  0x0f000000
8545 #define    NV50TCL_VP_ATTR_EN_1_14_NONE                                                 0x00000000
8546 #define    NV50TCL_VP_ATTR_EN_1_14_XNNN                                                 0x01000000
8547 #define    NV50TCL_VP_ATTR_EN_1_14_NYNN                                                 0x02000000
8548 #define    NV50TCL_VP_ATTR_EN_1_14_XYNN                                                 0x03000000
8549 #define    NV50TCL_VP_ATTR_EN_1_14_NNZN                                                 0x04000000
8550 #define    NV50TCL_VP_ATTR_EN_1_14_XNZN                                                 0x05000000
8551 #define    NV50TCL_VP_ATTR_EN_1_14_NYZN                                                 0x06000000
8552 #define    NV50TCL_VP_ATTR_EN_1_14_XYZN                                                 0x07000000
8553 #define    NV50TCL_VP_ATTR_EN_1_14_NNNW                                                 0x08000000
8554 #define    NV50TCL_VP_ATTR_EN_1_14_XNNW                                                 0x09000000
8555 #define    NV50TCL_VP_ATTR_EN_1_14_NYNW                                                 0x0a000000
8556 #define    NV50TCL_VP_ATTR_EN_1_14_XYNW                                                 0x0b000000
8557 #define    NV50TCL_VP_ATTR_EN_1_14_NNZW                                                 0x0c000000
8558 #define    NV50TCL_VP_ATTR_EN_1_14_XNZW                                                 0x0d000000
8559 #define    NV50TCL_VP_ATTR_EN_1_14_NYZW                                                 0x0e000000
8560 #define    NV50TCL_VP_ATTR_EN_1_14_XYZW                                                 0x0f000000
8561 #define   NV50TCL_VP_ATTR_EN_1_13_SHIFT                                                 20
8562 #define   NV50TCL_VP_ATTR_EN_1_13_MASK                                                  0x00f00000
8563 #define    NV50TCL_VP_ATTR_EN_1_13_NONE                                                 0x00000000
8564 #define    NV50TCL_VP_ATTR_EN_1_13_XNNN                                                 0x00100000
8565 #define    NV50TCL_VP_ATTR_EN_1_13_NYNN                                                 0x00200000
8566 #define    NV50TCL_VP_ATTR_EN_1_13_XYNN                                                 0x00300000
8567 #define    NV50TCL_VP_ATTR_EN_1_13_NNZN                                                 0x00400000
8568 #define    NV50TCL_VP_ATTR_EN_1_13_XNZN                                                 0x00500000
8569 #define    NV50TCL_VP_ATTR_EN_1_13_NYZN                                                 0x00600000
8570 #define    NV50TCL_VP_ATTR_EN_1_13_XYZN                                                 0x00700000
8571 #define    NV50TCL_VP_ATTR_EN_1_13_NNNW                                                 0x00800000
8572 #define    NV50TCL_VP_ATTR_EN_1_13_XNNW                                                 0x00900000
8573 #define    NV50TCL_VP_ATTR_EN_1_13_NYNW                                                 0x00a00000
8574 #define    NV50TCL_VP_ATTR_EN_1_13_XYNW                                                 0x00b00000
8575 #define    NV50TCL_VP_ATTR_EN_1_13_NNZW                                                 0x00c00000
8576 #define    NV50TCL_VP_ATTR_EN_1_13_XNZW                                                 0x00d00000
8577 #define    NV50TCL_VP_ATTR_EN_1_13_NYZW                                                 0x00e00000
8578 #define    NV50TCL_VP_ATTR_EN_1_13_XYZW                                                 0x00f00000
8579 #define   NV50TCL_VP_ATTR_EN_1_12_SHIFT                                                 16
8580 #define   NV50TCL_VP_ATTR_EN_1_12_MASK                                                  0x000f0000
8581 #define    NV50TCL_VP_ATTR_EN_1_12_NONE                                                 0x00000000
8582 #define    NV50TCL_VP_ATTR_EN_1_12_XNNN                                                 0x00010000
8583 #define    NV50TCL_VP_ATTR_EN_1_12_NYNN                                                 0x00020000
8584 #define    NV50TCL_VP_ATTR_EN_1_12_XYNN                                                 0x00030000
8585 #define    NV50TCL_VP_ATTR_EN_1_12_NNZN                                                 0x00040000
8586 #define    NV50TCL_VP_ATTR_EN_1_12_XNZN                                                 0x00050000
8587 #define    NV50TCL_VP_ATTR_EN_1_12_NYZN                                                 0x00060000
8588 #define    NV50TCL_VP_ATTR_EN_1_12_XYZN                                                 0x00070000
8589 #define    NV50TCL_VP_ATTR_EN_1_12_NNNW                                                 0x00080000
8590 #define    NV50TCL_VP_ATTR_EN_1_12_XNNW                                                 0x00090000
8591 #define    NV50TCL_VP_ATTR_EN_1_12_NYNW                                                 0x000a0000
8592 #define    NV50TCL_VP_ATTR_EN_1_12_XYNW                                                 0x000b0000
8593 #define    NV50TCL_VP_ATTR_EN_1_12_NNZW                                                 0x000c0000
8594 #define    NV50TCL_VP_ATTR_EN_1_12_XNZW                                                 0x000d0000
8595 #define    NV50TCL_VP_ATTR_EN_1_12_NYZW                                                 0x000e0000
8596 #define    NV50TCL_VP_ATTR_EN_1_12_XYZW                                                 0x000f0000
8597 #define   NV50TCL_VP_ATTR_EN_1_11_SHIFT                                                 12
8598 #define   NV50TCL_VP_ATTR_EN_1_11_MASK                                                  0x0000f000
8599 #define    NV50TCL_VP_ATTR_EN_1_11_NONE                                                 0x00000000
8600 #define    NV50TCL_VP_ATTR_EN_1_11_XNNN                                                 0x00001000
8601 #define    NV50TCL_VP_ATTR_EN_1_11_NYNN                                                 0x00002000
8602 #define    NV50TCL_VP_ATTR_EN_1_11_XYNN                                                 0x00003000
8603 #define    NV50TCL_VP_ATTR_EN_1_11_NNZN                                                 0x00004000
8604 #define    NV50TCL_VP_ATTR_EN_1_11_XNZN                                                 0x00005000
8605 #define    NV50TCL_VP_ATTR_EN_1_11_NYZN                                                 0x00006000
8606 #define    NV50TCL_VP_ATTR_EN_1_11_XYZN                                                 0x00007000
8607 #define    NV50TCL_VP_ATTR_EN_1_11_NNNW                                                 0x00008000
8608 #define    NV50TCL_VP_ATTR_EN_1_11_XNNW                                                 0x00009000
8609 #define    NV50TCL_VP_ATTR_EN_1_11_NYNW                                                 0x0000a000
8610 #define    NV50TCL_VP_ATTR_EN_1_11_XYNW                                                 0x0000b000
8611 #define    NV50TCL_VP_ATTR_EN_1_11_NNZW                                                 0x0000c000
8612 #define    NV50TCL_VP_ATTR_EN_1_11_XNZW                                                 0x0000d000
8613 #define    NV50TCL_VP_ATTR_EN_1_11_NYZW                                                 0x0000e000
8614 #define    NV50TCL_VP_ATTR_EN_1_11_XYZW                                                 0x0000f000
8615 #define   NV50TCL_VP_ATTR_EN_1_10_SHIFT                                                 8
8616 #define   NV50TCL_VP_ATTR_EN_1_10_MASK                                                  0x00000f00
8617 #define    NV50TCL_VP_ATTR_EN_1_10_NONE                                                 0x00000000
8618 #define    NV50TCL_VP_ATTR_EN_1_10_XNNN                                                 0x00000100
8619 #define    NV50TCL_VP_ATTR_EN_1_10_NYNN                                                 0x00000200
8620 #define    NV50TCL_VP_ATTR_EN_1_10_XYNN                                                 0x00000300
8621 #define    NV50TCL_VP_ATTR_EN_1_10_NNZN                                                 0x00000400
8622 #define    NV50TCL_VP_ATTR_EN_1_10_XNZN                                                 0x00000500
8623 #define    NV50TCL_VP_ATTR_EN_1_10_NYZN                                                 0x00000600
8624 #define    NV50TCL_VP_ATTR_EN_1_10_XYZN                                                 0x00000700
8625 #define    NV50TCL_VP_ATTR_EN_1_10_NNNW                                                 0x00000800
8626 #define    NV50TCL_VP_ATTR_EN_1_10_XNNW                                                 0x00000900
8627 #define    NV50TCL_VP_ATTR_EN_1_10_NYNW                                                 0x00000a00
8628 #define    NV50TCL_VP_ATTR_EN_1_10_XYNW                                                 0x00000b00
8629 #define    NV50TCL_VP_ATTR_EN_1_10_NNZW                                                 0x00000c00
8630 #define    NV50TCL_VP_ATTR_EN_1_10_XNZW                                                 0x00000d00
8631 #define    NV50TCL_VP_ATTR_EN_1_10_NYZW                                                 0x00000e00
8632 #define    NV50TCL_VP_ATTR_EN_1_10_XYZW                                                 0x00000f00
8633 #define   NV50TCL_VP_ATTR_EN_1_9_SHIFT                                                  4
8634 #define   NV50TCL_VP_ATTR_EN_1_9_MASK                                                   0x000000f0
8635 #define    NV50TCL_VP_ATTR_EN_1_9_NONE                                                  0x00000000
8636 #define    NV50TCL_VP_ATTR_EN_1_9_XNNN                                                  0x00000010
8637 #define    NV50TCL_VP_ATTR_EN_1_9_NYNN                                                  0x00000020
8638 #define    NV50TCL_VP_ATTR_EN_1_9_XYNN                                                  0x00000030
8639 #define    NV50TCL_VP_ATTR_EN_1_9_NNZN                                                  0x00000040
8640 #define    NV50TCL_VP_ATTR_EN_1_9_XNZN                                                  0x00000050
8641 #define    NV50TCL_VP_ATTR_EN_1_9_NYZN                                                  0x00000060
8642 #define    NV50TCL_VP_ATTR_EN_1_9_XYZN                                                  0x00000070
8643 #define    NV50TCL_VP_ATTR_EN_1_9_NNNW                                                  0x00000080
8644 #define    NV50TCL_VP_ATTR_EN_1_9_XNNW                                                  0x00000090
8645 #define    NV50TCL_VP_ATTR_EN_1_9_NYNW                                                  0x000000a0
8646 #define    NV50TCL_VP_ATTR_EN_1_9_XYNW                                                  0x000000b0
8647 #define    NV50TCL_VP_ATTR_EN_1_9_NNZW                                                  0x000000c0
8648 #define    NV50TCL_VP_ATTR_EN_1_9_XNZW                                                  0x000000d0
8649 #define    NV50TCL_VP_ATTR_EN_1_9_NYZW                                                  0x000000e0
8650 #define    NV50TCL_VP_ATTR_EN_1_9_XYZW                                                  0x000000f0
8651 #define   NV50TCL_VP_ATTR_EN_1_8_SHIFT                                                  0
8652 #define   NV50TCL_VP_ATTR_EN_1_8_MASK                                                   0x0000000f
8653 #define    NV50TCL_VP_ATTR_EN_1_8_NONE                                                  0x00000000
8654 #define    NV50TCL_VP_ATTR_EN_1_8_XNNN                                                  0x00000001
8655 #define    NV50TCL_VP_ATTR_EN_1_8_NYNN                                                  0x00000002
8656 #define    NV50TCL_VP_ATTR_EN_1_8_XYNN                                                  0x00000003
8657 #define    NV50TCL_VP_ATTR_EN_1_8_NNZN                                                  0x00000004
8658 #define    NV50TCL_VP_ATTR_EN_1_8_XNZN                                                  0x00000005
8659 #define    NV50TCL_VP_ATTR_EN_1_8_NYZN                                                  0x00000006
8660 #define    NV50TCL_VP_ATTR_EN_1_8_XYZN                                                  0x00000007
8661 #define    NV50TCL_VP_ATTR_EN_1_8_NNNW                                                  0x00000008
8662 #define    NV50TCL_VP_ATTR_EN_1_8_XNNW                                                  0x00000009
8663 #define    NV50TCL_VP_ATTR_EN_1_8_NYNW                                                  0x0000000a
8664 #define    NV50TCL_VP_ATTR_EN_1_8_XYNW                                                  0x0000000b
8665 #define    NV50TCL_VP_ATTR_EN_1_8_NNZW                                                  0x0000000c
8666 #define    NV50TCL_VP_ATTR_EN_1_8_XNZW                                                  0x0000000d
8667 #define    NV50TCL_VP_ATTR_EN_1_8_NYZW                                                  0x0000000e
8668 #define    NV50TCL_VP_ATTR_EN_1_8_XYZW                                                  0x0000000f
8669 #define  NV50TCL_POINT_SPRITE_CTRL                                                      0x00001660
8670 #define  NV50TCL_LINE_STIPPLE_ENABLE                                                    0x0000166c
8671 #define  NV50TCL_LINE_STIPPLE_PATTERN                                                   0x00001680
8672 #define  NV50TCL_PROVOKING_VERTEX_LAST                                                  0x00001684
8673 #define  NV50TCL_VERTEX_TWO_SIDE_ENABLE                                                 0x00001688
8674 #define  NV50TCL_POLYGON_STIPPLE_ENABLE                                                 0x0000168c
8675 #define  NV50TCL_SET_PROGRAM_CB                                                         0x00001694
8676 #define   NV50TCL_SET_PROGRAM_CB_PROGRAM_SHIFT                                          4
8677 #define   NV50TCL_SET_PROGRAM_CB_PROGRAM_MASK                                           0x000000f0
8678 #define    NV50TCL_SET_PROGRAM_CB_PROGRAM_VERTEX                                        0x00000000
8679 #define    NV50TCL_SET_PROGRAM_CB_PROGRAM_GEOMETRY                                      0x00000020
8680 #define    NV50TCL_SET_PROGRAM_CB_PROGRAM_FRAGMENT                                      0x00000030
8681 #define   NV50TCL_SET_PROGRAM_CB_INDEX_SHIFT                                            8
8682 #define   NV50TCL_SET_PROGRAM_CB_INDEX_MASK                                             0x00000f00
8683 #define   NV50TCL_SET_PROGRAM_CB_BUFFER_SHIFT                                           12
8684 #define   NV50TCL_SET_PROGRAM_CB_BUFFER_MASK                                            0x0007f000
8685 #define   NV50TCL_SET_PROGRAM_CB_VALID                                                  (1 <<  0)
8686 #define  NV50TCL_VP_RESULT_MAP_SIZE                                                     0x000016ac
8687 #define  NV50TCL_VP_REG_ALLOC_TEMP                                                      0x000016b0
8688 #define  NV50TCL_VP_REG_ALLOC_RESULT                                                    0x000016b8
8689 #define  NV50TCL_VP_RESULT_MAP(x)                                                       (0x000016bc+((x)*4))
8690 #define  NV50TCL_VP_RESULT_MAP__SIZE                                                    0x00000010
8691 #define   NV50TCL_VP_RESULT_MAP_0_SHIFT                                                 0
8692 #define   NV50TCL_VP_RESULT_MAP_0_MASK                                                  0x000000ff
8693 #define   NV50TCL_VP_RESULT_MAP_1_SHIFT                                                 8
8694 #define   NV50TCL_VP_RESULT_MAP_1_MASK                                                  0x0000ff00
8695 #define   NV50TCL_VP_RESULT_MAP_2_SHIFT                                                 16
8696 #define   NV50TCL_VP_RESULT_MAP_2_MASK                                                  0x00ff0000
8697 #define   NV50TCL_VP_RESULT_MAP_3_SHIFT                                                 24
8698 #define   NV50TCL_VP_RESULT_MAP_3_MASK                                                  0xff000000
8699 #define  NV50TCL_POLYGON_STIPPLE_PATTERN(x)                                             (0x00001700+((x)*4))
8700 #define  NV50TCL_POLYGON_STIPPLE_PATTERN__SIZE                                          0x00000020
8701 #define  NV50TCL_GP_ENABLE                                                              0x00001798
8702 #define  NV50TCL_GP_REG_ALLOC_TEMP                                                      0x000017a0
8703 #define  NV50TCL_GP_REG_ALLOC_RESULT                                                    0x000017a8
8704 #define  NV50TCL_GP_RESULT_MAP_SIZE                                                     0x000017ac
8705 #define  NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE                                               0x000017b0
8706 #define   NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE_POINTS                                       0x00000001
8707 #define   NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE_LINE_STRIP                                   0x00000002
8708 #define   NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE_TRIANGLE_STRIP                               0x00000003
8709 #define  NV50TCL_RASTERIZE_ENABLE                                                       0x000017b4
8710 #define  NV50TCL_STRMOUT_ENABLE                                                         0x000017b8
8711 #define  NV50TCL_GP_RESULT_MAP(x)                                                       (0x000017fc+((x)*4))
8712 #define  NV50TCL_GP_RESULT_MAP__SIZE                                                    0x00000020
8713 #define   NV50TCL_GP_RESULT_MAP_0_SHIFT                                                 0
8714 #define   NV50TCL_GP_RESULT_MAP_0_MASK                                                  0x000000ff
8715 #define   NV50TCL_GP_RESULT_MAP_1_SHIFT                                                 8
8716 #define   NV50TCL_GP_RESULT_MAP_1_MASK                                                  0x0000ff00
8717 #define   NV50TCL_GP_RESULT_MAP_2_SHIFT                                                 16
8718 #define   NV50TCL_GP_RESULT_MAP_2_MASK                                                  0x00ff0000
8719 #define   NV50TCL_GP_RESULT_MAP_3_SHIFT                                                 24
8720 #define   NV50TCL_GP_RESULT_MAP_3_MASK                                                  0xff000000
8721 #define  NV50TCL_MAP_SEMANTIC_0                                                         0x00001904
8722 #define   NV50TCL_MAP_SEMANTIC_0_FFC0_ID_SHIFT                                          0
8723 #define   NV50TCL_MAP_SEMANTIC_0_FFC0_ID_MASK                                           0x000000ff
8724 #define   NV50TCL_MAP_SEMANTIC_0_BFC0_ID_SHIFT                                          8
8725 #define   NV50TCL_MAP_SEMANTIC_0_BFC0_ID_MASK                                           0x0000ff00
8726 #define   NV50TCL_MAP_SEMANTIC_0_COLR_NR_SHIFT                                          16
8727 #define   NV50TCL_MAP_SEMANTIC_0_COLR_NR_MASK                                           0x00ff0000
8728 #define   NV50TCL_MAP_SEMANTIC_0_CLMP_EN_SHIFT                                          24
8729 #define   NV50TCL_MAP_SEMANTIC_0_CLMP_EN_MASK                                           0xff000000
8730 #define  NV50TCL_MAP_SEMANTIC_1                                                         0x00001908
8731 #define   NV50TCL_MAP_SEMANTIC_1_CLIP_LO_SHIFT                                          0
8732 #define   NV50TCL_MAP_SEMANTIC_1_CLIP_LO_MASK                                           0x000000ff
8733 #define   NV50TCL_MAP_SEMANTIC_1_CLIP_HI_SHIFT                                          8
8734 #define   NV50TCL_MAP_SEMANTIC_1_CLIP_HI_MASK                                           0x0000ff00
8735 #define  NV50TCL_MAP_SEMANTIC_2                                                         0x0000190c
8736 #define   NV50TCL_MAP_SEMANTIC_2_LAYER_ID_SHIFT                                         0
8737 #define   NV50TCL_MAP_SEMANTIC_2_LAYER_ID_MASK                                          0x000000ff
8738 #define  NV50TCL_MAP_SEMANTIC_3                                                         0x00001910
8739 #define   NV50TCL_MAP_SEMANTIC_3_PTSZ_EN                                                (1 <<  0)
8740 #define   NV50TCL_MAP_SEMANTIC_3_PTSZ_ID_SHIFT                                          4
8741 #define   NV50TCL_MAP_SEMANTIC_3_PTSZ_ID_MASK                                           0x00000ff0
8742 #define  NV50TCL_MAP_SEMANTIC_4                                                         0x00001914
8743 #define   NV50TCL_MAP_SEMANTIC_4_PRIM_ID_SHIFT                                          0
8744 #define   NV50TCL_MAP_SEMANTIC_4_PRIM_ID_MASK                                           0x000000ff
8745 #define  NV50TCL_CULL_FACE_ENABLE                                                       0x00001918
8746 #define  NV50TCL_FRONT_FACE                                                             0x0000191c
8747 #define   NV50TCL_FRONT_FACE_CW                                                         0x00000900
8748 #define   NV50TCL_FRONT_FACE_CCW                                                        0x00000901
8749 #define  NV50TCL_CULL_FACE                                                              0x00001920
8750 #define   NV50TCL_CULL_FACE_FRONT                                                       0x00000404
8751 #define   NV50TCL_CULL_FACE_BACK                                                        0x00000405
8752 #define   NV50TCL_CULL_FACE_FRONT_AND_BACK                                              0x00000408
8753 #define  NV50TCL_VIEWPORT_TRANSFORM_EN                                                  0x0000192c
8754 #define  NV50TCL_VIEW_VOLUME_CLIP_CTRL                                                  0x0000193c
8755 #define  NV50TCL_VIEWPORT_CLIP_RECTS_EN                                                 0x0000194c
8756 #define  NV50TCL_FP_CTRL_UNK196C                                                        0x0000196c
8757 #define  NV50TCL_FP_INTERPOLANT_CTRL                                                    0x00001988
8758 #define   NV50TCL_FP_INTERPOLANT_CTRL_UMASK_SHIFT                                       24
8759 #define   NV50TCL_FP_INTERPOLANT_CTRL_UMASK_MASK                                        0xff000000
8760 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NONE                                       0x00000000
8761 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNNN                                       0x01000000
8762 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYNN                                       0x02000000
8763 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYNN                                       0x03000000
8764 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NNZN                                       0x04000000
8765 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNZN                                       0x05000000
8766 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYZN                                       0x06000000
8767 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYZN                                       0x07000000
8768 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NNNW                                       0x08000000
8769 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNNW                                       0x09000000
8770 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYNW                                       0x0a000000
8771 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYNW                                       0x0b000000
8772 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NNZW                                       0x0c000000
8773 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNZW                                       0x0d000000
8774 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYZW                                       0x0e000000
8775 #define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYZW                                       0x0f000000
8776 #define   NV50TCL_FP_INTERPOLANT_CTRL_COUNT_NONFLAT_SHIFT                               16
8777 #define   NV50TCL_FP_INTERPOLANT_CTRL_COUNT_NONFLAT_MASK                                0x00ff0000
8778 #define   NV50TCL_FP_INTERPOLANT_CTRL_OFFSET_SHIFT                                      8
8779 #define   NV50TCL_FP_INTERPOLANT_CTRL_OFFSET_MASK                                       0x0000ff00
8780 #define   NV50TCL_FP_INTERPOLANT_CTRL_COUNT_SHIFT                                       0
8781 #define   NV50TCL_FP_INTERPOLANT_CTRL_COUNT_MASK                                        0x000000ff
8782 #define  NV50TCL_FP_REG_ALLOC_TEMP                                                      0x0000198c
8783 #define  NV50TCL_WARP_HALVES                                                            0x000019a0
8784 #define  NV50TCL_FP_CONTROL                                                             0x000019a8
8785 #define   NV50TCL_FP_CONTROL_MULTIPLE_RESULTS                                           (1 <<  0)
8786 #define   NV50TCL_FP_CONTROL_EXPORTS_Z                                                  (1 <<  8)
8787 #define   NV50TCL_FP_CONTROL_USES_KIL                                                   (1 << 20)
8788 #define  NV50TCL_DEPTH_BOUNDS_EN                                                        0x000019bc
8789 #define  NV50TCL_LOGIC_OP_ENABLE                                                        0x000019c4
8790 #define  NV50TCL_LOGIC_OP                                                               0x000019c8
8791 #define   NV50TCL_LOGIC_OP_CLEAR                                                        0x00001500
8792 #define   NV50TCL_LOGIC_OP_AND                                                          0x00001501
8793 #define   NV50TCL_LOGIC_OP_AND_REVERSE                                                  0x00001502
8794 #define   NV50TCL_LOGIC_OP_COPY                                                         0x00001503
8795 #define   NV50TCL_LOGIC_OP_AND_INVERTED                                                 0x00001504
8796 #define   NV50TCL_LOGIC_OP_NOOP                                                         0x00001505
8797 #define   NV50TCL_LOGIC_OP_XOR                                                          0x00001506
8798 #define   NV50TCL_LOGIC_OP_OR                                                           0x00001507
8799 #define   NV50TCL_LOGIC_OP_NOR                                                          0x00001508
8800 #define   NV50TCL_LOGIC_OP_EQUIV                                                        0x00001509
8801 #define   NV50TCL_LOGIC_OP_INVERT                                                       0x0000150a
8802 #define   NV50TCL_LOGIC_OP_OR_REVERSE                                                   0x0000150b
8803 #define   NV50TCL_LOGIC_OP_COPY_INVERTED                                                0x0000150c
8804 #define   NV50TCL_LOGIC_OP_OR_INVERTED                                                  0x0000150d
8805 #define   NV50TCL_LOGIC_OP_NAND                                                         0x0000150e
8806 #define   NV50TCL_LOGIC_OP_SET                                                          0x0000150f
8807 #define  NV50TCL_CLEAR_BUFFERS                                                          0x000019d0
8808 #define   NV50TCL_CLEAR_BUFFERS_Z                                                       (1 <<  0)
8809 #define   NV50TCL_CLEAR_BUFFERS_S                                                       (1 <<  1)
8810 #define   NV50TCL_CLEAR_BUFFERS_R                                                       (1 <<  2)
8811 #define   NV50TCL_CLEAR_BUFFERS_G                                                       (1 <<  3)
8812 #define   NV50TCL_CLEAR_BUFFERS_B                                                       (1 <<  4)
8813 #define   NV50TCL_CLEAR_BUFFERS_A                                                       (1 <<  5)
8814 #define   NV50TCL_CLEAR_BUFFERS_RT_SHIFT                                                6
8815 #define   NV50TCL_CLEAR_BUFFERS_RT_MASK                                                 0x000003c0
8816 #define   NV50TCL_CLEAR_BUFFERS_LAYER_SHIFT                                             10
8817 #define   NV50TCL_CLEAR_BUFFERS_LAYER_MASK                                              0x0007fc00
8818 #define  NV50TCL_COLOR_MASK(x)                                                          (0x00001a00+((x)*4))
8819 #define  NV50TCL_COLOR_MASK__SIZE                                                       0x00000008
8820 #define   NV50TCL_COLOR_MASK_R_SHIFT                                                    0
8821 #define   NV50TCL_COLOR_MASK_R_MASK                                                     0x0000000f
8822 #define   NV50TCL_COLOR_MASK_G_SHIFT                                                    4
8823 #define   NV50TCL_COLOR_MASK_G_MASK                                                     0x000000f0
8824 #define   NV50TCL_COLOR_MASK_B_SHIFT                                                    8
8825 #define   NV50TCL_COLOR_MASK_B_MASK                                                     0x00000f00
8826 #define   NV50TCL_COLOR_MASK_A_SHIFT                                                    12
8827 #define   NV50TCL_COLOR_MASK_A_MASK                                                     0x0000f000
8828 #define  NV50TCL_STRMOUT_ADDRESS_HIGH(x)                                                (0x00001a80+((x)*16))
8829 #define  NV50TCL_STRMOUT_ADDRESS_HIGH__SIZE                                             0x00000004
8830 #define  NV50TCL_STRMOUT_ADDRESS_LOW(x)                                                 (0x00001a84+((x)*16))
8831 #define  NV50TCL_STRMOUT_ADDRESS_LOW__SIZE                                              0x00000004
8832 #define  NV50TCL_STRMOUT_NUM_ATTRIBS(x)                                                 (0x00001a88+((x)*16))
8833 #define  NV50TCL_STRMOUT_NUM_ATTRIBS__SIZE                                              0x00000004
8834 #define  NV50TCL_VERTEX_ARRAY_ATTRIB(x)                                                 (0x00001ac0+((x)*4))
8835 #define  NV50TCL_VERTEX_ARRAY_ATTRIB__SIZE                                              0x00000010
8836 #define   NV50TCL_VERTEX_ARRAY_ATTRIB_BUFFER_SHIFT                                      0
8837 #define   NV50TCL_VERTEX_ARRAY_ATTRIB_BUFFER_MASK                                       0x0000000f
8838 #define   NV50TCL_VERTEX_ARRAY_ATTRIB_CONST                                             (1 <<  4)
8839 #define   NV50TCL_VERTEX_ARRAY_ATTRIB_OFFSET_SHIFT                                      5
8840 #define   NV50TCL_VERTEX_ARRAY_ATTRIB_OFFSET_MASK                                       0x0007ffe0
8841 #define   NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_SHIFT                                      19
8842 #define   NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_MASK                                       0x01f80000
8843 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32_32_32_32                               0x00080000
8844 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32_32_32                                  0x00100000
8845 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16_16_16_16                               0x00180000
8846 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32_32                                     0x00200000
8847 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16_16_16                                  0x00280000
8848 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8_8_8_8                                   0x00500000
8849 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16_16                                     0x00780000
8850 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32                                        0x00900000
8851 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8_8_8                                     0x00980000
8852 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8_8                                       0x00c00000
8853 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16                                        0x00d80000
8854 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8                                         0x00e80000
8855 #define   NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SHIFT                                        25
8856 #define   NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_MASK                                         0x7e000000
8857 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_FLOAT                                       0x7e000000
8858 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UNORM                                       0x24000000
8859 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SNORM                                       0x12000000
8860 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_USCALED                                     0x5a000000
8861 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SSCALED                                     0x6c000000
8862 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UINT                                        0x48000000
8863 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SINT                                        0x36000000
8864 #define   NV50TCL_VERTEX_ARRAY_ATTRIB_BGRA                                              (1 << 31)
8865 #define  NV50TCL_QUERY_ADDRESS_HIGH                                                     0x00001b00
8866 #define  NV50TCL_QUERY_ADDRESS_LOW                                                      0x00001b04
8867 #define  NV50TCL_QUERY_COUNTER                                                          0x00001b08
8868 #define  NV50TCL_QUERY_GET                                                              0x00001b0c
8869
8870
8871 #define NV84TCL                                                                         0x00008297
8872
8873
8874
8875 #define NVA0TCL                                                                         0x00008397
8876
8877
8878
8879 #define NVA8TCL                                                                         0x00008597
8880
8881
8882
8883 #define NV50_COMPUTE                                                                    0x000050c0
8884
8885 #define  NV50_COMPUTE_NOP                                                               0x00000100
8886 #define  NV50_COMPUTE_NOTIFY                                                            0x00000104
8887 #define  NV50_COMPUTE_SERIALIZE                                                         0x00000110
8888 #define  NV50_COMPUTE_DMA_NOTIFY                                                        0x00000180
8889 #define  NV50_COMPUTE_DMA_GLOBAL                                                        0x000001a0
8890 #define  NV50_COMPUTE_DMA_QUERY                                                         0x000001a4
8891 #define  NV50_COMPUTE_DMA_LOCAL                                                         0x000001b8
8892 #define  NV50_COMPUTE_DMA_STACK                                                         0x000001bc
8893 #define  NV50_COMPUTE_DMA_CODE_CB                                                       0x000001c0
8894 #define  NV50_COMPUTE_DMA_TSC                                                           0x000001c4
8895 #define  NV50_COMPUTE_DMA_TIC                                                           0x000001c8
8896 #define  NV50_COMPUTE_DMA_TEXTURE                                                       0x000001cc
8897 #define  NV50_COMPUTE_CP_ADDRESS_HIGH                                                   0x00000210
8898 #define  NV50_COMPUTE_CP_ADDRESS_LOW                                                    0x00000214
8899 #define  NV50_COMPUTE_STACK_ADDRESS_HIGH                                                0x00000218
8900 #define  NV50_COMPUTE_STACK_ADDRESS_LOW                                                 0x0000021c
8901 #define  NV50_COMPUTE_STACK_SIZE_LOG                                                    0x00000220
8902 #define  NV50_COMPUTE_TSC_ADDRESS_HIGH                                                  0x0000022c
8903 #define  NV50_COMPUTE_TSC_ADDRESS_LOW                                                   0x00000230
8904 #define  NV50_COMPUTE_TSC_LIMIT                                                         0x00000234
8905 #define  NV50_COMPUTE_CB_ADDR                                                           0x00000238
8906 #define   NV50_COMPUTE_CB_ADDR_ID_SHIFT                                                 8
8907 #define   NV50_COMPUTE_CB_ADDR_ID_MASK                                                  0x003fff00
8908 #define   NV50_COMPUTE_CB_ADDR_BUFFER_SHIFT                                             0
8909 #define   NV50_COMPUTE_CB_ADDR_BUFFER_MASK                                              0x0000007f
8910 #define  NV50_COMPUTE_CB_DATA(x)                                                        (0x0000023c+((x)*4))
8911 #define  NV50_COMPUTE_CB_DATA__SIZE                                                     0x00000010
8912 #define  NV50_COMPUTE_DELAY1                                                            0x00000284
8913 #define  NV50_COMPUTE_WATCHDOG_TIMER                                                    0x00000288
8914 #define  NV50_COMPUTE_DELAY2                                                            0x0000028c
8915 #define  NV50_COMPUTE_LOCAL_ADDRESS_HIGH                                                0x00000294
8916 #define  NV50_COMPUTE_LOCAL_ADDRESS_LOW                                                 0x00000298
8917 #define  NV50_COMPUTE_LOCAL_SIZE_LOG                                                    0x0000029c
8918 #define  NV50_COMPUTE_CB_DEF_ADDRESS_HIGH                                               0x000002a4
8919 #define  NV50_COMPUTE_CB_DEF_ADDRESS_LOW                                                0x000002a8
8920 #define  NV50_COMPUTE_CB_DEF_SET                                                        0x000002ac
8921 #define   NV50_COMPUTE_CB_DEF_SET_SIZE_SHIFT                                            0
8922 #define   NV50_COMPUTE_CB_DEF_SET_SIZE_MASK                                             0x0000ffff
8923 #define   NV50_COMPUTE_CB_DEF_SET_BUFFER_SHIFT                                          16
8924 #define   NV50_COMPUTE_CB_DEF_SET_BUFFER_MASK                                           0x007f0000
8925 #define  NV50_COMPUTE_BLOCK_ALLOC                                                       0x000002b4
8926 #define   NV50_COMPUTE_BLOCK_ALLOC_THREADS_SHIFT                                        0
8927 #define   NV50_COMPUTE_BLOCK_ALLOC_THREADS_MASK                                         0x0000ffff
8928 #define   NV50_COMPUTE_BLOCK_ALLOC_BARRIERS_SHIFT                                       16
8929 #define   NV50_COMPUTE_BLOCK_ALLOC_BARRIERS_MASK                                        0xffff0000
8930 #define  NV50_COMPUTE_CP_REG_ALLOC_TEMP                                                 0x000002c0
8931 #define  NV50_COMPUTE_TIC_ADDRESS_HIGH                                                  0x000002c4
8932 #define  NV50_COMPUTE_TIC_ADDRESS_LOW                                                   0x000002c8
8933 #define  NV50_COMPUTE_TIC_LIMIT                                                         0x000002cc
8934 #define  NV50_COMPUTE_PM_SET(x)                                                         (0x000002d0+((x)*4))
8935 #define  NV50_COMPUTE_PM_SET__SIZE                                                      0x00000004
8936 #define  NV50_COMPUTE_PM_CONTROL(x)                                                     (0x000002e0+((x)*4))
8937 #define  NV50_COMPUTE_PM_CONTROL__SIZE                                                  0x00000004
8938 #define   NV50_COMPUTE_PM_CONTROL_UNK0                                                  (1 <<  0)
8939 #define   NV50_COMPUTE_PM_CONTROL_UNK1_SHIFT                                            4
8940 #define   NV50_COMPUTE_PM_CONTROL_UNK1_MASK                                             0x00000070
8941 #define   NV50_COMPUTE_PM_CONTROL_UNK2_SHIFT                                            8
8942 #define   NV50_COMPUTE_PM_CONTROL_UNK2_MASK                                             0xffffff00
8943 #define  NV50_COMPUTE_LOCAL_WARPS_LOG_ALLOC                                             0x000002fc
8944 #define  NV50_COMPUTE_LOCAL_WARPS_NO_CLAMP                                              0x00000300
8945 #define  NV50_COMPUTE_STACK_WARPS_LOG_ALLOC                                             0x00000304
8946 #define  NV50_COMPUTE_STACK_WARPS_NO_CLAMP                                              0x00000308
8947 #define  NV50_COMPUTE_QUERY_ADDRESS_HIGH                                                0x00000310
8948 #define  NV50_COMPUTE_QUERY_ADDRESS_LOW                                                 0x00000314
8949 #define  NV50_COMPUTE_QUERY_COUNTER                                                     0x00000318
8950 #define  NV50_COMPUTE_QUERY_GET                                                         0x0000031c
8951 #define  NV50_COMPUTE_COND_ADDRESS_HIGH                                                 0x00000320
8952 #define  NV50_COMPUTE_COND_ADDRESS_LOW                                                  0x00000324
8953 #define  NV50_COMPUTE_COND_MODE                                                         0x00000328
8954 #define   NV50_COMPUTE_COND_MODE_NEVER                                                  0x00000000
8955 #define   NV50_COMPUTE_COND_MODE_ALWAYS                                                 0x00000001
8956 #define   NV50_COMPUTE_COND_MODE_RES                                                    0x00000002
8957 #define   NV50_COMPUTE_COND_MODE_NOT_RES_AND_NOT_ID                                     0x00000003
8958 #define   NV50_COMPUTE_COND_MODE_RES_OR_ID                                              0x00000004
8959 #define  NV50_COMPUTE_LAUNCH                                                            0x00000368
8960 #define  NV50_COMPUTE_USER_PARAM_COUNT                                                  0x00000374
8961 #define   NV50_COMPUTE_USER_PARAM_COUNT_COUNT_SHIFT                                     8
8962 #define   NV50_COMPUTE_USER_PARAM_COUNT_COUNT_MASK                                      0x0000ff00
8963 #define  NV50_COMPUTE_LINKED_TSC                                                        0x00000378
8964 #define  NV50_COMPUTE_CODE_CB_FLUSH                                                     0x00000380
8965 #define  NV50_COMPUTE_GRIDDIM                                                           0x000003a4
8966 #define   NV50_COMPUTE_GRIDDIM_X_SHIFT                                                  0
8967 #define   NV50_COMPUTE_GRIDDIM_X_MASK                                                   0x0000ffff
8968 #define   NV50_COMPUTE_GRIDDIM_Y_SHIFT                                                  16
8969 #define   NV50_COMPUTE_GRIDDIM_Y_MASK                                                   0xffff0000
8970 #define  NV50_COMPUTE_SHARED_SIZE                                                       0x000003a8
8971 #define  NV50_COMPUTE_BLOCKDIM_YX                                                       0x000003ac
8972 #define   NV50_COMPUTE_BLOCKDIM_YX_X_SHIFT                                              0
8973 #define   NV50_COMPUTE_BLOCKDIM_YX_X_MASK                                               0x0000ffff
8974 #define   NV50_COMPUTE_BLOCKDIM_YX_Y_SHIFT                                              16
8975 #define   NV50_COMPUTE_BLOCKDIM_YX_Y_MASK                                               0xffff0000
8976 #define  NV50_COMPUTE_BLOCKDIM_Z                                                        0x000003b0
8977 #define  NV50_COMPUTE_CP_START_ID                                                       0x000003b4
8978 #define  NV50_COMPUTE_WARP_HALVES                                                       0x000003b8
8979 #define  NV50_COMPUTE_TEX_LIMITS                                                        0x000003bc
8980 #define   NV50_COMPUTE_TEX_LIMITS_SAMPLERS_LOG2_SHIFT                                   0
8981 #define   NV50_COMPUTE_TEX_LIMITS_SAMPLERS_LOG2_MASK                                    0x0000000f
8982 #define   NV50_COMPUTE_TEX_LIMITS_TEXTURES_LOG2_SHIFT                                   4
8983 #define   NV50_COMPUTE_TEX_LIMITS_TEXTURES_LOG2_MASK                                    0x000000f0
8984 #define  NV50_COMPUTE_BIND_TSC                                                          0x000003c0
8985 #define   NV50_COMPUTE_BIND_TSC_VALID                                                   (1 <<  0)
8986 #define   NV50_COMPUTE_BIND_TSC_SAMPLER_SHIFT                                           4
8987 #define   NV50_COMPUTE_BIND_TSC_SAMPLER_MASK                                            0x000000f0
8988 #define   NV50_COMPUTE_BIND_TSC_TSC_SHIFT                                               12
8989 #define   NV50_COMPUTE_BIND_TSC_TSC_MASK                                                0x001ff000
8990 #define  NV50_COMPUTE_BIND_TIC                                                          0x000003c4
8991 #define   NV50_COMPUTE_BIND_TIC_VALID                                                   (1 <<  0)
8992 #define   NV50_COMPUTE_BIND_TIC_TEXTURE_SHIFT                                           1
8993 #define   NV50_COMPUTE_BIND_TIC_TEXTURE_MASK                                            0x000001fe
8994 #define   NV50_COMPUTE_BIND_TIC_TIC_SHIFT                                               9
8995 #define   NV50_COMPUTE_BIND_TIC_TIC_MASK                                                0x7ffffe00
8996 #define  NV50_COMPUTE_SET_PROGRAM_CB                                                    0x000003c8
8997 #define   NV50_COMPUTE_SET_PROGRAM_CB_INDEX_SHIFT                                       8
8998 #define   NV50_COMPUTE_SET_PROGRAM_CB_INDEX_MASK                                        0x00000f00
8999 #define   NV50_COMPUTE_SET_PROGRAM_CB_BUFFER_SHIFT                                      12
9000 #define   NV50_COMPUTE_SET_PROGRAM_CB_BUFFER_MASK                                       0x0007f000
9001 #define   NV50_COMPUTE_SET_PROGRAM_CB_VALID                                             (1 <<  0)
9002 #define  NV50_COMPUTE_GLOBAL_ADDRESS_HIGH(x)                                            (0x00000400+((x)*32))
9003 #define  NV50_COMPUTE_GLOBAL_ADDRESS_HIGH__SIZE                                         0x00000010
9004 #define  NV50_COMPUTE_GLOBAL_ADDRESS_LOW(x)                                             (0x00000404+((x)*32))
9005 #define  NV50_COMPUTE_GLOBAL_ADDRESS_LOW__SIZE                                          0x00000010
9006 #define  NV50_COMPUTE_GLOBAL_PITCH(x)                                                   (0x00000408+((x)*32))
9007 #define  NV50_COMPUTE_GLOBAL_PITCH__SIZE                                                0x00000010
9008 #define  NV50_COMPUTE_GLOBAL_LIMIT(x)                                                   (0x0000040c+((x)*32))
9009 #define  NV50_COMPUTE_GLOBAL_LIMIT__SIZE                                                0x00000010
9010 #define  NV50_COMPUTE_GLOBAL_MODE(x)                                                    (0x00000410+((x)*32))
9011 #define  NV50_COMPUTE_GLOBAL_MODE__SIZE                                                 0x00000010
9012 #define   NV50_COMPUTE_GLOBAL_MODE_LINEAR                                               (1 <<  0)
9013 #define   NV50_COMPUTE_GLOBAL_MODE_TILE_MODE_SHIFT                                      8
9014 #define   NV50_COMPUTE_GLOBAL_MODE_TILE_MODE_MASK                                       0x00000f00
9015 #define  NV50_COMPUTE_USER_PARAM(x)                                                     (0x00000600+((x)*4))
9016 #define  NV50_COMPUTE_USER_PARAM__SIZE                                                  0x00000040
9017
9018
9019 #endif /* NOUVEAU_REG_H */