Enable nv30 exa on PPC.
[nouveau] / src / nouveau_class.h
1 /*************************************************************************
2
3    Autogenerated file, do not edit !
4
5 **************************************************************************
6
7    Copyright (C) 2006-2007 :
8    Dmitry Baryshkov,
9    Laurent Carlier,
10    Matthieu Castet,
11    Dawid Gajownik,
12    Jeremy Kolb,
13    Stephane Loeuillet,
14    Patrice Mandin,
15    Stephane Marchesin,
16    Serge Martin,
17    Sylvain Munaut,
18    Ben Skeggs,
19    Erik Waling,
20    koala_br,
21    sturmflut.
22
23 All Rights Reserved.
24
25 Permission is hereby granted, free of charge, to any person obtaining
26 a copy of this software and associated documentation files (the
27 "Software"), to deal in the Software without restriction, including
28 without limitation the rights to use, copy, modify, merge, publish,
29 distribute, sublicense, and/or sell copies of the Software, and to
30 permit persons to whom the Software is furnished to do so, subject to
31 the following conditions:
32
33 The above copyright notice and this permission notice (including the
34 next paragraph) shall be included in all copies or substantial
35 portions of the Software.
36
37 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
39 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
40 IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
41 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
42 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
43 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
44
45 *************************************************************************/
46
47
48 #ifndef NOUVEAU_REG_H
49 #define NOUVEAU_REG_H 1
50
51
52 #define NV01_ROOT                                                                       0x00000001
53
54
55
56 #define NV01_CONTEXT_DMA                                                                0x00000002
57
58
59
60 #define NV01_DEVICE                                                                     0x00000003
61
62
63
64 #define NV01_TIMER                                                                      0x00000004
65
66 #define  NV01_TIMER_SYNCHRONIZE                                                         0x00000100
67 #define  NV01_TIMER_STOP_ALARM                                                          0x00000104
68 #define  NV01_TIMER_DMA_NOTIFY                                                          0x00000180
69 #define  NV01_TIMER_TIME(x)                                                             (0x00000300+((x)*4))
70 #define  NV01_TIMER_TIME__SIZE                                                          0x00000002
71 #define  NV01_TIMER_ALARM_NOTIFY                                                        0x00000308
72
73
74 #define NV_IMAGE_STENCIL                                                                0x00000010
75
76 #define  NV_IMAGE_STENCIL_NOTIFY                                                        0x00000104
77 #define  NV_IMAGE_STENCIL_DMA_NOTIFY                                                    0x00000180
78 #define  NV_IMAGE_STENCIL_IMAGE_OUTPUT                                                  0x00000200
79 #define  NV_IMAGE_STENCIL_IMAGE_INPUT(x)                                                (0x00000204+((x)*4))
80 #define  NV_IMAGE_STENCIL_IMAGE_INPUT__SIZE                                             0x00000002
81
82
83 #define NV_IMAGE_BLEND_AND                                                              0x00000011
84
85 #define  NV_IMAGE_BLEND_AND_NOP                                                         0x00000100
86 #define  NV_IMAGE_BLEND_AND_NOTIFY                                                      0x00000104
87 #define  NV_IMAGE_BLEND_AND_DMA_NOTIFY                                                  0x00000180
88 #define  NV_IMAGE_BLEND_AND_IMAGE_OUTPUT                                                0x00000200
89 #define  NV_IMAGE_BLEND_AND_BETA_INPUT                                                  0x00000204
90 #define  NV_IMAGE_BLEND_AND_IMAGE_INPUT                                                 0x00000208
91
92
93 #define NV01_CONTEXT_BETA1                                                              0x00000012
94
95 #define  NV01_CONTEXT_BETA1_NOP                                                         0x00000100
96 #define  NV01_CONTEXT_BETA1_NOTIFY                                                      0x00000104
97 #define  NV01_CONTEXT_BETA1_DMA_NOTIFY                                                  0x00000180
98 #define  NV01_CONTEXT_BETA1_BETA_1D31                                                   0x00000300
99
100
101 #define NV_IMAGE_ROP_AND                                                                0x00000013
102
103 #define  NV_IMAGE_ROP_AND_NOTIFY                                                        0x00000104
104 #define  NV_IMAGE_ROP_AND_DMA_NOTIFY                                                    0x00000180
105 #define  NV_IMAGE_ROP_AND_IMAGE_OUTPUT                                                  0x00000200
106 #define  NV_IMAGE_ROP_AND_ROP_INPUT                                                     0x00000204
107 #define  NV_IMAGE_ROP_AND_IMAGE_INPUT(x)                                                (0x00000208+((x)*4))
108 #define  NV_IMAGE_ROP_AND_IMAGE_INPUT__SIZE                                             0x00000002
109
110
111 #define NV_IMAGE_COLOR_KEY                                                              0x00000015
112
113
114
115 #define NV01_CONTEXT_COLOR_KEY                                                          0x00000017
116
117 #define  NV01_CONTEXT_COLOR_KEY_NOP                                                     0x00000100
118 #define  NV01_CONTEXT_COLOR_KEY_NOTIFY                                                  0x00000104
119 #define  NV01_CONTEXT_COLOR_KEY_DMA_NOTIFY                                              0x00000180
120 #define  NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT                                            0x00000300
121 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16A8Y8                                   0x00000001
122 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X24Y8                                     0x00000002
123 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16A1R5G5B5                               0x00000003
124 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X17R5G5B5                                 0x00000004
125 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_A8R8G8B8                                  0x00000005
126 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X8R8G8B8                                  0x00000006
127 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_A16Y16                                    0x00000007
128 #define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16Y16                                    0x00000008
129 #define  NV01_CONTEXT_COLOR_KEY_COLOR                                                   0x00000304
130
131
132 #define NV01_CONTEXT_PATTERN                                                            0x00000018
133
134 #define  NV01_CONTEXT_PATTERN_NOP                                                       0x00000100
135 #define  NV01_CONTEXT_PATTERN_NOTIFY                                                    0x00000104
136 #define  NV01_CONTEXT_PATTERN_DMA_NOTIFY                                                0x00000180
137 #define  NV01_CONTEXT_PATTERN_COLOR_FORMAT                                              0x00000300
138 #define  NV01_CONTEXT_PATTERN_MONOCHROME_FORMAT                                         0x00000304
139 #define  NV01_CONTEXT_PATTERN_SHAPE                                                     0x00000308
140 #define  NV01_CONTEXT_PATTERN_COLOR(x)                                                  (0x00000310+((x)*4))
141 #define  NV01_CONTEXT_PATTERN_COLOR__SIZE                                               0x00000002
142 #define  NV01_CONTEXT_PATTERN_PATTERN(x)                                                (0x00000318+((x)*4))
143 #define  NV01_CONTEXT_PATTERN_PATTERN__SIZE                                             0x00000002
144
145
146 #define NV01_CONTEXT_CLIP_RECTANGLE                                                     0x00000019
147
148 #define  NV01_CONTEXT_CLIP_RECTANGLE_NOP                                                0x00000100
149 #define  NV01_CONTEXT_CLIP_RECTANGLE_NOTIFY                                             0x00000104
150 #define  NV01_CONTEXT_CLIP_RECTANGLE_DMA_NOTIFY                                         0x00000180
151 #define  NV01_CONTEXT_CLIP_RECTANGLE_POINT                                              0x00000300
152 #define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_X_SHIFT                                     0
153 #define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_X_MASK                                      0x0000ffff
154 #define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_Y_SHIFT                                     16
155 #define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_Y_MASK                                      0xffff0000
156 #define  NV01_CONTEXT_CLIP_RECTANGLE_SIZE                                               0x00000304
157 #define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_W_SHIFT                                      0
158 #define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_W_MASK                                       0x0000ffff
159 #define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_H_SHIFT                                      16
160 #define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_H_MASK                                       0xffff0000
161
162
163 #define NV01_RENDER_SOLID_LINE                                                          0x0000001c
164
165 #define  NV01_RENDER_SOLID_LINE_NOP                                                     0x00000100
166 #define  NV01_RENDER_SOLID_LINE_NOTIFY                                                  0x00000104
167 #define  NV01_RENDER_SOLID_LINE_PATCH                                                   0x0000010c
168 #define  NV01_RENDER_SOLID_LINE_DMA_NOTIFY                                              0x00000180
169 #define  NV01_RENDER_SOLID_LINE_CLIP_RECTANGLE                                          0x00000184
170 #define  NV01_RENDER_SOLID_LINE_PATTERN                                                 0x00000188
171 #define  NV01_RENDER_SOLID_LINE_ROP                                                     0x0000018c
172 #define  NV01_RENDER_SOLID_LINE_BETA1                                                   0x00000190
173 #define  NV01_RENDER_SOLID_LINE_SURFACE                                                 0x00000194
174 #define  NV01_RENDER_SOLID_LINE_OPERATION                                               0x000002fc
175 #define   NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY_AND                                  0x00000000
176 #define   NV01_RENDER_SOLID_LINE_OPERATION_ROP_AND                                      0x00000001
177 #define   NV01_RENDER_SOLID_LINE_OPERATION_BLEND_AND                                    0x00000002
178 #define   NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY                                      0x00000003
179 #define   NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY_PREMULT                              0x00000004
180 #define   NV01_RENDER_SOLID_LINE_OPERATION_BLEND_PREMULT                                0x00000005
181 #define  NV01_RENDER_SOLID_LINE_COLOR_FORMAT                                            0x00000300
182 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16A8Y8                                   0x00000001
183 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X24Y8                                     0x00000002
184 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16A1R5G5B5                               0x00000003
185 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X17R5G5B5                                 0x00000004
186 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_A8R8G8B8                                  0x00000005
187 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X8R8G8B8                                  0x00000006
188 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_A16Y16                                    0x00000007
189 #define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16Y16                                    0x00000008
190 #define  NV01_RENDER_SOLID_LINE_COLOR                                                   0x00000304
191 #define  NV01_RENDER_SOLID_LINE_LINE_POINT0(x)                                          (0x00000400+((x)*8))
192 #define  NV01_RENDER_SOLID_LINE_LINE_POINT0__SIZE                                       0x00000010
193 #define   NV01_RENDER_SOLID_LINE_LINE_POINT0_X_SHIFT                                    0
194 #define   NV01_RENDER_SOLID_LINE_LINE_POINT0_X_MASK                                     0x0000ffff
195 #define   NV01_RENDER_SOLID_LINE_LINE_POINT0_Y_SHIFT                                    16
196 #define   NV01_RENDER_SOLID_LINE_LINE_POINT0_Y_MASK                                     0xffff0000
197 #define  NV01_RENDER_SOLID_LINE_LINE_POINT1(x)                                          (0x00000404+((x)*8))
198 #define  NV01_RENDER_SOLID_LINE_LINE_POINT1__SIZE                                       0x00000010
199 #define   NV01_RENDER_SOLID_LINE_LINE_POINT1_X_SHIFT                                    0
200 #define   NV01_RENDER_SOLID_LINE_LINE_POINT1_X_MASK                                     0x0000ffff
201 #define   NV01_RENDER_SOLID_LINE_LINE_POINT1_Y_SHIFT                                    16
202 #define   NV01_RENDER_SOLID_LINE_LINE_POINT1_Y_MASK                                     0xffff0000
203 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_X(x)                                      (0x00000480+((x)*16))
204 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_X__SIZE                                   0x00000010
205 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_Y(x)                                      (0x00000484+((x)*16))
206 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_Y__SIZE                                   0x00000010
207 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_X(x)                                      (0x00000488+((x)*16))
208 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_X__SIZE                                   0x00000010
209 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_Y(x)                                      (0x0000048c+((x)*16))
210 #define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_Y__SIZE                                   0x00000010
211 #define  NV01_RENDER_SOLID_LINE_POLYLINE(x)                                             (0x00000500+((x)*4))
212 #define  NV01_RENDER_SOLID_LINE_POLYLINE__SIZE                                          0x00000020
213 #define   NV01_RENDER_SOLID_LINE_POLYLINE_X_SHIFT                                       0
214 #define   NV01_RENDER_SOLID_LINE_POLYLINE_X_MASK                                        0x0000ffff
215 #define   NV01_RENDER_SOLID_LINE_POLYLINE_Y_SHIFT                                       16
216 #define   NV01_RENDER_SOLID_LINE_POLYLINE_Y_MASK                                        0xffff0000
217 #define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_X(x)                                   (0x00000580+((x)*8))
218 #define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_X__SIZE                                0x00000010
219 #define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_Y(x)                                   (0x00000584+((x)*8))
220 #define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_Y__SIZE                                0x00000010
221 #define  NV01_RENDER_SOLID_LINE_CPOLYLINE_COLOR(x)                                      (0x00000600+((x)*8))
222 #define  NV01_RENDER_SOLID_LINE_CPOLYLINE_COLOR__SIZE                                   0x00000010
223 #define  NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT(x)                                      (0x00000604+((x)*8))
224 #define  NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT__SIZE                                   0x00000010
225 #define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_X_SHIFT                                0
226 #define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_X_MASK                                 0x0000ffff
227 #define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_Y_SHIFT                                16
228 #define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_Y_MASK                                 0xffff0000
229
230
231 #define NV01_RENDER_SOLID_TRIANGLE                                                      0x0000001d
232
233 #define  NV01_RENDER_SOLID_TRIANGLE_NOP                                                 0x00000100
234 #define  NV01_RENDER_SOLID_TRIANGLE_NOTIFY                                              0x00000104
235 #define  NV01_RENDER_SOLID_TRIANGLE_PATCH                                               0x0000010c
236 #define  NV01_RENDER_SOLID_TRIANGLE_DMA_NOTIFY                                          0x00000180
237 #define  NV01_RENDER_SOLID_TRIANGLE_CLIP_RECTANGLE                                      0x00000184
238 #define  NV01_RENDER_SOLID_TRIANGLE_PATTERN                                             0x00000188
239 #define  NV01_RENDER_SOLID_TRIANGLE_ROP                                                 0x0000018c
240 #define  NV01_RENDER_SOLID_TRIANGLE_BETA1                                               0x00000190
241 #define  NV01_RENDER_SOLID_TRIANGLE_SURFACE                                             0x00000194
242 #define  NV01_RENDER_SOLID_TRIANGLE_OPERATION                                           0x000002fc
243 #define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY_AND                              0x00000000
244 #define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_ROP_AND                                  0x00000001
245 #define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_BLEND_AND                                0x00000002
246 #define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY                                  0x00000003
247 #define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY_PREMULT                          0x00000004
248 #define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_BLEND_PREMULT                            0x00000005
249 #define  NV01_RENDER_SOLID_TRIANGLE_COLOR_FORMAT                                        0x00000300
250 #define  NV01_RENDER_SOLID_TRIANGLE_COLOR                                               0x00000304
251 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0                                     0x00000310
252 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_X_SHIFT                            0
253 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_X_MASK                             0x0000ffff
254 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_Y_SHIFT                            16
255 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_Y_MASK                             0xffff0000
256 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1                                     0x00000314
257 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_X_SHIFT                            0
258 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_X_MASK                             0x0000ffff
259 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_Y_SHIFT                            16
260 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_Y_MASK                             0xffff0000
261 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2                                     0x00000318
262 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_X_SHIFT                            0
263 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_X_MASK                             0x0000ffff
264 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_Y_SHIFT                            16
265 #define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_Y_MASK                             0xffff0000
266 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT0_X                                 0x00000320
267 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT0_Y                                 0x00000324
268 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT1_X                                 0x00000328
269 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT1_Y                                 0x0000032c
270 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT2_X                                 0x00000330
271 #define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT2_Y                                 0x00000334
272 #define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH(x)                                          (0x00000400+((x)*4))
273 #define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH__SIZE                                       0x00000020
274 #define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_X_SHIFT                                    0
275 #define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_X_MASK                                     0x0000ffff
276 #define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_Y_SHIFT                                    16
277 #define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_Y_MASK                                     0xffff0000
278 #define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_X(x)                                (0x00000480+((x)*8))
279 #define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_X__SIZE                             0x00000010
280 #define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_Y(x)                                (0x00000484+((x)*8))
281 #define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_Y__SIZE                             0x00000010
282 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_COLOR(x)                                  (0x00000500+((x)*16))
283 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_COLOR__SIZE                               0x00000008
284 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0(x)                                 (0x00000504+((x)*16))
285 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0__SIZE                              0x00000008
286 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_X_SHIFT                           0
287 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_X_MASK                            0x0000ffff
288 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_Y_SHIFT                           16
289 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_Y_MASK                            0xffff0000
290 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1(x)                                 (0x00000508+((x)*16))
291 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1__SIZE                              0x00000008
292 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_X_SHIFT                           0
293 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_X_MASK                            0x0000ffff
294 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_Y_SHIFT                           16
295 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_Y_MASK                            0xffff0000
296 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2(x)                                 (0x0000050c+((x)*16))
297 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2__SIZE                              0x00000008
298 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_X_SHIFT                           0
299 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_X_MASK                            0x0000ffff
300 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_Y_SHIFT                           16
301 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_Y_MASK                            0xffff0000
302 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_COLOR(x)                                   (0x00000580+((x)*8))
303 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_COLOR__SIZE                                0x00000010
304 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT(x)                                   (0x00000584+((x)*8))
305 #define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT__SIZE                                0x00000010
306 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_X_SHIFT                             0
307 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_X_MASK                              0x0000ffff
308 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_Y_SHIFT                             16
309 #define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_Y_MASK                              0xffff0000
310
311
312 #define NV01_RENDER_SOLID_RECTANGLE                                                     0x0000001e
313
314 #define  NV01_RENDER_SOLID_RECTANGLE_NOP                                                0x00000100
315 #define  NV01_RENDER_SOLID_RECTANGLE_NOTIFY                                             0x00000104
316 #define  NV01_RENDER_SOLID_RECTANGLE_PATCH                                              0x0000010c
317 #define  NV01_RENDER_SOLID_RECTANGLE_DMA_NOTIFY                                         0x00000180
318 #define  NV01_RENDER_SOLID_RECTANGLE_CLIP_RECTANGLE                                     0x00000184
319 #define  NV01_RENDER_SOLID_RECTANGLE_PATTERN                                            0x00000188
320 #define  NV01_RENDER_SOLID_RECTANGLE_ROP                                                0x0000018c
321 #define  NV01_RENDER_SOLID_RECTANGLE_BETA1                                              0x00000190
322 #define  NV01_RENDER_SOLID_RECTANGLE_SURFACE                                            0x00000194
323 #define  NV01_RENDER_SOLID_RECTANGLE_OPERATION                                          0x000002fc
324 #define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY_AND                             0x00000000
325 #define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_ROP_AND                                 0x00000001
326 #define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_BLEND_AND                               0x00000002
327 #define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY                                 0x00000003
328 #define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY_PREMULT                         0x00000004
329 #define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_BLEND_PREMULT                           0x00000005
330 #define  NV01_RENDER_SOLID_RECTANGLE_COLOR_FORMAT                                       0x00000300
331 #define  NV01_RENDER_SOLID_RECTANGLE_COLOR                                              0x00000304
332 #define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT(x)                                 (0x00000400+((x)*8))
333 #define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT__SIZE                              0x00000010
334 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_X_SHIFT                           0
335 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_X_MASK                            0x0000ffff
336 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_Y_SHIFT                           16
337 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_Y_MASK                            0xffff0000
338 #define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE(x)                                  (0x00000404+((x)*8))
339 #define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE__SIZE                               0x00000010
340 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_W_SHIFT                            0
341 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_W_MASK                             0x0000ffff
342 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_H_SHIFT                            16
343 #define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_H_MASK                             0xffff0000
344
345
346 #define NV01_IMAGE_BLIT                                                                 0x0000001f
347
348 #define  NV01_IMAGE_BLIT_NOP                                                            0x00000100
349 #define  NV01_IMAGE_BLIT_NOTIFY                                                         0x00000104
350 #define  NV01_IMAGE_BLIT_PATCH                                                          0x0000010c
351 #define  NV01_IMAGE_BLIT_DMA_NOTIFY                                                     0x00000180
352 #define  NV01_IMAGE_BLIT_COLOR_KEY                                                      0x00000184
353 #define  NV01_IMAGE_BLIT_CLIP_RECTANGLE                                                 0x00000188
354 #define  NV01_IMAGE_BLIT_PATTERN                                                        0x0000018c
355 #define  NV01_IMAGE_BLIT_ROP                                                            0x00000190
356 #define  NV01_IMAGE_BLIT_BETA1                                                          0x00000194
357 #define  NV01_IMAGE_BLIT_SURFACE                                                        0x0000019c
358 #define  NV01_IMAGE_BLIT_OPERATION                                                      0x000002fc
359 #define  NV01_IMAGE_BLIT_IMAGE_INPUT                                                    0x00000204
360 #define  NV01_IMAGE_BLIT_POINT_IN                                                       0x00000300
361 #define   NV01_IMAGE_BLIT_POINT_IN_X_SHIFT                                              0
362 #define   NV01_IMAGE_BLIT_POINT_IN_X_MASK                                               0x0000ffff
363 #define   NV01_IMAGE_BLIT_POINT_IN_Y_SHIFT                                              16
364 #define   NV01_IMAGE_BLIT_POINT_IN_Y_MASK                                               0xffff0000
365 #define  NV01_IMAGE_BLIT_POINT_OUT                                                      0x00000304
366 #define   NV01_IMAGE_BLIT_POINT_OUT_X_SHIFT                                             0
367 #define   NV01_IMAGE_BLIT_POINT_OUT_X_MASK                                              0x0000ffff
368 #define   NV01_IMAGE_BLIT_POINT_OUT_Y_SHIFT                                             16
369 #define   NV01_IMAGE_BLIT_POINT_OUT_Y_MASK                                              0xffff0000
370 #define  NV01_IMAGE_BLIT_SIZE                                                           0x00000308
371 #define   NV01_IMAGE_BLIT_SIZE_W_SHIFT                                                  0
372 #define   NV01_IMAGE_BLIT_SIZE_W_MASK                                                   0x0000ffff
373 #define   NV01_IMAGE_BLIT_SIZE_H_SHIFT                                                  16
374 #define   NV01_IMAGE_BLIT_SIZE_H_MASK                                                   0xffff0000
375
376
377 #define NV01_IMAGE_FROM_CPU                                                             0x00000021
378
379 #define  NV01_IMAGE_FROM_CPU_NOP                                                        0x00000100
380 #define  NV01_IMAGE_FROM_CPU_NOTIFY                                                     0x00000104
381 #define  NV01_IMAGE_FROM_CPU_PATCH                                                      0x0000010c
382 #define  NV01_IMAGE_FROM_CPU_DMA_NOTIFY                                                 0x00000180
383 #define  NV01_IMAGE_FROM_CPU_COLOR_KEY                                                  0x00000184
384 #define  NV01_IMAGE_FROM_CPU_CLIP_RECTANGLE                                             0x00000188
385 #define  NV01_IMAGE_FROM_CPU_PATTERN                                                    0x0000018c
386 #define  NV01_IMAGE_FROM_CPU_ROP                                                        0x00000190
387 #define  NV01_IMAGE_FROM_CPU_BETA1                                                      0x00000194
388 #define  NV01_IMAGE_FROM_CPU_SURFACE                                                    0x00000198
389 #define  NV01_IMAGE_FROM_CPU_OPERATION                                                  0x000002fc
390 #define   NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY_AND                                     0x00000000
391 #define   NV01_IMAGE_FROM_CPU_OPERATION_ROP_AND                                         0x00000001
392 #define   NV01_IMAGE_FROM_CPU_OPERATION_BLEND_AND                                       0x00000002
393 #define   NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY                                         0x00000003
394 #define   NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY_PREMULT                                 0x00000004
395 #define   NV01_IMAGE_FROM_CPU_OPERATION_BLEND_PREMULT                                   0x00000005
396 #define  NV01_IMAGE_FROM_CPU_COLOR_FORMAT                                               0x00000300
397 #define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_Y8                                           0x00000001
398 #define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_A1R5G5B5                                     0x00000002
399 #define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_X1R5G5B5                                     0x00000003
400 #define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_A8R8G8B8                                     0x00000004
401 #define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_X8R8G8B8                                     0x00000005
402 #define  NV01_IMAGE_FROM_CPU_POINT                                                      0x00000304
403 #define   NV01_IMAGE_FROM_CPU_POINT_X_SHIFT                                             0
404 #define   NV01_IMAGE_FROM_CPU_POINT_X_MASK                                              0x0000ffff
405 #define   NV01_IMAGE_FROM_CPU_POINT_Y_SHIFT                                             16
406 #define   NV01_IMAGE_FROM_CPU_POINT_Y_MASK                                              0xffff0000
407 #define  NV01_IMAGE_FROM_CPU_SIZE_OUT                                                   0x00000308
408 #define   NV01_IMAGE_FROM_CPU_SIZE_OUT_W_SHIFT                                          0
409 #define   NV01_IMAGE_FROM_CPU_SIZE_OUT_W_MASK                                           0x0000ffff
410 #define   NV01_IMAGE_FROM_CPU_SIZE_OUT_H_SHIFT                                          16
411 #define   NV01_IMAGE_FROM_CPU_SIZE_OUT_H_MASK                                           0xffff0000
412 #define  NV01_IMAGE_FROM_CPU_SIZE_IN                                                    0x0000030c
413 #define   NV01_IMAGE_FROM_CPU_SIZE_IN_W_SHIFT                                           0
414 #define   NV01_IMAGE_FROM_CPU_SIZE_IN_W_MASK                                            0x0000ffff
415 #define   NV01_IMAGE_FROM_CPU_SIZE_IN_H_SHIFT                                           16
416 #define   NV01_IMAGE_FROM_CPU_SIZE_IN_H_MASK                                            0xffff0000
417 #define  NV01_IMAGE_FROM_CPU_COLOR(x)                                                   (0x00000400+((x)*4))
418 #define  NV01_IMAGE_FROM_CPU_COLOR__SIZE                                                0x00000020
419
420
421 #define NV01_NULL                                                                       0x00000030
422
423
424
425 #define NV03_STRETCHED_IMAGE_FROM_CPU                                                   0x00000036
426
427 #define  NV03_STRETCHED_IMAGE_FROM_CPU_NOP                                              0x00000100
428 #define  NV03_STRETCHED_IMAGE_FROM_CPU_NOTIFY                                           0x00000104
429 #define  NV03_STRETCHED_IMAGE_FROM_CPU_PATCH                                            0x0000010c
430 #define  NV03_STRETCHED_IMAGE_FROM_CPU_DMA_NOTIFY                                       0x00000180
431 #define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR_KEY                                        0x00000184
432 #define  NV03_STRETCHED_IMAGE_FROM_CPU_PATTERN                                          0x00000188
433 #define  NV03_STRETCHED_IMAGE_FROM_CPU_ROP                                              0x0000018c
434 #define  NV03_STRETCHED_IMAGE_FROM_CPU_BETA1                                            0x00000190
435 #define  NV03_STRETCHED_IMAGE_FROM_CPU_SURFACE                                          0x00000194
436 #define  NV03_STRETCHED_IMAGE_FROM_CPU_OPERATION                                        0x000002fc
437 #define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR_FORMAT                                     0x00000300
438 #define  NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN                                          0x00000304
439 #define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_W_SHIFT                                 0
440 #define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_W_MASK                                  0x0000ffff
441 #define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_H_SHIFT                                 16
442 #define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_H_MASK                                  0xffff0000
443 #define  NV03_STRETCHED_IMAGE_FROM_CPU_DX_DU                                            0x00000308
444 #define  NV03_STRETCHED_IMAGE_FROM_CPU_DY_DV                                            0x0000030c
445 #define  NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT                                       0x00000310
446 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_X_SHIFT                              0
447 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_X_MASK                               0x0000ffff
448 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_Y_SHIFT                              16
449 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_Y_MASK                               0xffff0000
450 #define  NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE                                        0x00000314
451 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_W_SHIFT                               0
452 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_W_MASK                                0x0000ffff
453 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_H_SHIFT                               16
454 #define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_H_MASK                                0xffff0000
455 #define  NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4                                        0x00000318
456 #define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_X_SHIFT                               0
457 #define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_X_MASK                                0x0000ffff
458 #define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_Y_SHIFT                               16
459 #define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_Y_MASK                                0xffff0000
460 #define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR(x)                                         (0x00000400+((x)*4))
461 #define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR__SIZE                                      0x00000020
462
463
464 #define NV03_SCALED_IMAGE_FROM_MEMORY                                                   0x00000037
465
466 #define  NV03_SCALED_IMAGE_FROM_MEMORY_NOP                                              0x00000100
467 #define  NV03_SCALED_IMAGE_FROM_MEMORY_NOTIFY                                           0x00000104
468 #define  NV03_SCALED_IMAGE_FROM_MEMORY_DMA_NOTIFY                                       0x00000180
469 #define  NV03_SCALED_IMAGE_FROM_MEMORY_DMA_IMAGE                                        0x00000184
470 #define  NV03_SCALED_IMAGE_FROM_MEMORY_PATTERN                                          0x00000188
471 #define  NV03_SCALED_IMAGE_FROM_MEMORY_ROP                                              0x0000018c
472 #define  NV03_SCALED_IMAGE_FROM_MEMORY_BETA1                                            0x00000190
473 #define  NV03_SCALED_IMAGE_FROM_MEMORY_SURFACE                                          0x00000194
474 #define  NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT                                     0x00000300
475 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A1R5G5B5                           0x00000001
476 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X1R5G5B5                           0x00000002
477 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A8R8G8B8                           0x00000003
478 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X8R8G8B8                           0x00000004
479 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_V8YB8U8YA8                         0x00000005
480 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_YB8V8YA8U8                         0x00000006
481 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_R5G6B5                             0x00000007
482 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_Y8                                 0x00000008
483 #define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_AY8                                0x00000009
484 #define  NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION                                        0x00000304
485 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_AND                           0x00000000
486 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_ROP_AND                               0x00000001
487 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_AND                             0x00000002
488 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY                               0x00000003
489 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_PREMULT                       0x00000004
490 #define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_PREMULT                         0x00000005
491 #define  NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT                                       0x00000308
492 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_SHIFT                              0
493 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_MASK                               0x0000ffff
494 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_SHIFT                              16
495 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_MASK                               0xffff0000
496 #define  NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE                                        0x0000030c
497 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_SHIFT                               0
498 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_MASK                                0x0000ffff
499 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_SHIFT                               16
500 #define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_MASK                                0xffff0000
501 #define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT                                  0x00000310
502 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT_X_SHIFT                         0
503 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT_X_MASK                          0x0000ffff
504 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT_Y_SHIFT                         16
505 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT_Y_MASK                          0xffff0000
506 #define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE                                   0x00000314
507 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE_W_SHIFT                          0
508 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE_W_MASK                           0x0000ffff
509 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE_H_SHIFT                          16
510 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE_H_MASK                           0xffff0000
511 #define  NV03_SCALED_IMAGE_FROM_MEMORY_DELTA_DU_DX                                      0x00000318
512 #define  NV03_SCALED_IMAGE_FROM_MEMORY_DELTA_DV_DY                                      0x0000031c
513 #define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE                                    0x00000400
514 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE_W_SHIFT                           0
515 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE_W_MASK                            0x0000ffff
516 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE_H_SHIFT                           16
517 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE_H_MASK                            0xffff0000
518 #define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT                                  0x00000404
519 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_PITCH_SHIFT                     0
520 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_PITCH_MASK                      0x0000ffff
521 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_ORIGIN_SHIFT                    16
522 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_ORIGIN_MASK                     0x00ff0000
523 #define    NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_ORIGIN_CENTER                  0x00010000
524 #define    NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_ORIGIN_CORNER                  0x00020000
525 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_INTERPOLATOR_SHIFT              24
526 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_INTERPOLATOR_MASK               0xff000000
527 #define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_OFFSET                                  0x00000408
528 #define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT                                   0x0000040c
529 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT_U_SHIFT                          0
530 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT_U_MASK                           0x0000ffff
531 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT_V_SHIFT                          16
532 #define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT_V_MASK                           0xffff0000
533
534
535 #define NV04_DVD_SUBPICTURE                                                             0x00000038
536
537 #define  NV04_DVD_SUBPICTURE_NOP                                                        0x00000100
538 #define  NV04_DVD_SUBPICTURE_NOTIFY                                                     0x00000104
539 #define  NV04_DVD_SUBPICTURE_WAIT_FOR_IDLE                                              0x00000108
540 #define  NV04_DVD_SUBPICTURE_DMA_NOTIFY                                                 0x00000180
541 #define  NV04_DVD_SUBPICTURE_DMA_OVERLAY                                                0x00000184
542 #define  NV04_DVD_SUBPICTURE_DMA_IMAGEIN                                                0x00000188
543 #define  NV04_DVD_SUBPICTURE_DMA_IMAGEOUT                                               0x0000018c
544 #define  NV04_DVD_SUBPICTURE_IMAGEOUT_POINT                                             0x00000300
545 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_X_SHIFT                                    0
546 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_X_MASK                                     0x0000ffff
547 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_Y_SHIFT                                    16
548 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_Y_MASK                                     0xffff0000
549 #define  NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE                                              0x00000304
550 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_W_SHIFT                                     0
551 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_W_MASK                                      0x0000ffff
552 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_H_SHIFT                                     16
553 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_H_MASK                                      0xffff0000
554 #define  NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT                                            0x00000308
555 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_PITCH_SHIFT                               0
556 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_PITCH_MASK                                0x0000ffff
557 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_COLOR_SHIFT                               16
558 #define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_COLOR_MASK                                0xffff0000
559 #define  NV04_DVD_SUBPICTURE_IMAGEOUT_OFFSET                                            0x0000030c
560 #define  NV04_DVD_SUBPICTURE_IMAGEIN_DELTA_DU_DX                                        0x00000310
561 #define  NV04_DVD_SUBPICTURE_IMAGEIN_DELTA_DV_DY                                        0x00000314
562 #define  NV04_DVD_SUBPICTURE_IMAGEIN_SIZE                                               0x00000318
563 #define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_W_SHIFT                                      0
564 #define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_W_MASK                                       0x0000ffff
565 #define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_H_SHIFT                                      16
566 #define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_H_MASK                                       0xffff0000
567 #define  NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT                                             0x0000031c
568 #define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_PITCH_SHIFT                                0
569 #define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_PITCH_MASK                                 0x0000ffff
570 #define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_COLOR_SHIFT                                16
571 #define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_COLOR_MASK                                 0xffff0000
572 #define  NV04_DVD_SUBPICTURE_IMAGEIN_OFFSET                                             0x00000320
573 #define  NV04_DVD_SUBPICTURE_IMAGEIN_POINT                                              0x00000324
574 #define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_U_SHIFT                                     0
575 #define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_U_MASK                                      0x0000ffff
576 #define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_V_SHIFT                                     16
577 #define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_V_MASK                                      0xffff0000
578 #define  NV04_DVD_SUBPICTURE_OVERLAY_DELTA_DU_DX                                        0x00000328
579 #define  NV04_DVD_SUBPICTURE_OVERLAY_DELTA_DV_DY                                        0x0000032c
580 #define  NV04_DVD_SUBPICTURE_OVERLAY_SIZE                                               0x00000330
581 #define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_W_SHIFT                                      0
582 #define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_W_MASK                                       0x0000ffff
583 #define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_H_SHIFT                                      16
584 #define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_H_MASK                                       0xffff0000
585 #define  NV04_DVD_SUBPICTURE_OVERLAY_FORMAT                                             0x00000334
586 #define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_PITCH_SHIFT                                0
587 #define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_PITCH_MASK                                 0x0000ffff
588 #define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_COLOR_SHIFT                                16
589 #define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_COLOR_MASK                                 0xffff0000
590 #define  NV04_DVD_SUBPICTURE_OVERLAY_OFFSET                                             0x00000338
591 #define  NV04_DVD_SUBPICTURE_OVERLAY_POINT                                              0x0000033c
592 #define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_U_SHIFT                                     0
593 #define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_U_MASK                                      0x0000ffff
594 #define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_V_SHIFT                                     16
595 #define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_V_MASK                                      0xffff0000
596
597
598 #define NV_MEMORY_TO_MEMORY_FORMAT                                                      0x00000039
599
600 #define  NV_MEMORY_TO_MEMORY_FORMAT_NOP                                                 0x00000100
601 #define  NV_MEMORY_TO_MEMORY_FORMAT_NOTIFY                                              0x00000104
602 #define  NV_MEMORY_TO_MEMORY_FORMAT_DMA_NOTIFY                                          0x00000180
603 #define  NV_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_IN                                       0x00000184
604 #define  NV_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_OUT                                      0x00000188
605 #define  NV_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN                                           0x0000030c
606 #define  NV_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT                                          0x00000310
607 #define  NV_MEMORY_TO_MEMORY_FORMAT_PITCH_IN                                            0x00000314
608 #define  NV_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT                                           0x00000318
609 #define  NV_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN                                      0x0000031c
610 #define  NV_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT                                          0x00000320
611 #define  NV_MEMORY_TO_MEMORY_FORMAT_FORMAT                                              0x00000324
612 #define   NV_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_SHIFT                             0
613 #define   NV_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_MASK                              0x0000000f
614 #define   NV_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_SHIFT                            8
615 #define   NV_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_MASK                             0x00000f00
616 #define  NV_MEMORY_TO_MEMORY_FORMAT_BUF_NOTIFY                                          0x00000328
617
618
619 #define NV01_MEMORY_LOCAL_BANKED                                                        0x0000003d
620
621
622
623 #define NV01_MAPPING_SYSTEM                                                             0x0000003e
624
625
626
627 #define NV03_MEMORY_LOCAL_CURSOR                                                        0x0000003f
628
629
630
631 #define NV01_MEMORY_LOCAL_LINEAR                                                        0x00000040
632
633
634
635 #define NV01_MAPPING_LOCAL                                                              0x00000041
636
637
638
639 #define NV04_CONTEXT_SURFACES_2D                                                        0x00000042
640
641 #define  NV04_CONTEXT_SURFACES_2D_NOP                                                   0x00000100
642 #define  NV04_CONTEXT_SURFACES_2D_NOTIFY                                                0x00000104
643 #define  NV04_CONTEXT_SURFACES_2D_PM_TRIGGER                                            0x00000140
644 #define  NV04_CONTEXT_SURFACES_2D_DMA_NOTIFY                                            0x00000180
645 #define  NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_SOURCE                                      0x00000184
646 #define  NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_DESTIN                                      0x00000188
647 #define  NV04_CONTEXT_SURFACES_2D_FORMAT                                                0x00000300
648 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_Y8                                            0x00000001
649 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_X1R5G5B5_Z1R5G5B5                             0x00000002
650 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_X1R5G5B5_X1R5G5B5                             0x00000003
651 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_R5G6B5                                        0x00000004
652 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_Y16                                           0x00000005
653 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_X8R8G8B8_Z8R8G8B8                             0x00000006
654 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_X8R8G8B8_X8R8G8B8                             0x00000007
655 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_X1A7R8G8B8_Z1A7R8G8B8                         0x00000008
656 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_X1A7R8G8B8_X1A7R8G8B8                         0x00000009
657 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_A8R8G8B8                                      0x0000000a
658 #define   NV04_CONTEXT_SURFACES_2D_FORMAT_Y32                                           0x0000000b
659 #define  NV04_CONTEXT_SURFACES_2D_PITCH                                                 0x00000304
660 #define   NV04_CONTEXT_SURFACES_2D_PITCH_SOURCE_SHIFT                                   0
661 #define   NV04_CONTEXT_SURFACES_2D_PITCH_SOURCE_MASK                                    0x0000ffff
662 #define   NV04_CONTEXT_SURFACES_2D_PITCH_DESTIN_SHIFT                                   16
663 #define   NV04_CONTEXT_SURFACES_2D_PITCH_DESTIN_MASK                                    0xffff0000
664 #define  NV04_CONTEXT_SURFACES_2D_OFFSET_SOURCE                                         0x00000308
665 #define  NV04_CONTEXT_SURFACES_2D_OFFSET_DESTIN                                         0x0000030c
666
667
668 #define NV03_CONTEXT_ROP                                                                0x00000043
669
670 #define  NV03_CONTEXT_ROP_NOP                                                           0x00000100
671 #define  NV03_CONTEXT_ROP_NOTIFY                                                        0x00000104
672 #define  NV03_CONTEXT_ROP_DMA_NOTIFY                                                    0x00000180
673 #define  NV03_CONTEXT_ROP_ROP                                                           0x00000300
674 #define   NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_SHIFT                                       0
675 #define   NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_MASK                                        0x0000000f
676 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_CLEAR                                      0x00000000
677 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NOR                                        0x00000001
678 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND_INVERTED                               0x00000002
679 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_COPY_INVERTED                              0x00000003
680 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND_REVERSE                                0x00000004
681 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_INVERT                                     0x00000005
682 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_XOR                                        0x00000006
683 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NAND                                       0x00000007
684 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND                                        0x00000008
685 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_EQUI                                       0x00000009
686 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NOOP                                       0x0000000a
687 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR_INVERTED                                0x0000000b
688 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_COPY                                       0x0000000c
689 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR_REVERSE                                 0x0000000d
690 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR                                         0x0000000e
691 #define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_SET                                        0x0000000f
692 #define   NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_SHIFT                                       4
693 #define   NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_MASK                                        0x000000f0
694 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_CLEAR                                      0x00000000
695 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NOR                                        0x00000010
696 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND_INVERTED                               0x00000020
697 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_COPY_INVERTED                              0x00000030
698 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND_REVERSE                                0x00000040
699 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_INVERT                                     0x00000050
700 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_XOR                                        0x00000060
701 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NAND                                       0x00000070
702 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND                                        0x00000080
703 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_EQUI                                       0x00000090
704 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NOOP                                       0x000000a0
705 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR_INVERTED                                0x000000b0
706 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_COPY                                       0x000000c0
707 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR_REVERSE                                 0x000000d0
708 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR                                         0x000000e0
709 #define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_SET                                        0x000000f0
710
711
712 #define NV04_IMAGE_PATTERN                                                              0x00000044
713
714 #define  NV04_IMAGE_PATTERN_NOP                                                         0x00000100
715 #define  NV04_IMAGE_PATTERN_NOTIFY                                                      0x00000104
716 #define  NV04_IMAGE_PATTERN_DMA_NOTIFY                                                  0x00000180
717 #define  NV04_IMAGE_PATTERN_COLOR_FORMAT                                                0x00000300
718 #define   NV04_IMAGE_PATTERN_COLOR_FORMAT_A16R5G6B5                                     0x00000001
719 #define   NV04_IMAGE_PATTERN_COLOR_FORMAT_X16A1R5G5B5                                   0x00000002
720 #define   NV04_IMAGE_PATTERN_COLOR_FORMAT_A8R8G8B8                                      0x00000003
721 #define  NV04_IMAGE_PATTERN_MONOCHROME_FORMAT                                           0x00000304
722 #define   NV04_IMAGE_PATTERN_MONOCHROME_FORMAT_CGA6                                     0x00000001
723 #define   NV04_IMAGE_PATTERN_MONOCHROME_FORMAT_LE                                       0x00000002
724 #define  NV04_IMAGE_PATTERN_MONOCHROME_SHAPE                                            0x00000308
725 #define   NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_8X8                                       0x00000000
726 #define   NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_64X1                                      0x00000001
727 #define   NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_1X64                                      0x00000002
728 #define  NV04_IMAGE_PATTERN_PATTERN_SELECT                                              0x0000030c
729 #define   NV04_IMAGE_PATTERN_PATTERN_SELECT_MONO                                        0x00000001
730 #define   NV04_IMAGE_PATTERN_PATTERN_SELECT_COLOR                                       0x00000002
731 #define  NV04_IMAGE_PATTERN_MONOCHROME_COLOR0                                           0x00000310
732 #define  NV04_IMAGE_PATTERN_MONOCHROME_COLOR1                                           0x00000314
733 #define  NV04_IMAGE_PATTERN_MONOCHROME_PATTERN0                                         0x00000318
734 #define  NV04_IMAGE_PATTERN_MONOCHROME_PATTERN1                                         0x0000031c
735 #define  NV04_IMAGE_PATTERN_PATTERN_Y8(x)                                               (0x00000400+((x)*4))
736 #define  NV04_IMAGE_PATTERN_PATTERN_Y8__SIZE                                            0x00000010
737 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y0_SHIFT                                        0
738 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y0_MASK                                         0x000000ff
739 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y1_SHIFT                                        8
740 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y1_MASK                                         0x0000ff00
741 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y2_SHIFT                                        16
742 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y2_MASK                                         0x00ff0000
743 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y3_SHIFT                                        24
744 #define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y3_MASK                                         0xff000000
745 #define  NV04_IMAGE_PATTERN_PATTERN_R5G6B5(x)                                           (0x00000500+((x)*4))
746 #define  NV04_IMAGE_PATTERN_PATTERN_R5G6B5__SIZE                                        0x00000020
747 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B0_SHIFT                                    0
748 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B0_MASK                                     0x0000001f
749 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G0_SHIFT                                    5
750 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G0_MASK                                     0x000007e0
751 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R0_SHIFT                                    11
752 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R0_MASK                                     0x0000f800
753 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B1_SHIFT                                    16
754 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B1_MASK                                     0x001f0000
755 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G1_SHIFT                                    21
756 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G1_MASK                                     0x07e00000
757 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R1_SHIFT                                    27
758 #define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R1_MASK                                     0xf8000000
759 #define  NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5(x)                                         (0x00000600+((x)*4))
760 #define  NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5__SIZE                                      0x00000020
761 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B0_SHIFT                                  0
762 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B0_MASK                                   0x0000001f
763 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G0_SHIFT                                  5
764 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G0_MASK                                   0x000003e0
765 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R0_SHIFT                                  10
766 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R0_MASK                                   0x00007c00
767 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B1_SHIFT                                  16
768 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B1_MASK                                   0x001f0000
769 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G1_SHIFT                                  21
770 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G1_MASK                                   0x03e00000
771 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R1_SHIFT                                  26
772 #define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R1_MASK                                   0x7c000000
773 #define  NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8(x)                                         (0x00000700+((x)*4))
774 #define  NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8__SIZE                                      0x00000040
775 #define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_B_SHIFT                                   0
776 #define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_B_MASK                                    0x000000ff
777 #define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_G_SHIFT                                   8
778 #define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_G_MASK                                    0x0000ff00
779 #define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_R_SHIFT                                   16
780 #define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_R_MASK                                    0x00ff0000
781
782
783 #define NV03_VIDEO_LUT_CURSOR_DAC                                                       0x00000046
784
785 #define  NV03_VIDEO_LUT_CURSOR_DAC_SYNCHRONIZE                                          0x00000100
786 #define  NV03_VIDEO_LUT_CURSOR_DAC_STOP_IMAGE                                           0x00000104
787 #define  NV03_VIDEO_LUT_CURSOR_DAC_STOP_CURSOR                                          0x00000108
788 #define  NV03_VIDEO_LUT_CURSOR_DAC_STOP_DAC                                             0x0000010c
789 #define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_NOTIFY                                           0x00000180
790 #define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_IMAGE(x)                                         (0x00000184+((x)*4))
791 #define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_IMAGE__SIZE                                      0x00000002
792 #define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_LUT(x)                                           (0x0000018c+((x)*4))
793 #define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_LUT__SIZE                                        0x00000002
794 #define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_CURSOR(x)                                        (0x00000194+((x)*4))
795 #define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_CURSOR__SIZE                                     0x00000002
796 #define  NV03_VIDEO_LUT_CURSOR_DAC_GET                                                  0x000002fc
797 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_OFFSET(x)                                  (0x00000300+((x)*8))
798 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_OFFSET__SIZE                               0x00000002
799 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT(x)                                  (0x00000304+((x)*8))
800 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT__SIZE                               0x00000002
801 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_PITCH_SHIFT                        0
802 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_PITCH_MASK                         0x0000ffff
803 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_COLOR_SHIFT                        16
804 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_COLOR_MASK                         0x0fff0000
805 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_NOTIFY_SHIFT                       28
806 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_NOTIFY_MASK                        0xf0000000
807 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_OFFSET(x)                                 (0x00000340+((x)*12))
808 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_OFFSET__SIZE                              0x00000002
809 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT(x)                              (0x00000344+((x)*12))
810 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT__SIZE                           0x00000002
811 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_X_SHIFT                        0
812 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_X_MASK                         0x0000ffff
813 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_Y_SHIFT                        16
814 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_Y_MASK                         0xffff0000
815 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_FORMAT(x)                                 (0x00000348+((x)*12))
816 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_FORMAT__SIZE                              0x00000002
817 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A                               0x00000358
818 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_X_SHIFT                      0
819 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_X_MASK                       0x0000ffff
820 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_Y_SHIFT                      16
821 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_Y_MASK                       0xffff0000
822 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE(x)                                (0x00000380+((x)*16))
823 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE__SIZE                             0x00000002
824 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_W_SHIFT                          0
825 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_W_MASK                           0x0000ffff
826 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_H_SHIFT                          16
827 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_H_MASK                           0xffff0000
828 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC(x)                                     (0x00000384+((x)*16))
829 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC__SIZE                                  0x00000002
830 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_START_SHIFT                           0
831 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_START_MASK                            0x0000ffff
832 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_WIDTH_SHIFT                           16
833 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_WIDTH_MASK                            0x0fff0000
834 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_POLARITY_SHIFT                        28
835 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_POLARITY_MASK                         0xf0000000
836 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC(x)                                     (0x00000388+((x)*16))
837 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC__SIZE                                  0x00000002
838 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_START_SHIFT                           0
839 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_START_MASK                            0x0000ffff
840 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_WIDTH_SHIFT                           16
841 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_WIDTH_MASK                            0x0fff0000
842 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_POLARITY_SHIFT                        28
843 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_POLARITY_MASK                         0xf0000000
844 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE(x)                                (0x0000038c+((x)*16))
845 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE__SIZE                             0x00000002
846 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_WIDTH_SHIFT                      0
847 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_WIDTH_MASK                       0x0000ffff
848 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_HEIGHT_SHIFT                     16
849 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_HEIGHT_MASK                      0x0fff0000
850 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_NOTIFY_SHIFT                     28
851 #define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_NOTIFY_MASK                      0xf0000000
852 #define  NV03_VIDEO_LUT_CURSOR_DAC_SET_PIXEL_CLOCK                                      0x000003a0
853
854
855 #define NV03_DX3_TEXTURED_TRIANGLE                                                      0x00000048
856
857 #define  NV03_DX3_TEXTURED_TRIANGLE_NOP                                                 0x00000100
858 #define  NV03_DX3_TEXTURED_TRIANGLE_NOTIFY                                              0x00000104
859 #define  NV03_DX3_TEXTURED_TRIANGLE_PATCH                                               0x0000010c
860 #define  NV03_DX3_TEXTURED_TRIANGLE_DMA_NOTIFY                                          0x00000180
861 #define  NV03_DX3_TEXTURED_TRIANGLE_DMA_TEXTURE                                         0x00000184
862 #define  NV03_DX3_TEXTURED_TRIANGLE_CLIP_RECTANGLE                                      0x00000188
863 #define  NV03_DX3_TEXTURED_TRIANGLE_SURFACE                                             0x0000018c
864 #define  NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_OFFSET                                      0x00000304
865 #define  NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT                                      0x00000308
866 #define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_MASK_SHIFT                0
867 #define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_MASK_MASK                 0x0000ffff
868 #define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_ENABLE_SHIFT              16
869 #define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_ENABLE_MASK               0x000f0000
870 #define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_SHIFT                         20
871 #define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_MASK                          0x00f00000
872 #define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MIN_SHIFT                      24
873 #define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MIN_MASK                       0x0f000000
874 #define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MAX_SHIFT                      28
875 #define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MAX_MASK                       0xf0000000
876 #define  NV03_DX3_TEXTURED_TRIANGLE_FILTER                                              0x0000030c
877 #define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SPREAD_X_SHIFT                              0
878 #define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SPREAD_X_MASK                               0x0000001f
879 #define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SPREAD_Y_SHIFT                              8
880 #define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SPREAD_Y_MASK                               0x00001f00
881 #define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SIZE_ADJUST_SHIFT                           16
882 #define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SIZE_ADJUST_MASK                            0x00ff0000
883 #define  NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR                                           0x00000310
884 #define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_B_SHIFT                                  0
885 #define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_B_MASK                                   0x000000ff
886 #define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_G_SHIFT                                  8
887 #define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_G_MASK                                   0x0000ff00
888 #define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_R_SHIFT                                  16
889 #define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_R_MASK                                   0x00ff0000
890 #define  NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT                                         0x00000314
891 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_INTERPOLATOR_SHIFT                     0
892 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_INTERPOLATOR_MASK                      0x0000000f
893 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_U_SHIFT                           4
894 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_U_MASK                            0x00000030
895 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_V_SHIFT                           6
896 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_V_MASK                            0x000000c0
897 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_SOURCE_COLOR_SHIFT                     8
898 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_SOURCE_COLOR_MASK                      0x00000f00
899 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_CULLING_SHIFT                          12
900 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_CULLING_MASK                           0x00007000
901 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_PERSPECTIVE_ENABLE                   (1 << 15)
902 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_FUNC_SHIFT                           16
903 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_FUNC_MASK                            0x000f0000
904 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_WRITE_ENABLE_SHIFT                   20
905 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_WRITE_ENABLE_MASK                    0x00f00000
906 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_COLOR_WRITE_ENABLE_SHIFT               24
907 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_COLOR_WRITE_ENABLE_MASK                0x07000000
908 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_ROP_SHIFT                              27
909 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_ROP_MASK                               0x18000000
910 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_BETA                                   (1 << 29)
911 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_DST_BLEND                              (1 << 30)
912 #define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_SRC_BLEND                              (1 << 31)
913 #define  NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL                                       0x00000318
914 #define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_SHIFT                      0
915 #define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_MASK                       0x000000ff
916 #define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_SHIFT                     8
917 #define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_MASK                      0xffffff00
918 #define  NV03_DX3_TEXTURED_TRIANGLE_SPECULAR(x)                                         (0x00001000+((x)*32))
919 #define  NV03_DX3_TEXTURED_TRIANGLE_SPECULAR__SIZE                                      0x00000040
920 #define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I0_SHIFT                                  0
921 #define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I0_MASK                                   0x0000000f
922 #define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I1_SHIFT                                  4
923 #define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I1_MASK                                   0x000000f0
924 #define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I2_SHIFT                                  8
925 #define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I2_MASK                                   0x00000f00
926 #define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I3_SHIFT                                  12
927 #define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I3_MASK                                   0x0000f000
928 #define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I4_SHIFT                                  16
929 #define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I4_MASK                                   0x000f0000
930 #define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I5_SHIFT                                  20
931 #define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I5_MASK                                   0x00f00000
932 #define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_FOG_SHIFT                                 24
933 #define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_FOG_MASK                                  0xff000000
934 #define  NV03_DX3_TEXTURED_TRIANGLE_COLOR(x)                                            (0x00001004+((x)*32))
935 #define  NV03_DX3_TEXTURED_TRIANGLE_COLOR__SIZE                                         0x00000040
936 #define  NV03_DX3_TEXTURED_TRIANGLE_X(x)                                                (0x00001008+((x)*32))
937 #define  NV03_DX3_TEXTURED_TRIANGLE_X__SIZE                                             0x00000040
938 #define  NV03_DX3_TEXTURED_TRIANGLE_Y(x)                                                (0x0000100c+((x)*32))
939 #define  NV03_DX3_TEXTURED_TRIANGLE_Y__SIZE                                             0x00000040
940 #define  NV03_DX3_TEXTURED_TRIANGLE_Z(x)                                                (0x00001010+((x)*32))
941 #define  NV03_DX3_TEXTURED_TRIANGLE_Z__SIZE                                             0x00000040
942 #define  NV03_DX3_TEXTURED_TRIANGLE_M(x)                                                (0x00001014+((x)*32))
943 #define  NV03_DX3_TEXTURED_TRIANGLE_M__SIZE                                             0x00000040
944 #define  NV03_DX3_TEXTURED_TRIANGLE_U(x)                                                (0x00001018+((x)*32))
945 #define  NV03_DX3_TEXTURED_TRIANGLE_U__SIZE                                             0x00000040
946 #define  NV03_DX3_TEXTURED_TRIANGLE_V(x)                                                (0x0000101c+((x)*32))
947 #define  NV03_DX3_TEXTURED_TRIANGLE_V__SIZE                                             0x00000040
948
949
950 #define NV04_GDI_RECTANGLE_TEXT                                                         0x0000004a
951
952 #define  NV04_GDI_RECTANGLE_TEXT_NOP                                                    0x00000100
953 #define  NV04_GDI_RECTANGLE_TEXT_NOTIFY                                                 0x00000104
954 #define  NV04_GDI_RECTANGLE_TEXT_PATCH                                                  0x0000010c
955 #define  NV04_GDI_RECTANGLE_TEXT_PM_TRIGGER                                             0x00000140
956 #define  NV04_GDI_RECTANGLE_TEXT_DMA_NOTIFY                                             0x00000180
957 #define  NV04_GDI_RECTANGLE_TEXT_DMA_FONTS                                              0x00000184
958 #define  NV04_GDI_RECTANGLE_TEXT_PATTERN                                                0x00000188
959 #define  NV04_GDI_RECTANGLE_TEXT_ROP                                                    0x0000018c
960 #define  NV04_GDI_RECTANGLE_TEXT_BETA1                                                  0x00000190
961 #define  NV04_GDI_RECTANGLE_TEXT_BETA4                                                  0x00000194
962 #define  NV04_GDI_RECTANGLE_TEXT_SURFACE                                                0x00000198
963 #define  NV04_GDI_RECTANGLE_TEXT_OPERATION                                              0x000002fc
964 #define   NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY_AND                                 0x00000000
965 #define   NV04_GDI_RECTANGLE_TEXT_OPERATION_ROP_AND                                     0x00000001
966 #define   NV04_GDI_RECTANGLE_TEXT_OPERATION_BLEND_AND                                   0x00000002
967 #define   NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY                                     0x00000003
968 #define   NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY_PREMULT                             0x00000004
969 #define   NV04_GDI_RECTANGLE_TEXT_OPERATION_BLEND_PREMULT                               0x00000005
970 #define  NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT                                           0x00000300
971 #define   NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A16R5G6B5                                0x00000001
972 #define   NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_X16A1R5G5B5                              0x00000002
973 #define   NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A8R8G8B8                                 0x00000003
974 #define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT                                      0x00000304
975 #define   NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT_CGA6                                0x00000001
976 #define   NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT_LE                                  0x00000002
977 #define  NV04_GDI_RECTANGLE_TEXT_COLOR1_A                                               0x000003fc
978 #define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT(x)                           (0x00000400+((x)*8))
979 #define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT__SIZE                        0x00000020
980 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_SHIFT                     0
981 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_MASK                      0x0000ffff
982 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_SHIFT                     16
983 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_MASK                      0xffff0000
984 #define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE(x)                            (0x00000404+((x)*8))
985 #define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE__SIZE                         0x00000020
986 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_SHIFT                      0
987 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_MASK                       0x0000ffff
988 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_SHIFT                      16
989 #define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_MASK                       0xffff0000
990 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0                                          0x000005f4
991 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_L_SHIFT                                 0
992 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_L_MASK                                  0x0000ffff
993 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_T_SHIFT                                 16
994 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_T_MASK                                  0xffff0000
995 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1                                          0x000005f8
996 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_R_SHIFT                                 0
997 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_R_MASK                                  0x0000ffff
998 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_B_SHIFT                                 16
999 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_B_MASK                                  0xffff0000
1000 #define  NV04_GDI_RECTANGLE_TEXT_COLOR1_B                                               0x000005fc
1001 #define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0(x)                           (0x00000600+((x)*8))
1002 #define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0__SIZE                        0x00000020
1003 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_SHIFT                     0
1004 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_MASK                      0x0000ffff
1005 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_SHIFT                     16
1006 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_MASK                      0xffff0000
1007 #define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1(x)                           (0x00000604+((x)*8))
1008 #define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1__SIZE                        0x00000020
1009 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_SHIFT                     0
1010 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_MASK                      0x0000ffff
1011 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_SHIFT                     16
1012 #define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_MASK                      0xffff0000
1013 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0                                          0x000007ec
1014 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_SHIFT                                 0
1015 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_MASK                                  0x0000ffff
1016 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_SHIFT                                 16
1017 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_MASK                                  0xffff0000
1018 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1                                          0x000007f0
1019 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_SHIFT                                 0
1020 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_MASK                                  0x0000ffff
1021 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_SHIFT                                 16
1022 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_MASK                                  0xffff0000
1023 #define  NV04_GDI_RECTANGLE_TEXT_COLOR1_C                                               0x000007f4
1024 #define  NV04_GDI_RECTANGLE_TEXT_SIZE_C                                                 0x000007f8
1025 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_W_SHIFT                                        0
1026 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_W_MASK                                         0x0000ffff
1027 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_H_SHIFT                                        16
1028 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_H_MASK                                         0xffff0000
1029 #define  NV04_GDI_RECTANGLE_TEXT_POINT_C                                                0x000007fc
1030 #define   NV04_GDI_RECTANGLE_TEXT_POINT_C_X_SHIFT                                       0
1031 #define   NV04_GDI_RECTANGLE_TEXT_POINT_C_X_MASK                                        0x0000ffff
1032 #define   NV04_GDI_RECTANGLE_TEXT_POINT_C_Y_SHIFT                                       16
1033 #define   NV04_GDI_RECTANGLE_TEXT_POINT_C_Y_MASK                                        0xffff0000
1034 #define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C(x)                                 (0x00000800+((x)*4))
1035 #define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C__SIZE                              0x00000080
1036 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0                                          0x00000be4
1037 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_SHIFT                                 0
1038 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_MASK                                  0x0000ffff
1039 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_SHIFT                                 16
1040 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_MASK                                  0xffff0000
1041 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1                                          0x00000be8
1042 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_SHIFT                                 0
1043 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_MASK                                  0x0000ffff
1044 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_SHIFT                                 16
1045 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_MASK                                  0xffff0000
1046 #define  NV04_GDI_RECTANGLE_TEXT_COLOR0_E                                               0x00000bec
1047 #define  NV04_GDI_RECTANGLE_TEXT_COLOR1_E                                               0x00000bf0
1048 #define  NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E                                              0x00000bf4
1049 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_SHIFT                                     0
1050 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_MASK                                      0x0000ffff
1051 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_SHIFT                                     16
1052 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_MASK                                      0xffff0000
1053 #define  NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E                                             0x00000bf8
1054 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_SHIFT                                    0
1055 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_MASK                                     0x0000ffff
1056 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_SHIFT                                    16
1057 #define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_MASK                                     0xffff0000
1058 #define  NV04_GDI_RECTANGLE_TEXT_POINT_E                                                0x00000bfc
1059 #define   NV04_GDI_RECTANGLE_TEXT_POINT_E_X_SHIFT                                       0
1060 #define   NV04_GDI_RECTANGLE_TEXT_POINT_E_X_MASK                                        0x0000ffff
1061 #define   NV04_GDI_RECTANGLE_TEXT_POINT_E_Y_SHIFT                                       16
1062 #define   NV04_GDI_RECTANGLE_TEXT_POINT_E_Y_MASK                                        0xffff0000
1063 #define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E(x)                                (0x00000c00+((x)*4))
1064 #define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E__SIZE                             0x00000080
1065 #define  NV04_GDI_RECTANGLE_TEXT_FONT_F                                                 0x00000ff0
1066 #define   NV04_GDI_RECTANGLE_TEXT_FONT_F_OFFSET_SHIFT                                   0
1067 #define   NV04_GDI_RECTANGLE_TEXT_FONT_F_OFFSET_MASK                                    0x0fffffff
1068 #define   NV04_GDI_RECTANGLE_TEXT_FONT_F_PITCH_SHIFT                                    28
1069 #define   NV04_GDI_RECTANGLE_TEXT_FONT_F_PITCH_MASK                                     0xf0000000
1070 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0                                          0x00000ff4
1071 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_L_SHIFT                                 0
1072 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_L_MASK                                  0x0000ffff
1073 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_T_SHIFT                                 16
1074 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_T_MASK                                  0xffff0000
1075 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1                                          0x00000ff8
1076 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_R_SHIFT                                 0
1077 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_R_MASK                                  0x0000ffff
1078 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_B_SHIFT                                 16
1079 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_B_MASK                                  0xffff0000
1080 #define  NV04_GDI_RECTANGLE_TEXT_COLOR1_F                                               0x00000ffc
1081 #define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F(x)                                  (0x00001000+((x)*4))
1082 #define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F__SIZE                               0x00000100
1083 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_INDEX_SHIFT                        0
1084 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_INDEX_MASK                         0x000000ff
1085 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_X_SHIFT                            8
1086 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_X_MASK                             0x000fff00
1087 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_Y_SHIFT                            20
1088 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_Y_MASK                             0xfff00000
1089 #define  NV04_GDI_RECTANGLE_TEXT_FONT_G                                                 0x000017f0
1090 #define   NV04_GDI_RECTANGLE_TEXT_FONT_G_OFFSET_SHIFT                                   0
1091 #define   NV04_GDI_RECTANGLE_TEXT_FONT_G_OFFSET_MASK                                    0x0fffffff
1092 #define   NV04_GDI_RECTANGLE_TEXT_FONT_G_PITCH_SHIFT                                    28
1093 #define   NV04_GDI_RECTANGLE_TEXT_FONT_G_PITCH_MASK                                     0xf0000000
1094 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0                                          0x000017f4
1095 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_L_SHIFT                                 0
1096 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_L_MASK                                  0x0000ffff
1097 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_T_SHIFT                                 16
1098 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_T_MASK                                  0xffff0000
1099 #define  NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1                                          0x000017f8
1100 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_R_SHIFT                                 0
1101 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_R_MASK                                  0x0000ffff
1102 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_B_SHIFT                                 16
1103 #define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_B_MASK                                  0xffff0000
1104 #define  NV04_GDI_RECTANGLE_TEXT_COLOR1_G                                               0x000017fc
1105 #define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT(x)                            (0x00001800+((x)*8))
1106 #define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT__SIZE                         0x00000100
1107 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_X_SHIFT                      0
1108 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_X_MASK                       0x0000ffff
1109 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_Y_SHIFT                      16
1110 #define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_Y_MASK                       0xffff0000
1111 #define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_INDEX(x)                            (0x00001804+((x)*8))
1112 #define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_INDEX__SIZE                         0x00000100
1113
1114
1115 #define NV03_GDI_RECTANGLE_TEXT                                                         0x0000004b
1116
1117 #define  NV03_GDI_RECTANGLE_TEXT_NOP                                                    0x00000100
1118 #define  NV03_GDI_RECTANGLE_TEXT_NOTIFY                                                 0x00000104
1119 #define  NV03_GDI_RECTANGLE_TEXT_DMA_NOTIFY                                             0x00000180
1120 #define  NV03_GDI_RECTANGLE_TEXT_PATTERN                                                0x00000184
1121 #define  NV03_GDI_RECTANGLE_TEXT_ROP                                                    0x00000188
1122 #define  NV03_GDI_RECTANGLE_TEXT_BETA1                                                  0x0000018c
1123 #define  NV03_GDI_RECTANGLE_TEXT_SURFACE                                                0x00000190
1124 #define  NV03_GDI_RECTANGLE_TEXT_OPERATION                                              0x000002fc
1125 #define  NV03_GDI_RECTANGLE_TEXT_COLOR_FORMAT                                           0x00000300
1126 #define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT                                      0x00000304
1127 #define  NV03_GDI_RECTANGLE_TEXT_COLOR1_A                                               0x000003fc
1128 #define  NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT                              0x00000400
1129 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_SHIFT                     0
1130 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_MASK                      0x0000ffff
1131 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_SHIFT                     16
1132 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_MASK                      0xffff0000
1133 #define  NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE                               0x00000404
1134 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_SHIFT                      0
1135 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_MASK                       0x0000ffff
1136 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_SHIFT                      16
1137 #define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_MASK                       0xffff0000
1138 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B                                          0x000007f4
1139 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_L_SHIFT                                 0
1140 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_L_MASK                                  0x0000ffff
1141 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_T_SHIFT                                 16
1142 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_T_MASK                                  0xffff0000
1143 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B                                          0x000007f8
1144 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_R_SHIFT                                 0
1145 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_R_MASK                                  0x0000ffff
1146 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_B_SHIFT                                 16
1147 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_B_MASK                                  0xffff0000
1148 #define  NV03_GDI_RECTANGLE_TEXT_COLOR1_B                                               0x000007fc
1149 #define  NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0                              0x00000800
1150 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_SHIFT                     0
1151 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_MASK                      0x0000ffff
1152 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_SHIFT                     16
1153 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_MASK                      0xffff0000
1154 #define  NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1                              0x00000804
1155 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_SHIFT                     0
1156 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_MASK                      0x0000ffff
1157 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_SHIFT                     16
1158 #define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_MASK                      0xffff0000
1159 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0                                          0x00000bec
1160 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_SHIFT                                 0
1161 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_MASK                                  0x0000ffff
1162 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_SHIFT                                 16
1163 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_MASK                                  0xffff0000
1164 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1                                          0x00000bf0
1165 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_SHIFT                                 0
1166 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_MASK                                  0x0000ffff
1167 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_SHIFT                                 16
1168 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_MASK                                  0xffff0000
1169 #define  NV03_GDI_RECTANGLE_TEXT_COLOR1_C                                               0x00000bf4
1170 #define  NV03_GDI_RECTANGLE_TEXT_SIZE_C                                                 0x00000bf8
1171 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_W_SHIFT                                        0
1172 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_W_MASK                                         0x0000ffff
1173 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_H_SHIFT                                        16
1174 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_H_MASK                                         0xffff0000
1175 #define  NV03_GDI_RECTANGLE_TEXT_POINT_C                                                0x00000bfc
1176 #define   NV03_GDI_RECTANGLE_TEXT_POINT_C_X_SHIFT                                       0
1177 #define   NV03_GDI_RECTANGLE_TEXT_POINT_C_X_MASK                                        0x0000ffff
1178 #define   NV03_GDI_RECTANGLE_TEXT_POINT_C_Y_SHIFT                                       16
1179 #define   NV03_GDI_RECTANGLE_TEXT_POINT_C_Y_MASK                                        0xffff0000
1180 #define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C(x)                                 (0x00000c00+((x)*4))
1181 #define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C__SIZE                              0x00000020
1182 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0                                          0x00000fe8
1183 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_L_SHIFT                                 0
1184 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_L_MASK                                  0x0000ffff
1185 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_T_SHIFT                                 16
1186 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_T_MASK                                  0xffff0000
1187 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1                                          0x00000fec
1188 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_R_SHIFT                                 0
1189 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_R_MASK                                  0x0000ffff
1190 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_B_SHIFT                                 16
1191 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_B_MASK                                  0xffff0000
1192 #define  NV03_GDI_RECTANGLE_TEXT_COLOR1_D                                               0x00000ff0
1193 #define  NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D                                              0x00000ff4
1194 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_W_SHIFT                                     0
1195 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_W_MASK                                      0x0000ffff
1196 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_H_SHIFT                                     16
1197 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_H_MASK                                      0xffff0000
1198 #define  NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D                                             0x00000ff8
1199 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_W_SHIFT                                    0
1200 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_W_MASK                                     0x0000ffff
1201 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_H_SHIFT                                    16
1202 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_H_MASK                                     0xffff0000
1203 #define  NV03_GDI_RECTANGLE_TEXT_POINT_D                                                0x00000ffc
1204 #define   NV03_GDI_RECTANGLE_TEXT_POINT_D_X_SHIFT                                       0
1205 #define   NV03_GDI_RECTANGLE_TEXT_POINT_D_X_MASK                                        0x0000ffff
1206 #define   NV03_GDI_RECTANGLE_TEXT_POINT_D_Y_SHIFT                                       16
1207 #define   NV03_GDI_RECTANGLE_TEXT_POINT_D_Y_MASK                                        0xffff0000
1208 #define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_D(x)                                 (0x00001000+((x)*4))
1209 #define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_D__SIZE                              0x00000020
1210 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0                                          0x000013e4
1211 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_SHIFT                                 0
1212 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_MASK                                  0x0000ffff
1213 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_SHIFT                                 16
1214 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_MASK                                  0xffff0000
1215 #define  NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1                                          0x000013e8
1216 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_SHIFT                                 0
1217 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_MASK                                  0x0000ffff
1218 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_SHIFT                                 16
1219 #define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_MASK                                  0xffff0000
1220 #define  NV03_GDI_RECTANGLE_TEXT_COLOR0_E                                               0x000013ec
1221 #define  NV03_GDI_RECTANGLE_TEXT_COLOR1_E                                               0x000013f0
1222 #define  NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E                                              0x000013f4
1223 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_SHIFT                                     0
1224 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_MASK                                      0x0000ffff
1225 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_SHIFT                                     16
1226 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_MASK                                      0xffff0000
1227 #define  NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E                                             0x000013f8
1228 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_SHIFT                                    0
1229 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_MASK                                     0x0000ffff
1230 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_SHIFT                                    16
1231 #define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_MASK                                     0xffff0000
1232 #define  NV03_GDI_RECTANGLE_TEXT_POINT_E                                                0x000013fc
1233 #define   NV03_GDI_RECTANGLE_TEXT_POINT_E_X_SHIFT                                       0
1234 #define   NV03_GDI_RECTANGLE_TEXT_POINT_E_X_MASK                                        0x0000ffff
1235 #define   NV03_GDI_RECTANGLE_TEXT_POINT_E_Y_SHIFT                                       16
1236 #define   NV03_GDI_RECTANGLE_TEXT_POINT_E_Y_MASK                                        0xffff0000
1237 #define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E(x)                                (0x00001400+((x)*4))
1238 #define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E__SIZE                             0x00000020
1239
1240
1241 #define NV04_SWIZZLED_SURFACE                                                           0x00000052
1242
1243 #define  NV04_SWIZZLED_SURFACE_NOP                                                      0x00000100
1244 #define  NV04_SWIZZLED_SURFACE_NOTIFY                                                   0x00000104
1245 #define  NV04_SWIZZLED_SURFACE_DMA_NOTIFY                                               0x00000180
1246 #define  NV04_SWIZZLED_SURFACE_DMA_IMAGE                                                0x00000184
1247 #define  NV04_SWIZZLED_SURFACE_FORMAT                                                   0x00000300
1248 #define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_SHIFT                                      0
1249 #define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_MASK                                       0x000000ff
1250 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y8                                        0x00000001
1251 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5                         0x00000002
1252 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1R5G5B5_X1R5G5B5                         0x00000003
1253 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_R5G6B5                                    0x00000004
1254 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y16                                       0x00000005
1255 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8                         0x00000006
1256 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X8R8G8B8_X8R8G8B8                         0x00000007
1257 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8                     0x00000008
1258 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8                     0x00000009
1259 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_A8R8G8B8                                  0x0000000a
1260 #define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y32                                       0x0000000b
1261 #define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_SHIFT                                16
1262 #define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_MASK                                 0x00ff0000
1263 #define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_V_SHIFT                                24
1264 #define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_V_MASK                                 0xff000000
1265 #define  NV04_SWIZZLED_SURFACE_OFFSET                                                   0x00000304
1266
1267
1268 #define NV04_CONTEXT_SURFACES_3D                                                        0x00000053
1269
1270 #define  NV04_CONTEXT_SURFACES_3D_NOP                                                   0x00000100
1271 #define  NV04_CONTEXT_SURFACES_3D_NOTIFY                                                0x00000104
1272 #define  NV04_CONTEXT_SURFACES_3D_DMA_NOTIFY                                            0x00000180
1273 #define  NV04_CONTEXT_SURFACES_3D_DMA_COLOR                                             0x00000184
1274 #define  NV04_CONTEXT_SURFACES_3D_DMA_ZETA                                              0x00000188
1275 #define  NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL                                       0x000002f8
1276 #define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X_SHIFT                              0
1277 #define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X_MASK                               0x0000ffff
1278 #define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W_SHIFT                              16
1279 #define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W_MASK                               0xffff0000
1280 #define  NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL                                         0x000002fc
1281 #define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y_SHIFT                                0
1282 #define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y_MASK                                 0x0000ffff
1283 #define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H_SHIFT                                16
1284 #define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H_MASK                                 0xffff0000
1285 #define  NV04_CONTEXT_SURFACES_3D_FORMAT                                                0x00000300
1286 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_SHIFT                                   0
1287 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_MASK                                    0x000000ff
1288 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5                      0x00000001
1289 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_X1R5G5B5                      0x00000002
1290 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_R5G6B5                                 0x00000003
1291 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8                      0x00000004
1292 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_X8R8G8B8                      0x00000005
1293 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8                  0x00000006
1294 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8                  0x00000007
1295 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_A8R8G8B8                               0x00000008
1296 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SHIFT                                    8
1297 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_MASK                                     0x0000ff00
1298 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_PITCH                                   0x00000100
1299 #define    NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SWIZZLE                                 0x00000200
1300 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U_SHIFT                             16
1301 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U_MASK                              0x00ff0000
1302 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V_SHIFT                             24
1303 #define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V_MASK                              0xff000000
1304 #define  NV04_CONTEXT_SURFACES_3D_CLIP_SIZE                                             0x00000304
1305 #define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W_SHIFT                                    0
1306 #define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W_MASK                                     0x0000ffff
1307 #define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H_SHIFT                                    16
1308 #define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H_MASK                                     0xffff0000
1309 #define  NV04_CONTEXT_SURFACES_3D_PITCH                                                 0x00000308
1310 #define   NV04_CONTEXT_SURFACES_3D_PITCH_COLOR_SHIFT                                    0
1311 #define   NV04_CONTEXT_SURFACES_3D_PITCH_COLOR_MASK                                     0x0000ffff
1312 #define   NV04_CONTEXT_SURFACES_3D_PITCH_ZETA_SHIFT                                     16
1313 #define   NV04_CONTEXT_SURFACES_3D_PITCH_ZETA_MASK                                      0xffff0000
1314 #define  NV04_CONTEXT_SURFACES_3D_OFFSET_COLOR                                          0x0000030c
1315 #define  NV04_CONTEXT_SURFACES_3D_OFFSET_ZETA                                           0x00000310
1316
1317
1318 #define NV04_DX5_TEXTURED_TRIANGLE                                                      0x00000054
1319
1320 #define  NV04_DX5_TEXTURED_TRIANGLE_NOP                                                 0x00000100
1321 #define  NV04_DX5_TEXTURED_TRIANGLE_NOTIFY                                              0x00000104
1322 #define  NV04_DX5_TEXTURED_TRIANGLE_DMA_NOTIFY                                          0x00000180
1323 #define  NV04_DX5_TEXTURED_TRIANGLE_DMA_A                                               0x00000184
1324 #define  NV04_DX5_TEXTURED_TRIANGLE_DMA_B                                               0x00000188
1325 #define  NV04_DX5_TEXTURED_TRIANGLE_SURFACE                                             0x0000018c
1326 #define  NV04_DX5_TEXTURED_TRIANGLE_COLORKEY                                            0x00000300
1327 #define  NV04_DX5_TEXTURED_TRIANGLE_OFFSET                                              0x00000304
1328 #define  NV04_DX5_TEXTURED_TRIANGLE_FORMAT                                              0x00000308
1329 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_DMA_SHIFT                                   0
1330 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_DMA_MASK                                    0x00000003
1331 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_MATCH_SHIFT                       2
1332 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_MATCH_MASK                        0x0000000c
1333 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_SHIFT                            4
1334 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_MASK                             0x00000030
1335 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CENTER                          0x00000010
1336 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CORNER                          0x00000020
1337 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_SHIFT                            6
1338 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_MASK                             0x000000c0
1339 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CENTER                          0x00000040
1340 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CORNER                          0x00000080
1341 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_SHIFT                                 8
1342 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_MASK                                  0x00000f00
1343 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_Y8                                   0x00000100
1344 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_A1R5G5B5                             0x00000200
1345 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_X1R5G5B5                             0x00000300
1346 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_A4R4G4B4                             0x00000400
1347 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_R5G6B5                               0x00000500
1348 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_A8R8G8B8                             0x00000600
1349 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_X8R8G8B8                             0x00000700
1350 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS_SHIFT                         12
1351 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS_MASK                          0x0000f000
1352 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U_SHIFT                           16
1353 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U_MASK                            0x000f0000
1354 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V_SHIFT                           20
1355 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V_MASK                            0x00f00000
1356 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_SHIFT                              24
1357 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MASK                               0x07000000
1358 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_REPEAT                            0x01000000
1359 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MIRRORED_REPEAT                   0x02000000
1360 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_EDGE                     0x03000000
1361 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_BORDER                   0x04000000
1362 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP                             0x05000000
1363 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_WRAPU                                       (1 << 27)
1364 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_SHIFT                              28
1365 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MASK                               0x70000000
1366 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_REPEAT                            0x10000000
1367 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MIRRORED_REPEAT                   0x20000000
1368 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_EDGE                     0x30000000
1369 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_BORDER                   0x40000000
1370 #define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP                             0x50000000
1371 #define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_WRAPV                                       (1 << 31)
1372 #define  NV04_DX5_TEXTURED_TRIANGLE_FILTER                                              0x0000030c
1373 #define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X_SHIFT                         0
1374 #define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X_MASK                          0x000000ff
1375 #define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y_SHIFT                         8
1376 #define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y_MASK                          0x00007f00
1377 #define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE                        (1 << 15)
1378 #define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS_SHIFT                        16
1379 #define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS_MASK                         0x00ff0000
1380 #define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_SHIFT                                24
1381 #define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_MASK                                 0x07000000
1382 #define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST                             0x01000000
1383 #define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR                              0x02000000
1384 #define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST              0x03000000
1385 #define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST               0x04000000
1386 #define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR               0x05000000
1387 #define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR                0x06000000
1388 #define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE                   (1 << 27)
1389 #define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_SHIFT                               28
1390 #define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_MASK                                0x70000000
1391 #define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST                            0x10000000
1392 #define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR                             0x20000000
1393 #define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST_MIPMAP_NEAREST             0x30000000
1394 #define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR_MIPMAP_NEAREST              0x40000000
1395 #define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST_MIPMAP_LINEAR              0x50000000
1396 #define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR_MIPMAP_LINEAR               0x60000000
1397 #define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE                  (1 << 31)
1398 #define  NV04_DX5_TEXTURED_TRIANGLE_BLEND                                               0x00000310
1399 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_SHIFT                            0
1400 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MASK                             0x0000000f
1401 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_MASK_BIT_SHIFT                               4
1402 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_MASK_BIT_MASK                                0x00000030
1403 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_SHIFT                             6
1404 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_MASK                              0x000000c0
1405 #define    NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_FLAT                             0x00000040
1406 #define    NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_GOURAUD                          0x00000080
1407 #define    NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_PHONG                            0x000000c0
1408 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE_SHIFT             8
1409 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE_MASK              0x00000f00
1410 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE_SHIFT                        12
1411 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE_MASK                         0x0000f000
1412 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_FOG_ENABLE_SHIFT                             16
1413 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_FOG_ENABLE_MASK                              0x000f0000
1414 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_ALPHA_ENABLE_SHIFT                           20
1415 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_ALPHA_ENABLE_MASK                            0x00f00000
1416 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SRC_SHIFT                                    24
1417 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SRC_MASK                                     0x0f000000
1418 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_DST_SHIFT                                    28
1419 #define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_DST_MASK                                     0xf0000000
1420 #define  NV04_DX5_TEXTURED_TRIANGLE_CONTROL                                             0x00000314
1421 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF_SHIFT                            0
1422 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF_MASK                             0x000000ff
1423 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_SHIFT                           8
1424 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_MASK                            0x00000f00
1425 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_TEST_ENABLE                          (1 << 12)
1426 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ORIGIN                                     (1 << 13)
1427 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_ENABLE_SHIFT                             14
1428 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_ENABLE_MASK                              0x0000c000
1429 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_SHIFT                               16
1430 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_MASK                                0x000f0000
1431 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_SHIFT                            20
1432 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_MASK                             0x00300000
1433 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_DITHER_ENABLE                              (1 << 22)
1434 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_PERSPECTIVE_ENABLE                       (1 << 23)
1435 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_WRITE_ENABLE_SHIFT                       24
1436 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_WRITE_ENABLE_MASK                        0x3f000000
1437 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_SHIFT                             30
1438 #define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_MASK                              0xc0000000
1439 #define  NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR                                            0x00000318
1440 #define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_B_SHIFT                                   0
1441 #define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_B_MASK                                    0x000000ff
1442 #define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_G_SHIFT                                   8
1443 #define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_G_MASK                                    0x0000ff00
1444 #define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_R_SHIFT                                   16
1445 #define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_R_MASK                                    0x00ff0000
1446 #define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_A_SHIFT                                   24
1447 #define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_A_MASK                                    0xff000000
1448 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SX(x)                                      (0x00000400+((x)*32))
1449 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SX__SIZE                                   0x00000010
1450 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SY(x)                                      (0x00000404+((x)*32))
1451 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SY__SIZE                                   0x00000010
1452 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SZ(x)                                      (0x00000408+((x)*32))
1453 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SZ__SIZE                                   0x00000010
1454 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_RHW(x)                                     (0x0000040c+((x)*32))
1455 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_RHW__SIZE                                  0x00000010
1456 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR(x)                                   (0x00000410+((x)*32))
1457 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR__SIZE                                0x00000010
1458 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B_SHIFT                             0
1459 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B_MASK                              0x000000ff
1460 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G_SHIFT                             8
1461 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G_MASK                              0x0000ff00
1462 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R_SHIFT                             16
1463 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R_MASK                              0x00ff0000
1464 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A_SHIFT                             24
1465 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A_MASK                              0xff000000
1466 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(x)                                (0x00000414+((x)*32))
1467 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR__SIZE                             0x00000010
1468 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B_SHIFT                          0
1469 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B_MASK                           0x000000ff
1470 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G_SHIFT                          8
1471 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G_MASK                           0x0000ff00
1472 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R_SHIFT                          16
1473 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R_MASK                           0x00ff0000
1474 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_SHIFT                        24
1475 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_MASK                         0xff000000
1476 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_TU(x)                                      (0x00000418+((x)*32))
1477 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_TU__SIZE                                   0x00000010
1478 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_TV(x)                                      (0x0000041c+((x)*32))
1479 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_TV__SIZE                                   0x00000010
1480 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE(x)                           (0x00000600+((x)*4))
1481 #define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE__SIZE                        0x00000040
1482 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I0_SHIFT                    0
1483 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I0_MASK                     0x0000000f
1484 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I1_SHIFT                    4
1485 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I1_MASK                     0x000000f0
1486 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I2_SHIFT                    8
1487 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I2_MASK                     0x00000f00
1488 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I3_SHIFT                    12
1489 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I3_MASK                     0x0000f000
1490 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I4_SHIFT                    16
1491 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I4_MASK                     0x000f0000
1492 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I5_SHIFT                    20
1493 #define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I5_MASK                     0x00f00000
1494
1495
1496 #define NV04_DX6_MULTITEX_TRIANGLE                                                      0x00000055
1497
1498 #define  NV04_DX6_MULTITEX_TRIANGLE_NOP                                                 0x00000100
1499 #define  NV04_DX6_MULTITEX_TRIANGLE_NOTIFY                                              0x00000104
1500 #define  NV04_DX6_MULTITEX_TRIANGLE_DMA_NOTIFY                                          0x00000180
1501 #define  NV04_DX6_MULTITEX_TRIANGLE_DMA_A                                               0x00000184
1502 #define  NV04_DX6_MULTITEX_TRIANGLE_DMA_B                                               0x00000188
1503 #define  NV04_DX6_MULTITEX_TRIANGLE_SURFACE                                             0x0000018c
1504 #define  NV04_DX6_MULTITEX_TRIANGLE_OFFSET(x)                                           (0x00000308+((x)*4))
1505 #define  NV04_DX6_MULTITEX_TRIANGLE_OFFSET__SIZE                                        0x00000002
1506 #define  NV04_DX6_MULTITEX_TRIANGLE_FORMAT(x)                                           (0x00000310+((x)*4))
1507 #define  NV04_DX6_MULTITEX_TRIANGLE_FORMAT__SIZE                                        0x00000002
1508 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_DMA_SHIFT                                   0
1509 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_DMA_MASK                                    0x0000000f
1510 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_SHIFT                            4
1511 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_MASK                             0x00000030
1512 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_SHIFT                            6
1513 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_MASK                             0x000000c0
1514 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_COLOR_SHIFT                                 8
1515 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_COLOR_MASK                                  0x00000f00
1516 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS_SHIFT                         12
1517 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS_MASK                          0x0000f000
1518 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U_SHIFT                           16
1519 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U_MASK                            0x000f0000
1520 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V_SHIFT                           20
1521 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V_MASK                            0x00f00000
1522 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_SHIFT                              24
1523 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_MASK                               0x07000000
1524 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_WRAPU                                       (1 << 27)
1525 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_SHIFT                              28
1526 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_MASK                               0x70000000
1527 #define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_WRAPV                                       (1 << 31)
1528 #define  NV04_DX6_MULTITEX_TRIANGLE_FILTER(x)                                           (0x00000318+((x)*4))
1529 #define  NV04_DX6_MULTITEX_TRIANGLE_FILTER__SIZE                                        0x00000002
1530 #define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X_SHIFT                         0
1531 #define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X_MASK                          0x000000ff
1532 #define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y_SHIFT                         8
1533 #define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y_MASK                          0x00007f00
1534 #define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE                        (1 << 15)
1535 #define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS_SHIFT                        16
1536 #define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS_MASK                         0x00ff0000
1537 #define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MINIFY_SHIFT                                24
1538 #define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MINIFY_MASK                                 0x07000000
1539 #define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE                   (1 << 27)
1540 #define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MAGNIFY_SHIFT                               28
1541 #define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MAGNIFY_MASK                                0x70000000
1542 #define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE                  (1 << 31)
1543 #define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA                                     0x00000320
1544 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_INVERSE0                           (1 <<  0)
1545 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ALPHA0                             (1 <<  1)
1546 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT0_SHIFT                    2
1547 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT0_MASK                     0x000000fc
1548 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_INVERSE1                           (1 <<  8)
1549 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ALPHA1                             (1 <<  9)
1550 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT1_SHIFT                    10
1551 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT1_MASK                     0x0000fc00
1552 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_INVERSE2                           (1 << 16)
1553 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ALPHA2                             (1 << 17)
1554 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT2_SHIFT                    18
1555 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT2_MASK                     0x00fc0000
1556 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_INVERSE3                           (1 << 24)
1557 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ALPHA3                             (1 << 25)
1558 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT3_SHIFT                    26
1559 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT3_MASK                     0x1c000000
1560 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_OPERATION_SHIFT                    29
1561 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_OPERATION_MASK                     0xe0000000
1562 #define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR                                     0x00000324
1563 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_INVERSE0                           (1 <<  0)
1564 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ALPHA0                             (1 <<  1)
1565 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT0_SHIFT                    2
1566 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT0_MASK                     0x000000fc
1567 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_INVERSE1                           (1 <<  8)
1568 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ALPHA1                             (1 <<  9)
1569 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT1_SHIFT                    10
1570 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT1_MASK                     0x0000fc00
1571 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_INVERSE2                           (1 << 16)
1572 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ALPHA2                             (1 << 17)
1573 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT2_SHIFT                    18
1574 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT2_MASK                     0x00fc0000
1575 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_INVERSE3                           (1 << 24)
1576 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ALPHA3                             (1 << 25)
1577 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT3_SHIFT                    26
1578 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT3_MASK                     0x1c000000
1579 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_OPERATION_SHIFT                    29
1580 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_OPERATION_MASK                     0xe0000000
1581 #define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA                                     0x0000032c
1582 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_INVERSE0                           (1 <<  0)
1583 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ALPHA0                             (1 <<  1)
1584 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT0_SHIFT                    2
1585 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT0_MASK                     0x000000fc
1586 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_INVERSE1                           (1 <<  8)
1587 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ALPHA1                             (1 <<  9)
1588 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT1_SHIFT                    10
1589 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT1_MASK                     0x0000fc00
1590 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_INVERSE2                           (1 << 16)
1591 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ALPHA2                             (1 << 17)
1592 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT2_SHIFT                    18
1593 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT2_MASK                     0x00fc0000
1594 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_INVERSE3                           (1 << 24)
1595 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ALPHA3                             (1 << 25)
1596 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT3_SHIFT                    26
1597 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT3_MASK                     0x1c000000
1598 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_OPERATION_SHIFT                    29
1599 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_OPERATION_MASK                     0xe0000000
1600 #define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR                                     0x00000330
1601 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_INVERSE0                           (1 <<  0)
1602 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ALPHA0                             (1 <<  1)
1603 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT0_SHIFT                    2
1604 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT0_MASK                     0x000000fc
1605 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_INVERSE1                           (1 <<  8)
1606 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ALPHA1                             (1 <<  9)
1607 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT1_SHIFT                    10
1608 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT1_MASK                     0x0000fc00
1609 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_INVERSE2                           (1 << 16)
1610 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ALPHA2                             (1 << 17)
1611 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT2_SHIFT                    18
1612 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT2_MASK                     0x00fc0000
1613 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_INVERSE3                           (1 << 24)
1614 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ALPHA3                             (1 << 25)
1615 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT3_SHIFT                    26
1616 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT3_MASK                     0x1c000000
1617 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_OPERATION_SHIFT                    29
1618 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_OPERATION_MASK                     0xe0000000
1619 #define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR                                      0x00000334
1620 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_B_SHIFT                             0
1621 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_B_MASK                              0x000000ff
1622 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_G_SHIFT                             8
1623 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_G_MASK                              0x0000ff00
1624 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_R_SHIFT                             16
1625 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_R_MASK                              0x00ff0000
1626 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_A_SHIFT                             24
1627 #define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_A_MASK                              0xff000000
1628 #define  NV04_DX6_MULTITEX_TRIANGLE_BLEND                                               0x00000338
1629 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_MASK_BIT_SHIFT                               4
1630 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_MASK_BIT_MASK                                0x00000030
1631 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_SHIFT                             6
1632 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_MASK                              0x000000c0
1633 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE_SHIFT             8
1634 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE_MASK              0x00000f00
1635 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE_SHIFT                        12
1636 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE_MASK                         0x0000f000
1637 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_FOG_ENABLE_SHIFT                             16
1638 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_FOG_ENABLE_MASK                              0x000f0000
1639 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_ALPHA_ENABLE_SHIFT                           20
1640 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_ALPHA_ENABLE_MASK                            0x00f00000
1641 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SRC_SHIFT                                    24
1642 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SRC_MASK                                     0x0f000000
1643 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_DST_SHIFT                                    28
1644 #define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_DST_MASK                                     0xf0000000
1645 #define  NV04_DX6_MULTITEX_TRIANGLE_CONTROL0                                            0x0000033c
1646 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF_SHIFT                           0
1647 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF_MASK                            0x000000ff
1648 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_SHIFT                          8
1649 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_MASK                           0x00000f00
1650 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_TEST_ENABLE                         (1 << 12)
1651 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ORIGIN                                    (1 << 13)
1652 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_ENABLE_SHIFT                            14
1653 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_ENABLE_MASK                             0x0000c000
1654 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_SHIFT                              16
1655 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_MASK                               0x000f0000
1656 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_SHIFT                           20
1657 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_MASK                            0x00300000
1658 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_DITHER_ENABLE                             (1 << 22)
1659 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_PERSPECTIVE_ENABLE                      (1 << 23)
1660 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_WRITE_ENABLE                            (1 << 24)
1661 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_STENCIL_WRITE_ENABLE                      (1 << 25)
1662 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_WRITE_ENABLE                        (1 << 26)
1663 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_RED_WRITE_ENABLE                          (1 << 27)
1664 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_GREEN_WRITE_ENABLE                        (1 << 28)
1665 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_BLUE_WRITE_ENABLE                         (1 << 29)
1666 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_SHIFT                            30
1667 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_MASK                             0xc0000000
1668 #define  NV04_DX6_MULTITEX_TRIANGLE_CONTROL1                                            0x00000340
1669 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_TEST_ENABLE_SHIFT                 0
1670 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_TEST_ENABLE_MASK                  0x0000000f
1671 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC_SHIFT                        4
1672 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC_MASK                         0x000000f0
1673 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF_SHIFT                         8
1674 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF_MASK                          0x0000ff00
1675 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ_SHIFT                   16
1676 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ_MASK                    0x00ff0000
1677 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE_SHIFT                  24
1678 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE_MASK                   0xff000000
1679 #define  NV04_DX6_MULTITEX_TRIANGLE_CONTROL2                                            0x00000344
1680 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL_SHIFT                     0
1681 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL_MASK                      0x0000000f
1682 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL_SHIFT                    4
1683 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL_MASK                     0x000000f0
1684 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS_SHIFT                    8
1685 #define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS_MASK                     0x00000f00
1686 #define  NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR                                            0x00000348
1687 #define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_B_SHIFT                                   0
1688 #define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_B_MASK                                    0x000000ff
1689 #define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_G_SHIFT                                   8
1690 #define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_G_MASK                                    0x0000ff00
1691 #define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_R_SHIFT                                   16
1692 #define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_R_MASK                                    0x00ff0000
1693 #define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_A_SHIFT                                   24
1694 #define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_A_MASK                                    0xff000000
1695 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SX(x)                                    (0x00000400+((x)*40))
1696 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SX__SIZE                                 0x00000008
1697 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SY(x)                                    (0x00000404+((x)*40))
1698 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SY__SIZE                                 0x00000008
1699 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SZ(x)                                    (0x00000408+((x)*40))
1700 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SZ__SIZE                                 0x00000008
1701 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_RHW(x)                                   (0x0000040c+((x)*40))
1702 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_RHW__SIZE                                0x00000008
1703 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR(x)                                 (0x00000410+((x)*40))
1704 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR__SIZE                              0x00000008
1705 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B_SHIFT                           0
1706 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B_MASK                            0x000000ff
1707 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G_SHIFT                           8
1708 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G_MASK                            0x0000ff00
1709 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R_SHIFT                           16
1710 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R_MASK                            0x00ff0000
1711 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A_SHIFT                           24
1712 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A_MASK                            0xff000000
1713 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR(x)                              (0x00000414+((x)*40))
1714 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR__SIZE                           0x00000008
1715 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B_SHIFT                        0
1716 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B_MASK                         0x000000ff
1717 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G_SHIFT                        8
1718 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G_MASK                         0x0000ff00
1719 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R_SHIFT                        16
1720 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R_MASK                         0x00ff0000
1721 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG_SHIFT                      24
1722 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG_MASK                       0xff000000
1723 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TU0(x)                                   (0x00000418+((x)*40))
1724 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TU0__SIZE                                0x00000008
1725 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TV0(x)                                   (0x0000041c+((x)*40))
1726 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TV0__SIZE                                0x00000008
1727 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TU1(x)                                   (0x00000420+((x)*40))
1728 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TU1__SIZE                                0x00000008
1729 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TV1(x)                                   (0x00000424+((x)*40))
1730 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TV1__SIZE                                0x00000008
1731 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE(x)                         (0x00000540+((x)*4))
1732 #define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE__SIZE                      0x00000030
1733 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I0_SHIFT                  0
1734 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I0_MASK                   0x0000000f
1735 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I1_SHIFT                  4
1736 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I1_MASK                   0x000000f0
1737 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I2_SHIFT                  8
1738 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I2_MASK                   0x00000f00
1739 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I3_SHIFT                  12
1740 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I3_MASK                   0x0000f000
1741 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I4_SHIFT                  16
1742 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I4_MASK                   0x000f0000
1743 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I5_SHIFT                  20
1744 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I5_MASK                   0x00f00000
1745
1746
1747 #define NV10_TCL_PRIMITIVE_3D                                                           0x00000056
1748
1749 #define  NV10_TCL_PRIMITIVE_3D_NOP                                                      0x00000100
1750 #define  NV10_TCL_PRIMITIVE_3D_NOTIFY                                                   0x00000104
1751 #define  NV10_TCL_PRIMITIVE_3D_DMA_NOTIFY                                               0x00000180
1752 #define  NV10_TCL_PRIMITIVE_3D_DMA_IN_MEMORY0                                           0x00000184
1753 #define  NV10_TCL_PRIMITIVE_3D_DMA_IN_MEMORY1                                           0x00000188
1754 #define  NV10_TCL_PRIMITIVE_3D_DISPLAY_LIST                                             0x0000018c
1755 #define  NV10_TCL_PRIMITIVE_3D_DMA_IN_MEMORY2                                           0x00000194
1756 #define  NV10_TCL_PRIMITIVE_3D_DMA_IN_MEMORY3                                           0x00000198
1757 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                                           0x00000200
1758 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_X_SHIFT                                  0
1759 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_X_MASK                                   0x0000ffff
1760 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_W_SHIFT                                  16
1761 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_W_MASK                                   0xffff0000
1762 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT                                            0x00000204
1763 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT_Y_SHIFT                                   0
1764 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT_Y_MASK                                    0x0000ffff
1765 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT_H_SHIFT                                   16
1766 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT_H_MASK                                    0xffff0000
1767 #define  NV10_TCL_PRIMITIVE_3D_BUFFER_FORMAT                                            0x00000208
1768 #define  NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH                                             0x0000020c
1769 #define   NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH_COLOR_PITCH_SHIFT                          0
1770 #define   NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH_COLOR_PITCH_MASK                           0x0000ffff
1771 #define   NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH_ZETA_PITCH_SHIFT                           16
1772 #define   NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH_ZETA_PITCH_MASK                            0xffff0000
1773 #define  NV10_TCL_PRIMITIVE_3D_COLOR_OFFSET                                             0x00000210
1774 #define  NV10_TCL_PRIMITIVE_3D_ZETA_OFFSET                                              0x00000214
1775 #define  NV10_TCL_PRIMITIVE_3D_TX_OFFSET(x)                                             (0x00000218+((x)*4))
1776 #define  NV10_TCL_PRIMITIVE_3D_TX_OFFSET__SIZE                                          0x00000002
1777 #define  NV10_TCL_PRIMITIVE_3D_TX_FORMAT(x)                                             (0x00000220+((x)*4))
1778 #define  NV10_TCL_PRIMITIVE_3D_TX_FORMAT__SIZE                                          0x00000002
1779 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_CUBE_MAP                                      (1 <<  2)
1780 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_SHIFT                                  7
1781 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_MASK                                   0x00000780
1782 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8                                    0x00000000
1783 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8                                    0x00000080
1784 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R5G5B5A1                              0x00000100
1785 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8_RECT                               0x00000180
1786 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R4G4B4A4                              0x00000200
1787 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8A8                              0x00000300
1788 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_X8R8G8B8                              0x00000380
1789 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_INDEX8                                0x00000580
1790 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT1                                  0x00000600
1791 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT3                                  0x00000700
1792 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT5                                  0x00000780
1793 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R5G5B5A1_RECT                         0x00000800
1794 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8A8_RECT                         0x00000900
1795 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8_RECT                               0x00000980
1796 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8A8                                  0x00000d00
1797 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8_RECT2                              0x00000d80
1798 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8_RECT                           0x00000f00
1799 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R4G4B4A4_RECT                         0x00000e80
1800 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8A8_RECT                             0x00001000
1801 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A16                                   0x00001900
1802 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A16_RECT                              0x00001a80
1803 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV                       0x00002500
1804 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV                       0x00002580
1805 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_R32_NV                          0x00002600
1806 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_NPOT                                          (1 << 11)
1807 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_SHIFT                           12
1808 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_MASK                            0x0000f000
1809 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_SHIFT                             16
1810 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_MASK                              0x000f0000
1811 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_SHIFT                             20
1812 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_MASK                              0x00f00000
1813 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_SHIFT                                  24
1814 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_MASK                                   0x0f000000
1815 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_REPEAT                                0x01000000
1816 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_MIRRORED_REPEAT                       0x02000000
1817 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_CLAMP_TO_EDGE                         0x03000000
1818 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_CLAMP_TO_BORDER                       0x04000000
1819 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_CLAMP                                 0x05000000
1820 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_SHIFT                                  28
1821 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_MASK                                   0xf0000000
1822 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_REPEAT                                0x10000000
1823 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_MIRRORED_REPEAT                       0x20000000
1824 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_CLAMP_TO_EDGE                         0x30000000
1825 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_CLAMP_TO_BORDER                       0x40000000
1826 #define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_CLAMP                                 0x50000000
1827 #define  NV10_TCL_PRIMITIVE_3D_TX_ENABLE(x)                                             (0x00000228+((x)*4))
1828 #define  NV10_TCL_PRIMITIVE_3D_TX_ENABLE__SIZE                                          0x00000002
1829 #define   NV10_TCL_PRIMITIVE_3D_TX_ENABLE_ANISOTROPY_SHIFT                              4
1830 #define   NV10_TCL_PRIMITIVE_3D_TX_ENABLE_ANISOTROPY_MASK                               0x00000030
1831 #define   NV10_TCL_PRIMITIVE_3D_TX_ENABLE_ENABLE                                        (1 << 30)
1832 #define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH(x)                                         (0x00000230+((x)*4))
1833 #define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH__SIZE                                      0x00000002
1834 #define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH_PITCH_SHIFT                               16
1835 #define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH_PITCH_MASK                                0xffff0000
1836 #define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE(x)                                          (0x00000240+((x)*4))
1837 #define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE__SIZE                                       0x00000002
1838 #define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_SHIFT                                    0
1839 #define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_MASK                                     0x0000ffff
1840 #define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_SHIFT                                    16
1841 #define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_MASK                                     0xffff0000
1842 #define  NV10_TCL_PRIMITIVE_3D_TX_FILTER(x)                                             (0x00000248+((x)*4))
1843 #define  NV10_TCL_PRIMITIVE_3D_TX_FILTER__SIZE                                          0x00000002
1844 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_SHIFT                                  24
1845 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_MASK                                   0x0f000000
1846 #define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST                               0x01000000
1847 #define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR                                0x02000000
1848 #define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST                0x03000000
1849 #define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST                 0x04000000
1850 #define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR                 0x05000000
1851 #define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR                  0x06000000
1852 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_SHIFT                                 28
1853 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_MASK                                  0xf0000000
1854 #define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST                              0x10000000
1855 #define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR                               0x20000000
1856 #define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_NEAREST               0x30000000
1857 #define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_NEAREST                0x40000000
1858 #define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_LINEAR                0x50000000
1859 #define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_LINEAR                 0x60000000
1860 #define  NV10_TCL_PRIMITIVE_3D_TX_PALETTE_OFFSET(x)                                     (0x00000250+((x)*4))
1861 #define  NV10_TCL_PRIMITIVE_3D_TX_PALETTE_OFFSET__SIZE                                  0x00000002
1862 #define  NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA(x)                                           (0x00000260+((x)*4))
1863 #define  NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA__SIZE                                        0x00000002
1864 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SHIFT                               0
1865 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_MASK                                0x0000000f
1866 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_ZERO                               0x00000000
1867 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0_NV                 0x00000001
1868 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1_NV                 0x00000002
1869 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_FOG                                0x00000003
1870 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR_NV                   0x00000004
1871 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR_NV                 0x00000005
1872 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_TEXTURE0_ARB                       0x00000008
1873 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_TEXTURE1_ARB                       0x00000009
1874 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SPARE0_NV                          0x0000000c
1875 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SPARE1_NV                          0x0000000d
1876 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV     0x0000000e
1877 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_E_TIMES_F_NV                       0x0000000f
1878 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_COMPONENT_USAGE                           (1 <<  4)
1879 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE                     0x00000000
1880 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA                    0x00000010
1881 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_SHIFT                             5
1882 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_MASK                              0x000000e0
1883 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY_NV             0x00000000
1884 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT_NV               0x00000020
1885 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL_NV                 0x00000040
1886 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE_NV                 0x00000060
1887 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL_NV              0x00000080
1888 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE_NV              0x000000a0
1889 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY_NV               0x000000c0
1890 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE_NV                 0x000000e0
1891 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SHIFT                               8
1892 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_MASK                                0x00000f00
1893 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_ZERO                               0x00000000
1894 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0_NV                 0x00000100
1895 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1_NV                 0x00000200
1896 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_FOG                                0x00000300
1897 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR_NV                   0x00000400
1898 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR_NV                 0x00000500
1899 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_TEXTURE0_ARB                       0x00000800
1900 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_TEXTURE1_ARB                       0x00000900
1901 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SPARE0_NV                          0x00000c00
1902 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SPARE1_NV                          0x00000d00
1903 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV     0x00000e00
1904 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_E_TIMES_F_NV                       0x00000f00
1905 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_COMPONENT_USAGE                           (1 << 12)
1906 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE                     0x00000000
1907 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA                    0x00001000
1908 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_SHIFT                             13
1909 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_MASK                              0x0000e000
1910 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY_NV             0x00000000
1911 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT_NV               0x00002000
1912 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL_NV                 0x00004000
1913 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE_NV                 0x00006000
1914 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL_NV              0x00008000
1915 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE_NV              0x0000a000
1916 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY_NV               0x0000c000
1917 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE_NV                 0x0000e000
1918 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SHIFT                               16
1919 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_MASK                                0x000f0000
1920 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_ZERO                               0x00000000
1921 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0_NV                 0x00010000
1922 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1_NV                 0x00020000
1923 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_FOG                                0x00030000
1924 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR_NV                   0x00040000
1925 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR_NV                 0x00050000
1926 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_TEXTURE0_ARB                       0x00080000
1927 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_TEXTURE1_ARB                       0x00090000
1928 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SPARE0_NV                          0x000c0000
1929 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SPARE1_NV                          0x000d0000
1930 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV     0x000e0000
1931 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_E_TIMES_F_NV                       0x000f0000
1932 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_COMPONENT_USAGE                           (1 << 20)
1933 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE                     0x00000000
1934 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA                    0x00100000
1935 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_SHIFT                             21
1936 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_MASK                              0x00e00000
1937 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY_NV             0x00000000
1938 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT_NV               0x00200000
1939 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL_NV                 0x00400000
1940 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE_NV                 0x00600000
1941 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL_NV              0x00800000
1942 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE_NV              0x00a00000
1943 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY_NV               0x00c00000
1944 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE_NV                 0x00e00000
1945 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SHIFT                               24
1946 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_MASK                                0x0f000000
1947 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_ZERO                               0x00000000
1948 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0_NV                 0x01000000
1949 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1_NV                 0x02000000
1950 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_FOG                                0x03000000
1951 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR_NV                   0x04000000
1952 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR_NV                 0x05000000
1953 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_TEXTURE0_ARB                       0x08000000
1954 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_TEXTURE1_ARB                       0x09000000
1955 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SPARE0_NV                          0x0c000000
1956 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SPARE1_NV                          0x0d000000
1957 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV     0x0e000000
1958 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_E_TIMES_F_NV                       0x0f000000
1959 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_COMPONENT_USAGE                           (1 << 28)
1960 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE                     0x00000000
1961 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA                    0x10000000
1962 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_SHIFT                             29
1963 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_MASK                              0xe0000000
1964 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY_NV             0x00000000
1965 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT_NV               0x20000000
1966 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL_NV                 0x40000000
1967 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE_NV                 0x60000000
1968 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL_NV              0x80000000
1969 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE_NV              0xa0000000
1970 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY_NV               0xc0000000
1971 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE_NV                 0xe0000000
1972 #define  NV10_TCL_PRIMITIVE_3D_RC_IN_RGB(x)                                             (0x00000268+((x)*4))
1973 #define  NV10_TCL_PRIMITIVE_3D_RC_IN_RGB__SIZE                                          0x00000002
1974 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SHIFT                                 0
1975 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_MASK                                  0x0000000f
1976 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_ZERO                                 0x00000000
1977 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0_NV                   0x00000001
1978 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1_NV                   0x00000002
1979 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_FOG                                  0x00000003
1980 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_PRIMARY_COLOR_NV                     0x00000004
1981 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SECONDARY_COLOR_NV                   0x00000005
1982 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_TEXTURE0_ARB                         0x00000008
1983 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_TEXTURE1_ARB                         0x00000009
1984 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SPARE0_NV                            0x0000000c
1985 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SPARE1_NV                            0x0000000d
1986 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV       0x0000000e
1987 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_E_TIMES_F_NV                         0x0000000f
1988 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_COMPONENT_USAGE                             (1 <<  4)
1989 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_COMPONENT_USAGE_RGB                        0x00000000
1990 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA                      0x00000010
1991 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_SHIFT                               5
1992 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_MASK                                0x000000e0
1993 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY_NV               0x00000000
1994 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT_NV                 0x00000020
1995 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL_NV                   0x00000040
1996 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE_NV                   0x00000060
1997 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL_NV                0x00000080
1998 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE_NV                0x000000a0
1999 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY_NV                 0x000000c0
2000 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE_NV                   0x000000e0
2001 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SHIFT                                 8
2002 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_MASK                                  0x00000f00
2003 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_ZERO                                 0x00000000
2004 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0_NV                   0x00000100
2005 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1_NV                   0x00000200
2006 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_FOG                                  0x00000300
2007 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_PRIMARY_COLOR_NV                     0x00000400
2008 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SECONDARY_COLOR_NV                   0x00000500
2009 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_TEXTURE0_ARB                         0x00000800
2010 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_TEXTURE1_ARB                         0x00000900
2011 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SPARE0_NV                            0x00000c00
2012 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SPARE1_NV                            0x00000d00
2013 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV       0x00000e00
2014 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_E_TIMES_F_NV                         0x00000f00
2015 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_COMPONENT_USAGE                             (1 << 12)
2016 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_COMPONENT_USAGE_RGB                        0x00000000
2017 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA                      0x00001000
2018 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_SHIFT                               13
2019 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_MASK                                0x0000e000
2020 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY_NV               0x00000000
2021 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT_NV                 0x00002000
2022 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL_NV                   0x00004000
2023 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE_NV                   0x00006000
2024 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL_NV                0x00008000
2025 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE_NV                0x0000a000
2026 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY_NV                 0x0000c000
2027 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE_NV                   0x0000e000
2028 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SHIFT                                 16
2029 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_MASK                                  0x000f0000
2030 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_ZERO                                 0x00000000
2031 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0_NV                   0x00010000
2032 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1_NV                   0x00020000
2033 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_FOG                                  0x00030000
2034 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_PRIMARY_COLOR_NV                     0x00040000
2035 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SECONDARY_COLOR_NV                   0x00050000
2036 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_TEXTURE0_ARB                         0x00080000
2037 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_TEXTURE1_ARB                         0x00090000
2038 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SPARE0_NV                            0x000c0000
2039 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SPARE1_NV                            0x000d0000
2040 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV       0x000e0000
2041 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_E_TIMES_F_NV                         0x000f0000
2042 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_COMPONENT_USAGE                             (1 << 20)
2043 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_COMPONENT_USAGE_RGB                        0x00000000
2044 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA                      0x00100000
2045 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_SHIFT                               21
2046 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_MASK                                0x00e00000
2047 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY_NV               0x00000000
2048 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT_NV                 0x00200000
2049 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL_NV                   0x00400000
2050 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE_NV                   0x00600000
2051 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL_NV                0x00800000
2052 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE_NV                0x00a00000
2053 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY_NV                 0x00c00000
2054 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE_NV                   0x00e00000
2055 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SHIFT                                 24
2056 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_MASK                                  0x0f000000
2057 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_ZERO                                 0x00000000
2058 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0_NV                   0x01000000
2059 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1_NV                   0x02000000
2060 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_FOG                                  0x03000000
2061 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_PRIMARY_COLOR_NV                     0x04000000
2062 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SECONDARY_COLOR_NV                   0x05000000
2063 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_TEXTURE0_ARB                         0x08000000
2064 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_TEXTURE1_ARB                         0x09000000
2065 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SPARE0_NV                            0x0c000000
2066 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SPARE1_NV                            0x0d000000
2067 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV       0x0e000000
2068 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_E_TIMES_F_NV                         0x0f000000
2069 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_COMPONENT_USAGE                             (1 << 28)
2070 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_COMPONENT_USAGE_RGB                        0x00000000
2071 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA                      0x10000000
2072 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_SHIFT                               29
2073 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_MASK                                0xe0000000
2074 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY_NV               0x00000000
2075 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT_NV                 0x20000000
2076 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL_NV                   0x40000000
2077 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE_NV                   0x60000000
2078 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL_NV                0x80000000
2079 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE_NV                0xa0000000
2080 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY_NV                 0xc0000000
2081 #define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE_NV                   0xe0000000
2082 #define  NV10_TCL_PRIMITIVE_3D_RC_COLOR(x)                                              (0x00000270+((x)*4))
2083 #define  NV10_TCL_PRIMITIVE_3D_RC_COLOR__SIZE                                           0x00000002
2084 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_B_SHIFT                                        0
2085 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_B_MASK                                         0x000000ff
2086 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_G_SHIFT                                        8
2087 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_G_MASK                                         0x0000ff00
2088 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_R_SHIFT                                        16
2089 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_R_MASK                                         0x00ff0000
2090 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_A_SHIFT                                        24
2091 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_A_MASK                                         0xff000000
2092 #define  NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(x)                                          (0x00000278+((x)*4))
2093 #define  NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA__SIZE                                       0x00000002
2094 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SHIFT                            0
2095 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_MASK                             0x0000000f
2096 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_ZERO                            0x00000000
2097 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0_NV              0x00000001
2098 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1_NV              0x00000002
2099 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_FOG                             0x00000003
2100 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR_NV                0x00000004
2101 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR_NV              0x00000005
2102 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0_ARB                    0x00000008
2103 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1_ARB                    0x00000009
2104 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_NV                       0x0000000c
2105 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE1_NV                       0x0000000d
2106 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV  0x0000000e
2107 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F_NV                    0x0000000f
2108 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SHIFT                            4
2109 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_MASK                             0x000000f0
2110 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_ZERO                            0x00000000
2111 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0_NV              0x00000010
2112 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1_NV              0x00000020
2113 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_FOG                             0x00000030
2114 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR_NV                0x00000040
2115 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR_NV              0x00000050
2116 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0_ARB                    0x00000080
2117 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1_ARB                    0x00000090
2118 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_NV                       0x000000c0
2119 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE1_NV                       0x000000d0
2120 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV  0x000000e0
2121 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F_NV                    0x000000f0
2122 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT                           8
2123 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_MASK                            0x00000f00
2124 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_ZERO                           0x00000000
2125 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0_NV             0x00000100
2126 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1_NV             0x00000200
2127 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_FOG                            0x00000300
2128 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR_NV               0x00000400
2129 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR_NV             0x00000500
2130 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0_ARB                   0x00000800
2131 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1_ARB                   0x00000900
2132 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_NV                      0x00000c00
2133 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1_NV                      0x00000d00
2134 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV 0x00000e00
2135 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F_NV                   0x00000f00
2136 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_DOT_PRODUCT                             (1 << 12)
2137 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_DOT_PRODUCT                             (1 << 13)
2138 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_MUX_SUM                                    (1 << 14)
2139 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_BIAS                                       (1 << 15)
2140 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_BIAS_NONE                                 0x00000000
2141 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF_NV         0x00008000
2142 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SHIFT                                17
2143 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_MASK                                 0x00000000
2144 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_NONE                                0x00000000
2145 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO_NV                     0x00020000
2146 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR_NV                    0x00040000
2147 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF_NV                0x00060000
2148 #define  NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB(x)                                            (0x00000280+((x)*4))
2149 #define  NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB__SIZE                                         0x00000002
2150 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SHIFT                              0
2151 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_MASK                               0x0000000f
2152 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_ZERO                              0x00000000
2153 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0_NV                0x00000001
2154 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1_NV                0x00000002
2155 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_FOG                               0x00000003
2156 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR_NV                  0x00000004
2157 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR_NV                0x00000005
2158 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE0_ARB                      0x00000008
2159 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE1_ARB                      0x00000009
2160 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0_NV                         0x0000000c
2161 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SPARE1_NV                         0x0000000d
2162 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV    0x0000000e
2163 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F_NV                      0x0000000f
2164 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SHIFT                              4
2165 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_MASK                               0x000000f0
2166 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_ZERO                              0x00000000
2167 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0_NV                0x00000010
2168 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1_NV                0x00000020
2169 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_FOG                               0x00000030
2170 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR_NV                  0x00000040
2171 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR_NV                0x00000050
2172 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE0_ARB                      0x00000080
2173 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE1_ARB                      0x00000090
2174 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0_NV                         0x000000c0
2175 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SPARE1_NV                         0x000000d0
2176 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV    0x000000e0
2177 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F_NV                      0x000000f0
2178 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SHIFT                             8
2179 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_MASK                              0x00000f00
2180 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_ZERO                             0x00000000
2181 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0_NV               0x00000100
2182 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1_NV               0x00000200
2183 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_FOG                              0x00000300
2184 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR_NV                 0x00000400
2185 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR_NV               0x00000500
2186 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0_ARB                     0x00000800
2187 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1_ARB                     0x00000900
2188 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0_NV                        0x00000c00
2189 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE1_NV                        0x00000d00
2190 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV   0x00000e00
2191 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F_NV                     0x00000f00
2192 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_DOT_PRODUCT                               (1 << 12)
2193 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_DOT_PRODUCT                               (1 << 13)
2194 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_MUX_SUM                                      (1 << 14)
2195 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_BIAS                                         (1 << 15)
2196 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_BIAS_NONE                                   0x00000000
2197 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF_NV           0x00008000
2198 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SHIFT                                  17
2199 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_MASK                                   0x00000000
2200 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_NONE                                  0x00000000
2201 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SCALE_BY_TWO_NV                       0x00020000
2202 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SCALE_BY_FOUR_NV                      0x00040000
2203 #define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF_NV                  0x00060000
2204 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_OPERATION_SHIFT                              27
2205 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_OPERATION_MASK                               0x38000000
2206 #define  NV10_TCL_PRIMITIVE_3D_RC_FINAL0                                                0x00000288
2207 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SHIFT                                 0
2208 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_MASK                                  0x0000000f
2209 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_ZERO                                 0x00000000
2210 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR0_NV                   0x00000001
2211 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR1_NV                   0x00000002
2212 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_FOG                                  0x00000003
2213 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_PRIMARY_COLOR_NV                     0x00000004
2214 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SECONDARY_COLOR_NV                   0x00000005
2215 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_TEXTURE0_ARB                         0x00000008
2216 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_TEXTURE1_ARB                         0x00000009
2217 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SPARE0_NV                            0x0000000c
2218 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SPARE1_NV                            0x0000000d
2219 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV       0x0000000e
2220 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_E_TIMES_F_NV                         0x0000000f
2221 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_COMPONENT_USAGE                             (1 <<  4)
2222 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_COMPONENT_USAGE_RGB                        0x00000000
2223 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_COMPONENT_USAGE_ALPHA                      0x00000010
2224 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_SHIFT                               5
2225 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_MASK                                0x000000e0
2226 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY_NV               0x00000000
2227 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT_NV                 0x00000020
2228 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_EXPAND_NORMAL_NV                   0x00000040
2229 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_EXPAND_NEGATE_NV                   0x00000060
2230 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL_NV                0x00000080
2231 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE_NV                0x000000a0
2232 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY_NV                 0x000000c0
2233 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_SIGNED_NEGATE_NV                   0x000000e0
2234 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SHIFT                                 8
2235 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_MASK                                  0x00000f00
2236 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_ZERO                                 0x00000000
2237 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR0_NV                   0x00000100
2238 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR1_NV                   0x00000200
2239 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_FOG                                  0x00000300
2240 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_PRIMARY_COLOR_NV                     0x00000400
2241 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SECONDARY_COLOR_NV                   0x00000500
2242 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_TEXTURE0_ARB                         0x00000800
2243 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_TEXTURE1_ARB                         0x00000900
2244 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SPARE0_NV                            0x00000c00
2245 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SPARE1_NV                            0x00000d00
2246 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV       0x00000e00
2247 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_E_TIMES_F_NV                         0x00000f00
2248 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_COMPONENT_USAGE                             (1 << 12)
2249 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_COMPONENT_USAGE_RGB                        0x00000000
2250 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_COMPONENT_USAGE_ALPHA                      0x00001000
2251 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_SHIFT                               13
2252 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_MASK                                0x0000e000
2253 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY_NV               0x00000000
2254 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT_NV                 0x00002000
2255 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_EXPAND_NORMAL_NV                   0x00004000
2256 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_EXPAND_NEGATE_NV                   0x00006000
2257 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL_NV                0x00008000
2258 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE_NV                0x0000a000
2259 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY_NV                 0x0000c000
2260 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_SIGNED_NEGATE_NV                   0x0000e000
2261 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SHIFT                                 16
2262 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_MASK                                  0x000f0000
2263 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_ZERO                                 0x00000000
2264 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR0_NV                   0x00010000
2265 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR1_NV                   0x00020000
2266 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_FOG                                  0x00030000
2267 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_PRIMARY_COLOR_NV                     0x00040000
2268 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SECONDARY_COLOR_NV                   0x00050000
2269 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_TEXTURE0_ARB                         0x00080000
2270 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_TEXTURE1_ARB                         0x00090000
2271 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SPARE0_NV                            0x000c0000
2272 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SPARE1_NV                            0x000d0000
2273 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV       0x000e0000
2274 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_E_TIMES_F_NV                         0x000f0000
2275 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_COMPONENT_USAGE                             (1 << 20)
2276 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_COMPONENT_USAGE_RGB                        0x00000000
2277 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_COMPONENT_USAGE_ALPHA                      0x00100000
2278 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_SHIFT                               21
2279 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_MASK                                0x00e00000
2280 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY_NV               0x00000000
2281 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT_NV                 0x00200000
2282 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_EXPAND_NORMAL_NV                   0x00400000
2283 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_EXPAND_NEGATE_NV                   0x00600000
2284 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL_NV                0x00800000
2285 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE_NV                0x00a00000
2286 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY_NV                 0x00c00000
2287 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_SIGNED_NEGATE_NV                   0x00e00000
2288 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SHIFT                                 24
2289 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_MASK                                  0x0f000000
2290 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_ZERO                                 0x00000000
2291 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR0_NV                   0x01000000
2292 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR1_NV                   0x02000000
2293 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_FOG                                  0x03000000
2294 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_PRIMARY_COLOR_NV                     0x04000000
2295 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SECONDARY_COLOR_NV                   0x05000000
2296 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_TEXTURE0_ARB                         0x08000000
2297 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_TEXTURE1_ARB                         0x09000000
2298 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SPARE0_NV                            0x0c000000
2299 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SPARE1_NV                            0x0d000000
2300 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV       0x0e000000
2301 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_E_TIMES_F_NV                         0x0f000000
2302 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_COMPONENT_USAGE                             (1 << 28)
2303 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_COMPONENT_USAGE_RGB                        0x00000000
2304 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_COMPONENT_USAGE_ALPHA                      0x10000000
2305 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_SHIFT                               29
2306 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_MASK                                0xe0000000
2307 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY_NV               0x00000000
2308 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT_NV                 0x20000000
2309 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_EXPAND_NORMAL_NV                   0x40000000
2310 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_EXPAND_NEGATE_NV                   0x60000000
2311 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL_NV                0x80000000
2312 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE_NV                0xa0000000
2313 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY_NV                 0xc0000000
2314 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_SIGNED_NEGATE_NV                   0xe0000000
2315 #define  NV10_TCL_PRIMITIVE_3D_RC_FINAL1                                                0x0000028c
2316 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_COLOR_SUM_CLAMP                               (1 <<  7)
2317 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SHIFT                                 8
2318 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_MASK                                  0x00000f00
2319 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_ZERO                                 0x00000000
2320 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR0_NV                   0x00000100
2321 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR1_NV                   0x00000200
2322 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_FOG                                  0x00000300
2323 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_PRIMARY_COLOR_NV                     0x00000400
2324 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SECONDARY_COLOR_NV                   0x00000500
2325 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_TEXTURE0_ARB                         0x00000800
2326 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_TEXTURE1_ARB                         0x00000900
2327 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SPARE0_NV                            0x00000c00
2328 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SPARE1_NV                            0x00000d00
2329 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV       0x00000e00
2330 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_E_TIMES_F_NV                         0x00000f00
2331 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_COMPONENT_USAGE                             (1 << 12)
2332 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_COMPONENT_USAGE_RGB                        0x00000000
2333 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_COMPONENT_USAGE_ALPHA                      0x00001000
2334 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_SHIFT                               13
2335 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_MASK                                0x0000e000
2336 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY_NV               0x00000000
2337 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT_NV                 0x00002000
2338 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_EXPAND_NORMAL_NV                   0x00004000
2339 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_EXPAND_NEGATE_NV                   0x00006000
2340 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL_NV                0x00008000
2341 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE_NV                0x0000a000
2342 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY_NV                 0x0000c000
2343 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_SIGNED_NEGATE_NV                   0x0000e000
2344 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SHIFT                                 16
2345 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_MASK                                  0x000f0000
2346 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_ZERO                                 0x00000000
2347 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR0_NV                   0x00010000
2348 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR1_NV                   0x00020000
2349 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_FOG                                  0x00030000
2350 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_PRIMARY_COLOR_NV                     0x00040000
2351 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SECONDARY_COLOR_NV                   0x00050000
2352 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_TEXTURE0_ARB                         0x00080000
2353 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_TEXTURE1_ARB                         0x00090000
2354 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SPARE0_NV                            0x000c0000
2355 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SPARE1_NV                            0x000d0000
2356 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV       0x000e0000
2357 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_E_TIMES_F_NV                         0x000f0000
2358 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_COMPONENT_USAGE                             (1 << 20)
2359 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_COMPONENT_USAGE_RGB                        0x00000000
2360 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_COMPONENT_USAGE_ALPHA                      0x00100000
2361 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_SHIFT                               21
2362 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_MASK                                0x00e00000
2363 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY_NV               0x00000000
2364 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT_NV                 0x00200000
2365 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_EXPAND_NORMAL_NV                   0x00400000
2366 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_EXPAND_NEGATE_NV                   0x00600000
2367 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL_NV                0x00800000
2368 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE_NV                0x00a00000
2369 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY_NV                 0x00c00000
2370 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_SIGNED_NEGATE_NV                   0x00e00000
2371 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SHIFT                                 24
2372 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_MASK                                  0x0f000000
2373 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_ZERO                                 0x00000000
2374 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR0_NV                   0x01000000
2375 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR1_NV                   0x02000000
2376 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_FOG                                  0x03000000
2377 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_PRIMARY_COLOR_NV                     0x04000000
2378 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SECONDARY_COLOR_NV                   0x05000000
2379 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_TEXTURE0_ARB                         0x08000000
2380 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_TEXTURE1_ARB                         0x09000000
2381 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SPARE0_NV                            0x0c000000
2382 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SPARE1_NV                            0x0d000000
2383 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV       0x0e000000
2384 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_E_TIMES_F_NV                         0x0f000000
2385 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_COMPONENT_USAGE                             (1 << 28)
2386 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_COMPONENT_USAGE_RGB                        0x00000000
2387 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_COMPONENT_USAGE_ALPHA                      0x10000000
2388 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_SHIFT                               29
2389 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_MASK                                0xe0000000
2390 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY_NV               0x00000000
2391 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT_NV                 0x20000000
2392 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_EXPAND_NORMAL_NV                   0x40000000
2393 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_EXPAND_NEGATE_NV                   0x60000000
2394 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL_NV                0x80000000
2395 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE_NV                0xa0000000
2396 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY_NV                 0xc0000000
2397 #define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_SIGNED_NEGATE_NV                   0xe0000000
2398 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL                                              0x00000294
2399 #define   NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_COLOR_CONTROL                               (1 <<  1)
2400 #define   NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_LOCAL_VIEWER                                (1 << 16)
2401 #define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE                                    0x00000298
2402 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_SPECULAR                          (1 <<  0)
2403 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_DIFFUSE                           (1 <<  1)
2404 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_AMBIENT                           (1 <<  2)
2405 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_EMISSION                          (1 <<  3)
2406 #define  NV10_TCL_PRIMITIVE_3D_FOG_MODE                                                 0x0000029c
2407 #define   NV10_TCL_PRIMITIVE_3D_FOG_MODE_EXP                                            0x00000800
2408 #define   NV10_TCL_PRIMITIVE_3D_FOG_MODE_EXP_2                                          0x00000802
2409 #define   NV10_TCL_PRIMITIVE_3D_FOG_MODE_EXP2                                           0x00000803
2410 #define   NV10_TCL_PRIMITIVE_3D_FOG_MODE_LINEAR                                         0x00000804
2411 #define   NV10_TCL_PRIMITIVE_3D_FOG_MODE_LINEAR_2                                       0x00002601
2412 #define  NV10_TCL_PRIMITIVE_3D_FOG_COORD_DIST                                           0x000002a0
2413 #define  NV10_TCL_PRIMITIVE_3D_FOG_ENABLE                                               0x000002a4
2414 #define  NV10_TCL_PRIMITIVE_3D_FOG_COLOR                                                0x000002a8
2415 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_R_SHIFT                                       0
2416 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_R_MASK                                        0x000000ff
2417 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_G_SHIFT                                       8
2418 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_G_MASK                                        0x0000ff00
2419 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_B_SHIFT                                       16
2420 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_B_MASK                                        0x00ff0000
2421 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_A_SHIFT                                       24
2422 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_A_MASK                                        0xff000000
2423 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_MODE                                       0x000002b4
2424 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(x)                                   (0x000002c0+((x)*4))
2425 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ__SIZE                                0x00000008
2426 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_L_SHIFT                        0
2427 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_L_MASK                         0x000007ff
2428 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_LEFT_ENABLE                    (1 << 11)
2429 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_R_SHIFT                        16
2430 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_R_MASK                         0x07ff0000
2431 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_RIGHT_ENABLE                   (1 << 27)
2432 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(x)                                    (0x000002e0+((x)*4))
2433 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT__SIZE                                 0x00000008
2434 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_T_SHIFT                         0
2435 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_T_MASK                          0x000007ff
2436 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_TOP_ENABLE                      (1 << 11)
2437 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_B_SHIFT                         16
2438 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_B_MASK                          0x07ff0000
2439 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_BOTTOM_ENABLE                   (1 << 27)
2440 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE                                        0x00000300
2441 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE                                        0x00000304
2442 #define  NV10_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                                         0x00000308
2443 #define  NV10_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                                        0x0000030c
2444 #define  NV10_TCL_PRIMITIVE_3D_DITHER_ENABLE                                            0x00000310
2445 #define  NV10_TCL_PRIMITIVE_3D_LIGHTING_ENABLE                                          0x00000314
2446 #define  NV10_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE                                  0x00000318
2447 #define  NV10_TCL_PRIMITIVE_3D_POINT_SMOOTH_ENABLE                                      0x0000031c
2448 #define  NV10_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                                       0x00000320
2449 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE                                    0x00000324
2450 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_WEIGHT_ENABLE                                     0x00000328
2451 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_ENABLE                                           0x0000032c
2452 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE                              0x00000330
2453 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE                               0x00000334
2454 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE                               0x00000338
2455 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                                          0x0000033c
2456 #define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NEVER                                   0x00000200
2457 #define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LESS                                    0x00000201
2458 #define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_EQUAL                                   0x00000202
2459 #define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LEQUAL                                  0x00000203
2460 #define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                                 0x00000204
2461 #define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                                 0x00000204
2462 #define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NOTEQUAL                                0x00000205
2463 #define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GEQUAL                                  0x00000206
2464 #define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_ALWAYS                                  0x00000207
2465 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                                           0x00000340
2466 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                                           0x00000344
2467 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ZERO                                     0x00000000
2468 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE                                      0x00000001
2469 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_COLOR                                0x00000300
2470 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR                      0x00000301
2471 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA                                0x00000302
2472 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA                      0x00000303
2473 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_ALPHA                                0x00000304
2474 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA                      0x00000305
2475 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_COLOR                                0x00000306
2476 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR                      0x00000307
2477 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE                       0x00000308
2478 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_COLOR                           0x00008001
2479 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR                 0x00008002
2480 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_ALPHA                           0x00008003
2481 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA                 0x00008004
2482 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                                           0x00000348
2483 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ZERO                                     0x00000000
2484 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE                                      0x00000001
2485 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_COLOR                                0x00000300
2486 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR                      0x00000301
2487 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA                                0x00000302
2488 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA                      0x00000303
2489 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_ALPHA                                0x00000304
2490 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA                      0x00000305
2491 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_COLOR                                0x00000306
2492 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR                      0x00000307
2493 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA_SATURATE                       0x00000308
2494 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_COLOR                           0x00008001
2495 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR                 0x00008002
2496 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_ALPHA                           0x00008003
2497 #define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA                 0x00008004
2498 #define  NV10_TCL_PRIMITIVE_3D_BLEND_COLOR                                              0x0000034c
2499 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_B_SHIFT                                     0
2500 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_B_MASK                                      0x000000ff
2501 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_G_SHIFT                                     8
2502 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_G_MASK                                      0x0000ff00
2503 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_R_SHIFT                                     16
2504 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_R_MASK                                      0x00ff0000
2505 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_A_SHIFT                                     24
2506 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_A_MASK                                      0xff000000
2507 #define  NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION                                           0x00000350
2508 #define   NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_ADD                                 0x00008006
2509 #define   NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_MIN                                      0x00008007
2510 #define   NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_MAX                                      0x00008008
2511 #define   NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_SUBTRACT                            0x0000800a
2512 #define   NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT                    0x0000800b
2513 #define  NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC                                               0x00000354
2514 #define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_NEVER                                        0x00000200
2515 #define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_LESS                                         0x00000201
2516 #define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_EQUAL                                        0x00000202
2517 #define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_LEQUAL                                       0x00000203
2518 #define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                                      0x00000204
2519 #define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                                      0x00000204
2520 #define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_NOTEQUAL                                     0x00000205
2521 #define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_GEQUAL                                       0x00000206
2522 #define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_ALWAYS                                       0x00000207
2523 #define  NV10_TCL_PRIMITIVE_3D_COLOR_MASK                                               0x00000358
2524 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_B                                            (1 <<  0)
2525 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_G                                            (1 <<  8)
2526 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_R                                            (1 << 16)
2527 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_A                                            (1 << 24)
2528 #define  NV10_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE                                       0x0000035c
2529 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_MASK                                             0x00000360
2530 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC                                        0x00000364
2531 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NEVER                                 0x00000200
2532 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LESS                                  0x00000201
2533 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_EQUAL                                 0x00000202
2534 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LEQUAL                                0x00000203
2535 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                               0x00000204
2536 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                               0x00000204
2537 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NOTEQUAL                              0x00000205
2538 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GEQUAL                                0x00000206
2539 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_ALWAYS                                0x00000207
2540 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_REF                                         0x00000368
2541 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_MASK                                        0x0000036c
2542 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL                                          0x00000370
2543 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_ZERO                                    0x00000000
2544 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INVERT                                  0x0000150a
2545 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_KEEP                                    0x00001e00
2546 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_REPLACE                                 0x00001e01
2547 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR                                    0x00001e02
2548 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR                                    0x00001e03
2549 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR_WRAP                               0x00008507
2550 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR_WRAP                               0x00008508
2551 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL                                         0x00000374
2552 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_ZERO                                   0x00000000
2553 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INVERT                                 0x0000150a
2554 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_KEEP                                   0x00001e00
2555 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_REPLACE                                0x00001e01
2556 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR                                   0x00001e02
2557 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR                                   0x00001e03
2558 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR_WRAP                              0x00008507
2559 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR_WRAP                              0x00008508
2560 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS                                         0x00000378
2561 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_ZERO                                   0x00000000
2562 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INVERT                                 0x0000150a
2563 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_KEEP                                   0x00001e00
2564 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_REPLACE                                0x00001e01
2565 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR                                   0x00001e02
2566 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR                                   0x00001e03
2567 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR_WRAP                              0x00008507
2568 #define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR_WRAP                              0x00008508
2569 #define  NV10_TCL_PRIMITIVE_3D_SHADE_MODEL                                              0x0000037c
2570 #define   NV10_TCL_PRIMITIVE_3D_SHADE_MODEL_FLAT                                        0x00001d00
2571 #define   NV10_TCL_PRIMITIVE_3D_SHADE_MODEL_SMOOTH                                      0x00001d01
2572 #define  NV10_TCL_PRIMITIVE_3D_LINE_WIDTH                                               0x00000380
2573 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR                                    0x00000384
2574 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS                                     0x00000388
2575 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                                       0x0000038c
2576 #define   NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_POINT                                0x00001b00
2577 #define   NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_LINE                                 0x00001b01
2578 #define   NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_FILL                                 0x00001b02
2579 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                                        0x00000390
2580 #define   NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_POINT                                 0x00001b00
2581 #define   NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_LINE                                  0x00001b01
2582 #define   NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_FILL                                  0x00001b02
2583 #define  NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                                         0x00000394
2584 #define  NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                                          0x00000398
2585 #define  NV10_TCL_PRIMITIVE_3D_CULL_FACE                                                0x0000039c
2586 #define   NV10_TCL_PRIMITIVE_3D_CULL_FACE_FRONT                                         0x00000404
2587 #define   NV10_TCL_PRIMITIVE_3D_CULL_FACE_BACK                                          0x00000405
2588 #define   NV10_TCL_PRIMITIVE_3D_CULL_FACE_FRONT_AND_BACK                                0x00000408
2589 #define  NV10_TCL_PRIMITIVE_3D_FRONT_FACE                                               0x000003a0
2590 #define   NV10_TCL_PRIMITIVE_3D_FRONT_FACE_CW                                           0x00000900
2591 #define   NV10_TCL_PRIMITIVE_3D_FRONT_FACE_CCW                                          0x00000901
2592 #define  NV10_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                                         0x000003a4
2593 #define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_R                                         0x000003a8
2594 #define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_G                                         0x000003ac
2595 #define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_B                                         0x000003b0
2596 #define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_A                                         0x000003b4
2597 #define  NV10_TCL_PRIMITIVE_3D_COLOR_CONTROL                                            0x000003b8
2598 #define  NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS                                           0x000003bc
2599 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT0                                   (1 <<  0)
2600 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT1                                   (1 <<  2)
2601 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT2                                   (1 <<  4)
2602 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT3                                   (1 <<  6)
2603 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT4                                   (1 <<  8)
2604 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT5                                   (1 << 10)
2605 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT6                                   (1 << 12)
2606 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT7                                   (1 << 14)
2607 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(x)                                     (0x000003c0+((x)*4))
2608 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE__SIZE                                  0x00000008
2609 #define   NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE_FALSE                                 0x00000000
2610 #define   NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE_EYE_LINEAR                            0x00002400
2611 #define   NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE_OBJECT_LINEAR                         0x00002401
2612 #define  NV10_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(x)                                      (0x000003e0+((x)*4))
2613 #define  NV10_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE__SIZE                                   0x00000002
2614 #define  NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE                                       0x000003e8
2615 #define   NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE_MODELVIEW1                           (1 <<  0)
2616 #define   NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE_MODELVIEW0                           (1 <<  1)
2617 #define   NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE_PROJECTION                           (1 <<  2)
2618 #define  NV10_TCL_PRIMITIVE_3D_POINT_SIZE                                               0x000003ec
2619 #define  NV10_TCL_PRIMITIVE_3D_MODELVIEW0_MATRIX(x)                                     (0x00000400+((x)*4))
2620 #define  NV10_TCL_PRIMITIVE_3D_MODELVIEW0_MATRIX__SIZE                                  0x00000010
2621 #define  NV10_TCL_PRIMITIVE_3D_MODELVIEW1_MATRIX(x)                                     (0x00000440+((x)*4))
2622 #define  NV10_TCL_PRIMITIVE_3D_MODELVIEW1_MATRIX__SIZE                                  0x00000010
2623 #define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW0_MATRIX(x)                             (0x00000480+((x)*4))
2624 #define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW0_MATRIX__SIZE                          0x00000010
2625 #define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW1_MATRIX(x)                             (0x000004c0+((x)*4))
2626 #define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW1_MATRIX__SIZE                          0x00000010
2627 #define  NV10_TCL_PRIMITIVE_3D_PROJECTION_MATRIX(x)                                     (0x00000500+((x)*4))
2628 #define  NV10_TCL_PRIMITIVE_3D_PROJECTION_MATRIX__SIZE                                  0x00000010
2629 #define  NV10_TCL_PRIMITIVE_3D_TX0_MATRIX(x)                                            (0x00000540+((x)*4))
2630 #define  NV10_TCL_PRIMITIVE_3D_TX0_MATRIX__SIZE                                         0x00000010
2631 #define  NV10_TCL_PRIMITIVE_3D_TX1_MATRIX(x)                                            (0x00000580+((x)*4))
2632 #define  NV10_TCL_PRIMITIVE_3D_TX1_MATRIX__SIZE                                         0x00000010
2633 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_A(x)                                          (0x00000600+((x)*16))
2634 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_A__SIZE                                       0x00000008
2635 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_B(x)                                          (0x00000604+((x)*16))
2636 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_B__SIZE                                       0x00000008
2637 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_C(x)                                          (0x00000608+((x)*16))
2638 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_C__SIZE                                       0x00000008
2639 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_D(x)                                          (0x0000060c+((x)*16))
2640 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_D__SIZE                                       0x00000008
2641 #define  NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT                                    0x00000680
2642 #define  NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR                                      0x00000684
2643 #define  NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC                                   0x00000688
2644 #define  NV10_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS(x)                              (0x000006a0+((x)*4))
2645 #define  NV10_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS__SIZE                           0x00000006
2646 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R   0x000006c4
2647 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G   0x000006c8
2648 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B   0x000006cc
2649 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_X                                         0x000006e8
2650 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_Y                                         0x000006ec
2651 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_Z                                         0x000006f0
2652 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_W                                         0x000006f4
2653 #define  NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER(x)                                       (0x000006f8+((x)*4))
2654 #define  NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER__SIZE                                    0x00000008
2655 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(x)                    (0x00000800+((x)*128))
2656 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R__SIZE                 0x00000008
2657 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(x)                    (0x00000804+((x)*128))
2658 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G__SIZE                 0x00000008
2659 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(x)                    (0x00000808+((x)*128))
2660 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B__SIZE                 0x00000008
2661 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(x)                    (0x0000080c+((x)*128))
2662 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R__SIZE                 0x00000008
2663 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(x)                    (0x00000810+((x)*128))
2664 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G__SIZE                 0x00000008
2665 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(x)                    (0x00000814+((x)*128))
2666 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B__SIZE                 0x00000008
2667 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(x)                   (0x00000818+((x)*128))
2668 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R__SIZE                0x00000008
2669 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(x)                   (0x0000081c+((x)*128))
2670 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G__SIZE                0x00000008
2671 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(x)                   (0x00000820+((x)*128))
2672 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B__SIZE                0x00000008
2673 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X(x)                                   (0x00000828+((x)*128))
2674 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X__SIZE                                0x00000008
2675 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y(x)                                   (0x0000082c+((x)*128))
2676 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y__SIZE                                0x00000008
2677 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z(x)                                   (0x00000830+((x)*128))
2678 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z__SIZE                                0x00000008
2679 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X(x)                                     (0x00000834+((x)*128))
2680 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X__SIZE                                  0x00000008
2681 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y(x)                                     (0x00000838+((x)*128))
2682 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y__SIZE                                  0x00000008
2683 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z(x)                                     (0x0000083c+((x)*128))
2684 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z__SIZE                                  0x00000008
2685 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A(x)                                   (0x00000840+((x)*128))
2686 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A__SIZE                                0x00000008
2687 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B(x)                                   (0x00000844+((x)*128))
2688 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B__SIZE                                0x00000008
2689 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C(x)                                   (0x00000848+((x)*128))
2690 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C__SIZE                                0x00000008
2691 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X(x)                                      (0x0000084c+((x)*128))
2692 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X__SIZE                                   0x00000008
2693 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y(x)                                      (0x00000850+((x)*128))
2694 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y__SIZE                                   0x00000008
2695 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z(x)                                      (0x00000854+((x)*128))
2696 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z__SIZE                                   0x00000008
2697 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D(x)                                   (0x00000858+((x)*128))
2698 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D__SIZE                                0x00000008
2699 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_X(x)                                      (0x0000085c+((x)*128))
2700 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_X__SIZE                                   0x00000008
2701 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y(x)                                      (0x00000860+((x)*128))
2702 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y__SIZE                                   0x00000008
2703 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z(x)                                      (0x00000864+((x)*128))
2704 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z__SIZE                                   0x00000008
2705 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT(x)                            (0x00000868+((x)*128))
2706 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT__SIZE                         0x00000008
2707 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR(x)                              (0x0000086c+((x)*128))
2708 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR__SIZE                           0x00000008
2709 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC(x)                           (0x00000870+((x)*128))
2710 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC__SIZE                        0x00000008
2711 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_X                                          0x00000c00
2712 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Y                                          0x00000c04
2713 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Z                                          0x00000c08
2714 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_X                                          0x00000c18
2715 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Y                                          0x00000c1c
2716 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Z                                          0x00000c20
2717 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_W                                          0x00000c24
2718 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_X                                          0x00000c30
2719 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Y                                          0x00000c34
2720 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Z                                          0x00000c38
2721 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                                         0x00000c40
2722 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_SHIFT                                0
2723 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_MASK                                 0x0000ffff
2724 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_SHIFT                                16
2725 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_MASK                                 0xffff0000
2726 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                                          0x00000c44
2727 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_SHIFT                                 0
2728 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_MASK                                  0x0000ffff
2729 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_R                                          0x00000c50
2730 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_G                                          0x00000c54
2731 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_B                                          0x00000c58
2732 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_A                                          0x00000c5c
2733 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_R                                          0x00000c60
2734 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_G                                          0x00000c64
2735 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_B                                          0x00000c68
2736 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I                                            0x00000c6c
2737 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_SHIFT                                   0
2738 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_MASK                                    0x000000ff
2739 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_SHIFT                                   8
2740 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_MASK                                    0x0000ff00
2741 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_SHIFT                                   16
2742 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_MASK                                    0x00ff0000
2743 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_SHIFT                                   24
2744 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_MASK                                    0xff000000
2745 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_R                                         0x00000c80
2746 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_G                                         0x00000c84
2747 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_B                                         0x00000c88
2748 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I                                           0x00000c8c
2749 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_R_SHIFT                                  0
2750 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_R_MASK                                   0x000000ff
2751 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_G_SHIFT                                  8
2752 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_G_MASK                                   0x0000ff00
2753 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_B_SHIFT                                  16
2754 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_B_MASK                                   0x00ff0000
2755 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S                                          0x00000c90
2756 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T                                          0x00000c94
2757 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I                                            0x00000c98
2758 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_SHIFT                                   0
2759 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_MASK                                    0x0000ffff
2760 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_SHIFT                                   16
2761 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_MASK                                    0xffff0000
2762 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_S                                          0x00000ca0
2763 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_T                                          0x00000ca4
2764 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_R                                          0x00000ca8
2765 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_Q                                          0x00000cac
2766 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST                                         0x00000cb0
2767 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_SHIFT                                0
2768 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_MASK                                 0x0000ffff
2769 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_SHIFT                                16
2770 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_MASK                                 0xffff0000
2771 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ                                         0x00000cb4
2772 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_SHIFT                                0
2773 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_MASK                                 0x0000ffff
2774 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_SHIFT                                16
2775 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_MASK                                 0xffff0000
2776 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S                                          0x00000cb8
2777 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T                                          0x00000cbc
2778 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I                                            0x00000cc0
2779 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_SHIFT                                   0
2780 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_MASK                                    0x0000ffff
2781 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_SHIFT                                   16
2782 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_MASK                                    0xffff0000
2783 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_S                                          0x00000cc8
2784 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_T                                          0x00000ccc
2785 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_R                                          0x00000cd0
2786 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_Q                                          0x00000cd4
2787 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST                                         0x00000cd8
2788 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_SHIFT                                0
2789 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_MASK                                 0x0000ffff
2790 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_SHIFT                                16
2791 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_MASK                                 0xffff0000
2792 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ                                         0x00000cdc
2793 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_SHIFT                                0
2794 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_MASK                                 0x0000ffff
2795 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_SHIFT                                16
2796 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_MASK                                 0xffff0000
2797 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_FOG_1F                                            0x00000ce0
2798 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_WGH_1F                                            0x00000ce4
2799 #define  NV10_TCL_PRIMITIVE_3D_EDGEFLAG_ENABLE                                          0x00000cec
2800 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_VALIDATE                                    0x00000cf0
2801 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_POS                                  0x00000d00
2802 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS                                  0x00000d04
2803 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_TYPE_SHIFT                      0
2804 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_TYPE_MASK                       0x0000000f
2805 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_FIELDS_SHIFT                    4
2806 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_FIELDS_MASK                     0x000000f0
2807 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_STRIDE_SHIFT                    8
2808 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_STRIDE_MASK                     0x0000ff00
2809 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_COL                                  0x00000d08
2810 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL                                  0x00000d0c
2811 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_TYPE_SHIFT                      0
2812 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_TYPE_MASK                       0x0000000f
2813 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_FIELDS_SHIFT                    4
2814 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_FIELDS_MASK                     0x000000f0
2815 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_STRIDE_SHIFT                    8
2816 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_STRIDE_MASK                     0x0000ff00
2817 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_COL2                                 0x00000d10
2818 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2                                 0x00000d14
2819 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_TYPE_SHIFT                     0
2820 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_TYPE_MASK                      0x0000000f
2821 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_FIELDS_SHIFT                   4
2822 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_FIELDS_MASK                    0x000000f0
2823 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_STRIDE_SHIFT                   8
2824 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_STRIDE_MASK                    0x0000ff00
2825 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_TX0                                  0x00000d18
2826 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0                                  0x00000d1c
2827 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_TYPE_SHIFT                      0
2828 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_TYPE_MASK                       0x0000000f
2829 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_FIELDS_SHIFT                    4
2830 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_FIELDS_MASK                     0x000000f0
2831 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_STRIDE_SHIFT                    8
2832 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_STRIDE_MASK                     0x0000ff00
2833 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_TX1                                  0x00000d20
2834 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1                                  0x00000d24
2835 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_TYPE_SHIFT                      0
2836 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_TYPE_MASK                       0x0000000f
2837 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_FIELDS_SHIFT                    4
2838 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_FIELDS_MASK                     0x000000f0
2839 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_STRIDE_SHIFT                    8
2840 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_STRIDE_MASK                     0x0000ff00
2841 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_NOR                                  0x00000d28
2842 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR                                  0x00000d2c
2843 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_TYPE_SHIFT                      0
2844 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_TYPE_MASK                       0x0000000f
2845 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_FIELDS_SHIFT                    4
2846 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_FIELDS_MASK                     0x000000f0
2847 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_STRIDE_SHIFT                    8
2848 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_STRIDE_MASK                     0x0000ff00
2849 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_WGH                                  0x00000d30
2850 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH                                  0x00000d34
2851 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_TYPE_SHIFT                      0
2852 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_TYPE_MASK                       0x0000000f
2853 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_FIELDS_SHIFT                    4
2854 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_FIELDS_MASK                     0x000000f0
2855 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_STRIDE_SHIFT                    8
2856 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_STRIDE_MASK                     0x0000ff00
2857 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_FOG                                  0x00000d38
2858 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG                                  0x00000d3c
2859 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_TYPE_SHIFT                      0
2860 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_TYPE_MASK                       0x0000000f
2861 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_FIELDS_SHIFT                    4
2862 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_FIELDS_MASK                     0x000000f0
2863 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_STRIDE_SHIFT                    8
2864 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_STRIDE_MASK                     0x0000ff00
2865 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END                                         0x00000dfc
2866 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_STOP                                   0x00000000
2867 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POINTS                                 0x00000001
2868 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINES                                  0x00000002
2869 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_LOOP                              0x00000003
2870 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_STRIP                             0x00000004
2871 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLES                              0x00000005
2872 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_STRIP                         0x00000006
2873 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_FAN                           0x00000007
2874 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUADS                                  0x00000008
2875 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUAD_STRIP                             0x00000009
2876 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POLYGON                                0x0000000a
2877 #define  NV10_TCL_PRIMITIVE_3D_DRAW_INDEX                                               0x00000e00
2878 #define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I0_SHIFT                                     0
2879 #define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I0_MASK                                      0x0000ffff
2880 #define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I1_SHIFT                                     24
2881 #define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I1_MASK                                      0xff000000
2882 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END                                  0x000013fc
2883 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_STOP                            0x00000000
2884 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_POINTS                          0x00000001
2885 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_LINES                           0x00000002
2886 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_LINE_LOOP                       0x00000003
2887 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_LINE_STRIP                      0x00000004
2888 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_TRIANGLES                       0x00000005
2889 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_TRIANGLE_STRIP                  0x00000006
2890 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_TRIANGLE_FAN                    0x00000007
2891 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_QUADS                           0x00000008
2892 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_QUAD_STRIP                      0x00000009
2893 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_POLYGON                         0x0000000a
2894 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS                                0x00001400
2895 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_SHIFT                   0
2896 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_MASK                    0x0000ffff
2897 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_LAST_SHIFT                    24
2898 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_LAST_MASK                     0xff000000
2899 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_DATA                                        0x00001800
2900
2901
2902 #define NV04_CONTEXT_COLOR_KEY                                                          0x00000057
2903
2904
2905
2906 #define NV03_CONTEXT_SURFACES_2D                                                        0x00000058
2907
2908 #define  NV03_CONTEXT_SURFACES_2D_SYNCHRONIZE                                           0x00000100
2909 #define  NV03_CONTEXT_SURFACES_2D_DMA_NOTIFY                                            0x00000180
2910 #define  NV03_CONTEXT_SURFACES_2D_DMA_SOURCE                                            0x00000184
2911 #define  NV03_CONTEXT_SURFACES_2D_DMA_DESTIN                                            0x00000188
2912 #define  NV03_CONTEXT_SURFACES_2D_COLOR_FORMAT                                          0x00000300
2913 #define  NV03_CONTEXT_SURFACES_2D_PITCH                                                 0x00000304
2914 #define   NV03_CONTEXT_SURFACES_2D_PITCH_SOURCE_SHIFT                                   0
2915 #define   NV03_CONTEXT_SURFACES_2D_PITCH_SOURCE_MASK                                    0x0000ffff
2916 #define   NV03_CONTEXT_SURFACES_2D_PITCH_DESTIN_SHIFT                                   16
2917 #define   NV03_CONTEXT_SURFACES_2D_PITCH_DESTIN_MASK                                    0xffff0000
2918 #define  NV03_CONTEXT_SURFACES_2D_OFFSET_SOURCE                                         0x00000308
2919 #define  NV03_CONTEXT_SURFACES_2D_OFFSET_DESTIN                                         0x0000030c
2920
2921
2922 #define NV03_CONTEXT_SURFACES_3D                                                        0x0000005a
2923
2924 #define  NV03_CONTEXT_SURFACES_3D_SYNCHRONIZE                                           0x00000100
2925 #define  NV03_CONTEXT_SURFACES_3D_DMA_NOTIFY                                            0x00000180
2926 #define  NV03_CONTEXT_SURFACES_3D_DMA_SURFACE                                           0x00000184
2927 #define  NV03_CONTEXT_SURFACES_3D_PITCH                                                 0x00000300
2928 #define  NV03_CONTEXT_SURFACES_3D_OFFSET_COLOR                                          0x00000304
2929 #define  NV03_CONTEXT_SURFACES_3D_OFFSET_ZETA                                           0x00000308
2930
2931
2932 #define NV04_RENDER_SOLID_LINE                                                          0x0000005c
2933
2934 #define  NV04_RENDER_SOLID_LINE_SURFACE                                                 0x00000198
2935
2936
2937 #define NV04_RENDER_SOLID_TRIANGLE                                                      0x0000005d
2938
2939
2940
2941 #define NV04_RENDER_SOLID_RECTANGLE                                                     0x0000005e
2942
2943 #define  NV04_RENDER_SOLID_RECTANGLE_SURFACE                                            0x00000198
2944
2945
2946 #define NV_IMAGE_BLIT                                                                   0x0000005f
2947
2948 #define  NV_IMAGE_BLIT_NOP                                                              0x00000100
2949 #define  NV_IMAGE_BLIT_NOTIFY                                                           0x00000104
2950 #define  NV_IMAGE_BLIT_DMA_NOTIFY                                                       0x00000180
2951 #define  NV_IMAGE_BLIT_COLOR_KEY                                                        0x00000184
2952 #define  NV_IMAGE_BLIT_CLIP_RECTANGLE                                                   0x00000188
2953 #define  NV_IMAGE_BLIT_PATTERN                                                          0x0000018c
2954 #define  NV_IMAGE_BLIT_ROP                                                              0x00000190
2955 #define  NV_IMAGE_BLIT_BETA4                                                            0x00000198
2956 #define  NV_IMAGE_BLIT_SURFACE                                                          0x0000019c
2957 #define  NV_IMAGE_BLIT_OPERATION                                                        0x000002fc
2958 #define   NV_IMAGE_BLIT_OPERATION_SRCCOPY_AND                                           0x00000000
2959 #define   NV_IMAGE_BLIT_OPERATION_ROP_AND                                               0x00000001
2960 #define   NV_IMAGE_BLIT_OPERATION_BLEND_AND                                             0x00000002
2961 #define   NV_IMAGE_BLIT_OPERATION_SRCCOPY                                               0x00000003
2962 #define   NV_IMAGE_BLIT_OPERATION_SRCCOPY_PREMULT                                       0x00000004
2963 #define   NV_IMAGE_BLIT_OPERATION_BLEND_PREMULT                                         0x00000005
2964 #define  NV_IMAGE_BLIT_POINT_IN                                                         0x00000300
2965 #define   NV_IMAGE_BLIT_POINT_IN_X_SHIFT                                                0
2966 #define   NV_IMAGE_BLIT_POINT_IN_X_MASK                                                 0x0000ffff
2967 #define   NV_IMAGE_BLIT_POINT_IN_Y_SHIFT                                                16
2968 #define   NV_IMAGE_BLIT_POINT_IN_Y_MASK                                                 0xffff0000
2969 #define  NV_IMAGE_BLIT_POINT_OUT                                                        0x00000300
2970 #define   NV_IMAGE_BLIT_POINT_OUT_X_SHIFT                                               0
2971 #define   NV_IMAGE_BLIT_POINT_OUT_X_MASK                                                0x0000ffff
2972 #define   NV_IMAGE_BLIT_POINT_OUT_Y_SHIFT                                               16
2973 #define   NV_IMAGE_BLIT_POINT_OUT_Y_MASK                                                0xffff0000
2974 #define  NV_IMAGE_BLIT_SIZE                                                             0x00000300
2975 #define   NV_IMAGE_BLIT_SIZE_W_SHIFT                                                    0
2976 #define   NV_IMAGE_BLIT_SIZE_W_MASK                                                     0x0000ffff
2977 #define   NV_IMAGE_BLIT_SIZE_H_SHIFT                                                    16
2978 #define   NV_IMAGE_BLIT_SIZE_H_MASK                                                     0xffff0000
2979
2980
2981 #define NV04_INDEXED_IMAGE_FROM_CPU                                                     0x00000060
2982
2983 #define  NV04_INDEXED_IMAGE_FROM_CPU_NOP                                                0x00000100
2984 #define  NV04_INDEXED_IMAGE_FROM_CPU_NOTIFY                                             0x00000104
2985 #define  NV04_INDEXED_IMAGE_FROM_CPU_PATCH                                              0x0000010c
2986 #define  NV04_INDEXED_IMAGE_FROM_CPU_DMA_NOTIFY                                         0x00000180
2987 #define  NV04_INDEXED_IMAGE_FROM_CPU_DMA_LUT                                            0x00000184
2988 #define  NV04_INDEXED_IMAGE_FROM_CPU_COLOR_FORMAT                                       0x000003e8
2989 #define  NV04_INDEXED_IMAGE_FROM_CPU_INDEX_FORMAT                                       0x000003ec
2990 #define  NV04_INDEXED_IMAGE_FROM_CPU_LUT_OFFSET                                         0x000003f0
2991 #define  NV04_INDEXED_IMAGE_FROM_CPU_POINT                                              0x000003f4
2992 #define  NV04_INDEXED_IMAGE_FROM_CPU_SIZE_OUT                                           0x000003f8
2993 #define  NV04_INDEXED_IMAGE_FROM_CPU_SIZE_IN                                            0x000003fc
2994 #define  NV04_INDEXED_IMAGE_FROM_CPU_COLOR                                              0x00000400
2995
2996
2997 #define NV_IMAGE_FROM_CPU                                                               0x00000061
2998
2999 #define  NV_IMAGE_FROM_CPU_BETA4                                                        0x00000198
3000 #define  NV_IMAGE_FROM_CPU_SURFACE                                                      0x0000019c
3001
3002
3003 #define NV10_CONTEXT_SURFACES_2D                                                        0x00000062
3004
3005
3006
3007 #define NV05_SCALED_IMAGE_FROM_MEMORY                                                   0x00000063
3008
3009 #define  NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION                                 0x000002fc
3010 #define   NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_DITHER                         0x00000000
3011 #define   NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_TRUNCATE                       0x00000001
3012 #define   NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_SUBTR_TRUNCATE                 0x00000002
3013
3014
3015 #define NV01_IMAGE_SRCCOPY_AND                                                          0x00000064
3016
3017 #define  NV01_IMAGE_SRCCOPY_AND_NOTIFY                                                  0x00000104
3018 #define  NV01_IMAGE_SRCCOPY_AND_DMA_NOTIFY                                              0x00000180
3019 #define  NV01_IMAGE_SRCCOPY_AND_IMAGE_OUTPUT                                            0x00000200
3020 #define  NV01_IMAGE_SRCCOPY_AND_IMAGE_INPUT                                             0x00000204
3021
3022
3023 #define NV05_INDEXED_IMAGE_FROM_CPU                                                     0x00000064
3024
3025 #define  NV05_INDEXED_IMAGE_FROM_CPU_COLOR_KEY                                          0x00000188
3026 #define  NV05_INDEXED_IMAGE_FROM_CPU_CLIP_RECTANGLE                                     0x0000018c
3027 #define  NV05_INDEXED_IMAGE_FROM_CPU_PATTERN                                            0x00000190
3028 #define  NV05_INDEXED_IMAGE_FROM_CPU_ROP                                                0x00000194
3029 #define  NV05_INDEXED_IMAGE_FROM_CPU_BETA1                                              0x00000198
3030 #define  NV05_INDEXED_IMAGE_FROM_CPU_BETA4                                              0x0000019c
3031 #define  NV05_INDEXED_IMAGE_FROM_CPU_SURFACE                                            0x000001a0
3032 #define  NV05_INDEXED_IMAGE_FROM_CPU_COLOR_CONVERSION                                   0x000003e0
3033 #define  NV05_INDEXED_IMAGE_FROM_CPU_OPERATION                                          0x000003e4
3034 #define  NV05_INDEXED_IMAGE_FROM_CPU_INDICES                                            0x00000400
3035
3036
3037 #define NV05_IMAGE_FROM_CPU                                                             0x00000065
3038
3039 #define  NV05_IMAGE_FROM_CPU_BETA4                                                      0x00000198
3040 #define  NV05_IMAGE_FROM_CPU_SURFACE                                                    0x0000019c
3041
3042
3043 #define NV05_STRETCHED_IMAGE_FROM_CPU                                                   0x00000066
3044
3045 #define  NV05_STRETCHED_IMAGE_FROM_CPU_BETA4                                            0x00000194
3046 #define  NV05_STRETCHED_IMAGE_FROM_CPU_SURFACE                                          0x00000198
3047 #define  NV05_STRETCHED_IMAGE_FROM_CPU_COLOR_CONVERSION                                 0x000002f8
3048
3049
3050 #define NV04_IMAGE_BLEND_PREMULT                                                        0x00000067
3051
3052 #define  NV04_IMAGE_BLEND_PREMULT_NOP                                                   0x00000100
3053 #define  NV04_IMAGE_BLEND_PREMULT_NOTIFY                                                0x00000104
3054 #define  NV04_IMAGE_BLEND_PREMULT_DMA_NOTIFY                                            0x00000180
3055 #define  NV04_IMAGE_BLEND_PREMULT_IMAGE_OUTPUT                                          0x00000200
3056 #define  NV04_IMAGE_BLEND_PREMULT_BETA_INPUT                                            0x00000204
3057 #define  NV04_IMAGE_BLEND_PREMULT_IMAGE_INPUT                                           0x00000208
3058
3059
3060 #define NV03_CHANNEL_PIO                                                                0x0000006a
3061
3062
3063
3064 #define NV03_CHANNEL_DMA                                                                0x0000006b
3065
3066
3067
3068 #define NV04_BETA_SOLID                                                                 0x00000072
3069
3070 #define  NV04_BETA_SOLID_NOP                                                            0x00000100
3071 #define  NV04_BETA_SOLID_NOTIFY                                                         0x00000104
3072 #define  NV04_BETA_SOLID_DMA_NOTIFY                                                     0x00000180
3073 #define  NV04_BETA_SOLID_BETA_OUTPUT                                                    0x00000200
3074 #define  NV04_BETA_SOLID_BETA_FACTOR                                                    0x00000300
3075
3076
3077 #define NV04_STRETCHED_IMAGE_FROM_CPU                                                   0x00000076
3078
3079
3080
3081 #define NV04_SCALED_IMAGE_FROM_MEMORY                                                   0x00000077
3082
3083 #define  NV04_SCALED_IMAGE_FROM_MEMORY_NOP                                              0x00000100
3084 #define  NV04_SCALED_IMAGE_FROM_MEMORY_NOTIFY                                           0x00000104
3085 #define  NV04_SCALED_IMAGE_FROM_MEMORY_DMA_NOTIFY                                       0x00000180
3086 #define  NV04_SCALED_IMAGE_FROM_MEMORY_DMA_IMAGE                                        0x00000184
3087 #define  NV04_SCALED_IMAGE_FROM_MEMORY_PATTERN                                          0x00000188
3088 #define  NV04_SCALED_IMAGE_FROM_MEMORY_ROP                                              0x0000018c
3089 #define  NV04_SCALED_IMAGE_FROM_MEMORY_BETA1                                            0x00000190
3090 #define  NV04_SCALED_IMAGE_FROM_MEMORY_BETA4                                            0x00000194
3091 #define  NV04_SCALED_IMAGE_FROM_MEMORY_SURFACE                                          0x00000198
3092 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION                                 0x000002fc
3093 #define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_DITHER                         0x00000000
3094 #define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_TRUNCATE                       0x00000001
3095 #define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_SUBTR_TRUNCATE                 0x00000002
3096 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT                                     0x00000300
3097 #define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A1R5G5B5                           0x00000001
3098 #define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X1R5G5B5                           0x00000002
3099 #define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A8R8G8B8                           0x00000003
3100 #define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X8R8G8B8                           0x00000004
3101 #define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_V8YB8U8YA8                         0x00000005
3102 #define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_YB8V8YA8U8                         0x00000006
3103 #define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_R5G6B5                             0x00000007
3104 #define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_Y8                                 0x00000008
3105 #define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_AY8                                0x00000009
3106 #define  NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION                                        0x00000304
3107 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_AND                           0x00000000
3108 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_ROP_AND                               0x00000001
3109 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_AND                             0x00000002
3110 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY                               0x00000003
3111 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_PREMULT                       0x00000004
3112 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_PREMULT                         0x00000005
3113 #define  NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT                                       0x00000308
3114 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_SHIFT                              0
3115 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_MASK                               0x0000ffff
3116 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_SHIFT                              16
3117 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_MASK                               0xffff0000
3118 #define  NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE                                        0x0000030c
3119 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_SHIFT                               0
3120 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_MASK                                0x0000ffff
3121 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_SHIFT                               16
3122 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_MASK                                0xffff0000
3123 #define  NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT                                        0x00000310
3124 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_SHIFT                               0
3125 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_MASK                                0x0000ffff
3126 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_SHIFT                               16
3127 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_MASK                                0xffff0000
3128 #define  NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE                                         0x00000314
3129 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_SHIFT                                0
3130 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_MASK                                 0x0000ffff
3131 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_SHIFT                                16
3132 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_MASK                                 0xffff0000
3133 #define  NV04_SCALED_IMAGE_FROM_MEMORY_DU_DX                                            0x00000318
3134 #define  NV04_SCALED_IMAGE_FROM_MEMORY_DV_DY                                            0x0000031c
3135 #define  NV04_SCALED_IMAGE_FROM_MEMORY_SIZE                                             0x00000400
3136 #define   NV04_SCALED_IMAGE_FROM_MEMORY_SIZE_W_SHIFT                                    0
3137 #define   NV04_SCALED_IMAGE_FROM_MEMORY_SIZE_W_MASK                                     0x0000ffff
3138 #define   NV04_SCALED_IMAGE_FROM_MEMORY_SIZE_H_SHIFT                                    16
3139 #define   NV04_SCALED_IMAGE_FROM_MEMORY_SIZE_H_MASK                                     0xffff0000
3140 #define  NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT                                           0x00000404
3141 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_SHIFT                              0
3142 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_MASK                               0x0000ffff
3143 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_SHIFT                             16
3144 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_MASK                              0x00ff0000
3145 #define    NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CENTER                           0x00010000
3146 #define    NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CORNER                           0x00020000
3147 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_SHIFT                             24
3148 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_MASK                              0xff000000
3149 #define    NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_POINT_SAMPLE                     0x00000000
3150 #define    NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_BILINEAR                         0x01000000
3151 #define  NV04_SCALED_IMAGE_FROM_MEMORY_ADDRESS                                          0x00000408
3152 #define  NV04_SCALED_IMAGE_FROM_MEMORY_POINT                                            0x0000040c
3153 #define   NV04_SCALED_IMAGE_FROM_MEMORY_POINT_X_SHIFT                                   0
3154 #define   NV04_SCALED_IMAGE_FROM_MEMORY_POINT_X_MASK                                    0x0000ffff
3155 #define   NV04_SCALED_IMAGE_FROM_MEMORY_POINT_Y_SHIFT                                   16
3156 #define   NV04_SCALED_IMAGE_FROM_MEMORY_POINT_Y_MASK                                    0xffff0000
3157
3158
3159 #define NV10_TEXTURE_FROM_CPU                                                           0x0000007b
3160
3161 #define  NV10_TEXTURE_FROM_CPU_NOP                                                      0x00000100
3162 #define  NV10_TEXTURE_FROM_CPU_NOTIFY                                                   0x00000104
3163 #define  NV10_TEXTURE_FROM_CPU_WAIT_FOR_IDLE                                            0x00000108
3164 #define  NV10_TEXTURE_FROM_CPU_PM_TRIGGER                                               0x00000140
3165 #define  NV10_TEXTURE_FROM_CPU_DMA_NOTIFY                                               0x00000180
3166 #define  NV10_TEXTURE_FROM_CPU_SURFACE                                                  0x00000184
3167 #define  NV10_TEXTURE_FROM_CPU_COLOR_FORMAT                                             0x00000300
3168 #define  NV10_TEXTURE_FROM_CPU_POINT                                                    0x00000304
3169 #define   NV10_TEXTURE_FROM_CPU_POINT_X_SHIFT                                           0
3170 #define   NV10_TEXTURE_FROM_CPU_POINT_X_MASK                                            0x0000ffff
3171 #define   NV10_TEXTURE_FROM_CPU_POINT_Y_SHIFT                                           16
3172 #define   NV10_TEXTURE_FROM_CPU_POINT_Y_MASK                                            0xffff0000
3173 #define  NV10_TEXTURE_FROM_CPU_SIZE                                                     0x00000308
3174 #define   NV10_TEXTURE_FROM_CPU_SIZE_W_SHIFT                                            0
3175 #define   NV10_TEXTURE_FROM_CPU_SIZE_W_MASK                                             0x0000ffff
3176 #define   NV10_TEXTURE_FROM_CPU_SIZE_H_SHIFT                                            16
3177 #define   NV10_TEXTURE_FROM_CPU_SIZE_H_MASK                                             0xffff0000
3178 #define  NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL                                          0x0000030c
3179 #define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_X_SHIFT                                 0
3180 #define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_X_MASK                                  0x0000ffff
3181 #define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_W_SHIFT                                 16
3182 #define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_W_MASK                                  0xffff0000
3183 #define  NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL                                            0x00000310
3184 #define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_Y_SHIFT                                   0
3185 #define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_Y_MASK                                    0x0000ffff
3186 #define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_H_SHIFT                                   16
3187 #define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_H_MASK                                    0xffff0000
3188 #define  NV10_TEXTURE_FROM_CPU_COLOR(x)                                                 (0x00000400+((x)*4))
3189 #define  NV10_TEXTURE_FROM_CPU_COLOR__SIZE                                              0x00000700
3190
3191
3192 #define NV10_VIDEO_DISPLAY                                                              0x0000007c
3193
3194
3195
3196 #define NV10_DVD_SUBPICTURE                                                             0x00000088
3197
3198
3199
3200 #define NV10_SCALED_IMAGE_FROM_MEMORY                                                   0x00000089
3201
3202 #define  NV10_SCALED_IMAGE_FROM_MEMORY_WAIT_FOR_IDLE                                    0x00000108
3203
3204
3205 #define NV10_IMAGE_FROM_CPU                                                             0x0000008a
3206
3207 #define  NV10_IMAGE_FROM_CPU_COLOR_CONVERSION                                           0x000002f8
3208
3209
3210 #define NV10_CONTEXT_SURFACES_3D                                                        0x00000093
3211
3212
3213
3214 #define NV10_DX5_TEXTURE_TRIANGLE                                                       0x00000094
3215
3216
3217
3218 #define NV10_DX6_MULTI_TEXTURE_TRIANGLE                                                 0x00000095
3219
3220
3221
3222 #define NV11_TCL_PRIMITIVE_3D                                                           0x00000096
3223
3224 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE                                    0x00000d40
3225 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP                                        0x00000d44
3226 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_CLEAR                                 0x00001500
3227 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND                                   0x00001501
3228 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_REVERSE                           0x00001502
3229 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY                                  0x00001503
3230 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_INVERTED                          0x00001504
3231 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOOP                                  0x00001505
3232 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_XOR                                   0x00001506
3233 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR                                    0x00001507
3234 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOR                                   0x00001508
3235 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_EQUIV                                 0x00001509
3236 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_INVERT                                0x0000150a
3237 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_REVERSE                            0x0000150b
3238 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY_INVERTED                         0x0000150c
3239 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_INVERTED                           0x0000150d
3240 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NAND                                  0x0000150e
3241 #define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_SET                                   0x0000150f
3242
3243
3244 #define NV20_TCL_PRIMITIVE_3D                                                           0x00000097
3245
3246 #define  NV20_TCL_PRIMITIVE_3D_NOP                                                      0x00000100
3247 #define  NV20_TCL_PRIMITIVE_3D_NOTIFY                                                   0x00000104
3248 #define  NV20_TCL_PRIMITIVE_3D_DMA_NOTIFY                                               0x00000180
3249 #define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY0                                           0x00000184
3250 #define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY1                                           0x00000188
3251 #define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY2                                           0x00000194
3252 #define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY3                                           0x00000198
3253 #define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY6                                           0x000001a4
3254 #define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY7                                           0x000001a8
3255 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                                           0x00000200
3256 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_VERT                                            0x00000204
3257 #define  NV20_TCL_PRIMITIVE_3D_BUFFER_FORMAT                                            0x00000208
3258 #define  NV20_TCL_PRIMITIVE_3D_BUFFER_PITCH                                             0x0000020c
3259 #define  NV20_TCL_PRIMITIVE_3D_COLOR_OFFSET                                             0x00000210
3260 #define  NV20_TCL_PRIMITIVE_3D_ZETA_OFFSET                                              0x00000214
3261 #define  NV20_TCL_PRIMITIVE_3D_RC_IN_ALPHA(x)                                           (0x00000260+((x)*4))
3262 #define  NV20_TCL_PRIMITIVE_3D_RC_IN_ALPHA__SIZE                                        0x00000008
3263 #define  NV20_TCL_PRIMITIVE_3D_RC_FINAL0                                                0x00000288
3264 #define  NV20_TCL_PRIMITIVE_3D_RC_FINAL1                                                0x0000028c
3265 #define  NV20_TCL_PRIMITIVE_3D_LIGHT_CONTROL                                            0x00000294
3266 #define  NV20_TCL_PRIMITIVE_3D_FOG_MODE                                                 0x0000029c
3267 #define  NV20_TCL_PRIMITIVE_3D_FOG_COORD_DIST                                           0x000002a0
3268 #define  NV20_TCL_PRIMITIVE_3D_FOG_ENABLE                                               0x000002a4
3269 #define  NV20_TCL_PRIMITIVE_3D_FOG_COLOR                                                0x000002a8
3270 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_MODE                                       0x000002b4
3271 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(x)                                   (0x000002c0+((x)*4))
3272 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ__SIZE                                0x00000008
3273 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(x)                                    (0x000002e0+((x)*4))
3274 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT__SIZE                                 0x00000008
3275 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE                                        0x00000300
3276 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE                                        0x00000304
3277 #define  NV20_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                                         0x00000308
3278 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                                        0x0000030c
3279 #define  NV20_TCL_PRIMITIVE_3D_DITHER_ENABLE                                            0x00000310
3280 #define  NV20_TCL_PRIMITIVE_3D_LIGHTING_ENABLE                                          0x00000314
3281 #define  NV20_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE                                  0x00000318
3282 #define  NV20_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                                       0x00000320
3283 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE                                    0x00000324
3284 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_ENABLE                                           0x0000032c
3285 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE                              0x00000330
3286 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE                               0x00000334
3287 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE                               0x00000338
3288 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                                          0x0000033c
3289 #define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NEVER                                   0x00000200
3290 #define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LESS                                    0x00000201
3291 #define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_EQUAL                                   0x00000202
3292 #define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LEQUAL                                  0x00000203
3293 #define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                                 0x00000204
3294 #define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                                 0x00000204
3295 #define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NOTEQUAL                                0x00000205
3296 #define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GEQUAL                                  0x00000206
3297 #define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_ALWAYS                                  0x00000207
3298 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                                           0x00000340
3299 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                                           0x00000344
3300 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ZERO                                     0x00000000
3301 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE                                      0x00000001
3302 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_COLOR                                0x00000300
3303 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR                      0x00000301
3304 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA                                0x00000302
3305 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA                      0x00000303
3306 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_ALPHA                                0x00000304
3307 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA                      0x00000305
3308 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_COLOR                                0x00000306
3309 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR                      0x00000307
3310 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE                       0x00000308
3311 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_COLOR                           0x00008001
3312 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR                 0x00008002
3313 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_ALPHA                           0x00008003
3314 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA                 0x00008004
3315 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                                           0x00000348
3316 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ZERO                                     0x00000000
3317 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE                                      0x00000001
3318 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_COLOR                                0x00000300
3319 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR                      0x00000301
3320 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA                                0x00000302
3321 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA                      0x00000303
3322 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_ALPHA                                0x00000304
3323 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA                      0x00000305
3324 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_COLOR                                0x00000306
3325 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR                      0x00000307
3326 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA_SATURATE                       0x00000308
3327 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_COLOR                           0x00008001
3328 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR                 0x00008002
3329 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_ALPHA                           0x00008003
3330 #define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA                 0x00008004
3331 #define  NV20_TCL_PRIMITIVE_3D_BLEND_COLOR                                              0x0000034c
3332 #define  NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION                                           0x00000350
3333 #define   NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_ADD                                 0x00008006
3334 #define   NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_MIN                                      0x00008007
3335 #define   NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_MAX                                      0x00008008
3336 #define   NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_SUBTRACT                            0x0000800a
3337 #define   NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT                    0x0000800b
3338 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC                                               0x00000354
3339 #define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_NEVER                                        0x00000200
3340 #define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_LESS                                         0x00000201
3341 #define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_EQUAL                                        0x00000202
3342 #define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_LEQUAL                                       0x00000203
3343 #define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                                      0x00000204
3344 #define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                                      0x00000204
3345 #define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_NOTEQUAL                                     0x00000205
3346 #define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_GEQUAL                                       0x00000206
3347 #define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_ALWAYS                                       0x00000207
3348 #define  NV20_TCL_PRIMITIVE_3D_COLOR_MASK                                               0x00000358
3349 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE                                       0x0000035c
3350 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_MASK                                             0x00000360
3351 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC                                        0x00000364
3352 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NEVER                                 0x00000200
3353 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LESS                                  0x00000201
3354 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_EQUAL                                 0x00000202
3355 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LEQUAL                                0x00000203
3356 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                               0x00000204
3357 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                               0x00000204
3358 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NOTEQUAL                              0x00000205
3359 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GEQUAL                                0x00000206
3360 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_ALWAYS                                0x00000207
3361 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_REF                                         0x00000368
3362 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_MASK                                        0x0000036c
3363 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL                                          0x00000370
3364 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_ZERO                                    0x00000000
3365 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INVERT                                  0x0000150a
3366 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_KEEP                                    0x00001e00
3367 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_REPLACE                                 0x00001e01
3368 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR                                    0x00001e02
3369 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR                                    0x00001e03
3370 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR_WRAP                               0x00008507
3371 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR_WRAP                               0x00008508
3372 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL                                         0x00000374
3373 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_ZERO                                   0x00000000
3374 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INVERT                                 0x0000150a
3375 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_KEEP                                   0x00001e00
3376 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_REPLACE                                0x00001e01
3377 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR                                   0x00001e02
3378 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR                                   0x00001e03
3379 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR_WRAP                              0x00008507
3380 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR_WRAP                              0x00008508
3381 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS                                         0x00000378
3382 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_ZERO                                   0x00000000
3383 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INVERT                                 0x0000150a
3384 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_KEEP                                   0x00001e00
3385 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_REPLACE                                0x00001e01
3386 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR                                   0x00001e02
3387 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR                                   0x00001e03
3388 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR_WRAP                              0x00008507
3389 #define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR_WRAP                              0x00008508
3390 #define  NV20_TCL_PRIMITIVE_3D_SHADE_MODEL                                              0x0000037c
3391 #define   NV20_TCL_PRIMITIVE_3D_SHADE_MODEL_FLAT                                        0x00001d00
3392 #define   NV20_TCL_PRIMITIVE_3D_SHADE_MODEL_SMOOTH                                      0x00001d01
3393 #define  NV20_TCL_PRIMITIVE_3D_LINE_WIDTH                                               0x00000380
3394 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR                                    0x00000384
3395 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS                                     0x00000388
3396 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                                       0x0000038c
3397 #define   NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_POINT                                0x00001b00
3398 #define   NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_LINE                                 0x00001b01
3399 #define   NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_FILL                                 0x00001b02
3400 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                                        0x00000390
3401 #define   NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_POINT                                 0x00001b00
3402 #define   NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_LINE                                  0x00001b01
3403 #define   NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_FILL                                  0x00001b02
3404 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                                         0x00000394
3405 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                                          0x00000398
3406 #define  NV20_TCL_PRIMITIVE_3D_CULL_FACE                                                0x0000039c
3407 #define   NV20_TCL_PRIMITIVE_3D_CULL_FACE_FRONT                                         0x00000404
3408 #define   NV20_TCL_PRIMITIVE_3D_CULL_FACE_BACK                                          0x00000405
3409 #define   NV20_TCL_PRIMITIVE_3D_CULL_FACE_FRONT_AND_BACK                                0x00000408
3410 #define  NV20_TCL_PRIMITIVE_3D_FRONT_FACE                                               0x000003a0
3411 #define   NV20_TCL_PRIMITIVE_3D_FRONT_FACE_CW                                           0x00000900
3412 #define   NV20_TCL_PRIMITIVE_3D_FRONT_FACE_CCW                                          0x00000901
3413 #define  NV20_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                                         0x000003a4
3414 #define  NV20_TCL_PRIMITIVE_3D_SEPARATE_SPECULAR_ENABLE                                 0x000003b8
3415 #define  NV20_TCL_PRIMITIVE_3D_ENABLED_LIGHTS                                           0x000003bc
3416 #define  NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(x)                                     (0x000003c0+((x)*4))
3417 #define  NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE__SIZE                                  0x00000010
3418 #define  NV20_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(x)                                      (0x00000420+((x)*4))
3419 #define  NV20_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE__SIZE                                   0x00000004
3420 #define  NV20_TCL_PRIMITIVE_3D_POINT_SIZE                                               0x0000043c
3421 #define  NV20_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX(x)                                      (0x00000480+((x)*4))
3422 #define  NV20_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX__SIZE                                   0x00000010
3423 #define  NV20_TCL_PRIMITIVE_3D_PROJECTION_MATRIX(x)                                     (0x00000680+((x)*4))
3424 #define  NV20_TCL_PRIMITIVE_3D_PROJECTION_MATRIX__SIZE                                  0x00000010
3425 #define  NV20_TCL_PRIMITIVE_3D_TX0_MATRIX(x)                                            (0x000006c0+((x)*4))
3426 #define  NV20_TCL_PRIMITIVE_3D_TX0_MATRIX__SIZE                                         0x00000010
3427 #define  NV20_TCL_PRIMITIVE_3D_TX1_MATRIX(x)                                            (0x00000700+((x)*4))
3428 #define  NV20_TCL_PRIMITIVE_3D_TX1_MATRIX__SIZE                                         0x00000010
3429 #define  NV20_TCL_PRIMITIVE_3D_TX2_MATRIX(x)                                            (0x00000740+((x)*4))
3430 #define  NV20_TCL_PRIMITIVE_3D_TX2_MATRIX__SIZE                                         0x00000010
3431 #define  NV20_TCL_PRIMITIVE_3D_TX3_MATRIX(x)                                            (0x00000780+((x)*4))
3432 #define  NV20_TCL_PRIMITIVE_3D_TX3_MATRIX__SIZE                                         0x00000010
3433 #define  NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT                                    0x000009c0
3434 #define  NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR                                      0x000009c4
3435 #define  NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC                                   0x000009c8
3436 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_X                                        0x00000a20
3437 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Y                                        0x00000a24
3438 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Z                                        0x00000a28
3439 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_W                                        0x00000a2c
3440 #define  NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER(x)                                       (0x00000a30+((x)*4))
3441 #define  NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER__SIZE                                    0x00000007
3442 #define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0(x)                                    (0x00000a60+((x)*4))
3443 #define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0__SIZE                                 0x00000008
3444 #define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1(x)                                    (0x00000a80+((x)*4))
3445 #define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1__SIZE                                 0x00000008
3446 #define  NV20_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(x)                                          (0x00000aa0+((x)*4))
3447 #define  NV20_TCL_PRIMITIVE_3D_RC_OUT_ALPHA__SIZE                                       0x00000008
3448 #define  NV20_TCL_PRIMITIVE_3D_RC_IN_RGB(x)                                             (0x00000ac0+((x)*4))
3449 #define  NV20_TCL_PRIMITIVE_3D_RC_IN_RGB__SIZE                                          0x00000008
3450 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_X                                        0x00000af0
3451 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Y                                        0x00000af4
3452 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Z                                        0x00000af8
3453 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_W                                        0x00000afc
3454 #define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST(x)                                        (0x00000b00+((x)*4))
3455 #define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST__SIZE                                     0x00000004
3456 #define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST(x)                                       (0x00000b80+((x)*4))
3457 #define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST__SIZE                                    0x00000004
3458 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_ENABLE                                   0x0000147c
3459 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN(x)                               (0x00001480+((x)*4))
3460 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN__SIZE                            0x00000020
3461 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_X                                          0x00001500
3462 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Y                                          0x00001504
3463 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Z                                          0x00001508
3464 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_X                                          0x00001518
3465 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Y                                          0x0000151c
3466 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Z                                          0x00001520
3467 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY                                         0x00001528
3468 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_X_SHIFT                                0
3469 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_X_MASK                                 0x0000ffff
3470 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_Y_SHIFT                                16
3471 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_Y_MASK                                 0xffff0000
3472 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_Z                                          0x0000152c
3473 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_Z_Z_SHIFT                                 0
3474 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_Z_Z_MASK                                  0x0000ffff
3475 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_X                                          0x00001530
3476 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Y                                          0x00001534
3477 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Z                                          0x00001538
3478 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                                         0x00001540
3479 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_SHIFT                                0
3480 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_MASK                                 0x0000ffff
3481 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_SHIFT                                16
3482 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_MASK                                 0xffff0000
3483 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                                          0x00001544
3484 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_SHIFT                                 0
3485 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_MASK                                  0x0000ffff
3486 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_X                                          0x00001550
3487 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_Y                                          0x00001554
3488 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_Z                                          0x00001558
3489 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_W                                          0x0000155c
3490 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_X                                          0x00001560
3491 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_Y                                          0x00001564
3492 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_Z                                          0x00001568
3493 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I                                            0x0000156c
3494 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_SHIFT                                   0
3495 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_MASK                                    0x000000ff
3496 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_SHIFT                                   8
3497 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_MASK                                    0x0000ff00
3498 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_SHIFT                                   16
3499 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_MASK                                    0x00ff0000
3500 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_SHIFT                                   24
3501 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_MASK                                    0xff000000
3502 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_X                                         0x00001580
3503 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_Y                                         0x00001584
3504 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_Z                                         0x00001588
3505 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I                                           0x0000158c
3506 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_R_SHIFT                                  0
3507 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_R_MASK                                   0x000000ff
3508 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_G_SHIFT                                  8
3509 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_G_MASK                                   0x0000ff00
3510 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_B_SHIFT                                  16
3511 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_B_MASK                                   0x00ff0000
3512 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_A_SHIFT                                  24
3513 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_A_MASK                                   0xff000000
3514 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S                                          0x00001590
3515 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T                                          0x00001594
3516 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I                                            0x00001598
3517 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_SHIFT                                   0
3518 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_MASK                                    0x0000ffff
3519 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_SHIFT                                   16
3520 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_MASK                                    0xffff0000
3521 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_S                                          0x000015a0
3522 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_T                                          0x000015a4
3523 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_R                                          0x000015a8
3524 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_Q                                          0x000015ac
3525 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST                                         0x000015b0
3526 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_SHIFT                                0
3527 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_MASK                                 0x0000ffff
3528 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_SHIFT                                16
3529 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_MASK                                 0xffff0000
3530 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ                                         0x000015b4
3531 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_SHIFT                                0
3532 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_MASK                                 0x0000ffff
3533 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_SHIFT                                16
3534 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_MASK                                 0xffff0000
3535 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S                                          0x000015b8
3536 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T                                          0x000015bc
3537 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I                                            0x000015c0
3538 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_SHIFT                                   0
3539 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_MASK                                    0x0000ffff
3540 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_SHIFT                                   16
3541 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_MASK                                    0xffff0000
3542 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_S                                          0x000015c8
3543 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_T                                          0x000015cc
3544 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_R                                          0x000015d0
3545 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_Q                                          0x000015d4
3546 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST                                         0x000015d8
3547 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_SHIFT                                0
3548 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_MASK                                 0x0000ffff
3549 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_SHIFT                                16
3550 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_MASK                                 0xffff0000
3551 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ                                         0x000015dc
3552 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_SHIFT                                0
3553 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_MASK                                 0x0000ffff
3554 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_SHIFT                                16
3555 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_MASK                                 0xffff0000
3556 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_S                                          0x000015e0
3557 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_T                                          0x000015e4
3558 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I                                            0x000015e8
3559 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_S_SHIFT                                   0
3560 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_S_MASK                                    0x0000ffff
3561 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_T_SHIFT                                   16
3562 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_T_MASK                                    0xffff0000
3563 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_S                                          0x000015f0
3564 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_T                                          0x000015f4
3565 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_R                                          0x000015f8
3566 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_Q                                          0x000015fc
3567 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST                                         0x00001600
3568 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_S_SHIFT                                0
3569 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_S_MASK                                 0x0000ffff
3570 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_T_SHIFT                                16
3571 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_T_MASK                                 0xffff0000
3572 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ                                         0x00001604
3573 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_R_SHIFT                                0
3574 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_R_MASK                                 0x0000ffff
3575 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_Q_SHIFT                                16
3576 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_Q_MASK                                 0xffff0000
3577 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_S                                          0x00001608
3578 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_T                                          0x0000160c
3579 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I                                            0x00001610
3580 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_S_SHIFT                                   0
3581 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_S_MASK                                    0x0000ffff
3582 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_T_SHIFT                                   16
3583 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_T_MASK                                    0xffff0000
3584 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_S                                          0x00001620
3585 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_T                                          0x00001624
3586 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_R                                          0x00001628
3587 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_Q                                          0x0000162c
3588 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST                                         0x00001630
3589 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_S_SHIFT                                0
3590 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_S_MASK                                 0x0000ffff
3591 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_T_SHIFT                                16
3592 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_T_MASK                                 0xffff0000
3593 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ                                         0x00001634
3594 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_R_SHIFT                                0
3595 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_R_MASK                                 0x0000ffff
3596 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_Q_SHIFT                                16
3597 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_Q_MASK                                 0xffff0000
3598 #define  NV20_TCL_PRIMITIVE_3D_EDGEFLAG_ENABLE                                          0x000016bc
3599 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR_OFFSET(x)                                    (0x00001720+((x)*4))
3600 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR_OFFSET__SIZE                                 0x00000010
3601 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT(x)                                   (0x00001760+((x)*4))
3602 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT__SIZE                                0x00000010
3603 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_SHIFT                          0
3604 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_MASK                           0x0000000f
3605 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_SHIFT                        4
3606 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_MASK                         0x000000f0
3607 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_SHIFT                        8
3608 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_MASK                         0x0000ff00
3609 #define  NV20_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE                                    0x000017bc
3610 #define  NV20_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP                                        0x000017c0
3611 #define  NV20_TCL_PRIMITIVE_3D_LIGHT_MODEL_TWO_SIDE_ENABLE                              0x000017c4
3612 #define  NV20_TCL_PRIMITIVE_3D_TX_SHADER_CULL_MODE                                      0x000017f8
3613 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END                                         0x000017fc
3614 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS                                0x00001810
3615 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_DATA                                        0x00001818
3616 #define  NV20_TCL_PRIMITIVE_3D_TX_OFFSET(x)                                             (0x00001b00+((x)*64))
3617 #define  NV20_TCL_PRIMITIVE_3D_TX_OFFSET__SIZE                                          0x00000004
3618 #define  NV20_TCL_PRIMITIVE_3D_TX_FORMAT(x)                                             (0x00001b04+((x)*64))
3619 #define  NV20_TCL_PRIMITIVE_3D_TX_FORMAT__SIZE                                          0x00000004
3620 #define  NV20_TCL_PRIMITIVE_3D_TX_WRAP(x)                                               (0x00001b08+((x)*64))
3621 #define  NV20_TCL_PRIMITIVE_3D_TX_WRAP__SIZE                                            0x00000004
3622 #define  NV20_TCL_PRIMITIVE_3D_TX_ENABLE(x)                                             (0x00001b0c+((x)*64))
3623 #define  NV20_TCL_PRIMITIVE_3D_TX_ENABLE__SIZE                                          0x00000004
3624 #define  NV20_TCL_PRIMITIVE_3D_TX_FILTER(x)                                             (0x00001b14+((x)*64))
3625 #define  NV20_TCL_PRIMITIVE_3D_TX_FILTER__SIZE                                          0x00000004
3626 #define  NV20_TCL_PRIMITIVE_3D_TX_BORDER_COLOR(x)                                       (0x00001b24+((x)*64))
3627 #define  NV20_TCL_PRIMITIVE_3D_TX_BORDER_COLOR__SIZE                                    0x00000004
3628 #define  NV20_TCL_PRIMITIVE_3D_SCISSOR_HORIZ                                            0x00001c30
3629 #define  NV20_TCL_PRIMITIVE_3D_SCISSOR_VERT                                             0x00001c50
3630 #define  NV20_TCL_PRIMITIVE_3D_CLEAR_VALUE                                              0x00001d90
3631 #define  NV20_TCL_PRIMITIVE_3D_CLEAR_BUFFERS                                            0x00001d94
3632 #define  NV20_TCL_PRIMITIVE_3D_RC_COLOR0                                                0x00001e20
3633 #define  NV20_TCL_PRIMITIVE_3D_RC_COLOR1                                                0x00001e24
3634 #define  NV20_TCL_PRIMITIVE_3D_RC_OUT_RGB(x)                                            (0x00001e40+((x)*4))
3635 #define  NV20_TCL_PRIMITIVE_3D_RC_OUT_RGB__SIZE                                         0x00000008
3636 #define  NV20_TCL_PRIMITIVE_3D_RC_ENABLE                                                0x00001e60
3637 #define  NV20_TCL_PRIMITIVE_3D_TX_SHADER_OP                                             0x00001e70
3638 #define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_ID                                       0x00001ea4
3639
3640
3641 #define NV17_TCL_PRIMITIVE_3D                                                           0x00000099
3642
3643 #define  NV17_TCL_PRIMITIVE_3D_DMA_IN_MEMORY4                                           0x000001ac
3644 #define  NV17_TCL_PRIMITIVE_3D_DMA_IN_MEMORY5                                           0x000001b0
3645 #define  NV17_TCL_PRIMITIVE_3D_COLOR_MASK_ENABLE                                        0x000002bc
3646 #define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_PITCH                                   0x00000d5c
3647 #define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_OFFSET                                  0x00000d60
3648 #define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_FILL_VALUE                                     0x00000d68
3649 #define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_CLEAR                                   0x00000d6c
3650 #define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_ENABLE                                         0x00001658
3651
3652
3653 #define NV20_SWIZZLED_SURFACE                                                           0x0000009e
3654
3655
3656
3657 #define NV12_IMAGE_BLIT                                                                 0x0000009f
3658
3659
3660
3661 #define NV30_CONTEXT_SURFACES_2D                                                        0x00000362
3662
3663
3664
3665 #define NV30_STRETCHED_IMAGE_FROM_CPU                                                   0x00000366
3666
3667
3668
3669 #define NV30_TEXTURE_FROM_CPU                                                           0x0000037b
3670
3671
3672
3673 #define NV30_SCALED_IMAGE_FROM_MEMORY                                                   0x00000389
3674
3675
3676
3677 #define NV30_IMAGE_FROM_CPU                                                             0x0000038a
3678
3679
3680
3681 #define NV30_TCL_PRIMITIVE_3D                                                           0x00000397
3682
3683
3684
3685 #define NV30_SWIZZLED_SURFACE                                                           0x0000039e
3686
3687
3688
3689 #define NV36_TCL_PRIMITIVE_3D                                                           0x00000497
3690
3691
3692
3693 #define NV25_TCL_PRIMITIVE_3D                                                           0x00000597
3694
3695 #define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY4                                           0x0000019c
3696 #define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY5                                           0x000001a0
3697 #define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY8                                           0x000001ac
3698 #define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY9                                           0x000001b0
3699
3700
3701 #define NV34_TCL_PRIMITIVE_3D                                                           0x00000697
3702
3703 #define  NV34_TCL_PRIMITIVE_3D_NOP                                                      0x00000100
3704 #define  NV34_TCL_PRIMITIVE_3D_NOTIFY                                                   0x00000104
3705 #define  NV34_TCL_PRIMITIVE_3D_DMA_NOTIFY                                               0x00000180
3706 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY0                                           0x00000184
3707 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY1                                           0x00000188
3708 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY2                                           0x0000018c
3709 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY3                                           0x00000194
3710 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY4                                           0x00000198
3711 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY5                                           0x000001a4
3712 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY6                                           0x000001a8
3713 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY7                                           0x000001ac
3714 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY8                                           0x000001b0
3715 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                                           0x00000200
3716 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_VERT                                            0x00000204
3717 #define  NV34_TCL_PRIMITIVE_3D_FORMAT                                                   0x00000208
3718 #define  NV34_TCL_PRIMITIVE_3D_PITCH                                                    0x0000020c
3719 #define   NV34_TCL_PRIMITIVE_3D_PITCH_COLOR_SHIFT                                       0
3720 #define   NV34_TCL_PRIMITIVE_3D_PITCH_COLOR_MASK                                        0x0000ffff
3721 #define   NV34_TCL_PRIMITIVE_3D_PITCH_ZETA_SHIFT                                        16
3722 #define   NV34_TCL_PRIMITIVE_3D_PITCH_ZETA_MASK                                         0xffff0000
3723 #define  NV34_TCL_PRIMITIVE_3D_COLOR_OFFSET                                             0x00000210
3724 #define  NV34_TCL_PRIMITIVE_3D_ZETA_OFFSET                                              0x00000214
3725 #define  NV34_TCL_PRIMITIVE_3D_COLOR1_OFFSET                                            0x00000218
3726 #define  NV34_TCL_PRIMITIVE_3D_COLOR1_PITCH                                             0x0000021c
3727 #define  NV34_TCL_PRIMITIVE_3D_LMA_DEPTH_PITCH                                          0x0000022c
3728 #define  NV34_TCL_PRIMITIVE_3D_LMA_DEPTH_OFFSET                                         0x00000230
3729 #define  NV34_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(x)                                      (0x00000240+((x)*4))
3730 #define  NV34_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE__SIZE                                   0x00000004
3731 #define  NV34_TCL_PRIMITIVE_3D_UNK0250(x)                                               (0x00000250+((x)*4))
3732 #define  NV34_TCL_PRIMITIVE_3D_UNK0250__SIZE                                            0x00000004
3733 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(x)                                   (0x000002c0+((x)*8))
3734 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ__SIZE                                0x00000008
3735 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(x)                                    (0x000002c4+((x)*8))
3736 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT__SIZE                                 0x00000008
3737 #define  NV34_TCL_PRIMITIVE_3D_DITHER_ENABLE                                            0x00000300
3738 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE                                        0x00000304
3739 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                                          0x00000308
3740 #define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NEVER                                   0x00000200
3741 #define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LESS                                    0x00000201
3742 #define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_EQUAL                                   0x00000202
3743 #define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LEQUAL                                  0x00000203
3744 #define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                                 0x00000204
3745 #define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                                 0x00000204
3746 #define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NOTEQUAL                                0x00000205
3747 #define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GEQUAL                                  0x00000206
3748 #define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_ALWAYS                                  0x00000207
3749 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                                           0x0000030c
3750 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE                                        0x00000310
3751 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                                           0x00000314
3752 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SHIFT                                0
3753 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_MASK                                 0x0000ffff
3754 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ZERO                                0x00000000
3755 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE                                 0x00000001
3756 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_COLOR                           0x00000300
3757 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR                 0x00000301
3758 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_ALPHA                           0x00000302
3759 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA                 0x00000303
3760 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_DST_ALPHA                           0x00000304
3761 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA                 0x00000305
3762 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_DST_COLOR                           0x00000306
3763 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR                 0x00000307
3764 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE                  0x00000308
3765 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR                      0x00008001
3766 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR            0x00008002
3767 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA                      0x00008003
3768 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA            0x00008004
3769 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SHIFT                              16
3770 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_MASK                               0xffff0000
3771 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ZERO                              0x00000000
3772 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE                               0x00010000
3773 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                         0x03000000
3774 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR               0x03010000
3775 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                         0x03020000
3776 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA               0x03030000
3777 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                         0x03040000
3778 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA               0x03050000
3779 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_DST_COLOR                         0x03060000
3780 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR               0x03070000
3781 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                0x03080000
3782 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR                    0x80010000
3783 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR          0x80020000
3784 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA                    0x80030000
3785 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA          0x80040000
3786 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                                           0x00000318
3787 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SHIFT                                0
3788 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_MASK                                 0x0000ffff
3789 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ZERO                                0x00000000
3790 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE                                 0x00000001
3791 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_COLOR                           0x00000300
3792 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR                 0x00000301
3793 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_ALPHA                           0x00000302
3794 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA                 0x00000303
3795 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_DST_ALPHA                           0x00000304
3796 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA                 0x00000305
3797 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_DST_COLOR                           0x00000306
3798 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR                 0x00000307
3799 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE                  0x00000308
3800 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_CONSTANT_COLOR                      0x00008001
3801 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR            0x00008002
3802 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA                      0x00008003
3803 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA            0x00008004
3804 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SHIFT                              16
3805 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_MASK                               0xffff0000
3806 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ZERO                              0x00000000
3807 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE                               0x00010000
3808 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_COLOR                         0x03000000
3809 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR               0x03010000
3810 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                         0x03020000
3811 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA               0x03030000
3812 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_DST_ALPHA                         0x03040000
3813 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA               0x03050000
3814 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_DST_COLOR                         0x03060000
3815 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR               0x03070000
3816 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                0x03080000
3817 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR                    0x80010000
3818 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR          0x80020000
3819 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                    0x80030000
3820 #define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA          0x80040000
3821 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_COLOR                                         0x0000031c
3822 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION                                      0x00000320
3823 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_FUNC_ADD                            0x00008006
3824 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_MIN                                 0x00008007
3825 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_MAX                                 0x00008008
3826 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_FUNC_SUBTRACT                       0x0000800a
3827 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_FUNC_REVERSE_SUBTRACT               0x0000800b
3828 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MASK                                               0x00000324
3829 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_B_SHIFT                                      0
3830 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_B_MASK                                       0x000000ff
3831 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_G_SHIFT                                      8
3832 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_G_MASK                                       0x0000ff00
3833 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_R_SHIFT                                      16
3834 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_R_MASK                                       0x00ff0000
3835 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_A_SHIFT                                      24
3836 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_A_MASK                                       0xff000000
3837 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_ENABLE                                      0x00000328
3838 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_MASK                                        0x0000032c
3839 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC                                   0x00000330
3840 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_NEVER                            0x00000200
3841 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_LESS                             0x00000201
3842 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_EQUAL                            0x00000202
3843 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_LEQUAL                           0x00000203
3844 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GREATER                          0x00000204
3845 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GREATER                          0x00000204
3846 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                         0x00000205
3847 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GEQUAL                           0x00000206
3848 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_ALWAYS                           0x00000207
3849 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_REF                                    0x00000334
3850 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_MASK                                   0x00000338
3851 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL                                     0x0000033c
3852 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_ZERO                               0x00000000
3853 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INVERT                             0x0000150a
3854 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_KEEP                               0x00001e00
3855 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_REPLACE                            0x00001e01
3856 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INCR                               0x00001e02
3857 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_DECR                               0x00001e03
3858 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INCR_WRAP                          0x00008507
3859 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_DECR_WRAP                          0x00008508
3860 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL                                    0x00000340
3861 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_ZERO                              0x00000000
3862 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INVERT                            0x0000150a
3863 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_KEEP                              0x00001e00
3864 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_REPLACE                           0x00001e01
3865 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INCR                              0x00001e02
3866 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_DECR                              0x00001e03
3867 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                         0x00008507
3868 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                         0x00008508
3869 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS                                    0x00000344
3870 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_ZERO                              0x00000000
3871 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INVERT                            0x0000150a
3872 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_KEEP                              0x00001e00
3873 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_REPLACE                           0x00001e01
3874 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INCR                              0x00001e02
3875 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_DECR                              0x00001e03
3876 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INCR_WRAP                         0x00008507
3877 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_DECR_WRAP                         0x00008508
3878 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_ENABLE                                     0x00000348
3879 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_MASK                                       0x0000034c
3880 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC                                  0x00000350
3881 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_NEVER                           0x00000200
3882 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_LESS                            0x00000201
3883 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_EQUAL                           0x00000202
3884 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_LEQUAL                          0x00000203
3885 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GREATER                         0x00000204
3886 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GREATER                         0x00000204
3887 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                        0x00000205
3888 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GEQUAL                          0x00000206
3889 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_ALWAYS                          0x00000207
3890 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_REF                                   0x00000354
3891 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_MASK                                  0x00000358
3892 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL                                    0x0000035c
3893 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_ZERO                              0x00000000
3894 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INVERT                            0x0000150a
3895 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_KEEP                              0x00001e00
3896 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_REPLACE                           0x00001e01
3897 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INCR                              0x00001e02
3898 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_DECR                              0x00001e03
3899 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INCR_WRAP                         0x00008507
3900 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_DECR_WRAP                         0x00008508
3901 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL                                   0x00000360
3902 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_ZERO                             0x00000000
3903 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INVERT                           0x0000150a
3904 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_KEEP                             0x00001e00
3905 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_REPLACE                          0x00001e01
3906 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INCR                             0x00001e02
3907 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_DECR                             0x00001e03
3908 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                        0x00008507
3909 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                        0x00008508
3910 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS                                   0x00000364
3911 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_ZERO                             0x00000000
3912 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INVERT                           0x0000150a
3913 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_KEEP                             0x00001e00
3914 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_REPLACE                          0x00001e01
3915 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INCR                             0x00001e02
3916 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_DECR                             0x00001e03
3917 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                        0x00008507
3918 #define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                        0x00008508
3919 #define  NV34_TCL_PRIMITIVE_3D_SHADE_MODEL                                              0x00000368
3920 #define   NV34_TCL_PRIMITIVE_3D_SHADE_MODEL_FLAT                                        0x00001d00
3921 #define   NV34_TCL_PRIMITIVE_3D_SHADE_MODEL_SMOOTH                                      0x00001d01
3922 #define  NV34_TCL_PRIMITIVE_3D_FOG_ENABLE                                               0x0000036c
3923 #define  NV34_TCL_PRIMITIVE_3D_FOG_COLOR                                                0x00000370
3924 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE                                    0x00000374
3925 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP                                        0x00000378
3926 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_CLEAR                                 0x00001500
3927 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND                                   0x00001501
3928 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_REVERSE                           0x00001502
3929 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY                                  0x00001503
3930 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_INVERTED                          0x00001504
3931 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOOP                                  0x00001505
3932 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_XOR                                   0x00001506
3933 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR                                    0x00001507
3934 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOR                                   0x00001508
3935 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_EQUIV                                 0x00001509
3936 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_INVERT                                0x0000150a
3937 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_REVERSE                            0x0000150b
3938 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY_INVERTED                         0x0000150c
3939 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_INVERTED                           0x0000150d
3940 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NAND                                  0x0000150e
3941 #define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_SET                                   0x0000150f
3942 #define  NV34_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                                         0x0000037c
3943 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                                         0x00000394
3944 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                                          0x00000398
3945 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_R                                   0x000003a0
3946 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_G                                   0x000003a4
3947 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_B                                   0x000003a8
3948 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_A                                   0x000003b4
3949 #define  NV34_TCL_PRIMITIVE_3D_LINE_WIDTH                                               0x000003b8
3950 #define  NV34_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                                       0x000003bc
3951 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(x)                                     (0x00000400+((x)*4))
3952 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE__SIZE                                  0x00000020
3953 #define  NV34_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX(x)                                      (0x00000480+((x)*4))
3954 #define  NV34_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX__SIZE                                   0x00000010
3955 #define  NV34_TCL_PRIMITIVE_3D_PROJECTION_MATRIX(x)                                     (0x00000680+((x)*4))
3956 #define  NV34_TCL_PRIMITIVE_3D_PROJECTION_MATRIX__SIZE                                  0x00000010
3957 #define  NV34_TCL_PRIMITIVE_3D_TX0_MATRIX(x)                                            (0x000006c0+((x)*4))
3958 #define  NV34_TCL_PRIMITIVE_3D_TX0_MATRIX__SIZE                                         0x00000010
3959 #define  NV34_TCL_PRIMITIVE_3D_TX1_MATRIX(x)                                            (0x00000700+((x)*4))
3960 #define  NV34_TCL_PRIMITIVE_3D_TX1_MATRIX__SIZE                                         0x00000010
3961 #define  NV34_TCL_PRIMITIVE_3D_TX2_MATRIX(x)                                            (0x00000740+((x)*4))
3962 #define  NV34_TCL_PRIMITIVE_3D_TX2_MATRIX__SIZE                                         0x00000010
3963 #define  NV34_TCL_PRIMITIVE_3D_TX3_MATRIX(x)                                            (0x00000780+((x)*4))
3964 #define  NV34_TCL_PRIMITIVE_3D_TX3_MATRIX__SIZE                                         0x00000010
3965 #define  NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ                                            0x000008c0
3966 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_X_SHIFT                                   0
3967 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_X_MASK                                    0x0000ffff
3968 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_W_SHIFT                                   16
3969 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_W_MASK                                    0xffff0000
3970 #define  NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT                                             0x000008c4
3971 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_Y_SHIFT                                    0
3972 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_Y_MASK                                     0x0000ffff
3973 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_H_SHIFT                                    16
3974 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_H_MASK                                     0xffff0000
3975 #define  NV34_TCL_PRIMITIVE_3D_FOG_COORD_DIST                                           0x000008c8
3976 #define  NV34_TCL_PRIMITIVE_3D_FOG_MODE                                                 0x000008cc
3977 #define  NV34_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT                                    0x000008d0
3978 #define  NV34_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR                                      0x000008d4
3979 #define  NV34_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC                                   0x000008d8
3980 #define  NV34_TCL_PRIMITIVE_3D_FP_ACTIVE_PROGRAM                                        0x000008e4
3981 #define  NV34_TCL_PRIMITIVE_3D_RC_COLOR0                                                0x000008ec
3982 #define  NV34_TCL_PRIMITIVE_3D_RC_COLOR1                                                0x000008f0
3983 #define  NV34_TCL_PRIMITIVE_3D_RC_FINAL0                                                0x000008f4
3984 #define  NV34_TCL_PRIMITIVE_3D_RC_FINAL1                                                0x000008f8
3985 #define  NV34_TCL_PRIMITIVE_3D_RC_ENABLE                                                0x000008fc
3986 #define  NV34_TCL_PRIMITIVE_3D_RC_IN_ALPHA(x)                                           (0x00000900+((x)*32))
3987 #define  NV34_TCL_PRIMITIVE_3D_RC_IN_ALPHA__SIZE                                        0x00000008
3988 #define  NV34_TCL_PRIMITIVE_3D_RC_IN_RGB(x)                                             (0x00000904+((x)*32))
3989 #define  NV34_TCL_PRIMITIVE_3D_RC_IN_RGB__SIZE                                          0x00000008
3990 #define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0(x)                                    (0x00000908+((x)*32))
3991 #define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0__SIZE                                 0x00000008
3992 #define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1(x)                                    (0x0000090c+((x)*32))
3993 #define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1__SIZE                                 0x00000008
3994 #define  NV34_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(x)                                          (0x00000910+((x)*32))
3995 #define  NV34_TCL_PRIMITIVE_3D_RC_OUT_ALPHA__SIZE                                       0x00000008
3996 #define  NV34_TCL_PRIMITIVE_3D_RC_OUT_RGB(x)                                            (0x00000914+((x)*32))
3997 #define  NV34_TCL_PRIMITIVE_3D_RC_OUT_RGB__SIZE                                         0x00000008
3998 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R   0x00000a10
3999 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G   0x00000a14
4000 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B   0x00000a18
4001 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_X                                        0x00000a20
4002 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Y                                        0x00000a24
4003 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Z                                        0x00000a28
4004 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_W                                        0x00000a2c
4005 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_X                                        0x00000a30
4006 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Y                                        0x00000a34
4007 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Z                                        0x00000a38
4008 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_W                                        0x00000a3c
4009 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE                               0x00000a60
4010 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE                               0x00000a64
4011 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE                              0x00000a68
4012 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC                                               0x00000a6c
4013 #define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_NEVER                                        0x00000200
4014 #define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_LESS                                         0x00000201
4015 #define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_EQUAL                                        0x00000202
4016 #define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_LEQUAL                                       0x00000203
4017 #define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                                      0x00000204
4018 #define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                                      0x00000204
4019 #define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_NOTEQUAL                                     0x00000205
4020 #define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_GEQUAL                                       0x00000206
4021 #define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_ALWAYS                                       0x00000207
4022 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE                                       0x00000a70
4023 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                                        0x00000a74
4024 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR                                    0x00000a78
4025 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS                                     0x00000a7c
4026 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                                         0x00000a90
4027 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_SHIFT                                0
4028 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_MASK                                 0x0000ffff
4029 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_SHIFT                                16
4030 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_MASK                                 0xffff0000
4031 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                                          0x00000a94
4032 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_SHIFT                                 0
4033 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_MASK                                  0x0000ffff
4034 #define  NV34_TCL_PRIMITIVE_3D_VP_UPLOAD_INST(x)                                        (0x00000b80+((x)*4))
4035 #define  NV34_TCL_PRIMITIVE_3D_VP_UPLOAD_INST__SIZE                                     0x00000004
4036 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_A(x)                                          (0x00000e00+((x)*16))
4037 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_A__SIZE                                       0x00000020
4038 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_B(x)                                          (0x00000e04+((x)*16))
4039 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_B__SIZE                                       0x00000020
4040 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_C(x)                                          (0x00000e08+((x)*16))
4041 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_C__SIZE                                       0x00000020
4042 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_D(x)                                          (0x00000e0c+((x)*16))
4043 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_D__SIZE                                       0x00000020
4044 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(x)                    (0x00001000+((x)*64))
4045 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R__SIZE                 0x00000008
4046 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(x)                    (0x00001004+((x)*64))
4047 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G__SIZE                 0x00000008
4048 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(x)                    (0x00001008+((x)*64))
4049 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B__SIZE                 0x00000008
4050 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(x)                    (0x0000100c+((x)*64))
4051 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R__SIZE                 0x00000008
4052 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(x)                    (0x00001010+((x)*64))
4053 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G__SIZE                 0x00000008
4054 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(x)                    (0x00001014+((x)*64))
4055 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B__SIZE                 0x00000008
4056 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(x)                   (0x00001018+((x)*64))
4057 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R__SIZE                0x00000008
4058 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(x)                   (0x0000101c+((x)*64))
4059 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G__SIZE                0x00000008
4060 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(x)                   (0x00001020+((x)*64))
4061 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B__SIZE                0x00000008
4062 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X(x)                                   (0x00001028+((x)*64))
4063 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X__SIZE                                0x00000008
4064 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y(x)                                   (0x0000102c+((x)*64))
4065 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y__SIZE                                0x00000008
4066 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z(x)                                   (0x00001030+((x)*64))
4067 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z__SIZE                                0x00000008
4068 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X(x)                                     (0x00001034+((x)*64))
4069 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X__SIZE                                  0x00000008
4070 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y(x)                                     (0x00001038+((x)*64))
4071 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y__SIZE                                  0x00000008
4072 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z(x)                                     (0x0000103c+((x)*64))
4073 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z__SIZE                                  0x00000008
4074 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A(x)                                   (0x00001200+((x)*64))
4075 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A__SIZE                                0x00000008
4076 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B(x)                                   (0x00001204+((x)*64))
4077 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B__SIZE                                0x00000008
4078 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C(x)                                   (0x00001208+((x)*64))
4079 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C__SIZE                                0x00000008
4080 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X(x)                                      (0x0000120c+((x)*64))
4081 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X__SIZE                                   0x00000008
4082 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y(x)                                      (0x00001210+((x)*64))
4083 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y__SIZE                                   0x00000008
4084 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z(x)                                      (0x00001214+((x)*64))
4085 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z__SIZE                                   0x00000008
4086 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D(x)                                   (0x00001218+((x)*64))
4087 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D__SIZE                                0x00000008
4088 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_X(x)                                      (0x0000121c+((x)*64))
4089 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_X__SIZE                                   0x00000008
4090 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y(x)                                      (0x00001220+((x)*64))
4091 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y__SIZE                                   0x00000008
4092 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z(x)                                      (0x00001224+((x)*64))
4093 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z__SIZE                                   0x00000008
4094 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT(x)                            (0x00001228+((x)*64))
4095 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT__SIZE                         0x00000008
4096 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR(x)                              (0x0000122c+((x)*64))
4097 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR__SIZE                           0x00000008
4098 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC(x)                           (0x00001230+((x)*64))
4099 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC__SIZE                        0x00000008
4100 #define  NV34_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS(x)                              (0x00001400+((x)*4))
4101 #define  NV34_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS__SIZE                           0x00000006
4102 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_ENABLE                                   0x0000147c
4103 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN(x)                               (0x00001480+((x)*4))
4104 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN__SIZE                            0x00000020
4105 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_X(x)                                      (0x00001500+((x)*16))
4106 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_X__SIZE                                   0x00000010
4107 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Y(x)                                      (0x00001504+((x)*16))
4108 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Y__SIZE                                   0x00000010
4109 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Z(x)                                      (0x00001508+((x)*16))
4110 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Z__SIZE                                   0x00000010
4111 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT(x)                                   (0x00001740+((x)*4))
4112 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT__SIZE                                0x0000000c
4113 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_SHIFT                          0
4114 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_MASK                           0x0000000f
4115 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_SHIFT                        4
4116 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_MASK                         0x000000f0
4117 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_SHIFT                        8
4118 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_MASK                         0x0000ff00
4119 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R    0x000017a0
4120 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G    0x000017a4
4121 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B    0x000017a8
4122 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_R                                    0x000017b0
4123 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_G                                    0x000017b4
4124 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_B                                    0x000017b8
4125 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_A                                    0x000017c0
4126 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END                                         0x00001808
4127 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_STOP                                   0x00000000
4128 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POINTS                                 0x00000001
4129 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINES                                  0x00000002
4130 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_LOOP                              0x00000003
4131 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_STRIP                             0x00000004
4132 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLES                              0x00000005
4133 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_STRIP                         0x00000006
4134 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_FAN                           0x00000007
4135 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUADS                                  0x00000008
4136 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUAD_STRIP                             0x00000009
4137 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POLYGON                                0x0000000a
4138 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_DATA                                              0x00001818
4139 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                                       0x00001828
4140 #define   NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_POINT                                0x00001b00
4141 #define   NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_LINE                                 0x00001b01
4142 #define   NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_FILL                                 0x00001b02
4143 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                                        0x0000182c
4144 #define   NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_POINT                                 0x00001b00
4145 #define   NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_LINE                                  0x00001b01
4146 #define   NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_FILL                                  0x00001b02
4147 #define  NV34_TCL_PRIMITIVE_3D_CULL_FACE                                                0x00001830
4148 #define   NV34_TCL_PRIMITIVE_3D_CULL_FACE_FRONT                                         0x00000404
4149 #define   NV34_TCL_PRIMITIVE_3D_CULL_FACE_BACK                                          0x00000405
4150 #define   NV34_TCL_PRIMITIVE_3D_CULL_FACE_FRONT_AND_BACK                                0x00000408
4151 #define  NV34_TCL_PRIMITIVE_3D_FRONT_FACE                                               0x00001834
4152 #define   NV34_TCL_PRIMITIVE_3D_FRONT_FACE_CW                                           0x00000900
4153 #define   NV34_TCL_PRIMITIVE_3D_FRONT_FACE_CCW                                          0x00000901
4154 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE                                    0x00001838
4155 #define  NV34_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                                         0x0000183c
4156 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_X(x)                                      (0x00001880+((x)*8))
4157 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_X__SIZE                                   0x00000010
4158 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_Y(x)                                      (0x00001884+((x)*8))
4159 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_Y__SIZE                                   0x00000010
4160 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I(x)                                        (0x00001900+((x)*4))
4161 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I__SIZE                                     0x00000010
4162 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I_Y_SHIFT                                  16
4163 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I_Y_MASK                                   0xffff0000
4164 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I_X_SHIFT                                  0
4165 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I_X_MASK                                   0x0000ffff
4166 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I(x)                                         (0x0000194c+((x)*4))
4167 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I__SIZE                                      0x00000002
4168 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_SHIFT                                   0
4169 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_MASK                                    0x000000ff
4170 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_SHIFT                                   8
4171 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_MASK                                    0x0000ff00
4172 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_SHIFT                                   16
4173 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_MASK                                    0x00ff0000
4174 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_SHIFT                                   24
4175 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_MASK                                    0xff000000
4176 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY                                         0x00001980
4177 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_X_SHIFT                                0
4178 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_X_MASK                                 0x0000ffff
4179 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_Y_SHIFT                                16
4180 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_Y_MASK                                 0xffff0000
4181 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW                                         0x00001984
4182 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_Z_SHIFT                                0
4183 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_Z_MASK                                 0x0000ffff
4184 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_W_SHIFT                                16
4185 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_W_MASK                                 0xffff0000
4186 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST(x)                                       (0x000019c0+((x)*8))
4187 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST__SIZE                                    0x00000004
4188 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_S_SHIFT                                 0
4189 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_S_MASK                                  0x0000ffff
4190 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_T_SHIFT                                 16
4191 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_T_MASK                                  0xffff0000
4192 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ(x)                                       (0x000019c4+((x)*8))
4193 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ__SIZE                                    0x00000004
4194 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_R_SHIFT                                 0
4195 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_R_MASK                                  0x0000ffff
4196 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_Q_SHIFT                                 16
4197 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_Q_MASK                                  0xffff0000
4198 #define  NV34_TCL_PRIMITIVE_3D_TX_OFFSET(x)                                             (0x00001a00+((x)*32))
4199 #define  NV34_TCL_PRIMITIVE_3D_TX_OFFSET__SIZE                                          0x00000004
4200 #define  NV34_TCL_PRIMITIVE_3D_TX_FORMAT(x)                                             (0x00001a04+((x)*32))
4201 #define  NV34_TCL_PRIMITIVE_3D_TX_FORMAT__SIZE                                          0x00000004
4202 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_CUBE_MAP                                      (1 <<  2)
4203 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_COMPONENTS_SHIFT                              4
4204 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_COMPONENTS_MASK                               0x000000f0
4205 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_SHIFT                                  8
4206 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_MASK                                   0x0000ff00
4207 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8                                    0x00000000
4208 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8                                    0x00000100
4209 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R5G5B5A1                              0x00000200
4210 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8_RECT                               0x00000300
4211 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R4G4B4A4                              0x00000400
4212 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8A8                              0x00000600
4213 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_X8R8G8B8                              0x00000700
4214 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_INDEX8                                0x00000b00
4215 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT1                                  0x00000c00
4216 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT3                                  0x00000e00
4217 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT5                                  0x00000f00
4218 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R5G5B5A1_RECT                         0x00001000
4219 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8A8_RECT                         0x00001200
4220 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8_RECT                               0x00001300
4221 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8A8                                  0x00001a00
4222 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8_RECT2                              0x00001b00
4223 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8_RECT                           0x00001e00
4224 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R4G4B4A4_RECT                         0x00001d00
4225 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8A8_RECT                             0x00002000
4226 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A16                                   0x00003200
4227 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A16_RECT                              0x00003500
4228 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV                       0x00004a00
4229 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV                       0x00004b00
4230 #define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_R32_NV                          0x00004c00
4231 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_NPOT                                          (1 << 12)
4232 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_RECT                                          (1 << 14)
4233 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_SHIFT                           16
4234 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_MASK                            0x000f0000
4235 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_SHIFT                             20
4236 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_MASK                              0x00f00000
4237 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_SHIFT                             24
4238 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_MASK                              0x0f000000
4239 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_W_SHIFT                             28
4240 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_W_MASK                              0xf0000000
4241 #define  NV34_TCL_PRIMITIVE_3D_TX_WRAP(x)                                               (0x00001a08+((x)*32))
4242 #define  NV34_TCL_PRIMITIVE_3D_TX_WRAP__SIZE                                            0x00000004
4243 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_SHIFT                                         0
4244 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_MASK                                          0x000000ff
4245 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_REPEAT                                       0x00000001
4246 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_MIRRORED_REPEAT                              0x00000002
4247 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_CLAMP_TO_EDGE                                0x00000003
4248 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_CLAMP_TO_BORDER                              0x00000004
4249 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_CLAMP                                        0x00000005
4250 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_SHIFT                                         8
4251 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_MASK                                          0x0000ff00
4252 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_REPEAT                                       0x00000100
4253 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_MIRRORED_REPEAT                              0x00000200
4254 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_CLAMP_TO_EDGE                                0x00000300
4255 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_CLAMP_TO_BORDER                              0x00000400
4256 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_CLAMP                                        0x00000500
4257 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_SHIFT                                         16
4258 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_MASK                                          0x00ff0000
4259 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_REPEAT                                       0x00010000
4260 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_MIRRORED_REPEAT                              0x00020000
4261 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_CLAMP_TO_EDGE                                0x00030000
4262 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_CLAMP_TO_BORDER                              0x00040000
4263 #define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_CLAMP                                        0x00050000
4264 #define  NV34_TCL_PRIMITIVE_3D_TX_ENABLE(x)                                             (0x00001a0c+((x)*32))
4265 #define  NV34_TCL_PRIMITIVE_3D_TX_ENABLE__SIZE                                          0x00000004
4266 #define   NV34_TCL_PRIMITIVE_3D_TX_ENABLE_ENABLE                                        (1 << 30)
4267 #define  NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE(x)                                            (0x00001a10+((x)*32))
4268 #define  NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE__SIZE                                         0x00000004
4269 #define   NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE_SWIZZLE_SHIFT                                0
4270 #define   NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE_SWIZZLE_MASK                                 0x0000ffff
4271 #define   NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE_RECT_PITCH_SHIFT                             16
4272 #define   NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE_RECT_PITCH_MASK                              0xffff0000
4273 #define  NV34_TCL_PRIMITIVE_3D_TX_FILTER(x)                                             (0x00001a14+((x)*32))
4274 #define  NV34_TCL_PRIMITIVE_3D_TX_FILTER__SIZE                                          0x00000004
4275 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_SHIFT                                  16
4276 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_MASK                                   0x000f0000
4277 #define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST                               0x00010000
4278 #define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR                                0x00020000
4279 #define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST                0x00030000
4280 #define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST                 0x00040000
4281 #define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR                 0x00050000
4282 #define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR                  0x00060000
4283 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_SHIFT                                 24
4284 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_MASK                                  0x0f000000
4285 #define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST                              0x01000000
4286 #define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR                               0x02000000
4287 #define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_NEAREST               0x03000000
4288 #define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_NEAREST                0x04000000
4289 #define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_LINEAR                0x05000000
4290 #define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_LINEAR                 0x06000000
4291 #define  NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE(x)                                          (0x00001a18+((x)*32))
4292 #define  NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE__SIZE                                       0x00000004
4293 #define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_SHIFT                                    0
4294 #define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_MASK                                     0x0000ffff
4295 #define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_SHIFT                                    16
4296 #define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_MASK                                     0xffff0000
4297 #define  NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR(x)                                       (0x00001a1c+((x)*32))
4298 #define  NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR__SIZE                                    0x00000004
4299 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_B_SHIFT                                 0
4300 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_B_MASK                                  0x000000ff
4301 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_G_SHIFT                                 8
4302 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_G_MASK                                  0x0000ff00
4303 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_R_SHIFT                                 16
4304 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_R_MASK                                  0x00ff0000
4305 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_A_SHIFT                                 24
4306 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_A_MASK                                  0xff000000
4307 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_X(x)                                      (0x00001c00+((x)*16))
4308 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_X__SIZE                                   0x00000010
4309 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Y(x)                                      (0x00001c04+((x)*16))
4310 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Y__SIZE                                   0x00000010
4311 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Z(x)                                      (0x00001c08+((x)*16))
4312 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Z__SIZE                                   0x00000010
4313 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_W(x)                                      (0x00001c0c+((x)*16))
4314 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_W__SIZE                                   0x00000010
4315 #define  NV34_TCL_PRIMITIVE_3D_CLEAR_DEPTH_VALUE                                        0x00001d8c
4316 #define  NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_ENABLE                                      0x00001db4
4317 #define  NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN                                     0x00001db8
4318 #define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_FACTOR_SHIFT                       0
4319 #define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_FACTOR_MASK                        0x0000ffff
4320 #define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_PATTERN_SHIFT                      16
4321 #define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_PATTERN_MASK                       0xffff0000
4322 #define  NV34_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS(x)                               (0x00001e20+((x)*4))
4323 #define  NV34_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS__SIZE                            0x00000006
4324 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_FOG_1F                                            0x00001e54
4325 #define  NV34_TCL_PRIMITIVE_3D_POINT_PARAMETERS(x)                                      (0x00001ec0+((x)*4))
4326 #define  NV34_TCL_PRIMITIVE_3D_POINT_PARAMETERS__SIZE                                   0x00000008
4327 #define  NV34_TCL_PRIMITIVE_3D_POINT_SIZE                                               0x00001ee0
4328 #define  NV34_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE                                  0x00001ee4
4329 #define  NV34_TCL_PRIMITIVE_3D_POINT_SPRITE                                             0x00001ee8
4330 #define  NV34_TCL_PRIMITIVE_3D_UNK1f80(x)                                               (0x00001f80+((x)*4))
4331 #define  NV34_TCL_PRIMITIVE_3D_UNK1f80__SIZE                                            0x00000010
4332
4333
4334 #define NV40_CONTEXT_SURFACES_2D                                                        0x00003062
4335
4336
4337
4338 #define NV40_STRETCHED_IMAGE_FROM_CPU                                                   0x00003066
4339
4340
4341
4342 #define NV40_TEXTURE_FROM_CPU                                                           0x0000307b
4343
4344
4345
4346 #define NV40_SCALED_IMAGE_FROM_MEMORY                                                   0x00003089
4347
4348
4349
4350 #define NV40_IMAGE_FROM_CPU                                                             0x0000308a
4351
4352
4353
4354 #define NV40_SWIZZLED_SURFACE                                                           0x0000309e
4355
4356
4357
4358 #define NV40TCL                                                                         0x00004097
4359
4360 #define  NV40TCL_REF_CNT                                                                0x00000050
4361 #define  NV40TCL_NOP                                                                    0x00000100
4362 #define  NV40TCL_NOTIFY                                                                 0x00000104
4363 #define  NV40TCL_DMA_NOTIFY                                                             0x00000180
4364 #define  NV40TCL_DMA_TEXTURE0                                                           0x00000184
4365 #define  NV40TCL_DMA_TEXTURE1                                                           0x00000188
4366 #define  NV40TCL_DMA_COLOR1                                                             0x0000018c
4367 #define  NV40TCL_DMA_COLOR0                                                             0x00000194
4368 #define  NV40TCL_DMA_ZETA                                                               0x00000198
4369 #define  NV40TCL_DMA_VTXBUF0                                                            0x0000019c
4370 #define  NV40TCL_DMA_VTXBUF1                                                            0x000001a0
4371 #define  NV40TCL_DMA_FENCE                                                              0x000001a4
4372 #define  NV40TCL_DMA_QUERY                                                              0x000001a8
4373 #define  NV40TCL_DMA_UNK01AC                                                            0x000001ac
4374 #define  NV40TCL_DMA_UNK01B0                                                            0x000001b0
4375 #define  NV40TCL_DMA_COLOR2                                                             0x000001b4
4376 #define  NV40TCL_DMA_COLOR3                                                             0x000001b8
4377 #define  NV40TCL_RT_HORIZ                                                               0x00000200
4378 #define   NV40TCL_RT_HORIZ_W_SHIFT                                                      16
4379 #define   NV40TCL_RT_HORIZ_W_MASK                                                       0xffff0000
4380 #define   NV40TCL_RT_HORIZ_X_SHIFT                                                      0
4381 #define   NV40TCL_RT_HORIZ_X_MASK                                                       0x0000ffff
4382 #define  NV40TCL_RT_VERT                                                                0x00000204
4383 #define   NV40TCL_RT_VERT_H_SHIFT                                                       16
4384 #define   NV40TCL_RT_VERT_H_MASK                                                        0xffff0000
4385 #define   NV40TCL_RT_VERT_Y_SHIFT                                                       0
4386 #define   NV40TCL_RT_VERT_Y_MASK                                                        0x0000ffff
4387 #define  NV40TCL_RT_FORMAT                                                              0x00000208
4388 #define   NV40TCL_RT_FORMAT_LOG2_HEIGHT_SHIFT                                           24
4389 #define   NV40TCL_RT_FORMAT_LOG2_HEIGHT_MASK                                            0xff000000
4390 #define   NV40TCL_RT_FORMAT_LOG2_WIDTH_SHIFT                                            16
4391 #define   NV40TCL_RT_FORMAT_LOG2_WIDTH_MASK                                             0x00ff0000
4392 #define   NV40TCL_RT_FORMAT_TYPE_SHIFT                                                  8
4393 #define   NV40TCL_RT_FORMAT_TYPE_MASK                                                   0x00000f00
4394 #define    NV40TCL_RT_FORMAT_TYPE_LINEAR                                                0x00000100
4395 #define    NV40TCL_RT_FORMAT_TYPE_SWIZZLED                                              0x00000200
4396 #define   NV40TCL_RT_FORMAT_ZETA_SHIFT                                                  5
4397 #define   NV40TCL_RT_FORMAT_ZETA_MASK                                                   0x000000e0
4398 #define    NV40TCL_RT_FORMAT_ZETA_Z16                                                   0x00000020
4399 #define    NV40TCL_RT_FORMAT_ZETA_Z24S8                                                 0x00000040
4400 #define   NV40TCL_RT_FORMAT_COLOR_SHIFT                                                 0
4401 #define   NV40TCL_RT_FORMAT_COLOR_MASK                                                  0x0000001f
4402 #define    NV40TCL_RT_FORMAT_COLOR_R5G6B5                                               0x00000003
4403 #define    NV40TCL_RT_FORMAT_COLOR_X8R8G8B8                                             0x00000005
4404 #define    NV40TCL_RT_FORMAT_COLOR_A8R8G8B8                                             0x00000008
4405 #define    NV40TCL_RT_FORMAT_COLOR_B8                                                   0x00000009
4406 #define  NV40TCL_COLOR0_PITCH                                                           0x0000020c
4407 #define  NV40TCL_COLOR0_OFFSET                                                          0x00000210
4408 #define  NV40TCL_ZETA_OFFSET                                                            0x00000214
4409 #define  NV40TCL_COLOR1_OFFSET                                                          0x00000218
4410 #define  NV40TCL_COLOR1_PITCH                                                           0x0000021c
4411 #define  NV40TCL_RT_ENABLE                                                              0x00000220
4412 #define   NV40TCL_RT_ENABLE_MRT                                                         (1 <<  4)
4413 #define   NV40TCL_RT_ENABLE_COLOR3                                                      (1 <<  3)
4414 #define   NV40TCL_RT_ENABLE_COLOR2                                                      (1 <<  2)
4415 #define   NV40TCL_RT_ENABLE_COLOR1                                                      (1 <<  1)
4416 #define   NV40TCL_RT_ENABLE_COLOR0                                                      (1 <<  0)
4417 #define  NV40TCL_ZETA_PITCH                                                             0x0000022c
4418 #define  NV40TCL_COLOR2_PITCH                                                           0x00000280
4419 #define  NV40TCL_COLOR3_PITCH                                                           0x00000284
4420 #define  NV40TCL_COLOR2_OFFSET                                                          0x00000288
4421 #define  NV40TCL_COLOR3_OFFSET                                                          0x0000028c
4422 #define  NV40TCL_VIEWPORT_CLIP_HORIZ(x)                                                 (0x000002c0+((x)*8))
4423 #define  NV40TCL_VIEWPORT_CLIP_HORIZ__SIZE                                              0x00000008
4424 #define  NV40TCL_VIEWPORT_CLIP_VERT(x)                                                  (0x000002c4+((x)*8))
4425 #define  NV40TCL_VIEWPORT_CLIP_VERT__SIZE                                               0x00000008
4426 #define  NV40TCL_DITHER_ENABLE                                                          0x00000300
4427 #define  NV40TCL_ALPHA_TEST_ENABLE                                                      0x00000304
4428 #define  NV40TCL_ALPHA_TEST_FUNC                                                        0x00000308
4429 #define   NV40TCL_ALPHA_TEST_FUNC_NEVER                                                 0x00000200
4430 #define   NV40TCL_ALPHA_TEST_FUNC_LESS                                                  0x00000201
4431 #define   NV40TCL_ALPHA_TEST_FUNC_EQUAL                                                 0x00000202
4432 #define   NV40TCL_ALPHA_TEST_FUNC_LEQUAL                                                0x00000203
4433 #define   NV40TCL_ALPHA_TEST_FUNC_GREATER                                               0x00000204
4434 #define   NV40TCL_ALPHA_TEST_FUNC_GREATER                                               0x00000204
4435 #define   NV40TCL_ALPHA_TEST_FUNC_NOTEQUAL                                              0x00000205
4436 #define   NV40TCL_ALPHA_TEST_FUNC_GEQUAL                                                0x00000206
4437 #define   NV40TCL_ALPHA_TEST_FUNC_ALWAYS                                                0x00000207
4438 #define  NV40TCL_ALPHA_TEST_REF                                                         0x0000030c
4439 #define  NV40TCL_BLEND_ENABLE                                                           0x00000310
4440 #define  NV40TCL_BLEND_FUNC_SRC                                                         0x00000314
4441 #define   NV40TCL_BLEND_FUNC_SRC_RGB_SHIFT                                              0
4442 #define   NV40TCL_BLEND_FUNC_SRC_RGB_MASK                                               0x0000ffff
4443 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ZERO                                              0x00000000
4444 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE                                               0x00000001
4445 #define    NV40TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR                                         0x00000300
4446 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR                               0x00000301
4447 #define    NV40TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA                                         0x00000302
4448 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA                               0x00000303
4449 #define    NV40TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA                                         0x00000304
4450 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA                               0x00000305
4451 #define    NV40TCL_BLEND_FUNC_SRC_RGB_DST_COLOR                                         0x00000306
4452 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR                               0x00000307
4453 #define    NV40TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE                                0x00000308
4454 #define    NV40TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR                                    0x00008001
4455 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR                          0x00008002
4456 #define    NV40TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA                                    0x00008003
4457 #define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA                          0x00008004
4458 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_SHIFT                                            16
4459 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_MASK                                             0xffff0000
4460 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ZERO                                            0x00000000
4461 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE                                             0x00010000
4462 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                                       0x03000000
4463 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR                             0x03010000
4464 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                                       0x03020000
4465 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA                             0x03030000
4466 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                                       0x03040000
4467 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA                             0x03050000
4468 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR                                       0x03060000
4469 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR                             0x03070000
4470 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                              0x03080000
4471 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR                                  0x80010000
4472 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR                        0x80020000
4473 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA                                  0x80030000
4474 #define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA                        0x80040000
4475 #define  NV40TCL_BLEND_FUNC_DST                                                         0x00000318
4476 #define   NV40TCL_BLEND_FUNC_DST_RGB_SHIFT                                              0
4477 #define   NV40TCL_BLEND_FUNC_DST_RGB_MASK                                               0x0000ffff
4478 #define    NV40TCL_BLEND_FUNC_DST_RGB_ZERO                                              0x00000000
4479 #define    NV40TCL_BLEND_FUNC_DST_RGB_ONE                                               0x00000001
4480 #define    NV40TCL_BLEND_FUNC_DST_RGB_SRC_COLOR                                         0x00000300
4481 #define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR                               0x00000301
4482 #define    NV40TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA                                         0x00000302
4483 #define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA                               0x00000303
4484 #define    NV40TCL_BLEND_FUNC_DST_RGB_DST_ALPHA                                         0x00000304
4485 #define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA                               0x00000305
4486 #define    NV40TCL_BLEND_FUNC_DST_RGB_DST_COLOR                                         0x00000306
4487 #define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR                               0x00000307
4488 #define    NV40TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE                                0x00000308
4489 #define    NV40TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR                                    0x00008001
4490 #define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR                          0x00008002
4491 #define    NV40TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA                                    0x00008003
4492 #define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA                          0x00008004
4493 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_SHIFT                                            16
4494 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_MASK                                             0xffff0000
4495 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ZERO                                            0x00000000
4496 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE                                             0x00010000
4497 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR                                       0x03000000
4498 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR                             0x03010000
4499 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                                       0x03020000
4500 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA                             0x03030000
4501 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA                                       0x03040000
4502 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA                             0x03050000
4503 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR                                       0x03060000
4504 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR                             0x03070000
4505 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                              0x03080000
4506 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR                                  0x80010000
4507 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR                        0x80020000
4508 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                                  0x80030000
4509 #define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA                        0x80040000
4510 #define  NV40TCL_BLEND_COLOR                                                            0x0000031c
4511 #define  NV40TCL_BLEND_EQUATION                                                         0x00000320
4512 #define   NV40TCL_BLEND_EQUATION_RGB_SHIFT                                              0
4513 #define   NV40TCL_BLEND_EQUATION_RGB_MASK                                               0x0000ffff
4514 #define    NV40TCL_BLEND_EQUATION_RGB_FUNC_ADD                                          0x00008006
4515 #define    NV40TCL_BLEND_EQUATION_RGB_MIN                                               0x00008007
4516 #define    NV40TCL_BLEND_EQUATION_RGB_MAX                                               0x00008008
4517 #define    NV40TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT                                     0x0000800a
4518 #define    NV40TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT                             0x0000800b
4519 #define   NV40TCL_BLEND_EQUATION_ALPHA_SHIFT                                            16
4520 #define   NV40TCL_BLEND_EQUATION_ALPHA_MASK                                             0xffff0000
4521 #define    NV40TCL_BLEND_EQUATION_ALPHA_FUNC_ADD                                        0x80060000
4522 #define    NV40TCL_BLEND_EQUATION_ALPHA_MIN                                             0x80070000
4523 #define    NV40TCL_BLEND_EQUATION_ALPHA_MAX                                             0x80080000
4524 #define    NV40TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT                                   0x800a0000
4525 #define    NV40TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT                           0x800b0000
4526 #define  NV40TCL_COLOR_MASK                                                             0x00000324
4527 #define   NV40TCL_COLOR_MASK_BUFFER0_B_SHIFT                                            0
4528 #define   NV40TCL_COLOR_MASK_BUFFER0_B_MASK                                             0x000000ff
4529 #define   NV40TCL_COLOR_MASK_BUFFER0_G_SHIFT                                            8
4530 #define   NV40TCL_COLOR_MASK_BUFFER0_G_MASK                                             0x0000ff00
4531 #define   NV40TCL_COLOR_MASK_BUFFER0_R_SHIFT                                            16
4532 #define   NV40TCL_COLOR_MASK_BUFFER0_R_MASK                                             0x00ff0000
4533 #define   NV40TCL_COLOR_MASK_BUFFER0_A_SHIFT                                            24
4534 #define   NV40TCL_COLOR_MASK_BUFFER0_A_MASK                                             0xff000000
4535 #define  NV40TCL_STENCIL_BACK_ENABLE                                                    0x00000328
4536 #define  NV40TCL_STENCIL_BACK_MASK                                                      0x0000032c
4537 #define  NV40TCL_STENCIL_BACK_FUNC_FUNC                                                 0x00000330
4538 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_NEVER                                          0x00000200
4539 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_LESS                                           0x00000201
4540 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_EQUAL                                          0x00000202
4541 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL                                         0x00000203
4542 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                        0x00000204
4543 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                        0x00000204
4544 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                                       0x00000205
4545 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL                                         0x00000206
4546 #define   NV40TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS                                         0x00000207
4547 #define  NV40TCL_STENCIL_BACK_FUNC_REF                                                  0x00000334
4548 #define  NV40TCL_STENCIL_BACK_FUNC_MASK                                                 0x00000338
4549 #define  NV40TCL_STENCIL_BACK_OP_FAIL                                                   0x0000033c
4550 #define   NV40TCL_STENCIL_BACK_OP_FAIL_ZERO                                             0x00000000
4551 #define   NV40TCL_STENCIL_BACK_OP_FAIL_INVERT                                           0x0000150a
4552 #define   NV40TCL_STENCIL_BACK_OP_FAIL_KEEP                                             0x00001e00
4553 #define   NV40TCL_STENCIL_BACK_OP_FAIL_REPLACE                                          0x00001e01
4554 #define   NV40TCL_STENCIL_BACK_OP_FAIL_INCR                                             0x00001e02
4555 #define   NV40TCL_STENCIL_BACK_OP_FAIL_DECR                                             0x00001e03
4556 #define   NV40TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP                                        0x00008507
4557 #define   NV40TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP                                        0x00008508
4558 #define  NV40TCL_STENCIL_BACK_OP_ZFAIL                                                  0x00000340
4559 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_ZERO                                            0x00000000
4560 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_INVERT                                          0x0000150a
4561 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_KEEP                                            0x00001e00
4562 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_REPLACE                                         0x00001e01
4563 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_INCR                                            0x00001e02
4564 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_DECR                                            0x00001e03
4565 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                                       0x00008507
4566 #define   NV40TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                                       0x00008508
4567 #define  NV40TCL_STENCIL_BACK_OP_ZPASS                                                  0x00000344
4568 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_ZERO                                            0x00000000
4569 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_INVERT                                          0x0000150a
4570 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_KEEP                                            0x00001e00
4571 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_REPLACE                                         0x00001e01
4572 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_INCR                                            0x00001e02
4573 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_DECR                                            0x00001e03
4574 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP                                       0x00008507
4575 #define   NV40TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP                                       0x00008508
4576 #define  NV40TCL_STENCIL_FRONT_ENABLE                                                   0x00000348
4577 #define  NV40TCL_STENCIL_FRONT_MASK                                                     0x0000034c
4578 #define  NV40TCL_STENCIL_FRONT_FUNC_FUNC                                                0x00000350
4579 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_NEVER                                         0x00000200
4580 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_LESS                                          0x00000201
4581 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL                                         0x00000202
4582 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL                                        0x00000203
4583 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                       0x00000204
4584 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                       0x00000204
4585 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                                      0x00000205
4586 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL                                        0x00000206
4587 #define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS                                        0x00000207
4588 #define  NV40TCL_STENCIL_FRONT_FUNC_REF                                                 0x00000354
4589 #define  NV40TCL_STENCIL_FRONT_FUNC_MASK                                                0x00000358
4590 #define  NV40TCL_STENCIL_FRONT_OP_FAIL                                                  0x0000035c
4591 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_ZERO                                            0x00000000
4592 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_INVERT                                          0x0000150a
4593 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_KEEP                                            0x00001e00
4594 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_REPLACE                                         0x00001e01
4595 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_INCR                                            0x00001e02
4596 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_DECR                                            0x00001e03
4597 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP                                       0x00008507
4598 #define   NV40TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP                                       0x00008508
4599 #define  NV40TCL_STENCIL_FRONT_OP_ZFAIL                                                 0x00000360
4600 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_ZERO                                           0x00000000
4601 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_INVERT                                         0x0000150a
4602 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_KEEP                                           0x00001e00
4603 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE                                        0x00001e01
4604 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_INCR                                           0x00001e02
4605 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_DECR                                           0x00001e03
4606 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                                      0x00008507
4607 #define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                                      0x00008508
4608 #define  NV40TCL_STENCIL_FRONT_OP_ZPASS                                                 0x00000364
4609 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_ZERO                                           0x00000000
4610 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_INVERT                                         0x0000150a
4611 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_KEEP                                           0x00001e00
4612 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_REPLACE                                        0x00001e01
4613 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_INCR                                           0x00001e02
4614 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_DECR                                           0x00001e03
4615 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                                      0x00008507
4616 #define   NV40TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                                      0x00008508
4617 #define  NV40TCL_SHADE_MODEL                                                            0x00000368
4618 #define   NV40TCL_SHADE_MODEL_FLAT                                                      0x00001d00
4619 #define   NV40TCL_SHADE_MODEL_SMOOTH                                                    0x00001d01
4620 #define  NV40TCL_MRT_COLOR_MASK                                                         0x00000370
4621 #define   NV40TCL_MRT_COLOR_MASK_BUFFER1_A                                              (1 <<  4)
4622 #define   NV40TCL_MRT_COLOR_MASK_BUFFER1_R                                              (1 <<  5)
4623 #define   NV40TCL_MRT_COLOR_MASK_BUFFER1_G                                              (1 <<  6)
4624 #define   NV40TCL_MRT_COLOR_MASK_BUFFER1_B                                              (1 <<  7)
4625 #define   NV40TCL_MRT_COLOR_MASK_BUFFER2_A                                              (1 <<  8)
4626 #define   NV40TCL_MRT_COLOR_MASK_BUFFER2_R                                              (1 <<  9)
4627 #define   NV40TCL_MRT_COLOR_MASK_BUFFER2_G                                              (1 << 10)
4628 #define   NV40TCL_MRT_COLOR_MASK_BUFFER2_B                                              (1 << 11)
4629 #define   NV40TCL_MRT_COLOR_MASK_BUFFER3_A                                              (1 << 12)
4630 #define   NV40TCL_MRT_COLOR_MASK_BUFFER3_R                                              (1 << 13)
4631 #define   NV40TCL_MRT_COLOR_MASK_BUFFER3_G                                              (1 << 14)
4632 #define   NV40TCL_MRT_COLOR_MASK_BUFFER3_B                                              (1 << 15)
4633 #define  NV40TCL_COLOR_LOGIC_OP_ENABLE                                                  0x00000374
4634 #define  NV40TCL_COLOR_LOGIC_OP                                                         0x00000378
4635 #define   NV40TCL_COLOR_LOGIC_OP_CLEAR                                                  0x00001500
4636 #define   NV40TCL_COLOR_LOGIC_OP_AND                                                    0x00001501
4637 #define   NV40TCL_COLOR_LOGIC_OP_AND_REVERSE                                            0x00001502
4638 #define   NV40TCL_COLOR_LOGIC_OP_COPY                                                   0x00001503
4639 #define   NV40TCL_COLOR_LOGIC_OP_AND_INVERTED                                           0x00001504
4640 #define   NV40TCL_COLOR_LOGIC_OP_NOOP                                                   0x00001505
4641 #define   NV40TCL_COLOR_LOGIC_OP_XOR                                                    0x00001506
4642 #define   NV40TCL_COLOR_LOGIC_OP_OR                                                     0x00001507
4643 #define   NV40TCL_COLOR_LOGIC_OP_NOR                                                    0x00001508
4644 #define   NV40TCL_COLOR_LOGIC_OP_EQUIV                                                  0x00001509
4645 #define   NV40TCL_COLOR_LOGIC_OP_INVERT                                                 0x0000150a
4646 #define   NV40TCL_COLOR_LOGIC_OP_OR_REVERSE                                             0x0000150b
4647 #define   NV40TCL_COLOR_LOGIC_OP_COPY_INVERTED                                          0x0000150c
4648 #define   NV40TCL_COLOR_LOGIC_OP_OR_INVERTED                                            0x0000150d
4649 #define   NV40TCL_COLOR_LOGIC_OP_NAND                                                   0x0000150e
4650 #define   NV40TCL_COLOR_LOGIC_OP_SET                                                    0x0000150f
4651 #define  NV40TCL_DEPTH_RANGE_NEAR                                                       0x00000394
4652 #define  NV40TCL_DEPTH_RANGE_FAR                                                        0x00000398
4653 #define  NV40TCL_LINE_WIDTH                                                             0x000003b8
4654 #define  NV40TCL_LINE_SMOOTH_ENABLE                                                     0x000003bc
4655 #define  NV40TCL_UNK03C0(x)                                                             (0x000003c0+((x)*4))
4656 #define  NV40TCL_UNK03C0__SIZE                                                          0x00000010
4657 #define  NV40TCL_UNK0400(x)                                                             (0x00000400+((x)*4))
4658 #define  NV40TCL_UNK0400__SIZE                                                          0x00000010
4659 #define  NV40TCL_UNK0440(x)                                                             (0x00000440+((x)*4))
4660 #define  NV40TCL_UNK0440__SIZE                                                          0x00000020
4661 #define  NV40TCL_SCISSOR_HORIZ                                                          0x000008c0
4662 #define   NV40TCL_SCISSOR_HORIZ_X_SHIFT                                                 0
4663 #define   NV40TCL_SCISSOR_HORIZ_X_MASK                                                  0x0000ffff
4664 #define   NV40TCL_SCISSOR_HORIZ_W_SHIFT                                                 16
4665 #define   NV40TCL_SCISSOR_HORIZ_W_MASK                                                  0xffff0000
4666 #define  NV40TCL_SCISSOR_VERT                                                           0x000008c4
4667 #define   NV40TCL_SCISSOR_VERT_Y_SHIFT                                                  0
4668 #define   NV40TCL_SCISSOR_VERT_Y_MASK                                                   0x0000ffff
4669 #define   NV40TCL_SCISSOR_VERT_H_SHIFT                                                  16
4670 #define   NV40TCL_SCISSOR_VERT_H_MASK                                                   0xffff0000
4671 #define  NV40TCL_FOG_MODE                                                               0x000008cc
4672 #define  NV40TCL_FOG_EQUATION_CONSTANT                                                  0x000008d0
4673 #define  NV40TCL_FOG_EQUATION_LINEAR                                                    0x000008d4
4674 #define  NV40TCL_FOG_EQUATION_QUADRATIC                                                 0x000008d8
4675 #define  NV40TCL_FP_ADDRESS                                                             0x000008e4
4676 #define   NV40TCL_FP_ADDRESS_OFFSET_SHIFT                                               8
4677 #define   NV40TCL_FP_ADDRESS_OFFSET_MASK                                                0xffffff00
4678 #define   NV40TCL_FP_ADDRESS_DMA1                                                       (1 <<  1)
4679 #define   NV40TCL_FP_ADDRESS_DMA0                                                       (1 <<  0)
4680 #define  NV40TCL_VIEWPORT_HORIZ                                                         0x00000a00
4681 #define   NV40TCL_VIEWPORT_HORIZ_W_SHIFT                                                16
4682 #define   NV40TCL_VIEWPORT_HORIZ_W_MASK                                                 0xffff0000
4683 #define   NV40TCL_VIEWPORT_HORIZ_X_SHIFT                                                0
4684 #define   NV40TCL_VIEWPORT_HORIZ_X_MASK                                                 0x0000ffff
4685 #define  NV40TCL_VIEWPORT_VERT                                                          0x00000a04
4686 #define   NV40TCL_VIEWPORT_VERT_H_SHIFT                                                 16
4687 #define   NV40TCL_VIEWPORT_VERT_H_MASK                                                  0xffff0000
4688 #define   NV40TCL_VIEWPORT_VERT_Y_SHIFT                                                 0
4689 #define   NV40TCL_VIEWPORT_VERT_Y_MASK                                                  0x0000ffff
4690 #define  NV40TCL_VIEWPORT_TRANSLATE_X                                                   0x00000a20
4691 #define  NV40TCL_VIEWPORT_TRANSLATE_Y                                                   0x00000a24
4692 #define  NV40TCL_VIEWPORT_TRANSLATE_Z                                                   0x00000a28
4693 #define  NV40TCL_VIEWPORT_TRANSLATE_W                                                   0x00000a2c
4694 #define  NV40TCL_VIEWPORT_SCALE_X                                                       0x00000a30
4695 #define  NV40TCL_VIEWPORT_SCALE_Y                                                       0x00000a34
4696 #define  NV40TCL_VIEWPORT_SCALE_Z                                                       0x00000a38
4697 #define  NV40TCL_VIEWPORT_SCALE_W                                                       0x00000a3c
4698 #define  NV40TCL_POLYGON_OFFSET_FILL_ENABLE                                             0x00000a60
4699 #define  NV40TCL_POLYGON_OFFSET_LINE_ENABLE                                             0x00000a64
4700 #define  NV40TCL_POLYGON_OFFSET_POINT_ENABLE                                            0x00000a68
4701 #define  NV40TCL_DEPTH_FUNC                                                             0x00000a6c
4702 #define   NV40TCL_DEPTH_FUNC_NEVER                                                      0x00000200
4703 #define   NV40TCL_DEPTH_FUNC_LESS                                                       0x00000201
4704 #define   NV40TCL_DEPTH_FUNC_EQUAL                                                      0x00000202
4705 #define   NV40TCL_DEPTH_FUNC_LEQUAL                                                     0x00000203
4706 #define   NV40TCL_DEPTH_FUNC_GREATER                                                    0x00000204
4707 #define   NV40TCL_DEPTH_FUNC_GREATER                                                    0x00000204
4708 #define   NV40TCL_DEPTH_FUNC_NOTEQUAL                                                   0x00000205
4709 #define   NV40TCL_DEPTH_FUNC_GEQUAL                                                     0x00000206
4710 #define   NV40TCL_DEPTH_FUNC_ALWAYS                                                     0x00000207
4711 #define  NV40TCL_DEPTH_WRITE_ENABLE                                                     0x00000a70
4712 #define  NV40TCL_DEPTH_TEST_ENABLE                                                      0x00000a74
4713 #define  NV40TCL_POLYGON_OFFSET_FACTOR                                                  0x00000a78
4714 #define  NV40TCL_POLYGON_OFFSET_UNITS                                                   0x00000a7c
4715 #define  NV40TCL_UNK0B40(x)                                                             (0x00000b40+((x)*4))
4716 #define  NV40TCL_UNK0B40__SIZE                                                          0x00000008
4717 #define  NV40TCL_VP_UPLOAD_INST(x)                                                      (0x00000b80+((x)*4))
4718 #define  NV40TCL_VP_UPLOAD_INST__SIZE                                                   0x00000004
4719 #define  NV40TCL_CLIP_PLANE_ENABLE                                                      0x00001478
4720 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE0                                              (1 <<  2)
4721 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE1                                              (1 <<  6)
4722 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE2                                              (1 << 10)
4723 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE3                                              (1 << 14)
4724 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE4                                              (1 << 18)
4725 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE5                                              (1 << 22)
4726 #define  NV40TCL_POLYGON_STIPPLE_ENABLE                                                 0x0000147c
4727 #define  NV40TCL_POLYGON_STIPPLE_PATTERN(x)                                             (0x00001480+((x)*4))
4728 #define  NV40TCL_POLYGON_STIPPLE_PATTERN__SIZE                                          0x00000020
4729 #define  NV40TCL_VTX_ATTR_3F_X(x)                                                       (0x00001500+((x)*16))
4730 #define  NV40TCL_VTX_ATTR_3F_X__SIZE                                                    0x00000010
4731 #define  NV40TCL_VTX_ATTR_3F_Y(x)                                                       (0x00001504+((x)*16))
4732 #define  NV40TCL_VTX_ATTR_3F_Y__SIZE                                                    0x00000010
4733 #define  NV40TCL_VTX_ATTR_3F_Z(x)                                                       (0x00001508+((x)*16))
4734 #define  NV40TCL_VTX_ATTR_3F_Z__SIZE                                                    0x00000010
4735 #define  NV40TCL_VTXBUF_ADDRESS(x)                                                      (0x00001680+((x)*4))
4736 #define  NV40TCL_VTXBUF_ADDRESS__SIZE                                                   0x00000010
4737 #define   NV40TCL_VTXBUF_ADDRESS_DMA1                                                   (1 << 31)
4738 #define   NV40TCL_VTXBUF_ADDRESS_OFFSET_SHIFT                                           0
4739 #define   NV40TCL_VTXBUF_ADDRESS_OFFSET_MASK                                            0x0fffffff
4740 #define  NV40TCL_VTX_CACHE_INVALIDATE                                                   0x00001714
4741 #define  NV40TCL_VTXFMT(x)                                                              (0x00001740+((x)*4))
4742 #define  NV40TCL_VTXFMT__SIZE                                                           0x00000010
4743 #define   NV40TCL_VTXFMT_TYPE_SHIFT                                                     0
4744 #define   NV40TCL_VTXFMT_TYPE_MASK                                                      0x0000000f
4745 #define    NV40TCL_VTXFMT_TYPE_FLOAT                                                    0x00000002
4746 #define    NV40TCL_VTXFMT_TYPE_UBYTE                                                    0x00000004
4747 #define   NV40TCL_VTXFMT_SIZE_SHIFT                                                     4
4748 #define   NV40TCL_VTXFMT_SIZE_MASK                                                      0x000000f0
4749 #define   NV40TCL_VTXFMT_STRIDE_SHIFT                                                   8
4750 #define   NV40TCL_VTXFMT_STRIDE_MASK                                                    0x0000ff00
4751 #define  NV40TCL_QUERY_RESET                                                            0x000017c8
4752 #define  NV40TCL_QUERY_UNK17CC                                                          0x000017cc
4753 #define  NV40TCL_QUERY_GET                                                              0x00001800
4754 #define   NV40TCL_QUERY_GET_UNK24_SHIFT                                                 24
4755 #define   NV40TCL_QUERY_GET_UNK24_MASK                                                  0xff000000
4756 #define   NV40TCL_QUERY_GET_OFFSET_SHIFT                                                0
4757 #define   NV40TCL_QUERY_GET_OFFSET_MASK                                                 0x00ffffff
4758 #define  NV40TCL_BEGIN_END                                                              0x00001808
4759 #define   NV40TCL_BEGIN_END_STOP                                                        0x00000000
4760 #define   NV40TCL_BEGIN_END_POINTS                                                      0x00000001
4761 #define   NV40TCL_BEGIN_END_LINES                                                       0x00000002
4762 #define   NV40TCL_BEGIN_END_LINE_LOOP                                                   0x00000003
4763 #define   NV40TCL_BEGIN_END_LINE_STRIP                                                  0x00000004
4764 #define   NV40TCL_BEGIN_END_TRIANGLES                                                   0x00000005
4765 #define   NV40TCL_BEGIN_END_TRIANGLE_STRIP                                              0x00000006
4766 #define   NV40TCL_BEGIN_END_TRIANGLE_FAN                                                0x00000007
4767 #define   NV40TCL_BEGIN_END_QUADS                                                       0x00000008
4768 #define   NV40TCL_BEGIN_END_QUAD_STRIP                                                  0x00000009
4769 #define   NV40TCL_BEGIN_END_POLYGON                                                     0x0000000a
4770 #define  NV40TCL_VB_ELEMENT_U16                                                         0x0000180c
4771 #define   NV40TCL_VB_ELEMENT_U16_1_SHIFT                                                16
4772 #define   NV40TCL_VB_ELEMENT_U16_1_MASK                                                 0xffff0000
4773 #define   NV40TCL_VB_ELEMENT_U16_0_SHIFT                                                0
4774 #define   NV40TCL_VB_ELEMENT_U16_0_MASK                                                 0x0000ffff
4775 #define  NV40TCL_VB_ELEMENT_U32                                                         0x00001810
4776 #define  NV40TCL_VB_VERTEX_BATCH                                                        0x00001814
4777 #define   NV40TCL_VB_VERTEX_BATCH_COUNT_SHIFT                                           24
4778 #define   NV40TCL_VB_VERTEX_BATCH_COUNT_MASK                                            0xff000000
4779 #define   NV40TCL_VB_VERTEX_BATCH_START_SHIFT                                           0
4780 #define   NV40TCL_VB_VERTEX_BATCH_START_MASK                                            0x00ffffff
4781 #define  NV40TCL_VERTEX_DATA                                                            0x00001818
4782 #define  NV40TCL_POLYGON_MODE_FRONT                                                     0x00001828
4783 #define   NV40TCL_POLYGON_MODE_FRONT_POINT                                              0x00001b00
4784 #define   NV40TCL_POLYGON_MODE_FRONT_LINE                                               0x00001b01
4785 #define   NV40TCL_POLYGON_MODE_FRONT_FILL                                               0x00001b02
4786 #define  NV40TCL_POLYGON_MODE_BACK                                                      0x0000182c
4787 #define   NV40TCL_POLYGON_MODE_BACK_POINT                                               0x00001b00
4788 #define   NV40TCL_POLYGON_MODE_BACK_LINE                                                0x00001b01
4789 #define   NV40TCL_POLYGON_MODE_BACK_FILL                                                0x00001b02
4790 #define  NV40TCL_CULL_FACE                                                              0x00001830
4791 #define   NV40TCL_CULL_FACE_FRONT                                                       0x00000404
4792 #define   NV40TCL_CULL_FACE_BACK                                                        0x00000405
4793 #define   NV40TCL_CULL_FACE_FRONT_AND_BACK                                              0x00000408
4794 #define  NV40TCL_FRONT_FACE                                                             0x00001834
4795 #define   NV40TCL_FRONT_FACE_CW                                                         0x00000900
4796 #define   NV40TCL_FRONT_FACE_CCW                                                        0x00000901
4797 #define  NV40TCL_POLYGON_SMOOTH_ENABLE                                                  0x00001838
4798 #define  NV40TCL_CULL_FACE_ENABLE                                                       0x0000183c
4799 #define  NV40TCL_TEX_SIZE1(x)                                                           (0x00001840+((x)*4))
4800 #define  NV40TCL_TEX_SIZE1__SIZE                                                        0x00000008
4801 #define   NV40TCL_TEX_SIZE1_DEPTH_SHIFT                                                 20
4802 #define   NV40TCL_TEX_SIZE1_DEPTH_MASK                                                  0xfff00000
4803 #define   NV40TCL_TEX_SIZE1_PITCH_SHIFT                                                 0
4804 #define   NV40TCL_TEX_SIZE1_PITCH_MASK                                                  0x0000ffff
4805 #define  NV40TCL_VTX_ATTR_2F_X(x)                                                       (0x00001880+((x)*8))
4806 #define  NV40TCL_VTX_ATTR_2F_X__SIZE                                                    0x00000010
4807 #define  NV40TCL_VTX_ATTR_2F_Y(x)                                                       (0x00001884+((x)*8))
4808 #define  NV40TCL_VTX_ATTR_2F_Y__SIZE                                                    0x00000010
4809 #define  NV40TCL_VTX_ATTR_2I(x)                                                         (0x00001900+((x)*4))
4810 #define  NV40TCL_VTX_ATTR_2I__SIZE                                                      0x00000010
4811 #define   NV40TCL_VTX_ATTR_2I_Y_SHIFT                                                   16
4812 #define   NV40TCL_VTX_ATTR_2I_Y_MASK                                                    0xffff0000
4813 #define   NV40TCL_VTX_ATTR_2I_X_SHIFT                                                   0
4814 #define   NV40TCL_VTX_ATTR_2I_X_MASK                                                    0x0000ffff
4815 #define  NV40TCL_VTX_ATTR_4I_0(x)                                                       (0x00001900+((x)*8))
4816 #define  NV40TCL_VTX_ATTR_4I_0__SIZE                                                    0x00000010
4817 #define   NV40TCL_VTX_ATTR_4I_0_Y_SHIFT                                                 16
4818 #define   NV40TCL_VTX_ATTR_4I_0_Y_MASK                                                  0xffff0000
4819 #define   NV40TCL_VTX_ATTR_4I_0_X_SHIFT                                                 0
4820 #define   NV40TCL_VTX_ATTR_4I_0_X_MASK                                                  0x0000ffff
4821 #define  NV40TCL_VTX_ATTR_4I_1(x)                                                       (0x00001904+((x)*8))
4822 #define  NV40TCL_VTX_ATTR_4I_1__SIZE                                                    0x00000010
4823 #define   NV40TCL_VTX_ATTR_4I_1_W_SHIFT                                                 16
4824 #define   NV40TCL_VTX_ATTR_4I_1_W_MASK                                                  0xffff0000
4825 #define   NV40TCL_VTX_ATTR_4I_1_Z_SHIFT                                                 0
4826 #define   NV40TCL_VTX_ATTR_4I_1_Z_MASK                                                  0x0000ffff
4827 #define  NV40TCL_TEX_OFFSET(x)                                                          (0x00001a00+((x)*32))
4828 #define  NV40TCL_TEX_OFFSET__SIZE                                                       0x00000010
4829 #define  NV40TCL_TEX_FORMAT(x)                                                          (0x00001a04+((x)*32))
4830 #define  NV40TCL_TEX_FORMAT__SIZE                                                       0x00000010
4831 #define   NV40TCL_TEX_FORMAT_MIPMAP_COUNT_SHIFT                                         16
4832 #define   NV40TCL_TEX_FORMAT_MIPMAP_COUNT_MASK                                          0x000f0000
4833 #define   NV40TCL_TEX_FORMAT_RECT                                                       (1 << 14)
4834 #define   NV40TCL_TEX_FORMAT_LINEAR                                                     (1 << 13)
4835 #define   NV40TCL_TEX_FORMAT_FORMAT_SHIFT                                               8
4836 #define   NV40TCL_TEX_FORMAT_FORMAT_MASK                                                0x00001f00
4837 #define    NV40TCL_TEX_FORMAT_FORMAT_L8                                                 0x00000100
4838 #define    NV40TCL_TEX_FORMAT_FORMAT_A1R5G5B5                                           0x00000200
4839 #define    NV40TCL_TEX_FORMAT_FORMAT_A4R4G4B4                                           0x00000300
4840 #define    NV40TCL_TEX_FORMAT_FORMAT_R5G6B5                                             0x00000400
4841 #define    NV40TCL_TEX_FORMAT_FORMAT_A8R8G8B8                                           0x00000500
4842 #define    NV40TCL_TEX_FORMAT_FORMAT_DXT1                                               0x00000600
4843 #define    NV40TCL_TEX_FORMAT_FORMAT_DXT3                                               0x00000700
4844 #define    NV40TCL_TEX_FORMAT_FORMAT_DXT5                                               0x00000800
4845 #define    NV40TCL_TEX_FORMAT_FORMAT_A8L8                                               0x00001800
4846 #define   NV40TCL_TEX_FORMAT_DIMS_SHIFT                                                 4
4847 #define   NV40TCL_TEX_FORMAT_DIMS_MASK                                                  0x000000f0
4848 #define    NV40TCL_TEX_FORMAT_DIMS_1D                                                   0x00000010
4849 #define    NV40TCL_TEX_FORMAT_DIMS_2D                                                   0x00000020
4850 #define    NV40TCL_TEX_FORMAT_DIMS_3D                                                   0x00000030
4851 #define   NV40TCL_TEX_FORMAT_NO_BORDER                                                  (1 <<  3)
4852 #define   NV40TCL_TEX_FORMAT_CUBIC                                                      (1 <<  2)
4853 #define   NV40TCL_TEX_FORMAT_DMA1                                                       (1 <<  1)
4854 #define   NV40TCL_TEX_FORMAT_DMA0                                                       (1 <<  0)
4855 #define  NV40TCL_TEX_WRAP(x)                                                            (0x00001a08+((x)*32))
4856 #define  NV40TCL_TEX_WRAP__SIZE                                                         0x00000010
4857 #define   NV40TCL_TEX_WRAP_S_SHIFT                                                      0
4858 #define   NV40TCL_TEX_WRAP_S_MASK                                                       0x000000ff
4859 #define    NV40TCL_TEX_WRAP_S_REPEAT                                                    0x00000001
4860 #define    NV40TCL_TEX_WRAP_S_MIRRORED_REPEAT                                           0x00000002
4861 #define    NV40TCL_TEX_WRAP_S_CLAMP_TO_EDGE                                             0x00000003
4862 #define    NV40TCL_TEX_WRAP_S_CLAMP_TO_BORDER                                           0x00000004
4863 #define    NV40TCL_TEX_WRAP_S_CLAMP                                                     0x00000005
4864 #define    NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_EDGE                                      0x00000006
4865 #define    NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_BORDER                                    0x00000007
4866 #define    NV40TCL_TEX_WRAP_S_MIRROR_CLAMP                                              0x00000008
4867 #define   NV40TCL_TEX_WRAP_T_SHIFT                                                      8
4868 #define   NV40TCL_TEX_WRAP_T_MASK                                                       0x0000ff00
4869 #define    NV40TCL_TEX_WRAP_T_REPEAT                                                    0x00000100
4870 #define    NV40TCL_TEX_WRAP_T_MIRRORED_REPEAT                                           0x00000200
4871 #define    NV40TCL_TEX_WRAP_T_CLAMP_TO_EDGE                                             0x00000300
4872 #define    NV40TCL_TEX_WRAP_T_CLAMP_TO_BORDER                                           0x00000400
4873 #define    NV40TCL_TEX_WRAP_T_CLAMP                                                     0x00000500
4874 #define    NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_EDGE                                      0x00000600
4875 #define    NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_BORDER                                    0x00000700
4876 #define    NV40TCL_TEX_WRAP_T_MIRROR_CLAMP                                              0x00000800
4877 #define   NV40TCL_TEX_WRAP_R_SHIFT                                                      16
4878 #define   NV40TCL_TEX_WRAP_R_MASK                                                       0x00ff0000
4879 #define    NV40TCL_TEX_WRAP_R_REPEAT                                                    0x00010000
4880 #define    NV40TCL_TEX_WRAP_R_MIRRORED_REPEAT                                           0x00020000
4881 #define    NV40TCL_TEX_WRAP_R_CLAMP_TO_EDGE                                             0x00030000
4882 #define    NV40TCL_TEX_WRAP_R_CLAMP_TO_BORDER                                           0x00040000
4883 #define    NV40TCL_TEX_WRAP_R_CLAMP                                                     0x00050000
4884 #define    NV40TCL_TEX_WRAP_R_MIRROR_CLAMP_TO_EDGE                                      0x00060000
4885 #define    NV40TCL_TEX_WRAP_R_MIRROR_CLAMP_TO_BORDER                                    0x00070000
4886 #define    NV40TCL_TEX_WRAP_R_MIRROR_CLAMP                                              0x00080000
4887 #define  NV40TCL_TEX_ENABLE(x)                                                          (0x00001a0c+((x)*32))
4888 #define  NV40TCL_TEX_ENABLE__SIZE                                                       0x00000010
4889 #define   NV40TCL_TEX_ENABLE_ENABLE                                                     (1 << 31)
4890 #define  NV40TCL_TEX_SWIZZLE(x)                                                         (0x00001a10+((x)*32))
4891 #define  NV40TCL_TEX_SWIZZLE__SIZE                                                      0x00000010
4892 #define   NV40TCL_TEX_SWIZZLE_S0_X_SHIFT                                                14
4893 #define   NV40TCL_TEX_SWIZZLE_S0_X_MASK                                                 0x0000c000
4894 #define    NV40TCL_TEX_SWIZZLE_S0_X_ZERO                                                0x00000000
4895 #define    NV40TCL_TEX_SWIZZLE_S0_X_ONE                                                 0x00004000
4896 #define    NV40TCL_TEX_SWIZZLE_S0_X_S1                                                  0x00008000
4897 #define   NV40TCL_TEX_SWIZZLE_S0_Y_SHIFT                                                12
4898 #define   NV40TCL_TEX_SWIZZLE_S0_Y_MASK                                                 0x00003000
4899 #define    NV40TCL_TEX_SWIZZLE_S0_Y_ZERO                                                0x00000000
4900 #define    NV40TCL_TEX_SWIZZLE_S0_Y_ONE                                                 0x00001000
4901 #define    NV40TCL_TEX_SWIZZLE_S0_Y_S1                                                  0x00002000
4902 #define   NV40TCL_TEX_SWIZZLE_S0_Z_SHIFT                                                10
4903 #define   NV40TCL_TEX_SWIZZLE_S0_Z_MASK                                                 0x00000c00
4904 #define    NV40TCL_TEX_SWIZZLE_S0_Z_ZERO                                                0x00000000
4905 #define    NV40TCL_TEX_SWIZZLE_S0_Z_ONE                                                 0x00000400
4906 #define    NV40TCL_TEX_SWIZZLE_S0_Z_S1                                                  0x00000800
4907 #define   NV40TCL_TEX_SWIZZLE_S0_W_SHIFT                                                8
4908 #define   NV40TCL_TEX_SWIZZLE_S0_W_MASK                                                 0x00000300
4909 #define    NV40TCL_TEX_SWIZZLE_S0_W_ZERO                                                0x00000000
4910 #define    NV40TCL_TEX_SWIZZLE_S0_W_ONE                                                 0x00000100
4911 #define    NV40TCL_TEX_SWIZZLE_S0_W_S1                                                  0x00000200
4912 #define   NV40TCL_TEX_SWIZZLE_S1_X_SHIFT                                                6
4913 #define   NV40TCL_TEX_SWIZZLE_S1_X_MASK                                                 0x000000c0
4914 #define    NV40TCL_TEX_SWIZZLE_S1_X_W                                                   0x00000000
4915 #define    NV40TCL_TEX_SWIZZLE_S1_X_Z                                                   0x00000040
4916 #define    NV40TCL_TEX_SWIZZLE_S1_X_Y                                                   0x00000080
4917 #define    NV40TCL_TEX_SWIZZLE_S1_X_X                                                   0x000000c0
4918 #define   NV40TCL_TEX_SWIZZLE_S1_Y_SHIFT                                                4
4919 #define   NV40TCL_TEX_SWIZZLE_S1_Y_MASK                                                 0x00000030
4920 #define    NV40TCL_TEX_SWIZZLE_S1_Y_W                                                   0x00000000
4921 #define    NV40TCL_TEX_SWIZZLE_S1_Y_Z                                                   0x00000010
4922 #define    NV40TCL_TEX_SWIZZLE_S1_Y_Y                                                   0x00000020
4923 #define    NV40TCL_TEX_SWIZZLE_S1_Y_X                                                   0x00000030
4924 #define   NV40TCL_TEX_SWIZZLE_S1_Z_SHIFT                                                2
4925 #define   NV40TCL_TEX_SWIZZLE_S1_Z_MASK                                                 0x0000000c
4926 #define    NV40TCL_TEX_SWIZZLE_S1_Z_W                                                   0x00000000
4927 #define    NV40TCL_TEX_SWIZZLE_S1_Z_Z                                                   0x00000004
4928 #define    NV40TCL_TEX_SWIZZLE_S1_Z_Y                                                   0x00000008
4929 #define    NV40TCL_TEX_SWIZZLE_S1_Z_X                                                   0x0000000c
4930 #define   NV40TCL_TEX_SWIZZLE_S1_W_SHIFT                                                0
4931 #define   NV40TCL_TEX_SWIZZLE_S1_W_MASK                                                 0x00000003
4932 #define    NV40TCL_TEX_SWIZZLE_S1_W_W                                                   0x00000000
4933 #define    NV40TCL_TEX_SWIZZLE_S1_W_Z                                                   0x00000001
4934 #define    NV40TCL_TEX_SWIZZLE_S1_W_Y                                                   0x00000002
4935 #define    NV40TCL_TEX_SWIZZLE_S1_W_X                                                   0x00000003
4936 #define  NV40TCL_TEX_FILTER(x)                                                          (0x00001a14+((x)*32))
4937 #define  NV40TCL_TEX_FILTER__SIZE                                                       0x00000010
4938 #define   NV40TCL_TEX_FILTER_MIN_SHIFT                                                  16
4939 #define   NV40TCL_TEX_FILTER_MIN_MASK                                                   0x000f0000
4940 #define    NV40TCL_TEX_FILTER_MIN_NEAREST                                               0x00010000
4941 #define    NV40TCL_TEX_FILTER_MIN_LINEAR                                                0x00020000
4942 #define    NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_NEAREST                                0x00030000
4943 #define    NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_NEAREST                                 0x00040000
4944 #define    NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_LINEAR                                 0x00050000
4945 #define    NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_LINEAR                                  0x00060000
4946 #define   NV40TCL_TEX_FILTER_MAG_SHIFT                                                  24
4947 #define   NV40TCL_TEX_FILTER_MAG_MASK                                                   0x0f000000
4948 #define    NV40TCL_TEX_FILTER_MAG_NEAREST                                               0x01000000
4949 #define    NV40TCL_TEX_FILTER_MAG_LINEAR                                                0x02000000
4950 #define    NV40TCL_TEX_FILTER_MAG_NEAREST_MIPMAP_NEAREST                                0x03000000
4951 #define    NV40TCL_TEX_FILTER_MAG_LINEAR_MIPMAP_NEAREST                                 0x04000000
4952 #define    NV40TCL_TEX_FILTER_MAG_NEAREST_MIPMAP_LINEAR                                 0x05000000
4953 #define    NV40TCL_TEX_FILTER_MAG_LINEAR_MIPMAP_LINEAR                                  0x06000000
4954 #define  NV40TCL_TEX_SIZE0(x)                                                           (0x00001a18+((x)*32))
4955 #define  NV40TCL_TEX_SIZE0__SIZE                                                        0x00000010
4956 #define   NV40TCL_TEX_SIZE0_H_SHIFT                                                     0
4957 #define   NV40TCL_TEX_SIZE0_H_MASK                                                      0x0000ffff
4958 #define   NV40TCL_TEX_SIZE0_W_SHIFT                                                     16
4959 #define   NV40TCL_TEX_SIZE0_W_MASK                                                      0xffff0000
4960 #define  NV40TCL_TEX_BORDER_COLOR(x)                                                    (0x00001a1c+((x)*32))
4961 #define  NV40TCL_TEX_BORDER_COLOR__SIZE                                                 0x00000010
4962 #define   NV40TCL_TEX_BORDER_COLOR_B_SHIFT                                              0
4963 #define   NV40TCL_TEX_BORDER_COLOR_B_MASK                                               0x000000ff
4964 #define   NV40TCL_TEX_BORDER_COLOR_G_SHIFT                                              8
4965 #define   NV40TCL_TEX_BORDER_COLOR_G_MASK                                               0x0000ff00
4966 #define   NV40TCL_TEX_BORDER_COLOR_R_SHIFT                                              16
4967 #define   NV40TCL_TEX_BORDER_COLOR_R_MASK                                               0x00ff0000
4968 #define   NV40TCL_TEX_BORDER_COLOR_A_SHIFT                                              24
4969 #define   NV40TCL_TEX_BORDER_COLOR_A_MASK                                               0xff000000
4970 #define  NV40TCL_VTX_ATTR_4F_X(x)                                                       (0x00001c00+((x)*16))
4971 #define  NV40TCL_VTX_ATTR_4F_X__SIZE                                                    0x00000010
4972 #define  NV40TCL_VTX_ATTR_4F_Y(x)                                                       (0x00001c04+((x)*16))
4973 #define  NV40TCL_VTX_ATTR_4F_Y__SIZE                                                    0x00000010
4974 #define  NV40TCL_VTX_ATTR_4F_Z(x)                                                       (0x00001c08+((x)*16))
4975 #define  NV40TCL_VTX_ATTR_4F_Z__SIZE                                                    0x00000010
4976 #define  NV40TCL_VTX_ATTR_4F_W(x)                                                       (0x00001c0c+((x)*16))
4977 #define  NV40TCL_VTX_ATTR_4F_W__SIZE                                                    0x00000010
4978 #define  NV40TCL_FP_CONTROL                                                             0x00001d60
4979 #define   NV40TCL_FP_CONTROL_TEMP_COUNT_SHIFT                                           24
4980 #define   NV40TCL_FP_CONTROL_TEMP_COUNT_MASK                                            0xff000000
4981 #define   NV40TCL_FP_CONTROL_KIL                                                        (1 <<  7)
4982 #define  NV40TCL_CLEAR_VALUE_DEPTH                                                      0x00001d8c
4983 #define  NV40TCL_CLEAR_VALUE_COLOR                                                      0x00001d90
4984 #define  NV40TCL_CLEAR_BUFFERS                                                          0x00001d94
4985 #define   NV40TCL_CLEAR_BUFFERS_COLOR_A                                                 (1 <<  7)
4986 #define   NV40TCL_CLEAR_BUFFERS_COLOR_B                                                 (1 <<  6)
4987 #define   NV40TCL_CLEAR_BUFFERS_COLOR_G                                                 (1 <<  5)
4988 #define   NV40TCL_CLEAR_BUFFERS_COLOR_R                                                 (1 <<  4)
4989 #define   NV40TCL_CLEAR_BUFFERS_STENCIL                                                 (1 <<  1)
4990 #define   NV40TCL_CLEAR_BUFFERS_DEPTH                                                   (1 <<  0)
4991 #define  NV40TCL_LINE_STIPPLE_ENABLE                                                    0x00001db4
4992 #define  NV40TCL_LINE_STIPPLE_PATTERN                                                   0x00001db8
4993 #define   NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_SHIFT                                     0
4994 #define   NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_MASK                                      0x0000ffff
4995 #define   NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_SHIFT                                    16
4996 #define   NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_MASK                                     0xffff0000
4997 #define  NV40TCL_VP_UPLOAD_FROM_ID                                                      0x00001e9c
4998 #define  NV40TCL_VP_START_FROM_ID                                                       0x00001ea0
4999 #define  NV40TCL_POINT_SIZE                                                             0x00001ee0
5000 #define  NV40TCL_POINT_SPRITE                                                           0x00001ee8
5001 #define  NV40TCL_VP_UPLOAD_CONST_ID                                                     0x00001efc
5002 #define  NV40TCL_VP_UPLOAD_CONST_X(x)                                                   (0x00001f00+((x)*16))
5003 #define  NV40TCL_VP_UPLOAD_CONST_X__SIZE                                                0x00000004
5004 #define  NV40TCL_VP_UPLOAD_CONST_Y(x)                                                   (0x00001f04+((x)*16))
5005 #define  NV40TCL_VP_UPLOAD_CONST_Y__SIZE                                                0x00000004
5006 #define  NV40TCL_VP_UPLOAD_CONST_Z(x)                                                   (0x00001f08+((x)*16))
5007 #define  NV40TCL_VP_UPLOAD_CONST_Z__SIZE                                                0x00000004
5008 #define  NV40TCL_VP_UPLOAD_CONST_W(x)                                                   (0x00001f0c+((x)*16))
5009 #define  NV40TCL_VP_UPLOAD_CONST_W__SIZE                                                0x00000004
5010 #define  NV40TCL_TEX_CACHE_CTL                                                          0x00001fd8
5011 #define  NV40TCL_VP_ATTRIB_EN                                                           0x00001ff0
5012 #define  NV40TCL_VP_RESULT_EN                                                           0x00001ff4
5013
5014
5015 #define NV44TCL                                                                         0x00004497
5016
5017
5018
5019 #define NV50_2D                                                                         0x0000502d
5020
5021 #define  NV50_2D_NOP                                                                    0x00000100
5022 #define  NV50_2D_NOTIFY                                                                 0x00000104
5023 #define  NV50_2D_DMA_NOTIFY                                                             0x00000180
5024 #define  NV50_2D_DMA_IN_MEMORY0                                                         0x00000184
5025 #define  NV50_2D_DMA_IN_MEMORY1                                                         0x00000188
5026 #define  NV50_2D_DMA_IN_MEMORY2                                                         0x0000018c
5027 #define  NV50_2D_DST_FORMAT                                                             0x00000200
5028 #define   NV50_2D_DST_FORMAT_32BPP                                                      0x000000cf
5029 #define   NV50_2D_DST_FORMAT_24BPP                                                      0x000000e6
5030 #define   NV50_2D_DST_FORMAT_16BPP                                                      0x000000e8
5031 #define   NV50_2D_DST_FORMAT_8BPP                                                       0x000000f3
5032 #define   NV50_2D_DST_FORMAT_15BPP                                                      0x000000f8
5033 #define  NV50_2D_DST_PITCH                                                              0x00000214
5034 #define  NV50_2D_DST_WIDTH                                                              0x00000218
5035 #define  NV50_2D_DST_HEIGHT                                                             0x0000021c
5036 #define  NV50_2D_DST_ADDRESS_HIGH                                                       0x00000220
5037 #define  NV50_2D_DST_ADDRESS_LOW                                                        0x00000224
5038 #define  NV50_2D_SRC_FORMAT                                                             0x00000230
5039 #define   NV50_2D_SRC_FORMAT_32BPP                                                      0x000000cf
5040 #define   NV50_2D_SRC_FORMAT_24BPP                                                      0x000000e6
5041 #define   NV50_2D_SRC_FORMAT_16BPP                                                      0x000000e8
5042 #define   NV50_2D_SRC_FORMAT_8BPP                                                       0x000000f3
5043 #define   NV50_2D_SRC_FORMAT_15BPP                                                      0x000000f8
5044 #define  NV50_2D_SRC_PITCH                                                              0x00000244
5045 #define  NV50_2D_SRC_WIDTH                                                              0x00000248
5046 #define  NV50_2D_SRC_HEIGHT                                                             0x0000024c
5047 #define  NV50_2D_SRC_ADDRESS_HIGH                                                       0x00000250
5048 #define  NV50_2D_SRC_ADDRESS_LOW                                                        0x00000254
5049 #define  NV50_2D_CLIP_X                                                                 0x00000280
5050 #define  NV50_2D_CLIP_Y                                                                 0x00000284
5051 #define  NV50_2D_CLIP_Z                                                                 0x00000288
5052 #define  NV50_2D_CLIP_W                                                                 0x0000028c
5053 #define  NV50_2D_ROP                                                                    0x000002a0
5054 #define  NV50_2D_OPERATION                                                              0x000002ac
5055 #define   NV50_2D_OPERATION_SRCCOPY_AND                                                 0x00000000
5056 #define   NV50_2D_OPERATION_ROP_AND                                                     0x00000001
5057 #define   NV50_2D_OPERATION_BLEND_AND                                                   0x00000002
5058 #define   NV50_2D_OPERATION_SRCCOPY                                                     0x00000003
5059 #define   NV50_2D_OPERATION_SRCCOPY_PREMULT                                             0x00000004
5060 #define   NV50_2D_OPERATION_BLEND_PREMULT                                               0x00000005
5061 #define  NV50_2D_PATTERN_FORMAT                                                         0x000002e8
5062 #define   NV50_2D_PATTERN_FORMAT_16BPP                                                  0x00000000
5063 #define   NV50_2D_PATTERN_FORMAT_15BPP                                                  0x00000001
5064 #define   NV50_2D_PATTERN_FORMAT_32BPP                                                  0x00000002
5065 #define   NV50_2D_PATTERN_FORMAT_8BPP                                                   0x00000003
5066 #define  NV50_2D_PATTERN_COLOR(x)                                                       (0x000002f0+((x)*4))
5067 #define  NV50_2D_PATTERN_COLOR__SIZE                                                    0x00000002
5068 #define  NV50_2D_PATTERN_BITMAP(x)                                                      (0x000002f8+((x)*4))
5069 #define  NV50_2D_PATTERN_BITMAP__SIZE                                                   0x00000002
5070 #define  NV50_2D_RECT_FORMAT                                                            0x00000584
5071 #define   NV50_2D_RECT_FORMAT_32BPP                                                     0x000000cf
5072 #define   NV50_2D_RECT_FORMAT_24BPP                                                     0x000000e6
5073 #define   NV50_2D_RECT_FORMAT_16BPP                                                     0x000000e8
5074 #define   NV50_2D_RECT_FORMAT_8BPP                                                      0x000000f3
5075 #define   NV50_2D_RECT_FORMAT_15BPP                                                     0x000000f8
5076 #define  NV50_2D_RECT_COLOR                                                             0x00000588
5077 #define  NV50_2D_RECT_X1                                                                0x00000600
5078 #define  NV50_2D_RECT_Y1                                                                0x00000604
5079 #define  NV50_2D_RECT_X2                                                                0x00000608
5080 #define  NV50_2D_RECT_Y2                                                                0x0000060c
5081 #define  NV50_2D_BLIT_DST_X                                                             0x000008b0
5082 #define  NV50_2D_BLIT_DST_Y                                                             0x000008b4
5083 #define  NV50_2D_BLIT_DST_W                                                             0x000008b8
5084 #define  NV50_2D_BLIT_DST_H                                                             0x000008bc
5085 #define  NV50_2D_BLIT_SRC_X                                                             0x000008d4
5086 #define  NV50_2D_BLIT_SRC_Y                                                             0x000008dc
5087
5088
5089 #define NV50_MEMORY_TO_MEMORY_FORMAT                                                    0x00005039
5090
5091
5092
5093 #define NV50TCL                                                                         0x00005097
5094
5095 #define  NV50TCL_NOP                                                                    0x00000100
5096 #define  NV50TCL_NOTIFY                                                                 0x00000104
5097 #define  NV50TCL_DMA_NOTIFY                                                             0x00000180
5098 #define  NV50TCL_DMA_IN_MEMORY0(x)                                                      (0x00000184+((x)*4))
5099 #define  NV50TCL_DMA_IN_MEMORY0__SIZE                                                   0x0000000b
5100 #define  NV50TCL_DMA_IN_MEMORY1(x)                                                      (0x000001c0+((x)*4))
5101 #define  NV50TCL_DMA_IN_MEMORY1__SIZE                                                   0x00000008
5102 #define  NV50TCL_RT_ADDRESS_HIGH(x)                                                     (0x00000200+((x)*32))
5103 #define  NV50TCL_RT_ADDRESS_HIGH__SIZE                                                  0x00000008
5104 #define  NV50TCL_RT_ADDRESS_LOW(x)                                                      (0x00000204+((x)*32))
5105 #define  NV50TCL_RT_ADDRESS_LOW__SIZE                                                   0x00000008
5106 #define  NV50TCL_RT_FORMAT(x)                                                           (0x00000208+((x)*32))
5107 #define  NV50TCL_RT_FORMAT__SIZE                                                        0x00000008
5108 #define  NV50TCL_RT_UNK3(x)                                                             (0x0000020c+((x)*32))
5109 #define  NV50TCL_RT_UNK3__SIZE                                                          0x00000008
5110 #define  NV50TCL_RT_UNK4(x)                                                             (0x00000210+((x)*32))
5111 #define  NV50TCL_RT_UNK4__SIZE                                                          0x00000008
5112 #define  NV50TCL_VTX_ATTR_1F(x)                                                         (0x00000300+((x)*4))
5113 #define  NV50TCL_VTX_ATTR_1F__SIZE                                                      0x00000010
5114 #define  NV50TCL_VTX_ATTR_2F_X(x)                                                       (0x00000380+((x)*8))
5115 #define  NV50TCL_VTX_ATTR_2F_X__SIZE                                                    0x00000010
5116 #define  NV50TCL_VTX_ATTR_2F_Y(x)                                                       (0x00000384+((x)*8))
5117 #define  NV50TCL_VTX_ATTR_2F_Y__SIZE                                                    0x00000010
5118 #define  NV50TCL_VTX_ATTR_3F_X(x)                                                       (0x00000400+((x)*16))
5119 #define  NV50TCL_VTX_ATTR_3F_X__SIZE                                                    0x00000010
5120 #define  NV50TCL_VTX_ATTR_3F_Y(x)                                                       (0x00000404+((x)*16))
5121 #define  NV50TCL_VTX_ATTR_3F_Y__SIZE                                                    0x00000010
5122 #define  NV50TCL_VTX_ATTR_3F_Z(x)                                                       (0x00000408+((x)*16))
5123 #define  NV50TCL_VTX_ATTR_3F_Z__SIZE                                                    0x00000010
5124 #define  NV50TCL_VTX_ATTR_3F_W(x)                                                       (0x0000040c+((x)*16))
5125 #define  NV50TCL_VTX_ATTR_3F_W__SIZE                                                    0x00000010
5126 #define  NV50TCL_VTX_ATTR_4F_X(x)                                                       (0x00000500+((x)*16))
5127 #define  NV50TCL_VTX_ATTR_4F_X__SIZE                                                    0x00000010
5128 #define  NV50TCL_VTX_ATTR_4F_Y(x)                                                       (0x00000504+((x)*16))
5129 #define  NV50TCL_VTX_ATTR_4F_Y__SIZE                                                    0x00000010
5130 #define  NV50TCL_VTX_ATTR_4F_Z(x)                                                       (0x00000508+((x)*16))
5131 #define  NV50TCL_VTX_ATTR_4F_Z__SIZE                                                    0x00000010
5132 #define  NV50TCL_VTX_ATTR_4F_W(x)                                                       (0x0000050c+((x)*16))
5133 #define  NV50TCL_VTX_ATTR_4F_W__SIZE                                                    0x00000010
5134 #define  NV50TCL_VTX_ATTR_2I(x)                                                         (0x00000680+((x)*4))
5135 #define  NV50TCL_VTX_ATTR_2I__SIZE                                                      0x00000010
5136 #define   NV50TCL_VTX_ATTR_2I_X_SHIFT                                                   0
5137 #define   NV50TCL_VTX_ATTR_2I_X_MASK                                                    0x0000ffff
5138 #define   NV50TCL_VTX_ATTR_2I_Y_SHIFT                                                   16
5139 #define   NV50TCL_VTX_ATTR_2I_Y_MASK                                                    0xffff0000
5140 #define  NV50TCL_VTX_ATTR_4I_0(x)                                                       (0x00000700+((x)*8))
5141 #define  NV50TCL_VTX_ATTR_4I_0__SIZE                                                    0x00000010
5142 #define   NV50TCL_VTX_ATTR_4I_0_X_SHIFT                                                 0
5143 #define   NV50TCL_VTX_ATTR_4I_0_X_MASK                                                  0x0000ffff
5144 #define   NV50TCL_VTX_ATTR_4I_0_Y_SHIFT                                                 16
5145 #define   NV50TCL_VTX_ATTR_4I_0_Y_MASK                                                  0xffff0000
5146 #define  NV50TCL_VTX_ATTR_4I_1(x)                                                       (0x00000704+((x)*8))
5147 #define  NV50TCL_VTX_ATTR_4I_1__SIZE                                                    0x00000010
5148 #define   NV50TCL_VTX_ATTR_4I_1_Z_SHIFT                                                 0
5149 #define   NV50TCL_VTX_ATTR_4I_1_Z_MASK                                                  0x0000ffff
5150 #define   NV50TCL_VTX_ATTR_4I_1_W_SHIFT                                                 16
5151 #define   NV50TCL_VTX_ATTR_4I_1_W_MASK                                                  0xffff0000
5152 #define  NV50TCL_VTX_ATTR_4NI_0(x)                                                      (0x00000780+((x)*8))
5153 #define  NV50TCL_VTX_ATTR_4NI_0__SIZE                                                   0x00000010
5154 #define   NV50TCL_VTX_ATTR_4NI_0_X_SHIFT                                                0
5155 #define   NV50TCL_VTX_ATTR_4NI_0_X_MASK                                                 0x0000ffff
5156 #define   NV50TCL_VTX_ATTR_4NI_0_Y_SHIFT                                                16
5157 #define   NV50TCL_VTX_ATTR_4NI_0_Y_MASK                                                 0xffff0000
5158 #define  NV50TCL_VTX_ATTR_4NI_1(x)                                                      (0x00000784+((x)*8))
5159 #define  NV50TCL_VTX_ATTR_4NI_1__SIZE                                                   0x00000010
5160 #define   NV50TCL_VTX_ATTR_4NI_1_Z_SHIFT                                                0
5161 #define   NV50TCL_VTX_ATTR_4NI_1_Z_MASK                                                 0x0000ffff
5162 #define   NV50TCL_VTX_ATTR_4NI_1_W_SHIFT                                                16
5163 #define   NV50TCL_VTX_ATTR_4NI_1_W_MASK                                                 0xffff0000
5164 #define  NV50TCL_VERTEX_ARRAY_FORMAT(x)                                                 (0x00000900+((x)*16))
5165 #define  NV50TCL_VERTEX_ARRAY_FORMAT__SIZE                                              0x00000010
5166 #define  NV50TCL_VIEWPORT_UNK0(x)                                                       (0x00000a00+((x)*4))
5167 #define  NV50TCL_VIEWPORT_UNK0__SIZE                                                    0x00000003
5168 #define  NV50TCL_VIEWPORT_UNK1(x)                                                       (0x00000a0c+((x)*4))
5169 #define  NV50TCL_VIEWPORT_UNK1__SIZE                                                    0x00000003
5170 #define  NV50TCL_VIEWPORT_HORIZ                                                         0x00000c00
5171 #define   NV50TCL_VIEWPORT_HORIZ_X_SHIFT                                                0
5172 #define   NV50TCL_VIEWPORT_HORIZ_X_MASK                                                 0x0000ffff
5173 #define   NV50TCL_VIEWPORT_HORIZ_W_SHIFT                                                16
5174 #define   NV50TCL_VIEWPORT_HORIZ_W_MASK                                                 0xffff0000
5175 #define  NV50TCL_VIEWPORT_VERT                                                          0x00000c04
5176 #define   NV50TCL_VIEWPORT_VERT_Y_SHIFT                                                 0
5177 #define   NV50TCL_VIEWPORT_VERT_Y_MASK                                                  0x0000ffff
5178 #define   NV50TCL_VIEWPORT_VERT_H_SHIFT                                                 16
5179 #define   NV50TCL_VIEWPORT_VERT_H_MASK                                                  0xffff0000
5180 #define  NV50TCL_DEPTH_RANGE_NEAR                                                       0x00000c08
5181 #define  NV50TCL_DEPTH_RANGE_FAR                                                        0x00000c0c
5182 #define  NV50TCL_VIEWPORT_CLIP_HORIZ(x)                                                 (0x00000d00+((x)*8))
5183 #define  NV50TCL_VIEWPORT_CLIP_HORIZ__SIZE                                              0x00000008
5184 #define  NV50TCL_VIEWPORT_CLIP_VERT(x)                                                  (0x00000d04+((x)*8))
5185 #define  NV50TCL_VIEWPORT_CLIP_VERT__SIZE                                               0x00000008
5186 #define  NV50TCL_VERTEX_BUFFER_FIRST                                                    0x00000d74
5187 #define  NV50TCL_VERTEX_BUFFER_COUNT                                                    0x00000d78
5188 #define  NV50TCL_CLEAR_COLOR(x)                                                         (0x00000d80+((x)*4))
5189 #define  NV50TCL_CLEAR_COLOR__SIZE                                                      0x00000004
5190 #define  NV50TCL_CLEAR_DEPTH                                                            0x00000d90
5191 #define  NV50TCL_CLEAR_STENCIL                                                          0x00000da0
5192 #define  NV50TCL_POLYGON_MODE_FRONT                                                     0x00000dac
5193 #define   NV50TCL_POLYGON_MODE_FRONT_POINT                                              0x00001b00
5194 #define   NV50TCL_POLYGON_MODE_FRONT_LINE                                               0x00001b01
5195 #define   NV50TCL_POLYGON_MODE_FRONT_FILL                                               0x00001b02
5196 #define  NV50TCL_POLYGON_MODE_BACK                                                      0x00000db0
5197 #define   NV50TCL_POLYGON_MODE_BACK_POINT                                               0x00001b00
5198 #define   NV50TCL_POLYGON_MODE_BACK_LINE                                                0x00001b01
5199 #define   NV50TCL_POLYGON_MODE_BACK_FILL                                                0x00001b02
5200 #define  NV50TCL_POLYGON_SMOOTH_ENABLE                                                  0x00000db4
5201 #define  NV50TCL_POLYGON_OFFSET_POINT_ENABLE                                            0x00000dc0
5202 #define  NV50TCL_POLYGON_OFFSET_LINE_ENABLE                                             0x00000dc4
5203 #define  NV50TCL_POLYGON_OFFSET_FILL_ENABLE                                             0x00000dc8
5204 #define  NV50TCL_SCISSOR_HORIZ                                                          0x00000e04
5205 #define   NV50TCL_SCISSOR_HORIZ_L_SHIFT                                                 0
5206 #define   NV50TCL_SCISSOR_HORIZ_L_MASK                                                  0x0000ffff
5207 #define   NV50TCL_SCISSOR_HORIZ_R_SHIFT                                                 16
5208 #define   NV50TCL_SCISSOR_HORIZ_R_MASK                                                  0xffff0000
5209 #define  NV50TCL_SCISSOR_VERT                                                           0x00000e08
5210 #define   NV50TCL_SCISSOR_VERT_T_SHIFT                                                  0
5211 #define   NV50TCL_SCISSOR_VERT_T_MASK                                                   0x0000ffff
5212 #define   NV50TCL_SCISSOR_VERT_B_SHIFT                                                  16
5213 #define   NV50TCL_SCISSOR_VERT_B_MASK                                                   0xffff0000
5214 #define  NV50TCL_VP_UPLOAD_CONST_ID                                                     0x00000f00
5215 #define  NV50TCL_VP_UPLOAD_CONST(x)                                                     (0x00000f04+((x)*4))
5216 #define  NV50TCL_VP_UPLOAD_CONST__SIZE                                                  0x00000010
5217 #define  NV50TCL_STENCIL_FRONT_FUNC_REF                                                 0x00000f54
5218 #define  NV50TCL_STENCIL_FRONT_MASK                                                     0x00000f58
5219 #define  NV50TCL_STENCIL_FRONT_FUNC_MASK                                                0x00000f5c
5220 #define  NV50TCL_GP_ADDRESS_HIGH                                                        0x00000f70
5221 #define  NV50TCL_GP_ADDRESS_LOW                                                         0x00000f74
5222 #define  NV50TCL_VP_ADDRESS_HIGH                                                        0x00000f7c
5223 #define  NV50TCL_VP_ADDRESS_LOW                                                         0x00000f80
5224 #define  NV50TCL_FP_ADDRESS_HIGH                                                        0x00000fa4
5225 #define  NV50TCL_FP_ADDRESS_LOW                                                         0x00000fa8
5226 #define  NV50TCL_ZETA_ADDRESS_HIGH                                                      0x00000fe0
5227 #define  NV50TCL_ZETA_ADDRESS_LOW                                                       0x00000fe4
5228 #define  NV50TCL_UNKFF4                                                                 0x00000ff4
5229 #define   NV50TCL_UNKFF4_W_SHIFT                                                        16
5230 #define   NV50TCL_UNKFF4_W_MASK                                                         0xffff0000
5231 #define  NV50TCL_UNKFF8                                                                 0x00000ff8
5232 #define   NV50TCL_UNKFF8_H_SHIFT                                                        16
5233 #define   NV50TCL_UNKFF8_H_MASK                                                         0xffff0000
5234 #define  NV50TCL_RT_HORIZ(x)                                                            (0x00001240+((x)*8))
5235 #define  NV50TCL_RT_HORIZ__SIZE                                                         0x00000008
5236 #define  NV50TCL_RT_VERT(x)                                                             (0x00001244+((x)*8))
5237 #define  NV50TCL_RT_VERT__SIZE                                                          0x00000008
5238 #define  NV50TCL_DEPTH_TEST_ENABLE                                                      0x000012cc
5239 #define  NV50TCL_SHADE_MODEL                                                            0x000012d4
5240 #define   NV50TCL_SHADE_MODEL_FLAT                                                      0x00001d00
5241 #define   NV50TCL_SHADE_MODEL_SMOOTH                                                    0x00001d01
5242 #define  NV50TCL_DEPTH_WRITE_ENABLE                                                     0x000012e8
5243 #define  NV50TCL_ALPHA_TEST_ENABLE                                                      0x000012ec
5244 #define  NV50TCL_DEPTH_TEST_FUNC                                                        0x0000130c
5245 #define   NV50TCL_DEPTH_TEST_FUNC_NEVER                                                 0x00000200
5246 #define   NV50TCL_DEPTH_TEST_FUNC_LESS                                                  0x00000201
5247 #define   NV50TCL_DEPTH_TEST_FUNC_EQUAL                                                 0x00000202
5248 #define   NV50TCL_DEPTH_TEST_FUNC_LEQUAL                                                0x00000203
5249 #define   NV50TCL_DEPTH_TEST_FUNC_GREATER                                               0x00000204
5250 #define   NV50TCL_DEPTH_TEST_FUNC_GREATER                                               0x00000204
5251 #define   NV50TCL_DEPTH_TEST_FUNC_NOTEQUAL                                              0x00000205
5252 #define   NV50TCL_DEPTH_TEST_FUNC_GEQUAL                                                0x00000206
5253 #define   NV50TCL_DEPTH_TEST_FUNC_ALWAYS                                                0x00000207
5254 #define  NV50TCL_ALPHA_TEST_REF                                                         0x00001310
5255 #define  NV50TCL_ALPHA_TEST_FUNC                                                        0x00001314
5256 #define   NV50TCL_ALPHA_TEST_FUNC_NEVER                                                 0x00000200
5257 #define   NV50TCL_ALPHA_TEST_FUNC_LESS                                                  0x00000201
5258 #define   NV50TCL_ALPHA_TEST_FUNC_EQUAL                                                 0x00000202
5259 #define   NV50TCL_ALPHA_TEST_FUNC_LEQUAL                                                0x00000203
5260 #define   NV50TCL_ALPHA_TEST_FUNC_GREATER                                               0x00000204
5261 #define   NV50TCL_ALPHA_TEST_FUNC_GREATER                                               0x00000204
5262 #define   NV50TCL_ALPHA_TEST_FUNC_NOTEQUAL                                              0x00000205
5263 #define   NV50TCL_ALPHA_TEST_FUNC_GEQUAL                                                0x00000206
5264 #define   NV50TCL_ALPHA_TEST_FUNC_ALWAYS                                                0x00000207
5265 #define  NV50TCL_BLEND_COLOR(x)                                                         (0x0000131c+((x)*4))
5266 #define  NV50TCL_BLEND_COLOR__SIZE                                                      0x00000004
5267 #define  NV50TCL_BLEND_EQUATION_RGB                                                     0x00001340
5268 #define   NV50TCL_BLEND_EQUATION_RGB_FUNC_ADD                                           0x00008006
5269 #define   NV50TCL_BLEND_EQUATION_RGB_MIN                                                0x00008007
5270 #define   NV50TCL_BLEND_EQUATION_RGB_MAX                                                0x00008008
5271 #define   NV50TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT                                      0x0000800a
5272 #define   NV50TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT                              0x0000800b
5273 #define  NV50TCL_BLEND_FUNC_SRC_RGB                                                     0x00001344
5274 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ZERO                                               0x00000000
5275 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE                                                0x00000001
5276 #define   NV50TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR                                          0x00000300
5277 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR                                0x00000301
5278 #define   NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA                                          0x00000302
5279 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA                                0x00000303
5280 #define   NV50TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA                                          0x00000304
5281 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA                                0x00000305
5282 #define   NV50TCL_BLEND_FUNC_SRC_RGB_DST_COLOR                                          0x00000306
5283 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR                                0x00000307
5284 #define   NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE                                 0x00000308
5285 #define   NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR                                     0x00008001
5286 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR                           0x00008002
5287 #define   NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA                                     0x00008003
5288 #define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA                           0x00008004
5289 #define  NV50TCL_BLEND_FUNC_DST_RGB                                                     0x00001348
5290 #define   NV50TCL_BLEND_FUNC_DST_RGB_ZERO                                               0x00000000
5291 #define   NV50TCL_BLEND_FUNC_DST_RGB_ONE                                                0x00000001
5292 #define   NV50TCL_BLEND_FUNC_DST_RGB_SRC_COLOR                                          0x00000300
5293 #define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR                                0x00000301
5294 #define   NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA                                          0x00000302
5295 #define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA                                0x00000303
5296 #define   NV50TCL_BLEND_FUNC_DST_RGB_DST_ALPHA                                          0x00000304
5297 #define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA                                0x00000305
5298 #define   NV50TCL_BLEND_FUNC_DST_RGB_DST_COLOR                                          0x00000306
5299 #define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR                                0x00000307
5300 #define   NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE                                 0x00000308
5301 #define   NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR                                     0x00008001
5302 #define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR                           0x00008002
5303 #define   NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA                                     0x00008003
5304 #define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA                           0x00008004
5305 #define  NV50TCL_BLEND_EQUATION_ALPHA                                                   0x0000134c
5306 #define   NV50TCL_BLEND_EQUATION_ALPHA_FUNC_ADD                                         0x00008006
5307 #define   NV50TCL_BLEND_EQUATION_ALPHA_MIN                                              0x00008007
5308 #define   NV50TCL_BLEND_EQUATION_ALPHA_MAX                                              0x00008008
5309 #define   NV50TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT                                    0x0000800a
5310 #define   NV50TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT                            0x0000800b
5311 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA                                                   0x00001350
5312 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ZERO                                             0x00000000
5313 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE                                              0x00000001
5314 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                                        0x00000300
5315 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR                              0x00000301
5316 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                                        0x00000302
5317 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA                              0x00000303
5318 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                                        0x00000304
5319 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA                              0x00000305
5320 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR                                        0x00000306
5321 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR                              0x00000307
5322 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                               0x00000308
5323 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR                                   0x00008001
5324 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR                         0x00008002
5325 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA                                   0x00008003
5326 #define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA                         0x00008004
5327 #define  NV50TCL_BLEND_FUNC_DST_ALPHA                                                   0x00001358
5328 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ZERO                                             0x00000000
5329 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE                                              0x00000001
5330 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR                                        0x00000300
5331 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR                              0x00000301
5332 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                                        0x00000302
5333 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA                              0x00000303
5334 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA                                        0x00000304
5335 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA                              0x00000305
5336 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR                                        0x00000306
5337 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR                              0x00000307
5338 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                               0x00000308
5339 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR                                   0x00008001
5340 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR                         0x00008002
5341 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                                   0x00008003
5342 #define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA                         0x00008004
5343 #define  NV50TCL_BLEND_ENABLE(x)                                                        (0x00001360+((x)*4))
5344 #define  NV50TCL_BLEND_ENABLE__SIZE                                                     0x00000008
5345 #define  NV50TCL_STENCIL_BACK_ENABLE                                                    0x00001380
5346 #define  NV50TCL_STENCIL_BACK_OP_FAIL                                                   0x00001384
5347 #define   NV50TCL_STENCIL_BACK_OP_FAIL_ZERO                                             0x00000000
5348 #define   NV50TCL_STENCIL_BACK_OP_FAIL_INVERT                                           0x0000150a
5349 #define   NV50TCL_STENCIL_BACK_OP_FAIL_KEEP                                             0x00001e00
5350 #define   NV50TCL_STENCIL_BACK_OP_FAIL_REPLACE                                          0x00001e01
5351 #define   NV50TCL_STENCIL_BACK_OP_FAIL_INCR                                             0x00001e02
5352 #define   NV50TCL_STENCIL_BACK_OP_FAIL_DECR                                             0x00001e03
5353 #define   NV50TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP                                        0x00008507
5354 #define   NV50TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP                                        0x00008508
5355 #define  NV50TCL_STENCIL_BACK_OP_ZFAIL                                                  0x00001388
5356 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_ZERO                                            0x00000000
5357 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_INVERT                                          0x0000150a
5358 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_KEEP                                            0x00001e00
5359 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_REPLACE                                         0x00001e01
5360 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_INCR                                            0x00001e02
5361 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_DECR                                            0x00001e03
5362 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                                       0x00008507
5363 #define   NV50TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                                       0x00008508
5364 #define  NV50TCL_STENCIL_BACK_OP_ZPASS                                                  0x0000138c
5365 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_ZERO                                            0x00000000
5366 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_INVERT                                          0x0000150a
5367 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_KEEP                                            0x00001e00
5368 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_REPLACE                                         0x00001e01
5369 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_INCR                                            0x00001e02
5370 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_DECR                                            0x00001e03
5371 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP                                       0x00008507
5372 #define   NV50TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP                                       0x00008508
5373 #define  NV50TCL_STENCIL_BACK_FUNC_FUNC                                                 0x00001390
5374 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_NEVER                                          0x00000200
5375 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_LESS                                           0x00000201
5376 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_EQUAL                                          0x00000202
5377 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL                                         0x00000203
5378 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                        0x00000204
5379 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                        0x00000204
5380 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                                       0x00000205
5381 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL                                         0x00000206
5382 #define   NV50TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS                                         0x00000207
5383 #define  NV50TCL_STENCIL_BACK_FUNC_REF                                                  0x00001394
5384 #define  NV50TCL_STENCIL_BACK_MASK                                                      0x00001398
5385 #define  NV50TCL_STENCIL_BACK_FUNC_MASK                                                 0x0000139c
5386 #define  NV50TCL_LINE_WIDTH                                                             0x000013b0
5387 #define  NV50TCL_VP_START_ID                                                            0x0000140c
5388 #define  NV50TCL_GP_START_ID                                                            0x00001410
5389 #define  NV50TCL_FP_START_ID                                                            0x00001414
5390 #define  NV50TCL_POINT_SIZE                                                             0x00001518
5391 #define  NV50TCL_TEX_CB0_ADDRESS_HIGH                                                   0x0000155c
5392 #define  NV50TCL_TEX_CB0_ADDRESS_LOW                                                    0x00001560
5393 #define  NV50TCL_POLYGON_OFFSET_FACTOR                                                  0x0000156c
5394 #define  NV50TCL_LINE_SMOOTH_ENABLE                                                     0x00001570
5395 #define  NV50TCL_TEX_CB1_ADDRESS_HIGH                                                   0x00001574
5396 #define  NV50TCL_TEX_CB1_ADDRESS_LOW                                                    0x00001578
5397 #define  NV50TCL_STENCIL_FRONT_ENABLE                                                   0x00001594
5398 #define  NV50TCL_STENCIL_FRONT_OP_FAIL                                                  0x00001598
5399 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_ZERO                                            0x00000000
5400 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_INVERT                                          0x0000150a
5401 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_KEEP                                            0x00001e00
5402 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_REPLACE                                         0x00001e01
5403 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_INCR                                            0x00001e02
5404 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_DECR                                            0x00001e03
5405 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP                                       0x00008507
5406 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP                                       0x00008508
5407 #define  NV50TCL_STENCIL_FRONT_OP_ZFAIL                                                 0x0000159c
5408 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_ZERO                                           0x00000000
5409 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_INVERT                                         0x0000150a
5410 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_KEEP                                           0x00001e00
5411 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE                                        0x00001e01
5412 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_INCR                                           0x00001e02
5413 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_DECR                                           0x00001e03
5414 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                                      0x00008507
5415 #define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                                      0x00008508
5416 #define  NV50TCL_STENCIL_FRONT_OP_ZPASS                                                 0x000015a0
5417 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_ZERO                                           0x00000000
5418 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_INVERT                                         0x0000150a
5419 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_KEEP                                           0x00001e00
5420 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_REPLACE                                        0x00001e01
5421 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_INCR                                           0x00001e02
5422 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_DECR                                           0x00001e03
5423 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                                      0x00008507
5424 #define   NV50TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                                      0x00008508
5425 #define  NV50TCL_STENCIL_FRONT_FUNC_FUNC                                                0x000015a4
5426 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_NEVER                                         0x00000200
5427 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_LESS                                          0x00000201
5428 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL                                         0x00000202
5429 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL                                        0x00000203
5430 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                       0x00000204
5431 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                       0x00000204
5432 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                                      0x00000205
5433 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL                                        0x00000206
5434 #define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS                                        0x00000207
5435 #define  NV50TCL_POLYGON_OFFSET_UNITS                                                   0x000015bc
5436 #define  NV50TCL_VERTEX_BEGIN                                                           0x000015dc
5437 #define   NV50TCL_VERTEX_BEGIN_POINTS                                                   0x00000000
5438 #define   NV50TCL_VERTEX_BEGIN_LINES                                                    0x00000001
5439 #define   NV50TCL_VERTEX_BEGIN_LINE_LOOP                                                0x00000002
5440 #define   NV50TCL_VERTEX_BEGIN_LINE_STRIP                                               0x00000003
5441 #define   NV50TCL_VERTEX_BEGIN_TRIANGLES                                                0x00000004
5442 #define   NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP                                           0x00000005
5443 #define   NV50TCL_VERTEX_BEGIN_TRIANGLE_FAN                                             0x00000006
5444 #define   NV50TCL_VERTEX_BEGIN_QUADS                                                    0x00000007
5445 #define   NV50TCL_VERTEX_BEGIN_QUAD_STRIP                                               0x00000008
5446 #define   NV50TCL_VERTEX_BEGIN_POLYGON                                                  0x00000009
5447 #define  NV50TCL_VERTEX_END                                                             0x000015e0
5448 #define  NV50TCL_VERTEX_DATA                                                            0x00001640
5449 #define  NV50TCL_VP_ATTR_EN_0                                                           0x00001650
5450 #define   NV50TCL_VP_ATTR_EN_0_7_SHIFT                                                  28
5451 #define   NV50TCL_VP_ATTR_EN_0_7_MASK                                                   0xf0000000
5452 #define    NV50TCL_VP_ATTR_EN_0_7_NONE                                                  0x00000000
5453 #define    NV50TCL_VP_ATTR_EN_0_7_XNNN                                                  0x10000000
5454 #define    NV50TCL_VP_ATTR_EN_0_7_NYNN                                                  0x20000000
5455 #define    NV50TCL_VP_ATTR_EN_0_7_XYNN                                                  0x30000000
5456 #define    NV50TCL_VP_ATTR_EN_0_7_NNZN                                                  0x40000000
5457 #define    NV50TCL_VP_ATTR_EN_0_7_XNZN                                                  0x50000000
5458 #define    NV50TCL_VP_ATTR_EN_0_7_NYZN                                                  0x60000000
5459 #define    NV50TCL_VP_ATTR_EN_0_7_XYZN                                                  0x70000000
5460 #define    NV50TCL_VP_ATTR_EN_0_7_NNNW                                                  0x80000000
5461 #define    NV50TCL_VP_ATTR_EN_0_7_XNNW                                                  0x90000000
5462 #define    NV50TCL_VP_ATTR_EN_0_7_NYNW                                                  0xa0000000
5463 #define    NV50TCL_VP_ATTR_EN_0_7_XYNW                                                  0xb0000000
5464 #define    NV50TCL_VP_ATTR_EN_0_7_NNZW                                                  0xc0000000
5465 #define    NV50TCL_VP_ATTR_EN_0_7_XNZW                                                  0xd0000000
5466 #define    NV50TCL_VP_ATTR_EN_0_7_NYZW                                                  0xe0000000
5467 #define    NV50TCL_VP_ATTR_EN_0_7_XYZW                                                  0xf0000000
5468 #define   NV50TCL_VP_ATTR_EN_0_6_SHIFT                                                  24
5469 #define   NV50TCL_VP_ATTR_EN_0_6_MASK                                                   0x0f000000
5470 #define    NV50TCL_VP_ATTR_EN_0_6_NONE                                                  0x00000000
5471 #define    NV50TCL_VP_ATTR_EN_0_6_XNNN                                                  0x01000000
5472 #define    NV50TCL_VP_ATTR_EN_0_6_NYNN                                                  0x02000000
5473 #define    NV50TCL_VP_ATTR_EN_0_6_XYNN                                                  0x03000000
5474 #define    NV50TCL_VP_ATTR_EN_0_6_NNZN                                                  0x04000000
5475 #define    NV50TCL_VP_ATTR_EN_0_6_XNZN                                                  0x05000000
5476 #define    NV50TCL_VP_ATTR_EN_0_6_NYZN                                                  0x06000000
5477 #define    NV50TCL_VP_ATTR_EN_0_6_XYZN                                                  0x07000000
5478 #define    NV50TCL_VP_ATTR_EN_0_6_NNNW                                                  0x08000000
5479 #define    NV50TCL_VP_ATTR_EN_0_6_XNNW                                                  0x09000000
5480 #define    NV50TCL_VP_ATTR_EN_0_6_NYNW                                                  0x0a000000
5481 #define    NV50TCL_VP_ATTR_EN_0_6_XYNW                                                  0x0b000000
5482 #define    NV50TCL_VP_ATTR_EN_0_6_NNZW                                                  0x0c000000
5483 #define    NV50TCL_VP_ATTR_EN_0_6_XNZW                                                  0x0d000000
5484 #define    NV50TCL_VP_ATTR_EN_0_6_NYZW                                                  0x0e000000
5485 #define    NV50TCL_VP_ATTR_EN_0_6_XYZW                                                  0x0f000000
5486 #define   NV50TCL_VP_ATTR_EN_0_5_SHIFT                                                  20
5487 #define   NV50TCL_VP_ATTR_EN_0_5_MASK                                                   0x00f00000
5488 #define    NV50TCL_VP_ATTR_EN_0_5_NONE                                                  0x00000000
5489 #define    NV50TCL_VP_ATTR_EN_0_5_XNNN                                                  0x00100000
5490 #define    NV50TCL_VP_ATTR_EN_0_5_NYNN                                                  0x00200000
5491 #define    NV50TCL_VP_ATTR_EN_0_5_XYNN                                                  0x00300000
5492 #define    NV50TCL_VP_ATTR_EN_0_5_NNZN                                                  0x00400000
5493 #define    NV50TCL_VP_ATTR_EN_0_5_XNZN                                                  0x00500000
5494 #define    NV50TCL_VP_ATTR_EN_0_5_NYZN                                                  0x00600000
5495 #define    NV50TCL_VP_ATTR_EN_0_5_XYZN                                                  0x00700000
5496 #define    NV50TCL_VP_ATTR_EN_0_5_NNNW                                                  0x00800000
5497 #define    NV50TCL_VP_ATTR_EN_0_5_XNNW                                                  0x00900000
5498 #define    NV50TCL_VP_ATTR_EN_0_5_NYNW                                                  0x00a00000
5499 #define    NV50TCL_VP_ATTR_EN_0_5_XYNW                                                  0x00b00000
5500 #define    NV50TCL_VP_ATTR_EN_0_5_NNZW                                                  0x00c00000
5501 #define    NV50TCL_VP_ATTR_EN_0_5_XNZW                                                  0x00d00000
5502 #define    NV50TCL_VP_ATTR_EN_0_5_NYZW                                                  0x00e00000
5503 #define    NV50TCL_VP_ATTR_EN_0_5_XYZW                                                  0x00f00000
5504 #define   NV50TCL_VP_ATTR_EN_0_4_SHIFT                                                  16
5505 #define   NV50TCL_VP_ATTR_EN_0_4_MASK                                                   0x000f0000
5506 #define    NV50TCL_VP_ATTR_EN_0_4_NONE                                                  0x00000000
5507 #define    NV50TCL_VP_ATTR_EN_0_4_XNNN                                                  0x00010000
5508 #define    NV50TCL_VP_ATTR_EN_0_4_NYNN                                                  0x00020000
5509 #define    NV50TCL_VP_ATTR_EN_0_4_XYNN                                                  0x00030000
5510 #define    NV50TCL_VP_ATTR_EN_0_4_NNZN                                                  0x00040000
5511 #define    NV50TCL_VP_ATTR_EN_0_4_XNZN                                                  0x00050000
5512 #define    NV50TCL_VP_ATTR_EN_0_4_NYZN                                                  0x00060000
5513 #define    NV50TCL_VP_ATTR_EN_0_4_XYZN                                                  0x00070000
5514 #define    NV50TCL_VP_ATTR_EN_0_4_NNNW                                                  0x00080000
5515 #define    NV50TCL_VP_ATTR_EN_0_4_XNNW                                                  0x00090000
5516 #define    NV50TCL_VP_ATTR_EN_0_4_NYNW                                                  0x000a0000
5517 #define    NV50TCL_VP_ATTR_EN_0_4_XYNW                                                  0x000b0000
5518 #define    NV50TCL_VP_ATTR_EN_0_4_NNZW                                                  0x000c0000
5519 #define    NV50TCL_VP_ATTR_EN_0_4_XNZW                                                  0x000d0000
5520 #define    NV50TCL_VP_ATTR_EN_0_4_NYZW                                                  0x000e0000
5521 #define    NV50TCL_VP_ATTR_EN_0_4_XYZW                                                  0x000f0000
5522 #define   NV50TCL_VP_ATTR_EN_0_3_SHIFT                                                  12
5523 #define   NV50TCL_VP_ATTR_EN_0_3_MASK                                                   0x0000f000
5524 #define    NV50TCL_VP_ATTR_EN_0_3_NONE                                                  0x00000000
5525 #define    NV50TCL_VP_ATTR_EN_0_3_XNNN                                                  0x00001000
5526 #define    NV50TCL_VP_ATTR_EN_0_3_NYNN                                                  0x00002000
5527 #define    NV50TCL_VP_ATTR_EN_0_3_XYNN                                                  0x00003000
5528 #define    NV50TCL_VP_ATTR_EN_0_3_NNZN                                                  0x00004000
5529 #define    NV50TCL_VP_ATTR_EN_0_3_XNZN                                                  0x00005000
5530 #define    NV50TCL_VP_ATTR_EN_0_3_NYZN                                                  0x00006000
5531 #define    NV50TCL_VP_ATTR_EN_0_3_XYZN                                                  0x00007000
5532 #define    NV50TCL_VP_ATTR_EN_0_3_NNNW                                                  0x00008000
5533 #define    NV50TCL_VP_ATTR_EN_0_3_XNNW                                                  0x00009000
5534 #define    NV50TCL_VP_ATTR_EN_0_3_NYNW                                                  0x0000a000
5535 #define    NV50TCL_VP_ATTR_EN_0_3_XYNW                                                  0x0000b000
5536 #define    NV50TCL_VP_ATTR_EN_0_3_NNZW                                                  0x0000c000
5537 #define    NV50TCL_VP_ATTR_EN_0_3_XNZW                                                  0x0000d000
5538 #define    NV50TCL_VP_ATTR_EN_0_3_NYZW                                                  0x0000e000
5539 #define    NV50TCL_VP_ATTR_EN_0_3_XYZW                                                  0x0000f000
5540 #define   NV50TCL_VP_ATTR_EN_0_2_SHIFT                                                  8
5541 #define   NV50TCL_VP_ATTR_EN_0_2_MASK                                                   0x00000f00
5542 #define    NV50TCL_VP_ATTR_EN_0_2_NONE                                                  0x00000000
5543 #define    NV50TCL_VP_ATTR_EN_0_2_XNNN                                                  0x00000100
5544 #define    NV50TCL_VP_ATTR_EN_0_2_NYNN                                                  0x00000200
5545 #define    NV50TCL_VP_ATTR_EN_0_2_XYNN                                                  0x00000300
5546 #define    NV50TCL_VP_ATTR_EN_0_2_NNZN                                                  0x00000400
5547 #define    NV50TCL_VP_ATTR_EN_0_2_XNZN                                                  0x00000500
5548 #define    NV50TCL_VP_ATTR_EN_0_2_NYZN                                                  0x00000600
5549 #define    NV50TCL_VP_ATTR_EN_0_2_XYZN                                                  0x00000700
5550 #define    NV50TCL_VP_ATTR_EN_0_2_NNNW                                                  0x00000800
5551 #define    NV50TCL_VP_ATTR_EN_0_2_XNNW                                                  0x00000900
5552 #define    NV50TCL_VP_ATTR_EN_0_2_NYNW                                                  0x00000a00
5553 #define    NV50TCL_VP_ATTR_EN_0_2_XYNW                                                  0x00000b00
5554 #define    NV50TCL_VP_ATTR_EN_0_2_NNZW                                                  0x00000c00
5555 #define    NV50TCL_VP_ATTR_EN_0_2_XNZW                                                  0x00000d00
5556 #define    NV50TCL_VP_ATTR_EN_0_2_NYZW                                                  0x00000e00
5557 #define    NV50TCL_VP_ATTR_EN_0_2_XYZW                                                  0x00000f00
5558 #define   NV50TCL_VP_ATTR_EN_0_1_SHIFT                                                  4
5559 #define   NV50TCL_VP_ATTR_EN_0_1_MASK                                                   0x000000f0
5560 #define    NV50TCL_VP_ATTR_EN_0_1_NONE                                                  0x00000000
5561 #define    NV50TCL_VP_ATTR_EN_0_1_XNNN                                                  0x00000010
5562 #define    NV50TCL_VP_ATTR_EN_0_1_NYNN                                                  0x00000020
5563 #define    NV50TCL_VP_ATTR_EN_0_1_XYNN                                                  0x00000030
5564 #define    NV50TCL_VP_ATTR_EN_0_1_NNZN                                                  0x00000040
5565 #define    NV50TCL_VP_ATTR_EN_0_1_XNZN                                                  0x00000050
5566 #define    NV50TCL_VP_ATTR_EN_0_1_NYZN                                                  0x00000060
5567 #define    NV50TCL_VP_ATTR_EN_0_1_XYZN                                                  0x00000070
5568 #define    NV50TCL_VP_ATTR_EN_0_1_NNNW                                                  0x00000080
5569 #define    NV50TCL_VP_ATTR_EN_0_1_XNNW                                                  0x00000090
5570 #define    NV50TCL_VP_ATTR_EN_0_1_NYNW                                                  0x000000a0
5571 #define    NV50TCL_VP_ATTR_EN_0_1_XYNW                                                  0x000000b0
5572 #define    NV50TCL_VP_ATTR_EN_0_1_NNZW                                                  0x000000c0
5573 #define    NV50TCL_VP_ATTR_EN_0_1_XNZW                                                  0x000000d0
5574 #define    NV50TCL_VP_ATTR_EN_0_1_NYZW                                                  0x000000e0
5575 #define    NV50TCL_VP_ATTR_EN_0_1_XYZW                                                  0x000000f0
5576 #define   NV50TCL_VP_ATTR_EN_0_0_SHIFT                                                  0
5577 #define   NV50TCL_VP_ATTR_EN_0_0_MASK                                                   0x0000000f
5578 #define    NV50TCL_VP_ATTR_EN_0_0_NONE                                                  0x00000000
5579 #define    NV50TCL_VP_ATTR_EN_0_0_XNNN                                                  0x00000001
5580 #define    NV50TCL_VP_ATTR_EN_0_0_NYNN                                                  0x00000002
5581 #define    NV50TCL_VP_ATTR_EN_0_0_XYNN                                                  0x00000003
5582 #define    NV50TCL_VP_ATTR_EN_0_0_NNZN                                                  0x00000004
5583 #define    NV50TCL_VP_ATTR_EN_0_0_XNZN                                                  0x00000005
5584 #define    NV50TCL_VP_ATTR_EN_0_0_NYZN                                                  0x00000006
5585 #define    NV50TCL_VP_ATTR_EN_0_0_XYZN                                                  0x00000007
5586 #define    NV50TCL_VP_ATTR_EN_0_0_NNNW                                                  0x00000008
5587 #define    NV50TCL_VP_ATTR_EN_0_0_XNNW                                                  0x00000009
5588 #define    NV50TCL_VP_ATTR_EN_0_0_NYNW                                                  0x0000000a
5589 #define    NV50TCL_VP_ATTR_EN_0_0_XYNW                                                  0x0000000b
5590 #define    NV50TCL_VP_ATTR_EN_0_0_NNZW                                                  0x0000000c
5591 #define    NV50TCL_VP_ATTR_EN_0_0_XNZW                                                  0x0000000d
5592 #define    NV50TCL_VP_ATTR_EN_0_0_NYZW                                                  0x0000000e
5593 #define    NV50TCL_VP_ATTR_EN_0_0_XYZW                                                  0x0000000f
5594 #define  NV50TCL_VP_ATTR_EN_1                                                           0x00001654
5595 #define   NV50TCL_VP_ATTR_EN_1_15_SHIFT                                                 28
5596 #define   NV50TCL_VP_ATTR_EN_1_15_MASK                                                  0xf0000000
5597 #define    NV50TCL_VP_ATTR_EN_1_15_NONE                                                 0x00000000
5598 #define    NV50TCL_VP_ATTR_EN_1_15_XNNN                                                 0x10000000
5599 #define    NV50TCL_VP_ATTR_EN_1_15_NYNN                                                 0x20000000
5600 #define    NV50TCL_VP_ATTR_EN_1_15_XYNN                                                 0x30000000
5601 #define    NV50TCL_VP_ATTR_EN_1_15_NNZN                                                 0x40000000
5602 #define    NV50TCL_VP_ATTR_EN_1_15_XNZN                                                 0x50000000
5603 #define    NV50TCL_VP_ATTR_EN_1_15_NYZN                                                 0x60000000
5604 #define    NV50TCL_VP_ATTR_EN_1_15_XYZN                                                 0x70000000
5605 #define    NV50TCL_VP_ATTR_EN_1_15_NNNW                                                 0x80000000
5606 #define    NV50TCL_VP_ATTR_EN_1_15_XNNW                                                 0x90000000
5607 #define    NV50TCL_VP_ATTR_EN_1_15_NYNW                                                 0xa0000000
5608 #define    NV50TCL_VP_ATTR_EN_1_15_XYNW                                                 0xb0000000
5609 #define    NV50TCL_VP_ATTR_EN_1_15_NNZW                                                 0xc0000000
5610 #define    NV50TCL_VP_ATTR_EN_1_15_XNZW                                                 0xd0000000
5611 #define    NV50TCL_VP_ATTR_EN_1_15_NYZW                                                 0xe0000000
5612 #define    NV50TCL_VP_ATTR_EN_1_15_XYZW                                                 0xf0000000
5613 #define   NV50TCL_VP_ATTR_EN_1_14_SHIFT                                                 24
5614 #define   NV50TCL_VP_ATTR_EN_1_14_MASK                                                  0x0f000000
5615 #define    NV50TCL_VP_ATTR_EN_1_14_NONE                                                 0x00000000
5616 #define    NV50TCL_VP_ATTR_EN_1_14_XNNN                                                 0x01000000
5617 #define    NV50TCL_VP_ATTR_EN_1_14_NYNN                                                 0x02000000
5618 #define    NV50TCL_VP_ATTR_EN_1_14_XYNN                                                 0x03000000
5619 #define    NV50TCL_VP_ATTR_EN_1_14_NNZN                                                 0x04000000
5620 #define    NV50TCL_VP_ATTR_EN_1_14_XNZN                                                 0x05000000
5621 #define    NV50TCL_VP_ATTR_EN_1_14_NYZN                                                 0x06000000
5622 #define    NV50TCL_VP_ATTR_EN_1_14_XYZN                                                 0x07000000
5623 #define    NV50TCL_VP_ATTR_EN_1_14_NNNW                                                 0x08000000
5624 #define    NV50TCL_VP_ATTR_EN_1_14_XNNW                                                 0x09000000
5625 #define    NV50TCL_VP_ATTR_EN_1_14_NYNW                                                 0x0a000000
5626 #define    NV50TCL_VP_ATTR_EN_1_14_XYNW                                                 0x0b000000
5627 #define    NV50TCL_VP_ATTR_EN_1_14_NNZW                                                 0x0c000000
5628 #define    NV50TCL_VP_ATTR_EN_1_14_XNZW                                                 0x0d000000
5629 #define    NV50TCL_VP_ATTR_EN_1_14_NYZW                                                 0x0e000000
5630 #define    NV50TCL_VP_ATTR_EN_1_14_XYZW                                                 0x0f000000
5631 #define   NV50TCL_VP_ATTR_EN_1_13_SHIFT                                                 20
5632 #define   NV50TCL_VP_ATTR_EN_1_13_MASK                                                  0x00f00000
5633 #define    NV50TCL_VP_ATTR_EN_1_13_NONE                                                 0x00000000
5634 #define    NV50TCL_VP_ATTR_EN_1_13_XNNN                                                 0x00100000
5635 #define    NV50TCL_VP_ATTR_EN_1_13_NYNN                                                 0x00200000
5636 #define    NV50TCL_VP_ATTR_EN_1_13_XYNN                                                 0x00300000
5637 #define    NV50TCL_VP_ATTR_EN_1_13_NNZN                                                 0x00400000
5638 #define    NV50TCL_VP_ATTR_EN_1_13_XNZN                                                 0x00500000
5639 #define    NV50TCL_VP_ATTR_EN_1_13_NYZN                                                 0x00600000
5640 #define    NV50TCL_VP_ATTR_EN_1_13_XYZN                                                 0x00700000
5641 #define    NV50TCL_VP_ATTR_EN_1_13_NNNW                                                 0x00800000
5642 #define    NV50TCL_VP_ATTR_EN_1_13_XNNW                                                 0x00900000
5643 #define    NV50TCL_VP_ATTR_EN_1_13_NYNW                                                 0x00a00000
5644 #define    NV50TCL_VP_ATTR_EN_1_13_XYNW                                                 0x00b00000
5645 #define    NV50TCL_VP_ATTR_EN_1_13_NNZW                                                 0x00c00000
5646 #define    NV50TCL_VP_ATTR_EN_1_13_XNZW                                                 0x00d00000
5647 #define    NV50TCL_VP_ATTR_EN_1_13_NYZW                                                 0x00e00000
5648 #define    NV50TCL_VP_ATTR_EN_1_13_XYZW                                                 0x00f00000
5649 #define   NV50TCL_VP_ATTR_EN_1_12_SHIFT                                                 16
5650 #define   NV50TCL_VP_ATTR_EN_1_12_MASK                                                  0x000f0000
5651 #define    NV50TCL_VP_ATTR_EN_1_12_NONE                                                 0x00000000
5652 #define    NV50TCL_VP_ATTR_EN_1_12_XNNN                                                 0x00010000
5653 #define    NV50TCL_VP_ATTR_EN_1_12_NYNN                                                 0x00020000
5654 #define    NV50TCL_VP_ATTR_EN_1_12_XYNN                                                 0x00030000
5655 #define    NV50TCL_VP_ATTR_EN_1_12_NNZN                                                 0x00040000
5656 #define    NV50TCL_VP_ATTR_EN_1_12_XNZN                                                 0x00050000
5657 #define    NV50TCL_VP_ATTR_EN_1_12_NYZN                                                 0x00060000
5658 #define    NV50TCL_VP_ATTR_EN_1_12_XYZN                                                 0x00070000
5659 #define    NV50TCL_VP_ATTR_EN_1_12_NNNW                                                 0x00080000
5660 #define    NV50TCL_VP_ATTR_EN_1_12_XNNW                                                 0x00090000
5661 #define    NV50TCL_VP_ATTR_EN_1_12_NYNW                                                 0x000a0000
5662 #define    NV50TCL_VP_ATTR_EN_1_12_XYNW                                                 0x000b0000
5663 #define    NV50TCL_VP_ATTR_EN_1_12_NNZW                                                 0x000c0000
5664 #define    NV50TCL_VP_ATTR_EN_1_12_XNZW                                                 0x000d0000
5665 #define    NV50TCL_VP_ATTR_EN_1_12_NYZW                                                 0x000e0000
5666 #define    NV50TCL_VP_ATTR_EN_1_12_XYZW                                                 0x000f0000
5667 #define   NV50TCL_VP_ATTR_EN_1_11_SHIFT                                                 12
5668 #define   NV50TCL_VP_ATTR_EN_1_11_MASK                                                  0x0000f000
5669 #define    NV50TCL_VP_ATTR_EN_1_11_NONE                                                 0x00000000
5670 #define    NV50TCL_VP_ATTR_EN_1_11_XNNN                                                 0x00001000
5671 #define    NV50TCL_VP_ATTR_EN_1_11_NYNN                                                 0x00002000
5672 #define    NV50TCL_VP_ATTR_EN_1_11_XYNN                                                 0x00003000
5673 #define    NV50TCL_VP_ATTR_EN_1_11_NNZN                                                 0x00004000
5674 #define    NV50TCL_VP_ATTR_EN_1_11_XNZN                                                 0x00005000
5675 #define    NV50TCL_VP_ATTR_EN_1_11_NYZN                                                 0x00006000
5676 #define    NV50TCL_VP_ATTR_EN_1_11_XYZN                                                 0x00007000
5677 #define    NV50TCL_VP_ATTR_EN_1_11_NNNW                                                 0x00008000
5678 #define    NV50TCL_VP_ATTR_EN_1_11_XNNW                                                 0x00009000
5679 #define    NV50TCL_VP_ATTR_EN_1_11_NYNW                                                 0x0000a000
5680 #define    NV50TCL_VP_ATTR_EN_1_11_XYNW                                                 0x0000b000
5681 #define    NV50TCL_VP_ATTR_EN_1_11_NNZW                                                 0x0000c000
5682 #define    NV50TCL_VP_ATTR_EN_1_11_XNZW                                                 0x0000d000
5683 #define    NV50TCL_VP_ATTR_EN_1_11_NYZW                                                 0x0000e000
5684 #define    NV50TCL_VP_ATTR_EN_1_11_XYZW                                                 0x0000f000
5685 #define   NV50TCL_VP_ATTR_EN_1_10_SHIFT                                                 8
5686 #define   NV50TCL_VP_ATTR_EN_1_10_MASK                                                  0x00000f00
5687 #define    NV50TCL_VP_ATTR_EN_1_10_NONE                                                 0x00000000
5688 #define    NV50TCL_VP_ATTR_EN_1_10_XNNN                                                 0x00000100
5689 #define    NV50TCL_VP_ATTR_EN_1_10_NYNN                                                 0x00000200
5690 #define    NV50TCL_VP_ATTR_EN_1_10_XYNN                                                 0x00000300
5691 #define    NV50TCL_VP_ATTR_EN_1_10_NNZN                                                 0x00000400
5692 #define    NV50TCL_VP_ATTR_EN_1_10_XNZN                                                 0x00000500
5693 #define    NV50TCL_VP_ATTR_EN_1_10_NYZN                                                 0x00000600
5694 #define    NV50TCL_VP_ATTR_EN_1_10_XYZN                                                 0x00000700
5695 #define    NV50TCL_VP_ATTR_EN_1_10_NNNW                                                 0x00000800
5696 #define    NV50TCL_VP_ATTR_EN_1_10_XNNW                                                 0x00000900
5697 #define    NV50TCL_VP_ATTR_EN_1_10_NYNW                                                 0x00000a00
5698 #define    NV50TCL_VP_ATTR_EN_1_10_XYNW                                                 0x00000b00
5699 #define    NV50TCL_VP_ATTR_EN_1_10_NNZW                                                 0x00000c00
5700 #define    NV50TCL_VP_ATTR_EN_1_10_XNZW                                                 0x00000d00
5701 #define    NV50TCL_VP_ATTR_EN_1_10_NYZW                                                 0x00000e00
5702 #define    NV50TCL_VP_ATTR_EN_1_10_XYZW                                                 0x00000f00
5703 #define   NV50TCL_VP_ATTR_EN_1_9_SHIFT                                                  4
5704 #define   NV50TCL_VP_ATTR_EN_1_9_MASK                                                   0x000000f0
5705 #define    NV50TCL_VP_ATTR_EN_1_9_NONE                                                  0x00000000
5706 #define    NV50TCL_VP_ATTR_EN_1_9_XNNN                                                  0x00000010
5707 #define    NV50TCL_VP_ATTR_EN_1_9_NYNN                                                  0x00000020
5708 #define    NV50TCL_VP_ATTR_EN_1_9_XYNN                                                  0x00000030
5709 #define    NV50TCL_VP_ATTR_EN_1_9_NNZN                                                  0x00000040
5710 #define    NV50TCL_VP_ATTR_EN_1_9_XNZN                                                  0x00000050
5711 #define    NV50TCL_VP_ATTR_EN_1_9_NYZN                                                  0x00000060
5712 #define    NV50TCL_VP_ATTR_EN_1_9_XYZN                                                  0x00000070
5713 #define    NV50TCL_VP_ATTR_EN_1_9_NNNW                                                  0x00000080
5714 #define    NV50TCL_VP_ATTR_EN_1_9_XNNW                                                  0x00000090
5715 #define    NV50TCL_VP_ATTR_EN_1_9_NYNW                                                  0x000000a0
5716 #define    NV50TCL_VP_ATTR_EN_1_9_XYNW                                                  0x000000b0
5717 #define    NV50TCL_VP_ATTR_EN_1_9_NNZW                                                  0x000000c0
5718 #define    NV50TCL_VP_ATTR_EN_1_9_XNZW                                                  0x000000d0
5719 #define    NV50TCL_VP_ATTR_EN_1_9_NYZW                                                  0x000000e0
5720 #define    NV50TCL_VP_ATTR_EN_1_9_XYZW                                                  0x000000f0
5721 #define   NV50TCL_VP_ATTR_EN_1_8_SHIFT                                                  0
5722 #define   NV50TCL_VP_ATTR_EN_1_8_MASK                                                   0x0000000f
5723 #define    NV50TCL_VP_ATTR_EN_1_8_NONE                                                  0x00000000
5724 #define    NV50TCL_VP_ATTR_EN_1_8_XNNN                                                  0x00000001
5725 #define    NV50TCL_VP_ATTR_EN_1_8_NYNN                                                  0x00000002
5726 #define    NV50TCL_VP_ATTR_EN_1_8_XYNN                                                  0x00000003
5727 #define    NV50TCL_VP_ATTR_EN_1_8_NNZN                                                  0x00000004
5728 #define    NV50TCL_VP_ATTR_EN_1_8_XNZN                                                  0x00000005
5729 #define    NV50TCL_VP_ATTR_EN_1_8_NYZN                                                  0x00000006
5730 #define    NV50TCL_VP_ATTR_EN_1_8_XYZN                                                  0x00000007
5731 #define    NV50TCL_VP_ATTR_EN_1_8_NNNW                                                  0x00000008
5732 #define    NV50TCL_VP_ATTR_EN_1_8_XNNW                                                  0x00000009
5733 #define    NV50TCL_VP_ATTR_EN_1_8_NYNW                                                  0x0000000a
5734 #define    NV50TCL_VP_ATTR_EN_1_8_XYNW                                                  0x0000000b
5735 #define    NV50TCL_VP_ATTR_EN_1_8_NNZW                                                  0x0000000c
5736 #define    NV50TCL_VP_ATTR_EN_1_8_XNZW                                                  0x0000000d
5737 #define    NV50TCL_VP_ATTR_EN_1_8_NYZW                                                  0x0000000e
5738 #define    NV50TCL_VP_ATTR_EN_1_8_XYZW                                                  0x0000000f
5739 #define  NV50TCL_LINE_STIPPLE_ENABLE                                                    0x0000166c
5740 #define  NV50TCL_LINE_STIPPLE_PATTERN                                                   0x00001680
5741 #define  NV50TCL_POLYGON_STIPPLE_ENABLE                                                 0x0000168c
5742 #define  NV50TCL_VP_REG_HPOS                                                            0x000016bc
5743 #define   NV50TCL_VP_REG_HPOS_X_SHIFT                                                   0
5744 #define   NV50TCL_VP_REG_HPOS_X_MASK                                                    0x000000ff
5745 #define   NV50TCL_VP_REG_HPOS_Y_SHIFT                                                   8
5746 #define   NV50TCL_VP_REG_HPOS_Y_MASK                                                    0x0000ff00
5747 #define   NV50TCL_VP_REG_HPOS_Z_SHIFT                                                   16
5748 #define   NV50TCL_VP_REG_HPOS_Z_MASK                                                    0x00ff0000
5749 #define   NV50TCL_VP_REG_HPOS_W_SHIFT                                                   24
5750 #define   NV50TCL_VP_REG_HPOS_W_MASK                                                    0xff000000
5751 #define  NV50TCL_VP_REG_COL0                                                            0x000016c0
5752 #define   NV50TCL_VP_REG_COL0_X_SHIFT                                                   0
5753 #define   NV50TCL_VP_REG_COL0_X_MASK                                                    0x000000ff
5754 #define   NV50TCL_VP_REG_COL0_Y_SHIFT                                                   8
5755 #define   NV50TCL_VP_REG_COL0_Y_MASK                                                    0x0000ff00
5756 #define   NV50TCL_VP_REG_COL0_Z_SHIFT                                                   16
5757 #define   NV50TCL_VP_REG_COL0_Z_MASK                                                    0x00ff0000
5758 #define   NV50TCL_VP_REG_COL0_W_SHIFT                                                   24
5759 #define   NV50TCL_VP_REG_COL0_W_MASK                                                    0xff000000
5760 #define  NV50TCL_POLYGON_STIPPLE_PATTERN(x)                                             (0x00001700+((x)*4))
5761 #define  NV50TCL_POLYGON_STIPPLE_PATTERN__SIZE                                          0x00000020
5762 #define  NV50TCL_CULL_FACE_ENABLE                                                       0x00001918
5763 #define  NV50TCL_FRONT_FACE                                                             0x0000191c
5764 #define   NV50TCL_FRONT_FACE_CW                                                         0x00000900
5765 #define   NV50TCL_FRONT_FACE_CCW                                                        0x00000901
5766 #define  NV50TCL_CULL_FACE                                                              0x00001920
5767 #define   NV50TCL_CULL_FACE_FRONT                                                       0x00000404
5768 #define   NV50TCL_CULL_FACE_BACK                                                        0x00000405
5769 #define   NV50TCL_CULL_FACE_FRONT_AND_BACK                                              0x00000408
5770 #define  NV50TCL_LOGIC_OP_ENABLE                                                        0x000019c4
5771 #define  NV50TCL_LOGIC_OP                                                               0x000019c8
5772 #define   NV50TCL_LOGIC_OP_CLEAR                                                        0x00001500
5773 #define   NV50TCL_LOGIC_OP_AND                                                          0x00001501
5774 #define   NV50TCL_LOGIC_OP_AND_REVERSE                                                  0x00001502
5775 #define   NV50TCL_LOGIC_OP_COPY                                                         0x00001503
5776 #define   NV50TCL_LOGIC_OP_AND_INVERTED                                                 0x00001504
5777 #define   NV50TCL_LOGIC_OP_NOOP                                                         0x00001505
5778 #define   NV50TCL_LOGIC_OP_XOR                                                          0x00001506
5779 #define   NV50TCL_LOGIC_OP_OR                                                           0x00001507
5780 #define   NV50TCL_LOGIC_OP_NOR                                                          0x00001508
5781 #define   NV50TCL_LOGIC_OP_EQUIV                                                        0x00001509
5782 #define   NV50TCL_LOGIC_OP_INVERT                                                       0x0000150a
5783 #define   NV50TCL_LOGIC_OP_OR_REVERSE                                                   0x0000150b
5784 #define   NV50TCL_LOGIC_OP_COPY_INVERTED                                                0x0000150c
5785 #define   NV50TCL_LOGIC_OP_OR_INVERTED                                                  0x0000150d
5786 #define   NV50TCL_LOGIC_OP_NAND                                                         0x0000150e
5787 #define   NV50TCL_LOGIC_OP_SET                                                          0x0000150f
5788 #define  NV50TCL_CLEAR_BUFFERS                                                          0x000019d0
5789 #define  NV50TCL_COLOR_MASK(x)                                                          (0x00001a00+((x)*4))
5790 #define  NV50TCL_COLOR_MASK__SIZE                                                       0x00000008
5791
5792
5793 #define NV54TCL                                                                         0x00008297
5794
5795
5796
5797 #endif /* NOUVEAU_REG_H */