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