nouveau: nv10: set projection matrix from viewport size
[mesa.git] / src / mesa / drivers / dri / nouveau / nouveau_reg.h
1 /*
2 Autogenerated file, do not edit !
3
4 **************************************************************************
5
6 Copyright (C) 2006 :
7 Dmitry Baryshkov,
8 Laurent Carlier,
9 Matthieu Castet,
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.398
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_NOP 0x00000100
64 # define NV_MEMORY_TO_MEMORY_FORMAT_NOTIFY 0x00000104
65 # define NV_MEMORY_TO_MEMORY_FORMAT_DMA_NOTIFY 0x00000180
66 # define NV_MEMORY_TO_MEMORY_FORMAT_OBJECT_IN 0x00000184
67 # define NV_MEMORY_TO_MEMORY_FORMAT_OBJECT_OUT 0x00000188
68 # define NV_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN 0x0000030c
69 # define NV_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT 0x00000310
70 # define NV_MEMORY_TO_MEMORY_FORMAT_PITCH_IN 0x00000314
71 # define NV_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT 0x00000318
72 # define NV_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN 0x0000031c
73 # define NV_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT 0x00000320
74 # define NV_MEMORY_TO_MEMORY_FORMAT_FORMAT 0x00000324 /* Parameters: src_inc dst_inc */
75 # define NV_MEMORY_TO_MEMORY_FORMAT_BUF_NOTIFY 0x00000328
76
77 /******************************************
78 Object NV03_PRIMITIVE_RASTER_OP used on: NV03 NV04 NV10 NV15 NV20 NV30 NV40 G70
79 */
80 #define NV03_PRIMITIVE_RASTER_OP 0x00000043
81 # define NV03_PRIMITIVE_RASTER_OP_NOTIFY 0x00000100
82 # define NV03_PRIMITIVE_RASTER_OP_DMA_NOTIFY 0x00000180
83 # define NV03_PRIMITIVE_RASTER_OP_LOGIC_OP 0x00000300 /* Parameters: logic_op */
84
85 /******************************************
86 Object NV04_GDI_RECTANGLE_TEXT used on: NV04 NV10 NV15 NV20 NV30 NV40 G70
87 */
88 #define NV04_GDI_RECTANGLE_TEXT 0x0000004a
89 # define NV04_GDI_RECTANGLE_TEXT_SET_DMA_NOTIFY 0x00000180
90 # define NV04_GDI_RECTANGLE_TEXT_PATTERN 0x00000188
91 # define NV04_GDI_RECTANGLE_TEXT_ROP5 0x0000018c
92 # define NV04_GDI_RECTANGLE_TEXT_SURFACE 0x00000198
93 # define NV04_GDI_RECTANGLE_TEXT_OPERATION 0x000002fc
94 # define NV04_GDI_RECTANGLE_TEXT_FORMAT 0x00000300
95 # define NV04_GDI_RECTANGLE_TEXT_BLOCK_LEVEL1_TL 0x000005f4 /* Parameters: left top */
96 # define NV04_GDI_RECTANGLE_TEXT_BLOCK_LEVEL1_BR 0x000005f8 /* Parameters: right bottom */
97 # define NV04_GDI_RECTANGLE_TEXT_FILL_VALUE 0x000005fc
98 # define NV04_GDI_RECTANGLE_TEXT_BLOCK_LEVEL2_TL 0x00000600 /* Parameters: left top */
99 # define NV04_GDI_RECTANGLE_TEXT_BLOCK_LEVEL2_BR 0x00000604 /* Parameters: right bottom */
100
101 /******************************************
102 Object NV04_SWIZZLED_SURFACE used on: NV04 NV10 NV15
103 */
104 #define NV04_SWIZZLED_SURFACE 0x00000052
105 # define NV04_SWIZZLED_SURFACE_DMA_NOTIFY 0x00000180
106 # define NV04_SWIZZLED_SURFACE_DMA_IMAGE 0x00000184
107 # define NV04_SWIZZLED_SURFACE_FORMAT 0x00000300 /* Parameters: log2(height) log2(width) color */
108 # define NV04_SWIZZLED_SURFACE_OFFSET 0x00000304
109
110 /******************************************
111 Object NV04_CONTEXT_SURFACES_3D used on: NV04
112 */
113 #define NV04_CONTEXT_SURFACES_3D 0x00000053
114 # define NV04_CONTEXT_SURFACES_3D_DMA_NOTIFY 0x00000180
115 # define NV04_CONTEXT_SURFACES_3D_DMA_COLOR 0x00000184
116 # define NV04_CONTEXT_SURFACES_3D_DMA_ZETA 0x00000188
117 # define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL 0x000002f8 /* Parameters: x width */
118 # define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL 0x000002fc /* Parameters: y height */
119 # define NV04_CONTEXT_SURFACES_3D_FORMAT 0x00000300 /* Parameters: color type width height */
120 # define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE 0x00000304 /* Parameters: width height */
121 # define NV04_CONTEXT_SURFACES_3D_PITCH 0x00000308 /* Parameters: color zeta */
122 # define NV04_CONTEXT_SURFACES_3D_OFFSET_COLOR 0x0000030c
123 # define NV04_CONTEXT_SURFACES_3D_OFFSET_ZETA 0x00000310
124
125 /******************************************
126 Object NV04_DX5_TEXTURED_TRIANGLE used on: NV04
127 */
128 #define NV04_DX5_TEXTURED_TRIANGLE 0x00000054
129 # define NV04_DX5_TEXTURED_TRIANGLE_NOP 0x00000100
130 # define NV04_DX5_TEXTURED_TRIANGLE_NOTIFY 0x00000104
131 # define NV04_DX5_TEXTURED_TRIANGLE_DMA_NOTIFY 0x00000180
132 # define NV04_DX5_TEXTURED_TRIANGLE_DMA_1 0x00000184
133 # define NV04_DX5_TEXTURED_TRIANGLE_DMA_2 0x00000188
134 # define NV04_DX5_TEXTURED_TRIANGLE_SURFACE 0x0000018c
135 # define NV04_DX5_TEXTURED_TRIANGLE_COLOR_KEY 0x00000300
136 # define NV04_DX5_TEXTURED_TRIANGLE_TEXTURE_OFFSET 0x00000304
137 # define NV04_DX5_TEXTURED_TRIANGLE_TEXTURE_FORMAT 0x00000308 /* Parameters: color mipmaps log(u) log(v) wrap_s wrap_t */
138 # define NV04_DX5_TEXTURED_TRIANGLE_TEXTURE_FILTER 0x0000030c /* Parameters: magfilter minfilter lodbias */
139 # define NV04_DX5_TEXTURED_TRIANGLE_BLEND 0x00000310 /* Parameters: texture benable dst src */
140 # define NV04_DX5_TEXTURED_TRIANGLE_CONTROL 0x00000314 /* Parameters: alpharef alphafunc alphaenable zenable zwrite zfunc cullmode */
141 # define NV04_DX5_TEXTURED_TRIANGLE_FOG_COLOR 0x00000318
142 # define NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SX( d) (0x00000400 + d * 0x0020)
143 # define NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SY( d) (0x00000404 + d * 0x0020)
144 # define NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SZ( d) (0x00000408 + d * 0x0020)
145 # define NV04_DX5_TEXTURED_TRIANGLE_INV_W( d) (0x0000040c + d * 0x0020)
146 # define NV04_DX5_TEXTURED_TRIANGLE_COLOR( d) (0x00000410 + d * 0x0020)
147 # define NV04_DX5_TEXTURED_TRIANGLE_SPECULAR( d) (0x00000414 + d * 0x0020)
148 # define NV04_DX5_TEXTURED_TRIANGLE_TEXTURE_S( d) (0x00000418 + d * 0x0020)
149 # define NV04_DX5_TEXTURED_TRIANGLE_TEXTURE_T( d) (0x0000041c + d * 0x0020)
150 # define NV04_DX5_TEXTURED_TRIANGLE_DRAW 0x00000600 /* Parameters: v0 v1 v2 v3 v4 v5 */
151
152 /******************************************
153 Object NV04_DX6_MULTITEX_TRIANGLE used on: NV04 NV10 NV15
154 */
155 #define NV04_DX6_MULTITEX_TRIANGLE 0x00000055
156 # define NV04_DX6_MULTITEX_TRIANGLE_NOP 0x00000100
157 # define NV04_DX6_MULTITEX_TRIANGLE_NOTIFY 0x00000104
158 # define NV04_DX6_MULTITEX_TRIANGLE_DMA_NOTIFY 0x00000180
159 # define NV04_DX6_MULTITEX_TRIANGLE_DMA_1 0x00000184
160 # define NV04_DX6_MULTITEX_TRIANGLE_DMA_2 0x00000188
161 # define NV04_DX6_MULTITEX_TRIANGLE_SURFACE 0x0000018c
162 # define NV04_DX6_MULTITEX_TRIANGLE_OFFSET0 0x00000308
163 # define NV04_DX6_MULTITEX_TRIANGLE_OFFSET1 0x0000030c
164 # define NV04_DX6_MULTITEX_TRIANGLE_FORMAT0 0x00000310 /* Parameters: color mipmaps log(u) log(v) wrap_s wrap_t */
165 # define NV04_DX6_MULTITEX_TRIANGLE_FORMAT1 0x00000314 /* Parameters: color mipmaps log(u) log(v) wrap_s wrap_t */
166 # define NV04_DX6_MULTITEX_TRIANGLE_FILTER0 0x00000318 /* Parameters: magfilter minfilter lodbias */
167 # define NV04_DX6_MULTITEX_TRIANGLE_FILTER1 0x0000031c /* Parameters: magfilter minfilter lodbias */
168 # define NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA 0x00000320
169 # define NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR 0x00000324
170 # define NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA 0x0000032c
171 # define NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR 0x00000330
172 # define NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR 0x00000334
173 # define NV04_DX6_MULTITEX_TRIANGLE_BLEND 0x00000338 /* Parameters: benable dst src */
174 # 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 */
175 # define NV04_DX6_MULTITEX_TRIANGLE_CONTROL1 0x00000340 /* Parameters: stencil_enable stencil_mask_write stencil_mask_read stencilref stencilfunc */
176 # define NV04_DX6_MULTITEX_TRIANGLE_CONTROL2 0x00000344 /* Parameters: stencil_fail stencil_zfail stencil_zpass */
177 # define NV04_DX6_MULTITEX_TRIANGLE_FOG_COLOR 0x00000348
178 # define NV04_DX6_MULTITEX_TRIANGLE_TLVERTEX_SX( d) (0x00000400 + d * 0x0028)
179 # define NV04_DX6_MULTITEX_TRIANGLE_TLVERTEX_SY( d) (0x00000404 + d * 0x0028)
180 # define NV04_DX6_MULTITEX_TRIANGLE_TLVERTEX_SZ( d) (0x00000408 + d * 0x0028)
181 # define NV04_DX6_MULTITEX_TRIANGLE_INV_W( d) (0x0000040c + d * 0x0028)
182 # define NV04_DX6_MULTITEX_TRIANGLE_COLOR( d) (0x00000410 + d * 0x0028)
183 # define NV04_DX6_MULTITEX_TRIANGLE_SPECULAR( d) (0x00000414 + d * 0x0028)
184 # define NV04_DX6_MULTITEX_TRIANGLE_TEXTURE0_S( d) (0x00000418 + d * 0x0028)
185 # define NV04_DX6_MULTITEX_TRIANGLE_TEXTURE0_T( d) (0x0000041c + d * 0x0028)
186 # define NV04_DX6_MULTITEX_TRIANGLE_TEXTURE1_S( d) (0x00000420 + d * 0x0028)
187 # define NV04_DX6_MULTITEX_TRIANGLE_TEXTURE1_T( d) (0x00000424 + d * 0x0028)
188 # define NV04_DX6_MULTITEX_TRIANGLE_DRAW 0x00000540 /* Parameters: v0 v1 v2 v3 v4 v5 */
189
190 /******************************************
191 Object NV04_COLOR_KEY used on: NV04 NV10 NV15 NV20 NV40
192 */
193 #define NV04_COLOR_KEY 0x00000057
194 # define NV04_COLOR_KEY_SET_DMA_NOTIFY 0x00000180
195 # define NV04_COLOR_KEY_FORMAT 0x00000300
196 # define NV04_COLOR_KEY_VALUE 0x00000304
197
198 /******************************************
199 Object NV04_SOLID_LINE used on: NV04
200 */
201 #define NV04_SOLID_LINE 0x0000005c
202 # define NV04_SOLID_LINE_CLIP_RECTANGLE 0x00000184
203 # define NV04_SOLID_LINE_PATTERN 0x00000188
204 # define NV04_SOLID_LINE_ROP 0x0000018c
205 # define NV04_SOLID_LINE_SURFACE 0x00000198
206 # define NV04_SOLID_LINE_OPERATION 0x000002fc
207 # define NV04_SOLID_LINE_COLOR_FORMAT 0x00000300
208 # define NV04_SOLID_LINE_COLOR_VALUE 0x00000304
209 # define NV04_SOLID_LINE_START 0x00000400 /* Parameters: x y */
210 # define NV04_SOLID_LINE_END 0x00000400 /* Parameters: x y */
211
212 /******************************************
213 Object NV04_UNK005E used on: NV04
214 */
215 #define NV04_UNK005E 0x0000005e
216 # define NV04_UNK005E_SET_SURFACE 0x00000198
217 # define NV04_UNK005E_UNK02fc 0x000002fc
218 # define NV04_UNK005E_UNK0300 0x00000300
219 # define NV04_UNK005E_COUNTER 0x00000304
220
221 /******************************************
222 Object NV05_SCALED_IMAGE_FROM_MEMORY used on: NV04
223 */
224 #define NV05_SCALED_IMAGE_FROM_MEMORY 0x00000063
225 # define NV05_SCALED_IMAGE_FROM_MEMORY_SURFACE 0x00000198
226 # define NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION 0x000002fc
227 # define NV05_SCALED_IMAGE_FROM_MEMORY_OPERATION 0x00000304
228
229 /******************************************
230 Object NV04_SCALED_IMAGE_FROM_MEMORY used on: NV04
231 */
232 #define NV04_SCALED_IMAGE_FROM_MEMORY 0x00000077
233 # define NV04_SCALED_IMAGE_FROM_MEMORY_DMA_NOTIFY 0x00000180
234 # define NV04_SCALED_IMAGE_FROM_MEMORY_DMA_IMAGE 0x00000184
235 # define NV04_SCALED_IMAGE_FROM_MEMORY_SURFACE 0x00000198
236 # define NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT 0x00000300
237 # define NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION 0x00000304
238 # define NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POS 0x00000308 /* Parameters: x y */
239 # define NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE 0x0000030c /* Parameters: width height */
240 # define NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POS 0x00000310 /* Parameters: x y */
241 # define NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE 0x00000314 /* Parameters: width height */
242 # define NV04_SCALED_IMAGE_FROM_MEMORY_DU_DX 0x00000318 /* Parameters: int frac*0x100000 */
243 # define NV04_SCALED_IMAGE_FROM_MEMORY_DV_DY 0x0000031c /* Parameters: int frac*0x100000 */
244 # define NV04_SCALED_IMAGE_FROM_MEMORY_SIZE 0x00000400 /* Parameters: width height */
245 # define NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT 0x00000404 /* Parameters: pitch origin filter */
246 # define NV04_SCALED_IMAGE_FROM_MEMORY_OFFSET 0x00000408
247 # define NV04_SCALED_IMAGE_FROM_MEMORY_POINT 0x0000040c /* Parameters: u_int u_frac*0x10 v_int v_frac*0x10 */
248
249 /******************************************
250 Object NV_IMAGE_FROM_CPU used on: NV04
251 */
252 #define NV_IMAGE_FROM_CPU 0x00000061
253 # define NV_IMAGE_FROM_CPU_DMA_NOTIFY 0x00000180
254 # define NV_IMAGE_FROM_CPU_CLIP_RECTANGLE 0x00000188
255 # define NV_IMAGE_FROM_CPU_PATTERN 0x0000018c
256 # define NV_IMAGE_FROM_CPU_ROP 0x00000190
257 # define NV_IMAGE_FROM_CPU_SURFACE 0x0000019c
258 # define NV_IMAGE_FROM_CPU_OPERATION 0x000002fc
259 # define NV_IMAGE_FROM_CPU_FORMAT 0x00000300
260
261 /******************************************
262 Object NV05_IMAGE_FROM_CPU used on: NV04
263 */
264 #define NV05_IMAGE_FROM_CPU 0x00000065
265 # define NV05_IMAGE_FROM_CPU_DMA_NOTIFY 0x00000180
266 # define NV05_IMAGE_FROM_CPU_CLIP_RECTANGLE 0x00000188
267 # define NV05_IMAGE_FROM_CPU_PATTERN 0x0000018c
268 # define NV05_IMAGE_FROM_CPU_ROP 0x00000190
269 # define NV05_IMAGE_FROM_CPU_SURFACE 0x0000019c
270 # define NV05_IMAGE_FROM_CPU_OPERATION 0x000002fc
271 # define NV05_IMAGE_FROM_CPU_FORMAT 0x00000300
272 # define NV05_IMAGE_FROM_CPU_POINT 0x00000304 /* Parameters: x y */
273 # define NV05_IMAGE_FROM_CPU_SIZE_OUT 0x00000308 /* Parameters: x y */
274 # define NV05_IMAGE_FROM_CPU_SIZE_IN 0x0000030c /* Parameters: x y */
275 # define NV05_IMAGE_FROM_CPU_COLOR( d) (0x00000400 + d * 0x0004)
276
277 /******************************************
278 Object NV_IMAGE_BLIT used on: NV04 NV10 NV15 NV20 NV40
279 */
280 #define NV_IMAGE_BLIT 0x0000005f
281 # define NV_IMAGE_BLIT_DMA_NOTIFY 0x00000180
282 # define NV_IMAGE_BLIT_COLOR_KEY 0x00000184
283 # define NV_IMAGE_BLIT_CLIP_RECTANGLE 0x00000188
284 # define NV_IMAGE_BLIT_PATTERN 0x0000018c
285 # define NV_IMAGE_BLIT_ROP5 0x00000190
286 # define NV_IMAGE_BLIT_SURFACE 0x0000019c
287 # define NV_IMAGE_BLIT_OPERATION 0x000002fc
288 # define NV_IMAGE_BLIT_POINT_IN 0x00000300 /* Parameters: x y */
289 # define NV_IMAGE_BLIT_POINT_OUT 0x00000304 /* Parameters: x y */
290 # define NV_IMAGE_BLIT_SIZE 0x00000308 /* Parameters: width height */
291
292 /******************************************
293 Object NV10_TCL_PRIMITIVE_3D used on: NV10
294 */
295 #define NV10_TCL_PRIMITIVE_3D 0x00000056
296
297 /******************************************
298 Object NV17_TCL_PRIMITIVE_3D used on: NV15
299 */
300 #define NV17_TCL_PRIMITIVE_3D 0x00000099
301
302 /******************************************
303 Object NV11_TCL_PRIMITIVE_3D used on: NV15
304 */
305 #define NV11_TCL_PRIMITIVE_3D 0x00000096
306 # define NV10_TCL_PRIMITIVE_3D_NOP 0x00000100
307 # define NV10_TCL_PRIMITIVE_3D_NOTIFY 0x00000104
308 # define NV10_TCL_PRIMITIVE_3D_SET_DMA_NOTIFY 0x00000180
309 # define NV10_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY0 0x00000184
310 # define NV10_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY1 0x00000188
311 # define NV10_TCL_PRIMITIVE_3D_SET_DISPLAY_LIST 0x0000018c
312 # define NV10_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY2 0x00000194
313 # define NV10_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY3 0x00000198
314 # define NV17_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY4 0x000001ac
315 # define NV17_TCL_PRIMITIVE_3D_SET_DMA_IN_MEMORY5 0x000001b0
316 # define NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ 0x00000200 /* Parameters: width x */
317 # define NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT 0x00000204 /* Parameters: height y */
318 # define NV10_TCL_PRIMITIVE_3D_BUFFER_FORMAT 0x00000208 /* Parameters: type color */
319 # define NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH 0x0000020c /* Parameters: depth/stencil buffer pitch color buffer pitch */
320 # define NV10_TCL_PRIMITIVE_3D_COLOR_OFFSET 0x00000210
321 # define NV10_TCL_PRIMITIVE_3D_DEPTH_OFFSET 0x00000214
322 # define NV10_TCL_PRIMITIVE_3D_TX_OFFSET(d) (0x00000218 + d * 0x0004)
323 # 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 */
324 # define NV10_TCL_PRIMITIVE_3D_TX_ENABLE(d) (0x00000228 + d * 0x0004) /* Parameters: enable anisotropy */
325 # define NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH(d) (0x00000230 + d * 0x0004) /* Parameters: pitch */
326 # define NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE(d) (0x00000240 + d * 0x0004) /* Parameters: width height */
327 # define NV10_TCL_PRIMITIVE_3D_TX_FILTER(d) (0x00000248 + d * 0x0004) /* Parameters: mag_filter min_filter */
328 # define NV10_TCL_PRIMITIVE_3D_TX_PALETTE_OFFSET(d) (0x00000250 + d * 0x0004)
329 # define NV10_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(d) (0x000003e0 + d * 0x0004)
330 # define NV10_TCL_PRIMITIVE_3D_TX_MATRIX(x,y) (0x00000540 + y * 0x0010 + x * 0x0004)
331 # 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 */
332 # 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 */
333 # 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 */
334 # 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 */
335 # define NV10_TCL_PRIMITIVE_3D_RC_COLOR0 0x00000270 /* Parameters: a r g b */
336 # define NV10_TCL_PRIMITIVE_3D_RC_COLOR1 0x00000274 /* Parameters: a r g b */
337 # 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 */
338 # 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 */
339 # define NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL 0x00000294 /* Parameters: local_viewer color_control */
340 # define NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE 0x00000298 /* Parameters: specular diffuse ambient emission */
341 # define NV10_TCL_PRIMITIVE_3D_FOG_MODE 0x0000029c
342 # define NV10_TCL_PRIMITIVE_3D_FOG_COORD_DIST 0x000002a0
343 # define NV10_TCL_PRIMITIVE_3D_FOG_ENABLE 0x000002a4
344 # define NV10_TCL_PRIMITIVE_3D_FOG_COLOR 0x000002a8 /* Parameters: a b g r */
345 # define NV17_TCL_PRIMITIVE_3D_COLOR_MASK_ENABLE 0x000002bc
346 # define NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(d) (0x000002c0 + d * 0x0004) /* Parameters: x2 x1 */
347 # define NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(d) (0x000002e0 + d * 0x0004) /* Parameters: y2 y1 */
348 # define NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE 0x00000300
349 # define NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE 0x00000304
350 # define NV10_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE 0x00000308
351 # define NV10_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE 0x0000030c
352 # define NV10_TCL_PRIMITIVE_3D_DITHER_ENABLE 0x00000310
353 # define NV10_TCL_PRIMITIVE_3D_LIGHTING_ENABLE 0x00000314
354 # define NV10_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE 0x00000318
355 # define NV10_TCL_PRIMITIVE_3D_POINT_SMOOTH_ENABLE 0x0000031c
356 # define NV10_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE 0x00000320
357 # define NV10_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE 0x00000324
358 # define NV10_TCL_PRIMITIVE_3D_VERTEX_WEIGHT_ENABLE 0x00000328
359 # define NV10_TCL_PRIMITIVE_3D_STENCIL_ENABLE 0x0000032c
360 # define NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE 0x00000330
361 # define NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE 0x00000334
362 # define NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE 0x00000338
363 # define NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC 0x0000033c
364 # define NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF 0x00000340
365 # define NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC 0x00000344
366 # define NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST 0x00000348
367 # define NV10_TCL_PRIMITIVE_3D_BLEND_COLOR 0x0000034c /* Parameters: a r g b */
368 # define NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION 0x00000350
369 # define NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC 0x00000354
370 # define NV10_TCL_PRIMITIVE_3D_COLOR_MASK 0x00000358 /* Parameters: a r g b */
371 # define NV10_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE 0x0000035c
372 # define NV10_TCL_PRIMITIVE_3D_STENCIL_MASK 0x00000360
373 # define NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC 0x00000364
374 # define NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_REF 0x00000368
375 # define NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_MASK 0x0000036c
376 # define NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL 0x00000370
377 # define NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL 0x00000374
378 # define NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS 0x00000378
379 # define NV10_TCL_PRIMITIVE_3D_SHADE_MODEL 0x0000037c
380 # define NV10_TCL_PRIMITIVE_3D_LINE_WIDTH 0x00000380
381 # define NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR 0x00000384
382 # define NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS 0x00000388
383 # define NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT 0x0000038c
384 # define NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK 0x00000390
385 # define NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR 0x00000394
386 # define NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR 0x00000398
387 # define NV10_TCL_PRIMITIVE_3D_CULL_FACE 0x0000039c
388 # define NV10_TCL_PRIMITIVE_3D_FRONT_FACE 0x000003a0
389 # define NV10_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE 0x000003a4
390 # define NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_R 0x000003a8
391 # define NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_G 0x000003ac
392 # define NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_B 0x000003b0
393 # define NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_A 0x000003b4
394 # define NV10_TCL_PRIMITIVE_3D_COLOR_CONTROL 0x000003b8 /* Parameters: color_control */
395 # 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 */
396 # define NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE( d) (0x000003c0 + d * 0x0004)
397 # define NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE 0x000003e8 /* Parameters: projection modelview0 modelview1 */
398 # define NV10_TCL_PRIMITIVE_3D_POINT_SIZE 0x000003ec
399 # define NV10_TCL_PRIMITIVE_3D_MODELVIEW0_MATRIX( d) (0x00000400 + d * 0x0004)
400 # define NV10_TCL_PRIMITIVE_3D_MODELVIEW1_MATRIX( d) (0x00000440 + d * 0x0004)
401 # define NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW0_MATRIX( d) (0x00000480 + d * 0x0004)
402 # define NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW1_MATRIX( d) (0x000004c0 + d * 0x0004)
403 # define NV10_TCL_PRIMITIVE_3D_PROJECTION_MATRIX( d) (0x00000500 + d * 0x0004)
404 # define NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_A(d) (0x00000600 + d * 0x0010)
405 # define NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_B(d) (0x00000604 + d * 0x0010)
406 # define NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_C(d) (0x00000608 + d * 0x0010)
407 # define NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_D(d) (0x0000060c + d * 0x0010)
408 # define NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT 0x00000680
409 # define NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR 0x00000684
410 # define NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC 0x00000688
411 # define NV10_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_A 0x000006a0
412 # define NV10_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_B 0x000006a4
413 # define NV10_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_C 0x000006a8
414 # define NV10_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_D 0x000006ac
415 # define NV10_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_E 0x000006b0
416 # define NV10_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_F 0x000006b4
417 # define NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R 0x000006c4
418 # define NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G 0x000006c8
419 # define NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B 0x000006cc
420 # define NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_X 0x000006e8
421 # define NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_Y 0x000006ec
422 # define NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_Z 0x000006f0
423 # define NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_W 0x000006f4
424 # define NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_A 0x000006f8
425 # define NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_B 0x000006fc
426 # define NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_C 0x00000700
427 # define NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_D 0x00000704
428 # define NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_E 0x00000708
429 # define NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_F 0x0000070c
430 # define NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_G 0x00000710
431 # define NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER_H 0x00000714
432 # define NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(d) (0x00000800 + d * 0x0080)
433 # define NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(d) (0x00000804 + d * 0x0080)
434 # define NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(d) (0x00000808 + d * 0x0080)
435 # define NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(d) (0x0000080c + d * 0x0080)
436 # define NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(d) (0x00000810 + d * 0x0080)
437 # define NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(d) (0x00000814 + d * 0x0080)
438 # define NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(d) (0x00000818 + d * 0x0080)
439 # define NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(d) (0x0000081c + d * 0x0080)
440 # define NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(d) (0x00000820 + d * 0x0080)
441 # define NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X(d) (0x00000828 + d * 0x0080)
442 # define NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y(d) (0x0000082c + d * 0x0080)
443 # define NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z(d) (0x00000830 + d * 0x0080)
444 # define NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X(d) (0x00000834 + d * 0x0080)
445 # define NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y(d) (0x00000838 + d * 0x0080)
446 # define NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z(d) (0x0000083c + d * 0x0080)
447 # define NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A(d) (0x00000840 + d * 0x0080)
448 # define NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_EXPONENT(d) (0x00000844 + d * 0x0080)
449 # define NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B(d) (0x00000848 + d * 0x0080)
450 # define NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X(d) (0x0000084c + d * 0x0080)
451 # define NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y(d) (0x00000850 + d * 0x0080)
452 # define NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z(d) (0x00000854 + d * 0x0080)
453 # define NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C(d) (0x00000858 + d * 0x0080)
454 # define NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_X(d) (0x0000085c + d * 0x0080)
455 # define NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y(d) (0x00000860 + d * 0x0080)
456 # define NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z(d) (0x00000864 + d * 0x0080)
457 # define NV10_TCL_PRIMITIVE_3D_LIGHT_CONSTANT_ATTENUATION(d) (0x00000868 + d * 0x0080)
458 # define NV10_TCL_PRIMITIVE_3D_LIGHT_LINEAR_ATTENUATION(d) (0x0000086c + d * 0x0080)
459 # define NV10_TCL_PRIMITIVE_3D_LIGHT_QUADRATIC_ATTENUATION(d) (0x00000870 + d * 0x0080)
460 # define NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_X 0x00000c00
461 # define NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Y 0x00000c04
462 # define NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Z 0x00000c08
463 # define NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_X 0x00000c18
464 # define NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Y 0x00000c1c
465 # define NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Z 0x00000c20
466 # define NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_W 0x00000c24
467 # define NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_X 0x00000c30
468 # define NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Y 0x00000c34
469 # define NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Z 0x00000c38
470 # define NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY 0x00000c40 /* Parameters: y x */
471 # define NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z 0x00000c44 /* Parameters: z */
472 # define NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_R 0x00000c50
473 # define NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_G 0x00000c54
474 # define NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_B 0x00000c58
475 # define NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_A 0x00000c5c
476 # define NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_R 0x00000c60
477 # define NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_G 0x00000c64
478 # define NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_B 0x00000c68
479 # define NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I 0x00000c6c /* Parameters: a b g r */
480 # define NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_R 0x00000c80
481 # define NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_G 0x00000c84
482 # define NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_B 0x00000c88
483 # define NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I 0x00000c8c /* Parameters: a b g r */
484 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S 0x00000c90
485 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T 0x00000c94
486 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I 0x00000c98 /* Parameters: t s */
487 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_S 0x00000ca0
488 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_T 0x00000ca4
489 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_R 0x00000ca8
490 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_Q 0x00000cac
491 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST 0x00000cb0 /* Parameters: t s */
492 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ 0x00000cb4 /* Parameters: q r */
493 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S 0x00000cb8
494 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T 0x00000cbc
495 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I 0x00000cc0 /* Parameters: t s */
496 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_S 0x00000cc8
497 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_T 0x00000ccc
498 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_R 0x00000cd0
499 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_Q 0x00000cd4
500 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST 0x00000cd8 /* Parameters: t s */
501 # define NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ 0x00000cdc /* Parameters: q r */
502 # define NV10_TCL_PRIMITIVE_3D_VERTEX_FOG_1F 0x00000ce0
503 # define NV10_TCL_PRIMITIVE_3D_VERTEX_WGH_1F 0x00000ce4
504 # define NV10_TCL_PRIMITIVE_3D_EDGEFLAG_ENABLE 0x00000cec
505 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ATTR( d) (0x00000d04 + d * 0x0008) /* Parameters: stride fields type */
506 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_VALIDATE 0x00000cf0
507 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_POS 0x00000d00
508 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS 0x00000d04 /* Parameters: stride fields type */
509 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_COL 0x00000d08
510 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL 0x00000d0c /* Parameters: stride fields type */
511 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_COL2 0x00000d10
512 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2 0x00000d14 /* Parameters: stride fields type */
513 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_TX0 0x00000d18
514 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0 0x00000d1c /* Parameters: stride fields type */
515 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_TX1 0x00000d20
516 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1 0x00000d24 /* Parameters: stride fields type */
517 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_NOR 0x00000d28
518 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR 0x00000d2c /* Parameters: stride fields type */
519 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_WGH 0x00000d30
520 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH 0x00000d34 /* Parameters: stride fields type */
521 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_FOG 0x00000d38
522 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG 0x00000d3c /* Parameters: stride fields type */
523 # define NV10_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE 0x00000d40
524 # define NV10_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP 0x00000d44
525 # define NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_PITCH 0x00000d5c /* Parameters: pitch */
526 # define NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_OFFSET 0x00000d60
527 # define NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_FILL_VALUE 0x00000d68
528 # define NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_CLEAR_ENABLE 0x00000d6c
529 # define NV10_TCL_PRIMITIVE_3D_BEGIN_END 0x00000dfc
530 # define NV10_TCL_PRIMITIVE_3D_INDEX_DATA 0x00000e00 /* Parameters: index1 index0 */
531 # define NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END 0x000013fc
532 # define NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS 0x00001400 /* Parameters: count-1 first */
533 # define NV10_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_X 0x00001638
534 # define NV10_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_Y 0x0000163c
535 # define NV10_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_Z 0x00001640
536 # define NV10_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_W 0x00001644
537 # define NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_ENABLE 0x00001658
538 # define NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_DATA 0x00001800
539
540 /******************************************
541 Object NV10_IMAGE_FROM_CPU used on: NV10 NV15 NV20 NV30 NV40 G70
542 */
543 #define NV10_IMAGE_FROM_CPU 0x0000008a
544 # define NV10_IMAGE_FROM_CPU_SET_DMA_NOTIFY 0x00000180
545 # define NV10_IMAGE_FROM_CPU_SET_CONTEXT_CLIP_RECTANGLE 0x00000188
546 # define NV10_IMAGE_FROM_CPU_SET_IMAGE_PATTERN 0x0000018c
547 # define NV10_IMAGE_FROM_CPU_SET_RASTER_OP 0x00000190
548 # define NV10_IMAGE_FROM_CPU_SET_CONTEXT_SURFACES_2D 0x0000019c
549 # define NV10_IMAGE_FROM_CPU_OPERATION 0x000002fc
550 # define NV10_IMAGE_FROM_CPU_FORMAT 0x00000300
551 # define NV10_IMAGE_FROM_CPU_POINT 0x00000304 /* Parameters: x y */
552 # define NV10_IMAGE_FROM_CPU_SIZE_OUT 0x00000308 /* Parameters: width height */
553 # define NV10_IMAGE_FROM_CPU_SIZE_IN 0x0000030c /* Parameters: width height */
554 # define NV10_IMAGE_FROM_CPU_HLINE 0x00000400
555
556 /******************************************
557 Object NV10_PRIMITIVE_2D used on: NV10 NV15 NV20 NV30 NV40 G70
558 */
559 #define NV10_PRIMITIVE_2D 0x0000007b
560 # define NV10_PRIMITIVE_2D_SET_DMA_NOTIFY 0x00000180
561 # define NV10_PRIMITIVE_2D_SET_SURFACE 0x00000184
562 # define NV10_PRIMITIVE_2D_SET_FORMAT 0x00000300
563 # define NV10_PRIMITIVE_2D_SET_POINT 0x00000304 /* Parameters: x y */
564 # define NV10_PRIMITIVE_2D_SET_SIZE 0x00000308 /* Parameters: width height */
565 # define NV10_PRIMITIVE_2D_SET_CLIP_HORIZ 0x0000030c /* Parameters: width x */
566 # define NV10_PRIMITIVE_2D_SET_CLIP_VERT 0x00000310 /* Parameters: height y */
567 # define NV10_PRIMITIVE_2D_SET_DATA( d) (0x00000400 + d * 0x0004)
568
569 /******************************************
570 Object NV10_IMAGE_BLIT used on: NV10 NV15 NV20 NV30 NV40 G70
571 */
572 #define NV10_IMAGE_BLIT 0x0000009f
573 # define NV10_IMAGE_BLIT_NOP 0x00000100
574 # define NV10_IMAGE_BLIT_NOTIFY 0x00000104
575 # define NV10_IMAGE_BLIT_SET_DMA_NOTIFY 0x00000180
576 # define NV10_IMAGE_BLIT_SET_CONTEXT_CLIP_RECTANGLE 0x00000188
577 # define NV10_IMAGE_BLIT_SET_IMAGE_PATTERN 0x0000018c
578 # define NV10_IMAGE_BLIT_SET_RASTER_OP 0x00000190
579 # define NV10_IMAGE_BLIT_SET_CONTEXT_SURFACES_2D 0x0000019c
580 # define NV10_IMAGE_BLIT_SET_OPERATION 0x000002fc
581 # define NV10_IMAGE_BLIT_SET_POINT 0x00000300 /* Parameters: x y */
582 # define NV10_IMAGE_BLIT_SET_PITCH 0x00000304 /* Parameters: skip */
583 # define NV10_IMAGE_BLIT_SET_SIZE 0x00000308 /* Parameters: width height */
584
585 /******************************************
586 Object NV10_VIDEO_DISPLAY used on: NV10 NV15 NV20 NV30 NV40 G70
587 */
588 #define NV10_VIDEO_DISPLAY 0x0000007c
589 # define NV10_VIDEO_DISPLAY_COUNTER 0x00000050
590 # define NV10_VIDEO_DISPLAY_SET_DMA_FROM_MEMORY 0x00000180
591 # define NV10_VIDEO_DISPLAY_SET_DMA_IN_MEMORY0 0x00000184
592 # define NV10_VIDEO_DISPLAY_SET_DMA_IN_MEMORY1 0x00000188
593 # define NV10_VIDEO_DISPLAY_SET_OBJECT3 0x0000019c
594 # define NV10_VIDEO_DISPLAY_SIZE 0x000002f8 /* Parameters: height width */
595 # define NV10_VIDEO_DISPLAY_OFFSET 0x00000300
596
597 /******************************************
598 Object NV10_UNK0072 used on: NV10 NV15 NV20 NV40 G70
599 */
600 #define NV10_UNK0072 0x00000072
601 # define NV10_UNK0072_COUNTER 0x00000050
602 # define NV40_UNK0072_SET_OBJECT 0x00000060
603 # define NV10_UNK0072_SET_DMA_NOTIFY 0x00000180
604
605 /******************************************
606 Object NV10_SCALED_IMAGE_FROM_MEMORY used on: NV10 NV15 NV20 NV30 NV40 G70
607 */
608 #define NV10_SCALED_IMAGE_FROM_MEMORY 0x00000089
609 # define NV10_SCALED_IMAGE_FROM_MEMORY_COUNTER 0x00000050
610 # define NV10_SCALED_IMAGE_FROM_MEMORY_SET_DMA_IN_MEMORY 0x00000184
611 # define NV10_SCALED_IMAGE_FROM_MEMORY_SET_RASTER_OP 0x0000018c
612 # define NV10_SCALED_IMAGE_FROM_MEMORY_SET_IMAGE_PATTERN 0x00000188
613 # define NV10_SCALED_IMAGE_FROM_MEMORY_SET_SURFACE 0x00000198
614 # define NV10_SCALED_IMAGE_FROM_MEMORY_OPERATION 0x00000304
615 # define NV10_SCALED_IMAGE_FROM_MEMORY_CLIP_POS 0x00000308 /* Parameters: x y */
616 # define NV10_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE 0x0000030c /* Parameters: width height */
617 # define NV10_SCALED_IMAGE_FROM_MEMORY_OUT_POS 0x00000310 /* Parameters: x y */
618 # define NV10_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE 0x00000314 /* Parameters: width height */
619 # define NV10_SCALED_IMAGE_FROM_MEMORY_SIZE 0x00000400 /* Parameters: width height */
620 # define NV10_SCALED_IMAGE_FROM_MEMORY_FORMAT 0x00000404 /* Parameters: pitch */
621 # define NV10_SCALED_IMAGE_FROM_MEMORY_OFFSET 0x00000408
622 # define NV10_SCALED_IMAGE_FROM_MEMORY_POINT 0x0000040c /* Parameters: u_int u_frac*0x10 v_int v_frac*0x10 */
623
624 /******************************************
625 Object NV10_CONTEXT_SURFACES_2D used on: NV10 NV15 NV20 NV30 NV40 G70
626 */
627 #define NV10_CONTEXT_SURFACES_2D 0x00000062
628 # define NV10_CONTEXT_SURFACES_2D_SET_DMA_NOTIFY 0x00000180
629 # define NV10_CONTEXT_SURFACES_2D_SET_DMA_IN_MEMORY0 0x00000184
630 # define NV10_CONTEXT_SURFACES_2D_SET_DMA_IN_MEMORY1 0x00000188
631 # define NV10_CONTEXT_SURFACES_2D_FORMAT 0x00000300 /* Parameters: color type width height */
632 # define NV10_CONTEXT_SURFACES_2D_PITCH 0x00000304 /* Parameters: src dst */
633 # define NV10_CONTEXT_SURFACES_2D_OFFSET_SRC 0x00000308
634 # define NV10_CONTEXT_SURFACES_2D_OFFSET_DST 0x0000030c
635
636 /******************************************
637 Object NV04_CONTEXT_SURFACES_2D used on: NV04 NV10 NV15
638 */
639 #define NV04_CONTEXT_SURFACES_2D 0x00000042
640 # define NV04_CONTEXT_SURFACES_2D_NOTIFY 0x00000104
641 # define NV04_CONTEXT_SURFACES_2D_SET_DMA_NOTIFY 0x00000180
642 # define NV04_CONTEXT_SURFACES_2D_SET_DMA_IMAGE_SRC 0x00000184
643 # define NV04_CONTEXT_SURFACES_2D_SET_DMA_IMAGE_DST 0x00000188
644 # define NV04_CONTEXT_SURFACES_2D_FORMAT 0x00000300
645 # define NV04_CONTEXT_SURFACES_2D_PITCH 0x00000304 /* Parameters: src dst */
646 # define NV04_CONTEXT_SURFACES_2D_OFFSET_SRC 0x00000308
647 # define NV04_CONTEXT_SURFACES_2D_OFFSET_DST 0x0000030c
648
649 /******************************************
650 Object NV04_IMAGE_PATTERN used on: NV04 NV10 NV15 NV20 NV30 NV40 G70
651 */
652 #define NV04_IMAGE_PATTERN 0x00000044
653 # define NV04_IMAGE_PATTERN_COLOR_FORMAT 0x00000300
654 # define NV04_IMAGE_PATTERN_MONO_FORMAT 0x00000304
655 # define NV04_IMAGE_PATTERN_SELECT 0x0000030c
656 # define NV04_IMAGE_PATTERN_MONOCHROME_SHAPE 0x00000308
657 # define NV04_IMAGE_PATTERN_MONOCHROME_COLOR0 0x00000310
658 # define NV04_IMAGE_PATTERN_MONOCHROME_COLOR1 0x00000314
659 # define NV04_IMAGE_PATTERN_MONOCHROME_PATTERN0 0x00000318
660 # define NV04_IMAGE_PATTERN_MONOCHROME_PATTERN1 0x0000031c
661
662 /******************************************
663 Object NV20_SWIZZLED_SURFACE used on: NV20 NV30 NV40 G70
664 */
665 #define NV20_SWIZZLED_SURFACE 0x0000009e
666 # define NV20_SWIZZLED_SURFACE_SET_OBJECT0 0x00000180
667 # define NV20_SWIZZLED_SURFACE_SET_OBJECT1 0x00000184
668 # define NV20_SWIZZLED_SURFACE_FORMAT 0x00000300 /* Parameters: log2(height) log2(width) color */
669 # define NV20_SWIZZLED_SURFACE_OFFSET 0x00000304
670
671 /******************************************
672 Object NV20_TCL_PRIMITIVE_3D used on: NV20
673 */
674 #define NV20_TCL_PRIMITIVE_3D 0x00000097
675 # define NV20_TCL_PRIMITIVE_3D_NOP 0x00000100
676 # define NV20_TCL_PRIMITIVE_3D_NOTIFY 0x00000104
677 # define NV20_TCL_PRIMITIVE_3D_SET_OBJECT0 0x00000180
678 # define NV20_TCL_PRIMITIVE_3D_SET_OBJECT1 0x00000184
679 # define NV20_TCL_PRIMITIVE_3D_SET_OBJECT2 0x00000188
680 # define NV20_TCL_PRIMITIVE_3D_SET_OBJECT3 0x00000194
681 # define NV20_TCL_PRIMITIVE_3D_SET_OBJECT4 0x00000198
682 # define NV20_TCL_PRIMITIVE_3D_SET_OBJECT5 0x0000019c
683 # define NV20_TCL_PRIMITIVE_3D_SET_OBJECT6 0x000001a0
684 # define NV20_TCL_PRIMITIVE_3D_SET_OBJECT7 0x000001a4
685 # define NV20_TCL_PRIMITIVE_3D_SET_OBJECT8 0x000001a8
686 # define NV20_TCL_PRIMITIVE_3D_SET_OBJECT9 0x000001ac
687 # define NV20_TCL_PRIMITIVE_3D_SET_OBJECT10 0x000001b0
688 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ 0x00000200 /* Parameters: width x */
689 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_VERT 0x00000204 /* Parameters: height y */
690 # define NV20_TCL_PRIMITIVE_3D_BUFFER_FORMAT 0x00000208 /* Parameters: type color */
691 # define NV20_TCL_PRIMITIVE_3D_BUFFER_PITCH 0x0000020c /* Parameters: depth/stencil buffer pitch color buffer pitch */
692 # define NV20_TCL_PRIMITIVE_3D_COLOR_OFFSET 0x00000210
693 # define NV20_TCL_PRIMITIVE_3D_DEPTH_OFFSET 0x00000214
694 # define NV20_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_PITCH 0x0000022c /* Parameters: pitch */
695 # define NV20_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_OFFSET 0x00000230
696 # define NV20_TCL_PRIMITIVE_3D_LIGHT_CONTROL 0x00000294
697 # 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 */
698 # define NV20_TCL_PRIMITIVE_3D_FOG_MODE 0x0000029c
699 # define NV20_TCL_PRIMITIVE_3D_FOG_COORD_DIST 0x000002a0
700 # define NV20_TCL_PRIMITIVE_3D_FOG_ENABLE 0x000002a4
701 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(d) (0x000002c0 + d * 0x0004) /* Parameters: x2 x1 */
702 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(d) (0x000002e0 + d * 0x0004) /* Parameters: y2 y1 */
703 # define NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE 0x00000300
704 # define NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE 0x00000304
705 # define NV20_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE 0x00000308
706 # define NV20_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE 0x0000030c
707 # define NV20_TCL_PRIMITIVE_3D_DITHER_ENABLE 0x00000310
708 # define NV20_TCL_PRIMITIVE_3D_LIGHTING_ENABLE 0x00000314
709 # define NV20_TCL_PRIMITIVE_3D_POINT_SMOOTH_ENABLE 0x0000031c
710 # define NV20_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE 0x00000318
711 # define NV20_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE 0x00000320
712 # define NV20_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE 0x00000324
713 # define NV20_TCL_PRIMITIVE_3D_STENCIL_ENABLE 0x0000032c
714 # define NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE 0x00000330
715 # define NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE 0x00000334
716 # define NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE 0x00000338
717 # define NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC 0x0000033c
718 # define NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF 0x00000340
719 # define NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC 0x00000344
720 # define NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST 0x00000348
721 # define NV20_TCL_PRIMITIVE_3D_BLEND_COLOR 0x0000034c /* Parameters: a r g b */
722 # define NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION 0x00000350
723 # define NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC 0x00000354
724 # define NV20_TCL_PRIMITIVE_3D_COLOR_MASK 0x00000358 /* Parameters: a r g b */
725 # define NV20_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE 0x0000035c
726 # define NV20_TCL_PRIMITIVE_3D_STENCIL_MASK 0x00000360
727 # define NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC 0x00000364
728 # define NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_REF 0x00000368
729 # define NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_MASK 0x0000036c
730 # define NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL 0x00000370
731 # define NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL 0x00000374
732 # define NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS 0x00000378
733 # define NV20_TCL_PRIMITIVE_3D_SHADE_MODEL 0x0000037c
734 # define NV20_TCL_PRIMITIVE_3D_LINE_WIDTH 0x00000380
735 # define NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR 0x00000384
736 # define NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS 0x00000388
737 # define NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT 0x0000038c
738 # define NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK 0x00000390
739 # define NV20_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR 0x00000394
740 # define NV20_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR 0x00000398
741 # define NV20_TCL_PRIMITIVE_3D_CULL_FACE 0x0000039c
742 # define NV20_TCL_PRIMITIVE_3D_FRONT_FACE 0x000003a0
743 # define NV20_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE 0x000003a4
744 # define NV20_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_R 0x000003a8
745 # define NV20_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_G 0x000003ac
746 # define NV20_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_B 0x000003b0
747 # define NV20_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_A 0x000003b4
748 # define NV20_TCL_PRIMITIVE_3D_SEPARATE_SPECULAR_ENABLE 0x000003b8
749 # 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 */
750 # define NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(d) (0x000003c0 + d * 0x0004)
751 # define NV20_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(d) (0x00000420 + d * 0x0004)
752 # define NV20_TCL_PRIMITIVE_3D_POINT_SIZE 0x0000043c
753 # define NV20_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX( d) (0x00000480 + d * 0x0004)
754 # define NV20_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW_MATRIX( d) (0x00000580 + d * 0x0004)
755 # define NV20_TCL_PRIMITIVE_3D_PROJECTION_MATRIX( d) (0x00000680 + d * 0x0004)
756 # define NV20_TCL_PRIMITIVE_3D_TX_MATRIX(x,y) (0x000006c0 + y * 0x0010 + x * 0x0004)
757 # define NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_A(d) (0x00000840 + d * 0x0010)
758 # define NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_B(d) (0x00000844 + d * 0x0010)
759 # define NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_C(d) (0x00000848 + d * 0x0010)
760 # define NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_D(d) (0x0000084c + d * 0x0010)
761 # define NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT 0x000009c0
762 # define NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR 0x000009c4
763 # define NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC 0x000009c8
764 # define NV20_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_A 0x000009e0
765 # define NV20_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_B 0x000009e4
766 # define NV20_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_C 0x000009e8
767 # define NV20_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_D 0x000009ec
768 # define NV20_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_E 0x000009f0
769 # define NV20_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_F 0x000009f4
770 # define NV20_TCL_PRIMITIVE_3D_POINT_SPRITE 0x00000a1c /* Parameters: coord_replace r_mode enable */
771 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_OX 0x00000a20
772 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_OY 0x00000a24
773 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_DEPTH_AVG_S 0x00000a28
774 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_UNKNOWN_A 0x00000a2c
775 # define NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_A 0x00000a30
776 # define NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_B 0x00000a34
777 # define NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_C 0x00000a38
778 # define NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_D 0x00000a3c
779 # define NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_E 0x00000a40
780 # define NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_F 0x00000a44
781 # define NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_G 0x00000a48
782 # define NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER_H 0x00000a4c
783 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_PX_DIV2 0x00000af0
784 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_PY_DIV2 0x00000af4
785 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_DEPTH_HALF_S 0x00000af8
786 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_UNKNOWN_B 0x00000afc
787 # define NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST0 0x00000b00
788 # define NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST1 0x00000b04
789 # define NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST2 0x00000b08
790 # define NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST3 0x00000b0c
791 # define NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_X 0x00000b80
792 # define NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_Y 0x00000b84
793 # define NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_Z 0x00000b88
794 # define NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_W 0x00000b8c
795 # define NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_ID 0x00001ea4
796 # define NV20_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R 0x00000a10
797 # define NV20_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G 0x00000a14
798 # define NV20_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B 0x00000a18
799 # define NV20_TCL_PRIMITIVE_3D_TX_OFFSET(d) (0x00001b00 + d * 0x0040)
800 # define NV20_TCL_PRIMITIVE_3D_TX_FORMAT(d) (0x00001b04 + d * 0x0040) /* Parameters: log2(height) log2(width) lod format cube_map */
801 # define NV20_TCL_PRIMITIVE_3D_TX_WRAP(d) (0x00001b08 + d * 0x0040) /* Parameters: wrap_s wrap_t wrap_r */
802 # define NV20_TCL_PRIMITIVE_3D_TX_ENABLE(d) (0x00001b0c + d * 0x0040) /* Parameters: enable anisotropy */
803 # define NV20_TCL_PRIMITIVE_3D_TX_NPOT_PITCH(d) (0x00001b10 + d * 0x0040) /* Parameters: pitch */
804 # define NV20_TCL_PRIMITIVE_3D_TX_FILTER(d) (0x00001b14 + d * 0x0040) /* Parameters: mag_filter min_filter */
805 # define NV20_TCL_PRIMITIVE_3D_TX_NPOT_SIZE(d) (0x00001b1c + d * 0x0040) /* Parameters: width height */
806 # define NV20_TCL_PRIMITIVE_3D_TX_PALETTE_OFFSET(d) (0x00001b20 + d * 0x0040)
807 # define NV20_TCL_PRIMITIVE_3D_RC_ENABLE 0x00001e60 /* Parameters: number of rc enabled */
808 # define NV20_TCL_PRIMITIVE_3D_TX_SHADER_OP 0x00001e70 /* Parameters: op0 op1 op2 op3 */
809 # define NV20_TCL_PRIMITIVE_3D_TX_SHADER_CULL_MODE 0x000017f8 /* Parameters: cull0 cull1 cull2 cull3 */
810 # define NV20_TCL_PRIMITIVE_3D_TX_SHADER_PREVIOUS 0x00001e78 /* Parameters: prev2 prev3 */
811 # define NV20_TCL_PRIMITIVE_3D_RC_COLOR0 0x00001e20 /* Parameters: a r g b */
812 # define NV20_TCL_PRIMITIVE_3D_RC_COLOR1 0x00001e24 /* Parameters: a r g b */
813 # 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 */
814 # 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 */
815 # 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 */
816 # 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 */
817 # define NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0(d) (0x00000a60 + d * 0x0004) /* Parameters: a r g b */
818 # define NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1(d) (0x00000a80 + d * 0x0004) /* Parameters: a r g b */
819 # 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 */
820 # 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 */
821 # define NV20_TCL_PRIMITIVE_3D_LIGHT_POSITION_X(d) (0x0000105c + d * 0x0080)
822 # define NV20_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y(d) (0x00001060 + d * 0x0080)
823 # define NV20_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z(d) (0x00001064 + d * 0x0080)
824 # define NV20_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X(d) (0x00001028 + d * 0x0080)
825 # define NV20_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y(d) (0x0000102c + d * 0x0080)
826 # define NV20_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z(d) (0x00001030 + d * 0x0080)
827 # define NV20_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X(d) (0x00001034 + d * 0x0080)
828 # define NV20_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y(d) (0x00001038 + d * 0x0080)
829 # define NV20_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z(d) (0x0000103c + d * 0x0080)
830 # define NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(d) (0x00001000 + d * 0x0080)
831 # define NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(d) (0x00001004 + d * 0x0080)
832 # define NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(d) (0x00001008 + d * 0x0080)
833 # define NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(d) (0x0000100c + d * 0x0080)
834 # define NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(d) (0x00001010 + d * 0x0080)
835 # define NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(d) (0x00001014 + d * 0x0080)
836 # define NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(d) (0x00001018 + d * 0x0080)
837 # define NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(d) (0x0000101c + d * 0x0080)
838 # define NV20_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(d) (0x00001020 + d * 0x0080)
839 # define NV20_TCL_PRIMITIVE_3D_LIGHT_BACK_SIDE_PRODUCT_AMBIENT(d) (0x00000c00 + d * 0x0040)
840 # define NV20_TCL_PRIMITIVE_3D_LIGHT_BACK_SIDE_PRODUCT_DIFFUSE(d) (0x00000c0c + d * 0x0040)
841 # define NV20_TCL_PRIMITIVE_3D_LIGHT_BACK_SIDE_PRODUCT_SPECULAR(d) (0x00000c18 + d * 0x0040)
842 # define NV20_TCL_PRIMITIVE_3D_LIGHT_CONSTANT_ATTENUATION(d) (0x00001068 + d * 0x0080)
843 # define NV20_TCL_PRIMITIVE_3D_LIGHT_LINEAR_ATTENUATION(d) (0x0000106c + d * 0x0080)
844 # define NV20_TCL_PRIMITIVE_3D_LIGHT_QUADRATIC_ATTENUATION(d) (0x00001070 + d * 0x0080)
845 # define NV20_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A(d) (0x00001040 + d * 0x0080)
846 # define NV20_TCL_PRIMITIVE_3D_LIGHT_SPOT_EXPONENT(d) (0x00001044 + d * 0x0080)
847 # define NV20_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B(d) (0x00001048 + d * 0x0080)
848 # define NV20_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X(d) (0x0000104c + d * 0x0080)
849 # define NV20_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y(d) (0x00001050 + d * 0x0080)
850 # define NV20_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z(d) (0x00001054 + d * 0x0080)
851 # define NV20_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C(d) (0x00001058 + d * 0x0080)
852 # define NV20_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS_A 0x00001e28
853 # define NV20_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS_B 0x00001e2c
854 # define NV20_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS_C 0x00001e30
855 # define NV20_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS_D 0x00001e34
856 # define NV20_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS_E 0x00001e38
857 # define NV20_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS_F 0x00001e3c
858 # define NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_ENABLE 0x0000147c
859 # define NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN(d) (0x00001480 + d * 0x0004)
860 # define NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_X 0x00001500
861 # define NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Y 0x00001504
862 # define NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Z 0x00001508
863 # define NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_X 0x00001518
864 # define NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Y 0x0000151c
865 # define NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Z 0x00001520
866 # define NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_W 0x00001524
867 # define NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY 0x00001528 /* Parameters: y x */
868 # define NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW 0x0000152c /* Parameters: w z */
869 # define NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_X 0x00001530
870 # define NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Y 0x00001534
871 # define NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Z 0x00001538
872 # define NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY 0x00001540 /* Parameters: y x */
873 # define NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z 0x00001544 /* Parameters: z */
874 # define NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_R 0x00001550
875 # define NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_G 0x00001554
876 # define NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_B 0x00001558
877 # define NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_A 0x0000155c
878 # define NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_R 0x00001560
879 # define NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_G 0x00001564
880 # define NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_B 0x00001568
881 # define NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I 0x0000156c /* Parameters: a b g r */
882 # define NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_R 0x00001580
883 # define NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_G 0x00001584
884 # define NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_B 0x00001588
885 # define NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3I 0x0000158c /* Parameters: a b g r */
886 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S 0x00001590
887 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T 0x00001594
888 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I 0x00001598 /* Parameters: t s */
889 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_S 0x000015a0
890 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_T 0x000015a4
891 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_R 0x000015a8
892 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_Q 0x000015ac
893 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST 0x000015b0 /* Parameters: t s */
894 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ 0x000015b4 /* Parameters: q r */
895 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S 0x000015b8
896 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T 0x000015bc
897 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I 0x000015c0 /* Parameters: t s */
898 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_S 0x000015c8
899 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_T 0x000015cc
900 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_R 0x000015d0
901 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_Q 0x000015d4
902 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST 0x000015d8 /* Parameters: t s */
903 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ 0x000015dc /* Parameters: q r */
904 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_S 0x000015e0
905 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_T 0x000015e4
906 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I 0x000015e8 /* Parameters: t s */
907 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_S 0x000015f0
908 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_T 0x000015f4
909 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_R 0x000015f8
910 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_Q 0x000015fc
911 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST 0x00001600 /* Parameters: t s */
912 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ 0x00001604 /* Parameters: q r */
913 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_S 0x00001608
914 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_T 0x0000160c
915 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I 0x00001610 /* Parameters: t s */
916 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_S 0x00001620
917 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_T 0x00001624
918 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_R 0x00001628
919 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_Q 0x0000162c
920 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST 0x00001630 /* Parameters: t s */
921 # define NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ 0x00001634 /* Parameters: q r */
922 # define NV20_TCL_PRIMITIVE_3D_VERTEX_FOG_1F 0x00001698
923 # define NV20_TCL_PRIMITIVE_3D_EDGE_FLAG 0x000016bc
924 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR0_POS 0x00001720 /* Parameters: enabled? offset */
925 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR1_WGH 0x00001724 /* Parameters: enabled? offset */
926 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR2_NOR 0x00001728 /* Parameters: enabled? offset */
927 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR3_COL 0x0000172c /* Parameters: enabled? offset */
928 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR4_COL2 0x00001730 /* Parameters: enabled? offset */
929 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR5_FOG 0x00001734 /* Parameters: enabled? offset */
930 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR6 0x00001738 /* Parameters: enabled? offset */
931 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR7 0x0000173c /* Parameters: enabled? offset */
932 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR8_TX0 0x00001740 /* Parameters: enabled? offset */
933 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR9_TX1 0x00001744 /* Parameters: enabled? offset */
934 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR10_TX2 0x00001748 /* Parameters: enabled? offset */
935 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR11_TX3 0x0000174c /* Parameters: enabled? offset */
936 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR12_TX4 0x00001750 /* Parameters: enabled? offset */
937 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR13_TX5 0x00001754 /* Parameters: enabled? offset */
938 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR14_TX6 0x00001758 /* Parameters: enabled? offset */
939 # define NV20_TCL_PRIMITIVE_3D_VB_POINTER_ATTR15_TX7 0x0000175c /* Parameters: enabled? offset */
940 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR( d) (0x00001760 + d * 0x0004)
941 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR0_POS 0x00001760 /* Parameters: stride fields type */
942 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR1_WGH 0x00001764 /* Parameters: stride fields type */
943 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR2_NOR 0x00001768 /* Parameters: stride fields type */
944 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR3_COL 0x0000176c /* Parameters: stride fields type */
945 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR4_COL2 0x00001770 /* Parameters: stride fields type */
946 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR5_FOG 0x00001774 /* Parameters: stride fields type */
947 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR6 0x00001778 /* Parameters: stride fields type */
948 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR7 0x0000177c /* Parameters: stride fields type */
949 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR8_TX0 0x00001780 /* Parameters: stride fields type */
950 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR9_TX1 0x00001784 /* Parameters: stride fields type */
951 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR10_TX2 0x00001788 /* Parameters: stride fields type */
952 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR11_TX3 0x0000178c /* Parameters: stride fields type */
953 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR12_TX4 0x00001790 /* Parameters: stride fields type */
954 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR13_TX5 0x00001794 /* Parameters: stride fields type */
955 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR14_TX6 0x00001798 /* Parameters: stride fields type */
956 # define NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR15_TX7 0x0000179c /* Parameters: stride fields type */
957 # define NV20_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R 0x000017a0
958 # define NV20_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G 0x000017a4
959 # define NV20_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B 0x000017a8
960 # define NV20_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_A 0x000017ac
961 # define NV20_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_R 0x000017b0
962 # define NV20_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_G 0x000017b4
963 # define NV20_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_B 0x000017b8
964 # define NV20_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE 0x000017bc
965 # define NV20_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP 0x000017c0
966 # define NV20_TCL_PRIMITIVE_3D_LIGHT_MODEL_TWO_SIDE_ENABLE 0x000017c4
967 # define NV20_TCL_PRIMITIVE_3D_BEGIN_END 0x000017fc
968 # define NV20_TCL_PRIMITIVE_3D_SCISSOR_X2_X1 0x00001c30 /* Parameters: x2 x1 */
969 # define NV20_TCL_PRIMITIVE_3D_SCISSOR_Y2_Y1 0x00001c50 /* Parameters: y2 y1 */
970 # define NV20_TCL_PRIMITIVE_3D_CLEAR_VALUE_DEPTH 0x00001d8c
971 # define NV20_TCL_PRIMITIVE_3D_CLEAR_VALUE_ARGB 0x00001d90
972 # define NV20_TCL_PRIMITIVE_3D_CLEAR_WHICH_BUFFERS 0x00001d94 /* Parameters: clear color a clear color b clear color g clear color r clear depth clear stencil */
973 # define NV20_TCL_PRIMITIVE_3D_INDEX_DATA 0x00001800 /* Parameters: index1 index0 */
974 # define NV20_TCL_PRIMITIVE_3D_VB_VERTEX_BATCH 0x00001810 /* Parameters: count_vertices offset_vertices */
975 # define NV20_TCL_PRIMITIVE_3D_VERTEX_DATA 0x00001818
976 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_X 0x00001f00
977 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_Y 0x00001f04
978 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_Z 0x00001f08
979 # define NV20_TCL_PRIMITIVE_3D_VIEWPORT_ORIGIN_W 0x00001f0c
980
981 /******************************************
982 Object NV30_TCL_PRIMITIVE_3D used on: NV30 NV40 G70
983 */
984 #define NV30_TCL_PRIMITIVE_3D 0x00000097
985 # define NV30_TCL_PRIMITIVE_3D_SET_OBJECT0 0x00000180
986 # define NV30_TCL_PRIMITIVE_3D_SET_OBJECT1 0x00000184
987 # define NV30_TCL_PRIMITIVE_3D_SET_OBJECT2 0x00000188
988 # define NV30_TCL_PRIMITIVE_3D_SET_OBJECT3 0x0000018c
989 # define NV30_TCL_PRIMITIVE_3D_SET_OBJECT4 0x00000194
990 # define NV30_TCL_PRIMITIVE_3D_SET_OBJECT5 0x00000198
991 # define NV30_TCL_PRIMITIVE_3D_SET_OBJECT6 0x000001a4
992 # define NV30_TCL_PRIMITIVE_3D_SET_OBJECT7 0x000001a8
993 # define NV30_TCL_PRIMITIVE_3D_SET_OBJECT8 0x000001ac
994 # define NV30_TCL_PRIMITIVE_3D_SET_OBJECT9 0x000001b4
995 # define NV30_TCL_PRIMITIVE_3D_SET_OBJECT10 0x000001b8
996 # define NV30_TCL_PRIMITIVE_3D_SET_VB_SRC0_OBJECT 0x0000019c
997 # define NV30_TCL_PRIMITIVE_3D_SET_VB_SRC1_OBJECT 0x000001a0
998 # define NV30_TCL_PRIMITIVE_3D_BUFFER0_PITCH 0x0000020c /* Parameters: depth/stencil buffer pitch color0 buffer pitch */
999 # define NV30_TCL_PRIMITIVE_3D_COLOR0_OFFSET 0x00000210
1000 # define NV30_TCL_PRIMITIVE_3D_DEPTH_OFFSET 0x00000214
1001 # define NV30_TCL_PRIMITIVE_3D_COLOR1_OFFSET 0x00000218
1002 # define NV30_TCL_PRIMITIVE_3D_BUFFER1_PITCH 0x0000021c /* Parameters: color1 buffer pitch */
1003 # define NV30_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_PITCH 0x0000022c /* Parameters: pitch */
1004 # define NV30_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_OFFSET 0x00000230
1005 # define NV30_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(d) (0x00000240 + d * 0x0004)
1006 # define NV30_TCL_PRIMITIVE_3D_BUFFER2_PITCH 0x00000280
1007 # define NV30_TCL_PRIMITIVE_3D_BUFFER3_PITCH 0x00000284
1008 # define NV30_TCL_PRIMITIVE_3D_BUFFER2_OFFSET 0x00000288
1009 # define NV30_TCL_PRIMITIVE_3D_BUFFER3_OFFSET 0x0000028c
1010 # define NV30_TCL_PRIMITIVE_3D_DITHER_ENABLE 0x00000300
1011 # define NV30_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE 0x00000304
1012 # define NV30_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC 0x00000308
1013 # define NV30_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF 0x0000030c
1014 # define NV30_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE 0x00000310
1015 # define NV30_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC 0x00000314
1016 # define NV30_TCL_PRIMITIVE_3D_BLEND_FUNC_DST 0x00000318
1017 # define NV30_TCL_PRIMITIVE_3D_BLEND_COLOR 0x0000031c /* Parameters: a r g b */
1018 # define NV30_TCL_PRIMITIVE_3D_BLEND_EQUATION 0x00000320
1019 # define NV30_TCL_PRIMITIVE_3D_COLOR_MASK 0x00000324 /* Parameters: a r g b */
1020 # define NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_ENABLE 0x00000328
1021 # define NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_MASK 0x0000032c
1022 # define NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC 0x00000330
1023 # define NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_REF 0x00000334
1024 # define NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_MASK 0x00000338
1025 # define NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL 0x0000033c
1026 # define NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL 0x00000340
1027 # define NV30_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS 0x00000344
1028 # define NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_ENABLE 0x00000348
1029 # define NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_MASK 0x0000034c
1030 # define NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC 0x00000350
1031 # define NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_REF 0x00000354
1032 # define NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_MASK 0x00000358
1033 # define NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL 0x0000035c
1034 # define NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL 0x00000360
1035 # define NV30_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS 0x00000364
1036 # define NV30_TCL_PRIMITIVE_3D_SHADE_MODEL 0x00000368
1037 # define NV30_TCL_PRIMITIVE_3D_FOG_ENABLE 0x0000036c
1038 # define NV30_TCL_PRIMITIVE_3D_FOG_COLOR 0x00000370
1039 # 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 */
1040 # define NV30_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE 0x0000037c
1041 # define NV30_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR 0x00000394
1042 # define NV30_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR 0x00000398
1043 # define NV30_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_R 0x000003a0
1044 # define NV30_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_G 0x000003a4
1045 # define NV30_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_B 0x000003a8
1046 # define NV30_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_A 0x000003b4
1047 # define NV30_TCL_PRIMITIVE_3D_LINE_WIDTH_SMOOTH 0x000003b8
1048 # define NV30_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE 0x000003bc
1049 # define NV30_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(d) (0x00000400 + d * 0x0004)
1050 # define NV30_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX( d) (0x00000480 + d * 0x0004)
1051 # define NV30_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW_MATRIX( d) (0x00000580 + d * 0x0004)
1052 # define NV30_TCL_PRIMITIVE_3D_PROJECTION_MATRIX( d) (0x00000680 + d * 0x0004)
1053 # define NV30_TCL_PRIMITIVE_3D_TX_MATRIX(x,y) (0x000006c0 + y * 0x0010 + x * 0x0004)
1054 # define NV30_TCL_PRIMITIVE_3D_FP_ACTIVE_PROGRAM 0x000008e4
1055 # define NV30_TCL_PRIMITIVE_3D_FOG_COORD_DIST 0x000008c8
1056 # define NV30_TCL_PRIMITIVE_3D_FOG_MODE 0x000008cc
1057 # define NV30_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT 0x000008d0
1058 # define NV30_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR 0x000008d4
1059 # define NV30_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC 0x000008d8
1060 # define NV30_TCL_PRIMITIVE_3D_RC_COLOR0 0x000008ec /* Parameters: a r g b */
1061 # define NV30_TCL_PRIMITIVE_3D_RC_COLOR1 0x000008f0 /* Parameters: a r g b */
1062 # 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 */
1063 # 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 */
1064 # define NV30_TCL_PRIMITIVE_3D_RC_ENABLE 0x000008fc /* Parameters: number of rc enabled */
1065 # define NV30_TCL_PRIMITIVE_3D_RC_IN_ALPHA(d) (0x00000900 + d * 0x0020) /* 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 */
1066 # define NV30_TCL_PRIMITIVE_3D_RC_IN_RGB(d) (0x00000904 + d * 0x0020) /* 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 */
1067 # define NV30_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0(d) (0x00000908 + d * 0x0020) /* Parameters: a r g b */
1068 # define NV30_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1(d) (0x0000090c + d * 0x0020) /* Parameters: a r g b */
1069 # define NV30_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(d) (0x00000910 + d * 0x0020) /* Parameters: scale bias mux_sum ab_dot_product cd_dot_product sum_output ab_output cd_output */
1070 # define NV30_TCL_PRIMITIVE_3D_RC_OUT_RGB(d) (0x00000914 + d * 0x0020) /* Parameters: scale bias mux_sum ab_dot_product cd_dot_product sum_output ab_output cd_output */
1071 # define NV30_TCL_PRIMITIVE_3D_VIEWPORT_COLOR_BUFFER_DIM0 0x00000200 /* Parameters: width x_offset */
1072 # define NV30_TCL_PRIMITIVE_3D_VIEWPORT_COLOR_BUFFER_DIM1 0x00000204 /* Parameters: height y_offset */
1073 # define NV30_TCL_PRIMITIVE_3D_VIEWPORT_COLOR_BUFFER_OFS0 0x000002c0 /* Parameters: width x_offset */
1074 # define NV30_TCL_PRIMITIVE_3D_VIEWPORT_COLOR_BUFFER_OFS1 0x000002c4 /* Parameters: height y_offset */
1075 # define NV30_TCL_PRIMITIVE_3D_VIEWPORT_DIMS_0 0x00000a00 /* Parameters: width x_offset */
1076 # define NV30_TCL_PRIMITIVE_3D_VIEWPORT_DIMS_1 0x00000a04 /* Parameters: height y_offset */
1077 # define NV30_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R 0x00000a10
1078 # define NV30_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G 0x00000a14
1079 # define NV30_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B 0x00000a18
1080 # define NV30_TCL_PRIMITIVE_3D_SCISSOR_WIDTH_XPOS 0x000008c0 /* Parameters: width x_offset */
1081 # define NV30_TCL_PRIMITIVE_3D_SCISSOR_HEIGHT_YPOS 0x000008c4 /* Parameters: height y_offset */
1082 # define NV30_TCL_PRIMITIVE_3D_POINT_SPRITE 0x00001ee8 /* Parameters: coord_replace r_mode enable */
1083 # define NV30_TCL_PRIMITIVE_3D_POINT_SIZE 0x00001ee0
1084 # define NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_A 0x00001ec0
1085 # define NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_B 0x00001ec4
1086 # define NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_C 0x00001ec8
1087 # define NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_D 0x00001ecc
1088 # define NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_E 0x00001ed0
1089 # define NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_F 0x00001ed4
1090 # define NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_G 0x00001ed8
1091 # define NV30_TCL_PRIMITIVE_3D_POINT_PARAMETER_H 0x00001edc
1092 # define NV30_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE 0x00001ee4
1093 # define NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_OX 0x00000a20
1094 # define NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_OY 0x00000a24
1095 # define NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_NPF_DIV2 0x00000a28
1096 # define NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_UNK0_0x0 0x00000a2c
1097 # define NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_PX_DIV2 0x00000a30
1098 # define NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_PY_DIV2 0x00000a34
1099 # define NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_FMN_DIV2 0x00000a38
1100 # define NV30_TCL_PRIMITIVE_3D_VIEWPORT_XFRM_UNK1_0x0 0x00000a3c
1101 # define NV30_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE 0x00000a60
1102 # define NV30_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE 0x00000a64
1103 # define NV30_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE 0x00000a68
1104 # define NV30_TCL_PRIMITIVE_3D_DEPTH_FUNC 0x00000a6c
1105 # define NV30_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE 0x00000a70
1106 # define NV30_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE 0x00000a74
1107 # define NV30_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR 0x00000a78
1108 # define NV30_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS 0x00000a7c
1109 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_INST0 0x00000b80
1110 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_INST1 0x00000b84
1111 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_INST2 0x00000b88
1112 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_INST3 0x00000b8c
1113 # define NV30_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_R 0x000017b0
1114 # define NV30_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_G 0x000017b4
1115 # define NV30_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_B 0x000017b8
1116 # define NV30_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_A 0x000017c0
1117 # define NV30_TCL_PRIMITIVE_3D_OCC_QUERY_OR_COLOR_BUFF_ENABLE 0x000017c8
1118 # define NV30_TCL_PRIMITIVE_3D_STORE_RESULT 0x00001800
1119 # define NV30_TCL_PRIMITIVE_3D_CLIP_PLANE_A(d) (0x00000e00 + d * 0x0010)
1120 # define NV30_TCL_PRIMITIVE_3D_CLIP_PLANE_B(d) (0x00000e04 + d * 0x0010)
1121 # define NV30_TCL_PRIMITIVE_3D_CLIP_PLANE_C(d) (0x00000e08 + d * 0x0010)
1122 # define NV30_TCL_PRIMITIVE_3D_CLIP_PLANE_D(d) (0x00000e0c + d * 0x0010)
1123 # define NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(d) (0x00001000 + d * 0x0040)
1124 # define NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(d) (0x00001004 + d * 0x0040)
1125 # define NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(d) (0x00001008 + d * 0x0040)
1126 # define NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(d) (0x0000100c + d * 0x0040)
1127 # define NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(d) (0x00001010 + d * 0x0040)
1128 # define NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(d) (0x00001014 + d * 0x0040)
1129 # define NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(d) (0x00001018 + d * 0x0040)
1130 # define NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(d) (0x0000101c + d * 0x0040)
1131 # define NV30_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(d) (0x00001020 + d * 0x0040)
1132 # define NV30_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X(d) (0x00001028 + d * 0x0080)
1133 # define NV30_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y(d) (0x0000102c + d * 0x0080)
1134 # define NV30_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z(d) (0x00001030 + d * 0x0080)
1135 # define NV30_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X(d) (0x00001034 + d * 0x0080)
1136 # define NV30_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y(d) (0x00001038 + d * 0x0080)
1137 # define NV30_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z(d) (0x0000103c + d * 0x0080)
1138 # define NV30_TCL_PRIMITIVE_3D_LIGHT_CONSTANT_ATTENUATION(d) (0x00001228 + d * 0x0040)
1139 # define NV30_TCL_PRIMITIVE_3D_LIGHT_LINEAR_ATTENUATION(d) (0x0000122c + d * 0x0040)
1140 # define NV30_TCL_PRIMITIVE_3D_LIGHT_QUADRATIC_ATTENUATION(d) (0x00001230 + d * 0x0040)
1141 # define NV30_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A(d) (0x00001200 + d * 0x0040)
1142 # define NV30_TCL_PRIMITIVE_3D_LIGHT_SPOT_EXPONENT(d) (0x00001204 + d * 0x0040)
1143 # define NV30_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B(d) (0x00001208 + d * 0x0040)
1144 # define NV30_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X(d) (0x0000120c + d * 0x0040)
1145 # define NV30_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y(d) (0x00001210 + d * 0x0040)
1146 # define NV30_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z(d) (0x00001214 + d * 0x0040)
1147 # define NV30_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C(d) (0x00001218 + d * 0x0040)
1148 # define NV30_TCL_PRIMITIVE_3D_LIGHT_POSITION_X(d) (0x0000121c + d * 0x0040)
1149 # define NV30_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y(d) (0x00001220 + d * 0x0040)
1150 # define NV30_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z(d) (0x00001224 + d * 0x0040)
1151 # define NV30_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_A 0x00001400
1152 # define NV30_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_B 0x00001404
1153 # define NV30_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_C 0x00001408
1154 # define NV30_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_D 0x0000140c
1155 # define NV30_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_E 0x00001410
1156 # define NV30_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS_F 0x00001414
1157 # 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 */
1158 # define NV30_TCL_PRIMITIVE_3D_UNK1D6C_OFFSET 0x00001d6c
1159 # define NV30_TCL_PRIMITIVE_3D_UNK1D70_VALUE 0x00001d70
1160 # define NV30_TCL_PRIMITIVE_3D_LINE_STIPPLE_ENABLE 0x00001db4
1161 # define NV30_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN 0x00001db8 /* Parameters: factor pattern */
1162 # define NV30_TCL_PRIMITIVE_3D_BEGIN_END 0x00001808
1163 # define NV30_TCL_PRIMITIVE_3D_CULL_FACE 0x00001830
1164 # define NV30_TCL_PRIMITIVE_3D_FRONT_FACE 0x00001834
1165 # define NV30_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE 0x00001838
1166 # define NV30_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE 0x0000183c
1167 # define NV30_TCL_PRIMITIVE_3D_CLEAR_VALUE_DEPTH 0x00001d8c
1168 # define NV30_TCL_PRIMITIVE_3D_CLEAR_VALUE_ARGB 0x00001d90 /* Parameters: a r g b */
1169 # define NV30_TCL_PRIMITIVE_3D_CLEAR_WHICH_BUFFERS 0x00001d94
1170 # define NV30_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS_A 0x00001e20
1171 # define NV30_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS_B 0x00001e24
1172 # define NV30_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS_C 0x00001e28
1173 # define NV30_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS_D 0x00001e2c
1174 # define NV30_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS_E 0x00001e30
1175 # define NV30_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS_F 0x00001e34
1176 # define NV30_TCL_PRIMITIVE_3D_DO_VERTICES 0x00001dac
1177 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_FROM_ID 0x00001e9c
1178 # define NV30_TCL_PRIMITIVE_3D_VP_PROGRAM_START_ID 0x00001ea0
1179 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_ID 0x00001efc
1180 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P0_X 0x00001f00
1181 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P0_Y 0x00001f04
1182 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P0_Z 0x00001f08
1183 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P0_W 0x00001f0c
1184 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P1_X 0x00001f10
1185 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P1_Y 0x00001f14
1186 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P1_Z 0x00001f18
1187 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P1_W 0x00001f1c
1188 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P2_X 0x00001f20
1189 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P2_Y 0x00001f24
1190 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P2_Z 0x00001f28
1191 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P2_W 0x00001f2c
1192 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P3_X 0x00001f30
1193 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P3_Y 0x00001f34
1194 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P3_Z 0x00001f38
1195 # define NV30_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_P3_W 0x00001f3c
1196 # define NV30_TCL_PRIMITIVE_3D_VTX_ATTR_3X(d) (0x00001500 + d * 0x0010)
1197 # define NV30_TCL_PRIMITIVE_3D_VTX_ATTR_3Y(d) (0x00001504 + d * 0x0010)
1198 # define NV30_TCL_PRIMITIVE_3D_VTX_ATTR_3Z(d) (0x00001508 + d * 0x0010)
1199 # define NV30_TCL_PRIMITIVE_3D_VTX_ATTR_3W(d) (0x0000150c + d * 0x0010)
1200 # define NV30_TCL_PRIMITIVE_3D_VTX_ATTR_4X(d) (0x00001c00 + d * 0x0010)
1201 # define NV30_TCL_PRIMITIVE_3D_VTX_ATTR_4Y(d) (0x00001c04 + d * 0x0010)
1202 # define NV30_TCL_PRIMITIVE_3D_VTX_ATTR_4Z(d) (0x00001c08 + d * 0x0010)
1203 # define NV30_TCL_PRIMITIVE_3D_VTX_ATTR_4W(d) (0x00001c0c + d * 0x0010)
1204 # define NV30_TCL_PRIMITIVE_3D_VB_POINTER_ATTR(d) (0x00001680 + d * 0x0004) /* Parameters: source: offset */
1205 # define NV30_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY 0x00000a90 /* Parameters: y x */
1206 # define NV30_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z 0x00000a94 /* Parameters: z */
1207 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S 0x000018c0
1208 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T 0x000018c4
1209 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S 0x000018c8
1210 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T 0x000018cc
1211 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_S 0x000018d0
1212 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_T 0x000018d4
1213 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_S 0x000018d8
1214 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_T 0x000018dc
1215 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX0_2I 0x00001920 /* Parameters: t s */
1216 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX1_2I 0x00001924 /* Parameters: t s */
1217 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX2_2I 0x00001928 /* Parameters: t s */
1218 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX3_2I 0x0000192c /* Parameters: t s */
1219 # define NV30_TCL_PRIMITIVE_3D_VERTEX_COL_4I 0x0000194c /* Parameters: a b g r */
1220 # define NV30_TCL_PRIMITIVE_3D_VERTEX_COL2_3I 0x00001950 /* Parameters: a b g r */
1221 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST 0x000019c0 /* Parameters: t s */
1222 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ 0x000019c4 /* Parameters: q r */
1223 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST 0x000019c8 /* Parameters: t s */
1224 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ 0x000019cc /* Parameters: q r */
1225 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST 0x000019d0 /* Parameters: t s */
1226 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ 0x000019d4 /* Parameters: q r */
1227 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST 0x000019d8 /* Parameters: t s */
1228 # define NV30_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ 0x000019dc /* Parameters: q r */
1229 # define NV30_TCL_PRIMITIVE_3D_VERTEX_FOG_1F 0x00001e54
1230 # define NV30_TCL_PRIMITIVE_3D_VERTEX_UNK_0 0x00001718
1231 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR( d) (0x00001740 + d * 0x0004)
1232 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR0_POS 0x00001740 /* Parameters: stride fields type */
1233 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR1_WGH 0x00001744 /* Parameters: stride fields type */
1234 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR2_NOR 0x00001748 /* Parameters: stride fields type */
1235 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR3_COL 0x0000174c /* Parameters: stride fields type */
1236 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR4_COL2 0x00001750 /* Parameters: stride fields type */
1237 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR5_FOG 0x00001754 /* Parameters: stride fields type */
1238 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR6 0x00001758 /* Parameters: stride fields type */
1239 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR7 0x0000175c /* Parameters: stride fields type */
1240 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR8_TX0 0x00001760 /* Parameters: stride fields type */
1241 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR9_TX1 0x00001764 /* Parameters: stride fields type */
1242 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR10_TX2 0x00001768 /* Parameters: stride fields type */
1243 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR11_TX3 0x0000176c /* Parameters: stride fields type */
1244 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR12_TX4 0x00001770 /* Parameters: stride fields type */
1245 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR13_TX5 0x00001774 /* Parameters: stride fields type */
1246 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR14_TX6 0x00001778 /* Parameters: stride fields type */
1247 # define NV30_TCL_PRIMITIVE_3D_VERTEX_ATTR15_TX7 0x0000177c /* Parameters: stride fields type */
1248 # define NV30_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R 0x000017a0
1249 # define NV30_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G 0x000017a4
1250 # define NV30_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B 0x000017a8
1251 # define NV30_TCL_PRIMITIVE_3D_FP_ACTIVE_PROGRAM 0x000008e4
1252 # define NV30_TCL_PRIMITIVE_3D_TX_ADDRESS_UNIT(d) (0x00001a00 + d * 0x0020)
1253 # define NV30_TCL_PRIMITIVE_3D_TX_FORMAT_UNIT(d) (0x00001a04 + d * 0x0020) /* Parameters: mipmap type format ncomp cubic */
1254 # define NV30_TCL_PRIMITIVE_3D_TX_WRAP_UNIT(d) (0x00001a08 + d * 0x0020) /* Parameters: wrap_s wrap_t wrap_r */
1255 # define NV30_TCL_PRIMITIVE_3D_TX_ENABLE_UNIT(d) (0x00001a0c + d * 0x0020) /* Parameters: nv40_enable nv30_enable anisotropy */
1256 # define NV30_TCL_PRIMITIVE_3D_TX_SWIZZLE_UNIT(d) (0x00001a10 + d * 0x0020)
1257 # define NV30_TCL_PRIMITIVE_3D_TX_FILTER_UNIT(d) (0x00001a14 + d * 0x0020) /* Parameters: filter_min filter_mag */
1258 # define NV30_TCL_PRIMITIVE_3D_TX_XY_DIM_UNIT(d) (0x00001a18 + d * 0x0020) /* Parameters: width height */
1259 # define NV30_TCL_PRIMITIVE_3D_TX_UNK07_UNIT(d) (0x00001a1c + d * 0x0020)
1260 # define NV30_TCL_PRIMITIVE_3D_TX_DEPTH_UNIT(d) (0x00001840 + d * 0x0004) /* Parameters: depth NPOT pitch */
1261 # define NV30_TCL_PRIMITIVE_3D_VB_VERTEX_BATCH 0x00001814 /* Parameters: count_vertices offset_vertices */
1262 # define NV30_TCL_PRIMITIVE_3D_VB_ELEMENT_U16 0x0000180c /* Parameters: 1: 0: */
1263 # define NV30_TCL_PRIMITIVE_3D_VB_ELEMENT_U32 0x00001810
1264 # define NV30_TCL_PRIMITIVE_3D_VERTEX_DATA 0x00001818
1265 # define NV30_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE 0x00000374
1266 # define NV30_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP 0x00000378
1267 # define NV30_TCL_PRIMITIVE_3D_SET_DISPLAY_LIST_MEM_OFFSET 0x0000181c
1268 # define NV30_TCL_PRIMITIVE_3D_EXECUTE_DISPLAY_LIST 0x00001824 /* Parameters: length start offset */
1269 # define NV30_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT 0x00001828
1270 # define NV30_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK 0x0000182c
1271 # define NV30_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_ENABLE 0x0000147c
1272 # define NV30_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN( d) (0x00001480 + d * 0x0004)
1273 # define NV30_TCL_PRIMITIVE_3D_SET_CLIPPING_PLANES 0x00001478
1274 # 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 */
1275 # 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 */
1276
1277 /******************************************
1278 Object NV30_CLEAR_BUFFER used on: NV30 NV40 G70
1279 */
1280 #define NV30_CLEAR_BUFFER 0x00000066
1281 # define NV30_CLEAR_BUFFER_SET_DMA_NOTIFY 0x00000180
1282 # define NV30_CLEAR_BUFFER_SET_IMAGE_PATTERN 0x00000188
1283 # define NV30_CLEAR_BUFFER_SET_RASTER_OP 0x0000018c
1284 # define NV30_CLEAR_BUFFER_SET_CONTEXT_SURFACE_2D 0x00000198
1285 # define NV30_CLEAR_BUFFER_UNK002fc 0x000002fc
1286
1287 /******************************************
1288 Object NV50_TCL_PRIMITIVE_3D used on:
1289 */
1290 #define NV50_TCL_PRIMITIVE_3D 0x00000097
1291 # define NV50_TCL_PRIMITIVE_3D_SET_OBJECT_0( d) (0x00000180 + d * 0x0004)
1292 # define NV50_TCL_PRIMITIVE_3D_SET_OBJECT_1( d) (0x000001c0 + d * 0x0004)
1293 # define NV50_TCL_PRIMITIVE_3D_VERTEX_FOG_1F 0x00000314
1294 # define NV50_TCL_PRIMITIVE_3D_VERTEX_POS_2F_X 0x00000380
1295 # define NV50_TCL_PRIMITIVE_3D_VERTEX_POS_2F_Y 0x00000384
1296 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S 0x000003c0
1297 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T 0x000003c4
1298 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S 0x000003c8
1299 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T 0x000003cc
1300 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_S 0x000003d0
1301 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_T 0x000003d4
1302 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_S 0x000003d8
1303 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_T 0x000003dc
1304 # define NV50_TCL_PRIMITIVE_3D_VERTEX_POS_3F_X 0x00000400
1305 # define NV50_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Y 0x00000404
1306 # define NV50_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Z 0x00000408
1307 # define NV50_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_X 0x00000420
1308 # define NV50_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Y 0x00000424
1309 # define NV50_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Z 0x00000428
1310 # define NV50_TCL_PRIMITIVE_3D_VERTEX_COL_3F_R 0x00000430
1311 # define NV50_TCL_PRIMITIVE_3D_VERTEX_COL_3F_G 0x00000434
1312 # define NV50_TCL_PRIMITIVE_3D_VERTEX_COL_3F_B 0x00000438
1313 # define NV50_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_R 0x00000440
1314 # define NV50_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_G 0x00000444
1315 # define NV50_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_B 0x00000448
1316 # define NV50_TCL_PRIMITIVE_3D_VERTEX_POS_4F_X 0x00000500
1317 # define NV50_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Y 0x00000504
1318 # define NV50_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Z 0x00000508
1319 # define NV50_TCL_PRIMITIVE_3D_VERTEX_POS_4F_W 0x0000050c
1320 # define NV50_TCL_PRIMITIVE_3D_VERTEX_COL_4F_R 0x00000530
1321 # define NV50_TCL_PRIMITIVE_3D_VERTEX_COL_4F_G 0x00000534
1322 # define NV50_TCL_PRIMITIVE_3D_VERTEX_COL_4F_B 0x00000538
1323 # define NV50_TCL_PRIMITIVE_3D_VERTEX_COL_4F_A 0x0000053c
1324 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_S 0x00000580
1325 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_T 0x00000584
1326 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_R 0x00000588
1327 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_Q 0x0000058c
1328 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_S 0x00000590
1329 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_T 0x00000594
1330 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_R 0x00000598
1331 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_Q 0x0000059c
1332 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_S 0x000005a0
1333 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_T 0x000005a4
1334 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_R 0x000005a8
1335 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_Q 0x000005ac
1336 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_S 0x000005b0
1337 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_T 0x000005b4
1338 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_R 0x000005b8
1339 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_Q 0x000005bc
1340 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX0_2I 0x000006a0 /* Parameters: t s */
1341 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX1_2I 0x000006a4 /* Parameters: t s */
1342 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX2_2I 0x000006a8 /* Parameters: t s */
1343 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX3_2I 0x000006ac /* Parameters: t s */
1344 # define NV50_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY 0x00000700 /* Parameters: y x */
1345 # define NV50_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW 0x00000704 /* Parameters: w z */
1346 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST 0x00000740 /* Parameters: t s */
1347 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ 0x00000744 /* Parameters: q r */
1348 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST 0x00000748 /* Parameters: t s */
1349 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ 0x0000074c /* Parameters: q r */
1350 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST 0x00000750 /* Parameters: t s */
1351 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ 0x00000754 /* Parameters: q r */
1352 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST 0x00000758 /* Parameters: t s */
1353 # define NV50_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ 0x0000075c /* Parameters: q r */
1354 # define NV50_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY 0x00000790 /* Parameters: y x */
1355 # define NV50_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z 0x00000794 /* Parameters: z */
1356 # define NV50_TCL_PRIMITIVE_3D_VERTEX_COL_4I 0x0000088c /* Parameters: a b g r */
1357 # define NV50_TCL_PRIMITIVE_3D_VERTEX_COL2_3I 0x00000890 /* Parameters: a b g r */
1358 # define NV50_TCL_PRIMITIVE_3D_VIEWPORT_UNK0_X 0x00000a00
1359 # define NV50_TCL_PRIMITIVE_3D_VIEWPORT_UNK0_Y 0x00000a04
1360 # define NV50_TCL_PRIMITIVE_3D_VIEWPORT_UNK0_Z 0x00000a08
1361 # define NV50_TCL_PRIMITIVE_3D_VIEWPORT_UNK1_X 0x00000a0c
1362 # define NV50_TCL_PRIMITIVE_3D_VIEWPORT_UNK1_Y 0x00000a10
1363 # define NV50_TCL_PRIMITIVE_3D_VIEWPORT_UNK1_Z 0x00000a14
1364 # define NV50_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR 0x00000c08
1365 # define NV50_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR 0x00000c0c
1366 # define NV50_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(d) (0x00000d00 + d * 0x0008) /* Parameters: x2 x1 */
1367 # define NV50_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(d) (0x00000d04 + d * 0x0008) /* Parameters: y2 y1 */
1368 # define NV50_TCL_PRIMITIVE_3D_VERTEX_BUFFER_FIRST 0x00000d74
1369 # define NV50_TCL_PRIMITIVE_3D_VERTEX_BUFFER_COUNT 0x00000d78
1370 # define NV50_TCL_PRIMITIVE_3D_CLEAR_COLOR_R 0x00000d80
1371 # define NV50_TCL_PRIMITIVE_3D_CLEAR_COLOR_G 0x00000d84
1372 # define NV50_TCL_PRIMITIVE_3D_CLEAR_COLOR_B 0x00000d88
1373 # define NV50_TCL_PRIMITIVE_3D_CLEAR_COLOR_A 0x00000d8c
1374 # define NV50_TCL_PRIMITIVE_3D_CLEAR_DEPTH 0x00000d90
1375 # define NV50_TCL_PRIMITIVE_3D_CLEAR_STENCIL 0x00000da0
1376 # define NV50_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT 0x00000dac
1377 # define NV50_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK 0x00000db0
1378 # define NV50_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE 0x00000db4
1379 # define NV50_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE 0x00000dc0
1380 # define NV50_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE 0x00000dc4
1381 # define NV50_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE 0x00000dc8
1382 # define NV50_TCL_PRIMITIVE_3D_SCISSOR_WIDTH_XPOS 0x00000e04 /* Parameters: w x */
1383 # define NV50_TCL_PRIMITIVE_3D_SCISSOR_HEIGHT_YPOS 0x00000e08 /* Parameters: h y */
1384 # define NV50_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_ID 0x00000f00
1385 # define NV50_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_X 0x00000f04
1386 # define NV50_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_Y 0x00000f08
1387 # define NV50_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_Z 0x00000f0c
1388 # define NV50_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_W 0x00000f10
1389 # define NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_REF 0x00000f54
1390 # define NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_MASK 0x00000f58
1391 # define NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_MASK 0x00000f5c
1392 # define NV50_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE 0x000012cc
1393 # define NV50_TCL_PRIMITIVE_3D_SHADE_MODEL 0x000012d4
1394 # define NV50_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE 0x000012e8
1395 # define NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE 0x000012ec
1396 # define NV50_TCL_PRIMITIVE_3D_DEPTH_FUNC 0x0000130c
1397 # define NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF 0x00001310
1398 # define NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC 0x00001314
1399 # define NV50_TCL_PRIMITIVE_3D_BLEND_COLOR_R 0x0000131c
1400 # define NV50_TCL_PRIMITIVE_3D_BLEND_COLOR_G 0x00001320
1401 # define NV50_TCL_PRIMITIVE_3D_BLEND_COLOR_B 0x00001324
1402 # define NV50_TCL_PRIMITIVE_3D_BLEND_COLOR_A 0x00001328
1403 # define NV50_TCL_PRIMITIVE_3D_BLEND_EQUATION_RGB 0x00001340
1404 # define NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB 0x00001344
1405 # define NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB 0x00001348
1406 # define NV50_TCL_PRIMITIVE_3D_BLEND_EQUATION_ALPHA 0x0000134c
1407 # define NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA 0x00001350
1408 # define NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA 0x00001358
1409 # define NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_ENABLE 0x00001380
1410 # define NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL 0x00001384
1411 # define NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL 0x00001388
1412 # define NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS 0x0000138c
1413 # define NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC 0x00001390
1414 # define NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_REF 0x00001394
1415 # define NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_MASK 0x00001398
1416 # define NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_MASK 0x0000139c
1417 # define NV50_TCL_PRIMITIVE_3D_LINE_WIDTH 0x000013b0
1418 # define NV50_TCL_PRIMITIVE_3D_POINT_SIZE 0x00001518
1419 # define NV50_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR 0x0000156c
1420 # define NV50_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE 0x00001570
1421 # define NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_ENABLE 0x00001594
1422 # define NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL 0x00001598
1423 # define NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL 0x0000159c
1424 # define NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS 0x000015a0
1425 # define NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC 0x000015a4
1426 # define NV50_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS 0x000015bc
1427 # define NV50_TCL_PRIMITIVE_3D_VERTEX_BEGIN 0x000015dc
1428 # define NV50_TCL_PRIMITIVE_3D_VERTEX_END 0x000015e0
1429 # define NV50_TCL_PRIMITIVE_3D_VERTEX_DATA 0x00001640
1430 # define NV50_TCL_PRIMITIVE_3D_LINE_STIPPLE_ENABLE 0x0000166c
1431 # define NV50_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN 0x00001680 /* Parameters: pattern factor */
1432 # define NV50_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_ENABLE 0x0000168c
1433 # define NV50_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN( d) (0x00001700 + d * 0x0004)
1434 # define NV50_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE 0x00001918
1435 # define NV50_TCL_PRIMITIVE_3D_FRONT_FACE 0x0000191c
1436 # define NV50_TCL_PRIMITIVE_3D_CULL_FACE 0x00001920
1437 # define NV50_TCL_PRIMITIVE_3D_LOGIC_OP_ENABLE 0x000019c4
1438 # define NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP 0x000019c8
1439 # define NV50_TCL_PRIMITIVE_3D_CLEAR_BUFFERS 0x000019d0 /* Parameters: color stencil depth */
1440 # define NV50_TCL_PRIMITIVE_3D_COLOR_MASK( d) (0x00001a00 + d * 0x0004) /* Parameters: a b g r */
1441
1442 /******************************************
1443 Object NV_DMA_FROM_MEMORY used on: NV03 NV04 NV10 NV15 NV20 NV30 NV40 G70
1444 */
1445 #define NV_DMA_FROM_MEMORY 0x00000002
1446
1447 /******************************************
1448 Object NV_DMA_TO_MEMORY used on: NV03 NV04 NV10 NV15 NV20 NV30 NV40 G70
1449 */
1450 #define NV_DMA_TO_MEMORY 0x00000003
1451
1452 /******************************************
1453 Object NV_DMA_IN_MEMORY used on: NV03 NV04 NV10 NV15 NV20 NV30 NV40 G70
1454 */
1455 #define NV_DMA_IN_MEMORY 0x0000003d
1456
1457 /******************************************
1458 Object NvType0046 used on: NV04
1459 */
1460 #define NvType0046 0x00000046
1461 # define NvType0046_DMA_NOTIFY 0x00000180
1462 # define NvType0046_DMA_MEM_1 0x00000184
1463 # define NvType0046_DMA_MEM_2 0x00000188
1464 # define NvType0046_DMA_3 0x0000018c
1465 # define NvType0046_DMA_4 0x00000190
1466 # define NvType0046_OBJ_5 0x00000194
1467 # define NvType0046_OBJ_6 0x00000198
1468 # define NvType0046_PITCH1 0x00000304
1469 # define NvType0046_PITCH2 0x0000030c
1470 # define NvType0046_SIZE 0x00000340 /* Parameters: width height */
1471 # define NvType0046_WIDTH 0x00000344 /* Parameters: visible_width blank_width */
1472 # define NvType0046_HSYNC 0x00000348 /* Parameters: hsync_start hsync_len */
1473 # define NvType0046_HEIGHT 0x0000034c /* Parameters: visible_height blank_height */
1474 # define NvType0046_VSYNC 0x00000350 /* Parameters: vsync_start vsync_len */
1475 # define NvType0046_FULL_SIZE 0x00000354 /* Parameters: full_width full_height */
1476 # define NvType0046_PIXEL_CLK 0x00000358
1477 # define NvType0046_FLAGS 0x0000035c /* Parameters: doublescan -hsync -vsync depth */
1478
1479 /******************************************
1480 Object NvType0047 used on: NV04
1481 */
1482 #define NvType0047 0x00000047
1483 # define NvType0047_DMA_NOTIFY 0x00000180
1484 # define NvType0047_UNK19C 0x0000019c
1485 # define NvType0047_UNK1A0 0x000001a0
1486
1487 /******************************************
1488 Object NvType0049 used on: NV04
1489 */
1490 #define NvType0049 0x00000049
1491 # define NvType0049_DMA_NOTIFY 0x00000180
1492 # define NvType0049_DMA_MEM_1 0x00000184
1493 # define NvType0049_DMA_MEM_2 0x00000188
1494
1495 /******************************************
1496 Object NvType004D used on: NV04
1497 */
1498 #define NvType004D 0x0000004d
1499 # define NvType004D_DMA_NOTIFY 0x00000180
1500 # define NvType004D_DMA_MEM_1 0x00000184
1501 # define NvType004D_DMA_MEM_2 0x00000188
1502 # define NvType004D_DMA_MEM_3 0x0000018c
1503 # define NvType004D_DMA_MEM_4 0x00000190
1504
1505 #endif /* _NOUVEAU_REG_H */