Remove NV10 texture formats that are all wrong.
[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_NPOT                                  (1 << 11)
1736 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_SHIFT                   12
1737 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_MASK                    0x0000f000
1738 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_SHIFT                     16
1739 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_MASK                      0x000f0000
1740 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_SHIFT                     20
1741 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_MASK                      0x00f00000
1742 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_SHIFT                          24
1743 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_MASK                           0x0f000000
1744 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_REPEAT                         0x01000000
1745 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_MIRRORED_REPEAT                0x02000000
1746 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_CLAMP_TO_EDGE                  0x03000000
1747 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_CLAMP_TO_BORDER                0x04000000
1748 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_CLAMP                          0x05000000
1749 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_SHIFT                          28
1750 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_MASK                           0xf0000000
1751 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_REPEAT                         0x10000000
1752 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_MIRRORED_REPEAT                0x20000000
1753 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_CLAMP_TO_EDGE                  0x30000000
1754 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_CLAMP_TO_BORDER                0x40000000
1755 #define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_CLAMP                          0x50000000
1756 #define  NV10_TCL_PRIMITIVE_3D_TX_ENABLE(x)                                     (0x00000228+((x)*4))
1757 #define  NV10_TCL_PRIMITIVE_3D_TX_ENABLE__SIZE                                  0x00000002
1758 #define   NV10_TCL_PRIMITIVE_3D_TX_ENABLE_ANISOTROPY_SHIFT                      4
1759 #define   NV10_TCL_PRIMITIVE_3D_TX_ENABLE_ANISOTROPY_MASK                       0x00000030
1760 #define   NV10_TCL_PRIMITIVE_3D_TX_ENABLE_ENABLE                                (1 << 30)
1761 #define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH(x)                                 (0x00000230+((x)*4))
1762 #define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH__SIZE                              0x00000002
1763 #define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH_PITCH_SHIFT                       16
1764 #define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH_PITCH_MASK                        0xffff0000
1765 #define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE(x)                                  (0x00000240+((x)*4))
1766 #define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE__SIZE                               0x00000002
1767 #define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_SHIFT                            0
1768 #define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_MASK                             0x0000ffff
1769 #define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_SHIFT                            16
1770 #define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_MASK                             0xffff0000
1771 #define  NV10_TCL_PRIMITIVE_3D_TX_FILTER(x)                                     (0x00000248+((x)*4))
1772 #define  NV10_TCL_PRIMITIVE_3D_TX_FILTER__SIZE                                  0x00000002
1773 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_SHIFT                          24
1774 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_MASK                           0x0f000000
1775 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST                        0x01000000
1776 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR                         0x02000000
1777 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST         0x03000000
1778 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST          0x04000000
1779 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR          0x05000000
1780 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR           0x06000000
1781 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_SHIFT                         28
1782 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_MASK                          0xf0000000
1783 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST                       0x10000000
1784 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR                        0x20000000
1785 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_NEAREST        0x30000000
1786 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_NEAREST         0x40000000
1787 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_LINEAR         0x50000000
1788 #define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_LINEAR          0x60000000
1789 #define  NV10_TCL_PRIMITIVE_3D_TX_PALETTE_OFFSET(x)                             (0x00000250+((x)*4))
1790 #define  NV10_TCL_PRIMITIVE_3D_TX_PALETTE_OFFSET__SIZE                          0x00000002
1791 #define  NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA(x)                                   (0x00000260+((x)*4))
1792 #define  NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA__SIZE                                0x00000002
1793 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SHIFT                       0
1794 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_MASK                        0x0000000f
1795 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_ZERO                        0x00000000
1796 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0_NV          0x00000001
1797 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1_NV          0x00000002
1798 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_FOG                         0x00000003
1799 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR_NV            0x00000004
1800 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR_NV          0x00000005
1801 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_TEXTURE1_ARB                0x00000008
1802 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_TEXTURE0_ARB                0x00000009
1803 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SPARE0_NV                   0x0000000c
1804 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SPARE1_NV                   0x0000000d
1805 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
1806 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_E_TIMES_F_NV                0x0000000f
1807 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_COMPONENT_USAGE                   (1 <<  4)
1808 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE              0x00000000
1809 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA             0x00000010
1810 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_SHIFT                     5
1811 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_MASK                      0x000000e0
1812 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY_NV      0x00000000
1813 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT_NV        0x00000020
1814 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL_NV          0x00000040
1815 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE_NV          0x00000060
1816 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL_NV       0x00000080
1817 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE_NV       0x000000a0
1818 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY_NV        0x000000c0
1819 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE_NV          0x000000e0
1820 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SHIFT                       8
1821 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_MASK                        0x00000f00
1822 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_ZERO                        0x00000000
1823 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0_NV          0x00000100
1824 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1_NV          0x00000200
1825 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_FOG                         0x00000300
1826 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR_NV            0x00000400
1827 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR_NV          0x00000500
1828 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_TEXTURE1_ARB                0x00000800
1829 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_TEXTURE0_ARB                0x00000900
1830 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SPARE0_NV                   0x00000c00
1831 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SPARE1_NV                   0x00000d00
1832 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x00000e00
1833 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_E_TIMES_F_NV                0x00000f00
1834 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_COMPONENT_USAGE                   (1 << 12)
1835 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE              0x00000000
1836 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA             0x00001000
1837 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_SHIFT                     13
1838 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_MASK                      0x0000e000
1839 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY_NV      0x00000000
1840 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT_NV        0x00002000
1841 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL_NV          0x00004000
1842 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE_NV          0x00006000
1843 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL_NV       0x00008000
1844 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE_NV       0x0000a000
1845 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY_NV        0x0000c000
1846 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE_NV          0x0000e000
1847 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SHIFT                       16
1848 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_MASK                        0x000f0000
1849 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_ZERO                        0x00000000
1850 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0_NV          0x00010000
1851 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1_NV          0x00020000
1852 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_FOG                         0x00030000
1853 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR_NV            0x00040000
1854 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR_NV          0x00050000
1855 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_TEXTURE1_ARB                0x00080000
1856 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_TEXTURE0_ARB                0x00090000
1857 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SPARE0_NV                   0x000c0000
1858 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SPARE1_NV                   0x000d0000
1859 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x000e0000
1860 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_E_TIMES_F_NV                0x000f0000
1861 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_COMPONENT_USAGE                   (1 << 20)
1862 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE              0x00000000
1863 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA             0x00100000
1864 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_SHIFT                     21
1865 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_MASK                      0x00e00000
1866 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY_NV      0x00000000
1867 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT_NV        0x00200000
1868 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL_NV          0x00400000
1869 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE_NV          0x00600000
1870 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL_NV       0x00800000
1871 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE_NV       0x00a00000
1872 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY_NV        0x00c00000
1873 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE_NV          0x00e00000
1874 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SHIFT                       24
1875 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_MASK                        0x0f000000
1876 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_ZERO                        0x00000000
1877 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0_NV          0x01000000
1878 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1_NV          0x02000000
1879 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_FOG                         0x03000000
1880 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR_NV            0x04000000
1881 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR_NV          0x05000000
1882 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_TEXTURE1_ARB                0x08000000
1883 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_TEXTURE0_ARB                0x09000000
1884 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SPARE0_NV                   0x0c000000
1885 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SPARE1_NV                   0x0d000000
1886 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0e000000
1887 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_E_TIMES_F_NV                0x0f000000
1888 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_COMPONENT_USAGE                   (1 << 28)
1889 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE              0x00000000
1890 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA             0x10000000
1891 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_SHIFT                     29
1892 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_MASK                      0xe0000000
1893 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY_NV      0x00000000
1894 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT_NV        0x20000000
1895 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL_NV          0x40000000
1896 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE_NV          0x60000000
1897 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL_NV       0x80000000
1898 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE_NV       0xa0000000
1899 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY_NV        0xc0000000
1900 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE_NV          0xe0000000
1901 #define  NV10_TCL_PRIMITIVE_3D_RC_IN_RGB(x)                                     (0x00000268+((x)*4))
1902 #define  NV10_TCL_PRIMITIVE_3D_RC_IN_RGB__SIZE                                  0x00000002
1903 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SHIFT                         0
1904 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_MASK                          0x0000000f
1905 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_ZERO                          0x00000000
1906 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0_NV            0x00000001
1907 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1_NV            0x00000002
1908 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_FOG                           0x00000003
1909 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_PRIMARY_COLOR_NV              0x00000004
1910 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SECONDARY_COLOR_NV            0x00000005
1911 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_TEXTURE1_ARB                  0x00000008
1912 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_TEXTURE0_ARB                  0x00000009
1913 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SPARE0_NV                     0x0000000c
1914 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SPARE1_NV                     0x0000000d
1915 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
1916 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_E_TIMES_F_NV                  0x0000000f
1917 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_COMPONENT_USAGE                     (1 <<  4)
1918 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_COMPONENT_USAGE_RGB                 0x00000000
1919 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA               0x00000010
1920 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_SHIFT                       5
1921 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_MASK                        0x000000e0
1922 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY_NV        0x00000000
1923 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT_NV          0x00000020
1924 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL_NV            0x00000040
1925 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE_NV            0x00000060
1926 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL_NV         0x00000080
1927 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE_NV         0x000000a0
1928 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY_NV          0x000000c0
1929 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE_NV            0x000000e0
1930 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SHIFT                         8
1931 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_MASK                          0x00000f00
1932 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_ZERO                          0x00000000
1933 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0_NV            0x00000100
1934 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1_NV            0x00000200
1935 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_FOG                           0x00000300
1936 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_PRIMARY_COLOR_NV              0x00000400
1937 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SECONDARY_COLOR_NV            0x00000500
1938 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_TEXTURE1_ARB                  0x00000800
1939 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_TEXTURE0_ARB                  0x00000900
1940 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SPARE0_NV                     0x00000c00
1941 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SPARE1_NV                     0x00000d00
1942 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x00000e00
1943 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_E_TIMES_F_NV                  0x00000f00
1944 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_COMPONENT_USAGE                     (1 << 12)
1945 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_COMPONENT_USAGE_RGB                 0x00000000
1946 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA               0x00001000
1947 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_SHIFT                       13
1948 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_MASK                        0x0000e000
1949 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY_NV        0x00000000
1950 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT_NV          0x00002000
1951 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL_NV            0x00004000
1952 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE_NV            0x00006000
1953 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL_NV         0x00008000
1954 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE_NV         0x0000a000
1955 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY_NV          0x0000c000
1956 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE_NV            0x0000e000
1957 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SHIFT                         16
1958 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_MASK                          0x000f0000
1959 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_ZERO                          0x00000000
1960 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0_NV            0x00010000
1961 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1_NV            0x00020000
1962 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_FOG                           0x00030000
1963 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_PRIMARY_COLOR_NV              0x00040000
1964 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SECONDARY_COLOR_NV            0x00050000
1965 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_TEXTURE1_ARB                  0x00080000
1966 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_TEXTURE0_ARB                  0x00090000
1967 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SPARE0_NV                     0x000c0000
1968 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SPARE1_NV                     0x000d0000
1969 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x000e0000
1970 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_E_TIMES_F_NV                  0x000f0000
1971 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_COMPONENT_USAGE                     (1 << 20)
1972 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_COMPONENT_USAGE_RGB                 0x00000000
1973 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA               0x00100000
1974 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_SHIFT                       21
1975 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_MASK                        0x00e00000
1976 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY_NV        0x00000000
1977 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT_NV          0x00200000
1978 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL_NV            0x00400000
1979 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE_NV            0x00600000
1980 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL_NV         0x00800000
1981 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE_NV         0x00a00000
1982 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY_NV          0x00c00000
1983 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE_NV            0x00e00000
1984 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SHIFT                         24
1985 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_MASK                          0x0f000000
1986 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_ZERO                          0x00000000
1987 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0_NV            0x01000000
1988 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1_NV            0x02000000
1989 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_FOG                           0x03000000
1990 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_PRIMARY_COLOR_NV              0x04000000
1991 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SECONDARY_COLOR_NV            0x05000000
1992 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_TEXTURE1_ARB                  0x08000000
1993 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_TEXTURE0_ARB                  0x09000000
1994 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SPARE0_NV                     0x0c000000
1995 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SPARE1_NV                     0x0d000000
1996 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0e000000
1997 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_E_TIMES_F_NV                  0x0f000000
1998 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_COMPONENT_USAGE                     (1 << 28)
1999 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_COMPONENT_USAGE_RGB                 0x00000000
2000 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA               0x10000000
2001 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_SHIFT                       29
2002 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_MASK                        0xe0000000
2003 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY_NV        0x00000000
2004 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT_NV          0x20000000
2005 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL_NV            0x40000000
2006 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE_NV            0x60000000
2007 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL_NV         0x80000000
2008 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE_NV         0xa0000000
2009 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY_NV          0xc0000000
2010 #define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE_NV            0xe0000000
2011 #define  NV10_TCL_PRIMITIVE_3D_RC_COLOR(x)                                      (0x00000270+((x)*4))
2012 #define  NV10_TCL_PRIMITIVE_3D_RC_COLOR__SIZE                                   0x00000002
2013 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_B_SHIFT                                0
2014 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_B_MASK                                 0x000000ff
2015 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_G_SHIFT                                8
2016 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_G_MASK                                 0x0000ff00
2017 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_R_SHIFT                                16
2018 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_R_MASK                                 0x00ff0000
2019 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_A_SHIFT                                24
2020 #define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_A_MASK                                 0xff000000
2021 #define  NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(x)                                  (0x00000278+((x)*4))
2022 #define  NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA__SIZE                               0x00000002
2023 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SHIFT                    0
2024 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_MASK                     0x0000000f
2025 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_ZERO                     0x00000000
2026 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0_NV       0x00000001
2027 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1_NV       0x00000002
2028 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_FOG                      0x00000003
2029 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR_NV         0x00000004
2030 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR_NV       0x00000005
2031 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1_ARB             0x00000008
2032 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0_ARB             0x00000009
2033 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_NV                0x0000000c
2034 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE1_NV                0x0000000d
2035 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
2036 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F_NV             0x0000000f
2037 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SHIFT                    4
2038 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_MASK                     0x000000f0
2039 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_ZERO                     0x00000000
2040 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0_NV       0x00000010
2041 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1_NV       0x00000020
2042 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_FOG                      0x00000030
2043 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR_NV         0x00000040
2044 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR_NV       0x00000050
2045 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1_ARB             0x00000080
2046 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0_ARB             0x00000090
2047 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_NV                0x000000c0
2048 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE1_NV                0x000000d0
2049 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x000000e0
2050 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F_NV             0x000000f0
2051 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT                   8
2052 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_MASK                    0x00000f00
2053 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_ZERO                    0x00000000
2054 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0_NV      0x00000100
2055 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1_NV      0x00000200
2056 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_FOG                     0x00000300
2057 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR_NV        0x00000400
2058 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR_NV      0x00000500
2059 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1_ARB            0x00000800
2060 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0_ARB            0x00000900
2061 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_NV               0x00000c00
2062 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1_NV               0x00000d00
2063 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x00000e00
2064 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F_NV            0x00000f00
2065 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_DOT_PRODUCT                     (1 << 12)
2066 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_DOT_PRODUCT                     (1 << 13)
2067 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_MUX_SUM                            (1 << 14)
2068 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_BIAS                               (1 << 15)
2069 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_BIAS_NONE                          0x00000000
2070 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF_NV  0x00008000
2071 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SHIFT                        17
2072 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_MASK                         0x00000000
2073 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_NONE                         0x00000000
2074 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO_NV              0x00020000
2075 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR_NV             0x00040000
2076 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF_NV         0x00060000
2077 #define  NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB(x)                                    (0x00000280+((x)*4))
2078 #define  NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB__SIZE                                 0x00000002
2079 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SHIFT                      0
2080 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_MASK                       0x0000000f
2081 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_ZERO                       0x00000000
2082 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0_NV         0x00000001
2083 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1_NV         0x00000002
2084 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_FOG                        0x00000003
2085 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR_NV           0x00000004
2086 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR_NV         0x00000005
2087 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE1_ARB               0x00000008
2088 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE0_ARB               0x00000009
2089 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0_NV                  0x0000000c
2090 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SPARE1_NV                  0x0000000d
2091 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
2092 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F_NV               0x0000000f
2093 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SHIFT                      4
2094 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_MASK                       0x000000f0
2095 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_ZERO                       0x00000000
2096 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0_NV         0x00000010
2097 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1_NV         0x00000020
2098 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_FOG                        0x00000030
2099 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR_NV           0x00000040
2100 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR_NV         0x00000050
2101 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE1_ARB               0x00000080
2102 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE0_ARB               0x00000090
2103 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0_NV                  0x000000c0
2104 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SPARE1_NV                  0x000000d0
2105 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x000000e0
2106 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F_NV               0x000000f0
2107 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SHIFT                     8
2108 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_MASK                      0x00000f00
2109 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_ZERO                      0x00000000
2110 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0_NV        0x00000100
2111 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1_NV        0x00000200
2112 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_FOG                       0x00000300
2113 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR_NV          0x00000400
2114 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR_NV        0x00000500
2115 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1_ARB              0x00000800
2116 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0_ARB              0x00000900
2117 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0_NV                 0x00000c00
2118 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE1_NV                 0x00000d00
2119 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x00000e00
2120 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F_NV              0x00000f00
2121 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_DOT_PRODUCT                       (1 << 12)
2122 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_DOT_PRODUCT                       (1 << 13)
2123 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_MUX_SUM                              (1 << 14)
2124 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_BIAS                                 (1 << 15)
2125 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_BIAS_NONE                            0x00000000
2126 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF_NV    0x00008000
2127 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SHIFT                          17
2128 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_MASK                           0x00000000
2129 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_NONE                           0x00000000
2130 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SCALE_BY_TWO_NV                0x00020000
2131 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SCALE_BY_FOUR_NV               0x00040000
2132 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF_NV           0x00060000
2133 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_OPERATION_SHIFT                      27
2134 #define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_OPERATION_MASK                       0x38000000
2135 #define  NV10_TCL_PRIMITIVE_3D_RC_FINAL0                                        0x00000288
2136 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SHIFT                         0
2137 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_MASK                          0x0000000f
2138 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_ZERO                          0x00000000
2139 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR0_NV            0x00000001
2140 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR1_NV            0x00000002
2141 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_FOG                           0x00000003
2142 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_PRIMARY_COLOR_NV              0x00000004
2143 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SECONDARY_COLOR_NV            0x00000005
2144 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_TEXTURE1_ARB                  0x00000008
2145 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_TEXTURE0_ARB                  0x00000009
2146 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SPARE0_NV                     0x0000000c
2147 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SPARE1_NV                     0x0000000d
2148 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
2149 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_E_TIMES_F_NV                  0x0000000f
2150 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_COMPONENT_USAGE                     (1 <<  4)
2151 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_COMPONENT_USAGE_RGB                 0x00000000
2152 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_COMPONENT_USAGE_ALPHA               0x00000010
2153 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_SHIFT                       5
2154 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_MASK                        0x000000e0
2155 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY_NV        0x00000000
2156 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT_NV          0x00000020
2157 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_EXPAND_NORMAL_NV            0x00000040
2158 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_EXPAND_NEGATE_NV            0x00000060
2159 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL_NV         0x00000080
2160 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE_NV         0x000000a0
2161 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY_NV          0x000000c0
2162 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_SIGNED_NEGATE_NV            0x000000e0
2163 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SHIFT                         8
2164 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_MASK                          0x00000f00
2165 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_ZERO                          0x00000000
2166 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR0_NV            0x00000100
2167 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR1_NV            0x00000200
2168 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_FOG                           0x00000300
2169 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_PRIMARY_COLOR_NV              0x00000400
2170 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SECONDARY_COLOR_NV            0x00000500
2171 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_TEXTURE1_ARB                  0x00000800
2172 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_TEXTURE0_ARB                  0x00000900
2173 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SPARE0_NV                     0x00000c00
2174 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SPARE1_NV                     0x00000d00
2175 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x00000e00
2176 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_E_TIMES_F_NV                  0x00000f00
2177 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_COMPONENT_USAGE                     (1 << 12)
2178 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_COMPONENT_USAGE_RGB                 0x00000000
2179 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_COMPONENT_USAGE_ALPHA               0x00001000
2180 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_SHIFT                       13
2181 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_MASK                        0x0000e000
2182 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY_NV        0x00000000
2183 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT_NV          0x00002000
2184 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_EXPAND_NORMAL_NV            0x00004000
2185 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_EXPAND_NEGATE_NV            0x00006000
2186 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL_NV         0x00008000
2187 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE_NV         0x0000a000
2188 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY_NV          0x0000c000
2189 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_SIGNED_NEGATE_NV            0x0000e000
2190 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SHIFT                         16
2191 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_MASK                          0x000f0000
2192 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_ZERO                          0x00000000
2193 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR0_NV            0x00010000
2194 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR1_NV            0x00020000
2195 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_FOG                           0x00030000
2196 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_PRIMARY_COLOR_NV              0x00040000
2197 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SECONDARY_COLOR_NV            0x00050000
2198 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_TEXTURE1_ARB                  0x00080000
2199 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_TEXTURE0_ARB                  0x00090000
2200 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SPARE0_NV                     0x000c0000
2201 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SPARE1_NV                     0x000d0000
2202 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x000e0000
2203 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_E_TIMES_F_NV                  0x000f0000
2204 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_COMPONENT_USAGE                     (1 << 20)
2205 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_COMPONENT_USAGE_RGB                 0x00000000
2206 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_COMPONENT_USAGE_ALPHA               0x00100000
2207 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_SHIFT                       21
2208 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_MASK                        0x00e00000
2209 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY_NV        0x00000000
2210 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT_NV          0x00200000
2211 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_EXPAND_NORMAL_NV            0x00400000
2212 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_EXPAND_NEGATE_NV            0x00600000
2213 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL_NV         0x00800000
2214 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE_NV         0x00a00000
2215 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY_NV          0x00c00000
2216 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_SIGNED_NEGATE_NV            0x00e00000
2217 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SHIFT                         24
2218 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_MASK                          0x0f000000
2219 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_ZERO                          0x00000000
2220 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR0_NV            0x01000000
2221 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR1_NV            0x02000000
2222 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_FOG                           0x03000000
2223 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_PRIMARY_COLOR_NV              0x04000000
2224 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SECONDARY_COLOR_NV            0x05000000
2225 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_TEXTURE1_ARB                  0x08000000
2226 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_TEXTURE0_ARB                  0x09000000
2227 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SPARE0_NV                     0x0c000000
2228 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SPARE1_NV                     0x0d000000
2229 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0e000000
2230 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_E_TIMES_F_NV                  0x0f000000
2231 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_COMPONENT_USAGE                     (1 << 28)
2232 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_COMPONENT_USAGE_RGB                 0x00000000
2233 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_COMPONENT_USAGE_ALPHA               0x10000000
2234 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_SHIFT                       29
2235 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_MASK                        0xe0000000
2236 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY_NV        0x00000000
2237 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT_NV          0x20000000
2238 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_EXPAND_NORMAL_NV            0x40000000
2239 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_EXPAND_NEGATE_NV            0x60000000
2240 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL_NV         0x80000000
2241 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE_NV         0xa0000000
2242 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY_NV          0xc0000000
2243 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_SIGNED_NEGATE_NV            0xe0000000
2244 #define  NV10_TCL_PRIMITIVE_3D_RC_FINAL1                                        0x0000028c
2245 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_COLOR_SUM_CLAMP                       (1 <<  7)
2246 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SHIFT                         8
2247 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_MASK                          0x00000f00
2248 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_ZERO                          0x00000000
2249 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR0_NV            0x00000100
2250 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR1_NV            0x00000200
2251 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_FOG                           0x00000300
2252 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_PRIMARY_COLOR_NV              0x00000400
2253 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SECONDARY_COLOR_NV            0x00000500
2254 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_TEXTURE1_ARB                  0x00000800
2255 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_TEXTURE0_ARB                  0x00000900
2256 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SPARE0_NV                     0x00000c00
2257 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SPARE1_NV                     0x00000d00
2258 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x00000e00
2259 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_E_TIMES_F_NV                  0x00000f00
2260 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_COMPONENT_USAGE                     (1 << 12)
2261 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_COMPONENT_USAGE_RGB                 0x00000000
2262 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_COMPONENT_USAGE_ALPHA               0x00001000
2263 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_SHIFT                       13
2264 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_MASK                        0x0000e000
2265 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY_NV        0x00000000
2266 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT_NV          0x00002000
2267 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_EXPAND_NORMAL_NV            0x00004000
2268 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_EXPAND_NEGATE_NV            0x00006000
2269 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL_NV         0x00008000
2270 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE_NV         0x0000a000
2271 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY_NV          0x0000c000
2272 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_SIGNED_NEGATE_NV            0x0000e000
2273 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SHIFT                         16
2274 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_MASK                          0x000f0000
2275 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_ZERO                          0x00000000
2276 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR0_NV            0x00010000
2277 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR1_NV            0x00020000
2278 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_FOG                           0x00030000
2279 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_PRIMARY_COLOR_NV              0x00040000
2280 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SECONDARY_COLOR_NV            0x00050000
2281 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_TEXTURE1_ARB                  0x00080000
2282 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_TEXTURE0_ARB                  0x00090000
2283 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SPARE0_NV                     0x000c0000
2284 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SPARE1_NV                     0x000d0000
2285 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x000e0000
2286 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_E_TIMES_F_NV                  0x000f0000
2287 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_COMPONENT_USAGE                     (1 << 20)
2288 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_COMPONENT_USAGE_RGB                 0x00000000
2289 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_COMPONENT_USAGE_ALPHA               0x00100000
2290 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_SHIFT                       21
2291 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_MASK                        0x00e00000
2292 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY_NV        0x00000000
2293 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT_NV          0x00200000
2294 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_EXPAND_NORMAL_NV            0x00400000
2295 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_EXPAND_NEGATE_NV            0x00600000
2296 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL_NV         0x00800000
2297 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE_NV         0x00a00000
2298 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY_NV          0x00c00000
2299 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_SIGNED_NEGATE_NV            0x00e00000
2300 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SHIFT                         24
2301 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_MASK                          0x0f000000
2302 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_ZERO                          0x00000000
2303 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR0_NV            0x01000000
2304 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR1_NV            0x02000000
2305 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_FOG                           0x03000000
2306 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_PRIMARY_COLOR_NV              0x04000000
2307 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SECONDARY_COLOR_NV            0x05000000
2308 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_TEXTURE1_ARB                  0x08000000
2309 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_TEXTURE0_ARB                  0x09000000
2310 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SPARE0_NV                     0x0c000000
2311 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SPARE1_NV                     0x0d000000
2312 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0e000000
2313 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_E_TIMES_F_NV                  0x0f000000
2314 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_COMPONENT_USAGE                     (1 << 28)
2315 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_COMPONENT_USAGE_RGB                 0x00000000
2316 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_COMPONENT_USAGE_ALPHA               0x10000000
2317 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_SHIFT                       29
2318 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_MASK                        0xe0000000
2319 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY_NV        0x00000000
2320 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT_NV          0x20000000
2321 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_EXPAND_NORMAL_NV            0x40000000
2322 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_EXPAND_NEGATE_NV            0x60000000
2323 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL_NV         0x80000000
2324 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE_NV         0xa0000000
2325 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY_NV          0xc0000000
2326 #define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_SIGNED_NEGATE_NV            0xe0000000
2327 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL                                      0x00000294
2328 #define   NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_COLOR_CONTROL                       (1 <<  1)
2329 #define   NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_LOCAL_VIEWER                        (1 << 16)
2330 #define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE                            0x00000298
2331 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_SPECULAR                  (1 <<  0)
2332 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_DIFFUSE                   (1 <<  1)
2333 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_AMBIENT                   (1 <<  2)
2334 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_EMISSION                  (1 <<  3)
2335 #define  NV10_TCL_PRIMITIVE_3D_FOG_MODE                                         0x0000029c
2336 #define  NV10_TCL_PRIMITIVE_3D_FOG_MODE_EXP                                     0x00000800
2337 #define  NV10_TCL_PRIMITIVE_3D_FOG_MODE_EXP_2                                   0x00000802
2338 #define  NV10_TCL_PRIMITIVE_3D_FOG_MODE_EXP2                                    0x00000803
2339 #define  NV10_TCL_PRIMITIVE_3D_FOG_MODE_LINEAR                                  0x00000804
2340 #define  NV10_TCL_PRIMITIVE_3D_FOG_MODE_LINEAR_2                                0x00002601
2341 #define  NV10_TCL_PRIMITIVE_3D_FOG_COORD_DIST                                   0x000002a0
2342 #define  NV10_TCL_PRIMITIVE_3D_FOG_ENABLE                                       0x000002a4
2343 #define  NV10_TCL_PRIMITIVE_3D_FOG_COLOR                                        0x000002a8
2344 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_R_SHIFT                               0
2345 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_R_MASK                                0x000000ff
2346 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_G_SHIFT                               8
2347 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_G_MASK                                0x0000ff00
2348 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_B_SHIFT                               16
2349 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_B_MASK                                0x00ff0000
2350 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_A_SHIFT                               24
2351 #define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_A_MASK                                0xff000000
2352 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_MODE                               0x000002b4
2353 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(x)                           (0x000002c0+((x)*4))
2354 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ__SIZE                        0x00000008
2355 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_L_SHIFT                0
2356 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_L_MASK                 0x000007ff
2357 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_LEFT_ENABLE            (1 << 11)
2358 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_R_SHIFT                16
2359 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_R_MASK                 0x07ff0000
2360 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_RIGHT_ENABLE           (1 << 27)
2361 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(x)                            (0x000002e0+((x)*4))
2362 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT__SIZE                         0x00000008
2363 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_T_SHIFT                 0
2364 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_T_MASK                  0x000007ff
2365 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_TOP_ENABLE              (1 << 11)
2366 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_B_SHIFT                 16
2367 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_B_MASK                  0x07ff0000
2368 #define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_BOTTOM_ENABLE           (1 << 27)
2369 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE                                0x00000300
2370 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE                                0x00000304
2371 #define  NV10_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                                 0x00000308
2372 #define  NV10_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                                0x0000030c
2373 #define  NV10_TCL_PRIMITIVE_3D_DITHER_ENABLE                                    0x00000310
2374 #define  NV10_TCL_PRIMITIVE_3D_LIGHTING_ENABLE                                  0x00000314
2375 #define  NV10_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE                          0x00000318
2376 #define  NV10_TCL_PRIMITIVE_3D_POINT_SMOOTH_ENABLE                              0x0000031c
2377 #define  NV10_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                               0x00000320
2378 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE                            0x00000324
2379 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_WEIGHT_ENABLE                             0x00000328
2380 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_ENABLE                                   0x0000032c
2381 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE                      0x00000330
2382 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE                       0x00000334
2383 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE                       0x00000338
2384 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                                  0x0000033c
2385 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NEVER                            0x00000200
2386 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LESS                             0x00000201
2387 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_EQUAL                            0x00000202
2388 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LEQUAL                           0x00000203
2389 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                          0x00000204
2390 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                          0x00000204
2391 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NOTEQUAL                         0x00000205
2392 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GEQUAL                           0x00000206
2393 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_ALWAYS                           0x00000207
2394 #define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                                   0x00000340
2395 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                                   0x00000344
2396 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ZERO                              0x00000000
2397 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE                               0x00000001
2398 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_COLOR                         0x00000300
2399 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR               0x00000301
2400 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA                         0x00000302
2401 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA               0x00000303
2402 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_ALPHA                         0x00000304
2403 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA               0x00000305
2404 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_COLOR                         0x00000306
2405 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR               0x00000307
2406 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE                0x00000308
2407 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_COLOR                    0x00008001
2408 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR          0x00008002
2409 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_ALPHA                    0x00008003
2410 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA          0x00008004
2411 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                                   0x00000348
2412 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ZERO                              0x00000000
2413 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE                               0x00000001
2414 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_COLOR                         0x00000300
2415 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR               0x00000301
2416 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA                         0x00000302
2417 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA               0x00000303
2418 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_ALPHA                         0x00000304
2419 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA               0x00000305
2420 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_COLOR                         0x00000306
2421 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR               0x00000307
2422 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA_SATURATE                0x00000308
2423 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_COLOR                    0x00008001
2424 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR          0x00008002
2425 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_ALPHA                    0x00008003
2426 #define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA          0x00008004
2427 #define  NV10_TCL_PRIMITIVE_3D_BLEND_COLOR                                      0x0000034c
2428 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_B_SHIFT                             0
2429 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_B_MASK                              0x000000ff
2430 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_G_SHIFT                             8
2431 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_G_MASK                              0x0000ff00
2432 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_R_SHIFT                             16
2433 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_R_MASK                              0x00ff0000
2434 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_A_SHIFT                             24
2435 #define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_A_MASK                              0xff000000
2436 #define  NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION                                   0x00000350
2437 #define  NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_ADD                          0x00008006
2438 #define  NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_MIN                               0x00008007
2439 #define  NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_MAX                               0x00008008
2440 #define  NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_SUBTRACT                     0x0000800a
2441 #define  NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT             0x0000800b
2442 #define  NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC                                       0x00000354
2443 #define  NV10_TCL_PRIMITIVE_3D_COLOR_MASK                                       0x00000358
2444 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_B                                    (1 <<  0)
2445 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_G                                    (1 <<  8)
2446 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_R                                    (1 << 16)
2447 #define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_A                                    (1 << 24)
2448 #define  NV10_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE                               0x0000035c
2449 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_MASK                                     0x00000360
2450 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC                                0x00000364
2451 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NEVER                          0x00000200
2452 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LESS                           0x00000201
2453 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_EQUAL                          0x00000202
2454 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LEQUAL                         0x00000203
2455 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                        0x00000204
2456 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                        0x00000204
2457 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NOTEQUAL                       0x00000205
2458 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GEQUAL                         0x00000206
2459 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_ALWAYS                         0x00000207
2460 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_REF                                 0x00000368
2461 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_MASK                                0x0000036c
2462 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL                                  0x00000370
2463 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_ZERO                             0x00000000
2464 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INVERT                           0x0000150a
2465 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_KEEP                             0x00001e00
2466 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_REPLACE                          0x00001e01
2467 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR                             0x00001e02
2468 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR                             0x00001e03
2469 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR_WRAP                        0x00008507
2470 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR_WRAP                        0x00008508
2471 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL                                 0x00000374
2472 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_ZERO                            0x00000000
2473 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INVERT                          0x0000150a
2474 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_KEEP                            0x00001e00
2475 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_REPLACE                         0x00001e01
2476 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR                            0x00001e02
2477 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR                            0x00001e03
2478 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR_WRAP                       0x00008507
2479 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR_WRAP                       0x00008508
2480 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS                                 0x00000378
2481 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_ZERO                            0x00000000
2482 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INVERT                          0x0000150a
2483 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_KEEP                            0x00001e00
2484 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_REPLACE                         0x00001e01
2485 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR                            0x00001e02
2486 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR                            0x00001e03
2487 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR_WRAP                       0x00008507
2488 #define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR_WRAP                       0x00008508
2489 #define  NV10_TCL_PRIMITIVE_3D_SHADE_MODEL                                      0x0000037c
2490 #define  NV10_TCL_PRIMITIVE_3D_SHADE_MODEL_FLAT                                 0x00001d00
2491 #define  NV10_TCL_PRIMITIVE_3D_SHADE_MODEL_SMOOTH                               0x00001d01
2492 #define  NV10_TCL_PRIMITIVE_3D_LINE_WIDTH                                       0x00000380
2493 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR                            0x00000384
2494 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS                             0x00000388
2495 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                               0x0000038c
2496 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_POINT                         0x00001b00
2497 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_LINE                          0x00001b01
2498 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_FILL                          0x00001b02
2499 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                                0x00000390
2500 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_POINT                          0x00001b00
2501 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_LINE                           0x00001b01
2502 #define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_FILL                           0x00001b02
2503 #define  NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                                 0x00000394
2504 #define  NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                                  0x00000398
2505 #define  NV10_TCL_PRIMITIVE_3D_CULL_FACE                                        0x0000039c
2506 #define  NV10_TCL_PRIMITIVE_3D_CULL_FACE_FRONT                                  0x00000404
2507 #define  NV10_TCL_PRIMITIVE_3D_CULL_FACE_BACK                                   0x00000405
2508 #define  NV10_TCL_PRIMITIVE_3D_CULL_FACE_FRONT_AND_BACK                         0x00000408
2509 #define  NV10_TCL_PRIMITIVE_3D_FRONT_FACE                                       0x000003a0
2510 #define  NV10_TCL_PRIMITIVE_3D_FRONT_FACE_CW                                    0x00000900
2511 #define  NV10_TCL_PRIMITIVE_3D_FRONT_FACE_CCW                                   0x00000901
2512 #define  NV10_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                                 0x000003a4
2513 #define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_R                                 0x000003a8
2514 #define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_G                                 0x000003ac
2515 #define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_B                                 0x000003b0
2516 #define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_A                                 0x000003b4
2517 #define  NV10_TCL_PRIMITIVE_3D_COLOR_CONTROL                                    0x000003b8
2518 #define  NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS                                   0x000003bc
2519 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT0                           (1 <<  0)
2520 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT1                           (1 <<  2)
2521 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT2                           (1 <<  4)
2522 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT3                           (1 <<  6)
2523 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT4                           (1 <<  8)
2524 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT5                           (1 << 10)
2525 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT6                           (1 << 12)
2526 #define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT7                           (1 << 14)
2527 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(x)                             (0x000003c0+((x)*4))
2528 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE__SIZE                          0x00000008
2529 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE_FALSE                          0x00000000
2530 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE_EYE_LINEAR                     0x00002400
2531 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE_OBJECT_LINEAR                  0x00002401
2532 #define  NV10_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(x)                              (0x000003e0+((x)*4))
2533 #define  NV10_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE__SIZE                           0x00000002
2534 #define  NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE                               0x000003e8
2535 #define   NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE_MODELVIEW1                   (1 <<  0)
2536 #define   NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE_MODELVIEW0                   (1 <<  1)
2537 #define   NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE_PROJECTION                   (1 <<  2)
2538 #define  NV10_TCL_PRIMITIVE_3D_POINT_SIZE                                       0x000003ec
2539 #define  NV10_TCL_PRIMITIVE_3D_MODELVIEW0_MATRIX(x)                             (0x00000400+((x)*4))
2540 #define  NV10_TCL_PRIMITIVE_3D_MODELVIEW0_MATRIX__SIZE                          0x00000010
2541 #define  NV10_TCL_PRIMITIVE_3D_MODELVIEW1_MATRIX(x)                             (0x00000440+((x)*4))
2542 #define  NV10_TCL_PRIMITIVE_3D_MODELVIEW1_MATRIX__SIZE                          0x00000010
2543 #define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW0_MATRIX(x)                     (0x00000480+((x)*4))
2544 #define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW0_MATRIX__SIZE                  0x00000010
2545 #define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW1_MATRIX(x)                     (0x000004c0+((x)*4))
2546 #define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW1_MATRIX__SIZE                  0x00000010
2547 #define  NV10_TCL_PRIMITIVE_3D_PROJECTION_MATRIX(x)                             (0x00000500+((x)*4))
2548 #define  NV10_TCL_PRIMITIVE_3D_PROJECTION_MATRIX__SIZE                          0x00000010
2549 #define  NV10_TCL_PRIMITIVE_3D_TX0_MATRIX(x)                                    (0x00000540+((x)*4))
2550 #define  NV10_TCL_PRIMITIVE_3D_TX0_MATRIX__SIZE                                 0x00000010
2551 #define  NV10_TCL_PRIMITIVE_3D_TX1_MATRIX(x)                                    (0x00000580+((x)*4))
2552 #define  NV10_TCL_PRIMITIVE_3D_TX1_MATRIX__SIZE                                 0x00000010
2553 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_A(x)                                  (0x00000600+((x)*16))
2554 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_A__SIZE                               0x00000008
2555 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_B(x)                                  (0x00000604+((x)*16))
2556 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_B__SIZE                               0x00000008
2557 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_C(x)                                  (0x00000608+((x)*16))
2558 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_C__SIZE                               0x00000008
2559 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_D(x)                                  (0x0000060c+((x)*16))
2560 #define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_D__SIZE                               0x00000008
2561 #define  NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT                            0x00000680
2562 #define  NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR                              0x00000684
2563 #define  NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC                           0x00000688
2564 #define  NV10_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS(x)                      (0x000006a0+((x)*4))
2565 #define  NV10_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS__SIZE                   0x00000006
2566 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R0x000006c4
2567 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G0x000006c8
2568 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B0x000006cc
2569 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_X                                 0x000006e8
2570 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_Y                                 0x000006ec
2571 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_Z                                 0x000006f0
2572 #define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_W                                 0x000006f4
2573 #define  NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER(x)                               (0x000006f8+((x)*4))
2574 #define  NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER__SIZE                            0x00000008
2575 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(x)            (0x00000800+((x)*128))
2576 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R__SIZE         0x00000008
2577 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(x)            (0x00000804+((x)*128))
2578 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G__SIZE         0x00000008
2579 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(x)            (0x00000808+((x)*128))
2580 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B__SIZE         0x00000008
2581 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(x)            (0x0000080c+((x)*128))
2582 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R__SIZE         0x00000008
2583 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(x)            (0x00000810+((x)*128))
2584 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G__SIZE         0x00000008
2585 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(x)            (0x00000814+((x)*128))
2586 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B__SIZE         0x00000008
2587 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(x)           (0x00000818+((x)*128))
2588 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R__SIZE        0x00000008
2589 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(x)           (0x0000081c+((x)*128))
2590 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G__SIZE        0x00000008
2591 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(x)           (0x00000820+((x)*128))
2592 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B__SIZE        0x00000008
2593 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X(x)                           (0x00000828+((x)*128))
2594 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X__SIZE                        0x00000008
2595 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y(x)                           (0x0000082c+((x)*128))
2596 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y__SIZE                        0x00000008
2597 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z(x)                           (0x00000830+((x)*128))
2598 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z__SIZE                        0x00000008
2599 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X(x)                             (0x00000834+((x)*128))
2600 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X__SIZE                          0x00000008
2601 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y(x)                             (0x00000838+((x)*128))
2602 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y__SIZE                          0x00000008
2603 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z(x)                             (0x0000083c+((x)*128))
2604 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z__SIZE                          0x00000008
2605 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A(x)                           (0x00000840+((x)*128))
2606 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A__SIZE                        0x00000008
2607 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B(x)                           (0x00000844+((x)*128))
2608 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B__SIZE                        0x00000008
2609 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C(x)                           (0x00000848+((x)*128))
2610 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C__SIZE                        0x00000008
2611 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X(x)                              (0x0000084c+((x)*128))
2612 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X__SIZE                           0x00000008
2613 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y(x)                              (0x00000850+((x)*128))
2614 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y__SIZE                           0x00000008
2615 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z(x)                              (0x00000854+((x)*128))
2616 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z__SIZE                           0x00000008
2617 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D(x)                           (0x00000858+((x)*128))
2618 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D__SIZE                        0x00000008
2619 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_X(x)                              (0x0000085c+((x)*128))
2620 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_X__SIZE                           0x00000008
2621 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y(x)                              (0x00000860+((x)*128))
2622 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y__SIZE                           0x00000008
2623 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z(x)                              (0x00000864+((x)*128))
2624 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z__SIZE                           0x00000008
2625 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT(x)                    (0x00000868+((x)*128))
2626 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT__SIZE                 0x00000008
2627 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR(x)                      (0x0000086c+((x)*128))
2628 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR__SIZE                   0x00000008
2629 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC(x)                   (0x00000870+((x)*128))
2630 #define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC__SIZE                0x00000008
2631 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_X                                  0x00000c00
2632 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Y                                  0x00000c04
2633 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Z                                  0x00000c08
2634 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_X                                  0x00000c18
2635 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Y                                  0x00000c1c
2636 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Z                                  0x00000c20
2637 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_W                                  0x00000c24
2638 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_X                                  0x00000c30
2639 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Y                                  0x00000c34
2640 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Z                                  0x00000c38
2641 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                                 0x00000c40
2642 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_SHIFT                        0
2643 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_MASK                         0x0000ffff
2644 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_SHIFT                        16
2645 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_MASK                         0xffff0000
2646 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                                  0x00000c44
2647 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_SHIFT                         0
2648 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_MASK                          0x0000ffff
2649 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_R                                  0x00000c50
2650 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_G                                  0x00000c54
2651 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_B                                  0x00000c58
2652 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_A                                  0x00000c5c
2653 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_R                                  0x00000c60
2654 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_G                                  0x00000c64
2655 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_B                                  0x00000c68
2656 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I                                    0x00000c6c
2657 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_SHIFT                           0
2658 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_MASK                            0x000000ff
2659 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_SHIFT                           8
2660 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_MASK                            0x0000ff00
2661 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_SHIFT                           16
2662 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_MASK                            0x00ff0000
2663 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_SHIFT                           24
2664 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_MASK                            0xff000000
2665 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_R                                 0x00000c80
2666 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_G                                 0x00000c84
2667 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_B                                 0x00000c88
2668 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I                                   0x00000c8c
2669 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_R_SHIFT                          0
2670 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_R_MASK                           0x000000ff
2671 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_G_SHIFT                          8
2672 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_G_MASK                           0x0000ff00
2673 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_B_SHIFT                          16
2674 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_B_MASK                           0x00ff0000
2675 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S                                  0x00000c90
2676 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T                                  0x00000c94
2677 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I                                    0x00000c98
2678 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_SHIFT                           0
2679 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_MASK                            0x0000ffff
2680 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_SHIFT                           16
2681 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_MASK                            0xffff0000
2682 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_S                                  0x00000ca0
2683 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_T                                  0x00000ca4
2684 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_R                                  0x00000ca8
2685 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_Q                                  0x00000cac
2686 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST                                 0x00000cb0
2687 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_SHIFT                        0
2688 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_MASK                         0x0000ffff
2689 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_SHIFT                        16
2690 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_MASK                         0xffff0000
2691 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ                                 0x00000cb4
2692 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_SHIFT                        0
2693 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_MASK                         0x0000ffff
2694 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_SHIFT                        16
2695 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_MASK                         0xffff0000
2696 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S                                  0x00000cb8
2697 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T                                  0x00000cbc
2698 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I                                    0x00000cc0
2699 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_SHIFT                           0
2700 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_MASK                            0x0000ffff
2701 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_SHIFT                           16
2702 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_MASK                            0xffff0000
2703 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_S                                  0x00000cc8
2704 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_T                                  0x00000ccc
2705 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_R                                  0x00000cd0
2706 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_Q                                  0x00000cd4
2707 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST                                 0x00000cd8
2708 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_SHIFT                        0
2709 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_MASK                         0x0000ffff
2710 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_SHIFT                        16
2711 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_MASK                         0xffff0000
2712 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ                                 0x00000cdc
2713 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_SHIFT                        0
2714 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_MASK                         0x0000ffff
2715 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_SHIFT                        16
2716 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_MASK                         0xffff0000
2717 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_FOG_1F                                    0x00000ce0
2718 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_WGH_1F                                    0x00000ce4
2719 #define  NV10_TCL_PRIMITIVE_3D_EDGEFLAG_ENABLE                                  0x00000cec
2720 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_VALIDATE                            0x00000cf0
2721 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_POS                          0x00000d00
2722 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS                          0x00000d04
2723 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_TYPE_SHIFT              0
2724 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_TYPE_MASK               0x0000000f
2725 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_FIELDS_SHIFT            4
2726 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_FIELDS_MASK             0x000000f0
2727 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_STRIDE_SHIFT            8
2728 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_STRIDE_MASK             0x0000ff00
2729 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_COL                          0x00000d08
2730 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL                          0x00000d0c
2731 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_TYPE_SHIFT              0
2732 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_TYPE_MASK               0x0000000f
2733 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_FIELDS_SHIFT            4
2734 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_FIELDS_MASK             0x000000f0
2735 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_STRIDE_SHIFT            8
2736 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_STRIDE_MASK             0x0000ff00
2737 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_COL2                         0x00000d10
2738 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2                         0x00000d14
2739 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_TYPE_SHIFT             0
2740 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_TYPE_MASK              0x0000000f
2741 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_FIELDS_SHIFT           4
2742 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_FIELDS_MASK            0x000000f0
2743 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_STRIDE_SHIFT           8
2744 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_STRIDE_MASK            0x0000ff00
2745 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_TX0                          0x00000d18
2746 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0                          0x00000d1c
2747 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_TYPE_SHIFT              0
2748 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_TYPE_MASK               0x0000000f
2749 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_FIELDS_SHIFT            4
2750 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_FIELDS_MASK             0x000000f0
2751 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_STRIDE_SHIFT            8
2752 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_STRIDE_MASK             0x0000ff00
2753 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_TX1                          0x00000d20
2754 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1                          0x00000d24
2755 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_TYPE_SHIFT              0
2756 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_TYPE_MASK               0x0000000f
2757 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_FIELDS_SHIFT            4
2758 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_FIELDS_MASK             0x000000f0
2759 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_STRIDE_SHIFT            8
2760 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_STRIDE_MASK             0x0000ff00
2761 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_NOR                          0x00000d28
2762 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR                          0x00000d2c
2763 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_TYPE_SHIFT              0
2764 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_TYPE_MASK               0x0000000f
2765 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_FIELDS_SHIFT            4
2766 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_FIELDS_MASK             0x000000f0
2767 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_STRIDE_SHIFT            8
2768 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_STRIDE_MASK             0x0000ff00
2769 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_WGH                          0x00000d30
2770 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH                          0x00000d34
2771 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_TYPE_SHIFT              0
2772 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_TYPE_MASK               0x0000000f
2773 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_FIELDS_SHIFT            4
2774 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_FIELDS_MASK             0x000000f0
2775 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_STRIDE_SHIFT            8
2776 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_STRIDE_MASK             0x0000ff00
2777 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_FOG                          0x00000d38
2778 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG                          0x00000d3c
2779 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_TYPE_SHIFT              0
2780 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_TYPE_MASK               0x0000000f
2781 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_FIELDS_SHIFT            4
2782 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_FIELDS_MASK             0x000000f0
2783 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_STRIDE_SHIFT            8
2784 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_STRIDE_MASK             0x0000ff00
2785 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END                                 0x00000dfc
2786 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_STOP                            0x00000000
2787 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POINTS                          0x00000001
2788 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINES                           0x00000002
2789 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_LOOP                       0x00000003
2790 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_STRIP                      0x00000004
2791 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLES                       0x00000005
2792 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_STRIP                  0x00000006
2793 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_FAN                    0x00000007
2794 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUADS                           0x00000008
2795 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUAD_STRIP                      0x00000009
2796 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POLYGON                         0x0000000a
2797 #define  NV10_TCL_PRIMITIVE_3D_DRAW_INDEX                                       0x00000e00
2798 #define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I0_SHIFT                             0
2799 #define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I0_MASK                              0x0000ffff
2800 #define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I1_SHIFT                             24
2801 #define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I1_MASK                              0xff000000
2802 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END                          0x000013fc
2803 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_STOP                     0x00000000
2804 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_POINTS                   0x00000001
2805 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_LINES                    0x00000002
2806 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_LINE_LOOP                0x00000003
2807 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_LINE_STRIP               0x00000004
2808 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_TRIANGLES                0x00000005
2809 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_TRIANGLE_STRIP           0x00000006
2810 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_TRIANGLE_FAN             0x00000007
2811 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_QUADS                    0x00000008
2812 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_QUAD_STRIP               0x00000009
2813 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_POLYGON                  0x0000000a
2814 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS                        0x00001400
2815 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_SHIFT           0
2816 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_MASK            0x0000ffff
2817 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_LAST_SHIFT            24
2818 #define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_LAST_MASK             0xff000000
2819 #define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_DATA                                0x00001800
2820
2821
2822 #define NV04_CONTEXT_COLOR_KEY                                                  0x00000057
2823
2824
2825
2826 #define NV03_CONTEXT_SURFACES_2D                                                0x00000058
2827
2828 #define  NV03_CONTEXT_SURFACES_2D_SYNCHRONIZE                                   0x00000100
2829 #define  NV03_CONTEXT_SURFACES_2D_DMA_NOTIFY                                    0x00000180
2830 #define  NV03_CONTEXT_SURFACES_2D_DMA_SOURCE                                    0x00000184
2831 #define  NV03_CONTEXT_SURFACES_2D_DMA_DESTIN                                    0x00000188
2832 #define  NV03_CONTEXT_SURFACES_2D_COLOR_FORMAT                                  0x00000300
2833 #define  NV03_CONTEXT_SURFACES_2D_PITCH                                         0x00000304
2834 #define   NV03_CONTEXT_SURFACES_2D_PITCH_SOURCE_SHIFT                           0
2835 #define   NV03_CONTEXT_SURFACES_2D_PITCH_SOURCE_MASK                            0x0000ffff
2836 #define   NV03_CONTEXT_SURFACES_2D_PITCH_DESTIN_SHIFT                           16
2837 #define   NV03_CONTEXT_SURFACES_2D_PITCH_DESTIN_MASK                            0xffff0000
2838 #define  NV03_CONTEXT_SURFACES_2D_OFFSET_SOURCE                                 0x00000308
2839 #define  NV03_CONTEXT_SURFACES_2D_OFFSET_DESTIN                                 0x0000030c
2840
2841
2842 #define NV03_CONTEXT_SURFACES_3D                                                0x0000005a
2843
2844 #define  NV03_CONTEXT_SURFACES_3D_SYNCHRONIZE                                   0x00000100
2845 #define  NV03_CONTEXT_SURFACES_3D_DMA_NOTIFY                                    0x00000180
2846 #define  NV03_CONTEXT_SURFACES_3D_DMA_SURFACE                                   0x00000184
2847 #define  NV03_CONTEXT_SURFACES_3D_PITCH                                         0x00000300
2848 #define  NV03_CONTEXT_SURFACES_3D_OFFSET_COLOR                                  0x00000304
2849 #define  NV03_CONTEXT_SURFACES_3D_OFFSET_ZETA                                   0x00000308
2850
2851
2852 #define NV04_RENDER_SOLID_LINE                                                  0x0000005c
2853
2854 #define  NV04_RENDER_SOLID_LINE_SURFACE                                         0x00000198
2855
2856
2857 #define NV04_RENDER_SOLID_TRIANGLE                                              0x0000005d
2858
2859
2860
2861 #define NV04_RENDER_SOLID_RECTANGLE                                             0x0000005e
2862
2863 #define  NV04_RENDER_SOLID_RECTANGLE_SURFACE                                    0x00000198
2864
2865
2866 #define NV_IMAGE_BLIT                                                           0x0000005f
2867
2868 #define  NV_IMAGE_BLIT_NOP                                                      0x00000100
2869 #define  NV_IMAGE_BLIT_NOTIFY                                                   0x00000104
2870 #define  NV_IMAGE_BLIT_DMA_NOTIFY                                               0x00000180
2871 #define  NV_IMAGE_BLIT_COLOR_KEY                                                0x00000184
2872 #define  NV_IMAGE_BLIT_CLIP_RECTANGLE                                           0x00000188
2873 #define  NV_IMAGE_BLIT_PATTERN                                                  0x0000018c
2874 #define  NV_IMAGE_BLIT_ROP                                                      0x00000190
2875 #define  NV_IMAGE_BLIT_BETA4                                                    0x00000198
2876 #define  NV_IMAGE_BLIT_SURFACE                                                  0x0000019c
2877 #define  NV_IMAGE_BLIT_OPERATION                                                0x000002fc
2878 #define  NV_IMAGE_BLIT_OPERATION_SRCCOPY_AND                                    0x00000000
2879 #define  NV_IMAGE_BLIT_OPERATION_ROP_AND                                        0x00000001
2880 #define  NV_IMAGE_BLIT_OPERATION_BLEND_AND                                      0x00000002
2881 #define  NV_IMAGE_BLIT_OPERATION_SRCCOPY                                        0x00000003
2882 #define  NV_IMAGE_BLIT_OPERATION_SRCCOPY_PREMULT                                0x00000004
2883 #define  NV_IMAGE_BLIT_OPERATION_BLEND_PREMULT                                  0x00000005
2884 #define  NV_IMAGE_BLIT_POINT_IN                                                 0x00000300
2885 #define   NV_IMAGE_BLIT_POINT_IN_X_SHIFT                                        0
2886 #define   NV_IMAGE_BLIT_POINT_IN_X_MASK                                         0x0000ffff
2887 #define   NV_IMAGE_BLIT_POINT_IN_Y_SHIFT                                        16
2888 #define   NV_IMAGE_BLIT_POINT_IN_Y_MASK                                         0xffff0000
2889 #define  NV_IMAGE_BLIT_POINT_OUT                                                0x00000300
2890 #define   NV_IMAGE_BLIT_POINT_OUT_X_SHIFT                                       0
2891 #define   NV_IMAGE_BLIT_POINT_OUT_X_MASK                                        0x0000ffff
2892 #define   NV_IMAGE_BLIT_POINT_OUT_Y_SHIFT                                       16
2893 #define   NV_IMAGE_BLIT_POINT_OUT_Y_MASK                                        0xffff0000
2894 #define  NV_IMAGE_BLIT_SIZE                                                     0x00000300
2895 #define   NV_IMAGE_BLIT_SIZE_W_SHIFT                                            0
2896 #define   NV_IMAGE_BLIT_SIZE_W_MASK                                             0x0000ffff
2897 #define   NV_IMAGE_BLIT_SIZE_H_SHIFT                                            16
2898 #define   NV_IMAGE_BLIT_SIZE_H_MASK                                             0xffff0000
2899
2900
2901 #define NV04_INDEXED_IMAGE_FROM_CPU                                             0x00000060
2902
2903 #define  NV04_INDEXED_IMAGE_FROM_CPU_NOP                                        0x00000100
2904 #define  NV04_INDEXED_IMAGE_FROM_CPU_NOTIFY                                     0x00000104
2905 #define  NV04_INDEXED_IMAGE_FROM_CPU_PATCH                                      0x0000010c
2906 #define  NV04_INDEXED_IMAGE_FROM_CPU_DMA_NOTIFY                                 0x00000180
2907 #define  NV04_INDEXED_IMAGE_FROM_CPU_DMA_LUT                                    0x00000184
2908 #define  NV04_INDEXED_IMAGE_FROM_CPU_COLOR_FORMAT                               0x000003e8
2909 #define  NV04_INDEXED_IMAGE_FROM_CPU_INDEX_FORMAT                               0x000003ec
2910 #define  NV04_INDEXED_IMAGE_FROM_CPU_LUT_OFFSET                                 0x000003f0
2911 #define  NV04_INDEXED_IMAGE_FROM_CPU_POINT                                      0x000003f4
2912 #define  NV04_INDEXED_IMAGE_FROM_CPU_SIZE_OUT                                   0x000003f8
2913 #define  NV04_INDEXED_IMAGE_FROM_CPU_SIZE_IN                                    0x000003fc
2914 #define  NV04_INDEXED_IMAGE_FROM_CPU_COLOR                                      0x00000400
2915
2916
2917 #define NV_IMAGE_FROM_CPU                                                       0x00000061
2918
2919 #define  NV_IMAGE_FROM_CPU_BETA4                                                0x00000198
2920 #define  NV_IMAGE_FROM_CPU_SURFACE                                              0x0000019c
2921
2922
2923 #define NV10_CONTEXT_SURFACES_2D                                                0x00000062
2924
2925
2926
2927 #define NV05_SCALED_IMAGE_FROM_MEMORY                                           0x00000063
2928
2929 #define  NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION                         0x000002fc
2930 #define  NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_DITHER                  0x00000000
2931 #define  NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_TRUNCATE                0x00000001
2932 #define  NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_SUBTR_TRUNCATE          0x00000002
2933
2934
2935 #define NV01_IMAGE_SRCCOPY_AND                                                  0x00000064
2936
2937 #define  NV01_IMAGE_SRCCOPY_AND_NOTIFY                                          0x00000104
2938 #define  NV01_IMAGE_SRCCOPY_AND_DMA_NOTIFY                                      0x00000180
2939 #define  NV01_IMAGE_SRCCOPY_AND_IMAGE_OUTPUT                                    0x00000200
2940 #define  NV01_IMAGE_SRCCOPY_AND_IMAGE_INPUT                                     0x00000204
2941
2942
2943 #define NV05_INDEXED_IMAGE_FROM_CPU                                             0x00000064
2944
2945 #define  NV05_INDEXED_IMAGE_FROM_CPU_COLOR_KEY                                  0x00000188
2946 #define  NV05_INDEXED_IMAGE_FROM_CPU_CLIP_RECTANGLE                             0x0000018c
2947 #define  NV05_INDEXED_IMAGE_FROM_CPU_PATTERN                                    0x00000190
2948 #define  NV05_INDEXED_IMAGE_FROM_CPU_ROP                                        0x00000194
2949 #define  NV05_INDEXED_IMAGE_FROM_CPU_BETA1                                      0x00000198
2950 #define  NV05_INDEXED_IMAGE_FROM_CPU_BETA4                                      0x0000019c
2951 #define  NV05_INDEXED_IMAGE_FROM_CPU_SURFACE                                    0x000001a0
2952 #define  NV05_INDEXED_IMAGE_FROM_CPU_COLOR_CONVERSION                           0x000003e0
2953 #define  NV05_INDEXED_IMAGE_FROM_CPU_OPERATION                                  0x000003e4
2954 #define  NV05_INDEXED_IMAGE_FROM_CPU_INDICES                                    0x00000400
2955
2956
2957 #define NV05_IMAGE_FROM_CPU                                                     0x00000065
2958
2959 #define  NV05_IMAGE_FROM_CPU_BETA4                                              0x00000198
2960 #define  NV05_IMAGE_FROM_CPU_SURFACE                                            0x0000019c
2961
2962
2963 #define NV05_STRETCHED_IMAGE_FROM_CPU                                           0x00000066
2964
2965 #define  NV05_STRETCHED_IMAGE_FROM_CPU_BETA4                                    0x00000194
2966 #define  NV05_STRETCHED_IMAGE_FROM_CPU_SURFACE                                  0x00000198
2967 #define  NV05_STRETCHED_IMAGE_FROM_CPU_COLOR_CONVERSION                         0x000002f8
2968
2969
2970 #define NV04_IMAGE_BLEND_PREMULT                                                0x00000067
2971
2972 #define  NV04_IMAGE_BLEND_PREMULT_NOP                                           0x00000100
2973 #define  NV04_IMAGE_BLEND_PREMULT_NOTIFY                                        0x00000104
2974 #define  NV04_IMAGE_BLEND_PREMULT_DMA_NOTIFY                                    0x00000180
2975 #define  NV04_IMAGE_BLEND_PREMULT_IMAGE_OUTPUT                                  0x00000200
2976 #define  NV04_IMAGE_BLEND_PREMULT_BETA_INPUT                                    0x00000204
2977 #define  NV04_IMAGE_BLEND_PREMULT_IMAGE_INPUT                                   0x00000208
2978
2979
2980 #define NV03_CHANNEL_PIO                                                        0x0000006a
2981
2982
2983
2984 #define NV03_CHANNEL_DMA                                                        0x0000006b
2985
2986
2987
2988 #define NV04_BETA_SOLID                                                         0x00000072
2989
2990 #define  NV04_BETA_SOLID_NOP                                                    0x00000100
2991 #define  NV04_BETA_SOLID_NOTIFY                                                 0x00000104
2992 #define  NV04_BETA_SOLID_DMA_NOTIFY                                             0x00000180
2993 #define  NV04_BETA_SOLID_BETA_OUTPUT                                            0x00000200
2994 #define  NV04_BETA_SOLID_BETA_FACTOR                                            0x00000300
2995
2996
2997 #define NV04_STRETCHED_IMAGE_FROM_CPU                                           0x00000076
2998
2999
3000
3001 #define NV04_SCALED_IMAGE_FROM_MEMORY                                           0x00000077
3002
3003 #define  NV04_SCALED_IMAGE_FROM_MEMORY_NOP                                      0x00000100
3004 #define  NV04_SCALED_IMAGE_FROM_MEMORY_NOTIFY                                   0x00000104
3005 #define  NV04_SCALED_IMAGE_FROM_MEMORY_DMA_NOTIFY                               0x00000180
3006 #define  NV04_SCALED_IMAGE_FROM_MEMORY_DMA_IMAGE                                0x00000184
3007 #define  NV04_SCALED_IMAGE_FROM_MEMORY_PATTERN                                  0x00000188
3008 #define  NV04_SCALED_IMAGE_FROM_MEMORY_ROP                                      0x0000018c
3009 #define  NV04_SCALED_IMAGE_FROM_MEMORY_BETA1                                    0x00000190
3010 #define  NV04_SCALED_IMAGE_FROM_MEMORY_BETA4                                    0x00000194
3011 #define  NV04_SCALED_IMAGE_FROM_MEMORY_SURFACE                                  0x00000198
3012 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION                         0x000002fc
3013 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_DITHER                  0x00000000
3014 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_TRUNCATE                0x00000001
3015 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_SUBTR_TRUNCATE          0x00000002
3016 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT                             0x00000300
3017 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A1R5G5B5                    0x00000001
3018 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X1R5G5B5                    0x00000002
3019 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A8R8G8B8                    0x00000003
3020 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X8R8G8B8                    0x00000004
3021 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_V8YB8U8YA8                  0x00000005
3022 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_YB8V8YA8U8                  0x00000006
3023 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_R5G6B5                      0x00000007
3024 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_Y8                          0x00000008
3025 #define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_AY8                         0x00000009
3026 #define  NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION                                0x00000304
3027 #define  NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_AND                    0x00000000
3028 #define  NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_ROP_AND                        0x00000001
3029 #define  NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_AND                      0x00000002
3030 #define  NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY                        0x00000003
3031 #define  NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_PREMULT                0x00000004
3032 #define  NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_PREMULT                  0x00000005
3033 #define  NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT                               0x00000308
3034 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_SHIFT                      0
3035 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_MASK                       0x0000ffff
3036 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_SHIFT                      16
3037 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_MASK                       0xffff0000
3038 #define  NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE                                0x0000030c
3039 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_SHIFT                       0
3040 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_MASK                        0x0000ffff
3041 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_SHIFT                       16
3042 #define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_MASK                        0xffff0000
3043 #define  NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT                                0x00000310
3044 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_SHIFT                       0
3045 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_MASK                        0x0000ffff
3046 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_SHIFT                       16
3047 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_MASK                        0xffff0000
3048 #define  NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE                                 0x00000314
3049 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_SHIFT                        0
3050 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_MASK                         0x0000ffff
3051 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_SHIFT                        16
3052 #define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_MASK                         0xffff0000
3053 #define  NV04_SCALED_IMAGE_FROM_MEMORY_DU_DX                                    0x00000318
3054 #define  NV04_SCALED_IMAGE_FROM_MEMORY_DV_DY                                    0x0000031c
3055 #define  NV04_SCALED_IMAGE_FROM_MEMORY_SIZE                                     0x00000400
3056 #define   NV04_SCALED_IMAGE_FROM_MEMORY_SIZE_W_SHIFT                            0
3057 #define   NV04_SCALED_IMAGE_FROM_MEMORY_SIZE_W_MASK                             0x0000ffff
3058 #define   NV04_SCALED_IMAGE_FROM_MEMORY_SIZE_H_SHIFT                            16
3059 #define   NV04_SCALED_IMAGE_FROM_MEMORY_SIZE_H_MASK                             0xffff0000
3060 #define  NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT                                   0x00000404
3061 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_SHIFT                      0
3062 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_MASK                       0x0000ffff
3063 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_SHIFT                     16
3064 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_MASK                      0x00ff0000
3065 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CENTER                    0x00010000
3066 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CORNER                    0x00020000
3067 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_SHIFT                     24
3068 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_MASK                      0xff000000
3069 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_POINT_SAMPLE              0x00000000
3070 #define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_BILINEAR                  0x01000000
3071 #define  NV04_SCALED_IMAGE_FROM_MEMORY_ADDRESS                                  0x00000408
3072 #define  NV04_SCALED_IMAGE_FROM_MEMORY_POINT                                    0x0000040c
3073 #define   NV04_SCALED_IMAGE_FROM_MEMORY_POINT_X_SHIFT                           0
3074 #define   NV04_SCALED_IMAGE_FROM_MEMORY_POINT_X_MASK                            0x0000ffff
3075 #define   NV04_SCALED_IMAGE_FROM_MEMORY_POINT_Y_SHIFT                           16
3076 #define   NV04_SCALED_IMAGE_FROM_MEMORY_POINT_Y_MASK                            0xffff0000
3077
3078
3079 #define NV10_TEXTURE_FROM_CPU                                                   0x0000007b
3080
3081 #define  NV10_TEXTURE_FROM_CPU_NOP                                              0x00000100
3082 #define  NV10_TEXTURE_FROM_CPU_NOTIFY                                           0x00000104
3083 #define  NV10_TEXTURE_FROM_CPU_WAIT_FOR_IDLE                                    0x00000108
3084 #define  NV10_TEXTURE_FROM_CPU_PM_TRIGGER                                       0x00000140
3085 #define  NV10_TEXTURE_FROM_CPU_DMA_NOTIFY                                       0x00000180
3086 #define  NV10_TEXTURE_FROM_CPU_SURFACE                                          0x00000184
3087 #define  NV10_TEXTURE_FROM_CPU_COLOR_FORMAT                                     0x00000300
3088 #define  NV10_TEXTURE_FROM_CPU_POINT                                            0x00000304
3089 #define   NV10_TEXTURE_FROM_CPU_POINT_X_SHIFT                                   0
3090 #define   NV10_TEXTURE_FROM_CPU_POINT_X_MASK                                    0x0000ffff
3091 #define   NV10_TEXTURE_FROM_CPU_POINT_Y_SHIFT                                   16
3092 #define   NV10_TEXTURE_FROM_CPU_POINT_Y_MASK                                    0xffff0000
3093 #define  NV10_TEXTURE_FROM_CPU_SIZE                                             0x00000308
3094 #define   NV10_TEXTURE_FROM_CPU_SIZE_W_SHIFT                                    0
3095 #define   NV10_TEXTURE_FROM_CPU_SIZE_W_MASK                                     0x0000ffff
3096 #define   NV10_TEXTURE_FROM_CPU_SIZE_H_SHIFT                                    16
3097 #define   NV10_TEXTURE_FROM_CPU_SIZE_H_MASK                                     0xffff0000
3098 #define  NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL                                  0x0000030c
3099 #define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_X_SHIFT                         0
3100 #define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_X_MASK                          0x0000ffff
3101 #define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_W_SHIFT                         16
3102 #define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_W_MASK                          0xffff0000
3103 #define  NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL                                    0x00000310
3104 #define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_Y_SHIFT                           0
3105 #define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_Y_MASK                            0x0000ffff
3106 #define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_H_SHIFT                           16
3107 #define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_H_MASK                            0xffff0000
3108 #define  NV10_TEXTURE_FROM_CPU_COLOR(x)                                         (0x00000400+((x)*4))
3109 #define  NV10_TEXTURE_FROM_CPU_COLOR__SIZE                                      0x00000700
3110
3111
3112 #define NV10_VIDEO_DISPLAY                                                      0x0000007c
3113
3114
3115
3116 #define NV10_DVD_SUBPICTURE                                                     0x00000088
3117
3118
3119
3120 #define NV10_SCALED_IMAGE_FROM_MEMORY                                           0x00000089
3121
3122 #define  NV10_SCALED_IMAGE_FROM_MEMORY_WAIT_FOR_IDLE                            0x00000108
3123
3124
3125 #define NV10_IMAGE_FROM_CPU                                                     0x0000008a
3126
3127 #define  NV10_IMAGE_FROM_CPU_COLOR_CONVERSION                                   0x000002f8
3128
3129
3130 #define NV10_CONTEXT_SURFACES_3D                                                0x00000093
3131
3132
3133
3134 #define NV10_DX5_TEXTURE_TRIANGLE                                               0x00000094
3135
3136
3137
3138 #define NV10_DX6_MULTI_TEXTURE_TRIANGLE                                         0x00000095
3139
3140
3141
3142 #define NV11_TCL_PRIMITIVE_3D                                                   0x00000096
3143
3144 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE                            0x00000d40
3145 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP                                0x00000d44
3146 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_CLEAR                          0x00001500
3147 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND                            0x00001501
3148 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_REVERSE                    0x00001502
3149 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY                           0x00001503
3150 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_INVERTED                   0x00001504
3151 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOOP                           0x00001505
3152 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_XOR                            0x00001506
3153 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR                             0x00001507
3154 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOR                            0x00001508
3155 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_EQUIV                          0x00001509
3156 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_INVERT                         0x0000150a
3157 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_REVERSE                     0x0000150b
3158 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY_INVERTED                  0x0000150c
3159 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_INVERTED                    0x0000150d
3160 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NAND                           0x0000150e
3161 #define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_SET                            0x0000150f
3162
3163
3164 #define NV20_TCL_PRIMITIVE_3D                                                   0x00000097
3165
3166 #define  NV20_TCL_PRIMITIVE_3D_NOP                                              0x00000100
3167 #define  NV20_TCL_PRIMITIVE_3D_NOTIFY                                           0x00000104
3168 #define  NV20_TCL_PRIMITIVE_3D_DMA_NOTIFY                                       0x00000180
3169 #define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY0                                   0x00000184
3170 #define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY1                                   0x00000188
3171 #define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY2                                   0x00000194
3172 #define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY3                                   0x00000198
3173 #define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY6                                   0x000001a4
3174 #define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY7                                   0x000001a8
3175 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                                   0x00000200
3176 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_VERT                                    0x00000204
3177 #define  NV20_TCL_PRIMITIVE_3D_BUFFER_FORMAT                                    0x00000208
3178 #define  NV20_TCL_PRIMITIVE_3D_BUFFER_PITCH                                     0x0000020c
3179 #define  NV20_TCL_PRIMITIVE_3D_COLOR_OFFSET                                     0x00000210
3180 #define  NV20_TCL_PRIMITIVE_3D_ZETA_OFFSET                                      0x00000214
3181 #define  NV20_TCL_PRIMITIVE_3D_RC_IN_ALPHA(x)                                   (0x00000260+((x)*4))
3182 #define  NV20_TCL_PRIMITIVE_3D_RC_IN_ALPHA__SIZE                                0x00000008
3183 #define  NV20_TCL_PRIMITIVE_3D_RC_FINAL0                                        0x00000288
3184 #define  NV20_TCL_PRIMITIVE_3D_RC_FINAL1                                        0x0000028c
3185 #define  NV20_TCL_PRIMITIVE_3D_LIGHT_CONTROL                                    0x00000294
3186 #define  NV20_TCL_PRIMITIVE_3D_FOG_MODE                                         0x0000029c
3187 #define  NV20_TCL_PRIMITIVE_3D_FOG_COORD_DIST                                   0x000002a0
3188 #define  NV20_TCL_PRIMITIVE_3D_FOG_ENABLE                                       0x000002a4
3189 #define  NV20_TCL_PRIMITIVE_3D_FOG_COLOR                                        0x000002a8
3190 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_MODE                               0x000002b4
3191 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(x)                           (0x000002c0+((x)*4))
3192 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ__SIZE                        0x00000008
3193 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(x)                            (0x000002e0+((x)*4))
3194 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT__SIZE                         0x00000008
3195 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE                                0x00000300
3196 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE                                0x00000304
3197 #define  NV20_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                                 0x00000308
3198 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                                0x0000030c
3199 #define  NV20_TCL_PRIMITIVE_3D_DITHER_ENABLE                                    0x00000310
3200 #define  NV20_TCL_PRIMITIVE_3D_LIGHTING_ENABLE                                  0x00000314
3201 #define  NV20_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE                          0x00000318
3202 #define  NV20_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                               0x00000320
3203 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE                            0x00000324
3204 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_ENABLE                                   0x0000032c
3205 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE                      0x00000330
3206 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE                       0x00000334
3207 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE                       0x00000338
3208 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                                  0x0000033c
3209 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NEVER                            0x00000200
3210 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LESS                             0x00000201
3211 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_EQUAL                            0x00000202
3212 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LEQUAL                           0x00000203
3213 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                          0x00000204
3214 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                          0x00000204
3215 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NOTEQUAL                         0x00000205
3216 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GEQUAL                           0x00000206
3217 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_ALWAYS                           0x00000207
3218 #define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                                   0x00000340
3219 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                                   0x00000344
3220 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ZERO                              0x00000000
3221 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE                               0x00000001
3222 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_COLOR                         0x00000300
3223 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR               0x00000301
3224 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA                         0x00000302
3225 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA               0x00000303
3226 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_ALPHA                         0x00000304
3227 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA               0x00000305
3228 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_COLOR                         0x00000306
3229 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR               0x00000307
3230 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE                0x00000308
3231 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_COLOR                    0x00008001
3232 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR          0x00008002
3233 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_ALPHA                    0x00008003
3234 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA          0x00008004
3235 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                                   0x00000348
3236 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ZERO                              0x00000000
3237 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE                               0x00000001
3238 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_COLOR                         0x00000300
3239 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR               0x00000301
3240 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA                         0x00000302
3241 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA               0x00000303
3242 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_ALPHA                         0x00000304
3243 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA               0x00000305
3244 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_COLOR                         0x00000306
3245 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR               0x00000307
3246 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA_SATURATE                0x00000308
3247 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_COLOR                    0x00008001
3248 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR          0x00008002
3249 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_ALPHA                    0x00008003
3250 #define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA          0x00008004
3251 #define  NV20_TCL_PRIMITIVE_3D_BLEND_COLOR                                      0x0000034c
3252 #define  NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION                                   0x00000350
3253 #define  NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_ADD                          0x00008006
3254 #define  NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_MIN                               0x00008007
3255 #define  NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_MAX                               0x00008008
3256 #define  NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_SUBTRACT                     0x0000800a
3257 #define  NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT             0x0000800b
3258 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC                                       0x00000354
3259 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_NEVER                                 0x00000200
3260 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_LESS                                  0x00000201
3261 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_EQUAL                                 0x00000202
3262 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_LEQUAL                                0x00000203
3263 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                               0x00000204
3264 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                               0x00000204
3265 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_NOTEQUAL                              0x00000205
3266 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_GEQUAL                                0x00000206
3267 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_ALWAYS                                0x00000207
3268 #define  NV20_TCL_PRIMITIVE_3D_COLOR_MASK                                       0x00000358
3269 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE                               0x0000035c
3270 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_MASK                                     0x00000360
3271 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC                                0x00000364
3272 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NEVER                          0x00000200
3273 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LESS                           0x00000201
3274 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_EQUAL                          0x00000202
3275 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LEQUAL                         0x00000203
3276 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                        0x00000204
3277 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                        0x00000204
3278 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NOTEQUAL                       0x00000205
3279 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GEQUAL                         0x00000206
3280 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_ALWAYS                         0x00000207
3281 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_REF                                 0x00000368
3282 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_MASK                                0x0000036c
3283 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL                                  0x00000370
3284 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_ZERO                             0x00000000
3285 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INVERT                           0x0000150a
3286 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_KEEP                             0x00001e00
3287 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_REPLACE                          0x00001e01
3288 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR                             0x00001e02
3289 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR                             0x00001e03
3290 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR_WRAP                        0x00008507
3291 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR_WRAP                        0x00008508
3292 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL                                 0x00000374
3293 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_ZERO                            0x00000000
3294 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INVERT                          0x0000150a
3295 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_KEEP                            0x00001e00
3296 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_REPLACE                         0x00001e01
3297 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR                            0x00001e02
3298 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR                            0x00001e03
3299 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR_WRAP                       0x00008507
3300 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR_WRAP                       0x00008508
3301 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS                                 0x00000378
3302 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_ZERO                            0x00000000
3303 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INVERT                          0x0000150a
3304 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_KEEP                            0x00001e00
3305 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_REPLACE                         0x00001e01
3306 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR                            0x00001e02
3307 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR                            0x00001e03
3308 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR_WRAP                       0x00008507
3309 #define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR_WRAP                       0x00008508
3310 #define  NV20_TCL_PRIMITIVE_3D_SHADE_MODEL                                      0x0000037c
3311 #define  NV20_TCL_PRIMITIVE_3D_SHADE_MODEL_FLAT                                 0x00001d00
3312 #define  NV20_TCL_PRIMITIVE_3D_SHADE_MODEL_SMOOTH                               0x00001d01
3313 #define  NV20_TCL_PRIMITIVE_3D_LINE_WIDTH                                       0x00000380
3314 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR                            0x00000384
3315 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS                             0x00000388
3316 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                               0x0000038c
3317 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_POINT                         0x00001b00
3318 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_LINE                          0x00001b01
3319 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_FILL                          0x00001b02
3320 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                                0x00000390
3321 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_POINT                          0x00001b00
3322 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_LINE                           0x00001b01
3323 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_FILL                           0x00001b02
3324 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                                 0x00000394
3325 #define  NV20_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                                  0x00000398
3326 #define  NV20_TCL_PRIMITIVE_3D_CULL_FACE                                        0x0000039c
3327 #define  NV20_TCL_PRIMITIVE_3D_CULL_FACE_FRONT                                  0x00000404
3328 #define  NV20_TCL_PRIMITIVE_3D_CULL_FACE_BACK                                   0x00000405
3329 #define  NV20_TCL_PRIMITIVE_3D_CULL_FACE_FRONT_AND_BACK                         0x00000408
3330 #define  NV20_TCL_PRIMITIVE_3D_FRONT_FACE                                       0x000003a0
3331 #define  NV20_TCL_PRIMITIVE_3D_FRONT_FACE_CW                                    0x00000900
3332 #define  NV20_TCL_PRIMITIVE_3D_FRONT_FACE_CCW                                   0x00000901
3333 #define  NV20_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                                 0x000003a4
3334 #define  NV20_TCL_PRIMITIVE_3D_SEPARATE_SPECULAR_ENABLE                         0x000003b8
3335 #define  NV20_TCL_PRIMITIVE_3D_ENABLED_LIGHTS                                   0x000003bc
3336 #define  NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(x)                             (0x000003c0+((x)*4))
3337 #define  NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE__SIZE                          0x00000010
3338 #define  NV20_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(x)                              (0x00000420+((x)*4))
3339 #define  NV20_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE__SIZE                           0x00000004
3340 #define  NV20_TCL_PRIMITIVE_3D_POINT_SIZE                                       0x0000043c
3341 #define  NV20_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX(x)                              (0x00000480+((x)*4))
3342 #define  NV20_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX__SIZE                           0x00000010
3343 #define  NV20_TCL_PRIMITIVE_3D_PROJECTION_MATRIX(x)                             (0x00000680+((x)*4))
3344 #define  NV20_TCL_PRIMITIVE_3D_PROJECTION_MATRIX__SIZE                          0x00000010
3345 #define  NV20_TCL_PRIMITIVE_3D_TX0_MATRIX(x)                                    (0x000006c0+((x)*4))
3346 #define  NV20_TCL_PRIMITIVE_3D_TX0_MATRIX__SIZE                                 0x00000010
3347 #define  NV20_TCL_PRIMITIVE_3D_TX1_MATRIX(x)                                    (0x00000700+((x)*4))
3348 #define  NV20_TCL_PRIMITIVE_3D_TX1_MATRIX__SIZE                                 0x00000010
3349 #define  NV20_TCL_PRIMITIVE_3D_TX2_MATRIX(x)                                    (0x00000740+((x)*4))
3350 #define  NV20_TCL_PRIMITIVE_3D_TX2_MATRIX__SIZE                                 0x00000010
3351 #define  NV20_TCL_PRIMITIVE_3D_TX3_MATRIX(x)                                    (0x00000780+((x)*4))
3352 #define  NV20_TCL_PRIMITIVE_3D_TX3_MATRIX__SIZE                                 0x00000010
3353 #define  NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT                            0x000009c0
3354 #define  NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR                              0x000009c4
3355 #define  NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC                           0x000009c8
3356 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_X                                0x00000a20
3357 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Y                                0x00000a24
3358 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Z                                0x00000a28
3359 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_W                                0x00000a2c
3360 #define  NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER(x)                               (0x00000a30+((x)*4))
3361 #define  NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER__SIZE                            0x00000007
3362 #define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0(x)                            (0x00000a60+((x)*4))
3363 #define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0__SIZE                         0x00000008
3364 #define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1(x)                            (0x00000a80+((x)*4))
3365 #define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1__SIZE                         0x00000008
3366 #define  NV20_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(x)                                  (0x00000aa0+((x)*4))
3367 #define  NV20_TCL_PRIMITIVE_3D_RC_OUT_ALPHA__SIZE                               0x00000008
3368 #define  NV20_TCL_PRIMITIVE_3D_RC_IN_RGB(x)                                     (0x00000ac0+((x)*4))
3369 #define  NV20_TCL_PRIMITIVE_3D_RC_IN_RGB__SIZE                                  0x00000008
3370 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_X                                0x00000af0
3371 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Y                                0x00000af4
3372 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Z                                0x00000af8
3373 #define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_W                                0x00000afc
3374 #define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST(x)                                (0x00000b00+((x)*4))
3375 #define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST__SIZE                             0x00000004
3376 #define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST(x)                               (0x00000b80+((x)*4))
3377 #define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST__SIZE                            0x00000004
3378 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_ENABLE                           0x0000147c
3379 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN(x)                       (0x00001480+((x)*4))
3380 #define  NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN__SIZE                    0x00000020
3381 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_X                                  0x00001500
3382 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Y                                  0x00001504
3383 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Z                                  0x00001508
3384 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_X                                  0x00001518
3385 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Y                                  0x0000151c
3386 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Z                                  0x00001520
3387 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY                                 0x00001528
3388 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_X_SHIFT                        0
3389 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_X_MASK                         0x0000ffff
3390 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_Y_SHIFT                        16
3391 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_Y_MASK                         0xffff0000
3392 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_Z                                  0x0000152c
3393 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_Z_Z_SHIFT                         0
3394 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_Z_Z_MASK                          0x0000ffff
3395 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_X                                  0x00001530
3396 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Y                                  0x00001534
3397 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Z                                  0x00001538
3398 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                                 0x00001540
3399 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_SHIFT                        0
3400 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_MASK                         0x0000ffff
3401 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_SHIFT                        16
3402 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_MASK                         0xffff0000
3403 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                                  0x00001544
3404 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_SHIFT                         0
3405 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_MASK                          0x0000ffff
3406 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_X                                  0x00001550
3407 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_Y                                  0x00001554
3408 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_Z                                  0x00001558
3409 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_W                                  0x0000155c
3410 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_X                                  0x00001560
3411 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_Y                                  0x00001564
3412 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_Z                                  0x00001568
3413 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I                                    0x0000156c
3414 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_SHIFT                           0
3415 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_MASK                            0x000000ff
3416 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_SHIFT                           8
3417 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_MASK                            0x0000ff00
3418 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_SHIFT                           16
3419 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_MASK                            0x00ff0000
3420 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_SHIFT                           24
3421 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_MASK                            0xff000000
3422 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_X                                 0x00001580
3423 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_Y                                 0x00001584
3424 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_Z                                 0x00001588
3425 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I                                   0x0000158c
3426 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_R_SHIFT                          0
3427 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_R_MASK                           0x000000ff
3428 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_G_SHIFT                          8
3429 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_G_MASK                           0x0000ff00
3430 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_B_SHIFT                          16
3431 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_B_MASK                           0x00ff0000
3432 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_A_SHIFT                          24
3433 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_A_MASK                           0xff000000
3434 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S                                  0x00001590
3435 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T                                  0x00001594
3436 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I                                    0x00001598
3437 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_SHIFT                           0
3438 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_MASK                            0x0000ffff
3439 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_SHIFT                           16
3440 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_MASK                            0xffff0000
3441 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_S                                  0x000015a0
3442 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_T                                  0x000015a4
3443 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_R                                  0x000015a8
3444 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_Q                                  0x000015ac
3445 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST                                 0x000015b0
3446 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_SHIFT                        0
3447 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_MASK                         0x0000ffff
3448 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_SHIFT                        16
3449 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_MASK                         0xffff0000
3450 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ                                 0x000015b4
3451 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_SHIFT                        0
3452 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_MASK                         0x0000ffff
3453 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_SHIFT                        16
3454 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_MASK                         0xffff0000
3455 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S                                  0x000015b8
3456 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T                                  0x000015bc
3457 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I                                    0x000015c0
3458 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_SHIFT                           0
3459 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_MASK                            0x0000ffff
3460 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_SHIFT                           16
3461 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_MASK                            0xffff0000
3462 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_S                                  0x000015c8
3463 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_T                                  0x000015cc
3464 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_R                                  0x000015d0
3465 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_Q                                  0x000015d4
3466 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST                                 0x000015d8
3467 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_SHIFT                        0
3468 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_MASK                         0x0000ffff
3469 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_SHIFT                        16
3470 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_MASK                         0xffff0000
3471 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ                                 0x000015dc
3472 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_SHIFT                        0
3473 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_MASK                         0x0000ffff
3474 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_SHIFT                        16
3475 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_MASK                         0xffff0000
3476 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_S                                  0x000015e0
3477 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_T                                  0x000015e4
3478 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I                                    0x000015e8
3479 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_S_SHIFT                           0
3480 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_S_MASK                            0x0000ffff
3481 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_T_SHIFT                           16
3482 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_T_MASK                            0xffff0000
3483 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_S                                  0x000015f0
3484 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_T                                  0x000015f4
3485 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_R                                  0x000015f8
3486 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_Q                                  0x000015fc
3487 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST                                 0x00001600
3488 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_S_SHIFT                        0
3489 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_S_MASK                         0x0000ffff
3490 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_T_SHIFT                        16
3491 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_T_MASK                         0xffff0000
3492 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ                                 0x00001604
3493 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_R_SHIFT                        0
3494 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_R_MASK                         0x0000ffff
3495 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_Q_SHIFT                        16
3496 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_Q_MASK                         0xffff0000
3497 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_S                                  0x00001608
3498 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_T                                  0x0000160c
3499 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I                                    0x00001610
3500 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_S_SHIFT                           0
3501 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_S_MASK                            0x0000ffff
3502 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_T_SHIFT                           16
3503 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_T_MASK                            0xffff0000
3504 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_S                                  0x00001620
3505 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_T                                  0x00001624
3506 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_R                                  0x00001628
3507 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_Q                                  0x0000162c
3508 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST                                 0x00001630
3509 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_S_SHIFT                        0
3510 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_S_MASK                         0x0000ffff
3511 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_T_SHIFT                        16
3512 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_T_MASK                         0xffff0000
3513 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ                                 0x00001634
3514 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_R_SHIFT                        0
3515 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_R_MASK                         0x0000ffff
3516 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_Q_SHIFT                        16
3517 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_Q_MASK                         0xffff0000
3518 #define  NV20_TCL_PRIMITIVE_3D_EDGEFLAG_ENABLE                                  0x000016bc
3519 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR_OFFSET(x)                            (0x00001720+((x)*4))
3520 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR_OFFSET__SIZE                         0x00000010
3521 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT(x)                           (0x00001760+((x)*4))
3522 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT__SIZE                        0x00000010
3523 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_SHIFT                  0
3524 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_MASK                   0x0000000f
3525 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_SHIFT                4
3526 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_MASK                 0x000000f0
3527 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_SHIFT                8
3528 #define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_MASK                 0x0000ff00
3529 #define  NV20_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE                            0x000017bc
3530 #define  NV20_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP                                0x000017c0
3531 #define  NV20_TCL_PRIMITIVE_3D_LIGHT_MODEL_TWO_SIDE_ENABLE                      0x000017c4
3532 #define  NV20_TCL_PRIMITIVE_3D_TX_SHADER_CULL_MODE                              0x000017f8
3533 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END                                 0x000017fc
3534 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS                        0x00001810
3535 #define  NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_DATA                                0x00001818
3536 #define  NV20_TCL_PRIMITIVE_3D_TX_OFFSET(x)                                     (0x00001b00+((x)*64))
3537 #define  NV20_TCL_PRIMITIVE_3D_TX_OFFSET__SIZE                                  0x00000004
3538 #define  NV20_TCL_PRIMITIVE_3D_TX_FORMAT(x)                                     (0x00001b04+((x)*64))
3539 #define  NV20_TCL_PRIMITIVE_3D_TX_FORMAT__SIZE                                  0x00000004
3540 #define  NV20_TCL_PRIMITIVE_3D_TX_WRAP(x)                                       (0x00001b08+((x)*64))
3541 #define  NV20_TCL_PRIMITIVE_3D_TX_WRAP__SIZE                                    0x00000004
3542 #define  NV20_TCL_PRIMITIVE_3D_TX_ENABLE(x)                                     (0x00001b0c+((x)*64))
3543 #define  NV20_TCL_PRIMITIVE_3D_TX_ENABLE__SIZE                                  0x00000004
3544 #define  NV20_TCL_PRIMITIVE_3D_TX_FILTER(x)                                     (0x00001b14+((x)*64))
3545 #define  NV20_TCL_PRIMITIVE_3D_TX_FILTER__SIZE                                  0x00000004
3546 #define  NV20_TCL_PRIMITIVE_3D_TX_BORDER_COLOR(x)                               (0x00001b24+((x)*64))
3547 #define  NV20_TCL_PRIMITIVE_3D_TX_BORDER_COLOR__SIZE                            0x00000004
3548 #define  NV20_TCL_PRIMITIVE_3D_SCISSOR_HORIZ                                    0x00001c30
3549 #define  NV20_TCL_PRIMITIVE_3D_SCISSOR_VERT                                     0x00001c50
3550 #define  NV20_TCL_PRIMITIVE_3D_CLEAR_VALUE                                      0x00001d90
3551 #define  NV20_TCL_PRIMITIVE_3D_CLEAR_BUFFERS                                    0x00001d94
3552 #define  NV20_TCL_PRIMITIVE_3D_RC_COLOR0                                        0x00001e20
3553 #define  NV20_TCL_PRIMITIVE_3D_RC_COLOR1                                        0x00001e24
3554 #define  NV20_TCL_PRIMITIVE_3D_RC_OUT_RGB(x)                                    (0x00001e40+((x)*4))
3555 #define  NV20_TCL_PRIMITIVE_3D_RC_OUT_RGB__SIZE                                 0x00000008
3556 #define  NV20_TCL_PRIMITIVE_3D_RC_ENABLE                                        0x00001e60
3557 #define  NV20_TCL_PRIMITIVE_3D_TX_SHADER_OP                                     0x00001e70
3558 #define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_ID                               0x00001ea4
3559
3560
3561 #define NV17_TCL_PRIMITIVE_3D                                                   0x00000099
3562
3563 #define  NV17_TCL_PRIMITIVE_3D_DMA_IN_MEMORY4                                   0x000001ac
3564 #define  NV17_TCL_PRIMITIVE_3D_DMA_IN_MEMORY5                                   0x000001b0
3565 #define  NV17_TCL_PRIMITIVE_3D_COLOR_MASK_ENABLE                                0x000002bc
3566 #define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_PITCH                           0x00000d5c
3567 #define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_OFFSET                          0x00000d60
3568 #define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_FILL_VALUE                             0x00000d68
3569 #define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_CLEAR                           0x00000d6c
3570 #define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_ENABLE                                 0x00001658
3571
3572
3573 #define NV20_SWIZZLED_SURFACE                                                   0x0000009e
3574
3575
3576
3577 #define NV12_IMAGE_BLIT                                                         0x0000009f
3578
3579
3580
3581 #define NV30_CONTEXT_SURFACES_2D                                                0x00000362
3582
3583
3584
3585 #define NV30_STRETCHED_IMAGE_FROM_CPU                                           0x00000366
3586
3587
3588
3589 #define NV30_TEXTURE_FROM_CPU                                                   0x0000037b
3590
3591
3592
3593 #define NV30_SCALED_IMAGE_FROM_MEMORY                                           0x00000389
3594
3595
3596
3597 #define NV30_IMAGE_FROM_CPU                                                     0x0000038a
3598
3599
3600
3601 #define NV30_TCL_PRIMITIVE_3D                                                   0x00000397
3602
3603
3604
3605 #define NV30_SWIZZLED_SURFACE                                                   0x0000039e
3606
3607
3608
3609 #define NV36_TCL_PRIMITIVE_3D                                                   0x00000497
3610
3611
3612
3613 #define NV25_TCL_PRIMITIVE_3D                                                   0x00000597
3614
3615 #define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY4                                   0x0000019c
3616 #define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY5                                   0x000001a0
3617 #define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY8                                   0x000001ac
3618 #define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY9                                   0x000001b0
3619
3620
3621 #define NV34_TCL_PRIMITIVE_3D                                                   0x00000697
3622
3623 #define  NV34_TCL_PRIMITIVE_3D_NOP                                              0x00000100
3624 #define  NV34_TCL_PRIMITIVE_3D_NOTIFY                                           0x00000104
3625 #define  NV34_TCL_PRIMITIVE_3D_DMA_NOTIFY                                       0x00000180
3626 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY0                                   0x00000184
3627 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY1                                   0x00000188
3628 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY2                                   0x0000018c
3629 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY3                                   0x00000194
3630 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY4                                   0x00000198
3631 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY5                                   0x000001a4
3632 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY6                                   0x000001a8
3633 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY7                                   0x000001ac
3634 #define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY8                                   0x000001b0
3635 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                                   0x00000200
3636 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_VERT                                    0x00000204
3637 #define  NV34_TCL_PRIMITIVE_3D_FORMAT                                           0x00000208
3638 #define  NV34_TCL_PRIMITIVE_3D_PITCH                                            0x0000020c
3639 #define   NV34_TCL_PRIMITIVE_3D_PITCH_COLOR_SHIFT                               0
3640 #define   NV34_TCL_PRIMITIVE_3D_PITCH_COLOR_MASK                                0x0000ffff
3641 #define   NV34_TCL_PRIMITIVE_3D_PITCH_ZETA_SHIFT                                16
3642 #define   NV34_TCL_PRIMITIVE_3D_PITCH_ZETA_MASK                                 0xffff0000
3643 #define  NV34_TCL_PRIMITIVE_3D_COLOR_OFFSET                                     0x00000210
3644 #define  NV34_TCL_PRIMITIVE_3D_ZETA_OFFSET                                      0x00000214
3645 #define  NV34_TCL_PRIMITIVE_3D_COLOR1_OFFSET                                    0x00000218
3646 #define  NV34_TCL_PRIMITIVE_3D_COLOR1_PITCH                                     0x0000021c
3647 #define  NV34_TCL_PRIMITIVE_3D_LMA_DEPTH_PITCH                                  0x0000022c
3648 #define  NV34_TCL_PRIMITIVE_3D_LMA_DEPTH_OFFSET                                 0x00000230
3649 #define  NV34_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(x)                              (0x00000240+((x)*4))
3650 #define  NV34_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE__SIZE                           0x00000004
3651 #define  NV34_TCL_PRIMITIVE_3D_UNK0250(x)                                       (0x00000250+((x)*4))
3652 #define  NV34_TCL_PRIMITIVE_3D_UNK0250__SIZE                                    0x00000004
3653 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(x)                           (0x000002c0+((x)*8))
3654 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ__SIZE                        0x00000008
3655 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(x)                            (0x000002c4+((x)*8))
3656 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT__SIZE                         0x00000008
3657 #define  NV34_TCL_PRIMITIVE_3D_DITHER_ENABLE                                    0x00000300
3658 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE                                0x00000304
3659 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                                  0x00000308
3660 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NEVER                            0x00000200
3661 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LESS                             0x00000201
3662 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_EQUAL                            0x00000202
3663 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LEQUAL                           0x00000203
3664 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                          0x00000204
3665 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                          0x00000204
3666 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NOTEQUAL                         0x00000205
3667 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GEQUAL                           0x00000206
3668 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_ALWAYS                           0x00000207
3669 #define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                                   0x0000030c
3670 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE                                0x00000310
3671 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                                   0x00000314
3672 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SHIFT                        0
3673 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_MASK                         0x0000ffff
3674 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ZERO                         0x00000000
3675 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE                          0x00000001
3676 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_COLOR                    0x00000300
3677 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR          0x00000301
3678 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_ALPHA                    0x00000302
3679 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA          0x00000303
3680 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_DST_ALPHA                    0x00000304
3681 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA          0x00000305
3682 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_DST_COLOR                    0x00000306
3683 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR          0x00000307
3684 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE           0x00000308
3685 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR               0x00008001
3686 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR     0x00008002
3687 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA               0x00008003
3688 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA     0x00008004
3689 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SHIFT                      16
3690 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_MASK                       0xffff0000
3691 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ZERO                       0x00000000
3692 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE                        0x00010000
3693 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                  0x03000000
3694 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR        0x03010000
3695 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                  0x03020000
3696 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA        0x03030000
3697 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                  0x03040000
3698 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA        0x03050000
3699 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_DST_COLOR                  0x03060000
3700 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR        0x03070000
3701 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE         0x03080000
3702 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR             0x80010000
3703 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR   0x80020000
3704 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA             0x80030000
3705 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA   0x80040000
3706 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                                   0x00000318
3707 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SHIFT                        0
3708 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_MASK                         0x0000ffff
3709 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ZERO                         0x00000000
3710 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE                          0x00000001
3711 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_COLOR                    0x00000300
3712 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR          0x00000301
3713 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_ALPHA                    0x00000302
3714 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA          0x00000303
3715 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_DST_ALPHA                    0x00000304
3716 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA          0x00000305
3717 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_DST_COLOR                    0x00000306
3718 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR          0x00000307
3719 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE           0x00000308
3720 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_CONSTANT_COLOR               0x00008001
3721 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR     0x00008002
3722 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA               0x00008003
3723 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA     0x00008004
3724 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SHIFT                      16
3725 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_MASK                       0xffff0000
3726 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ZERO                       0x00000000
3727 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE                        0x00010000
3728 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_COLOR                  0x03000000
3729 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR        0x03010000
3730 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                  0x03020000
3731 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA        0x03030000
3732 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_DST_ALPHA                  0x03040000
3733 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA        0x03050000
3734 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_DST_COLOR                  0x03060000
3735 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR        0x03070000
3736 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE         0x03080000
3737 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR             0x80010000
3738 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR   0x80020000
3739 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA             0x80030000
3740 #define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA   0x80040000
3741 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_COLOR                                 0x0000031c
3742 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION                              0x00000320
3743 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_FUNC_ADD                     0x00008006
3744 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_MIN                          0x00008007
3745 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_MAX                          0x00008008
3746 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_FUNC_SUBTRACT                0x0000800a
3747 #define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_FUNC_REVERSE_SUBTRACT        0x0000800b
3748 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MASK                                       0x00000324
3749 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_B_SHIFT                              0
3750 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_B_MASK                               0x000000ff
3751 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_G_SHIFT                              8
3752 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_G_MASK                               0x0000ff00
3753 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_R_SHIFT                              16
3754 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_R_MASK                               0x00ff0000
3755 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_A_SHIFT                              24
3756 #define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_A_MASK                               0xff000000
3757 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_ENABLE                              0x00000328
3758 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_MASK                                0x0000032c
3759 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC                           0x00000330
3760 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_NEVER                     0x00000200
3761 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_LESS                      0x00000201
3762 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_EQUAL                     0x00000202
3763 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_LEQUAL                    0x00000203
3764 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GREATER                   0x00000204
3765 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GREATER                   0x00000204
3766 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                  0x00000205
3767 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GEQUAL                    0x00000206
3768 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_ALWAYS                    0x00000207
3769 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_REF                            0x00000334
3770 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_MASK                           0x00000338
3771 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL                             0x0000033c
3772 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_ZERO                        0x00000000
3773 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INVERT                      0x0000150a
3774 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_KEEP                        0x00001e00
3775 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_REPLACE                     0x00001e01
3776 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INCR                        0x00001e02
3777 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_DECR                        0x00001e03
3778 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INCR_WRAP                   0x00008507
3779 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_DECR_WRAP                   0x00008508
3780 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL                            0x00000340
3781 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_ZERO                       0x00000000
3782 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INVERT                     0x0000150a
3783 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_KEEP                       0x00001e00
3784 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_REPLACE                    0x00001e01
3785 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INCR                       0x00001e02
3786 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_DECR                       0x00001e03
3787 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                  0x00008507
3788 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                  0x00008508
3789 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS                            0x00000344
3790 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_ZERO                       0x00000000
3791 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INVERT                     0x0000150a
3792 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_KEEP                       0x00001e00
3793 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_REPLACE                    0x00001e01
3794 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INCR                       0x00001e02
3795 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_DECR                       0x00001e03
3796 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INCR_WRAP                  0x00008507
3797 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_DECR_WRAP                  0x00008508
3798 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_ENABLE                             0x00000348
3799 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_MASK                               0x0000034c
3800 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC                          0x00000350
3801 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_NEVER                    0x00000200
3802 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_LESS                     0x00000201
3803 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_EQUAL                    0x00000202
3804 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_LEQUAL                   0x00000203
3805 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GREATER                  0x00000204
3806 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GREATER                  0x00000204
3807 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                 0x00000205
3808 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GEQUAL                   0x00000206
3809 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_ALWAYS                   0x00000207
3810 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_REF                           0x00000354
3811 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_MASK                          0x00000358
3812 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL                            0x0000035c
3813 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_ZERO                       0x00000000
3814 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INVERT                     0x0000150a
3815 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_KEEP                       0x00001e00
3816 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_REPLACE                    0x00001e01
3817 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INCR                       0x00001e02
3818 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_DECR                       0x00001e03
3819 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INCR_WRAP                  0x00008507
3820 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_DECR_WRAP                  0x00008508
3821 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL                           0x00000360
3822 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_ZERO                      0x00000000
3823 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INVERT                    0x0000150a
3824 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_KEEP                      0x00001e00
3825 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_REPLACE                   0x00001e01
3826 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INCR                      0x00001e02
3827 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_DECR                      0x00001e03
3828 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                 0x00008507
3829 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                 0x00008508
3830 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS                           0x00000364
3831 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_ZERO                      0x00000000
3832 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INVERT                    0x0000150a
3833 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_KEEP                      0x00001e00
3834 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_REPLACE                   0x00001e01
3835 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INCR                      0x00001e02
3836 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_DECR                      0x00001e03
3837 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                 0x00008507
3838 #define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                 0x00008508
3839 #define  NV34_TCL_PRIMITIVE_3D_SHADE_MODEL                                      0x00000368
3840 #define  NV34_TCL_PRIMITIVE_3D_SHADE_MODEL_FLAT                                 0x00001d00
3841 #define  NV34_TCL_PRIMITIVE_3D_SHADE_MODEL_SMOOTH                               0x00001d01
3842 #define  NV34_TCL_PRIMITIVE_3D_FOG_ENABLE                                       0x0000036c
3843 #define  NV34_TCL_PRIMITIVE_3D_FOG_COLOR                                        0x00000370
3844 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE                            0x00000374
3845 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP                                0x00000378
3846 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_CLEAR                          0x00001500
3847 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND                            0x00001501
3848 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_REVERSE                    0x00001502
3849 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY                           0x00001503
3850 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_INVERTED                   0x00001504
3851 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOOP                           0x00001505
3852 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_XOR                            0x00001506
3853 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR                             0x00001507
3854 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOR                            0x00001508
3855 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_EQUIV                          0x00001509
3856 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_INVERT                         0x0000150a
3857 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_REVERSE                     0x0000150b
3858 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY_INVERTED                  0x0000150c
3859 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_INVERTED                    0x0000150d
3860 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NAND                           0x0000150e
3861 #define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_SET                            0x0000150f
3862 #define  NV34_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                                 0x0000037c
3863 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                                 0x00000394
3864 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                                  0x00000398
3865 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_R                           0x000003a0
3866 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_G                           0x000003a4
3867 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_B                           0x000003a8
3868 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_A                           0x000003b4
3869 #define  NV34_TCL_PRIMITIVE_3D_LINE_WIDTH                                       0x000003b8
3870 #define  NV34_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                               0x000003bc
3871 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(x)                             (0x00000400+((x)*4))
3872 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE__SIZE                          0x00000020
3873 #define  NV34_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX(x)                              (0x00000480+((x)*4))
3874 #define  NV34_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX__SIZE                           0x00000010
3875 #define  NV34_TCL_PRIMITIVE_3D_PROJECTION_MATRIX(x)                             (0x00000680+((x)*4))
3876 #define  NV34_TCL_PRIMITIVE_3D_PROJECTION_MATRIX__SIZE                          0x00000010
3877 #define  NV34_TCL_PRIMITIVE_3D_TX0_MATRIX(x)                                    (0x000006c0+((x)*4))
3878 #define  NV34_TCL_PRIMITIVE_3D_TX0_MATRIX__SIZE                                 0x00000010
3879 #define  NV34_TCL_PRIMITIVE_3D_TX1_MATRIX(x)                                    (0x00000700+((x)*4))
3880 #define  NV34_TCL_PRIMITIVE_3D_TX1_MATRIX__SIZE                                 0x00000010
3881 #define  NV34_TCL_PRIMITIVE_3D_TX2_MATRIX(x)                                    (0x00000740+((x)*4))
3882 #define  NV34_TCL_PRIMITIVE_3D_TX2_MATRIX__SIZE                                 0x00000010
3883 #define  NV34_TCL_PRIMITIVE_3D_TX3_MATRIX(x)                                    (0x00000780+((x)*4))
3884 #define  NV34_TCL_PRIMITIVE_3D_TX3_MATRIX__SIZE                                 0x00000010
3885 #define  NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ                                    0x000008c0
3886 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_X_SHIFT                           0
3887 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_X_MASK                            0x0000ffff
3888 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_W_SHIFT                           16
3889 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_W_MASK                            0xffff0000
3890 #define  NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT                                     0x000008c4
3891 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_Y_SHIFT                            0
3892 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_Y_MASK                             0x0000ffff
3893 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_H_SHIFT                            16
3894 #define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_H_MASK                             0xffff0000
3895 #define  NV34_TCL_PRIMITIVE_3D_FOG_COORD_DIST                                   0x000008c8
3896 #define  NV34_TCL_PRIMITIVE_3D_FOG_MODE                                         0x000008cc
3897 #define  NV34_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT                            0x000008d0
3898 #define  NV34_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR                              0x000008d4
3899 #define  NV34_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC                           0x000008d8
3900 #define  NV34_TCL_PRIMITIVE_3D_FP_ACTIVE_PROGRAM                                0x000008e4
3901 #define  NV34_TCL_PRIMITIVE_3D_RC_COLOR0                                        0x000008ec
3902 #define  NV34_TCL_PRIMITIVE_3D_RC_COLOR1                                        0x000008f0
3903 #define  NV34_TCL_PRIMITIVE_3D_RC_FINAL0                                        0x000008f4
3904 #define  NV34_TCL_PRIMITIVE_3D_RC_FINAL1                                        0x000008f8
3905 #define  NV34_TCL_PRIMITIVE_3D_RC_ENABLE                                        0x000008fc
3906 #define  NV34_TCL_PRIMITIVE_3D_RC_IN_ALPHA(x)                                   (0x00000900+((x)*32))
3907 #define  NV34_TCL_PRIMITIVE_3D_RC_IN_ALPHA__SIZE                                0x00000008
3908 #define  NV34_TCL_PRIMITIVE_3D_RC_IN_RGB(x)                                     (0x00000904+((x)*32))
3909 #define  NV34_TCL_PRIMITIVE_3D_RC_IN_RGB__SIZE                                  0x00000008
3910 #define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0(x)                            (0x00000908+((x)*32))
3911 #define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0__SIZE                         0x00000008
3912 #define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1(x)                            (0x0000090c+((x)*32))
3913 #define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1__SIZE                         0x00000008
3914 #define  NV34_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(x)                                  (0x00000910+((x)*32))
3915 #define  NV34_TCL_PRIMITIVE_3D_RC_OUT_ALPHA__SIZE                               0x00000008
3916 #define  NV34_TCL_PRIMITIVE_3D_RC_OUT_RGB(x)                                    (0x00000914+((x)*32))
3917 #define  NV34_TCL_PRIMITIVE_3D_RC_OUT_RGB__SIZE                                 0x00000008
3918 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R0x00000a10
3919 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G0x00000a14
3920 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B0x00000a18
3921 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_X                                0x00000a20
3922 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Y                                0x00000a24
3923 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Z                                0x00000a28
3924 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_W                                0x00000a2c
3925 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_X                                0x00000a30
3926 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Y                                0x00000a34
3927 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Z                                0x00000a38
3928 #define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_W                                0x00000a3c
3929 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE                       0x00000a60
3930 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE                       0x00000a64
3931 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE                      0x00000a68
3932 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC                                       0x00000a6c
3933 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_NEVER                                 0x00000200
3934 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_LESS                                  0x00000201
3935 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_EQUAL                                 0x00000202
3936 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_LEQUAL                                0x00000203
3937 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                               0x00000204
3938 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                               0x00000204
3939 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_NOTEQUAL                              0x00000205
3940 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_GEQUAL                                0x00000206
3941 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_ALWAYS                                0x00000207
3942 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE                               0x00000a70
3943 #define  NV34_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                                0x00000a74
3944 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR                            0x00000a78
3945 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS                             0x00000a7c
3946 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                                 0x00000a90
3947 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_SHIFT                        0
3948 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_MASK                         0x0000ffff
3949 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_SHIFT                        16
3950 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_MASK                         0xffff0000
3951 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                                  0x00000a94
3952 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_SHIFT                         0
3953 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_MASK                          0x0000ffff
3954 #define  NV34_TCL_PRIMITIVE_3D_VP_UPLOAD_INST(x)                                (0x00000b80+((x)*4))
3955 #define  NV34_TCL_PRIMITIVE_3D_VP_UPLOAD_INST__SIZE                             0x00000004
3956 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_A(x)                                  (0x00000e00+((x)*16))
3957 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_A__SIZE                               0x00000020
3958 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_B(x)                                  (0x00000e04+((x)*16))
3959 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_B__SIZE                               0x00000020
3960 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_C(x)                                  (0x00000e08+((x)*16))
3961 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_C__SIZE                               0x00000020
3962 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_D(x)                                  (0x00000e0c+((x)*16))
3963 #define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_D__SIZE                               0x00000020
3964 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(x)            (0x00001000+((x)*64))
3965 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R__SIZE         0x00000008
3966 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(x)            (0x00001004+((x)*64))
3967 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G__SIZE         0x00000008
3968 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(x)            (0x00001008+((x)*64))
3969 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B__SIZE         0x00000008
3970 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(x)            (0x0000100c+((x)*64))
3971 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R__SIZE         0x00000008
3972 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(x)            (0x00001010+((x)*64))
3973 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G__SIZE         0x00000008
3974 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(x)            (0x00001014+((x)*64))
3975 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B__SIZE         0x00000008
3976 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(x)           (0x00001018+((x)*64))
3977 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R__SIZE        0x00000008
3978 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(x)           (0x0000101c+((x)*64))
3979 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G__SIZE        0x00000008
3980 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(x)           (0x00001020+((x)*64))
3981 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B__SIZE        0x00000008
3982 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X(x)                           (0x00001028+((x)*64))
3983 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X__SIZE                        0x00000008
3984 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y(x)                           (0x0000102c+((x)*64))
3985 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y__SIZE                        0x00000008
3986 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z(x)                           (0x00001030+((x)*64))
3987 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z__SIZE                        0x00000008
3988 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X(x)                             (0x00001034+((x)*64))
3989 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X__SIZE                          0x00000008
3990 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y(x)                             (0x00001038+((x)*64))
3991 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y__SIZE                          0x00000008
3992 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z(x)                             (0x0000103c+((x)*64))
3993 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z__SIZE                          0x00000008
3994 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A(x)                           (0x00001200+((x)*64))
3995 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A__SIZE                        0x00000008
3996 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B(x)                           (0x00001204+((x)*64))
3997 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B__SIZE                        0x00000008
3998 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C(x)                           (0x00001208+((x)*64))
3999 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C__SIZE                        0x00000008
4000 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X(x)                              (0x0000120c+((x)*64))
4001 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X__SIZE                           0x00000008
4002 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y(x)                              (0x00001210+((x)*64))
4003 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y__SIZE                           0x00000008
4004 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z(x)                              (0x00001214+((x)*64))
4005 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z__SIZE                           0x00000008
4006 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D(x)                           (0x00001218+((x)*64))
4007 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D__SIZE                        0x00000008
4008 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_X(x)                              (0x0000121c+((x)*64))
4009 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_X__SIZE                           0x00000008
4010 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y(x)                              (0x00001220+((x)*64))
4011 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y__SIZE                           0x00000008
4012 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z(x)                              (0x00001224+((x)*64))
4013 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z__SIZE                           0x00000008
4014 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT(x)                    (0x00001228+((x)*64))
4015 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT__SIZE                 0x00000008
4016 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR(x)                      (0x0000122c+((x)*64))
4017 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR__SIZE                   0x00000008
4018 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC(x)                   (0x00001230+((x)*64))
4019 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC__SIZE                0x00000008
4020 #define  NV34_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS(x)                      (0x00001400+((x)*4))
4021 #define  NV34_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS__SIZE                   0x00000006
4022 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_ENABLE                           0x0000147c
4023 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN(x)                       (0x00001480+((x)*4))
4024 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN__SIZE                    0x00000020
4025 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_X(x)                              (0x00001500+((x)*16))
4026 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_X__SIZE                           0x00000010
4027 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Y(x)                              (0x00001504+((x)*16))
4028 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Y__SIZE                           0x00000010
4029 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Z(x)                              (0x00001508+((x)*16))
4030 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Z__SIZE                           0x00000010
4031 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT(x)                           (0x00001740+((x)*4))
4032 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT__SIZE                        0x0000000c
4033 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_SHIFT                  0
4034 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_MASK                   0x0000000f
4035 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_SHIFT                4
4036 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_MASK                 0x000000f0
4037 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_SHIFT                8
4038 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_MASK                 0x0000ff00
4039 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R0x000017a0
4040 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G0x000017a4
4041 #define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B0x000017a8
4042 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_R                            0x000017b0
4043 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_G                            0x000017b4
4044 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_B                            0x000017b8
4045 #define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_A                            0x000017c0
4046 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END                                 0x00001808
4047 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_STOP                            0x00000000
4048 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POINTS                          0x00000001
4049 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINES                           0x00000002
4050 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_LOOP                       0x00000003
4051 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_STRIP                      0x00000004
4052 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLES                       0x00000005
4053 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_STRIP                  0x00000006
4054 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_FAN                    0x00000007
4055 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUADS                           0x00000008
4056 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUAD_STRIP                      0x00000009
4057 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POLYGON                         0x0000000a
4058 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_DATA                                      0x00001818
4059 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                               0x00001828
4060 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_POINT                         0x00001b00
4061 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_LINE                          0x00001b01
4062 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_FILL                          0x00001b02
4063 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                                0x0000182c
4064 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_POINT                          0x00001b00
4065 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_LINE                           0x00001b01
4066 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_FILL                           0x00001b02
4067 #define  NV34_TCL_PRIMITIVE_3D_CULL_FACE                                        0x00001830
4068 #define  NV34_TCL_PRIMITIVE_3D_CULL_FACE_FRONT                                  0x00000404
4069 #define  NV34_TCL_PRIMITIVE_3D_CULL_FACE_BACK                                   0x00000405
4070 #define  NV34_TCL_PRIMITIVE_3D_CULL_FACE_FRONT_AND_BACK                         0x00000408
4071 #define  NV34_TCL_PRIMITIVE_3D_FRONT_FACE                                       0x00001834
4072 #define  NV34_TCL_PRIMITIVE_3D_FRONT_FACE_CW                                    0x00000900
4073 #define  NV34_TCL_PRIMITIVE_3D_FRONT_FACE_CCW                                   0x00000901
4074 #define  NV34_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE                            0x00001838
4075 #define  NV34_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                                 0x0000183c
4076 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_X(x)                              (0x00001880+((x)*8))
4077 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_X__SIZE                           0x00000010
4078 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_Y(x)                              (0x00001884+((x)*8))
4079 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_Y__SIZE                           0x00000010
4080 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I(x)                                (0x00001900+((x)*4))
4081 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I__SIZE                             0x00000010
4082 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I_Y_SHIFT                          16
4083 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I_Y_MASK                           0xffff0000
4084 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I_X_SHIFT                          0
4085 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I_X_MASK                           0x0000ffff
4086 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I(x)                                 (0x0000194c+((x)*4))
4087 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I__SIZE                              0x00000002
4088 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_SHIFT                           0
4089 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_MASK                            0x000000ff
4090 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_SHIFT                           8
4091 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_MASK                            0x0000ff00
4092 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_SHIFT                           16
4093 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_MASK                            0x00ff0000
4094 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_SHIFT                           24
4095 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_MASK                            0xff000000
4096 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY                                 0x00001980
4097 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_X_SHIFT                        0
4098 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_X_MASK                         0x0000ffff
4099 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_Y_SHIFT                        16
4100 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_Y_MASK                         0xffff0000
4101 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW                                 0x00001984
4102 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_Z_SHIFT                        0
4103 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_Z_MASK                         0x0000ffff
4104 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_W_SHIFT                        16
4105 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_W_MASK                         0xffff0000
4106 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST(x)                               (0x000019c0+((x)*8))
4107 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST__SIZE                            0x00000004
4108 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_S_SHIFT                         0
4109 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_S_MASK                          0x0000ffff
4110 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_T_SHIFT                         16
4111 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_T_MASK                          0xffff0000
4112 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ(x)                               (0x000019c4+((x)*8))
4113 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ__SIZE                            0x00000004
4114 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_R_SHIFT                         0
4115 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_R_MASK                          0x0000ffff
4116 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_Q_SHIFT                         16
4117 #define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_Q_MASK                          0xffff0000
4118 #define  NV34_TCL_PRIMITIVE_3D_TX_OFFSET(x)                                     (0x00001a00+((x)*32))
4119 #define  NV34_TCL_PRIMITIVE_3D_TX_OFFSET__SIZE                                  0x00000004
4120 #define  NV34_TCL_PRIMITIVE_3D_TX_FORMAT(x)                                     (0x00001a04+((x)*32))
4121 #define  NV34_TCL_PRIMITIVE_3D_TX_FORMAT__SIZE                                  0x00000004
4122 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_CUBE_MAP                              (1 <<  2)
4123 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_COMPONENTS_SHIFT                      4
4124 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_COMPONENTS_MASK                       0x000000f0
4125 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_SHIFT                          8
4126 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_MASK                           0x0000ff00
4127 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8                             0x00000000
4128 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8                             0x00000100
4129 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R5G5B5A1                       0x00000200
4130 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8_RECT                        0x00000300
4131 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R4G4B4A4                       0x00000400
4132 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8A8                       0x00000600
4133 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_INDEX8                         0x00000b00
4134 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT1                           0x00000c00
4135 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT3                           0x00000e00
4136 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT5                           0x00000f00
4137 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R5G5B5A1_RECT                  0x00001000
4138 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8A8_RECT                  0x00001200
4139 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8_RECT                        0x00001300
4140 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8A8                           0x00001a00
4141 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8_RECT2                       0x00001b00
4142 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8_RECT                    0x00001e00
4143 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R4G4B4A4_RECT                  0x00001d00
4144 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8A8_RECT                      0x00002000
4145 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A16                            0x00003200
4146 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A16_RECT                       0x00003500
4147 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV                0x00004a00
4148 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV                0x00004b00
4149 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_R32_NV                   0x00004c00
4150 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_NPOT                                  (1 << 12)
4151 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_RECT                                  (1 << 14)
4152 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_SHIFT                   16
4153 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_MASK                    0x000f0000
4154 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_SHIFT                     20
4155 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_MASK                      0x00f00000
4156 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_SHIFT                     24
4157 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_MASK                      0x0f000000
4158 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_W_SHIFT                     28
4159 #define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_W_MASK                      0xf0000000
4160 #define  NV34_TCL_PRIMITIVE_3D_TX_WRAP(x)                                       (0x00001a08+((x)*32))
4161 #define  NV34_TCL_PRIMITIVE_3D_TX_WRAP__SIZE                                    0x00000004
4162 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_SHIFT                                 0
4163 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_MASK                                  0x000000ff
4164 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_REPEAT                                0x00000001
4165 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_MIRRORED_REPEAT                       0x00000002
4166 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_CLAMP_TO_EDGE                         0x00000003
4167 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_CLAMP_TO_BORDER                       0x00000004
4168 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_CLAMP                                 0x00000005
4169 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_SHIFT                                 8
4170 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_MASK                                  0x0000ff00
4171 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_REPEAT                                0x00000100
4172 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_MIRRORED_REPEAT                       0x00000200
4173 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_CLAMP_TO_EDGE                         0x00000300
4174 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_CLAMP_TO_BORDER                       0x00000400
4175 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_CLAMP                                 0x00000500
4176 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_SHIFT                                 16
4177 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_MASK                                  0x00ff0000
4178 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_REPEAT                                0x00010000
4179 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_MIRRORED_REPEAT                       0x00020000
4180 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_CLAMP_TO_EDGE                         0x00030000
4181 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_CLAMP_TO_BORDER                       0x00040000
4182 #define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_CLAMP                                 0x00050000
4183 #define  NV34_TCL_PRIMITIVE_3D_TX_ENABLE(x)                                     (0x00001a0c+((x)*32))
4184 #define  NV34_TCL_PRIMITIVE_3D_TX_ENABLE__SIZE                                  0x00000004
4185 #define   NV34_TCL_PRIMITIVE_3D_TX_ENABLE_ENABLE                                (1 << 30)
4186 #define  NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE(x)                                    (0x00001a10+((x)*32))
4187 #define  NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE__SIZE                                 0x00000004
4188 #define   NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE_SWIZZLE_SHIFT                        0
4189 #define   NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE_SWIZZLE_MASK                         0x0000ffff
4190 #define   NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE_RECT_PITCH_SHIFT                     16
4191 #define   NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE_RECT_PITCH_MASK                      0xffff0000
4192 #define  NV34_TCL_PRIMITIVE_3D_TX_FILTER(x)                                     (0x00001a14+((x)*32))
4193 #define  NV34_TCL_PRIMITIVE_3D_TX_FILTER__SIZE                                  0x00000004
4194 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_SHIFT                          16
4195 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_MASK                           0x000f0000
4196 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST                        0x00010000
4197 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR                         0x00020000
4198 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST         0x00030000
4199 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST          0x00040000
4200 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR          0x00050000
4201 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR           0x00060000
4202 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_SHIFT                         24
4203 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_MASK                          0x0f000000
4204 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST                       0x01000000
4205 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR                        0x02000000
4206 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_NEAREST        0x03000000
4207 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_NEAREST         0x04000000
4208 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_LINEAR         0x05000000
4209 #define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_LINEAR          0x06000000
4210 #define  NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE(x)                                  (0x00001a18+((x)*32))
4211 #define  NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE__SIZE                               0x00000004
4212 #define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_SHIFT                            0
4213 #define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_MASK                             0x0000ffff
4214 #define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_SHIFT                            16
4215 #define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_MASK                             0xffff0000
4216 #define  NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR(x)                               (0x00001a1c+((x)*32))
4217 #define  NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR__SIZE                            0x00000004
4218 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_B_SHIFT                         0
4219 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_B_MASK                          0x000000ff
4220 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_G_SHIFT                         8
4221 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_G_MASK                          0x0000ff00
4222 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_R_SHIFT                         16
4223 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_R_MASK                          0x00ff0000
4224 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_A_SHIFT                         24
4225 #define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_A_MASK                          0xff000000
4226 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_X(x)                              (0x00001c00+((x)*16))
4227 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_X__SIZE                           0x00000010
4228 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Y(x)                              (0x00001c04+((x)*16))
4229 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Y__SIZE                           0x00000010
4230 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Z(x)                              (0x00001c08+((x)*16))
4231 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Z__SIZE                           0x00000010
4232 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_W(x)                              (0x00001c0c+((x)*16))
4233 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_W__SIZE                           0x00000010
4234 #define  NV34_TCL_PRIMITIVE_3D_CLEAR_DEPTH_VALUE                                0x00001d8c
4235 #define  NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_ENABLE                              0x00001db4
4236 #define  NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN                             0x00001db8
4237 #define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_FACTOR_SHIFT               0
4238 #define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_FACTOR_MASK                0x0000ffff
4239 #define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_PATTERN_SHIFT              16
4240 #define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_PATTERN_MASK               0xffff0000
4241 #define  NV34_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS(x)                       (0x00001e20+((x)*4))
4242 #define  NV34_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS__SIZE                    0x00000006
4243 #define  NV34_TCL_PRIMITIVE_3D_VERTEX_FOG_1F                                    0x00001e54
4244 #define  NV34_TCL_PRIMITIVE_3D_POINT_PARAMETERS(x)                              (0x00001ec0+((x)*4))
4245 #define  NV34_TCL_PRIMITIVE_3D_POINT_PARAMETERS__SIZE                           0x00000008
4246 #define  NV34_TCL_PRIMITIVE_3D_POINT_SIZE                                       0x00001ee0
4247 #define  NV34_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE                          0x00001ee4
4248 #define  NV34_TCL_PRIMITIVE_3D_POINT_SPRITE                                     0x00001ee8
4249 #define  NV34_TCL_PRIMITIVE_3D_UNK1f80(x)                                       (0x00001f80+((x)*4))
4250 #define  NV34_TCL_PRIMITIVE_3D_UNK1f80__SIZE                                    0x00000010
4251
4252
4253 #define NV40_CONTEXT_SURFACES_2D                                                0x00003062
4254
4255
4256
4257 #define NV40_STRETCHED_IMAGE_FROM_CPU                                           0x00003066
4258
4259
4260
4261 #define NV40_TEXTURE_FROM_CPU                                                   0x0000307b
4262
4263
4264
4265 #define NV40_SCALED_IMAGE_FROM_MEMORY                                           0x00003089
4266
4267
4268
4269 #define NV40_IMAGE_FROM_CPU                                                     0x0000308a
4270
4271
4272
4273 #define NV40_SWIZZLED_SURFACE                                                   0x0000309e
4274
4275
4276
4277 #define NV40TCL                                                                 0x00004097
4278
4279 #define  NV40TCL_REF_CNT                                                        0x00000050
4280 #define  NV40TCL_NOP                                                            0x00000100
4281 #define  NV40TCL_NOTIFY                                                         0x00000104
4282 #define  NV40TCL_DMA_NOTIFY                                                     0x00000180
4283 #define  NV40TCL_DMA_TEXTURE0                                                   0x00000184
4284 #define  NV40TCL_DMA_TEXTURE1                                                   0x00000188
4285 #define  NV40TCL_DMA_COLOR1                                                     0x0000018c
4286 #define  NV40TCL_DMA_COLOR0                                                     0x00000194
4287 #define  NV40TCL_DMA_ZETA                                                       0x00000198
4288 #define  NV40TCL_DMA_VTXBUF0                                                    0x0000019c
4289 #define  NV40TCL_DMA_VTXBUF1                                                    0x000001a0
4290 #define  NV40TCL_DMA_FENCE                                                      0x000001a4
4291 #define  NV40TCL_DMA_QUERY                                                      0x000001a8
4292 #define  NV40TCL_DMA_UNK01AC                                                    0x000001ac
4293 #define  NV40TCL_DMA_UNK01B0                                                    0x000001b0
4294 #define  NV40TCL_DMA_COLOR2                                                     0x000001b4
4295 #define  NV40TCL_DMA_COLOR3                                                     0x000001b8
4296 #define  NV40TCL_RT_HORIZ                                                       0x00000200
4297 #define   NV40TCL_RT_HORIZ_W_SHIFT                                              16
4298 #define   NV40TCL_RT_HORIZ_W_MASK                                               0xffff0000
4299 #define   NV40TCL_RT_HORIZ_X_SHIFT                                              0
4300 #define   NV40TCL_RT_HORIZ_X_MASK                                               0x0000ffff
4301 #define  NV40TCL_RT_VERT                                                        0x00000204
4302 #define   NV40TCL_RT_VERT_H_SHIFT                                               16
4303 #define   NV40TCL_RT_VERT_H_MASK                                                0xffff0000
4304 #define   NV40TCL_RT_VERT_Y_SHIFT                                               0
4305 #define   NV40TCL_RT_VERT_Y_MASK                                                0x0000ffff
4306 #define  NV40TCL_RT_FORMAT                                                      0x00000208
4307 #define   NV40TCL_RT_FORMAT_LOG2_HEIGHT_SHIFT                                   24
4308 #define   NV40TCL_RT_FORMAT_LOG2_HEIGHT_MASK                                    0xff000000
4309 #define   NV40TCL_RT_FORMAT_LOG2_WIDTH_SHIFT                                    16
4310 #define   NV40TCL_RT_FORMAT_LOG2_WIDTH_MASK                                     0x00ff0000
4311 #define   NV40TCL_RT_FORMAT_TYPE_SHIFT                                          8
4312 #define   NV40TCL_RT_FORMAT_TYPE_MASK                                           0x00000f00
4313 #define   NV40TCL_RT_FORMAT_TYPE_LINEAR                                         0x00000100
4314 #define   NV40TCL_RT_FORMAT_TYPE_SWIZZLED                                       0x00000200
4315 #define   NV40TCL_RT_FORMAT_ZETA_SHIFT                                          5
4316 #define   NV40TCL_RT_FORMAT_ZETA_MASK                                           0x000000e0
4317 #define   NV40TCL_RT_FORMAT_ZETA_Z16                                            0x00000020
4318 #define   NV40TCL_RT_FORMAT_ZETA_Z24S8                                          0x00000040
4319 #define   NV40TCL_RT_FORMAT_COLOR_SHIFT                                         0
4320 #define   NV40TCL_RT_FORMAT_COLOR_MASK                                          0x0000001f
4321 #define   NV40TCL_RT_FORMAT_COLOR_R5G6B5                                        0x00000003
4322 #define   NV40TCL_RT_FORMAT_COLOR_X8R8G8B8                                      0x00000005
4323 #define   NV40TCL_RT_FORMAT_COLOR_A8R8G8B8                                      0x00000008
4324 #define   NV40TCL_RT_FORMAT_COLOR_B8                                            0x00000009
4325 #define  NV40TCL_COLOR0_PITCH                                                   0x0000020c
4326 #define  NV40TCL_COLOR0_OFFSET                                                  0x00000210
4327 #define  NV40TCL_ZETA_OFFSET                                                    0x00000214
4328 #define  NV40TCL_COLOR1_OFFSET                                                  0x00000218
4329 #define  NV40TCL_COLOR1_PITCH                                                   0x0000021c
4330 #define  NV40TCL_RT_ENABLE                                                      0x00000220
4331 #define   NV40TCL_RT_ENABLE_MRT                                                 (1 <<  4)
4332 #define   NV40TCL_RT_ENABLE_COLOR3                                              (1 <<  3)
4333 #define   NV40TCL_RT_ENABLE_COLOR2                                              (1 <<  2)
4334 #define   NV40TCL_RT_ENABLE_COLOR1                                              (1 <<  1)
4335 #define   NV40TCL_RT_ENABLE_COLOR0                                              (1 <<  0)
4336 #define  NV40TCL_ZETA_PITCH                                                     0x0000022c
4337 #define  NV40TCL_COLOR2_PITCH                                                   0x00000280
4338 #define  NV40TCL_COLOR3_PITCH                                                   0x00000284
4339 #define  NV40TCL_COLOR2_OFFSET                                                  0x00000288
4340 #define  NV40TCL_COLOR3_OFFSET                                                  0x0000028c
4341 #define  NV40TCL_VIEWPORT_CLIP_HORIZ(x)                                         (0x000002c0+((x)*8))
4342 #define  NV40TCL_VIEWPORT_CLIP_HORIZ__SIZE                                      0x00000008
4343 #define  NV40TCL_VIEWPORT_CLIP_VERT(x)                                          (0x000002c4+((x)*8))
4344 #define  NV40TCL_VIEWPORT_CLIP_VERT__SIZE                                       0x00000008
4345 #define  NV40TCL_DITHER_ENABLE                                                  0x00000300
4346 #define  NV40TCL_ALPHA_TEST_ENABLE                                              0x00000304
4347 #define  NV40TCL_ALPHA_TEST_FUNC                                                0x00000308
4348 #define  NV40TCL_ALPHA_TEST_FUNC_NEVER                                          0x00000200
4349 #define  NV40TCL_ALPHA_TEST_FUNC_LESS                                           0x00000201
4350 #define  NV40TCL_ALPHA_TEST_FUNC_EQUAL                                          0x00000202
4351 #define  NV40TCL_ALPHA_TEST_FUNC_LEQUAL                                         0x00000203
4352 #define  NV40TCL_ALPHA_TEST_FUNC_GREATER                                        0x00000204
4353 #define  NV40TCL_ALPHA_TEST_FUNC_GREATER                                        0x00000204
4354 #define  NV40TCL_ALPHA_TEST_FUNC_NOTEQUAL                                       0x00000205
4355 #define  NV40TCL_ALPHA_TEST_FUNC_GEQUAL                                         0x00000206
4356 #define  NV40TCL_ALPHA_TEST_FUNC_ALWAYS                                         0x00000207
4357 #define  NV40TCL_ALPHA_TEST_REF                                                 0x0000030c
4358 #define  NV40TCL_BLEND_ENABLE                                                   0x00000310
4359 #define  NV40TCL_BLEND_FUNC_SRC                                                 0x00000314
4360 #define   NV40TCL_BLEND_FUNC_SRC_RGB_SHIFT                                      0
4361 #define   NV40TCL_BLEND_FUNC_SRC_RGB_MASK                                       0x0000ffff
4362 #define   NV40TCL_BLEND_FUNC_SRC_RGB_ZERO                                       0x00000000
4363 #define   NV40TCL_BLEND_FUNC_SRC_RGB_ONE                                        0x00000001
4364 #define   NV40TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR                                  0x00000300
4365 #define   NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR                        0x00000301
4366 #define   NV40TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA                                  0x00000302
4367 #define   NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA                        0x00000303
4368 #define   NV40TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA                                  0x00000304
4369 #define   NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA                        0x00000305
4370 #define   NV40TCL_BLEND_FUNC_SRC_RGB_DST_COLOR                                  0x00000306
4371 #define   NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR                        0x00000307
4372 #define   NV40TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE                         0x00000308
4373 #define   NV40TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR                             0x00008001
4374 #define   NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR                   0x00008002
4375 #define   NV40TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA                             0x00008003
4376 #define   NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA                   0x00008004
4377 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_SHIFT                                    16
4378 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_MASK                                     0xffff0000
4379 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ZERO                                     0x00000000
4380 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE                                      0x00010000
4381 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                                0x03000000
4382 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR                      0x03010000
4383 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                                0x03020000
4384 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA                      0x03030000
4385 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                                0x03040000
4386 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA                      0x03050000
4387 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR                                0x03060000
4388 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR                      0x03070000
4389 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                       0x03080000
4390 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR                           0x80010000
4391 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR                 0x80020000
4392 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA                           0x80030000
4393 #define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA                 0x80040000
4394 #define  NV40TCL_BLEND_FUNC_DST                                                 0x00000318
4395 #define   NV40TCL_BLEND_FUNC_DST_RGB_SHIFT                                      0
4396 #define   NV40TCL_BLEND_FUNC_DST_RGB_MASK                                       0x0000ffff
4397 #define   NV40TCL_BLEND_FUNC_DST_RGB_ZERO                                       0x00000000
4398 #define   NV40TCL_BLEND_FUNC_DST_RGB_ONE                                        0x00000001
4399 #define   NV40TCL_BLEND_FUNC_DST_RGB_SRC_COLOR                                  0x00000300
4400 #define   NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR                        0x00000301
4401 #define   NV40TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA                                  0x00000302
4402 #define   NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA                        0x00000303
4403 #define   NV40TCL_BLEND_FUNC_DST_RGB_DST_ALPHA                                  0x00000304
4404 #define   NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA                        0x00000305
4405 #define   NV40TCL_BLEND_FUNC_DST_RGB_DST_COLOR                                  0x00000306
4406 #define   NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR                        0x00000307
4407 #define   NV40TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE                         0x00000308
4408 #define   NV40TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR                             0x00008001
4409 #define   NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR                   0x00008002
4410 #define   NV40TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA                             0x00008003
4411 #define   NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA                   0x00008004
4412 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_SHIFT                                    16
4413 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_MASK                                     0xffff0000
4414 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_ZERO                                     0x00000000
4415 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_ONE                                      0x00010000
4416 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR                                0x03000000
4417 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR                      0x03010000
4418 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                                0x03020000
4419 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA                      0x03030000
4420 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA                                0x03040000
4421 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA                      0x03050000
4422 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR                                0x03060000
4423 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR                      0x03070000
4424 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                       0x03080000
4425 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR                           0x80010000
4426 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR                 0x80020000
4427 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                           0x80030000
4428 #define   NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA                 0x80040000
4429 #define  NV40TCL_BLEND_COLOR                                                    0x0000031c
4430 #define  NV40TCL_BLEND_EQUATION                                                 0x00000320
4431 #define   NV40TCL_BLEND_EQUATION_RGB_SHIFT                                      0
4432 #define   NV40TCL_BLEND_EQUATION_RGB_MASK                                       0x0000ffff
4433 #define   NV40TCL_BLEND_EQUATION_RGB_FUNC_ADD                                   0x00008006
4434 #define   NV40TCL_BLEND_EQUATION_RGB_MIN                                        0x00008007
4435 #define   NV40TCL_BLEND_EQUATION_RGB_MAX                                        0x00008008
4436 #define   NV40TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT                              0x0000800a
4437 #define   NV40TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT                      0x0000800b
4438 #define   NV40TCL_BLEND_EQUATION_ALPHA_SHIFT                                    16
4439 #define   NV40TCL_BLEND_EQUATION_ALPHA_MASK                                     0xffff0000
4440 #define   NV40TCL_BLEND_EQUATION_ALPHA_FUNC_ADD                                 0x80060000
4441 #define   NV40TCL_BLEND_EQUATION_ALPHA_MIN                                      0x80070000
4442 #define   NV40TCL_BLEND_EQUATION_ALPHA_MAX                                      0x80080000
4443 #define   NV40TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT                            0x800a0000
4444 #define   NV40TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT                    0x800b0000
4445 #define  NV40TCL_COLOR_MASK                                                     0x00000324
4446 #define   NV40TCL_COLOR_MASK_BUFFER0_B_SHIFT                                    0
4447 #define   NV40TCL_COLOR_MASK_BUFFER0_B_MASK                                     0x000000ff
4448 #define   NV40TCL_COLOR_MASK_BUFFER0_G_SHIFT                                    8
4449 #define   NV40TCL_COLOR_MASK_BUFFER0_G_MASK                                     0x0000ff00
4450 #define   NV40TCL_COLOR_MASK_BUFFER0_R_SHIFT                                    16
4451 #define   NV40TCL_COLOR_MASK_BUFFER0_R_MASK                                     0x00ff0000
4452 #define   NV40TCL_COLOR_MASK_BUFFER0_A_SHIFT                                    24
4453 #define   NV40TCL_COLOR_MASK_BUFFER0_A_MASK                                     0xff000000
4454 #define  NV40TCL_STENCIL_BACK_ENABLE                                            0x00000328
4455 #define  NV40TCL_STENCIL_BACK_MASK                                              0x0000032c
4456 #define  NV40TCL_STENCIL_BACK_FUNC_FUNC                                         0x00000330
4457 #define  NV40TCL_STENCIL_BACK_FUNC_FUNC_NEVER                                   0x00000200
4458 #define  NV40TCL_STENCIL_BACK_FUNC_FUNC_LESS                                    0x00000201
4459 #define  NV40TCL_STENCIL_BACK_FUNC_FUNC_EQUAL                                   0x00000202
4460 #define  NV40TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL                                  0x00000203
4461 #define  NV40TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                 0x00000204
4462 #define  NV40TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                 0x00000204
4463 #define  NV40TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                                0x00000205
4464 #define  NV40TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL                                  0x00000206
4465 #define  NV40TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS                                  0x00000207
4466 #define  NV40TCL_STENCIL_BACK_FUNC_REF                                          0x00000334
4467 #define  NV40TCL_STENCIL_BACK_FUNC_MASK                                         0x00000338
4468 #define  NV40TCL_STENCIL_BACK_OP_FAIL                                           0x0000033c
4469 #define  NV40TCL_STENCIL_BACK_OP_FAIL_ZERO                                      0x00000000
4470 #define  NV40TCL_STENCIL_BACK_OP_FAIL_INVERT                                    0x0000150a
4471 #define  NV40TCL_STENCIL_BACK_OP_FAIL_KEEP                                      0x00001e00
4472 #define  NV40TCL_STENCIL_BACK_OP_FAIL_REPLACE                                   0x00001e01
4473 #define  NV40TCL_STENCIL_BACK_OP_FAIL_INCR                                      0x00001e02
4474 #define  NV40TCL_STENCIL_BACK_OP_FAIL_DECR                                      0x00001e03
4475 #define  NV40TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP                                 0x00008507
4476 #define  NV40TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP                                 0x00008508
4477 #define  NV40TCL_STENCIL_BACK_OP_ZFAIL                                          0x00000340
4478 #define  NV40TCL_STENCIL_BACK_OP_ZFAIL_ZERO                                     0x00000000
4479 #define  NV40TCL_STENCIL_BACK_OP_ZFAIL_INVERT                                   0x0000150a
4480 #define  NV40TCL_STENCIL_BACK_OP_ZFAIL_KEEP                                     0x00001e00
4481 #define  NV40TCL_STENCIL_BACK_OP_ZFAIL_REPLACE                                  0x00001e01
4482 #define  NV40TCL_STENCIL_BACK_OP_ZFAIL_INCR                                     0x00001e02
4483 #define  NV40TCL_STENCIL_BACK_OP_ZFAIL_DECR                                     0x00001e03
4484 #define  NV40TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                                0x00008507
4485 #define  NV40TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                                0x00008508
4486 #define  NV40TCL_STENCIL_BACK_OP_ZPASS                                          0x00000344
4487 #define  NV40TCL_STENCIL_BACK_OP_ZPASS_ZERO                                     0x00000000
4488 #define  NV40TCL_STENCIL_BACK_OP_ZPASS_INVERT                                   0x0000150a
4489 #define  NV40TCL_STENCIL_BACK_OP_ZPASS_KEEP                                     0x00001e00
4490 #define  NV40TCL_STENCIL_BACK_OP_ZPASS_REPLACE                                  0x00001e01
4491 #define  NV40TCL_STENCIL_BACK_OP_ZPASS_INCR                                     0x00001e02
4492 #define  NV40TCL_STENCIL_BACK_OP_ZPASS_DECR                                     0x00001e03
4493 #define  NV40TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP                                0x00008507
4494 #define  NV40TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP                                0x00008508
4495 #define  NV40TCL_STENCIL_FRONT_ENABLE                                           0x00000348
4496 #define  NV40TCL_STENCIL_FRONT_MASK                                             0x0000034c
4497 #define  NV40TCL_STENCIL_FRONT_FUNC_FUNC                                        0x00000350
4498 #define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_NEVER                                  0x00000200
4499 #define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_LESS                                   0x00000201
4500 #define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL                                  0x00000202
4501 #define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL                                 0x00000203
4502 #define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                0x00000204
4503 #define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                0x00000204
4504 #define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                               0x00000205
4505 #define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL                                 0x00000206
4506 #define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS                                 0x00000207
4507 #define  NV40TCL_STENCIL_FRONT_FUNC_REF                                         0x00000354
4508 #define  NV40TCL_STENCIL_FRONT_FUNC_MASK                                        0x00000358
4509 #define  NV40TCL_STENCIL_FRONT_OP_FAIL                                          0x0000035c
4510 #define  NV40TCL_STENCIL_FRONT_OP_FAIL_ZERO                                     0x00000000
4511 #define  NV40TCL_STENCIL_FRONT_OP_FAIL_INVERT                                   0x0000150a
4512 #define  NV40TCL_STENCIL_FRONT_OP_FAIL_KEEP                                     0x00001e00
4513 #define  NV40TCL_STENCIL_FRONT_OP_FAIL_REPLACE                                  0x00001e01
4514 #define  NV40TCL_STENCIL_FRONT_OP_FAIL_INCR                                     0x00001e02
4515 #define  NV40TCL_STENCIL_FRONT_OP_FAIL_DECR                                     0x00001e03
4516 #define  NV40TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP                                0x00008507
4517 #define  NV40TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP                                0x00008508
4518 #define  NV40TCL_STENCIL_FRONT_OP_ZFAIL                                         0x00000360
4519 #define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_ZERO                                    0x00000000
4520 #define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_INVERT                                  0x0000150a
4521 #define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_KEEP                                    0x00001e00
4522 #define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE                                 0x00001e01
4523 #define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_INCR                                    0x00001e02
4524 #define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_DECR                                    0x00001e03
4525 #define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                               0x00008507
4526 #define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                               0x00008508
4527 #define  NV40TCL_STENCIL_FRONT_OP_ZPASS                                         0x00000364
4528 #define  NV40TCL_STENCIL_FRONT_OP_ZPASS_ZERO                                    0x00000000
4529 #define  NV40TCL_STENCIL_FRONT_OP_ZPASS_INVERT                                  0x0000150a
4530 #define  NV40TCL_STENCIL_FRONT_OP_ZPASS_KEEP                                    0x00001e00
4531 #define  NV40TCL_STENCIL_FRONT_OP_ZPASS_REPLACE                                 0x00001e01
4532 #define  NV40TCL_STENCIL_FRONT_OP_ZPASS_INCR                                    0x00001e02
4533 #define  NV40TCL_STENCIL_FRONT_OP_ZPASS_DECR                                    0x00001e03
4534 #define  NV40TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                               0x00008507
4535 #define  NV40TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                               0x00008508
4536 #define  NV40TCL_SHADE_MODEL                                                    0x00000368
4537 #define  NV40TCL_SHADE_MODEL_FLAT                                               0x00001d00
4538 #define  NV40TCL_SHADE_MODEL_SMOOTH                                             0x00001d01
4539 #define  NV40TCL_MRT_COLOR_MASK                                                 0x00000370
4540 #define   NV40TCL_MRT_COLOR_MASK_BUFFER1_A                                      (1 <<  4)
4541 #define   NV40TCL_MRT_COLOR_MASK_BUFFER1_R                                      (1 <<  5)
4542 #define   NV40TCL_MRT_COLOR_MASK_BUFFER1_G                                      (1 <<  6)
4543 #define   NV40TCL_MRT_COLOR_MASK_BUFFER1_B                                      (1 <<  7)
4544 #define   NV40TCL_MRT_COLOR_MASK_BUFFER2_A                                      (1 <<  8)
4545 #define   NV40TCL_MRT_COLOR_MASK_BUFFER2_R                                      (1 <<  9)
4546 #define   NV40TCL_MRT_COLOR_MASK_BUFFER2_G                                      (1 << 10)
4547 #define   NV40TCL_MRT_COLOR_MASK_BUFFER2_B                                      (1 << 11)
4548 #define   NV40TCL_MRT_COLOR_MASK_BUFFER3_A                                      (1 << 12)
4549 #define   NV40TCL_MRT_COLOR_MASK_BUFFER3_R                                      (1 << 13)
4550 #define   NV40TCL_MRT_COLOR_MASK_BUFFER3_G                                      (1 << 14)
4551 #define   NV40TCL_MRT_COLOR_MASK_BUFFER3_B                                      (1 << 15)
4552 #define  NV40TCL_COLOR_LOGIC_OP_ENABLE                                          0x00000374
4553 #define  NV40TCL_COLOR_LOGIC_OP                                                 0x00000378
4554 #define  NV40TCL_COLOR_LOGIC_OP_CLEAR                                           0x00001500
4555 #define  NV40TCL_COLOR_LOGIC_OP_AND                                             0x00001501
4556 #define  NV40TCL_COLOR_LOGIC_OP_AND_REVERSE                                     0x00001502
4557 #define  NV40TCL_COLOR_LOGIC_OP_COPY                                            0x00001503
4558 #define  NV40TCL_COLOR_LOGIC_OP_AND_INVERTED                                    0x00001504
4559 #define  NV40TCL_COLOR_LOGIC_OP_NOOP                                            0x00001505
4560 #define  NV40TCL_COLOR_LOGIC_OP_XOR                                             0x00001506
4561 #define  NV40TCL_COLOR_LOGIC_OP_OR                                              0x00001507
4562 #define  NV40TCL_COLOR_LOGIC_OP_NOR                                             0x00001508
4563 #define  NV40TCL_COLOR_LOGIC_OP_EQUIV                                           0x00001509
4564 #define  NV40TCL_COLOR_LOGIC_OP_INVERT                                          0x0000150a
4565 #define  NV40TCL_COLOR_LOGIC_OP_OR_REVERSE                                      0x0000150b
4566 #define  NV40TCL_COLOR_LOGIC_OP_COPY_INVERTED                                   0x0000150c
4567 #define  NV40TCL_COLOR_LOGIC_OP_OR_INVERTED                                     0x0000150d
4568 #define  NV40TCL_COLOR_LOGIC_OP_NAND                                            0x0000150e
4569 #define  NV40TCL_COLOR_LOGIC_OP_SET                                             0x0000150f
4570 #define  NV40TCL_DEPTH_RANGE_NEAR                                               0x00000394
4571 #define  NV40TCL_DEPTH_RANGE_FAR                                                0x00000398
4572 #define  NV40TCL_LINE_WIDTH                                                     0x000003b8
4573 #define  NV40TCL_LINE_SMOOTH_ENABLE                                             0x000003bc
4574 #define  NV40TCL_UNK03C0(x)                                                     (0x000003c0+((x)*4))
4575 #define  NV40TCL_UNK03C0__SIZE                                                  0x00000010
4576 #define  NV40TCL_UNK0400(x)                                                     (0x00000400+((x)*4))
4577 #define  NV40TCL_UNK0400__SIZE                                                  0x00000010
4578 #define  NV40TCL_UNK0440(x)                                                     (0x00000440+((x)*4))
4579 #define  NV40TCL_UNK0440__SIZE                                                  0x00000020
4580 #define  NV40TCL_SCISSOR_HORIZ                                                  0x000008c0
4581 #define   NV40TCL_SCISSOR_HORIZ_X_SHIFT                                         0
4582 #define   NV40TCL_SCISSOR_HORIZ_X_MASK                                          0x0000ffff
4583 #define   NV40TCL_SCISSOR_HORIZ_W_SHIFT                                         16
4584 #define   NV40TCL_SCISSOR_HORIZ_W_MASK                                          0xffff0000
4585 #define  NV40TCL_SCISSOR_VERT                                                   0x000008c4
4586 #define   NV40TCL_SCISSOR_VERT_Y_SHIFT                                          0
4587 #define   NV40TCL_SCISSOR_VERT_Y_MASK                                           0x0000ffff
4588 #define   NV40TCL_SCISSOR_VERT_H_SHIFT                                          16
4589 #define   NV40TCL_SCISSOR_VERT_H_MASK                                           0xffff0000
4590 #define  NV40TCL_FOG_MODE                                                       0x000008cc
4591 #define  NV40TCL_FOG_EQUATION_CONSTANT                                          0x000008d0
4592 #define  NV40TCL_FOG_EQUATION_LINEAR                                            0x000008d4
4593 #define  NV40TCL_FOG_EQUATION_QUADRATIC                                         0x000008d8
4594 #define  NV40TCL_FP_ADDRESS                                                     0x000008e4
4595 #define   NV40TCL_FP_ADDRESS_OFFSET_SHIFT                                       8
4596 #define   NV40TCL_FP_ADDRESS_OFFSET_MASK                                        0xffffff00
4597 #define   NV40TCL_FP_ADDRESS_DMA1                                               (1 <<  1)
4598 #define   NV40TCL_FP_ADDRESS_DMA0                                               (1 <<  0)
4599 #define  NV40TCL_VIEWPORT_HORIZ                                                 0x00000a00
4600 #define   NV40TCL_VIEWPORT_HORIZ_W_SHIFT                                        16
4601 #define   NV40TCL_VIEWPORT_HORIZ_W_MASK                                         0xffff0000
4602 #define   NV40TCL_VIEWPORT_HORIZ_X_SHIFT                                        0
4603 #define   NV40TCL_VIEWPORT_HORIZ_X_MASK                                         0x0000ffff
4604 #define  NV40TCL_VIEWPORT_VERT                                                  0x00000a04
4605 #define   NV40TCL_VIEWPORT_VERT_H_SHIFT                                         16
4606 #define   NV40TCL_VIEWPORT_VERT_H_MASK                                          0xffff0000
4607 #define   NV40TCL_VIEWPORT_VERT_Y_SHIFT                                         0
4608 #define   NV40TCL_VIEWPORT_VERT_Y_MASK                                          0x0000ffff
4609 #define  NV40TCL_VIEWPORT_TRANSLATE_X                                           0x00000a20
4610 #define  NV40TCL_VIEWPORT_TRANSLATE_Y                                           0x00000a24
4611 #define  NV40TCL_VIEWPORT_TRANSLATE_Z                                           0x00000a28
4612 #define  NV40TCL_VIEWPORT_TRANSLATE_W                                           0x00000a2c
4613 #define  NV40TCL_VIEWPORT_SCALE_X                                               0x00000a30
4614 #define  NV40TCL_VIEWPORT_SCALE_Y                                               0x00000a34
4615 #define  NV40TCL_VIEWPORT_SCALE_Z                                               0x00000a38
4616 #define  NV40TCL_VIEWPORT_SCALE_W                                               0x00000a3c
4617 #define  NV40TCL_POLYGON_OFFSET_FILL_ENABLE                                     0x00000a60
4618 #define  NV40TCL_POLYGON_OFFSET_LINE_ENABLE                                     0x00000a64
4619 #define  NV40TCL_POLYGON_OFFSET_POINT_ENABLE                                    0x00000a68
4620 #define  NV40TCL_DEPTH_FUNC                                                     0x00000a6c
4621 #define  NV40TCL_DEPTH_FUNC_NEVER                                               0x00000200
4622 #define  NV40TCL_DEPTH_FUNC_LESS                                                0x00000201
4623 #define  NV40TCL_DEPTH_FUNC_EQUAL                                               0x00000202
4624 #define  NV40TCL_DEPTH_FUNC_LEQUAL                                              0x00000203
4625 #define  NV40TCL_DEPTH_FUNC_GREATER                                             0x00000204
4626 #define  NV40TCL_DEPTH_FUNC_GREATER                                             0x00000204
4627 #define  NV40TCL_DEPTH_FUNC_NOTEQUAL                                            0x00000205
4628 #define  NV40TCL_DEPTH_FUNC_GEQUAL                                              0x00000206
4629 #define  NV40TCL_DEPTH_FUNC_ALWAYS                                              0x00000207
4630 #define  NV40TCL_DEPTH_WRITE_ENABLE                                             0x00000a70
4631 #define  NV40TCL_DEPTH_TEST_ENABLE                                              0x00000a74
4632 #define  NV40TCL_POLYGON_OFFSET_FACTOR                                          0x00000a78
4633 #define  NV40TCL_POLYGON_OFFSET_UNITS                                           0x00000a7c
4634 #define  NV40TCL_UNK0B40(x)                                                     (0x00000b40+((x)*4))
4635 #define  NV40TCL_UNK0B40__SIZE                                                  0x00000008
4636 #define  NV40TCL_VP_UPLOAD_INST(x)                                              (0x00000b80+((x)*4))
4637 #define  NV40TCL_VP_UPLOAD_INST__SIZE                                           0x00000004
4638 #define  NV40TCL_CLIP_PLANE_ENABLE                                              0x00001478
4639 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE0                                      (1 <<  2)
4640 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE1                                      (1 <<  6)
4641 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE2                                      (1 << 10)
4642 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE3                                      (1 << 14)
4643 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE4                                      (1 << 18)
4644 #define   NV40TCL_CLIP_PLANE_ENABLE_PLANE5                                      (1 << 22)
4645 #define  NV40TCL_POLYGON_STIPPLE_ENABLE                                         0x0000147c
4646 #define  NV40TCL_POLYGON_STIPPLE_PATTERN(x)                                     (0x00001480+((x)*4))
4647 #define  NV40TCL_POLYGON_STIPPLE_PATTERN__SIZE                                  0x00000020
4648 #define  NV40TCL_VTX_ATTR_3F_X(x)                                               (0x00001500+((x)*16))
4649 #define  NV40TCL_VTX_ATTR_3F_X__SIZE                                            0x00000010
4650 #define  NV40TCL_VTX_ATTR_3F_Y(x)                                               (0x00001504+((x)*16))
4651 #define  NV40TCL_VTX_ATTR_3F_Y__SIZE                                            0x00000010
4652 #define  NV40TCL_VTX_ATTR_3F_Z(x)                                               (0x00001508+((x)*16))
4653 #define  NV40TCL_VTX_ATTR_3F_Z__SIZE                                            0x00000010
4654 #define  NV40TCL_VTXBUF_ADDRESS(x)                                              (0x00001680+((x)*4))
4655 #define  NV40TCL_VTXBUF_ADDRESS__SIZE                                           0x00000010
4656 #define   NV40TCL_VTXBUF_ADDRESS_DMA1                                           (1 << 31)
4657 #define   NV40TCL_VTXBUF_ADDRESS_OFFSET_SHIFT                                   0
4658 #define   NV40TCL_VTXBUF_ADDRESS_OFFSET_MASK                                    0x0fffffff
4659 #define  NV40TCL_VTX_CACHE_INVALIDATE                                           0x00001714
4660 #define  NV40TCL_VTXFMT(x)                                                      (0x00001740+((x)*4))
4661 #define  NV40TCL_VTXFMT__SIZE                                                   0x00000010
4662 #define   NV40TCL_VTXFMT_TYPE_SHIFT                                             0
4663 #define   NV40TCL_VTXFMT_TYPE_MASK                                              0x0000000f
4664 #define   NV40TCL_VTXFMT_TYPE_FLOAT                                             0x00000002
4665 #define   NV40TCL_VTXFMT_TYPE_UBYTE                                             0x00000004
4666 #define   NV40TCL_VTXFMT_SIZE_SHIFT                                             4
4667 #define   NV40TCL_VTXFMT_SIZE_MASK                                              0x000000f0
4668 #define   NV40TCL_VTXFMT_STRIDE_SHIFT                                           8
4669 #define   NV40TCL_VTXFMT_STRIDE_MASK                                            0x0000ff00
4670 #define  NV40TCL_QUERY_RESET                                                    0x000017c8
4671 #define  NV40TCL_QUERY_UNK17CC                                                  0x000017cc
4672 #define  NV40TCL_QUERY_GET                                                      0x00001800
4673 #define   NV40TCL_QUERY_GET_UNK24_SHIFT                                         24
4674 #define   NV40TCL_QUERY_GET_UNK24_MASK                                          0xff000000
4675 #define   NV40TCL_QUERY_GET_OFFSET_SHIFT                                        0
4676 #define   NV40TCL_QUERY_GET_OFFSET_MASK                                         0x00ffffff
4677 #define  NV40TCL_BEGIN_END                                                      0x00001808
4678 #define  NV40TCL_BEGIN_END_STOP                                                 0x00000000
4679 #define  NV40TCL_BEGIN_END_POINTS                                               0x00000001
4680 #define  NV40TCL_BEGIN_END_LINES                                                0x00000002
4681 #define  NV40TCL_BEGIN_END_LINE_LOOP                                            0x00000003
4682 #define  NV40TCL_BEGIN_END_LINE_STRIP                                           0x00000004
4683 #define  NV40TCL_BEGIN_END_TRIANGLES                                            0x00000005
4684 #define  NV40TCL_BEGIN_END_TRIANGLE_STRIP                                       0x00000006
4685 #define  NV40TCL_BEGIN_END_TRIANGLE_FAN                                         0x00000007
4686 #define  NV40TCL_BEGIN_END_QUADS                                                0x00000008
4687 #define  NV40TCL_BEGIN_END_QUAD_STRIP                                           0x00000009
4688 #define  NV40TCL_BEGIN_END_POLYGON                                              0x0000000a
4689 #define  NV40TCL_VB_ELEMENT_U16                                                 0x0000180c
4690 #define   NV40TCL_VB_ELEMENT_U16_1_SHIFT                                        16
4691 #define   NV40TCL_VB_ELEMENT_U16_1_MASK                                         0xffff0000
4692 #define   NV40TCL_VB_ELEMENT_U16_0_SHIFT                                        0
4693 #define   NV40TCL_VB_ELEMENT_U16_0_MASK                                         0x0000ffff
4694 #define  NV40TCL_VB_ELEMENT_U32                                                 0x00001810
4695 #define  NV40TCL_VB_VERTEX_BATCH                                                0x00001814
4696 #define   NV40TCL_VB_VERTEX_BATCH_COUNT_SHIFT                                   24
4697 #define   NV40TCL_VB_VERTEX_BATCH_COUNT_MASK                                    0xff000000
4698 #define   NV40TCL_VB_VERTEX_BATCH_START_SHIFT                                   0
4699 #define   NV40TCL_VB_VERTEX_BATCH_START_MASK                                    0x00ffffff
4700 #define  NV40TCL_VERTEX_DATA                                                    0x00001818
4701 #define  NV40TCL_POLYGON_MODE_FRONT                                             0x00001828
4702 #define  NV40TCL_POLYGON_MODE_FRONT_POINT                                       0x00001b00
4703 #define  NV40TCL_POLYGON_MODE_FRONT_LINE                                        0x00001b01
4704 #define  NV40TCL_POLYGON_MODE_FRONT_FILL                                        0x00001b02
4705 #define  NV40TCL_POLYGON_MODE_BACK                                              0x0000182c
4706 #define  NV40TCL_POLYGON_MODE_BACK_POINT                                        0x00001b00
4707 #define  NV40TCL_POLYGON_MODE_BACK_LINE                                         0x00001b01
4708 #define  NV40TCL_POLYGON_MODE_BACK_FILL                                         0x00001b02
4709 #define  NV40TCL_CULL_FACE                                                      0x00001830
4710 #define  NV40TCL_CULL_FACE_FRONT                                                0x00000404
4711 #define  NV40TCL_CULL_FACE_BACK                                                 0x00000405
4712 #define  NV40TCL_CULL_FACE_FRONT_AND_BACK                                       0x00000408
4713 #define  NV40TCL_FRONT_FACE                                                     0x00001834
4714 #define  NV40TCL_FRONT_FACE_CW                                                  0x00000900
4715 #define  NV40TCL_FRONT_FACE_CCW                                                 0x00000901
4716 #define  NV40TCL_POLYGON_SMOOTH_ENABLE                                          0x00001838
4717 #define  NV40TCL_CULL_FACE_ENABLE                                               0x0000183c
4718 #define  NV40TCL_TEX_SIZE1(x)                                                   (0x00001840+((x)*4))
4719 #define  NV40TCL_TEX_SIZE1__SIZE                                                0x00000008
4720 #define   NV40TCL_TEX_SIZE1_DEPTH_SHIFT                                         20
4721 #define   NV40TCL_TEX_SIZE1_DEPTH_MASK                                          0xfff00000
4722 #define   NV40TCL_TEX_SIZE1_PITCH_SHIFT                                         0
4723 #define   NV40TCL_TEX_SIZE1_PITCH_MASK                                          0x0000ffff
4724 #define  NV40TCL_VTX_ATTR_2F_X(x)                                               (0x00001880+((x)*8))
4725 #define  NV40TCL_VTX_ATTR_2F_X__SIZE                                            0x00000010
4726 #define  NV40TCL_VTX_ATTR_2F_Y(x)                                               (0x00001884+((x)*8))
4727 #define  NV40TCL_VTX_ATTR_2F_Y__SIZE                                            0x00000010
4728 #define  NV40TCL_VTX_ATTR_2I(x)                                                 (0x00001900+((x)*4))
4729 #define  NV40TCL_VTX_ATTR_2I__SIZE                                              0x00000010
4730 #define   NV40TCL_VTX_ATTR_2I_Y_SHIFT                                           16
4731 #define   NV40TCL_VTX_ATTR_2I_Y_MASK                                            0xffff0000
4732 #define   NV40TCL_VTX_ATTR_2I_X_SHIFT                                           0
4733 #define   NV40TCL_VTX_ATTR_2I_X_MASK                                            0x0000ffff
4734 #define  NV40TCL_VTX_ATTR_4I_0(x)                                               (0x00001900+((x)*8))
4735 #define  NV40TCL_VTX_ATTR_4I_0__SIZE                                            0x00000010
4736 #define   NV40TCL_VTX_ATTR_4I_0_Y_SHIFT                                         16
4737 #define   NV40TCL_VTX_ATTR_4I_0_Y_MASK                                          0xffff0000
4738 #define   NV40TCL_VTX_ATTR_4I_0_X_SHIFT                                         0
4739 #define   NV40TCL_VTX_ATTR_4I_0_X_MASK                                          0x0000ffff
4740 #define  NV40TCL_VTX_ATTR_4I_1(x)                                               (0x00001904+((x)*8))
4741 #define  NV40TCL_VTX_ATTR_4I_1__SIZE                                            0x00000010
4742 #define   NV40TCL_VTX_ATTR_4I_1_W_SHIFT                                         16
4743 #define   NV40TCL_VTX_ATTR_4I_1_W_MASK                                          0xffff0000
4744 #define   NV40TCL_VTX_ATTR_4I_1_Z_SHIFT                                         0
4745 #define   NV40TCL_VTX_ATTR_4I_1_Z_MASK                                          0x0000ffff
4746 #define  NV40TCL_TEX_OFFSET(x)                                                  (0x00001a00+((x)*32))
4747 #define  NV40TCL_TEX_OFFSET__SIZE                                               0x00000010
4748 #define  NV40TCL_TEX_FORMAT(x)                                                  (0x00001a04+((x)*32))
4749 #define  NV40TCL_TEX_FORMAT__SIZE                                               0x00000010
4750 #define   NV40TCL_TEX_FORMAT_MIPMAP_COUNT_SHIFT                                 16
4751 #define   NV40TCL_TEX_FORMAT_MIPMAP_COUNT_MASK                                  0x000f0000
4752 #define   NV40TCL_TEX_FORMAT_RECT                                               (1 << 14)
4753 #define   NV40TCL_TEX_FORMAT_LINEAR                                             (1 << 13)
4754 #define   NV40TCL_TEX_FORMAT_FORMAT_SHIFT                                       8
4755 #define   NV40TCL_TEX_FORMAT_FORMAT_MASK                                        0x00001f00
4756 #define   NV40TCL_TEX_FORMAT_FORMAT_L8                                          0x00000100
4757 #define   NV40TCL_TEX_FORMAT_FORMAT_A1R5G5B5                                    0x00000200
4758 #define   NV40TCL_TEX_FORMAT_FORMAT_A4R4G4B4                                    0x00000300
4759 #define   NV40TCL_TEX_FORMAT_FORMAT_R5G6B5                                      0x00000400
4760 #define   NV40TCL_TEX_FORMAT_FORMAT_A8R8G8B8                                    0x00000500
4761 #define   NV40TCL_TEX_FORMAT_FORMAT_DXT1                                        0x00000600
4762 #define   NV40TCL_TEX_FORMAT_FORMAT_DXT3                                        0x00000700
4763 #define   NV40TCL_TEX_FORMAT_FORMAT_DXT5                                        0x00000800
4764 #define   NV40TCL_TEX_FORMAT_FORMAT_A8L8                                        0x00001800
4765 #define   NV40TCL_TEX_FORMAT_DIMS_SHIFT                                         4
4766 #define   NV40TCL_TEX_FORMAT_DIMS_MASK                                          0x000000f0
4767 #define   NV40TCL_TEX_FORMAT_DIMS_1D                                            0x00000010
4768 #define   NV40TCL_TEX_FORMAT_DIMS_2D                                            0x00000020
4769 #define   NV40TCL_TEX_FORMAT_DIMS_3D                                            0x00000030
4770 #define   NV40TCL_TEX_FORMAT_NO_BORDER                                          (1 <<  3)
4771 #define   NV40TCL_TEX_FORMAT_CUBIC                                              (1 <<  2)
4772 #define   NV40TCL_TEX_FORMAT_DMA1                                               (1 <<  1)
4773 #define   NV40TCL_TEX_FORMAT_DMA0                                               (1 <<  0)
4774 #define  NV40TCL_TEX_WRAP(x)                                                    (0x00001a08+((x)*32))
4775 #define  NV40TCL_TEX_WRAP__SIZE                                                 0x00000010
4776 #define   NV40TCL_TEX_WRAP_S_SHIFT                                              0
4777 #define   NV40TCL_TEX_WRAP_S_MASK                                               0x000000ff
4778 #define   NV40TCL_TEX_WRAP_S_REPEAT                                             0x00000001
4779 #define   NV40TCL_TEX_WRAP_S_MIRRORED_REPEAT                                    0x00000002
4780 #define   NV40TCL_TEX_WRAP_S_CLAMP_TO_EDGE                                      0x00000003
4781 #define   NV40TCL_TEX_WRAP_S_CLAMP_TO_BORDER                                    0x00000004
4782 #define   NV40TCL_TEX_WRAP_S_CLAMP                                              0x00000005
4783 #define   NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_EDGE                               0x00000006
4784 #define   NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_BORDER                             0x00000007
4785 #define   NV40TCL_TEX_WRAP_S_MIRROR_CLAMP                                       0x00000008
4786 #define   NV40TCL_TEX_WRAP_T_SHIFT                                              8
4787 #define   NV40TCL_TEX_WRAP_T_MASK                                               0x0000ff00
4788 #define   NV40TCL_TEX_WRAP_T_REPEAT                                             0x00000100
4789 #define   NV40TCL_TEX_WRAP_T_MIRRORED_REPEAT                                    0x00000200
4790 #define   NV40TCL_TEX_WRAP_T_CLAMP_TO_EDGE                                      0x00000300
4791 #define   NV40TCL_TEX_WRAP_T_CLAMP_TO_BORDER                                    0x00000400
4792 #define   NV40TCL_TEX_WRAP_T_CLAMP                                              0x00000500
4793 #define   NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_EDGE                               0x00000600
4794 #define   NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_BORDER                             0x00000700
4795 #define   NV40TCL_TEX_WRAP_T_MIRROR_CLAMP                                       0x00000800
4796 #define   NV40TCL_TEX_WRAP_R_SHIFT                                              16
4797 #define   NV40TCL_TEX_WRAP_R_MASK                                               0x00ff0000
4798 #define   NV40TCL_TEX_WRAP_R_REPEAT                                             0x00010000
4799 #define   NV40TCL_TEX_WRAP_R_MIRRORED_REPEAT                                    0x00020000
4800 #define   NV40TCL_TEX_WRAP_R_CLAMP_TO_EDGE                                      0x00030000
4801 #define   NV40TCL_TEX_WRAP_R_CLAMP_TO_BORDER                                    0x00040000
4802 #define   NV40TCL_TEX_WRAP_R_CLAMP                                              0x00050000
4803 #define   NV40TCL_TEX_WRAP_R_MIRROR_CLAMP_TO_EDGE                               0x00060000
4804 #define   NV40TCL_TEX_WRAP_R_MIRROR_CLAMP_TO_BORDER                             0x00070000
4805 #define   NV40TCL_TEX_WRAP_R_MIRROR_CLAMP                                       0x00080000
4806 #define  NV40TCL_TEX_ENABLE(x)                                                  (0x00001a0c+((x)*32))
4807 #define  NV40TCL_TEX_ENABLE__SIZE                                               0x00000010
4808 #define   NV40TCL_TEX_ENABLE_ENABLE                                             (1 << 31)
4809 #define  NV40TCL_TEX_SWIZZLE(x)                                                 (0x00001a10+((x)*32))
4810 #define  NV40TCL_TEX_SWIZZLE__SIZE                                              0x00000010
4811 #define   NV40TCL_TEX_SWIZZLE_S0_X_SHIFT                                        14
4812 #define   NV40TCL_TEX_SWIZZLE_S0_X_MASK                                         0x0000c000
4813 #define   NV40TCL_TEX_SWIZZLE_S0_X_ZERO                                         0x00000000
4814 #define   NV40TCL_TEX_SWIZZLE_S0_X_ONE                                          0x00004000
4815 #define   NV40TCL_TEX_SWIZZLE_S0_X_S1                                           0x00008000
4816 #define   NV40TCL_TEX_SWIZZLE_S0_Y_SHIFT                                        12
4817 #define   NV40TCL_TEX_SWIZZLE_S0_Y_MASK                                         0x00003000
4818 #define   NV40TCL_TEX_SWIZZLE_S0_Y_ZERO                                         0x00000000
4819 #define   NV40TCL_TEX_SWIZZLE_S0_Y_ONE                                          0x00001000
4820 #define   NV40TCL_TEX_SWIZZLE_S0_Y_S1                                           0x00002000
4821 #define   NV40TCL_TEX_SWIZZLE_S0_Z_SHIFT                                        10
4822 #define   NV40TCL_TEX_SWIZZLE_S0_Z_MASK                                         0x00000c00
4823 #define   NV40TCL_TEX_SWIZZLE_S0_Z_ZERO                                         0x00000000
4824 #define   NV40TCL_TEX_SWIZZLE_S0_Z_ONE                                          0x00000400
4825 #define   NV40TCL_TEX_SWIZZLE_S0_Z_S1                                           0x00000800
4826 #define   NV40TCL_TEX_SWIZZLE_S0_W_SHIFT                                        8
4827 #define   NV40TCL_TEX_SWIZZLE_S0_W_MASK                                         0x00000300
4828 #define   NV40TCL_TEX_SWIZZLE_S0_W_ZERO                                         0x00000000
4829 #define   NV40TCL_TEX_SWIZZLE_S0_W_ONE                                          0x00000100
4830 #define   NV40TCL_TEX_SWIZZLE_S0_W_S1                                           0x00000200
4831 #define   NV40TCL_TEX_SWIZZLE_S1_X_SHIFT                                        6
4832 #define   NV40TCL_TEX_SWIZZLE_S1_X_MASK                                         0x000000c0
4833 #define   NV40TCL_TEX_SWIZZLE_S1_X_W                                            0x00000000
4834 #define   NV40TCL_TEX_SWIZZLE_S1_X_Z                                            0x00000040
4835 #define   NV40TCL_TEX_SWIZZLE_S1_X_Y                                            0x00000080
4836 #define   NV40TCL_TEX_SWIZZLE_S1_X_X                                            0x000000c0
4837 #define   NV40TCL_TEX_SWIZZLE_S1_Y_SHIFT                                        4
4838 #define   NV40TCL_TEX_SWIZZLE_S1_Y_MASK                                         0x00000030
4839 #define   NV40TCL_TEX_SWIZZLE_S1_Y_W                                            0x00000000
4840 #define   NV40TCL_TEX_SWIZZLE_S1_Y_Z                                            0x00000010
4841 #define   NV40TCL_TEX_SWIZZLE_S1_Y_Y                                            0x00000020
4842 #define   NV40TCL_TEX_SWIZZLE_S1_Y_X                                            0x00000030
4843 #define   NV40TCL_TEX_SWIZZLE_S1_Z_SHIFT                                        2
4844 #define   NV40TCL_TEX_SWIZZLE_S1_Z_MASK                                         0x0000000c
4845 #define   NV40TCL_TEX_SWIZZLE_S1_Z_W                                            0x00000000
4846 #define   NV40TCL_TEX_SWIZZLE_S1_Z_Z                                            0x00000004
4847 #define   NV40TCL_TEX_SWIZZLE_S1_Z_Y                                            0x00000008
4848 #define   NV40TCL_TEX_SWIZZLE_S1_Z_X                                            0x0000000c
4849 #define   NV40TCL_TEX_SWIZZLE_S1_W_SHIFT                                        0
4850 #define   NV40TCL_TEX_SWIZZLE_S1_W_MASK                                         0x00000003
4851 #define   NV40TCL_TEX_SWIZZLE_S1_W_W                                            0x00000000
4852 #define   NV40TCL_TEX_SWIZZLE_S1_W_Z                                            0x00000001
4853 #define   NV40TCL_TEX_SWIZZLE_S1_W_Y                                            0x00000002
4854 #define   NV40TCL_TEX_SWIZZLE_S1_W_X                                            0x00000003
4855 #define  NV40TCL_TEX_FILTER(x)                                                  (0x00001a14+((x)*32))
4856 #define  NV40TCL_TEX_FILTER__SIZE                                               0x00000010
4857 #define   NV40TCL_TEX_FILTER_MIN_SHIFT                                          16
4858 #define   NV40TCL_TEX_FILTER_MIN_MASK                                           0x000f0000
4859 #define   NV40TCL_TEX_FILTER_MIN_NEAREST                                        0x00010000
4860 #define   NV40TCL_TEX_FILTER_MIN_LINEAR                                         0x00020000
4861 #define   NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_NEAREST                         0x00030000
4862 #define   NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_NEAREST                          0x00040000
4863 #define   NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_LINEAR                          0x00050000
4864 #define   NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_LINEAR                           0x00060000
4865 #define   NV40TCL_TEX_FILTER_MAG_SHIFT                                          24
4866 #define   NV40TCL_TEX_FILTER_MAG_MASK                                           0x0f000000
4867 #define   NV40TCL_TEX_FILTER_MAG_NEAREST                                        0x01000000
4868 #define   NV40TCL_TEX_FILTER_MAG_LINEAR                                         0x02000000
4869 #define   NV40TCL_TEX_FILTER_MAG_NEAREST_MIPMAP_NEAREST                         0x03000000
4870 #define   NV40TCL_TEX_FILTER_MAG_LINEAR_MIPMAP_NEAREST                          0x04000000
4871 #define   NV40TCL_TEX_FILTER_MAG_NEAREST_MIPMAP_LINEAR                          0x05000000
4872 #define   NV40TCL_TEX_FILTER_MAG_LINEAR_MIPMAP_LINEAR                           0x06000000
4873 #define  NV40TCL_TEX_SIZE0(x)                                                   (0x00001a18+((x)*32))
4874 #define  NV40TCL_TEX_SIZE0__SIZE                                                0x00000010
4875 #define   NV40TCL_TEX_SIZE0_H_SHIFT                                             0
4876 #define   NV40TCL_TEX_SIZE0_H_MASK                                              0x0000ffff
4877 #define   NV40TCL_TEX_SIZE0_W_SHIFT                                             16
4878 #define   NV40TCL_TEX_SIZE0_W_MASK                                              0xffff0000
4879 #define  NV40TCL_TEX_BORDER_COLOR(x)                                            (0x00001a1c+((x)*32))
4880 #define  NV40TCL_TEX_BORDER_COLOR__SIZE                                         0x00000010
4881 #define   NV40TCL_TEX_BORDER_COLOR_B_SHIFT                                      0
4882 #define   NV40TCL_TEX_BORDER_COLOR_B_MASK                                       0x000000ff
4883 #define   NV40TCL_TEX_BORDER_COLOR_G_SHIFT                                      8
4884 #define   NV40TCL_TEX_BORDER_COLOR_G_MASK                                       0x0000ff00
4885 #define   NV40TCL_TEX_BORDER_COLOR_R_SHIFT                                      16
4886 #define   NV40TCL_TEX_BORDER_COLOR_R_MASK                                       0x00ff0000
4887 #define   NV40TCL_TEX_BORDER_COLOR_A_SHIFT                                      24
4888 #define   NV40TCL_TEX_BORDER_COLOR_A_MASK                                       0xff000000
4889 #define  NV40TCL_VTX_ATTR_4F_X(x)                                               (0x00001c00+((x)*16))
4890 #define  NV40TCL_VTX_ATTR_4F_X__SIZE                                            0x00000010
4891 #define  NV40TCL_VTX_ATTR_4F_Y(x)                                               (0x00001c04+((x)*16))
4892 #define  NV40TCL_VTX_ATTR_4F_Y__SIZE                                            0x00000010
4893 #define  NV40TCL_VTX_ATTR_4F_Z(x)                                               (0x00001c08+((x)*16))
4894 #define  NV40TCL_VTX_ATTR_4F_Z__SIZE                                            0x00000010
4895 #define  NV40TCL_VTX_ATTR_4F_W(x)                                               (0x00001c0c+((x)*16))
4896 #define  NV40TCL_VTX_ATTR_4F_W__SIZE                                            0x00000010
4897 #define  NV40TCL_FP_CONTROL                                                     0x00001d60
4898 #define   NV40TCL_FP_CONTROL_TEMP_COUNT_SHIFT                                   24
4899 #define   NV40TCL_FP_CONTROL_TEMP_COUNT_MASK                                    0xff000000
4900 #define   NV40TCL_FP_CONTROL_KIL                                                (1 <<  7)
4901 #define  NV40TCL_CLEAR_VALUE_DEPTH                                              0x00001d8c
4902 #define  NV40TCL_CLEAR_VALUE_COLOR                                              0x00001d90
4903 #define  NV40TCL_CLEAR_BUFFERS                                                  0x00001d94
4904 #define   NV40TCL_CLEAR_BUFFERS_COLOR_A                                         (1 <<  7)
4905 #define   NV40TCL_CLEAR_BUFFERS_COLOR_B                                         (1 <<  6)
4906 #define   NV40TCL_CLEAR_BUFFERS_COLOR_G                                         (1 <<  5)
4907 #define   NV40TCL_CLEAR_BUFFERS_COLOR_R                                         (1 <<  4)
4908 #define   NV40TCL_CLEAR_BUFFERS_STENCIL                                         (1 <<  1)
4909 #define   NV40TCL_CLEAR_BUFFERS_DEPTH                                           (1 <<  0)
4910 #define  NV40TCL_LINE_STIPPLE_ENABLE                                            0x00001db4
4911 #define  NV40TCL_LINE_STIPPLE_PATTERN                                           0x00001db8
4912 #define   NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_SHIFT                             0
4913 #define   NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_MASK                              0x0000ffff
4914 #define   NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_SHIFT                            16
4915 #define   NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_MASK                             0xffff0000
4916 #define  NV40TCL_VP_UPLOAD_FROM_ID                                              0x00001e9c
4917 #define  NV40TCL_VP_START_FROM_ID                                               0x00001ea0
4918 #define  NV40TCL_POINT_SIZE                                                     0x00001ee0
4919 #define  NV40TCL_POINT_SPRITE                                                   0x00001ee8
4920 #define  NV40TCL_VP_UPLOAD_CONST_ID                                             0x00001efc
4921 #define  NV40TCL_VP_UPLOAD_CONST_X(x)                                           (0x00001f00+((x)*16))
4922 #define  NV40TCL_VP_UPLOAD_CONST_X__SIZE                                        0x00000004
4923 #define  NV40TCL_VP_UPLOAD_CONST_Y(x)                                           (0x00001f04+((x)*16))
4924 #define  NV40TCL_VP_UPLOAD_CONST_Y__SIZE                                        0x00000004
4925 #define  NV40TCL_VP_UPLOAD_CONST_Z(x)                                           (0x00001f08+((x)*16))
4926 #define  NV40TCL_VP_UPLOAD_CONST_Z__SIZE                                        0x00000004
4927 #define  NV40TCL_VP_UPLOAD_CONST_W(x)                                           (0x00001f0c+((x)*16))
4928 #define  NV40TCL_VP_UPLOAD_CONST_W__SIZE                                        0x00000004
4929 #define  NV40TCL_TEX_CACHE_CTL                                                  0x00001fd8
4930 #define  NV40TCL_VP_ATTRIB_EN                                                   0x00001ff0
4931 #define  NV40TCL_VP_RESULT_EN                                                   0x00001ff4
4932
4933
4934 #define NV44TCL                                                                 0x00004497
4935
4936
4937
4938 #define NV50_2D                                                                 0x0000502d
4939
4940 #define  NV50_2D_NOP                                                            0x00000100
4941 #define  NV50_2D_NOTIFY                                                         0x00000104
4942 #define  NV50_2D_DMA_NOTIFY                                                     0x00000180
4943 #define  NV50_2D_DMA_IN_MEMORY0                                                 0x00000184
4944 #define  NV50_2D_DMA_IN_MEMORY1                                                 0x00000188
4945 #define  NV50_2D_DMA_IN_MEMORY2                                                 0x0000018c
4946 #define  NV50_2D_DST_FORMAT                                                     0x00000200
4947 #define  NV50_2D_DST_FORMAT_32BPP                                               0x000000cf
4948 #define  NV50_2D_DST_FORMAT_24BPP                                               0x000000e6
4949 #define  NV50_2D_DST_FORMAT_16BPP                                               0x000000e8
4950 #define  NV50_2D_DST_FORMAT_8BPP                                                0x000000f3
4951 #define  NV50_2D_DST_FORMAT_15BPP                                               0x000000f8
4952 #define  NV50_2D_DST_PITCH                                                      0x00000214
4953 #define  NV50_2D_DST_WIDTH                                                      0x00000218
4954 #define  NV50_2D_DST_HEIGHT                                                     0x0000021c
4955 #define  NV50_2D_DST_ADDRESS_HIGH                                               0x00000220
4956 #define  NV50_2D_DST_ADDRESS_LOW                                                0x00000224
4957 #define  NV50_2D_SRC_FORMAT                                                     0x00000230
4958 #define  NV50_2D_SRC_FORMAT_32BPP                                               0x000000cf
4959 #define  NV50_2D_SRC_FORMAT_24BPP                                               0x000000e6
4960 #define  NV50_2D_SRC_FORMAT_16BPP                                               0x000000e8
4961 #define  NV50_2D_SRC_FORMAT_8BPP                                                0x000000f3
4962 #define  NV50_2D_SRC_FORMAT_15BPP                                               0x000000f8
4963 #define  NV50_2D_SRC_PITCH                                                      0x00000244
4964 #define  NV50_2D_SRC_WIDTH                                                      0x00000248
4965 #define  NV50_2D_SRC_HEIGHT                                                     0x0000024c
4966 #define  NV50_2D_SRC_ADDRESS_HIGH                                               0x00000250
4967 #define  NV50_2D_SRC_ADDRESS_LOW                                                0x00000254
4968 #define  NV50_2D_CLIP_X                                                         0x00000280
4969 #define  NV50_2D_CLIP_Y                                                         0x00000284
4970 #define  NV50_2D_CLIP_Z                                                         0x00000288
4971 #define  NV50_2D_CLIP_W                                                         0x0000028c
4972 #define  NV50_2D_ROP                                                            0x000002a0
4973 #define  NV50_2D_OPERATION                                                      0x000002ac
4974 #define  NV50_2D_OPERATION_SRCCOPY_AND                                          0x00000000
4975 #define  NV50_2D_OPERATION_ROP_AND                                              0x00000001
4976 #define  NV50_2D_OPERATION_BLEND_AND                                            0x00000002
4977 #define  NV50_2D_OPERATION_SRCCOPY                                              0x00000003
4978 #define  NV50_2D_OPERATION_SRCCOPY_PREMULT                                      0x00000004
4979 #define  NV50_2D_OPERATION_BLEND_PREMULT                                        0x00000005
4980 #define  NV50_2D_PATTERN_FORMAT                                                 0x000002e8
4981 #define  NV50_2D_PATTERN_FORMAT_16BPP                                           0x00000000
4982 #define  NV50_2D_PATTERN_FORMAT_15BPP                                           0x00000001
4983 #define  NV50_2D_PATTERN_FORMAT_32BPP                                           0x00000002
4984 #define  NV50_2D_PATTERN_FORMAT_8BPP                                            0x00000003
4985 #define  NV50_2D_PATTERN_COLOR(x)                                               (0x000002f0+((x)*4))
4986 #define  NV50_2D_PATTERN_COLOR__SIZE                                            0x00000002
4987 #define  NV50_2D_PATTERN_BITMAP(x)                                              (0x000002f8+((x)*4))
4988 #define  NV50_2D_PATTERN_BITMAP__SIZE                                           0x00000002
4989 #define  NV50_2D_RECT_FORMAT                                                    0x00000584
4990 #define  NV50_2D_RECT_FORMAT_32BPP                                              0x000000cf
4991 #define  NV50_2D_RECT_FORMAT_24BPP                                              0x000000e6
4992 #define  NV50_2D_RECT_FORMAT_16BPP                                              0x000000e8
4993 #define  NV50_2D_RECT_FORMAT_8BPP                                               0x000000f3
4994 #define  NV50_2D_RECT_FORMAT_15BPP                                              0x000000f8
4995 #define  NV50_2D_RECT_COLOR                                                     0x00000588
4996 #define  NV50_2D_RECT_X1                                                        0x00000600
4997 #define  NV50_2D_RECT_Y1                                                        0x00000604
4998 #define  NV50_2D_RECT_X2                                                        0x00000608
4999 #define  NV50_2D_RECT_Y2                                                        0x0000060c
5000 #define  NV50_2D_BLIT_DST_X                                                     0x000008b0
5001 #define  NV50_2D_BLIT_DST_Y                                                     0x000008b4
5002 #define  NV50_2D_BLIT_DST_W                                                     0x000008b8
5003 #define  NV50_2D_BLIT_DST_H                                                     0x000008bc
5004 #define  NV50_2D_BLIT_SRC_X                                                     0x000008d4
5005 #define  NV50_2D_BLIT_SRC_Y                                                     0x000008dc
5006
5007
5008 #define NV50_MEMORY_TO_MEMORY_FORMAT                                            0x00005039
5009
5010
5011
5012 #define NV50TCL                                                                 0x00005097
5013
5014 #define  NV50TCL_NOP                                                            0x00000100
5015 #define  NV50TCL_NOTIFY                                                         0x00000104
5016 #define  NV50TCL_DMA_NOTIFY                                                     0x00000180
5017 #define  NV50TCL_DMA_IN_MEMORY0(x)                                              (0x00000184+((x)*4))
5018 #define  NV50TCL_DMA_IN_MEMORY0__SIZE                                           0x0000000b
5019 #define  NV50TCL_DMA_IN_MEMORY1(x)                                              (0x000001c0+((x)*4))
5020 #define  NV50TCL_DMA_IN_MEMORY1__SIZE                                           0x00000008
5021 #define  NV50TCL_RT_ADDRESS_HIGH(x)                                             (0x00000200+((x)*32))
5022 #define  NV50TCL_RT_ADDRESS_HIGH__SIZE                                          0x00000008
5023 #define  NV50TCL_RT_ADDRESS_LOW(x)                                              (0x00000204+((x)*32))
5024 #define  NV50TCL_RT_ADDRESS_LOW__SIZE                                           0x00000008
5025 #define  NV50TCL_RT_FORMAT(x)                                                   (0x00000208+((x)*32))
5026 #define  NV50TCL_RT_FORMAT__SIZE                                                0x00000008
5027 #define  NV50TCL_RT_UNK3(x)                                                     (0x0000020c+((x)*32))
5028 #define  NV50TCL_RT_UNK3__SIZE                                                  0x00000008
5029 #define  NV50TCL_RT_UNK4(x)                                                     (0x00000210+((x)*32))
5030 #define  NV50TCL_RT_UNK4__SIZE                                                  0x00000008
5031 #define  NV50TCL_VTX_ATTR_1F(x)                                                 (0x00000300+((x)*4))
5032 #define  NV50TCL_VTX_ATTR_1F__SIZE                                              0x00000010
5033 #define  NV50TCL_VTX_ATTR_2F_X(x)                                               (0x00000380+((x)*8))
5034 #define  NV50TCL_VTX_ATTR_2F_X__SIZE                                            0x00000010
5035 #define  NV50TCL_VTX_ATTR_2F_Y(x)                                               (0x00000384+((x)*8))
5036 #define  NV50TCL_VTX_ATTR_2F_Y__SIZE                                            0x00000010
5037 #define  NV50TCL_VTX_ATTR_3F_X(x)                                               (0x00000400+((x)*16))
5038 #define  NV50TCL_VTX_ATTR_3F_X__SIZE                                            0x00000010
5039 #define  NV50TCL_VTX_ATTR_3F_Y(x)                                               (0x00000404+((x)*16))
5040 #define  NV50TCL_VTX_ATTR_3F_Y__SIZE                                            0x00000010
5041 #define  NV50TCL_VTX_ATTR_3F_Z(x)                                               (0x00000408+((x)*16))
5042 #define  NV50TCL_VTX_ATTR_3F_Z__SIZE                                            0x00000010
5043 #define  NV50TCL_VTX_ATTR_3F_W(x)                                               (0x0000040c+((x)*16))
5044 #define  NV50TCL_VTX_ATTR_3F_W__SIZE                                            0x00000010
5045 #define  NV50TCL_VTX_ATTR_4F_X(x)                                               (0x00000500+((x)*16))
5046 #define  NV50TCL_VTX_ATTR_4F_X__SIZE                                            0x00000010
5047 #define  NV50TCL_VTX_ATTR_4F_Y(x)                                               (0x00000504+((x)*16))
5048 #define  NV50TCL_VTX_ATTR_4F_Y__SIZE                                            0x00000010
5049 #define  NV50TCL_VTX_ATTR_4F_Z(x)                                               (0x00000508+((x)*16))
5050 #define  NV50TCL_VTX_ATTR_4F_Z__SIZE                                            0x00000010
5051 #define  NV50TCL_VTX_ATTR_4F_W(x)                                               (0x0000050c+((x)*16))
5052 #define  NV50TCL_VTX_ATTR_4F_W__SIZE                                            0x00000010
5053 #define  NV50TCL_VTX_ATTR_2I(x)                                                 (0x00000680+((x)*4))
5054 #define  NV50TCL_VTX_ATTR_2I__SIZE                                              0x00000010
5055 #define   NV50TCL_VTX_ATTR_2I_X_SHIFT                                           0
5056 #define   NV50TCL_VTX_ATTR_2I_X_MASK                                            0x0000ffff
5057 #define   NV50TCL_VTX_ATTR_2I_Y_SHIFT                                           16
5058 #define   NV50TCL_VTX_ATTR_2I_Y_MASK                                            0xffff0000
5059 #define  NV50TCL_VTX_ATTR_4I_0(x)                                               (0x00000700+((x)*8))
5060 #define  NV50TCL_VTX_ATTR_4I_0__SIZE                                            0x00000010
5061 #define   NV50TCL_VTX_ATTR_4I_0_X_SHIFT                                         0
5062 #define   NV50TCL_VTX_ATTR_4I_0_X_MASK                                          0x0000ffff
5063 #define   NV50TCL_VTX_ATTR_4I_0_Y_SHIFT                                         16
5064 #define   NV50TCL_VTX_ATTR_4I_0_Y_MASK                                          0xffff0000
5065 #define  NV50TCL_VTX_ATTR_4I_1(x)                                               (0x00000704+((x)*8))
5066 #define  NV50TCL_VTX_ATTR_4I_1__SIZE                                            0x00000010
5067 #define   NV50TCL_VTX_ATTR_4I_1_Z_SHIFT                                         0
5068 #define   NV50TCL_VTX_ATTR_4I_1_Z_MASK                                          0x0000ffff
5069 #define   NV50TCL_VTX_ATTR_4I_1_W_SHIFT                                         16
5070 #define   NV50TCL_VTX_ATTR_4I_1_W_MASK                                          0xffff0000
5071 #define  NV50TCL_VTX_ATTR_4NI_0(x)                                              (0x00000780+((x)*8))
5072 #define  NV50TCL_VTX_ATTR_4NI_0__SIZE                                           0x00000010
5073 #define   NV50TCL_VTX_ATTR_4NI_0_X_SHIFT                                        0
5074 #define   NV50TCL_VTX_ATTR_4NI_0_X_MASK                                         0x0000ffff
5075 #define   NV50TCL_VTX_ATTR_4NI_0_Y_SHIFT                                        16
5076 #define   NV50TCL_VTX_ATTR_4NI_0_Y_MASK                                         0xffff0000
5077 #define  NV50TCL_VTX_ATTR_4NI_1(x)                                              (0x00000784+((x)*8))
5078 #define  NV50TCL_VTX_ATTR_4NI_1__SIZE                                           0x00000010
5079 #define   NV50TCL_VTX_ATTR_4NI_1_Z_SHIFT                                        0
5080 #define   NV50TCL_VTX_ATTR_4NI_1_Z_MASK                                         0x0000ffff
5081 #define   NV50TCL_VTX_ATTR_4NI_1_W_SHIFT                                        16
5082 #define   NV50TCL_VTX_ATTR_4NI_1_W_MASK                                         0xffff0000
5083 #define  NV50TCL_VERTEX_ARRAY_FORMAT(x)                                         (0x00000900+((x)*16))
5084 #define  NV50TCL_VERTEX_ARRAY_FORMAT__SIZE                                      0x00000010
5085 #define  NV50TCL_VIEWPORT_UNK0(x)                                               (0x00000a00+((x)*4))
5086 #define  NV50TCL_VIEWPORT_UNK0__SIZE                                            0x00000003
5087 #define  NV50TCL_VIEWPORT_UNK1(x)                                               (0x00000a0c+((x)*4))
5088 #define  NV50TCL_VIEWPORT_UNK1__SIZE                                            0x00000003
5089 #define  NV50TCL_VIEWPORT_HORIZ                                                 0x00000c00
5090 #define   NV50TCL_VIEWPORT_HORIZ_X_SHIFT                                        0
5091 #define   NV50TCL_VIEWPORT_HORIZ_X_MASK                                         0x0000ffff
5092 #define   NV50TCL_VIEWPORT_HORIZ_W_SHIFT                                        16
5093 #define   NV50TCL_VIEWPORT_HORIZ_W_MASK                                         0xffff0000
5094 #define  NV50TCL_VIEWPORT_VERT                                                  0x00000c04
5095 #define   NV50TCL_VIEWPORT_VERT_Y_SHIFT                                         0
5096 #define   NV50TCL_VIEWPORT_VERT_Y_MASK                                          0x0000ffff
5097 #define   NV50TCL_VIEWPORT_VERT_H_SHIFT                                         16
5098 #define   NV50TCL_VIEWPORT_VERT_H_MASK                                          0xffff0000
5099 #define  NV50TCL_DEPTH_RANGE_NEAR                                               0x00000c08
5100 #define  NV50TCL_DEPTH_RANGE_FAR                                                0x00000c0c
5101 #define  NV50TCL_VIEWPORT_CLIP_HORIZ(x)                                         (0x00000d00+((x)*8))
5102 #define  NV50TCL_VIEWPORT_CLIP_HORIZ__SIZE                                      0x00000008
5103 #define  NV50TCL_VIEWPORT_CLIP_VERT(x)                                          (0x00000d04+((x)*8))
5104 #define  NV50TCL_VIEWPORT_CLIP_VERT__SIZE                                       0x00000008
5105 #define  NV50TCL_VERTEX_BUFFER_FIRST                                            0x00000d74
5106 #define  NV50TCL_VERTEX_BUFFER_COUNT                                            0x00000d78
5107 #define  NV50TCL_CLEAR_COLOR(x)                                                 (0x00000d80+((x)*4))
5108 #define  NV50TCL_CLEAR_COLOR__SIZE                                              0x00000004
5109 #define  NV50TCL_CLEAR_DEPTH                                                    0x00000d90
5110 #define  NV50TCL_CLEAR_STENCIL                                                  0x00000da0
5111 #define  NV50TCL_POLYGON_MODE_FRONT                                             0x00000dac
5112 #define  NV50TCL_POLYGON_MODE_FRONT_POINT                                       0x00001b00
5113 #define  NV50TCL_POLYGON_MODE_FRONT_LINE                                        0x00001b01
5114 #define  NV50TCL_POLYGON_MODE_FRONT_FILL                                        0x00001b02
5115 #define  NV50TCL_POLYGON_MODE_BACK                                              0x00000db0
5116 #define  NV50TCL_POLYGON_MODE_BACK_POINT                                        0x00001b00
5117 #define  NV50TCL_POLYGON_MODE_BACK_LINE                                         0x00001b01
5118 #define  NV50TCL_POLYGON_MODE_BACK_FILL                                         0x00001b02
5119 #define  NV50TCL_POLYGON_SMOOTH_ENABLE                                          0x00000db4
5120 #define  NV50TCL_POLYGON_OFFSET_POINT_ENABLE                                    0x00000dc0
5121 #define  NV50TCL_POLYGON_OFFSET_LINE_ENABLE                                     0x00000dc4
5122 #define  NV50TCL_POLYGON_OFFSET_FILL_ENABLE                                     0x00000dc8
5123 #define  NV50TCL_SCISSOR_HORIZ                                                  0x00000e04
5124 #define   NV50TCL_SCISSOR_HORIZ_L_SHIFT                                         0
5125 #define   NV50TCL_SCISSOR_HORIZ_L_MASK                                          0x0000ffff
5126 #define   NV50TCL_SCISSOR_HORIZ_R_SHIFT                                         16
5127 #define   NV50TCL_SCISSOR_HORIZ_R_MASK                                          0xffff0000
5128 #define  NV50TCL_SCISSOR_VERT                                                   0x00000e08
5129 #define   NV50TCL_SCISSOR_VERT_T_SHIFT                                          0
5130 #define   NV50TCL_SCISSOR_VERT_T_MASK                                           0x0000ffff
5131 #define   NV50TCL_SCISSOR_VERT_B_SHIFT                                          16
5132 #define   NV50TCL_SCISSOR_VERT_B_MASK                                           0xffff0000
5133 #define  NV50TCL_VP_UPLOAD_CONST_ID                                             0x00000f00
5134 #define  NV50TCL_VP_UPLOAD_CONST(x)                                             (0x00000f04+((x)*4))
5135 #define  NV50TCL_VP_UPLOAD_CONST__SIZE                                          0x00000010
5136 #define  NV50TCL_STENCIL_FRONT_FUNC_REF                                         0x00000f54
5137 #define  NV50TCL_STENCIL_FRONT_MASK                                             0x00000f58
5138 #define  NV50TCL_STENCIL_FRONT_FUNC_MASK                                        0x00000f5c
5139 #define  NV50TCL_GP_ADDRESS_HIGH                                                0x00000f70
5140 #define  NV50TCL_GP_ADDRESS_LOW                                                 0x00000f74
5141 #define  NV50TCL_VP_ADDRESS_HIGH                                                0x00000f7c
5142 #define  NV50TCL_VP_ADDRESS_LOW                                                 0x00000f80
5143 #define  NV50TCL_FP_ADDRESS_HIGH                                                0x00000fa4
5144 #define  NV50TCL_FP_ADDRESS_LOW                                                 0x00000fa8
5145 #define  NV50TCL_ZETA_ADDRESS_HIGH                                              0x00000fe0
5146 #define  NV50TCL_ZETA_ADDRESS_LOW                                               0x00000fe4
5147 #define  NV50TCL_UNKFF4                                                         0x00000ff4
5148 #define   NV50TCL_UNKFF4_W_SHIFT                                                16
5149 #define   NV50TCL_UNKFF4_W_MASK                                                 0xffff0000
5150 #define  NV50TCL_UNKFF8                                                         0x00000ff8
5151 #define   NV50TCL_UNKFF8_H_SHIFT                                                16
5152 #define   NV50TCL_UNKFF8_H_MASK                                                 0xffff0000
5153 #define  NV50TCL_RT_HORIZ(x)                                                    (0x00001240+((x)*8))
5154 #define  NV50TCL_RT_HORIZ__SIZE                                                 0x00000008
5155 #define  NV50TCL_RT_VERT(x)                                                     (0x00001244+((x)*8))
5156 #define  NV50TCL_RT_VERT__SIZE                                                  0x00000008
5157 #define  NV50TCL_DEPTH_TEST_ENABLE                                              0x000012cc
5158 #define  NV50TCL_SHADE_MODEL                                                    0x000012d4
5159 #define  NV50TCL_SHADE_MODEL_FLAT                                               0x00001d00
5160 #define  NV50TCL_SHADE_MODEL_SMOOTH                                             0x00001d01
5161 #define  NV50TCL_DEPTH_WRITE_ENABLE                                             0x000012e8
5162 #define  NV50TCL_ALPHA_TEST_ENABLE                                              0x000012ec
5163 #define  NV50TCL_DEPTH_TEST_FUNC                                                0x0000130c
5164 #define  NV50TCL_DEPTH_TEST_FUNC_NEVER                                          0x00000200
5165 #define  NV50TCL_DEPTH_TEST_FUNC_LESS                                           0x00000201
5166 #define  NV50TCL_DEPTH_TEST_FUNC_EQUAL                                          0x00000202
5167 #define  NV50TCL_DEPTH_TEST_FUNC_LEQUAL                                         0x00000203
5168 #define  NV50TCL_DEPTH_TEST_FUNC_GREATER                                        0x00000204
5169 #define  NV50TCL_DEPTH_TEST_FUNC_GREATER                                        0x00000204
5170 #define  NV50TCL_DEPTH_TEST_FUNC_NOTEQUAL                                       0x00000205
5171 #define  NV50TCL_DEPTH_TEST_FUNC_GEQUAL                                         0x00000206
5172 #define  NV50TCL_DEPTH_TEST_FUNC_ALWAYS                                         0x00000207
5173 #define  NV50TCL_ALPHA_TEST_REF                                                 0x00001310
5174 #define  NV50TCL_ALPHA_TEST_FUNC                                                0x00001314
5175 #define  NV50TCL_ALPHA_TEST_FUNC_NEVER                                          0x00000200
5176 #define  NV50TCL_ALPHA_TEST_FUNC_LESS                                           0x00000201
5177 #define  NV50TCL_ALPHA_TEST_FUNC_EQUAL                                          0x00000202
5178 #define  NV50TCL_ALPHA_TEST_FUNC_LEQUAL                                         0x00000203
5179 #define  NV50TCL_ALPHA_TEST_FUNC_GREATER                                        0x00000204
5180 #define  NV50TCL_ALPHA_TEST_FUNC_GREATER                                        0x00000204
5181 #define  NV50TCL_ALPHA_TEST_FUNC_NOTEQUAL                                       0x00000205
5182 #define  NV50TCL_ALPHA_TEST_FUNC_GEQUAL                                         0x00000206
5183 #define  NV50TCL_ALPHA_TEST_FUNC_ALWAYS                                         0x00000207
5184 #define  NV50TCL_BLEND_COLOR(x)                                                 (0x0000131c+((x)*4))
5185 #define  NV50TCL_BLEND_COLOR__SIZE                                              0x00000004
5186 #define  NV50TCL_BLEND_EQUATION_RGB                                             0x00001340
5187 #define  NV50TCL_BLEND_EQUATION_RGB_FUNC_ADD                                    0x00008006
5188 #define  NV50TCL_BLEND_EQUATION_RGB_MIN                                         0x00008007
5189 #define  NV50TCL_BLEND_EQUATION_RGB_MAX                                         0x00008008
5190 #define  NV50TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT                               0x0000800a
5191 #define  NV50TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT                       0x0000800b
5192 #define  NV50TCL_BLEND_FUNC_SRC_RGB                                             0x00001344
5193 #define  NV50TCL_BLEND_FUNC_SRC_RGB_ZERO                                        0x00000000
5194 #define  NV50TCL_BLEND_FUNC_SRC_RGB_ONE                                         0x00000001
5195 #define  NV50TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR                                   0x00000300
5196 #define  NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR                         0x00000301
5197 #define  NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA                                   0x00000302
5198 #define  NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA                         0x00000303
5199 #define  NV50TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA                                   0x00000304
5200 #define  NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA                         0x00000305
5201 #define  NV50TCL_BLEND_FUNC_SRC_RGB_DST_COLOR                                   0x00000306
5202 #define  NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR                         0x00000307
5203 #define  NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE                          0x00000308
5204 #define  NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR                              0x00008001
5205 #define  NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR                    0x00008002
5206 #define  NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA                              0x00008003
5207 #define  NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA                    0x00008004
5208 #define  NV50TCL_BLEND_FUNC_DST_RGB                                             0x00001348
5209 #define  NV50TCL_BLEND_FUNC_DST_RGB_ZERO                                        0x00000000
5210 #define  NV50TCL_BLEND_FUNC_DST_RGB_ONE                                         0x00000001
5211 #define  NV50TCL_BLEND_FUNC_DST_RGB_SRC_COLOR                                   0x00000300
5212 #define  NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR                         0x00000301
5213 #define  NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA                                   0x00000302
5214 #define  NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA                         0x00000303
5215 #define  NV50TCL_BLEND_FUNC_DST_RGB_DST_ALPHA                                   0x00000304
5216 #define  NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA                         0x00000305
5217 #define  NV50TCL_BLEND_FUNC_DST_RGB_DST_COLOR                                   0x00000306
5218 #define  NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR                         0x00000307
5219 #define  NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE                          0x00000308
5220 #define  NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR                              0x00008001
5221 #define  NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR                    0x00008002
5222 #define  NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA                              0x00008003
5223 #define  NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA                    0x00008004
5224 #define  NV50TCL_BLEND_EQUATION_ALPHA                                           0x0000134c
5225 #define  NV50TCL_BLEND_EQUATION_ALPHA_FUNC_ADD                                  0x00008006
5226 #define  NV50TCL_BLEND_EQUATION_ALPHA_MIN                                       0x00008007
5227 #define  NV50TCL_BLEND_EQUATION_ALPHA_MAX                                       0x00008008
5228 #define  NV50TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT                             0x0000800a
5229 #define  NV50TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT                     0x0000800b
5230 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA                                           0x00001350
5231 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_ZERO                                      0x00000000
5232 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE                                       0x00000001
5233 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                                 0x00000300
5234 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR                       0x00000301
5235 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                                 0x00000302
5236 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA                       0x00000303
5237 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                                 0x00000304
5238 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA                       0x00000305
5239 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR                                 0x00000306
5240 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR                       0x00000307
5241 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                        0x00000308
5242 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR                            0x00008001
5243 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR                  0x00008002
5244 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA                            0x00008003
5245 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA                  0x00008004
5246 #define  NV50TCL_BLEND_FUNC_DST_ALPHA                                           0x00001358
5247 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_ZERO                                      0x00000000
5248 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_ONE                                       0x00000001
5249 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR                                 0x00000300
5250 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR                       0x00000301
5251 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                                 0x00000302
5252 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA                       0x00000303
5253 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA                                 0x00000304
5254 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA                       0x00000305
5255 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR                                 0x00000306
5256 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR                       0x00000307
5257 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                        0x00000308
5258 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR                            0x00008001
5259 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR                  0x00008002
5260 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                            0x00008003
5261 #define  NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA                  0x00008004
5262 #define  NV50TCL_BLEND_ENABLE(x)                                                (0x00001360+((x)*4))
5263 #define  NV50TCL_BLEND_ENABLE__SIZE                                             0x00000008
5264 #define  NV50TCL_STENCIL_BACK_ENABLE                                            0x00001380
5265 #define  NV50TCL_STENCIL_BACK_OP_FAIL                                           0x00001384
5266 #define  NV50TCL_STENCIL_BACK_OP_FAIL_ZERO                                      0x00000000
5267 #define  NV50TCL_STENCIL_BACK_OP_FAIL_INVERT                                    0x0000150a
5268 #define  NV50TCL_STENCIL_BACK_OP_FAIL_KEEP                                      0x00001e00
5269 #define  NV50TCL_STENCIL_BACK_OP_FAIL_REPLACE                                   0x00001e01
5270 #define  NV50TCL_STENCIL_BACK_OP_FAIL_INCR                                      0x00001e02
5271 #define  NV50TCL_STENCIL_BACK_OP_FAIL_DECR                                      0x00001e03
5272 #define  NV50TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP                                 0x00008507
5273 #define  NV50TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP                                 0x00008508
5274 #define  NV50TCL_STENCIL_BACK_OP_ZFAIL                                          0x00001388
5275 #define  NV50TCL_STENCIL_BACK_OP_ZFAIL_ZERO                                     0x00000000
5276 #define  NV50TCL_STENCIL_BACK_OP_ZFAIL_INVERT                                   0x0000150a
5277 #define  NV50TCL_STENCIL_BACK_OP_ZFAIL_KEEP                                     0x00001e00
5278 #define  NV50TCL_STENCIL_BACK_OP_ZFAIL_REPLACE                                  0x00001e01
5279 #define  NV50TCL_STENCIL_BACK_OP_ZFAIL_INCR                                     0x00001e02
5280 #define  NV50TCL_STENCIL_BACK_OP_ZFAIL_DECR                                     0x00001e03
5281 #define  NV50TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                                0x00008507
5282 #define  NV50TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                                0x00008508
5283 #define  NV50TCL_STENCIL_BACK_OP_ZPASS                                          0x0000138c
5284 #define  NV50TCL_STENCIL_BACK_OP_ZPASS_ZERO                                     0x00000000
5285 #define  NV50TCL_STENCIL_BACK_OP_ZPASS_INVERT                                   0x0000150a
5286 #define  NV50TCL_STENCIL_BACK_OP_ZPASS_KEEP                                     0x00001e00
5287 #define  NV50TCL_STENCIL_BACK_OP_ZPASS_REPLACE                                  0x00001e01
5288 #define  NV50TCL_STENCIL_BACK_OP_ZPASS_INCR                                     0x00001e02
5289 #define  NV50TCL_STENCIL_BACK_OP_ZPASS_DECR                                     0x00001e03
5290 #define  NV50TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP                                0x00008507
5291 #define  NV50TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP                                0x00008508
5292 #define  NV50TCL_STENCIL_BACK_FUNC_FUNC                                         0x00001390
5293 #define  NV50TCL_STENCIL_BACK_FUNC_FUNC_NEVER                                   0x00000200
5294 #define  NV50TCL_STENCIL_BACK_FUNC_FUNC_LESS                                    0x00000201
5295 #define  NV50TCL_STENCIL_BACK_FUNC_FUNC_EQUAL                                   0x00000202
5296 #define  NV50TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL                                  0x00000203
5297 #define  NV50TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                 0x00000204
5298 #define  NV50TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                 0x00000204
5299 #define  NV50TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                                0x00000205
5300 #define  NV50TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL                                  0x00000206
5301 #define  NV50TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS                                  0x00000207
5302 #define  NV50TCL_STENCIL_BACK_FUNC_REF                                          0x00001394
5303 #define  NV50TCL_STENCIL_BACK_MASK                                              0x00001398
5304 #define  NV50TCL_STENCIL_BACK_FUNC_MASK                                         0x0000139c
5305 #define  NV50TCL_LINE_WIDTH                                                     0x000013b0
5306 #define  NV50TCL_VP_START_ID                                                    0x0000140c
5307 #define  NV50TCL_GP_START_ID                                                    0x00001410
5308 #define  NV50TCL_FP_START_ID                                                    0x00001414
5309 #define  NV50TCL_POINT_SIZE                                                     0x00001518
5310 #define  NV50TCL_TEX_CB0_ADDRESS_HIGH                                           0x0000155c
5311 #define  NV50TCL_TEX_CB0_ADDRESS_LOW                                            0x00001560
5312 #define  NV50TCL_POLYGON_OFFSET_FACTOR                                          0x0000156c
5313 #define  NV50TCL_LINE_SMOOTH_ENABLE                                             0x00001570
5314 #define  NV50TCL_TEX_CB1_ADDRESS_HIGH                                           0x00001574
5315 #define  NV50TCL_TEX_CB1_ADDRESS_LOW                                            0x00001578
5316 #define  NV50TCL_STENCIL_FRONT_ENABLE                                           0x00001594
5317 #define  NV50TCL_STENCIL_FRONT_OP_FAIL                                          0x00001598
5318 #define  NV50TCL_STENCIL_FRONT_OP_FAIL_ZERO                                     0x00000000
5319 #define  NV50TCL_STENCIL_FRONT_OP_FAIL_INVERT                                   0x0000150a
5320 #define  NV50TCL_STENCIL_FRONT_OP_FAIL_KEEP                                     0x00001e00
5321 #define  NV50TCL_STENCIL_FRONT_OP_FAIL_REPLACE                                  0x00001e01
5322 #define  NV50TCL_STENCIL_FRONT_OP_FAIL_INCR                                     0x00001e02
5323 #define  NV50TCL_STENCIL_FRONT_OP_FAIL_DECR                                     0x00001e03
5324 #define  NV50TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP                                0x00008507
5325 #define  NV50TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP                                0x00008508
5326 #define  NV50TCL_STENCIL_FRONT_OP_ZFAIL                                         0x0000159c
5327 #define  NV50TCL_STENCIL_FRONT_OP_ZFAIL_ZERO                                    0x00000000
5328 #define  NV50TCL_STENCIL_FRONT_OP_ZFAIL_INVERT                                  0x0000150a
5329 #define  NV50TCL_STENCIL_FRONT_OP_ZFAIL_KEEP                                    0x00001e00
5330 #define  NV50TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE                                 0x00001e01
5331 #define  NV50TCL_STENCIL_FRONT_OP_ZFAIL_INCR                                    0x00001e02
5332 #define  NV50TCL_STENCIL_FRONT_OP_ZFAIL_DECR                                    0x00001e03
5333 #define  NV50TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                               0x00008507
5334 #define  NV50TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                               0x00008508
5335 #define  NV50TCL_STENCIL_FRONT_OP_ZPASS                                         0x000015a0
5336 #define  NV50TCL_STENCIL_FRONT_OP_ZPASS_ZERO                                    0x00000000
5337 #define  NV50TCL_STENCIL_FRONT_OP_ZPASS_INVERT                                  0x0000150a
5338 #define  NV50TCL_STENCIL_FRONT_OP_ZPASS_KEEP                                    0x00001e00
5339 #define  NV50TCL_STENCIL_FRONT_OP_ZPASS_REPLACE                                 0x00001e01
5340 #define  NV50TCL_STENCIL_FRONT_OP_ZPASS_INCR                                    0x00001e02
5341 #define  NV50TCL_STENCIL_FRONT_OP_ZPASS_DECR                                    0x00001e03
5342 #define  NV50TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                               0x00008507
5343 #define  NV50TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                               0x00008508
5344 #define  NV50TCL_STENCIL_FRONT_FUNC_FUNC                                        0x000015a4
5345 #define  NV50TCL_STENCIL_FRONT_FUNC_FUNC_NEVER                                  0x00000200
5346 #define  NV50TCL_STENCIL_FRONT_FUNC_FUNC_LESS                                   0x00000201
5347 #define  NV50TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL                                  0x00000202
5348 #define  NV50TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL                                 0x00000203
5349 #define  NV50TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                0x00000204
5350 #define  NV50TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                0x00000204
5351 #define  NV50TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                               0x00000205
5352 #define  NV50TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL                                 0x00000206
5353 #define  NV50TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS                                 0x00000207
5354 #define  NV50TCL_POLYGON_OFFSET_UNITS                                           0x000015bc
5355 #define  NV50TCL_VERTEX_BEGIN                                                   0x000015dc
5356 #define  NV50TCL_VERTEX_BEGIN_POINTS                                            0x00000000
5357 #define  NV50TCL_VERTEX_BEGIN_LINES                                             0x00000001
5358 #define  NV50TCL_VERTEX_BEGIN_LINE_LOOP                                         0x00000002
5359 #define  NV50TCL_VERTEX_BEGIN_LINE_STRIP                                        0x00000003
5360 #define  NV50TCL_VERTEX_BEGIN_TRIANGLES                                         0x00000004
5361 #define  NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP                                    0x00000005
5362 #define  NV50TCL_VERTEX_BEGIN_TRIANGLE_FAN                                      0x00000006
5363 #define  NV50TCL_VERTEX_BEGIN_QUADS                                             0x00000007
5364 #define  NV50TCL_VERTEX_BEGIN_QUAD_STRIP                                        0x00000008
5365 #define  NV50TCL_VERTEX_BEGIN_POLYGON                                           0x00000009
5366 #define  NV50TCL_VERTEX_END                                                     0x000015e0
5367 #define  NV50TCL_VERTEX_DATA                                                    0x00001640
5368 #define  NV50TCL_VP_ATTR_EN_0                                                   0x00001650
5369 #define   NV50TCL_VP_ATTR_EN_0_7_SHIFT                                          28
5370 #define   NV50TCL_VP_ATTR_EN_0_7_MASK                                           0xf0000000
5371 #define   NV50TCL_VP_ATTR_EN_0_7_NONE                                           0x00000000
5372 #define   NV50TCL_VP_ATTR_EN_0_7_XNNN                                           0x10000000
5373 #define   NV50TCL_VP_ATTR_EN_0_7_NYNN                                           0x20000000
5374 #define   NV50TCL_VP_ATTR_EN_0_7_XYNN                                           0x30000000
5375 #define   NV50TCL_VP_ATTR_EN_0_7_NNZN                                           0x40000000
5376 #define   NV50TCL_VP_ATTR_EN_0_7_XNZN                                           0x50000000
5377 #define   NV50TCL_VP_ATTR_EN_0_7_NYZN                                           0x60000000
5378 #define   NV50TCL_VP_ATTR_EN_0_7_XYZN                                           0x70000000
5379 #define   NV50TCL_VP_ATTR_EN_0_7_NNNW                                           0x80000000
5380 #define   NV50TCL_VP_ATTR_EN_0_7_XNNW                                           0x90000000
5381 #define   NV50TCL_VP_ATTR_EN_0_7_NYNW                                           0xa0000000
5382 #define   NV50TCL_VP_ATTR_EN_0_7_XYNW                                           0xb0000000
5383 #define   NV50TCL_VP_ATTR_EN_0_7_NNZW                                           0xc0000000
5384 #define   NV50TCL_VP_ATTR_EN_0_7_XNZW                                           0xd0000000
5385 #define   NV50TCL_VP_ATTR_EN_0_7_NYZW                                           0xe0000000
5386 #define   NV50TCL_VP_ATTR_EN_0_7_XYZW                                           0xf0000000
5387 #define   NV50TCL_VP_ATTR_EN_0_6_SHIFT                                          24
5388 #define   NV50TCL_VP_ATTR_EN_0_6_MASK                                           0x0f000000
5389 #define   NV50TCL_VP_ATTR_EN_0_6_NONE                                           0x00000000
5390 #define   NV50TCL_VP_ATTR_EN_0_6_XNNN                                           0x01000000
5391 #define   NV50TCL_VP_ATTR_EN_0_6_NYNN                                           0x02000000
5392 #define   NV50TCL_VP_ATTR_EN_0_6_XYNN                                           0x03000000
5393 #define   NV50TCL_VP_ATTR_EN_0_6_NNZN                                           0x04000000
5394 #define   NV50TCL_VP_ATTR_EN_0_6_XNZN                                           0x05000000
5395 #define   NV50TCL_VP_ATTR_EN_0_6_NYZN                                           0x06000000
5396 #define   NV50TCL_VP_ATTR_EN_0_6_XYZN                                           0x07000000
5397 #define   NV50TCL_VP_ATTR_EN_0_6_NNNW                                           0x08000000
5398 #define   NV50TCL_VP_ATTR_EN_0_6_XNNW                                           0x09000000
5399 #define   NV50TCL_VP_ATTR_EN_0_6_NYNW                                           0x0a000000
5400 #define   NV50TCL_VP_ATTR_EN_0_6_XYNW                                           0x0b000000
5401 #define   NV50TCL_VP_ATTR_EN_0_6_NNZW                                           0x0c000000
5402 #define   NV50TCL_VP_ATTR_EN_0_6_XNZW                                           0x0d000000
5403 #define   NV50TCL_VP_ATTR_EN_0_6_NYZW                                           0x0e000000
5404 #define   NV50TCL_VP_ATTR_EN_0_6_XYZW                                           0x0f000000
5405 #define   NV50TCL_VP_ATTR_EN_0_5_SHIFT                                          20
5406 #define   NV50TCL_VP_ATTR_EN_0_5_MASK                                           0x00f00000
5407 #define   NV50TCL_VP_ATTR_EN_0_5_NONE                                           0x00000000
5408 #define   NV50TCL_VP_ATTR_EN_0_5_XNNN                                           0x00100000
5409 #define   NV50TCL_VP_ATTR_EN_0_5_NYNN                                           0x00200000
5410 #define   NV50TCL_VP_ATTR_EN_0_5_XYNN                                           0x00300000
5411 #define   NV50TCL_VP_ATTR_EN_0_5_NNZN                                           0x00400000
5412 #define   NV50TCL_VP_ATTR_EN_0_5_XNZN                                           0x00500000
5413 #define   NV50TCL_VP_ATTR_EN_0_5_NYZN                                           0x00600000
5414 #define   NV50TCL_VP_ATTR_EN_0_5_XYZN                                           0x00700000
5415 #define   NV50TCL_VP_ATTR_EN_0_5_NNNW                                           0x00800000
5416 #define   NV50TCL_VP_ATTR_EN_0_5_XNNW                                           0x00900000
5417 #define   NV50TCL_VP_ATTR_EN_0_5_NYNW                                           0x00a00000
5418 #define   NV50TCL_VP_ATTR_EN_0_5_XYNW                                           0x00b00000
5419 #define   NV50TCL_VP_ATTR_EN_0_5_NNZW                                           0x00c00000
5420 #define   NV50TCL_VP_ATTR_EN_0_5_XNZW                                           0x00d00000
5421 #define   NV50TCL_VP_ATTR_EN_0_5_NYZW                                           0x00e00000
5422 #define   NV50TCL_VP_ATTR_EN_0_5_XYZW                                           0x00f00000
5423 #define   NV50TCL_VP_ATTR_EN_0_4_SHIFT                                          16
5424 #define   NV50TCL_VP_ATTR_EN_0_4_MASK                                           0x000f0000
5425 #define   NV50TCL_VP_ATTR_EN_0_4_NONE                                           0x00000000
5426 #define   NV50TCL_VP_ATTR_EN_0_4_XNNN                                           0x00010000
5427 #define   NV50TCL_VP_ATTR_EN_0_4_NYNN                                           0x00020000
5428 #define   NV50TCL_VP_ATTR_EN_0_4_XYNN                                           0x00030000
5429 #define   NV50TCL_VP_ATTR_EN_0_4_NNZN                                           0x00040000
5430 #define   NV50TCL_VP_ATTR_EN_0_4_XNZN                                           0x00050000
5431 #define   NV50TCL_VP_ATTR_EN_0_4_NYZN                                           0x00060000
5432 #define   NV50TCL_VP_ATTR_EN_0_4_XYZN                                           0x00070000
5433 #define   NV50TCL_VP_ATTR_EN_0_4_NNNW                                           0x00080000
5434 #define   NV50TCL_VP_ATTR_EN_0_4_XNNW                                           0x00090000
5435 #define   NV50TCL_VP_ATTR_EN_0_4_NYNW                                           0x000a0000
5436 #define   NV50TCL_VP_ATTR_EN_0_4_XYNW                                           0x000b0000
5437 #define   NV50TCL_VP_ATTR_EN_0_4_NNZW                                           0x000c0000
5438 #define   NV50TCL_VP_ATTR_EN_0_4_XNZW                                           0x000d0000
5439 #define   NV50TCL_VP_ATTR_EN_0_4_NYZW                                           0x000e0000
5440 #define   NV50TCL_VP_ATTR_EN_0_4_XYZW                                           0x000f0000
5441 #define   NV50TCL_VP_ATTR_EN_0_3_SHIFT                                          12
5442 #define   NV50TCL_VP_ATTR_EN_0_3_MASK                                           0x0000f000
5443 #define   NV50TCL_VP_ATTR_EN_0_3_NONE                                           0x00000000
5444 #define   NV50TCL_VP_ATTR_EN_0_3_XNNN                                           0x00001000
5445 #define   NV50TCL_VP_ATTR_EN_0_3_NYNN                                           0x00002000
5446 #define   NV50TCL_VP_ATTR_EN_0_3_XYNN                                           0x00003000
5447 #define   NV50TCL_VP_ATTR_EN_0_3_NNZN                                           0x00004000
5448 #define   NV50TCL_VP_ATTR_EN_0_3_XNZN                                           0x00005000
5449 #define   NV50TCL_VP_ATTR_EN_0_3_NYZN                                           0x00006000
5450 #define   NV50TCL_VP_ATTR_EN_0_3_XYZN                                           0x00007000
5451 #define   NV50TCL_VP_ATTR_EN_0_3_NNNW                                           0x00008000
5452 #define   NV50TCL_VP_ATTR_EN_0_3_XNNW                                           0x00009000
5453 #define   NV50TCL_VP_ATTR_EN_0_3_NYNW                                           0x0000a000
5454 #define   NV50TCL_VP_ATTR_EN_0_3_XYNW                                           0x0000b000
5455 #define   NV50TCL_VP_ATTR_EN_0_3_NNZW                                           0x0000c000
5456 #define   NV50TCL_VP_ATTR_EN_0_3_XNZW                                           0x0000d000
5457 #define   NV50TCL_VP_ATTR_EN_0_3_NYZW                                           0x0000e000
5458 #define   NV50TCL_VP_ATTR_EN_0_3_XYZW                                           0x0000f000
5459 #define   NV50TCL_VP_ATTR_EN_0_2_SHIFT                                          8
5460 #define   NV50TCL_VP_ATTR_EN_0_2_MASK                                           0x00000f00
5461 #define   NV50TCL_VP_ATTR_EN_0_2_NONE                                           0x00000000
5462 #define   NV50TCL_VP_ATTR_EN_0_2_XNNN                                           0x00000100
5463 #define   NV50TCL_VP_ATTR_EN_0_2_NYNN                                           0x00000200
5464 #define   NV50TCL_VP_ATTR_EN_0_2_XYNN                                           0x00000300
5465 #define   NV50TCL_VP_ATTR_EN_0_2_NNZN                                           0x00000400
5466 #define   NV50TCL_VP_ATTR_EN_0_2_XNZN                                           0x00000500
5467 #define   NV50TCL_VP_ATTR_EN_0_2_NYZN                                           0x00000600
5468 #define   NV50TCL_VP_ATTR_EN_0_2_XYZN                                           0x00000700
5469 #define   NV50TCL_VP_ATTR_EN_0_2_NNNW                                           0x00000800
5470 #define   NV50TCL_VP_ATTR_EN_0_2_XNNW                                           0x00000900
5471 #define   NV50TCL_VP_ATTR_EN_0_2_NYNW                                           0x00000a00
5472 #define   NV50TCL_VP_ATTR_EN_0_2_XYNW                                           0x00000b00
5473 #define   NV50TCL_VP_ATTR_EN_0_2_NNZW                                           0x00000c00
5474 #define   NV50TCL_VP_ATTR_EN_0_2_XNZW                                           0x00000d00
5475 #define   NV50TCL_VP_ATTR_EN_0_2_NYZW                                           0x00000e00
5476 #define   NV50TCL_VP_ATTR_EN_0_2_XYZW                                           0x00000f00
5477 #define   NV50TCL_VP_ATTR_EN_0_1_SHIFT                                          4
5478 #define   NV50TCL_VP_ATTR_EN_0_1_MASK                                           0x000000f0
5479 #define   NV50TCL_VP_ATTR_EN_0_1_NONE                                           0x00000000
5480 #define   NV50TCL_VP_ATTR_EN_0_1_XNNN                                           0x00000010
5481 #define   NV50TCL_VP_ATTR_EN_0_1_NYNN                                           0x00000020
5482 #define   NV50TCL_VP_ATTR_EN_0_1_XYNN                                           0x00000030
5483 #define   NV50TCL_VP_ATTR_EN_0_1_NNZN                                           0x00000040
5484 #define   NV50TCL_VP_ATTR_EN_0_1_XNZN                                           0x00000050
5485 #define   NV50TCL_VP_ATTR_EN_0_1_NYZN                                           0x00000060
5486 #define   NV50TCL_VP_ATTR_EN_0_1_XYZN                                           0x00000070
5487 #define   NV50TCL_VP_ATTR_EN_0_1_NNNW                                           0x00000080
5488 #define   NV50TCL_VP_ATTR_EN_0_1_XNNW                                           0x00000090
5489 #define   NV50TCL_VP_ATTR_EN_0_1_NYNW                                           0x000000a0
5490 #define   NV50TCL_VP_ATTR_EN_0_1_XYNW                                           0x000000b0
5491 #define   NV50TCL_VP_ATTR_EN_0_1_NNZW                                           0x000000c0
5492 #define   NV50TCL_VP_ATTR_EN_0_1_XNZW                                           0x000000d0
5493 #define   NV50TCL_VP_ATTR_EN_0_1_NYZW                                           0x000000e0
5494 #define   NV50TCL_VP_ATTR_EN_0_1_XYZW                                           0x000000f0
5495 #define   NV50TCL_VP_ATTR_EN_0_0_SHIFT                                          0
5496 #define   NV50TCL_VP_ATTR_EN_0_0_MASK                                           0x0000000f
5497 #define   NV50TCL_VP_ATTR_EN_0_0_NONE                                           0x00000000
5498 #define   NV50TCL_VP_ATTR_EN_0_0_XNNN                                           0x00000001
5499 #define   NV50TCL_VP_ATTR_EN_0_0_NYNN                                           0x00000002
5500 #define   NV50TCL_VP_ATTR_EN_0_0_XYNN                                           0x00000003
5501 #define   NV50TCL_VP_ATTR_EN_0_0_NNZN                                           0x00000004
5502 #define   NV50TCL_VP_ATTR_EN_0_0_XNZN                                           0x00000005
5503 #define   NV50TCL_VP_ATTR_EN_0_0_NYZN                                           0x00000006
5504 #define   NV50TCL_VP_ATTR_EN_0_0_XYZN                                           0x00000007
5505 #define   NV50TCL_VP_ATTR_EN_0_0_NNNW                                           0x00000008
5506 #define   NV50TCL_VP_ATTR_EN_0_0_XNNW                                           0x00000009
5507 #define   NV50TCL_VP_ATTR_EN_0_0_NYNW                                           0x0000000a
5508 #define   NV50TCL_VP_ATTR_EN_0_0_XYNW                                           0x0000000b
5509 #define   NV50TCL_VP_ATTR_EN_0_0_NNZW                                           0x0000000c
5510 #define   NV50TCL_VP_ATTR_EN_0_0_XNZW                                           0x0000000d
5511 #define   NV50TCL_VP_ATTR_EN_0_0_NYZW                                           0x0000000e
5512 #define   NV50TCL_VP_ATTR_EN_0_0_XYZW                                           0x0000000f
5513 #define  NV50TCL_VP_ATTR_EN_1                                                   0x00001654
5514 #define   NV50TCL_VP_ATTR_EN_1_15_SHIFT                                         28
5515 #define   NV50TCL_VP_ATTR_EN_1_15_MASK                                          0xf0000000
5516 #define   NV50TCL_VP_ATTR_EN_1_15_NONE                                          0x00000000
5517 #define   NV50TCL_VP_ATTR_EN_1_15_XNNN                                          0x10000000
5518 #define   NV50TCL_VP_ATTR_EN_1_15_NYNN                                          0x20000000
5519 #define   NV50TCL_VP_ATTR_EN_1_15_XYNN                                          0x30000000
5520 #define   NV50TCL_VP_ATTR_EN_1_15_NNZN                                          0x40000000
5521 #define   NV50TCL_VP_ATTR_EN_1_15_XNZN                                          0x50000000
5522 #define   NV50TCL_VP_ATTR_EN_1_15_NYZN                                          0x60000000
5523 #define   NV50TCL_VP_ATTR_EN_1_15_XYZN                                          0x70000000
5524 #define   NV50TCL_VP_ATTR_EN_1_15_NNNW                                          0x80000000
5525 #define   NV50TCL_VP_ATTR_EN_1_15_XNNW                                          0x90000000
5526 #define   NV50TCL_VP_ATTR_EN_1_15_NYNW                                          0xa0000000
5527 #define   NV50TCL_VP_ATTR_EN_1_15_XYNW                                          0xb0000000
5528 #define   NV50TCL_VP_ATTR_EN_1_15_NNZW                                          0xc0000000
5529 #define   NV50TCL_VP_ATTR_EN_1_15_XNZW                                          0xd0000000
5530 #define   NV50TCL_VP_ATTR_EN_1_15_NYZW                                          0xe0000000
5531 #define   NV50TCL_VP_ATTR_EN_1_15_XYZW                                          0xf0000000
5532 #define   NV50TCL_VP_ATTR_EN_1_14_SHIFT                                         24
5533 #define   NV50TCL_VP_ATTR_EN_1_14_MASK                                          0x0f000000
5534 #define   NV50TCL_VP_ATTR_EN_1_14_NONE                                          0x00000000
5535 #define   NV50TCL_VP_ATTR_EN_1_14_XNNN                                          0x01000000
5536 #define   NV50TCL_VP_ATTR_EN_1_14_NYNN                                          0x02000000
5537 #define   NV50TCL_VP_ATTR_EN_1_14_XYNN                                          0x03000000
5538 #define   NV50TCL_VP_ATTR_EN_1_14_NNZN                                          0x04000000
5539 #define   NV50TCL_VP_ATTR_EN_1_14_XNZN                                          0x05000000
5540 #define   NV50TCL_VP_ATTR_EN_1_14_NYZN                                          0x06000000
5541 #define   NV50TCL_VP_ATTR_EN_1_14_XYZN                                          0x07000000
5542 #define   NV50TCL_VP_ATTR_EN_1_14_NNNW                                          0x08000000
5543 #define   NV50TCL_VP_ATTR_EN_1_14_XNNW                                          0x09000000
5544 #define   NV50TCL_VP_ATTR_EN_1_14_NYNW                                          0x0a000000
5545 #define   NV50TCL_VP_ATTR_EN_1_14_XYNW                                          0x0b000000
5546 #define   NV50TCL_VP_ATTR_EN_1_14_NNZW                                          0x0c000000
5547 #define   NV50TCL_VP_ATTR_EN_1_14_XNZW                                          0x0d000000
5548 #define   NV50TCL_VP_ATTR_EN_1_14_NYZW                                          0x0e000000
5549 #define   NV50TCL_VP_ATTR_EN_1_14_XYZW                                          0x0f000000
5550 #define   NV50TCL_VP_ATTR_EN_1_13_SHIFT                                         20
5551 #define   NV50TCL_VP_ATTR_EN_1_13_MASK                                          0x00f00000
5552 #define   NV50TCL_VP_ATTR_EN_1_13_NONE                                          0x00000000
5553 #define   NV50TCL_VP_ATTR_EN_1_13_XNNN                                          0x00100000
5554 #define   NV50TCL_VP_ATTR_EN_1_13_NYNN                                          0x00200000
5555 #define   NV50TCL_VP_ATTR_EN_1_13_XYNN                                          0x00300000
5556 #define   NV50TCL_VP_ATTR_EN_1_13_NNZN                                          0x00400000
5557 #define   NV50TCL_VP_ATTR_EN_1_13_XNZN                                          0x00500000
5558 #define   NV50TCL_VP_ATTR_EN_1_13_NYZN                                          0x00600000
5559 #define   NV50TCL_VP_ATTR_EN_1_13_XYZN                                          0x00700000
5560 #define   NV50TCL_VP_ATTR_EN_1_13_NNNW                                          0x00800000
5561 #define   NV50TCL_VP_ATTR_EN_1_13_XNNW                                          0x00900000
5562 #define   NV50TCL_VP_ATTR_EN_1_13_NYNW                                          0x00a00000
5563 #define   NV50TCL_VP_ATTR_EN_1_13_XYNW                                          0x00b00000
5564 #define   NV50TCL_VP_ATTR_EN_1_13_NNZW                                          0x00c00000
5565 #define   NV50TCL_VP_ATTR_EN_1_13_XNZW                                          0x00d00000
5566 #define   NV50TCL_VP_ATTR_EN_1_13_NYZW                                          0x00e00000
5567 #define   NV50TCL_VP_ATTR_EN_1_13_XYZW                                          0x00f00000
5568 #define   NV50TCL_VP_ATTR_EN_1_12_SHIFT                                         16
5569 #define   NV50TCL_VP_ATTR_EN_1_12_MASK                                          0x000f0000
5570 #define   NV50TCL_VP_ATTR_EN_1_12_NONE                                          0x00000000
5571 #define   NV50TCL_VP_ATTR_EN_1_12_XNNN                                          0x00010000
5572 #define   NV50TCL_VP_ATTR_EN_1_12_NYNN                                          0x00020000
5573 #define   NV50TCL_VP_ATTR_EN_1_12_XYNN                                          0x00030000
5574 #define   NV50TCL_VP_ATTR_EN_1_12_NNZN                                          0x00040000
5575 #define   NV50TCL_VP_ATTR_EN_1_12_XNZN                                          0x00050000
5576 #define   NV50TCL_VP_ATTR_EN_1_12_NYZN                                          0x00060000
5577 #define   NV50TCL_VP_ATTR_EN_1_12_XYZN                                          0x00070000
5578 #define   NV50TCL_VP_ATTR_EN_1_12_NNNW                                          0x00080000
5579 #define   NV50TCL_VP_ATTR_EN_1_12_XNNW                                          0x00090000
5580 #define   NV50TCL_VP_ATTR_EN_1_12_NYNW                                          0x000a0000
5581 #define   NV50TCL_VP_ATTR_EN_1_12_XYNW                                          0x000b0000
5582 #define   NV50TCL_VP_ATTR_EN_1_12_NNZW                                          0x000c0000
5583 #define   NV50TCL_VP_ATTR_EN_1_12_XNZW                                          0x000d0000
5584 #define   NV50TCL_VP_ATTR_EN_1_12_NYZW                                          0x000e0000
5585 #define   NV50TCL_VP_ATTR_EN_1_12_XYZW                                          0x000f0000
5586 #define   NV50TCL_VP_ATTR_EN_1_11_SHIFT                                         12
5587 #define   NV50TCL_VP_ATTR_EN_1_11_MASK                                          0x0000f000
5588 #define   NV50TCL_VP_ATTR_EN_1_11_NONE                                          0x00000000
5589 #define   NV50TCL_VP_ATTR_EN_1_11_XNNN                                          0x00001000
5590 #define   NV50TCL_VP_ATTR_EN_1_11_NYNN                                          0x00002000
5591 #define   NV50TCL_VP_ATTR_EN_1_11_XYNN                                          0x00003000
5592 #define   NV50TCL_VP_ATTR_EN_1_11_NNZN                                          0x00004000
5593 #define   NV50TCL_VP_ATTR_EN_1_11_XNZN                                          0x00005000
5594 #define   NV50TCL_VP_ATTR_EN_1_11_NYZN                                          0x00006000
5595 #define   NV50TCL_VP_ATTR_EN_1_11_XYZN                                          0x00007000
5596 #define   NV50TCL_VP_ATTR_EN_1_11_NNNW                                          0x00008000
5597 #define   NV50TCL_VP_ATTR_EN_1_11_XNNW                                          0x00009000
5598 #define   NV50TCL_VP_ATTR_EN_1_11_NYNW                                          0x0000a000
5599 #define   NV50TCL_VP_ATTR_EN_1_11_XYNW                                          0x0000b000
5600 #define   NV50TCL_VP_ATTR_EN_1_11_NNZW                                          0x0000c000
5601 #define   NV50TCL_VP_ATTR_EN_1_11_XNZW                                          0x0000d000
5602 #define   NV50TCL_VP_ATTR_EN_1_11_NYZW                                          0x0000e000
5603 #define   NV50TCL_VP_ATTR_EN_1_11_XYZW                                          0x0000f000
5604 #define   NV50TCL_VP_ATTR_EN_1_10_SHIFT                                         8
5605 #define   NV50TCL_VP_ATTR_EN_1_10_MASK                                          0x00000f00
5606 #define   NV50TCL_VP_ATTR_EN_1_10_NONE                                          0x00000000
5607 #define   NV50TCL_VP_ATTR_EN_1_10_XNNN                                          0x00000100
5608 #define   NV50TCL_VP_ATTR_EN_1_10_NYNN                                          0x00000200
5609 #define   NV50TCL_VP_ATTR_EN_1_10_XYNN                                          0x00000300
5610 #define   NV50TCL_VP_ATTR_EN_1_10_NNZN                                          0x00000400
5611 #define   NV50TCL_VP_ATTR_EN_1_10_XNZN                                          0x00000500
5612 #define   NV50TCL_VP_ATTR_EN_1_10_NYZN                                          0x00000600
5613 #define   NV50TCL_VP_ATTR_EN_1_10_XYZN                                          0x00000700
5614 #define   NV50TCL_VP_ATTR_EN_1_10_NNNW                                          0x00000800
5615 #define   NV50TCL_VP_ATTR_EN_1_10_XNNW                                          0x00000900
5616 #define   NV50TCL_VP_ATTR_EN_1_10_NYNW                                          0x00000a00
5617 #define   NV50TCL_VP_ATTR_EN_1_10_XYNW                                          0x00000b00
5618 #define   NV50TCL_VP_ATTR_EN_1_10_NNZW                                          0x00000c00
5619 #define   NV50TCL_VP_ATTR_EN_1_10_XNZW                                          0x00000d00
5620 #define   NV50TCL_VP_ATTR_EN_1_10_NYZW                                          0x00000e00
5621 #define   NV50TCL_VP_ATTR_EN_1_10_XYZW                                          0x00000f00
5622 #define   NV50TCL_VP_ATTR_EN_1_9_SHIFT                                          4
5623 #define   NV50TCL_VP_ATTR_EN_1_9_MASK                                           0x000000f0
5624 #define   NV50TCL_VP_ATTR_EN_1_9_NONE                                           0x00000000
5625 #define   NV50TCL_VP_ATTR_EN_1_9_XNNN                                           0x00000010
5626 #define   NV50TCL_VP_ATTR_EN_1_9_NYNN                                           0x00000020
5627 #define   NV50TCL_VP_ATTR_EN_1_9_XYNN                                           0x00000030
5628 #define   NV50TCL_VP_ATTR_EN_1_9_NNZN                                           0x00000040
5629 #define   NV50TCL_VP_ATTR_EN_1_9_XNZN                                           0x00000050
5630 #define   NV50TCL_VP_ATTR_EN_1_9_NYZN                                           0x00000060
5631 #define   NV50TCL_VP_ATTR_EN_1_9_XYZN                                           0x00000070
5632 #define   NV50TCL_VP_ATTR_EN_1_9_NNNW                                           0x00000080
5633 #define   NV50TCL_VP_ATTR_EN_1_9_XNNW                                           0x00000090
5634 #define   NV50TCL_VP_ATTR_EN_1_9_NYNW                                           0x000000a0
5635 #define   NV50TCL_VP_ATTR_EN_1_9_XYNW                                           0x000000b0
5636 #define   NV50TCL_VP_ATTR_EN_1_9_NNZW                                           0x000000c0
5637 #define   NV50TCL_VP_ATTR_EN_1_9_XNZW                                           0x000000d0
5638 #define   NV50TCL_VP_ATTR_EN_1_9_NYZW                                           0x000000e0
5639 #define   NV50TCL_VP_ATTR_EN_1_9_XYZW                                           0x000000f0
5640 #define   NV50TCL_VP_ATTR_EN_1_8_SHIFT                                          0
5641 #define   NV50TCL_VP_ATTR_EN_1_8_MASK                                           0x0000000f
5642 #define   NV50TCL_VP_ATTR_EN_1_8_NONE                                           0x00000000
5643 #define   NV50TCL_VP_ATTR_EN_1_8_XNNN                                           0x00000001
5644 #define   NV50TCL_VP_ATTR_EN_1_8_NYNN                                           0x00000002
5645 #define   NV50TCL_VP_ATTR_EN_1_8_XYNN                                           0x00000003
5646 #define   NV50TCL_VP_ATTR_EN_1_8_NNZN                                           0x00000004
5647 #define   NV50TCL_VP_ATTR_EN_1_8_XNZN                                           0x00000005
5648 #define   NV50TCL_VP_ATTR_EN_1_8_NYZN                                           0x00000006
5649 #define   NV50TCL_VP_ATTR_EN_1_8_XYZN                                           0x00000007
5650 #define   NV50TCL_VP_ATTR_EN_1_8_NNNW                                           0x00000008
5651 #define   NV50TCL_VP_ATTR_EN_1_8_XNNW                                           0x00000009
5652 #define   NV50TCL_VP_ATTR_EN_1_8_NYNW                                           0x0000000a
5653 #define   NV50TCL_VP_ATTR_EN_1_8_XYNW                                           0x0000000b
5654 #define   NV50TCL_VP_ATTR_EN_1_8_NNZW                                           0x0000000c
5655 #define   NV50TCL_VP_ATTR_EN_1_8_XNZW                                           0x0000000d
5656 #define   NV50TCL_VP_ATTR_EN_1_8_NYZW                                           0x0000000e
5657 #define   NV50TCL_VP_ATTR_EN_1_8_XYZW                                           0x0000000f
5658 #define  NV50TCL_LINE_STIPPLE_ENABLE                                            0x0000166c
5659 #define  NV50TCL_LINE_STIPPLE_PATTERN                                           0x00001680
5660 #define  NV50TCL_POLYGON_STIPPLE_ENABLE                                         0x0000168c
5661 #define  NV50TCL_VP_REG_HPOS                                                    0x000016bc
5662 #define   NV50TCL_VP_REG_HPOS_X_SHIFT                                           0
5663 #define   NV50TCL_VP_REG_HPOS_X_MASK                                            0x000000ff
5664 #define   NV50TCL_VP_REG_HPOS_Y_SHIFT                                           8
5665 #define   NV50TCL_VP_REG_HPOS_Y_MASK                                            0x0000ff00
5666 #define   NV50TCL_VP_REG_HPOS_Z_SHIFT                                           16
5667 #define   NV50TCL_VP_REG_HPOS_Z_MASK                                            0x00ff0000
5668 #define   NV50TCL_VP_REG_HPOS_W_SHIFT                                           24
5669 #define   NV50TCL_VP_REG_HPOS_W_MASK                                            0xff000000
5670 #define  NV50TCL_VP_REG_COL0                                                    0x000016c0
5671 #define   NV50TCL_VP_REG_COL0_X_SHIFT                                           0
5672 #define   NV50TCL_VP_REG_COL0_X_MASK                                            0x000000ff
5673 #define   NV50TCL_VP_REG_COL0_Y_SHIFT                                           8
5674 #define   NV50TCL_VP_REG_COL0_Y_MASK                                            0x0000ff00
5675 #define   NV50TCL_VP_REG_COL0_Z_SHIFT                                           16
5676 #define   NV50TCL_VP_REG_COL0_Z_MASK                                            0x00ff0000
5677 #define   NV50TCL_VP_REG_COL0_W_SHIFT                                           24
5678 #define   NV50TCL_VP_REG_COL0_W_MASK                                            0xff000000
5679 #define  NV50TCL_POLYGON_STIPPLE_PATTERN(x)                                     (0x00001700+((x)*4))
5680 #define  NV50TCL_POLYGON_STIPPLE_PATTERN__SIZE                                  0x00000020
5681 #define  NV50TCL_CULL_FACE_ENABLE                                               0x00001918
5682 #define  NV50TCL_FRONT_FACE                                                     0x0000191c
5683 #define  NV50TCL_FRONT_FACE_CW                                                  0x00000900
5684 #define  NV50TCL_FRONT_FACE_CCW                                                 0x00000901
5685 #define  NV50TCL_CULL_FACE                                                      0x00001920
5686 #define  NV50TCL_CULL_FACE_FRONT                                                0x00000404
5687 #define  NV50TCL_CULL_FACE_BACK                                                 0x00000405
5688 #define  NV50TCL_CULL_FACE_FRONT_AND_BACK                                       0x00000408
5689 #define  NV50TCL_LOGIC_OP_ENABLE                                                0x000019c4
5690 #define  NV50TCL_LOGIC_OP                                                       0x000019c8
5691 #define  NV50TCL_LOGIC_OP_CLEAR                                                 0x00001500
5692 #define  NV50TCL_LOGIC_OP_AND                                                   0x00001501
5693 #define  NV50TCL_LOGIC_OP_AND_REVERSE                                           0x00001502
5694 #define  NV50TCL_LOGIC_OP_COPY                                                  0x00001503
5695 #define  NV50TCL_LOGIC_OP_AND_INVERTED                                          0x00001504
5696 #define  NV50TCL_LOGIC_OP_NOOP                                                  0x00001505
5697 #define  NV50TCL_LOGIC_OP_XOR                                                   0x00001506
5698 #define  NV50TCL_LOGIC_OP_OR                                                    0x00001507
5699 #define  NV50TCL_LOGIC_OP_NOR                                                   0x00001508
5700 #define  NV50TCL_LOGIC_OP_EQUIV                                                 0x00001509
5701 #define  NV50TCL_LOGIC_OP_INVERT                                                0x0000150a
5702 #define  NV50TCL_LOGIC_OP_OR_REVERSE                                            0x0000150b
5703 #define  NV50TCL_LOGIC_OP_COPY_INVERTED                                         0x0000150c
5704 #define  NV50TCL_LOGIC_OP_OR_INVERTED                                           0x0000150d
5705 #define  NV50TCL_LOGIC_OP_NAND                                                  0x0000150e
5706 #define  NV50TCL_LOGIC_OP_SET                                                   0x0000150f
5707 #define  NV50TCL_CLEAR_BUFFERS                                                  0x000019d0
5708 #define  NV50TCL_COLOR_MASK(x)                                                  (0x00001a00+((x)*4))
5709 #define  NV50TCL_COLOR_MASK__SIZE                                               0x00000008
5710
5711
5712 #define NV54TCL                                                                 0x00008297
5713
5714
5715
5716 #endif /* NOUVEAU_REG_H */