VERY EXPERIMENTAL now EXA waits for sync before its operations - this removed the...
[nouveau] / src / nouveau_reg.h
1 /*
2    Autogenerated file, do not edit ! **
3
4 **************************************************************************
5
6    Copyright (C) 2006 :
7    Laurent Carlier,
8    Matthieu Castet,
9    Dmitry Baryshkov,
10    Dawid Gajownik,
11    Jeremy Kolb,
12    Stephane Loeuillet,
13    Patrice Mandin,
14    Stephane Marchesin,
15    Serge Martin,
16    Sylvain Munaut,
17    Ben Skeggs,
18    Erik Waling,
19    koala_br,
20    sturmflut.
21
22 All Rights Reserved.
23
24 Permission is hereby granted, free of charge, to any person obtaining
25 a copy of this software and associated documentation files (the
26 "Software"), to deal in the Software without restriction, including
27 without limitation the rights to use, copy, modify, merge, publish,
28 distribute, sublicense, and/or sell copies of the Software, and to
29 permit persons to whom the Software is furnished to do so, subject to
30 the following conditions:
31
32 The above copyright notice and this permission notice (including the
33 next paragraph) shall be included in all copies or substantial
34 portions of the Software.
35
36 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
38 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
39 IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
40 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
41 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
42 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
43
44 **************************************************************************
45
46    Created from objects.c rev. 1.331
47 */
48
49 #ifndef _NOUVEAU_REG_H
50 #define _NOUVEAU_REG_H
51
52 /****************************************** 
53 Object NV01_CONTEXT_CLIP_RECTANGLE used on: NV03 NV04 NV10 NV15 NV20 NV40 G70
54 */
55 #define                 NV01_CONTEXT_CLIP_RECTANGLE                             0x00000019
56 #       define          NV01_CONTEXT_CLIP_RECTANGLE_SET_POINT                   0x00000300      /* Parameters: x y */
57 #       define          NV01_CONTEXT_CLIP_RECTANGLE_SET_SIZE                    0x00000304      /* Parameters: width height */
58
59 /****************************************** 
60 Object NV_MEMORY_TO_MEMORY_FORMAT used on: NV04 NV10 NV15 NV20 NV30 NV40 G70
61 */
62 #define                 NV_MEMORY_TO_MEMORY_FORMAT                              0x00000039
63 #       define          NV_MEMORY_TO_MEMORY_FORMAT_NOTIFY                       0x00000104
64 #       define          NV_MEMORY_TO_MEMORY_FORMAT_DMA_NOTIFY                   0x00000180
65 #       define          NV_MEMORY_TO_MEMORY_FORMAT_OBJECT_IN                    0x00000184
66 #       define          NV_MEMORY_TO_MEMORY_FORMAT_OBJECT_OUT                   0x00000188
67 #       define          NV_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN                    0x0000030c
68 #       define          NV_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT                   0x00000310
69 #       define          NV_MEMORY_TO_MEMORY_FORMAT_PITCH_IN                     0x00000314
70 #       define          NV_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT                    0x00000318
71 #       define          NV_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN               0x0000031c
72 #       define          NV_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT                   0x00000320
73
74 /****************************************** 
75 Object NV03_PRIMITIVE_RASTER_OP used on: NV03 NV04 NV10 NV15 NV20 NV30 NV40 G70
76 */
77 #define                 NV03_PRIMITIVE_RASTER_OP                                0x00000043
78 #       define          NV03_PRIMITIVE_RASTER_OP_NOTIFY                         0x00000100
79 #       define          NV03_PRIMITIVE_RASTER_OP_DMA_NOTIFY                     0x00000180
80 #       define          NV03_PRIMITIVE_RASTER_OP_LOGIC_OP                       0x00000300      /* Parameters: logic_op */
81
82 /****************************************** 
83 Object NV04_GDI_RECTANGLE_TEXT used on: NV04 NV10 NV15 NV20 NV30 NV40 G70
84 */
85 #define                 NV04_GDI_RECTANGLE_TEXT                                 0x0000004a
86 #       define          NV04_GDI_RECTANGLE_TEXT_SET_DMA_NOTIFY                  0x00000180
87 #       define          NV04_GDI_RECTANGLE_TEXT_PATTERN                         0x00000188
88 #       define          NV04_GDI_RECTANGLE_TEXT_ROP5                            0x0000018c
89 #       define          NV04_GDI_RECTANGLE_TEXT_SURFACE                         0x00000198
90 #       define          NV04_GDI_RECTANGLE_TEXT_OPERATION                       0x000002fc
91 #       define          NV04_GDI_RECTANGLE_TEXT_FORMAT                          0x00000300
92 #       define          NV04_GDI_RECTANGLE_TEXT_BLOCK_LEVEL1_TL                 0x000005f4      /* Parameters: left top */
93 #       define          NV04_GDI_RECTANGLE_TEXT_BLOCK_LEVEL1_BR                 0x000005f8      /* Parameters: right bottom */
94 #       define          NV04_GDI_RECTANGLE_TEXT_FILL_VALUE                      0x000005fc
95 #       define          NV04_GDI_RECTANGLE_TEXT_BLOCK_LEVEL2_TL                 0x00000600      /* Parameters: left top */
96 #       define          NV04_GDI_RECTANGLE_TEXT_BLOCK_LEVEL2_BR                 0x00000604      /* Parameters: right bottom */
97
98 /****************************************** 
99 Object NV04_SWIZZLED_SURFACE used on: NV04 NV10 NV15 
100 */
101 #define                 NV04_SWIZZLED_SURFACE                                   0x00000052
102 #       define          NV04_SWIZZLED_SURFACE_DMA_NOTIFY                        0x00000180
103 #       define          NV04_SWIZZLED_SURFACE_DMA_IMAGE                         0x00000184
104 #       define          NV04_SWIZZLED_SURFACE_FORMAT                            0x00000300      /* Parameters: log2(height) log2(width) color */
105 #       define          NV04_SWIZZLED_SURFACE_OFFSET                            0x00000304
106
107 /****************************************** 
108 Object NV04_CONTEXT_SURFACES_3D used on: NV04 
109 */
110 #define                 NV04_CONTEXT_SURFACES_3D                                0x00000053
111 #       define          NV04_CONTEXT_SURFACES_3D_DMA_NOTIFY                     0x00000180
112 #       define          NV04_CONTEXT_SURFACES_3D_DMA_COLOR                      0x00000184
113 #       define          NV04_CONTEXT_SURFACES_3D_DMA_ZETA                       0x00000188
114 #       define          NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL                0x000002f8      /* Parameters: x width */
115 #       define          NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL                  0x000002fc      /* Parameters: y height */
116 #       define          NV04_CONTEXT_SURFACES_3D_FORMAT                         0x00000300      /* Parameters: color type width height */
117 #       define          NV04_CONTEXT_SURFACES_3D_CLIP_SIZE                      0x00000304      /* Parameters: width height */
118 #       define          NV04_CONTEXT_SURFACES_3D_PITCH                          0x00000308      /* Parameters: color zeta */
119 #       define          NV04_CONTEXT_SURFACES_3D_OFFSET_COLOR                   0x0000030c
120 #       define          NV04_CONTEXT_SURFACES_3D_OFFSET_ZETA                    0x00000310
121
122 /****************************************** 
123 Object NV04_DX5_TEXTURED_TRIANGLE used on: NV04 
124 */
125 #define                 NV04_DX5_TEXTURED_TRIANGLE                              0x00000054
126 #       define          NV04_DX5_TEXTURED_TRIANGLE_NOP                          0x00000100
127 #       define          NV04_DX5_TEXTURED_TRIANGLE_NOTIFY                       0x00000104
128 #       define          NV04_DX5_TEXTURED_TRIANGLE_DMA_NOTIFY                   0x00000180
129 #       define          NV04_DX5_TEXTURED_TRIANGLE_DMA_1                        0x00000184
130 #       define          NV04_DX5_TEXTURED_TRIANGLE_DMA_2                        0x00000188
131 #       define          NV04_DX5_TEXTURED_TRIANGLE_SURFACE                      0x0000018c
132 #       define          NV04_DX5_TEXTURED_TRIANGLE_COLOR_KEY                    0x00000300
133 #       define          NV04_DX5_TEXTURED_TRIANGLE_TEXTURE_OFFSET               0x00000304
134 #       define          NV04_DX5_TEXTURED_TRIANGLE_TEXTURE_FORMAT               0x00000308      /* Parameters: color mipmaps log(u) log(v) wrap_s wrap_t */
135 #       define          NV04_DX5_TEXTURED_TRIANGLE_TEXTURE_FILTER               0x0000030c      /* Parameters: magfilter minfilter lodbias */
136 #       define          NV04_DX5_TEXTURED_TRIANGLE_BLEND                        0x00000310      /* Parameters: texture benable dst src */
137 #       define          NV04_DX5_TEXTURED_TRIANGLE_CONTROL                      0x00000314      /* Parameters: alpharef alphafunc alphaenable zenable zwrite zfunc cullmode */
138 #       define          NV04_DX5_TEXTURED_TRIANGLE_FOG_COLOR                    0x00000318
139 #       define          NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SX( d)              (0x00000400 + d * 0x0020)
140 #       define          NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SY( d)              (0x00000404 + d * 0x0020)
141 #       define          NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SZ( d)              (0x00000408 + d * 0x0020)
142 #       define          NV04_DX5_TEXTURED_TRIANGLE_INV_W( d)                    (0x0000040c + d * 0x0020)
143 #       define          NV04_DX5_TEXTURED_TRIANGLE_COLOR( d)                    (0x00000410 + d * 0x0020)
144 #       define          NV04_DX5_TEXTURED_TRIANGLE_SPECULAR( d)                 (0x00000414 + d * 0x0020)
145 #       define          NV04_DX5_TEXTURED_TRIANGLE_TEXTURE_S( d)                (0x00000418 + d * 0x0020)
146 #       define          NV04_DX5_TEXTURED_TRIANGLE_TEXTURE_T( d)                (0x0000041c + d * 0x0020)
147 #       define          NV04_DX5_TEXTURED_TRIANGLE_DRAW                         0x00000600      /* Parameters: v0 v1 v2 v3 v4 v5 */
148
149 /****************************************** 
150 Object NV04_DX6_MULTITEX_TRIANGLE used on: NV04 NV10 NV15 
151 */
152 #define                 NV04_DX6_MULTITEX_TRIANGLE                              0x00000055
153 #       define          NV04_DX6_MULTITEX_TRIANGLE_NOP                          0x00000100
154 #       define          NV04_DX6_MULTITEX_TRIANGLE_NOTIFY                       0x00000104
155 #       define          NV04_DX6_MULTITEX_TRIANGLE_DMA_NOTIFY                   0x00000180
156 #       define          NV04_DX6_MULTITEX_TRIANGLE_DMA_1                        0x00000184
157 #       define          NV04_DX6_MULTITEX_TRIANGLE_DMA_2                        0x00000188
158 #       define          NV04_DX6_MULTITEX_TRIANGLE_SURFACE                      0x0000018c
159 #       define          NV04_DX6_MULTITEX_TRIANGLE_OFFSET0                      0x00000308
160 #       define          NV04_DX6_MULTITEX_TRIANGLE_OFFSET1                      0x0000030c
161 #       define          NV04_DX6_MULTITEX_TRIANGLE_FORMAT0                      0x00000310      /* Parameters: color mipmaps log(u) log(v) wrap_s wrap_t */
162 #       define          NV04_DX6_MULTITEX_TRIANGLE_FORMAT1                      0x00000314      /* Parameters: color mipmaps log(u) log(v) wrap_s wrap_t */
163 #       define          NV04_DX6_MULTITEX_TRIANGLE_FILTER0                      0x00000318      /* Parameters: magfilter minfilter lodbias */
164 #       define          NV04_DX6_MULTITEX_TRIANGLE_FILTER1                      0x0000031c      /* Parameters: magfilter minfilter lodbias */
165 #       define          NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA              0x00000320
166 #       define          NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR              0x00000324
167 #       define          NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA              0x0000032c
168 #       define          NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR              0x00000330
169 #       define          NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR               0x00000334
170 #       define          NV04_DX6_MULTITEX_TRIANGLE_BLEND                        0x00000338      /* Parameters: benable dst src */
171 #       define          NV04_DX6_MULTITEX_TRIANGLE_CONTROL0                     0x0000033c      /* Parameters: red_write green_write blue_write alpha_write alpha_write stencil_write alpharef alphafunc alphaenable zenable zwrite zfunc cullmode */
172 #       define          NV04_DX6_MULTITEX_TRIANGLE_CONTROL1                     0x00000340      /* Parameters: stencil_enable stencil_mask_write stencil_mask_read stencilref stencilfunc */
173 #       define          NV04_DX6_MULTITEX_TRIANGLE_CONTROL2                     0x00000344      /* Parameters: stencil_fail stencil_zfail stencil_zpass */
174 #       define          NV04_DX6_MULTITEX_TRIANGLE_FOG_COLOR                    0x00000348
175 #       define          NV04_DX6_MULTITEX_TRIANGLE_TLVERTEX_SX( d)              (0x00000400 + d * 0x0028)
176 #       define          NV04_DX6_MULTITEX_TRIANGLE_TLVERTEX_SY( d)              (0x00000404 + d * 0x0028)
177 #       define          NV04_DX6_MULTITEX_TRIANGLE_TLVERTEX_SZ( d)              (0x00000408 + d * 0x0028)
178 #       define          NV04_DX6_MULTITEX_TRIANGLE_INV_W( d)                    (0x0000040c + d * 0x0028)
179 #       define          NV04_DX6_MULTITEX_TRIANGLE_COLOR( d)                    (0x00000410 + d * 0x0028)
180 #       define          NV04_DX6_MULTITEX_TRIANGLE_SPECULAR( d)                 (0x00000414 + d * 0x0028)
181 #       define          NV04_DX6_MULTITEX_TRIANGLE_TEXTURE0_S( d)               (0x00000418 + d * 0x0028)
182 #       define          NV04_DX6_MULTITEX_TRIANGLE_TEXTURE0_T( d)               (0x0000041c + d * 0x0028)
183 #       define          NV04_DX6_MULTITEX_TRIANGLE_TEXTURE1_S( d)               (0x00000420 + d * 0x0028)
184 #       define          NV04_DX6_MULTITEX_TRIANGLE_TEXTURE1_T( d)               (0x00000424 + d * 0x0028)
185 #       define          NV04_DX6_MULTITEX_TRIANGLE_DRAW                         0x00000540      /* Parameters: v0 v1 v2 v3 v4 v5 */
186
187 /****************************************** 
188 Object NV04_COLOR_KEY used on: NV04 NV10 NV15 NV20 
189 */
190 #define                 NV04_COLOR_KEY                                          0x00000057
191 #       define          NV04_COLOR_KEY_SET_DMA_NOTIFY                           0x00000180
192 #       define          NV04_COLOR_KEY_FORMAT                                   0x00000300
193 #       define          NV04_COLOR_KEY_VALUE                                    0x00000304
194
195 /****************************************** 
196 Object NV04_SOLID_LINE used on: NV04 
197 */
198 #define                 NV04_SOLID_LINE                                         0x0000005c
199 #       define          NV04_SOLID_LINE_CLIP_RECTANGLE                          0x00000184
200 #       define          NV04_SOLID_LINE_PATTERN                                 0x00000188
201 #       define          NV04_SOLID_LINE_ROP                                     0x0000018c
202 #       define          NV04_SOLID_LINE_SURFACE                                 0x00000198
203 #       define          NV04_SOLID_LINE_OPERATION                               0x000002fc
204 #       define          NV04_SOLID_LINE_COLOR_FORMAT                            0x00000300
205 #       define          NV04_SOLID_LINE_COLOR_VALUE                             0x00000304
206 #       define          NV04_SOLID_LINE_START                                   0x00000400      /* Parameters: x y */
207 #       define          NV04_SOLID_LINE_END                                     0x00000400      /* Parameters: x y */
208
209 /****************************************** 
210 Object NV04_UNK005E used on: NV04 
211 */
212 #define                 NV04_UNK005E                                            0x0000005e
213 #       define          NV04_UNK005E_SET_SURFACE                                0x00000198
214 #       define          NV04_UNK005E_UNK02fc                                    0x000002fc
215 #       define          NV04_UNK005E_UNK0300                                    0x00000300
216 #       define          NV04_UNK005E_COUNTER                                    0x00000304
217
218 /****************************************** 
219 Object NV05_SCALED_IMAGE_FROM_MEMORY used on: NV04 
220 */
221 #define                 NV05_SCALED_IMAGE_FROM_MEMORY                           0x00000063
222 #       define          NV05_SCALED_IMAGE_FROM_MEMORY_SURFACE                   0x00000198
223 #       define          NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION          0x000002fc
224 #       define          NV05_SCALED_IMAGE_FROM_MEMORY_OPERATION                 0x00000304
225
226 /****************************************** 
227 Object NV04_SCALED_IMAGE_FROM_MEMORY used on: NV04 
228 */
229 #define                 NV04_SCALED_IMAGE_FROM_MEMORY                           0x00000077
230 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_DMA_NOTIFY                0x00000180
231 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_DMA_IMAGE                 0x00000184
232 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_SURFACE                   0x00000198
233 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT              0x00000300
234 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION                 0x00000304
235 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POS                  0x00000308      /* Parameters: x y */
236 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE                 0x0000030c      /* Parameters: width height */
237 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POS                   0x00000310      /* Parameters: x y */
238 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE                  0x00000314      /* Parameters: width height */
239 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_DU_DX                     0x00000318      /* Parameters: int frac*0x100000 */
240 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_DV_DY                     0x0000031c      /* Parameters: int frac*0x100000 */
241 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_SIZE                      0x00000400      /* Parameters: width height */
242 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT                    0x00000404      /* Parameters: pitch */
243 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_OFFSET                    0x00000408
244 #       define          NV04_SCALED_IMAGE_FROM_MEMORY_POINT                     0x0000040c      /* Parameters: u_int u_frac*0x10 v_int v_frac*0x10 */
245
246 /****************************************** 
247 Object NV_IMAGE_FROM_CPU used on: NV04 
248 */
249 #define                 NV_IMAGE_FROM_CPU                                       0x00000061
250 #       define          NV_IMAGE_FROM_CPU_DMA_NOTIFY                            0x00000180
251 #       define          NV_IMAGE_FROM_CPU_CLIP_RECTANGLE                        0x00000188
252 #       define          NV_IMAGE_FROM_CPU_PATTERN                               0x0000018c
253 #       define          NV_IMAGE_FROM_CPU_ROP                                   0x00000190
254 #       define          NV_IMAGE_FROM_CPU_SURFACE                               0x0000019c
255 #       define          NV_IMAGE_FROM_CPU_OPERATION                             0x000002fc
256 #       define          NV_IMAGE_FROM_CPU_FORMAT                                0x00000300
257
258 /****************************************** 
259 Object NV05_IMAGE_FROM_CPU used on: NV04 
260 */
261 #define                 NV05_IMAGE_FROM_CPU                                     0x00000065
262 #       define          NV05_IMAGE_FROM_CPU_DMA_NOTIFY                          0x00000180
263 #       define          NV05_IMAGE_FROM_CPU_CLIP_RECTANGLE                      0x00000188
264 #       define          NV05_IMAGE_FROM_CPU_PATTERN                             0x0000018c
265 #       define          NV05_IMAGE_FROM_CPU_ROP                                 0x00000190
266 #       define          NV05_IMAGE_FROM_CPU_SURFACE                             0x0000019c
267 #       define          NV05_IMAGE_FROM_CPU_OPERATION                           0x000002fc
268 #       define          NV05_IMAGE_FROM_CPU_FORMAT                              0x00000300
269 #       define          NV05_IMAGE_FROM_CPU_POINT                               0x00000304      /* Parameters: x y */
270 #       define          NV05_IMAGE_FROM_CPU_SIZE_OUT                            0x00000308      /* Parameters: x y */
271 #       define          NV05_IMAGE_FROM_CPU_SIZE_IN                             0x0000030c      /* Parameters: x y */
272 #       define          NV05_IMAGE_FROM_CPU_COLOR( d)                           (0x00000400 + d * 0x0004)
273
274 /****************************************** 
275 Object NV_IMAGE_BLIT used on: NV04 NV10 NV15 NV20 
276 */
277 #define                 NV_IMAGE_BLIT                                           0x0000005f
278 #       define          NV_IMAGE_BLIT_DMA_NOTIFY                                0x00000180
279 #       define          NV_IMAGE_BLIT_COLOR_KEY                                 0x00000184
280 #       define          NV_IMAGE_BLIT_CLIP_RECTANGLE                            0x00000188
281 #       define          NV_IMAGE_BLIT_PATTERN                                   0x0000018c
282 #       define          NV_IMAGE_BLIT_ROP5                                      0x00000190
283 #       define          NV_IMAGE_BLIT_SURFACE                                   0x0000019c
284 #       define          NV_IMAGE_BLIT_OPERATION                                 0x000002fc
285 #       define          NV_IMAGE_BLIT_POINT_IN                                  0x00000300      /* Parameters: x y */
286 #       define          NV_IMAGE_BLIT_POINT_OUT                                 0x00000304      /* Parameters: x y */
287 #       define          NV_IMAGE_BLIT_SIZE                                      0x00000308      /* Parameters: width height */
288
289 /****************************************** 
290 Object NV10_TCL_PRIMITIVE_3D used on: NV10 
291 */
292 #define                 NV10_TCL_PRIMITIVE_3D                                   0x00000056
293 #       define          NV10_TCL_PRIMITIVE_3D_NOP                               0x00000100
294 #       define          NV10_TCL_PRIMITIVE_3D_NOTIFY                            0x00000104
295 #       define          NV10_TCL_PRIMITIVE_3D_SET_DMA_NOTIFY                    0x00000180
296 #       define          NV10_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY0                0x00000184
297 #       define          NV10_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY1                0x00000188
298 #       define          NV10_TCL_PRIMITIVE_3D_SET_DISPLAY_LIST                  0x0000018c
299 #       define          NV10_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY2                0x00000194
300 #       define          NV10_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY3                0x00000198
301 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                    0x00000200      /* Parameters: width x */
302 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT                     0x00000204      /* Parameters: height y */
303 #       define          NV10_TCL_PRIMITIVE_3D_BUFFER_FORMAT                     0x00000208      /* Parameters: type color */
304 #       define          NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH                      0x0000020c      /* Parameters: depth/stencil buffer pitch color buffer pitch */
305 #       define          NV10_TCL_PRIMITIVE_3D_COLOR_OFFSET                      0x00000210
306 #       define          NV10_TCL_PRIMITIVE_3D_DEPTH_OFFSET                      0x00000214
307 #       define          NV10_TCL_PRIMITIVE_3D_TX_OFFSET(d)                      (0x00000218 + d * 0x0004)
308 #       define          NV10_TCL_PRIMITIVE_3D_TX_FORMAT(d)                      (0x00000220 + d * 0x0004)       /* Parameters: wrap_t wrap_s log2(height) log2(width) lod npot format cube_map */
309 #       define          NV10_TCL_PRIMITIVE_3D_TX_ENABLE(d)                      (0x00000228 + d * 0x0004)       /* Parameters: enable anisotropy */
310 #       define          NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH(d)                  (0x00000230 + d * 0x0004)       /* Parameters: pitch */
311 #       define          NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE(d)                   (0x00000240 + d * 0x0004)       /* Parameters: width height */
312 #       define          NV10_TCL_PRIMITIVE_3D_TX_FILTER(d)                      (0x00000248 + d * 0x0004)       /* Parameters: mag_filter min_filter */
313 #       define          NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA(d)                    (0x00000260 + d * 0x0004)       /* Parameters: vara_mapping vara_component_usage vara_input varb_mapping varb_component_usage varb_input varc_mapping varc_component_usage varc_input vard_mapping vard_component_usage vard_input */
314 #       define          NV10_TCL_PRIMITIVE_3D_RC_IN_RGB(d)                      (0x00000268 + d * 0x0004)       /* Parameters: vara_mapping vara_component_usage vara_input varb_mapping varb_component_usage varb_input varc_mapping varc_component_usage varc_input vard_mapping vard_component_usage vard_input */
315 #       define          NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(d)                   (0x00000278 + d * 0x0004)       /* Parameters: scale bias mux_sum ab_dot_product cd_dot_product sum_output ab_output cd_output */
316 #       define          NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB(d)                     (0x00000280 + d * 0x0004)       /* Parameters: rc1_tx_units_enabled rc1_rc_enabled scale bias mux_sum ab_dot_product cd_dot_product sum_output ab_output cd_output */
317 #       define          NV10_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(d)               (0x000003e0 + d * 0x0004)
318 #       define          NV10_TCL_PRIMITIVE_3D_TX_MATRIX(x,y)                    (0x00000540 + y * 0x0010 + x * 0x0004)
319 #       define          NV10_TCL_PRIMITIVE_3D_RC_COLOR0                         0x00000270      /* Parameters: a r g b */
320 #       define          NV10_TCL_PRIMITIVE_3D_RC_COLOR1                         0x00000274      /* Parameters: a r g b */
321 #       define          NV10_TCL_PRIMITIVE_3D_RC_FINAL0                         0x00000288      /* Parameters: vara_mapping vara_component_usage vara_input varb_mapping varb_component_usage varb_input varc_mapping varc_component_usage varc_input vard_mapping vard_component_usage vard_input */
322 #       define          NV10_TCL_PRIMITIVE_3D_RC_FINAL1                         0x0000028c      /* Parameters: vare_mapping vare_component_usage vare_input varf_mapping varf_component_usage varf_input varg_mapping varg_component_usage varg_input color_sum_clamp */
323 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL                       0x00000294      /* Parameters: local_viewer color_control */
324 #       define          NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL                    0x00000298      /* Parameters: specular diffuse ambient emission */
325 #       define          NV10_TCL_PRIMITIVE_3D_FOG_MODE                          0x0000029c
326 #       define          NV10_TCL_PRIMITIVE_3D_FOG_COORD_DIST                    0x000002a0
327 #       define          NV10_TCL_PRIMITIVE_3D_FOG_ENABLE                        0x000002a4
328 #       define          NV10_TCL_PRIMITIVE_3D_FOG_COLOR                         0x000002a8      /* Parameters: a b g r */
329 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(d)            (0x000002c0 + d * 0x0004)       /* Parameters: x2 x1 */
330 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(d)             (0x000002e0 + d * 0x0004)       /* Parameters: y2 y1 */
331 #       define          NV10_TCL_PRIMITIVE_3D_ALPHA_TEST_ENABLE                 0x00000300
332 #       define          NV10_TCL_PRIMITIVE_3D_BLEND_ENABLE                      0x00000304
333 #       define          NV10_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                  0x00000308
334 #       define          NV10_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                 0x0000030c
335 #       define          NV10_TCL_PRIMITIVE_3D_DITHER_ENABLE                     0x00000310
336 #       define          NV10_TCL_PRIMITIVE_3D_LIGHTING_ENABLE                   0x00000314
337 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE           0x00000318
338 #       define          NV10_TCL_PRIMITIVE_3D_POINT_SMOOTH_ENABLE               0x0000031c
339 #       define          NV10_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                0x00000320
340 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE             0x00000324
341 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_WEIGHT_ENABLE              0x00000328
342 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_TEST_ENABLE               0x0000032c
343 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE       0x00000330
344 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE        0x00000334
345 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE        0x00000338
346 #       define          NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC                        0x0000033c
347 #       define          NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                    0x00000340
348 #       define          NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                    0x00000344
349 #       define          NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                    0x00000348
350 #       define          NV10_TCL_PRIMITIVE_3D_BLEND_COLOR                       0x0000034c      /* Parameters: a r g b */
351 #       define          NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION                    0x00000350
352 #       define          NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC                        0x00000354
353 #       define          NV10_TCL_PRIMITIVE_3D_COLOR_MASK                        0x00000358      /* Parameters: r g b */
354 #       define          NV10_TCL_PRIMITIVE_3D_DEPTH_MASK                        0x0000035c
355 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_MASK                      0x00000360
356 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC                 0x00000364
357 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_REF                  0x00000368
358 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_MASK                 0x0000036c
359 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL                   0x00000370
360 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL                  0x00000374
361 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS                  0x00000378
362 #       define          NV10_TCL_PRIMITIVE_3D_SHADE_MODEL                       0x0000037c
363 #       define          NV10_TCL_PRIMITIVE_3D_LINE_WIDTH                        0x00000380
364 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR             0x00000384
365 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS              0x00000388
366 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                0x0000038c
367 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                 0x00000390
368 #       define          NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                  0x00000394
369 #       define          NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                   0x00000398
370 #       define          NV10_TCL_PRIMITIVE_3D_CULL_FACE                         0x0000039c
371 #       define          NV10_TCL_PRIMITIVE_3D_FRONT_FACE                        0x000003a0
372 #       define          NV10_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                  0x000003a4
373 #       define          NV10_TCL_PRIMITIVE_3D_MATERIAL_DIFFUSE_ALPHA            0x000003b4
374 #       define          NV10_TCL_PRIMITIVE_3D_COLOR_CONTROL                     0x000003b8      /* Parameters: color_control */
375 #       define          NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS                    0x000003bc      /* Parameters: light 7 light 6 light 5 light 4 light 3 light 2 light 1 light 0 */
376 #       define          NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE( d)             (0x000003c0 + d * 0x0004)
377 #       define          NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE                0x000003e8      /* Parameters: projection modelview0 modelview1 */
378 #       define          NV10_TCL_PRIMITIVE_3D_POINT_SIZE                        0x000003ec
379 #       define          NV10_TCL_PRIMITIVE_3D_MODELVIEW0_MATRIX( d)             (0x00000400 + d * 0x0004)
380 #       define          NV10_TCL_PRIMITIVE_3D_MODELVIEW1_MATRIX( d)             (0x00000440 + d * 0x0004)
381 #       define          NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW0_MATRIX( d)     (0x00000480 + d * 0x0004)
382 #       define          NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW1_MATRIX( d)     (0x000004c0 + d * 0x0004)
383 #       define          NV10_TCL_PRIMITIVE_3D_PROJECTION_MATRIX( d)             (0x00000500 + d * 0x0004)
384 #       define          NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_A(d)                   (0x00000600 + d * 0x0010)
385 #       define          NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_B(d)                   (0x00000604 + d * 0x0010)
386 #       define          NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_C(d)                   (0x00000608 + d * 0x0010)
387 #       define          NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_D(d)                   (0x0000060c + d * 0x0010)
388 #       define          NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT             0x00000680
389 #       define          NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR               0x00000684
390 #       define          NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC            0x00000688
391 #       define          NV10_TCL_PRIMITIVE_3D_SHININESS_A                       0x000006a0
392 #       define          NV10_TCL_PRIMITIVE_3D_SHININESS_B                       0x000006a4
393 #       define          NV10_TCL_PRIMITIVE_3D_SHININESS_C                       0x000006a8
394 #       define          NV10_TCL_PRIMITIVE_3D_SHININESS_D                       0x000006ac
395 #       define          NV10_TCL_PRIMITIVE_3D_SHININESS_E                       0x000006b0
396 #       define          NV10_TCL_PRIMITIVE_3D_SHININESS_F                       0x000006b4
397 #       define          NV10_TCL_PRIMITIVE_3D_MATERIAL_AMBIENT_EMISSION         0x000006c4
398 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_X                  0x000006e8
399 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_Y                  0x000006ec
400 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_Z                  0x000006f0
401 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_W                  0x000006f4
402 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_A                 0x000006f8
403 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_B                 0x000006fc
404 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_C                 0x00000700
405 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_D                 0x00000704
406 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_E                 0x00000708
407 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_F                 0x0000070c
408 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_G                 0x00000710
409 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_H                 0x00000714
410 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_AMBIENT(d)                  (0x00000800 + d * 0x0080)
411 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_DIFFUSE(d)                  (0x0000080c + d * 0x0080)
412 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_SPECULAR(d)                 (0x00000818 + d * 0x0080)
413 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR(d)              (0x00000828 + d * 0x0080)
414 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION0(d)                (0x00000834 + d * 0x0080)
415 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_LIGHT(d)               (0x00000840 + d * 0x0080)
416 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION1(d)                (0x0000085c + d * 0x0080)
417 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_NORMAL(d)                   (0x00000868 + d * 0x0080)
418 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_X                   0x00000c00
419 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Y                   0x00000c04
420 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Z                   0x00000c08
421 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_X                   0x00000c18
422 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Y                   0x00000c1c
423 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Z                   0x00000c20
424 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_W                   0x00000c24
425 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_X                   0x00000c30
426 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Y                   0x00000c34
427 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Z                   0x00000c38
428 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                  0x00000c40      /* Parameters: y x */
429 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                   0x00000c44      /* Parameters: z */
430 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_R                   0x00000c50
431 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_G                   0x00000c54
432 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_B                   0x00000c58
433 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_A                   0x00000c5c
434 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_R                   0x00000c60
435 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_G                   0x00000c64
436 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_B                   0x00000c68
437 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I                     0x00000c6c      /* Parameters: a b g r */
438 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_R                  0x00000c80
439 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_G                  0x00000c84
440 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_B                  0x00000c88
441 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I                    0x00000c8c      /* Parameters: a b g r */
442 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S                   0x00000c90
443 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T                   0x00000c94
444 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I                     0x00000c98      /* Parameters: t s */
445 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_S                   0x00000ca0
446 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_T                   0x00000ca4
447 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_R                   0x00000ca8
448 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_Q                   0x00000cac
449 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST                  0x00000cb0      /* Parameters: t s */
450 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ                  0x00000cb4      /* Parameters: q r */
451 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S                   0x00000cb8
452 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T                   0x00000cbc
453 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I                     0x00000cc0      /* Parameters: t s */
454 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_S                   0x00000cc8
455 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_T                   0x00000ccc
456 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_R                   0x00000cd0
457 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_Q                   0x00000cd4
458 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST                  0x00000cd8      /* Parameters: t s */
459 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ                  0x00000cdc      /* Parameters: q r */
460 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_FOG_1F                     0x00000ce0
461 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_WGH_1F                     0x00000ce4
462 #       define          NV10_TCL_PRIMITIVE_3D_EDGEFLAG_ENABLE                   0x00000cec
463 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_VALIDATE             0x00000cf0
464 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_POS           0x00000d00
465 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS           0x00000d04      /* Parameters: stride fields type */
466 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_COL           0x00000d08
467 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL           0x00000d0c      /* Parameters: stride fields type */
468 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_COL2          0x00000d10
469 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2          0x00000d14      /* Parameters: stride fields type */
470 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_TX0           0x00000d18
471 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0           0x00000d1c      /* Parameters: stride fields type */
472 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_TX1           0x00000d20
473 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1           0x00000d24      /* Parameters: stride fields type */
474 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_NOR           0x00000d28
475 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR           0x00000d2c      /* Parameters: stride fields type */
476 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_WGH           0x00000d30
477 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH           0x00000d34      /* Parameters: stride fields type */
478 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_FOG           0x00000d38
479 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG           0x00000d3c      /* Parameters: stride fields type */
480 #       define          NV10_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE             0x00000d40
481 #       define          NV10_TCL_PRIMITIVE_3D_LOGIC_OP                          0x00000d44
482 #       define          NV10_TCL_PRIMITIVE_3D_BEGIN_END                         0x00000dfc
483 #       define          NV10_TCL_PRIMITIVE_3D_INDEX_DATA                        0x00000e00      /* Parameters: index1 index0 */
484 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END           0x000013fc
485 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS         0x00001400      /* Parameters: count-1 first */
486 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_X                 0x00001638
487 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_Y                 0x0000163c
488 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_Z                 0x00001640
489 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_W                 0x00001644
490 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_DATA                 0x00001800
491
492 /****************************************** 
493 Object NV15_TCL_PRIMITIVE_3D used on: NV15 
494 */
495 #define                 NV15_TCL_PRIMITIVE_3D                                   0x00000096
496 #       define          NV10_TCL_PRIMITIVE_3D_NOP                               0x00000100
497 #       define          NV10_TCL_PRIMITIVE_3D_NOTIFY                            0x00000104
498 #       define          NV10_TCL_PRIMITIVE_3D_SET_DMA_NOTIFY                    0x00000180
499 #       define          NV10_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY0                0x00000184
500 #       define          NV10_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY1                0x00000188
501 #       define          NV10_TCL_PRIMITIVE_3D_SET_DISPLAY_LIST                  0x0000018c
502 #       define          NV10_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY2                0x00000194
503 #       define          NV10_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY3                0x00000198
504 #       define          NV17_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY4                0x000001ac
505 #       define          NV17_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY5                0x000001b0
506 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                    0x00000200      /* Parameters: width x */
507 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT                     0x00000204      /* Parameters: height y */
508 #       define          NV10_TCL_PRIMITIVE_3D_BUFFER_FORMAT                     0x00000208      /* Parameters: type color */
509 #       define          NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH                      0x0000020c      /* Parameters: depth/stencil buffer pitch color buffer pitch */
510 #       define          NV10_TCL_PRIMITIVE_3D_COLOR_OFFSET                      0x00000210
511 #       define          NV10_TCL_PRIMITIVE_3D_DEPTH_OFFSET                      0x00000214
512 #       define          NV10_TCL_PRIMITIVE_3D_TX_OFFSET(d)                      (0x00000218 + d * 0x0004)
513 #       define          NV10_TCL_PRIMITIVE_3D_TX_FORMAT(d)                      (0x00000220 + d * 0x0004)       /* Parameters: wrap_t wrap_s log2(height) log2(width) lod npot format cube_map */
514 #       define          NV10_TCL_PRIMITIVE_3D_TX_ENABLE(d)                      (0x00000228 + d * 0x0004)       /* Parameters: enable anisotropy */
515 #       define          NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH(d)                  (0x00000230 + d * 0x0004)       /* Parameters: pitch */
516 #       define          NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE(d)                   (0x00000240 + d * 0x0004)       /* Parameters: width height */
517 #       define          NV10_TCL_PRIMITIVE_3D_TX_FILTER(d)                      (0x00000248 + d * 0x0004)       /* Parameters: mag_filter min_filter */
518 #       define          NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA(d)                    (0x00000260 + d * 0x0004)       /* Parameters: vara_mapping vara_component_usage vara_input varb_mapping varb_component_usage varb_input varc_mapping varc_component_usage varc_input vard_mapping vard_component_usage vard_input */
519 #       define          NV10_TCL_PRIMITIVE_3D_RC_IN_RGB(d)                      (0x00000268 + d * 0x0004)       /* Parameters: vara_mapping vara_component_usage vara_input varb_mapping varb_component_usage varb_input varc_mapping varc_component_usage varc_input vard_mapping vard_component_usage vard_input */
520 #       define          NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(d)                   (0x00000278 + d * 0x0004)       /* Parameters: scale bias mux_sum ab_dot_product cd_dot_product sum_output ab_output cd_output */
521 #       define          NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB(d)                     (0x00000280 + d * 0x0004)       /* Parameters: rc1_tx_units_enabled rc1_rc_enabled scale bias mux_sum ab_dot_product cd_dot_product sum_output ab_output cd_output */
522 #       define          NV10_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(d)               (0x000003e0 + d * 0x0004)
523 #       define          NV10_TCL_PRIMITIVE_3D_TX_MATRIX(x,y)                    (0x00000540 + y * 0x0010 + x * 0x0004)
524 #       define          NV10_TCL_PRIMITIVE_3D_RC_COLOR0                         0x00000270      /* Parameters: a r g b */
525 #       define          NV10_TCL_PRIMITIVE_3D_RC_COLOR1                         0x00000274      /* Parameters: a r g b */
526 #       define          NV10_TCL_PRIMITIVE_3D_RC_FINAL0                         0x00000288      /* Parameters: vara_mapping vara_component_usage vara_input varb_mapping varb_component_usage varb_input varc_mapping varc_component_usage varc_input vard_mapping vard_component_usage vard_input */
527 #       define          NV10_TCL_PRIMITIVE_3D_RC_FINAL1                         0x0000028c      /* Parameters: vare_mapping vare_component_usage vare_input varf_mapping varf_component_usage varf_input varg_mapping varg_component_usage varg_input color_sum_clamp */
528 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL                       0x00000294      /* Parameters: local_viewer color_control */
529 #       define          NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL                    0x00000298      /* Parameters: specular diffuse ambient emission */
530 #       define          NV10_TCL_PRIMITIVE_3D_FOG_MODE                          0x0000029c
531 #       define          NV10_TCL_PRIMITIVE_3D_FOG_COORD_DIST                    0x000002a0
532 #       define          NV10_TCL_PRIMITIVE_3D_FOG_ENABLE                        0x000002a4
533 #       define          NV10_TCL_PRIMITIVE_3D_FOG_COLOR                         0x000002a8      /* Parameters: a b g r */
534 #       define          NV17_TCL_PRIMITIVE_3D_COLOR_MASK_ENABLE                 0x000002bc
535 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(d)            (0x000002c0 + d * 0x0004)       /* Parameters: x2 x1 */
536 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(d)             (0x000002e0 + d * 0x0004)       /* Parameters: y2 y1 */
537 #       define          NV10_TCL_PRIMITIVE_3D_ALPHA_TEST_ENABLE                 0x00000300
538 #       define          NV10_TCL_PRIMITIVE_3D_BLEND_ENABLE                      0x00000304
539 #       define          NV10_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                  0x00000308
540 #       define          NV10_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                 0x0000030c
541 #       define          NV10_TCL_PRIMITIVE_3D_DITHER_ENABLE                     0x00000310
542 #       define          NV10_TCL_PRIMITIVE_3D_LIGHTING_ENABLE                   0x00000314
543 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE           0x00000318
544 #       define          NV10_TCL_PRIMITIVE_3D_POINT_SMOOTH_ENABLE               0x0000031c
545 #       define          NV10_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                0x00000320
546 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE             0x00000324
547 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_WEIGHT_ENABLE              0x00000328
548 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_TEST_ENABLE               0x0000032c
549 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE       0x00000330
550 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE        0x00000334
551 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE        0x00000338
552 #       define          NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC                        0x0000033c
553 #       define          NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                    0x00000340
554 #       define          NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                    0x00000344
555 #       define          NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                    0x00000348
556 #       define          NV10_TCL_PRIMITIVE_3D_BLEND_COLOR                       0x0000034c      /* Parameters: a r g b */
557 #       define          NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION                    0x00000350
558 #       define          NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC                        0x00000354
559 #       define          NV10_TCL_PRIMITIVE_3D_COLOR_MASK                        0x00000358      /* Parameters: r g b */
560 #       define          NV10_TCL_PRIMITIVE_3D_DEPTH_MASK                        0x0000035c
561 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_MASK                      0x00000360
562 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC                 0x00000364
563 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_REF                  0x00000368
564 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_MASK                 0x0000036c
565 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL                   0x00000370
566 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL                  0x00000374
567 #       define          NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS                  0x00000378
568 #       define          NV10_TCL_PRIMITIVE_3D_SHADE_MODEL                       0x0000037c
569 #       define          NV10_TCL_PRIMITIVE_3D_LINE_WIDTH                        0x00000380
570 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR             0x00000384
571 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS              0x00000388
572 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                0x0000038c
573 #       define          NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                 0x00000390
574 #       define          NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                  0x00000394
575 #       define          NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                   0x00000398
576 #       define          NV10_TCL_PRIMITIVE_3D_CULL_FACE                         0x0000039c
577 #       define          NV10_TCL_PRIMITIVE_3D_FRONT_FACE                        0x000003a0
578 #       define          NV10_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                  0x000003a4
579 #       define          NV10_TCL_PRIMITIVE_3D_MATERIAL_DIFFUSE_ALPHA            0x000003b4
580 #       define          NV10_TCL_PRIMITIVE_3D_COLOR_CONTROL                     0x000003b8      /* Parameters: color_control */
581 #       define          NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS                    0x000003bc      /* Parameters: light 7 light 6 light 5 light 4 light 3 light 2 light 1 light 0 */
582 #       define          NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE( d)             (0x000003c0 + d * 0x0004)
583 #       define          NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE                0x000003e8      /* Parameters: projection modelview0 modelview1 */
584 #       define          NV10_TCL_PRIMITIVE_3D_POINT_SIZE                        0x000003ec
585 #       define          NV10_TCL_PRIMITIVE_3D_MODELVIEW0_MATRIX( d)             (0x00000400 + d * 0x0004)
586 #       define          NV10_TCL_PRIMITIVE_3D_MODELVIEW1_MATRIX( d)             (0x00000440 + d * 0x0004)
587 #       define          NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW0_MATRIX( d)     (0x00000480 + d * 0x0004)
588 #       define          NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW1_MATRIX( d)     (0x000004c0 + d * 0x0004)
589 #       define          NV10_TCL_PRIMITIVE_3D_PROJECTION_MATRIX( d)             (0x00000500 + d * 0x0004)
590 #       define          NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_A(d)                   (0x00000600 + d * 0x0010)
591 #       define          NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_B(d)                   (0x00000604 + d * 0x0010)
592 #       define          NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_C(d)                   (0x00000608 + d * 0x0010)
593 #       define          NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_D(d)                   (0x0000060c + d * 0x0010)
594 #       define          NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT             0x00000680
595 #       define          NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR               0x00000684
596 #       define          NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC            0x00000688
597 #       define          NV10_TCL_PRIMITIVE_3D_SHININESS_A                       0x000006a0
598 #       define          NV10_TCL_PRIMITIVE_3D_SHININESS_B                       0x000006a4
599 #       define          NV10_TCL_PRIMITIVE_3D_SHININESS_C                       0x000006a8
600 #       define          NV10_TCL_PRIMITIVE_3D_SHININESS_D                       0x000006ac
601 #       define          NV10_TCL_PRIMITIVE_3D_SHININESS_E                       0x000006b0
602 #       define          NV10_TCL_PRIMITIVE_3D_SHININESS_F                       0x000006b4
603 #       define          NV10_TCL_PRIMITIVE_3D_MATERIAL_AMBIENT_EMISSION         0x000006c4
604 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_X                  0x000006e8
605 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_Y                  0x000006ec
606 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_Z                  0x000006f0
607 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_W                  0x000006f4
608 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_A                 0x000006f8
609 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_B                 0x000006fc
610 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_C                 0x00000700
611 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_D                 0x00000704
612 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_E                 0x00000708
613 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_F                 0x0000070c
614 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_G                 0x00000710
615 #       define          NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_H                 0x00000714
616 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_AMBIENT(d)                  (0x00000800 + d * 0x0080)
617 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_DIFFUSE(d)                  (0x0000080c + d * 0x0080)
618 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_SPECULAR(d)                 (0x00000818 + d * 0x0080)
619 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR(d)              (0x00000828 + d * 0x0080)
620 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION0(d)                (0x00000834 + d * 0x0080)
621 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_LIGHT(d)               (0x00000840 + d * 0x0080)
622 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION1(d)                (0x0000085c + d * 0x0080)
623 #       define          NV10_TCL_PRIMITIVE_3D_LIGHT_NORMAL(d)                   (0x00000868 + d * 0x0080)
624 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_X                   0x00000c00
625 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Y                   0x00000c04
626 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Z                   0x00000c08
627 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_X                   0x00000c18
628 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Y                   0x00000c1c
629 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Z                   0x00000c20
630 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_W                   0x00000c24
631 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_X                   0x00000c30
632 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Y                   0x00000c34
633 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Z                   0x00000c38
634 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                  0x00000c40      /* Parameters: y x */
635 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                   0x00000c44      /* Parameters: z */
636 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_R                   0x00000c50
637 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_G                   0x00000c54
638 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_B                   0x00000c58
639 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_A                   0x00000c5c
640 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_R                   0x00000c60
641 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_G                   0x00000c64
642 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_B                   0x00000c68
643 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I                     0x00000c6c      /* Parameters: a b g r */
644 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_R                  0x00000c80
645 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_G                  0x00000c84
646 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_B                  0x00000c88
647 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I                    0x00000c8c      /* Parameters: a b g r */
648 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S                   0x00000c90
649 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T                   0x00000c94
650 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I                     0x00000c98      /* Parameters: t s */
651 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_S                   0x00000ca0
652 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_T                   0x00000ca4
653 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_R                   0x00000ca8
654 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_Q                   0x00000cac
655 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST                  0x00000cb0      /* Parameters: t s */
656 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ                  0x00000cb4      /* Parameters: q r */
657 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S                   0x00000cb8
658 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T                   0x00000cbc
659 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I                     0x00000cc0      /* Parameters: t s */
660 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_S                   0x00000cc8
661 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_T                   0x00000ccc
662 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_R                   0x00000cd0
663 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_Q                   0x00000cd4
664 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST                  0x00000cd8      /* Parameters: t s */
665 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ                  0x00000cdc      /* Parameters: q r */
666 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_FOG_1F                     0x00000ce0
667 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_WGH_1F                     0x00000ce4
668 #       define          NV10_TCL_PRIMITIVE_3D_EDGEFLAG_ENABLE                   0x00000cec
669 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_VALIDATE             0x00000cf0
670 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_POS           0x00000d00
671 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS           0x00000d04      /* Parameters: stride fields type */
672 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_COL           0x00000d08
673 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL           0x00000d0c      /* Parameters: stride fields type */
674 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_COL2          0x00000d10
675 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2          0x00000d14      /* Parameters: stride fields type */
676 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_TX0           0x00000d18
677 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0           0x00000d1c      /* Parameters: stride fields type */
678 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_TX1           0x00000d20
679 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1           0x00000d24      /* Parameters: stride fields type */
680 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_NOR           0x00000d28
681 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR           0x00000d2c      /* Parameters: stride fields type */
682 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_WGH           0x00000d30
683 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH           0x00000d34      /* Parameters: stride fields type */
684 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_FOG           0x00000d38
685 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG           0x00000d3c      /* Parameters: stride fields type */
686 #       define          NV10_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE             0x00000d40
687 #       define          NV10_TCL_PRIMITIVE_3D_LOGIC_OP                          0x00000d44
688 #       define          NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_PITCH            0x00000d5c      /* Parameters: pitch */
689 #       define          NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_OFFSET           0x00000d60
690 #       define          NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_FILL_VALUE              0x00000d68
691 #       define          NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_CLEAR_ENABLE            0x00000d6c
692 #       define          NV10_TCL_PRIMITIVE_3D_BEGIN_END                         0x00000dfc
693 #       define          NV10_TCL_PRIMITIVE_3D_INDEX_DATA                        0x00000e00      /* Parameters: index1 index0 */
694 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END           0x000013fc
695 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS         0x00001400      /* Parameters: count-1 first */
696 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_X                 0x00001638
697 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_Y                 0x0000163c
698 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_Z                 0x00001640
699 #       define          NV10_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_W                 0x00001644
700 #       define          NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_ENABLE                  0x00001658
701 #       define          NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_DATA                 0x00001800
702
703 /****************************************** 
704 Object NV10_IMAGE_FROM_CPU used on: NV10 NV15 NV20 NV30 NV40 G70
705 */
706 #define                 NV10_IMAGE_FROM_CPU                                     0x0000008a
707 #       define          NV10_IMAGE_FROM_CPU_SET_DMA_NOTIFY                      0x00000180
708 #       define          NV10_IMAGE_FROM_CPU_SET_CONTEXT_CLIP_RECTANGLE          0x00000188
709 #       define          NV10_IMAGE_FROM_CPU_SET_IMAGE_PATTERN                   0x0000018c
710 #       define          NV10_IMAGE_FROM_CPU_SET_RASTER_OP                       0x00000190
711 #       define          NV10_IMAGE_FROM_CPU_SET_CONTEXT_SURFACES_2D             0x0000019c
712 #       define          NV10_IMAGE_FROM_CPU_OPERATION                           0x000002fc
713 #       define          NV10_IMAGE_FROM_CPU_FORMAT                              0x00000300
714 #       define          NV10_IMAGE_FROM_CPU_POINT                               0x00000304      /* Parameters: x y */
715 #       define          NV10_IMAGE_FROM_CPU_SIZE_OUT                            0x00000308      /* Parameters: width height */
716 #       define          NV10_IMAGE_FROM_CPU_SIZE_IN                             0x0000030c      /* Parameters: width height */
717 #       define          NV10_IMAGE_FROM_CPU_HLINE                               0x00000400
718
719 /****************************************** 
720 Object NV10_PRIMITIVE_2D used on: NV10 NV15 NV20 NV30 NV40 G70
721 */
722 #define                 NV10_PRIMITIVE_2D                                       0x0000007b
723 #       define          NV10_PRIMITIVE_2D_SET_DMA_NOTIFY                        0x00000180
724 #       define          NV10_PRIMITIVE_2D_SET_SURFACE                           0x00000184
725 #       define          NV10_PRIMITIVE_2D_SET_FORMAT                            0x00000300
726 #       define          NV10_PRIMITIVE_2D_SET_POINT                             0x00000304      /* Parameters: x y */
727 #       define          NV10_PRIMITIVE_2D_SET_SIZE                              0x00000308      /* Parameters: width height */
728 #       define          NV10_PRIMITIVE_2D_SET_CLIP_HORIZ                        0x0000030c      /* Parameters: width x */
729 #       define          NV10_PRIMITIVE_2D_SET_CLIP_VERT                         0x00000310      /* Parameters: height y */
730 #       define          NV10_PRIMITIVE_2D_SET_DATA( d)                          (0x00000400 + d * 0x0004)
731
732 /****************************************** 
733 Object NV10_IMAGE_BLIT used on: NV10 NV15 NV20 NV30 NV40 G70
734 */
735 #define                 NV10_IMAGE_BLIT                                         0x0000009f
736 #       define          NV10_IMAGE_BLIT_NOP                                     0x00000100
737 #       define          NV10_IMAGE_BLIT_NOTIFY                                  0x00000104
738 #       define          NV10_IMAGE_BLIT_SET_DMA_NOTIFY                          0x00000180
739 #       define          NV10_IMAGE_BLIT_SET_CONTEXT_CLIP_RECTANGLE              0x00000188
740 #       define          NV10_IMAGE_BLIT_SET_IMAGE_PATTERN                       0x0000018c
741 #       define          NV10_IMAGE_BLIT_SET_RASTER_OP                           0x00000190
742 #       define          NV10_IMAGE_BLIT_SET_CONTEXT_SURFACES_2D                 0x0000019c
743 #       define          NV10_IMAGE_BLIT_SET_OPERATION                           0x000002fc
744 #       define          NV10_IMAGE_BLIT_SET_POINT                               0x00000300      /* Parameters: x y */
745 #       define          NV10_IMAGE_BLIT_SET_PITCH                               0x00000304      /* Parameters: skip */
746 #       define          NV10_IMAGE_BLIT_SET_SIZE                                0x00000308      /* Parameters: width height */
747
748 /****************************************** 
749 Object NV10_VIDEO_DISPLAY used on: NV10 NV15 NV20 NV30 NV40 G70
750 */
751 #define                 NV10_VIDEO_DISPLAY                                      0x0000007c
752 #       define          NV10_VIDEO_DISPLAY_COUNTER                              0x00000050
753 #       define          NV10_VIDEO_DISPLAY_SET_DMA_FROM_MEMORY                  0x00000180
754 #       define          NV10_VIDEO_DISPLAY_SET_DMA_IN_MEMORY0                   0x00000184
755 #       define          NV10_VIDEO_DISPLAY_SET_DMA_IN_MEMORY1                   0x00000188
756 #       define          NV10_VIDEO_DISPLAY_SET_OBJECT3                          0x0000019c
757 #       define          NV10_VIDEO_DISPLAY_SIZE                                 0x000002f8      /* Parameters: height width */
758 #       define          NV10_VIDEO_DISPLAY_OFFSET                               0x00000300
759
760 /****************************************** 
761 Object NV10_UNK0072 used on: NV10 NV15 NV20 NV40 G70
762 */
763 #define                 NV10_UNK0072                                            0x00000072
764 #       define          NV10_UNK0072_COUNTER                                    0x00000050
765 #       define          NV10_UNK0072_SET_DMA_NOTIFY                             0x00000180
766
767 /****************************************** 
768 Object NV10_SCALED_IMAGE_FROM_MEMORY used on: NV10 NV15 NV20 NV30 NV40 G70
769 */
770 #define                 NV10_SCALED_IMAGE_FROM_MEMORY                           0x00000089
771 #       define          NV10_SCALED_IMAGE_FROM_MEMORY_COUNTER                   0x00000050
772 #       define          NV10_SCALED_IMAGE_FROM_MEMORY_SET_DMA_IN_MEMORY         0x00000184
773 #       define          NV10_SCALED_IMAGE_FROM_MEMORY_SET_RASTER_OP             0x0000018c
774 #       define          NV10_SCALED_IMAGE_FROM_MEMORY_SET_IMAGE_PATTERN         0x00000188
775 #       define          NV10_SCALED_IMAGE_FROM_MEMORY_SET_SURFACE               0x00000198
776 #       define          NV10_SCALED_IMAGE_FROM_MEMORY_OPERATION                 0x00000304
777 #       define          NV10_SCALED_IMAGE_FROM_MEMORY_CLIP_POS                  0x00000308      /* Parameters: x y */
778 #       define          NV10_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE                 0x0000030c      /* Parameters: width height */
779 #       define          NV10_SCALED_IMAGE_FROM_MEMORY_OUT_POS                   0x00000310      /* Parameters: x y */
780 #       define          NV10_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE                  0x00000314      /* Parameters: width height */
781 #       define          NV10_SCALED_IMAGE_FROM_MEMORY_SIZE                      0x00000400      /* Parameters: width height */
782 #       define          NV10_SCALED_IMAGE_FROM_MEMORY_FORMAT                    0x00000404      /* Parameters: pitch */
783 #       define          NV10_SCALED_IMAGE_FROM_MEMORY_OFFSET                    0x00000408
784 #       define          NV10_SCALED_IMAGE_FROM_MEMORY_POINT                     0x0000040c      /* Parameters: u_int u_frac*0x10 v_int v_frac*0x10 */
785
786 /****************************************** 
787 Object NV10_CONTEXT_SURFACES_2D used on: NV10 NV15 NV20 NV30 NV40 G70
788 */
789 #define                 NV10_CONTEXT_SURFACES_2D                                0x00000062
790 #       define          NV10_CONTEXT_SURFACES_2D_SET_DMA_NOTIFY                 0x00000180
791 #       define          NV10_CONTEXT_SURFACES_2D_SET_DMA_IN_MEMORY0             0x00000184
792 #       define          NV10_CONTEXT_SURFACES_2D_SET_DMA_IN_MEMORY1             0x00000188
793 #       define          NV10_CONTEXT_SURFACES_2D_FORMAT                         0x00000300      /* Parameters: color type width height */
794 #       define          NV10_CONTEXT_SURFACES_2D_PITCH                          0x00000304      /* Parameters: src dst */
795 #       define          NV10_CONTEXT_SURFACES_2D_OFFSET_SRC                     0x00000308
796 #       define          NV10_CONTEXT_SURFACES_2D_OFFSET_DST                     0x0000030c
797
798 /****************************************** 
799 Object NV04_SURFACE used on: NV04 NV10 NV15 
800 */
801 #define                 NV04_SURFACE                                            0x00000042
802 #       define          NV04_SURFACE_NOTIFY                                     0x00000104
803 #       define          NV04_SURFACE_DMA_NOTIFY                                 0x00000180
804 #       define          NV04_SURFACE_DMA_IMAGE_SOURCE                           0x00000184
805 #       define          NV04_SURFACE_DMA_IMAGE_DESTIN                           0x00000188
806 #       define          NV04_SURFACE_FORMAT                                     0x00000300
807 #       define          NV04_SURFACE_PITCH                                      0x00000304      /* Parameters: source destin */
808 #       define          NV04_SURFACE_OFFSET_SOURCE                              0x00000308
809 #       define          NV04_SURFACE_OFFSET_DESTIN                              0x0000030c
810
811 /****************************************** 
812 Object NV04_IMAGE_PATTERN used on: NV04 NV10 NV15 NV20 NV30 NV40 G70
813 */
814 #define                 NV04_IMAGE_PATTERN                                      0x00000044
815 #       define          NV04_IMAGE_PATTERN_COLOR_FORMAT                         0x00000300
816 #       define          NV04_IMAGE_PATTERN_MONO_FORMAT                          0x00000304
817 #       define          NV04_IMAGE_PATTERN_SELECT                               0x0000030c
818 #       define          NV04_IMAGE_PATTERN_MONOCHROME_SHAPE                     0x00000308
819 #       define          NV04_IMAGE_PATTERN_MONOCHROME_COLOR0                    0x00000310
820 #       define          NV04_IMAGE_PATTERN_MONOCHROME_COLOR1                    0x00000314
821 #       define          NV04_IMAGE_PATTERN_MONOCHROME_PATTERN0                  0x00000318
822 #       define          NV04_IMAGE_PATTERN_MONOCHROME_PATTERN1                  0x0000031c
823
824 /****************************************** 
825 Object NV20_SWIZZLED_SURFACE used on: NV20 NV30 NV40 G70
826 */
827 #define                 NV20_SWIZZLED_SURFACE                                   0x0000009e
828 #       define          NV20_SWIZZLED_SURFACE_SET_OBJECT0                       0x00000180
829 #       define          NV20_SWIZZLED_SURFACE_SET_OBJECT1                       0x00000184
830 #       define          NV20_SWIZZLED_SURFACE_FORMAT                            0x00000300      /* Parameters: log2(height) log2(width) color */
831 #       define          NV20_SWIZZLED_SURFACE_OFFSET                            0x00000304
832
833 /****************************************** 
834 Object NV20_TCL_PRIMITIVE_3D used on: NV20 
835 */
836 #define                 NV20_TCL_PRIMITIVE_3D                                   0x00000097
837 #       define          NV20_TCL_PRIMITIVE_3D_SET_OBJECT0                       0x00000180
838 #       define          NV20_TCL_PRIMITIVE_3D_SET_OBJECT1                       0x00000184
839 #       define          NV20_TCL_PRIMITIVE_3D_SET_OBJECT2                       0x00000188
840 #       define          NV20_TCL_PRIMITIVE_3D_SET_OBJECT3                       0x00000194
841 #       define          NV20_TCL_PRIMITIVE_3D_SET_OBJECT4                       0x00000198
842 #       define          NV20_TCL_PRIMITIVE_3D_SET_OBJECT5                       0x0000019c
843 #       define          NV20_TCL_PRIMITIVE_3D_SET_OBJECT6                       0x000001a0
844 #       define          NV20_TCL_PRIMITIVE_3D_SET_OBJECT7                       0x000001a4
845 #       define          NV20_TCL_PRIMITIVE_3D_SET_OBJECT8                       0x000001a8
846 #       define          NV20_TCL_PRIMITIVE_3D_SET_OBJECT9                       0x000001ac
847 #       define          NV20_TCL_PRIMITIVE_3D_SET_OBJECT10                      0x000001b0
848 #       define          NV20_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                    0x00000200      /* Parameters: width x */
849 #       define          NV20_TCL_PRIMITIVE_3D_VIEWPORT_VERT                     0x00000204      /* Parameters: height y */
850 #       define          NV20_TCL_PRIMITIVE_3D_BUFFER_FORMAT                     0x00000208      /* Parameters: type color */
851 #       define          NV20_TCL_PRIMITIVE_3D_BUFFER_PITCH                      0x0000020c      /* Parameters: depth/stencil buffer pitch color buffer pitch */
852 #       define          NV20_TCL_PRIMITIVE_3D_COLOR_OFFSET                      0x00000210
853 #       define          NV20_TCL_PRIMITIVE_3D_DEPTH_OFFSET                      0x00000214
854 #       define          NV20_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_PITCH            0x0000022c      /* Parameters: pitch */
855 #       define          NV20_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_OFFSET           0x00000230
856 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_CONTROL                     0x00000294
857 #       define          NV20_TCL_PRIMITIVE_3D_COLOR_MATERIAL_CONTROL            0x00000298      /* Parameters: back_specular back_ambient back_diffuse back_emission front_specular front_ambient front_diffuse front_emission */
858 #       define          NV20_TCL_PRIMITIVE_3D_FOG_MODE                          0x0000029c
859 #       define          NV20_TCL_PRIMITIVE_3D_FOG_COORD_DIST                    0x000002a0
860 #       define          NV20_TCL_PRIMITIVE_3D_ALPHA_TEST_ENABLE                 0x00000300
861 #       define          NV20_TCL_PRIMITIVE_3D_BLEND_ENABLE                      0x00000304
862 #       define          NV20_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                  0x00000308
863 #       define          NV20_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                 0x0000030c
864 #       define          NV20_TCL_PRIMITIVE_3D_DITHER_ENABLE                     0x00000310
865 #       define          NV20_TCL_PRIMITIVE_3D_LIGHTING_ENABLE                   0x00000314
866 #       define          NV20_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE           0x00000318
867 #       define          NV20_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                0x00000320
868 #       define          NV20_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE             0x00000324
869 #       define          NV20_TCL_PRIMITIVE_3D_STENCIL_TEST_ENABLE               0x0000032c
870 #       define          NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE       0x00000330
871 #       define          NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE        0x00000334
872 #       define          NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE        0x00000338
873 #       define          NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                   0x0000033c
874 #       define          NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                    0x00000340
875 #       define          NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                    0x00000344
876 #       define          NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                    0x00000348
877 #       define          NV20_TCL_PRIMITIVE_3D_BLEND_COLOR                       0x0000034c      /* Parameters: a r g b */
878 #       define          NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION                    0x00000350
879 #       define          NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC                        0x00000354
880 #       define          NV20_TCL_PRIMITIVE_3D_COLOR_MASK                        0x00000358      /* Parameters: a r g b */
881 #       define          NV20_TCL_PRIMITIVE_3D_DEPTH_MASK                        0x0000035c
882 #       define          NV20_TCL_PRIMITIVE_3D_STENCIL_MASK                      0x00000360
883 #       define          NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC                 0x00000364
884 #       define          NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_REF                  0x00000368
885 #       define          NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_MASK                 0x0000036c
886 #       define          NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL                   0x00000370
887 #       define          NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL                  0x00000374
888 #       define          NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS                  0x00000378
889 #       define          NV20_TCL_PRIMITIVE_3D_SHADE_MODEL                       0x0000037c
890 #       define          NV20_TCL_PRIMITIVE_3D_LINE_WIDTH                        0x00000380
891 #       define          NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR             0x00000384
892 #       define          NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS              0x00000388
893 #       define          NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                0x0000038c
894 #       define          NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                 0x00000390
895 #       define          NV20_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                  0x00000394
896 #       define          NV20_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                   0x00000398
897 #       define          NV20_TCL_PRIMITIVE_3D_CULL_FACE                         0x0000039c
898 #       define          NV20_TCL_PRIMITIVE_3D_FRONT_FACE                        0x000003a0
899 #       define          NV20_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                  0x000003a4
900 #       define          NV20_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT              0x000003a8
901 #       define          NV20_TCL_PRIMITIVE_3D_SEPARATE_SPECULAR_ENABLE          0x000003b8
902 #       define          NV20_TCL_PRIMITIVE_3D_ENABLED_LIGHTS                    0x000003bc      /* Parameters: light 7 light 6 light 5 light 4 light 3 light 2 light 1 light 0 */
903 #       define          NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(d)              (0x000003c0 + d * 0x0004)
904 #       define          NV20_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(d)               (0x00000420 + d * 0x0004)
905 #       define          NV20_TCL_PRIMITIVE_3D_POINT_SIZE                        0x0000043c
906 #       define          NV20_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX( d)              (0x00000480 + d * 0x0004)
907 #       define          NV20_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW_MATRIX( d)      (0x00000580 + d * 0x0004)
908 #       define          NV20_TCL_PRIMITIVE_3D_PROJECTION_MATRIX( d)             (0x00000680 + d * 0x0004)
909 #       define          NV20_TCL_PRIMITIVE_3D_TX_MATRIX(x,y)                    (0x000006c0 + y * 0x0010 + x * 0x0004)
910 #       define          NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_A(d)                   (0x00000840 + d * 0x0010)
911 #       define          NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_B(d)                   (0x00000844 + d * 0x0010)
912 #       define          NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_C(d)                   (0x00000848 + d * 0x0010)
913 #       define          NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_D(d)                   (0x0000084c + d * 0x0010)
914 #       define          NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT             0x000009c0
915 #       define          NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR               0x000009c4
916 #       define          NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC            0x000009c8
917 #       define          NV20_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS          0x000009e0
918 #       define          NV20_TCL_PRIMITIVE_3D_POINT_SPRITE                      0x00000a1c      /* Parameters: coord_replace r_mode enable */
919 #       define          NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_A                 0x00000a30
920 #       define          NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_B                 0x00000a34
921 #       define          NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_C                 0x00000a38
922 #       define          NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_D                 0x00000a3c
923 #       define          NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_E                 0x00000a40
924 #       define          NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_F                 0x00000a44
925 #       define          NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_G                 0x00000a48
926 #       define          NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_H                 0x00000a4c
927 #       define          NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST0                   0x00000b00
928 #       define          NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST1                   0x00000b04
929 #       define          NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST2                   0x00000b08
930 #       define          NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST3                   0x00000b0c
931 #       define          NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_X                 0x00000b80
932 #       define          NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_Y                 0x00000b84
933 #       define          NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_Z                 0x00000b88
934 #       define          NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_W                 0x00000b8c
935 #       define          NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_ID                0x00001ea4
936 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION      0x00000a10
937 #       define          NV20_TCL_PRIMITIVE_3D_TX_OFFSET(d)                      (0x00001b00 + d * 0x0040)
938 #       define          NV20_TCL_PRIMITIVE_3D_TX_FORMAT(d)                      (0x00001b04 + d * 0x0040)       /* Parameters: log2(height) log2(width) lod format cube_map */
939 #       define          NV20_TCL_PRIMITIVE_3D_TX_ENABLE(d)                      (0x00001b0c + d * 0x0040)       /* Parameters: enable anisotropy */
940 #       define          NV20_TCL_PRIMITIVE_3D_TX_NPOT_PITCH(d)                  (0x00001b10 + d * 0x0040)       /* Parameters: pitch */
941 #       define          NV20_TCL_PRIMITIVE_3D_TX_FILTER(d)                      (0x00001b14 + d * 0x0040)       /* Parameters: mag_filter min_filter */
942 #       define          NV20_TCL_PRIMITIVE_3D_TX_NPOT_SIZE(d)                   (0x00001b1c + d * 0x0040)       /* Parameters: width height */
943 #       define          NV20_TCL_PRIMITIVE_3D_TX_SHADER_OP                      0x00001e70      /* Parameters: op0 op1 op2 op3 */
944 #       define          NV20_TCL_PRIMITIVE_3D_TX_SHADER_CULL_MODE               0x000017f8      /* Parameters: cull0 cull1 cull2 cull3 */
945 #       define          NV20_TCL_PRIMITIVE_3D_TX_SHADER_PREVIOUS                0x00001e78      /* Parameters: prev2 prev3 */
946 #       define          NV20_TCL_PRIMITIVE_3D_RC_COLOR0                         0x00001e20      /* Parameters: a r g b */
947 #       define          NV20_TCL_PRIMITIVE_3D_RC_COLOR1                         0x00001e24      /* Parameters: a r g b */
948 #       define          NV20_TCL_PRIMITIVE_3D_RC_FINAL0                         0x00000288      /* Parameters: vara_mapping vara_component_usage vara_input varb_mapping varb_component_usage varb_input varc_mapping varc_component_usage varc_input vard_mapping vard_component_usage vard_input */
949 #       define          NV20_TCL_PRIMITIVE_3D_RC_FINAL1                         0x0000028c      /* Parameters: vare_mapping vare_component_usage vare_input varf_mapping varf_component_usage varf_input varg_mapping varg_component_usage varg_input color_sum_clamp */
950 #       define          NV20_TCL_PRIMITIVE_3D_RC_IN_ALPHA(d)                    (0x00000260 + d * 0x0004)       /* Parameters: vara_mapping vara_component_usage vara_input varb_mapping varb_component_usage varb_input varc_mapping varc_component_usage varc_input vard_mapping vard_component_usage vard_input */
951 #       define          NV20_TCL_PRIMITIVE_3D_RC_IN_RGB(d)                      (0x00000ac0 + d * 0x0004)       /* Parameters: vara_mapping vara_component_usage vara_input varb_mapping varb_component_usage varb_input varc_mapping varc_component_usage varc_input vard_mapping vard_component_usage vard_input */
952 #       define          NV20_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(d)                   (0x00000aa0 + d * 0x0004)       /* Parameters: scale bias mux_sum ab_dot_product cd_dot_product sum_output ab_output cd_output */
953 #       define          NV20_TCL_PRIMITIVE_3D_RC_OUT_RGB(d)                     (0x00001e40 + d * 0x0004)       /* Parameters: scale bias mux_sum ab_dot_product cd_dot_product sum_output ab_output cd_output */
954 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_POSITION_X(d)               (0x0000105c + d * 0x0080)
955 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y(d)               (0x00001060 + d * 0x0080)
956 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z(d)               (0x00001064 + d * 0x0080)
957 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_HVEC_AND_DIR(d)             (0x00001028 + d * 0x0080)
958 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_A(d)     (0x00001000 + d * 0x0080)
959 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(d)     (0x00001004 + d * 0x0080)
960 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_C(d)     (0x00001008 + d * 0x0080)
961 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_A(d)     (0x0000100c + d * 0x0080)
962 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(d)     (0x00001010 + d * 0x0080)
963 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_C(d)     (0x00001014 + d * 0x0080)
964 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_A(d)    (0x00001018 + d * 0x0080)
965 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(d)    (0x0000101c + d * 0x0080)
966 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_C(d)    (0x00001020 + d * 0x0080)
967 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_BACK_SIDE_PRODUCT_AMBIENT(d)        (0x00000c00 + d * 0x0040)
968 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_BACK_SIDE_PRODUCT_DIFFUSE(d)        (0x00000c0c + d * 0x0040)
969 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_BACK_SIDE_PRODUCT_SPECULAR(d)       (0x00000c18 + d * 0x0040)
970 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_CONSTANT_ATTENUATION(d)     (0x00001068 + d * 0x0080)
971 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_LINEAR_ATTENUATION(d)       (0x0000106c + d * 0x0080)
972 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_QUADRATIC_ATTENUATION(d)    (0x00001070 + d * 0x0080)
973 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A(d)            (0x00001040 + d * 0x0080)
974 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_SPOT_EXPONENT(d)            (0x00001044 + d * 0x0080)
975 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B(d)            (0x00001048 + d * 0x0080)
976 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X(d)               (0x0000104c + d * 0x0080)
977 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y(d)               (0x00001050 + d * 0x0080)
978 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z(d)               (0x00001054 + d * 0x0080)
979 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C(d)            (0x00001058 + d * 0x0080)
980 #       define          NV20_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS           0x00001e28
981 #       define          NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_ENABLE            0x0000147c
982 #       define          NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN(d)        (0x00001480 + d * 0x0004)
983 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_X                   0x00001500
984 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Y                   0x00001504
985 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Z                   0x00001508
986 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_X                   0x00001518
987 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Y                   0x0000151c
988 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Z                   0x00001520
989 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_W                   0x00001524
990 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY                  0x00001528      /* Parameters: y x */
991 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW                  0x0000152c      /* Parameters: w z */
992 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_X                   0x00001530
993 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Y                   0x00001534
994 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Z                   0x00001538
995 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                  0x00001540      /* Parameters: y x */
996 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                   0x00001544      /* Parameters: z */
997 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_R                   0x00001550
998 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_G                   0x00001554
999 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_B                   0x00001558
1000 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_A                   0x0000155c
1001 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_R                   0x00001560
1002 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_G                   0x00001564
1003 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_B                   0x00001568
1004 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I                     0x0000156c      /* Parameters: a b g r */
1005 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_R                  0x00001580
1006 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_G                  0x00001584
1007 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_B                  0x00001588
1008 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3I                    0x0000158c      /* Parameters: a b g r */
1009 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S                   0x00001590
1010 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T                   0x00001594
1011 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I                     0x00001598      /* Parameters: t s */
1012 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_S                   0x000015a0
1013 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_T                   0x000015a4
1014 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_R                   0x000015a8
1015 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_Q                   0x000015ac
1016 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST                  0x000015b0      /* Parameters: t s */
1017 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ                  0x000015b4      /* Parameters: q r */
1018 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S                   0x000015b8
1019 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T                   0x000015bc
1020 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I                     0x000015c0      /* Parameters: t s */
1021 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_S                   0x000015c8
1022 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_T                   0x000015cc
1023 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_R                   0x000015d0
1024 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_Q                   0x000015d4
1025 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST                  0x000015d8      /* Parameters: t s */
1026 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ                  0x000015dc      /* Parameters: q r */
1027 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_S                   0x000015e0
1028 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_T                   0x000015e4
1029 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I                     0x000015e8      /* Parameters: t s */
1030 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_S                   0x000015f0
1031 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_T                   0x000015f4
1032 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_R                   0x000015f8
1033 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_Q                   0x000015fc
1034 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST                  0x00001600      /* Parameters: t s */
1035 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ                  0x00001604      /* Parameters: q r */
1036 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_S                   0x00001608
1037 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_T                   0x0000160c
1038 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I                     0x00001610      /* Parameters: t s */
1039 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_S                   0x00001620
1040 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_T                   0x00001624
1041 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_R                   0x00001628
1042 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_Q                   0x0000162c
1043 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST                  0x00001630      /* Parameters: t s */
1044 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ                  0x00001634      /* Parameters: q r */
1045 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_FOG_1F                     0x00001698
1046 #       define          NV20_TCL_PRIMITIVE_3D_EDGE_FLAG                         0x000016bc
1047 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR0_POS              0x00001720      /* Parameters: enabled? offset */
1048 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR1_WGH              0x00001724      /* Parameters: enabled? offset */
1049 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR2_NOR              0x00001728      /* Parameters: enabled? offset */
1050 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR3_COL              0x0000172c      /* Parameters: enabled? offset */
1051 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR4_COL2             0x00001730      /* Parameters: enabled? offset */
1052 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR5_FOG              0x00001734      /* Parameters: enabled? offset */
1053 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR6                  0x00001738      /* Parameters: enabled? offset */
1054 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR7                  0x0000173c      /* Parameters: enabled? offset */
1055 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR8_TX0              0x00001740      /* Parameters: enabled? offset */
1056 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR9_TX1              0x00001744      /* Parameters: enabled? offset */
1057 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR10_TX2             0x00001748      /* Parameters: enabled? offset */
1058 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR11_TX3             0x0000174c      /* Parameters: enabled? offset */
1059 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR12_TX4             0x00001750      /* Parameters: enabled? offset */
1060 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR13_TX5             0x00001754      /* Parameters: enabled? offset */
1061 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR14_TX6             0x00001758      /* Parameters: enabled? offset */
1062 #       define          NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR15_TX7             0x0000175c      /* Parameters: enabled? offset */
1063 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR0_POS                  0x00001760      /* Parameters: stride fields type */
1064 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR1_WGH                  0x00001764      /* Parameters: stride fields type */
1065 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR2_NOR                  0x00001768      /* Parameters: stride fields type */
1066 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR3_COL                  0x0000176c      /* Parameters: stride fields type */
1067 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR4_COL2                 0x00001770      /* Parameters: stride fields type */
1068 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR5_FOG                  0x00001774      /* Parameters: stride fields type */
1069 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR6                      0x00001778      /* Parameters: stride fields type */
1070 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR7                      0x0000177c      /* Parameters: stride fields type */
1071 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR8_TX0                  0x00001780      /* Parameters: stride fields type */
1072 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR9_TX1                  0x00001784      /* Parameters: stride fields type */
1073 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR10_TX2                 0x00001788      /* Parameters: stride fields type */
1074 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR11_TX3                 0x0000178c      /* Parameters: stride fields type */
1075 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR12_TX4                 0x00001790      /* Parameters: stride fields type */
1076 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR13_TX5                 0x00001794      /* Parameters: stride fields type */
1077 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR14_TX6                 0x00001798      /* Parameters: stride fields type */
1078 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR15_TX7                 0x0000179c      /* Parameters: stride fields type */
1079 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION       0x000017a0
1080 #       define          NV20_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK               0x000017b0
1081 #       define          NV20_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE             0x000017bc
1082 #       define          NV20_TCL_PRIMITIVE_3D_LOGIC_OP                          0x000017c0
1083 #       define          NV20_TCL_PRIMITIVE_3D_LIGHT_MODEL_TWO_SIDE_ENABLE       0x000017c4
1084 #       define          NV20_TCL_PRIMITIVE_3D_BEGIN_END                         0x000017fc
1085 #       define          NV20_TCL_PRIMITIVE_3D_CLEAR_COLOR                       0x00001d90
1086 #       define          NV20_TCL_PRIMITIVE_3D_CLEAR_MASK                        0x00001d94      /* Parameters: clear color a clear color b clear color g clear color r clear depth clear stencil */
1087 #       define          NV20_TCL_PRIMITIVE_3D_INDEX_DATA                        0x00001800      /* Parameters: index1 index0 */
1088 #       define          NV20_TCL_PRIMITIVE_3D_VB_VERTEX_BATCH                   0x00001810      /* Parameters: count_vertices offset_vertices */
1089 #       define          NV20_TCL_PRIMITIVE_3D_VERTEX_DATA                       0x00001818
1090
1091 /****************************************** 
1092 Object NV30_TCL_PRIMITIVE_3D used on: NV30 NV40 G70
1093 */
1094 #define                 NV30_TCL_PRIMITIVE_3D                                   0x00000097
1095 #       define          NV30_TCL_PRIMITIVE_3D_SET_OBJECT0                       0x00000180
1096 #       define          NV30_TCL_PRIMITIVE_3D_SET_OBJECT1                       0x00000184
1097 #       define          NV30_TCL_PRIMITIVE_3D_SET_OBJECT2                       0x00000188
1098 #       define          NV30_TCL_PRIMITIVE_3D_SET_OBJECT3                       0x0000018c
1099 #       define          NV30_TCL_PRIMITIVE_3D_SET_OBJECT4                       0x00000194
1100 #       define          NV30_TCL_PRIMITIVE_3D_SET_OBJECT5                       0x00000198
1101 #       define          NV30_TCL_PRIMITIVE_3D_SET_OBJECT6                       0x000001a4
1102 #       define          NV30_TCL_PRIMITIVE_3D_SET_OBJECT7                       0x000001a8
1103 #       define          NV30_TCL_PRIMITIVE_3D_SET_OBJECT8                       0x000001ac
1104 #       define          NV30_TCL_PRIMITIVE_3D_SET_OBJECT9                       0x000001b4
1105 #       define          NV30_TCL_PRIMITIVE_3D_SET_OBJECT10                      0x000001b8
1106 #       define          NV30_TCL_PRIMITIVE_3D_SET_OBJECT11                      0x0000019c
1107 #       define          NV30_TCL_PRIMITIVE_3D_SET_OBJECT12                      0x000001a0
1108 #       define          NV30_TCL_PRIMITIVE_3D_BUFFER0_PITCH                     0x0000020c      /* Parameters: depth/stencil buffer pitch color0 buffer pitch */
1109 #       define          NV30_TCL_PRIMITIVE_3D_COLOR0_OFFSET                     0x00000210
1110 #       define          NV30_TCL_PRIMITIVE_3D_DEPTH_OFFSET                      0x00000214
1111 #       define          NV30_TCL_PRIMITIVE_3D_COLOR1_OFFSET                     0x00000218
1112 #       define          NV30_TCL_PRIMITIVE_3D_BUFFER1_PITCH                     0x0000021c      /* Parameters: color1 buffer pitch */
1113 #       define          NV30_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_PITCH            0x0000022c      /* Parameters: pitch */
1114 #       define          NV30_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_OFFSET           0x00000230
1115 #       define          NV30_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(d)               (0x00000240 + d * 0x0004)
1116 #       define          NV30_TCL_PRIMITIVE_3D_BUFFER2_PITCH                     0x00000280
1117 #       define          NV30_TCL_PRIMITIVE_3D_BUFFER3_PITCH                     0x00000284
1118 #       define          NV30_TCL_PRIMITIVE_3D_BUFFER2_OFFSET                    0x00000288
1119 #       define          NV30_TCL_PRIMITIVE_3D_BUFFER3_OFFSET                    0x0000028c
1120 #       define          NV30_TCL_PRIMITIVE_3D_DITHER_ENABLE                     0x00000300
1121 #       define          NV30_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE                 0x00000304
1122 #       define          NV30_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                   0x00000308
1123 #       define          NV30_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                    0x0000030c
1124 #       define          NV30_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE                 0x00000310
1125 #       define          NV30_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                    0x00000314
1126 #       define          NV30_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                    0x00000318
1127 #       define          NV30_TCL_PRIMITIVE_3D_BLEND_COLOR                       0x0000031c      /* Parameters: a r g b */
1128 #       define          NV30_TCL_PRIMITIVE_3D_BLEND_EQUATION                    0x00000320
1129 #       define          NV30_TCL_PRIMITIVE_3D_COLOR_MASK                        0x00000324      /* Parameters: a r g b */
1130 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_ENABLE               0x00000328
1131 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_MASK                 0x0000032c
1132 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC            0x00000330
1133 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_REF             0x00000334
1134 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_MASK            0x00000338
1135 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL              0x0000033c
1136 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL             0x00000340
1137 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS             0x00000344
1138 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_ENABLE              0x00000348
1139 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_MASK                0x0000034c
1140 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC           0x00000350
1141 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_REF            0x00000354
1142 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_MASK           0x00000358
1143 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL             0x0000035c
1144 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL            0x00000360
1145 #       define          NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS            0x00000364
1146 #       define          NV30_TCL_PRIMITIVE_3D_SHADE_MODEL                       0x00000368
1147 #       define          NV30_TCL_PRIMITIVE_3D_FOG_ENABLE                        0x0000036c
1148 #       define          NV40_TCL_PRIMITIVE_3D_COLOR_MASK_BUFFER123              0x00000370      /* Parameters: buffer3 b buffer3 g buffer3 r buffer3 a buffer2 b buffer2 g buffer2 r buffer2 a buffer1 b buffer1 g buffer1 r buffer1 a */
1149 #       define          NV30_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                  0x0000037c
1150 #       define          NV30_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                  0x00000394
1151 #       define          NV30_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                   0x00000398
1152 #       define          NV30_TCL_PRIMITIVE_3D_LINE_WIDTH_SMOOTH                 0x000003b8
1153 #       define          NV30_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(d)              (0x00000400 + d * 0x0004)
1154 #       define          NV30_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX( d)              (0x00000480 + d * 0x0004)
1155 #       define          NV30_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW_MATRIX( d)      (0x00000580 + d * 0x0004)
1156 #       define          NV30_TCL_PRIMITIVE_3D_PROJECTION_MATRIX( d)             (0x00000680 + d * 0x0004)
1157 #       define          NV30_TCL_PRIMITIVE_3D_TX_MATRIX(x,y)                    (0x000006c0 + y * 0x0010 + x * 0x0004)
1158 #       define          NV30_TCL_PRIMITIVE_3D_FP_ACTIVE_PROGRAM                 0x000008e4
1159 #       define          NV30_TCL_PRIMITIVE_3D_FOG_COORD_DIST                    0x000008c8
1160 #       define          NV30_TCL_PRIMITIVE_3D_FOG_MODE                          0x000008cc
1161 #       define          NV30_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT             0x000008d0
1162 #       define          NV30_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR               0x000008d4
1163 #       define          NV30_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC            0x000008d8
1164 #       define          NV30_TCL_PRIMITIVE_3D_RC_FINAL0                         0x000008f4      /* Parameters: vara_mapping vara_component_usage vara_input varb_mapping varb_component_usage varb_input varc_mapping varc_component_usage varc_input vard_mapping vard_component_usage vard_input */
1165 #       define          NV30_TCL_PRIMITIVE_3D_RC_FINAL1                         0x000008f8      /* Parameters: vare_mapping vare_component_usage vare_input varf_mapping varf_component_usage varf_input varg_mapping varg_component_usage varg_input color_sum_clamp */
1166 #       define          NV30_TCL_PRIMITIVE_3D_RC_IN_ALPHA                       0x00000900      /* Parameters: vara_mapping vara_component_usage vara_input varb_mapping varb_component_usage varb_input varc_mapping varc_component_usage varc_input vard_mapping vard_component_usage vard_input */
1167 #       define          NV30_TCL_PRIMITIVE_3D_RC_IN_RGB                         0x00000904      /* Parameters: vara_mapping vara_component_usage vara_input varb_mapping varb_component_usage varb_input varc_mapping varc_component_usage varc_input vard_mapping vard_component_usage vard_input */
1168 #       define          NV30_TCL_PRIMITIVE_3D_RC_OUT_ALPHA                      0x00000910      /* Parameters: scale bias mux_sum ab_dot_product cd_dot_product sum_output ab_output cd_output */
1169 #       define          NV30_TCL_PRIMITIVE_3D_RC_OUT_RGB                        0x00000914      /* Parameters: scale bias mux_sum ab_dot_product cd_dot_product sum_output ab_output cd_output */
1170 #       define          NV30_TCL_PRIMITIVE_3D_VIEWPORT_COLOR_BUFFER_DIM0        0x00000200      /* Parameters: width x_offset */
1171 #       define          NV30_TCL_PRIMITIVE_3D_VIEWPORT_COLOR_BUFFER_DIM1        0x00000204      /* Parameters: height y_offset */
1172 #       define          NV30_TCL_PRIMITIVE_3D_VIEWPORT_COLOR_BUFFER_OFS0        0x000002c0      /* Parameters: width x_offset */
1173 #       define          NV30_TCL_PRIMITIVE_3D_VIEWPORT_COLOR_BUFFER_OFS1        0x000002c4      /* Parameters: height y_offset */
1174 #       define          NV30_TCL_PRIMITIVE_3D_VIEWPORT_DIMS_0                   0x00000a00      /* Parameters: width x_offset */
1175 #       define          NV30_TCL_PRIMITIVE_3D_VIEWPORT_DIMS_1                   0x00000a04      /* Parameters: height y_offset */
1176 #       define          NV30_TCL_PRIMITIVE_3D_SCISSOR_WIDTH_XPOS                0x000008c0      /* Parameters: width x_offset */
1177 #       define          NV30_TCL_PRIMITIVE_3D_SCISSOR_HEIGHT_YPOS               0x000008c4      /* Parameters: height y_offset */
1178 #       define          NV30_TCL_PRIMITIVE_3D_POINT_SPRITE                      0x00001ee8      /* Parameters: coord_replace r_mode enable */
1179 #       define          NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_A                 0x00001ec0
1180 #       define          NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_B                 0x00001ec4
1181 #       define          NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_C                 0x00001ec8
1182 #       define          NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_D                 0x00001ecc
1183 #       define          NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_E                 0x00001ed0
1184 #       define          NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_F                 0x00001ed4
1185 #       define          NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_G                 0x00001ed8
1186 #       define          NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_H                 0x00001edc
1187 #       define          NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_OX                  0x00000a20
1188 #       define          NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_OY                  0x00000a24
1189 #       define          NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_NPF_DIV2            0x00000a28
1190 #       define          NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_UNK0_0x0            0x00000a2c
1191 #       define          NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_PX_DIV2             0x00000a30
1192 #       define          NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_PY_DIV2             0x00000a34
1193 #       define          NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_FMN_DIV2            0x00000a38
1194 #       define          NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_UNK1_0x0            0x00000a3c
1195 #       define          NV30_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE        0x00000a60
1196 #       define          NV30_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE        0x00000a64
1197 #       define          NV30_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE       0x00000a68
1198 #       define          NV30_TCL_PRIMITIVE_3D_DEPTH_FUNC                        0x00000a6c
1199 #       define          NV30_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE                0x00000a70
1200 #       define          NV30_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                 0x00000a74
1201 #       define          NV30_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR             0x00000a78
1202 #       define          NV30_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS              0x00000a7c
1203 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_INST0                   0x00000b80
1204 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_INST1                   0x00000b84
1205 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_INST2                   0x00000b88
1206 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_INST3                   0x00000b8c
1207 #       define          NV30_TCL_PRIMITIVE_3D_OCC_QUERY_OR_COLOR_BUFF_ENABLE    0x000017c8
1208 #       define          NV30_TCL_PRIMITIVE_3D_STORE_RESULT                      0x00001800
1209 #       define          NV30_TCL_PRIMITIVE_3D_CLIP_PLANE_A(d)                   (0x00000e00 + d * 0x0010)
1210 #       define          NV30_TCL_PRIMITIVE_3D_CLIP_PLANE_B(d)                   (0x00000e04 + d * 0x0010)
1211 #       define          NV30_TCL_PRIMITIVE_3D_CLIP_PLANE_C(d)                   (0x00000e08 + d * 0x0010)
1212 #       define          NV30_TCL_PRIMITIVE_3D_CLIP_PLANE_D(d)                   (0x00000e0c + d * 0x0010)
1213 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_A(d)     (0x00001000 + d * 0x0040)
1214 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(d)     (0x00001004 + d * 0x0040)
1215 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_C(d)     (0x00001008 + d * 0x0040)
1216 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_A(d)     (0x0000100c + d * 0x0040)
1217 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(d)     (0x00001010 + d * 0x0040)
1218 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_C(d)     (0x00001014 + d * 0x0040)
1219 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_A(d)    (0x00001018 + d * 0x0040)
1220 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(d)    (0x0000101c + d * 0x0040)
1221 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_C(d)    (0x00001020 + d * 0x0040)
1222 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_CONSTANT_ATTENUATION(d)     (0x00001228 + d * 0x0040)
1223 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_LINEAR_ATTENUATION(d)       (0x0000122c + d * 0x0040)
1224 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_QUADRATIC_ATTENUATION(d)    (0x00001230 + d * 0x0040)
1225 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A(d)            (0x00001200 + d * 0x0040)
1226 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_SPOT_EXPONENT(d)            (0x00001204 + d * 0x0040)
1227 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B(d)            (0x00001208 + d * 0x0040)
1228 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X(d)               (0x0000120c + d * 0x0040)
1229 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y(d)               (0x00001210 + d * 0x0040)
1230 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z(d)               (0x00001214 + d * 0x0040)
1231 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C(d)            (0x00001218 + d * 0x0040)
1232 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_POSITION_X(d)               (0x0000121c + d * 0x0040)
1233 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y(d)               (0x00001220 + d * 0x0040)
1234 #       define          NV30_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z(d)               (0x00001224 + d * 0x0040)
1235 #       define          NV30_TCL_PRIMITIVE_3D_ENABLED_LIGHTS                    0x00001420      /* Parameters: light 7 light 6 light 5 light 4 light 3 light 2 light 1 light 0 */
1236 #       define          NV30_TCL_PRIMITIVE_3D_LINE_STIPPLE                      0x00001db4
1237 #       define          NV30_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN              0x00001db8      /* Parameters: factor pattern */
1238 #       define          NV30_TCL_PRIMITIVE_3D_BEGIN_END                         0x00001808
1239 #       define          NV30_TCL_PRIMITIVE_3D_CULL_FACE                         0x00001830
1240 #       define          NV30_TCL_PRIMITIVE_3D_FRONT_FACE                        0x00001834
1241 #       define          NV30_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE             0x00001838
1242 #       define          NV30_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                  0x0000183c
1243 #       define          NV30_TCL_PRIMITIVE_3D_CLEAR_VALUES                      0x00001d8c
1244 #       define          NV30_TCL_PRIMITIVE_3D_CLEAR_WHICH_BUFFERS               0x00001d94
1245 #       define          NV30_TCL_PRIMITIVE_3D_DO_VERTICES                       0x00001dac
1246 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_FROM_ID                 0x00001e9c
1247 #       define          NV30_TCL_PRIMITIVE_3D_VP_PROGRAM_START_ID               0x00001ea0
1248 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_ID                0x00001efc
1249 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P0_X              0x00001f00
1250 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P0_Y              0x00001f04
1251 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P0_Z              0x00001f08
1252 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P0_W              0x00001f0c
1253 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P1_X              0x00001f10
1254 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P1_Y              0x00001f14
1255 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P1_Z              0x00001f18
1256 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P1_W              0x00001f1c
1257 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P2_X              0x00001f20
1258 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P2_Y              0x00001f24
1259 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P2_Z              0x00001f28
1260 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P2_W              0x00001f2c
1261 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P3_X              0x00001f30
1262 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P3_Y              0x00001f34
1263 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P3_Z              0x00001f38
1264 #       define          NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P3_W              0x00001f3c
1265 #       define          NV30_TCL_PRIMITIVE_3D_VTX_ATTR_3X(d)                    (0x00001500 + d * 0x0010)
1266 #       define          NV30_TCL_PRIMITIVE_3D_VTX_ATTR_3Y(d)                    (0x00001504 + d * 0x0010)
1267 #       define          NV30_TCL_PRIMITIVE_3D_VTX_ATTR_3Z(d)                    (0x00001508 + d * 0x0010)
1268 #       define          NV30_TCL_PRIMITIVE_3D_VTX_ATTR_3W(d)                    (0x0000150c + d * 0x0010)
1269 #       define          NV30_TCL_PRIMITIVE_3D_VTX_ATTR_4X(d)                    (0x00001c00 + d * 0x0010)
1270 #       define          NV30_TCL_PRIMITIVE_3D_VTX_ATTR_4Y(d)                    (0x00001c04 + d * 0x0010)
1271 #       define          NV30_TCL_PRIMITIVE_3D_VTX_ATTR_4Z(d)                    (0x00001c08 + d * 0x0010)
1272 #       define          NV30_TCL_PRIMITIVE_3D_VTX_ATTR_4W(d)                    (0x00001c0c + d * 0x0010)
1273 #       define          NV30_TCL_PRIMITIVE_3D_VB_POINTER_ATTR(d)                (0x00001680 + d * 0x0004)       /* Parameters: enabled? offset */
1274 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                  0x00000a90      /* Parameters: y x */
1275 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                   0x00000a94      /* Parameters: z */
1276 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S                   0x000018c0
1277 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T                   0x000018c4
1278 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S                   0x000018c8
1279 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T                   0x000018cc
1280 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_S                   0x000018d0
1281 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_T                   0x000018d4
1282 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_S                   0x000018d8
1283 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_T                   0x000018dc
1284 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX0_2I                     0x00001920      /* Parameters: t s */
1285 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX1_2I                     0x00001924      /* Parameters: t s */
1286 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX2_2I                     0x00001928      /* Parameters: t s */
1287 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX3_2I                     0x0000192c      /* Parameters: t s */
1288 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_COL_4I                     0x0000194c      /* Parameters: a b g r */
1289 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_COL2_3I                    0x00001950      /* Parameters: a b g r */
1290 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST                  0x000019c0      /* Parameters: t s */
1291 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ                  0x000019c4      /* Parameters: q r */
1292 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST                  0x000019c8      /* Parameters: t s */
1293 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ                  0x000019cc      /* Parameters: q r */
1294 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST                  0x000019d0      /* Parameters: t s */
1295 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ                  0x000019d4      /* Parameters: q r */
1296 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST                  0x000019d8      /* Parameters: t s */
1297 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ                  0x000019dc      /* Parameters: q r */
1298 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_FOG_1F                     0x00001e54
1299 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR0_POS                  0x00001740      /* Parameters: stride fields type */
1300 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR1_WGH                  0x00001744      /* Parameters: stride fields type */
1301 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR2_NOR                  0x00001748      /* Parameters: stride fields type */
1302 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR3_COL                  0x0000174c      /* Parameters: stride fields type */
1303 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR4_COL2                 0x00001750      /* Parameters: stride fields type */
1304 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR5_FOG                  0x00001754      /* Parameters: stride fields type */
1305 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR6                      0x00001758      /* Parameters: stride fields type */
1306 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR7                      0x0000175c      /* Parameters: stride fields type */
1307 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR8_TX0                  0x00001760      /* Parameters: stride fields type */
1308 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR9_TX1                  0x00001764      /* Parameters: stride fields type */
1309 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR10_TX2                 0x00001768      /* Parameters: stride fields type */
1310 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR11_TX3                 0x0000176c      /* Parameters: stride fields type */
1311 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR12_TX4                 0x00001770      /* Parameters: stride fields type */
1312 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR13_TX5                 0x00001774      /* Parameters: stride fields type */
1313 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR14_TX6                 0x00001778      /* Parameters: stride fields type */
1314 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR15_TX7                 0x0000177c      /* Parameters: stride fields type */
1315 #       define          NV30_TCL_PRIMITIVE_3D_FP_ACTIVE_PROGRAM                 0x000008e4
1316 #       define          NV30_TCL_PRIMITIVE_3D_TX_ADDRESS_UNIT(d)                (0x00001a00 + d * 0x0020)
1317 #       define          NV30_TCL_PRIMITIVE_3D_TX_FORMAT_UNIT(d)                 (0x00001a04 + d * 0x0020)       /* Parameters: mipmap type format ncomp cubic */
1318 #       define          NV30_TCL_PRIMITIVE_3D_TX_WRAP_UNIT(d)                   (0x00001a08 + d * 0x0020)       /* Parameters: wrap_s wrap_t wrap_r */
1319 #       define          NV30_TCL_PRIMITIVE_3D_TX_ENABLE_UNIT(d)                 (0x00001a0c + d * 0x0020)       /* Parameters: nv40_enable nv30_enable anisotropy */
1320 #       define          NV30_TCL_PRIMITIVE_3D_TX_SWIZZLE_UNIT(d)                (0x00001a10 + d * 0x0020)
1321 #       define          NV30_TCL_PRIMITIVE_3D_TX_FILTER_UNIT(d)                 (0x00001a14 + d * 0x0020)       /* Parameters: filter_min filter_mag */
1322 #       define          NV30_TCL_PRIMITIVE_3D_TX_XY_DIM_UNIT(d)                 (0x00001a18 + d * 0x0020)       /* Parameters: width height */
1323 #       define          NV30_TCL_PRIMITIVE_3D_TX_UNK07_UNIT(d)                  (0x00001a1c + d * 0x0020)
1324 #       define          NV30_TCL_PRIMITIVE_3D_TX_DEPTH_UNIT(d)                  (0x00001840 + d * 0x0004)       /* Parameters: depth NPOT pitch */
1325 #       define          NV30_TCL_PRIMITIVE_3D_VB_VERTEX_BATCH                   0x00001814      /* Parameters: count_vertices offset_vertices */
1326 #       define          NV30_TCL_PRIMITIVE_3D_VERTEX_DATA                       0x00001818
1327 #       define          NV30_TCL_PRIMITIVE_3D_LOGIC_OP_ENABLE                   0x00000374
1328 #       define          NV30_TCL_PRIMITIVE_3D_LOGIC_OP_OP                       0x00000378
1329 #       define          NV30_TCL_PRIMITIVE_3D_SET_DISPLAY_LIST_MEM_OFFSET       0x0000181c
1330 #       define          NV30_TCL_PRIMITIVE_3D_EXECUTE_DISPLAY_LIST              0x00001824      /* Parameters: length start offset */
1331 #       define          NV30_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                0x00001828
1332 #       define          NV30_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                 0x0000182c
1333 #       define          NV30_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_ENABLE            0x0000147c
1334 #       define          NV30_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN( d)       (0x00001480 + d * 0x0004)
1335 #       define          NV30_TCL_PRIMITIVE_3D_SET_CLIPPING_PLANES               0x00001478
1336 #       define          NV30_TCL_PRIMITIVE_3D_VP_IN_REG                         0x00001ff0      /* Parameters: vertex pos weight normal primary color secondary color fogcoord texture coords 0 texture ccords 1 texture coords 2 texture coords 3 texture coords 4 texture coords 5 texture coords 6 texture coords 7 */
1337 #       define          NV30_TCL_PRIMITIVE_3D_VP_OUT_REG                        0x00001ff4      /* Parameters: primary color secondary color backface primary color backface secondary color fogcoord pointsize clip plane 0 clip plane 1 clip plane 2 clip plane 3 clip plane 4 clip plane 5 texture coords 0 texture coords 1 texture coords 2 texture coords 3 texture coords 4 texture coords 5 texture coords 6 texture coords 7 */
1338
1339 /****************************************** 
1340 Object NV30_CLEAR_BUFFER used on: NV30 NV40 G70
1341 */
1342 #define                 NV30_CLEAR_BUFFER                                       0x00000066
1343 #       define          NV30_CLEAR_BUFFER_SET_DMA_NOTIFY                        0x00000180
1344 #       define          NV30_CLEAR_BUFFER_SET_IMAGE_PATTERN                     0x00000188
1345 #       define          NV30_CLEAR_BUFFER_SET_RASTER_OP                         0x0000018c
1346 #       define          NV30_CLEAR_BUFFER_SET_CONTEXT_SURFACE_2D                0x00000198
1347 #       define          NV30_CLEAR_BUFFER_UNK002fc                              0x000002fc
1348
1349 /****************************************** 
1350 Object NV_DMA_FROM_MEMORY used on: NV03 NV04 NV10 NV15 NV20 NV30 NV40 G70
1351 */
1352 #define                 NV_DMA_FROM_MEMORY                                      0x00000002
1353
1354 /****************************************** 
1355 Object NV_DMA_TO_MEMORY used on: NV03 NV04 NV10 NV15 NV20 NV30 NV40 G70
1356 */
1357 #define                 NV_DMA_TO_MEMORY                                        0x00000003
1358
1359 /****************************************** 
1360 Object NV_DMA_IN_MEMORY used on: NV03 NV04 NV10 NV15 NV20 NV30 NV40 G70
1361 */
1362 #define                 NV_DMA_IN_MEMORY                                        0x0000003d
1363
1364 /****************************************** 
1365 Object NvType0046 used on: NV04 
1366 */
1367 #define                 NvType0046                                              0x00000046
1368 #       define          NvType0046_DMA_NOTIFY                                   0x00000180
1369 #       define          NvType0046_DMA_MEM_1                                    0x00000184
1370 #       define          NvType0046_DMA_MEM_2                                    0x00000188
1371 #       define          NvType0046_DMA_3                                        0x0000018c
1372 #       define          NvType0046_DMA_4                                        0x00000190
1373 #       define          NvType0046_OBJ_5                                        0x00000194
1374 #       define          NvType0046_OBJ_6                                        0x00000198
1375 #       define          NvType0046_PITCH1                                       0x00000304
1376 #       define          NvType0046_PITCH2                                       0x0000030c
1377 #       define          NvType0046_SIZE                                         0x00000340      /* Parameters: width height */
1378 #       define          NvType0046_WIDTH                                        0x00000344      /* Parameters: visible_width blank_width */
1379 #       define          NvType0046_HSYNC                                        0x00000348      /* Parameters: hsync_start hsync_len */
1380 #       define          NvType0046_HEIGHT                                       0x0000034c      /* Parameters: visible_height blank_height */
1381 #       define          NvType0046_VSYNC                                        0x00000350      /* Parameters: vsync_start vsync_len */
1382 #       define          NvType0046_FULL_SIZE                                    0x00000354      /* Parameters: full_width full_height */
1383 #       define          NvType0046_PIXEL_CLK                                    0x00000358
1384 #       define          NvType0046_FLAGS                                        0x0000035c      /* Parameters: doublescan -hsync -vsync depth */
1385
1386 /****************************************** 
1387 Object NvType0047 used on: NV04 
1388 */
1389 #define                 NvType0047                                              0x00000047
1390 #       define          NvType0047_DMA_NOTIFY                                   0x00000180
1391 #       define          NvType0047_UNK19C                                       0x0000019c
1392 #       define          NvType0047_UNK1A0                                       0x000001a0
1393
1394 /****************************************** 
1395 Object NvType0049 used on: NV04 
1396 */
1397 #define                 NvType0049                                              0x00000049
1398 #       define          NvType0049_DMA_NOTIFY                                   0x00000180
1399 #       define          NvType0049_DMA_MEM_1                                    0x00000184
1400 #       define          NvType0049_DMA_MEM_2                                    0x00000188
1401
1402 /****************************************** 
1403 Object NvType004D used on: NV04 
1404 */
1405 #define                 NvType004D                                              0x0000004d
1406 #       define          NvType004D_DMA_NOTIFY                                   0x00000180
1407 #       define          NvType004D_DMA_MEM_1                                    0x00000184
1408 #       define          NvType004D_DMA_MEM_2                                    0x00000188
1409 #       define          NvType004D_DMA_MEM_3                                    0x0000018c
1410 #       define          NvType004D_DMA_MEM_4                                    0x00000190
1411
1412 #endif /* _NOUVEAU_REG_H */