1 #ifndef NV10_3D_XML
2 #define NV10_3D_XML
3 
4 /* Autogenerated file, DO NOT EDIT manually!
5 
6 This file was generated by the rules-ng-ng headergen tool in this git repository:
7 http://0x04.net/cgit/index.cgi/rules-ng-ng
8 git clone git://0x04.net/rules-ng-ng
9 
10 The rules-ng-ng source files this header was generated from are:
11 - nv10_3d.xml    (  18437 bytes, from 2010-11-15 15:30:21)
12 - copyright.xml  (   6452 bytes, from 2010-11-15 15:10:58)
13 - nv_defs.xml    (   4437 bytes, from 2010-11-01 00:28:46)
14 - nv_3ddefs.xml  (  16394 bytes, from 2010-11-01 00:28:46)
15 - nv_object.xml  (  11547 bytes, from 2010-11-13 23:32:57)
16 - nvchipsets.xml (   3074 bytes, from 2010-11-13 23:32:57)
17 
18 Copyright (C) 2006-2010 by the following authors:
19 - Artur Huillet <arthur.huillet@free.fr> (ahuillet)
20 - Ben Skeggs (darktama, darktama_)
21 - B. R. <koala_br@users.sourceforge.net> (koala_br)
22 - Carlos Martin <carlosmn@users.sf.net> (carlosmn)
23 - Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
24 - Dawid Gajownik <gajownik@users.sf.net> (gajownik)
25 - Dmitry Baryshkov
26 - Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
27 - EdB <edb_@users.sf.net> (edb_)
28 - Erik Waling <erikwailing@users.sf.net> (erikwaling)
29 - Francisco Jerez <currojerez@riseup.net> (curro)
30 - imirkin <imirkin@users.sf.net> (imirkin)
31 - jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
32 - Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
33 - Laurent Carlier <lordheavym@gmail.com> (lordheavy)
34 - Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
35 - Maarten Maathuis <madman2003@gmail.com> (stillunknown)
36 - Marcin Kościelnicki <koriakin@0x04.net> (mwk, koriakin)
37 - Mark Carey <mark.carey@gmail.com> (careym)
38 - Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
39 - nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
40 - Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
41 - Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
42 - Peter Popov <ironpeter@users.sf.net> (ironpeter)
43 - Richard Hughes <hughsient@users.sf.net> (hughsient)
44 - Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
45 - Serge Martin
46 - Simon Raffeiner
47 - Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
48 - Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
49 - sturmflut <sturmflut@users.sf.net> (sturmflut)
50 - Sylvain Munaut <tnt@246tNt.com>
51 - Victor Stinner <victor.stinner@haypocalc.com> (haypo)
52 - Wladmir van der Laan <laanwj@gmail.com> (miathan6)
53 - Younes Manton <younes.m@gmail.com> (ymanton)
54 
55 Permission is hereby granted, free of charge, to any person obtaining
56 a copy of this software and associated documentation files (the
57 "Software"), to deal in the Software without restriction, including
58 without limitation the rights to use, copy, modify, merge, publish,
59 distribute, sublicense, and/or sell copies of the Software, and to
60 permit persons to whom the Software is furnished to do so, subject to
61 the following conditions:
62 
63 The above copyright notice and this permission notice (including the
64 next paragraph) shall be included in all copies or substantial
65 portions of the Software.
66 
67 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
68 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
69 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
70 IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
71 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
72 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
73 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
74 */
75 
76 
77 #define NV10_VERTEX_ATTR_POS					0x00000000
78 #define NV10_VERTEX_ATTR_COLOR0					0x00000001
79 #define NV10_VERTEX_ATTR_COLOR1					0x00000002
80 #define NV10_VERTEX_ATTR_TEX0					0x00000003
81 #define NV10_VERTEX_ATTR_TEX1					0x00000004
82 #define NV10_VERTEX_ATTR_NORMAL					0x00000005
83 #define NV10_VERTEX_ATTR_WEIGHT					0x00000006
84 #define NV10_VERTEX_ATTR_FOG					0x00000007
85 
86 
87 
88 #define NV11_3D_FLIP_SET_READ					0x00000120
89 
90 #define NV11_3D_FLIP_SET_WRITE					0x00000124
91 
92 #define NV11_3D_FLIP_MAX					0x00000128
93 
94 #define NV11_3D_FLIP_INCR_WRITE					0x0000012c
95 
96 #define NV11_3D_FLIP_WAIT					0x00000130
97 
98 #define NV10_3D_DMA_NOTIFY					0x00000180
99 
100 #define NV10_3D_DMA_TEXTURE0					0x00000184
101 
102 #define NV10_3D_DMA_TEXTURE1					0x00000188
103 
104 #define NV10_3D_DMA_COLOR					0x00000194
105 
106 #define NV10_3D_DMA_ZETA					0x00000198
107 
108 #define NV10_3D_RT_HORIZ					0x00000200
109 #define NV10_3D_RT_HORIZ_X__MASK				0x0000ffff
110 #define NV10_3D_RT_HORIZ_X__SHIFT				0
111 #define NV10_3D_RT_HORIZ_W__MASK				0xffff0000
112 #define NV10_3D_RT_HORIZ_W__SHIFT				16
113 
114 #define NV10_3D_RT_VERT						0x00000204
115 #define NV10_3D_RT_VERT_Y__MASK					0x0000ffff
116 #define NV10_3D_RT_VERT_Y__SHIFT				0
117 #define NV10_3D_RT_VERT_H__MASK					0xffff0000
118 #define NV10_3D_RT_VERT_H__SHIFT				16
119 
120 #define NV10_3D_RT_FORMAT					0x00000208
121 #define NV10_3D_RT_FORMAT_TYPE__MASK				0x00000f00
122 #define NV10_3D_RT_FORMAT_TYPE__SHIFT				8
123 #define NV10_3D_RT_FORMAT_TYPE_LINEAR				0x00000100
124 #define NV10_3D_RT_FORMAT_TYPE_SWIZZLED				0x00000200
125 #define NV10_3D_RT_FORMAT_DEPTH__MASK				0x00000030
126 #define NV10_3D_RT_FORMAT_DEPTH__SHIFT				4
127 #define NV10_3D_RT_FORMAT_DEPTH_Z24S8				0x00000000
128 #define NV10_3D_RT_FORMAT_DEPTH_Z16				0x00000010
129 #define NV10_3D_RT_FORMAT_COLOR__MASK				0x0000000f
130 #define NV10_3D_RT_FORMAT_COLOR__SHIFT				0
131 #define NV10_3D_RT_FORMAT_COLOR_R5G6B5				0x00000003
132 #define NV10_3D_RT_FORMAT_COLOR_X8R8G8B8			0x00000005
133 #define NV10_3D_RT_FORMAT_COLOR_A8R8G8B8			0x00000008
134 #define NV10_3D_RT_FORMAT_COLOR_B8				0x00000009
135 
136 #define NV10_3D_RT_PITCH					0x0000020c
137 #define NV10_3D_RT_PITCH_COLOR_PITCH__MASK			0x0000ffff
138 #define NV10_3D_RT_PITCH_COLOR_PITCH__SHIFT			0
139 #define NV10_3D_RT_PITCH_ZETA_PITCH__MASK			0xffff0000
140 #define NV10_3D_RT_PITCH_ZETA_PITCH__SHIFT			16
141 
142 #define NV10_3D_COLOR_OFFSET					0x00000210
143 
144 #define NV10_3D_ZETA_OFFSET					0x00000214
145 
146 #define NV10_3D_UNK0290						0x00000290
147 
148 #define NV10_3D_VIEWPORT_CLIP_MODE				0x000002b4
149 
150 #define NV10_3D_VIEWPORT_CLIP_HORIZ(i0)			       (0x000002c0 + 0x4*(i0))
151 #define NV10_3D_VIEWPORT_CLIP_HORIZ__ESIZE			0x00000004
152 #define NV10_3D_VIEWPORT_CLIP_HORIZ__LEN			0x00000008
153 #define NV10_3D_VIEWPORT_CLIP_HORIZ_CLIP_L__MASK		0x000007ff
154 #define NV10_3D_VIEWPORT_CLIP_HORIZ_CLIP_L__SHIFT		0
155 #define NV10_3D_VIEWPORT_CLIP_HORIZ_CLIP_LEFT_ENABLE		0x00000800
156 #define NV10_3D_VIEWPORT_CLIP_HORIZ_CLIP_R__MASK		0x07ff0000
157 #define NV10_3D_VIEWPORT_CLIP_HORIZ_CLIP_R__SHIFT		16
158 #define NV10_3D_VIEWPORT_CLIP_HORIZ_CLIP_RIGHT_ENABLE		0x08000000
159 
160 #define NV10_3D_VIEWPORT_CLIP_VERT(i0)			       (0x000002e0 + 0x4*(i0))
161 #define NV10_3D_VIEWPORT_CLIP_VERT__ESIZE			0x00000004
162 #define NV10_3D_VIEWPORT_CLIP_VERT__LEN				0x00000008
163 #define NV10_3D_VIEWPORT_CLIP_VERT_CLIP_T__MASK			0x000007ff
164 #define NV10_3D_VIEWPORT_CLIP_VERT_CLIP_T__SHIFT		0
165 #define NV10_3D_VIEWPORT_CLIP_VERT_CLIP_TOP_ENABLE		0x00000800
166 #define NV10_3D_VIEWPORT_CLIP_VERT_CLIP_B__MASK			0x07ff0000
167 #define NV10_3D_VIEWPORT_CLIP_VERT_CLIP_B__SHIFT		16
168 #define NV10_3D_VIEWPORT_CLIP_VERT_CLIP_BOTTOM_ENABLE		0x08000000
169 
170 #define NV10_3D_ALPHA_FUNC_ENABLE				0x00000300
171 
172 #define NV10_3D_BLEND_FUNC_ENABLE				0x00000304
173 
174 #define NV10_3D_CULL_FACE_ENABLE				0x00000308
175 
176 #define NV10_3D_DEPTH_TEST_ENABLE				0x0000030c
177 
178 #define NV10_3D_DITHER_ENABLE					0x00000310
179 
180 #define NV10_3D_LIGHTING_ENABLE					0x00000314
181 
182 #define NV10_3D_POINT_PARAMETERS_ENABLE				0x00000318
183 
184 #define NV10_3D_POINT_SMOOTH_ENABLE				0x0000031c
185 
186 #define NV10_3D_LINE_SMOOTH_ENABLE				0x00000320
187 
188 #define NV10_3D_POLYGON_SMOOTH_ENABLE				0x00000324
189 
190 #define NV10_3D_STENCIL_ENABLE					0x0000032c
191 
192 #define NV10_3D_POLYGON_OFFSET_POINT_ENABLE			0x00000330
193 
194 #define NV10_3D_POLYGON_OFFSET_LINE_ENABLE			0x00000334
195 
196 #define NV10_3D_POLYGON_OFFSET_FILL_ENABLE			0x00000338
197 
198 #define NV10_3D_ALPHA_FUNC_FUNC					0x0000033c
199 #define NV10_3D_ALPHA_FUNC_FUNC_NEVER				0x00000200
200 #define NV10_3D_ALPHA_FUNC_FUNC_LESS				0x00000201
201 #define NV10_3D_ALPHA_FUNC_FUNC_EQUAL				0x00000202
202 #define NV10_3D_ALPHA_FUNC_FUNC_LEQUAL				0x00000203
203 #define NV10_3D_ALPHA_FUNC_FUNC_GREATER				0x00000204
204 #define NV10_3D_ALPHA_FUNC_FUNC_NOTEQUAL			0x00000205
205 #define NV10_3D_ALPHA_FUNC_FUNC_GEQUAL				0x00000206
206 #define NV10_3D_ALPHA_FUNC_FUNC_ALWAYS				0x00000207
207 
208 #define NV10_3D_ALPHA_FUNC_REF					0x00000340
209 
210 #define NV10_3D_BLEND_FUNC_SRC					0x00000344
211 #define NV10_3D_BLEND_FUNC_SRC_ZERO				0x00000000
212 #define NV10_3D_BLEND_FUNC_SRC_ONE				0x00000001
213 #define NV10_3D_BLEND_FUNC_SRC_SRC_COLOR			0x00000300
214 #define NV10_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR		0x00000301
215 #define NV10_3D_BLEND_FUNC_SRC_SRC_ALPHA			0x00000302
216 #define NV10_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA		0x00000303
217 #define NV10_3D_BLEND_FUNC_SRC_DST_ALPHA			0x00000304
218 #define NV10_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA		0x00000305
219 #define NV10_3D_BLEND_FUNC_SRC_DST_COLOR			0x00000306
220 #define NV10_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR		0x00000307
221 #define NV10_3D_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE		0x00000308
222 #define NV10_3D_BLEND_FUNC_SRC_CONSTANT_COLOR			0x00008001
223 #define NV10_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR		0x00008002
224 #define NV10_3D_BLEND_FUNC_SRC_CONSTANT_ALPHA			0x00008003
225 #define NV10_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA		0x00008004
226 
227 #define NV10_3D_BLEND_FUNC_DST					0x00000348
228 #define NV10_3D_BLEND_FUNC_DST_ZERO				0x00000000
229 #define NV10_3D_BLEND_FUNC_DST_ONE				0x00000001
230 #define NV10_3D_BLEND_FUNC_DST_SRC_COLOR			0x00000300
231 #define NV10_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR		0x00000301
232 #define NV10_3D_BLEND_FUNC_DST_SRC_ALPHA			0x00000302
233 #define NV10_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA		0x00000303
234 #define NV10_3D_BLEND_FUNC_DST_DST_ALPHA			0x00000304
235 #define NV10_3D_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA		0x00000305
236 #define NV10_3D_BLEND_FUNC_DST_DST_COLOR			0x00000306
237 #define NV10_3D_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR		0x00000307
238 #define NV10_3D_BLEND_FUNC_DST_SRC_ALPHA_SATURATE		0x00000308
239 #define NV10_3D_BLEND_FUNC_DST_CONSTANT_COLOR			0x00008001
240 #define NV10_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR		0x00008002
241 #define NV10_3D_BLEND_FUNC_DST_CONSTANT_ALPHA			0x00008003
242 #define NV10_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA		0x00008004
243 
244 #define NV10_3D_BLEND_COLOR					0x0000034c
245 #define NV10_3D_BLEND_COLOR_B__MASK				0x000000ff
246 #define NV10_3D_BLEND_COLOR_B__SHIFT				0
247 #define NV10_3D_BLEND_COLOR_G__MASK				0x0000ff00
248 #define NV10_3D_BLEND_COLOR_G__SHIFT				8
249 #define NV10_3D_BLEND_COLOR_R__MASK				0x00ff0000
250 #define NV10_3D_BLEND_COLOR_R__SHIFT				16
251 #define NV10_3D_BLEND_COLOR_A__MASK				0xff000000
252 #define NV10_3D_BLEND_COLOR_A__SHIFT				24
253 
254 #define NV10_3D_BLEND_EQUATION					0x00000350
255 #define NV10_3D_BLEND_EQUATION_FUNC_ADD				0x00008006
256 #define NV10_3D_BLEND_EQUATION_MIN				0x00008007
257 #define NV10_3D_BLEND_EQUATION_MAX				0x00008008
258 #define NV10_3D_BLEND_EQUATION_FUNC_SUBTRACT			0x0000800a
259 #define NV10_3D_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT		0x0000800b
260 
261 #define NV10_3D_DEPTH_FUNC					0x00000354
262 #define NV10_3D_DEPTH_FUNC_NEVER				0x00000200
263 #define NV10_3D_DEPTH_FUNC_LESS					0x00000201
264 #define NV10_3D_DEPTH_FUNC_EQUAL				0x00000202
265 #define NV10_3D_DEPTH_FUNC_LEQUAL				0x00000203
266 #define NV10_3D_DEPTH_FUNC_GREATER				0x00000204
267 #define NV10_3D_DEPTH_FUNC_NOTEQUAL				0x00000205
268 #define NV10_3D_DEPTH_FUNC_GEQUAL				0x00000206
269 #define NV10_3D_DEPTH_FUNC_ALWAYS				0x00000207
270 
271 #define NV10_3D_COLOR_MASK					0x00000358
272 #define NV10_3D_COLOR_MASK_B					0x00000001
273 #define NV10_3D_COLOR_MASK_G					0x00000100
274 #define NV10_3D_COLOR_MASK_R					0x00010000
275 #define NV10_3D_COLOR_MASK_A					0x01000000
276 
277 #define NV10_3D_DEPTH_WRITE_ENABLE				0x0000035c
278 
279 #define NV10_3D_STENCIL_MASK					0x00000360
280 
281 #define NV10_3D_STENCIL_FUNC_FUNC				0x00000364
282 #define NV10_3D_STENCIL_FUNC_FUNC_NEVER				0x00000200
283 #define NV10_3D_STENCIL_FUNC_FUNC_LESS				0x00000201
284 #define NV10_3D_STENCIL_FUNC_FUNC_EQUAL				0x00000202
285 #define NV10_3D_STENCIL_FUNC_FUNC_LEQUAL			0x00000203
286 #define NV10_3D_STENCIL_FUNC_FUNC_GREATER			0x00000204
287 #define NV10_3D_STENCIL_FUNC_FUNC_NOTEQUAL			0x00000205
288 #define NV10_3D_STENCIL_FUNC_FUNC_GEQUAL			0x00000206
289 #define NV10_3D_STENCIL_FUNC_FUNC_ALWAYS			0x00000207
290 
291 #define NV10_3D_STENCIL_FUNC_REF				0x00000368
292 
293 #define NV10_3D_STENCIL_FUNC_MASK				0x0000036c
294 
295 #define NV10_3D_STENCIL_OP_FAIL					0x00000370
296 #define NV10_3D_STENCIL_OP_FAIL_ZERO				0x00000000
297 #define NV10_3D_STENCIL_OP_FAIL_INVERT				0x0000150a
298 #define NV10_3D_STENCIL_OP_FAIL_KEEP				0x00001e00
299 #define NV10_3D_STENCIL_OP_FAIL_REPLACE				0x00001e01
300 #define NV10_3D_STENCIL_OP_FAIL_INCR				0x00001e02
301 #define NV10_3D_STENCIL_OP_FAIL_DECR				0x00001e03
302 #define NV10_3D_STENCIL_OP_FAIL_INCR_WRAP			0x00008507
303 #define NV10_3D_STENCIL_OP_FAIL_DECR_WRAP			0x00008508
304 
305 #define NV10_3D_STENCIL_OP_ZFAIL				0x00000374
306 #define NV10_3D_STENCIL_OP_ZFAIL_ZERO				0x00000000
307 #define NV10_3D_STENCIL_OP_ZFAIL_INVERT				0x0000150a
308 #define NV10_3D_STENCIL_OP_ZFAIL_KEEP				0x00001e00
309 #define NV10_3D_STENCIL_OP_ZFAIL_REPLACE			0x00001e01
310 #define NV10_3D_STENCIL_OP_ZFAIL_INCR				0x00001e02
311 #define NV10_3D_STENCIL_OP_ZFAIL_DECR				0x00001e03
312 #define NV10_3D_STENCIL_OP_ZFAIL_INCR_WRAP			0x00008507
313 #define NV10_3D_STENCIL_OP_ZFAIL_DECR_WRAP			0x00008508
314 
315 #define NV10_3D_STENCIL_OP_ZPASS				0x00000378
316 #define NV10_3D_STENCIL_OP_ZPASS_ZERO				0x00000000
317 #define NV10_3D_STENCIL_OP_ZPASS_INVERT				0x0000150a
318 #define NV10_3D_STENCIL_OP_ZPASS_KEEP				0x00001e00
319 #define NV10_3D_STENCIL_OP_ZPASS_REPLACE			0x00001e01
320 #define NV10_3D_STENCIL_OP_ZPASS_INCR				0x00001e02
321 #define NV10_3D_STENCIL_OP_ZPASS_DECR				0x00001e03
322 #define NV10_3D_STENCIL_OP_ZPASS_INCR_WRAP			0x00008507
323 #define NV10_3D_STENCIL_OP_ZPASS_DECR_WRAP			0x00008508
324 
325 #define NV10_3D_SHADE_MODEL					0x0000037c
326 #define NV10_3D_SHADE_MODEL_FLAT				0x00001d00
327 #define NV10_3D_SHADE_MODEL_SMOOTH				0x00001d01
328 
329 #define NV10_3D_LINE_WIDTH					0x00000380
330 
331 #define NV10_3D_POLYGON_OFFSET_FACTOR				0x00000384
332 
333 #define NV10_3D_POLYGON_OFFSET_UNITS				0x00000388
334 
335 #define NV10_3D_POLYGON_MODE_FRONT				0x0000038c
336 #define NV10_3D_POLYGON_MODE_FRONT_POINT			0x00001b00
337 #define NV10_3D_POLYGON_MODE_FRONT_LINE				0x00001b01
338 #define NV10_3D_POLYGON_MODE_FRONT_FILL				0x00001b02
339 
340 #define NV10_3D_POLYGON_MODE_BACK				0x00000390
341 #define NV10_3D_POLYGON_MODE_BACK_POINT				0x00001b00
342 #define NV10_3D_POLYGON_MODE_BACK_LINE				0x00001b01
343 #define NV10_3D_POLYGON_MODE_BACK_FILL				0x00001b02
344 
345 #define NV10_3D_DEPTH_RANGE_NEAR				0x00000394
346 
347 #define NV10_3D_DEPTH_RANGE_FAR					0x00000398
348 
349 #define NV10_3D_CULL_FACE					0x0000039c
350 #define NV10_3D_CULL_FACE_FRONT					0x00000404
351 #define NV10_3D_CULL_FACE_BACK					0x00000405
352 #define NV10_3D_CULL_FACE_FRONT_AND_BACK			0x00000408
353 
354 #define NV10_3D_FRONT_FACE					0x000003a0
355 #define NV10_3D_FRONT_FACE_CW					0x00000900
356 #define NV10_3D_FRONT_FACE_CCW					0x00000901
357 
358 
359 #define NV10_3D_VERTEX_POS_3F					0x00000c00
360 
361 
362 #define NV10_3D_VERTEX_POS_3F_X					0x00000c00
363 
364 #define NV10_3D_VERTEX_POS_3F_Y					0x00000c04
365 
366 #define NV10_3D_VERTEX_POS_3F_Z					0x00000c08
367 
368 #define NV10_3D_VERTEX_POS_4F					0x00000c18
369 
370 
371 #define NV10_3D_VERTEX_POS_4F_X					0x00000c18
372 
373 #define NV10_3D_VERTEX_POS_4F_Y					0x00000c1c
374 
375 #define NV10_3D_VERTEX_POS_4F_Z					0x00000c20
376 
377 #define NV10_3D_VERTEX_POS_4F_W					0x00000c24
378 
379 #define NV10_3D_VERTEX_NOR_3F					0x00000c30
380 
381 
382 #define NV10_3D_VERTEX_NOR_3F_X					0x00000c30
383 
384 #define NV10_3D_VERTEX_NOR_3F_Y					0x00000c34
385 
386 #define NV10_3D_VERTEX_NOR_3F_Z					0x00000c38
387 
388 #define NV10_3D_VERTEX_NOR_3I					0x00000c30
389 
390 
391 #define NV10_3D_VERTEX_NOR_3I_XY				0x00000c30
392 #define NV10_3D_VERTEX_NOR_3I_XY_X__MASK			0x0000ffff
393 #define NV10_3D_VERTEX_NOR_3I_XY_X__SHIFT			0
394 #define NV10_3D_VERTEX_NOR_3I_XY_Y__MASK			0xffff0000
395 #define NV10_3D_VERTEX_NOR_3I_XY_Y__SHIFT			16
396 
397 #define NV10_3D_VERTEX_NOR_3I_Z					0x00000c34
398 #define NV10_3D_VERTEX_NOR_3I_Z_Z__MASK				0x0000ffff
399 #define NV10_3D_VERTEX_NOR_3I_Z_Z__SHIFT			0
400 
401 #define NV10_3D_VERTEX_COL_4F					0x00000c50
402 
403 
404 #define NV10_3D_VERTEX_COL_4F_R					0x00000c50
405 
406 #define NV10_3D_VERTEX_COL_4F_G					0x00000c54
407 
408 #define NV10_3D_VERTEX_COL_4F_B					0x00000c58
409 
410 #define NV10_3D_VERTEX_COL_4F_A					0x00000c5c
411 
412 #define NV10_3D_VERTEX_COL_3F					0x00000c60
413 
414 
415 #define NV10_3D_VERTEX_COL_3F_R					0x00000c60
416 
417 #define NV10_3D_VERTEX_COL_3F_G					0x00000c64
418 
419 #define NV10_3D_VERTEX_COL_3F_B					0x00000c68
420 
421 #define NV10_3D_VERTEX_COL_4I					0x00000c6c
422 #define NV10_3D_VERTEX_COL_4I_R__MASK				0x000000ff
423 #define NV10_3D_VERTEX_COL_4I_R__SHIFT				0
424 #define NV10_3D_VERTEX_COL_4I_G__MASK				0x0000ff00
425 #define NV10_3D_VERTEX_COL_4I_G__SHIFT				8
426 #define NV10_3D_VERTEX_COL_4I_B__MASK				0x00ff0000
427 #define NV10_3D_VERTEX_COL_4I_B__SHIFT				16
428 #define NV10_3D_VERTEX_COL_4I_A__MASK				0xff000000
429 #define NV10_3D_VERTEX_COL_4I_A__SHIFT				24
430 
431 #define NV10_3D_VERTEX_COL2_3F					0x00000c80
432 
433 
434 #define NV10_3D_VERTEX_COL2_3F_R				0x00000c80
435 
436 #define NV10_3D_VERTEX_COL2_3F_G				0x00000c84
437 
438 #define NV10_3D_VERTEX_COL2_3F_B				0x00000c88
439 
440 #define NV10_3D_VERTEX_COL2_3I					0x00000c8c
441 #define NV10_3D_VERTEX_COL2_3I_R__MASK				0x000000ff
442 #define NV10_3D_VERTEX_COL2_3I_R__SHIFT				0
443 #define NV10_3D_VERTEX_COL2_3I_G__MASK				0x0000ff00
444 #define NV10_3D_VERTEX_COL2_3I_G__SHIFT				8
445 #define NV10_3D_VERTEX_COL2_3I_B__MASK				0x00ff0000
446 #define NV10_3D_VERTEX_COL2_3I_B__SHIFT				16
447 
448 #define NV10_3D_VERTEX_TX0_2F					0x00000c90
449 
450 
451 #define NV10_3D_VERTEX_TX0_2F_S					0x00000c90
452 
453 #define NV10_3D_VERTEX_TX0_2F_T					0x00000c94
454 
455 #define NV10_3D_VERTEX_TX0_2I					0x00000c98
456 #define NV10_3D_VERTEX_TX0_2I_S__MASK				0x0000ffff
457 #define NV10_3D_VERTEX_TX0_2I_S__SHIFT				0
458 #define NV10_3D_VERTEX_TX0_2I_T__MASK				0xffff0000
459 #define NV10_3D_VERTEX_TX0_2I_T__SHIFT				16
460 
461 #define NV10_3D_VERTEX_TX0_4F					0x00000ca0
462 
463 
464 #define NV10_3D_VERTEX_TX0_4F_S					0x00000ca0
465 
466 #define NV10_3D_VERTEX_TX0_4F_T					0x00000ca4
467 
468 #define NV10_3D_VERTEX_TX0_4F_R					0x00000ca8
469 
470 #define NV10_3D_VERTEX_TX0_4F_Q					0x00000cac
471 
472 #define NV10_3D_VERTEX_TX0_4I					0x00000cb0
473 
474 
475 #define NV10_3D_VERTEX_TX0_4I_ST				0x00000cb0
476 #define NV10_3D_VERTEX_TX0_4I_ST_S__MASK			0x0000ffff
477 #define NV10_3D_VERTEX_TX0_4I_ST_S__SHIFT			0
478 #define NV10_3D_VERTEX_TX0_4I_ST_T__MASK			0xffff0000
479 #define NV10_3D_VERTEX_TX0_4I_ST_T__SHIFT			16
480 
481 #define NV10_3D_VERTEX_TX0_4I_RQ				0x00000cb4
482 #define NV10_3D_VERTEX_TX0_4I_RQ_R__MASK			0x0000ffff
483 #define NV10_3D_VERTEX_TX0_4I_RQ_R__SHIFT			0
484 #define NV10_3D_VERTEX_TX0_4I_RQ_Q__MASK			0xffff0000
485 #define NV10_3D_VERTEX_TX0_4I_RQ_Q__SHIFT			16
486 
487 #define NV10_3D_VERTEX_TX1_2F					0x00000cb8
488 
489 
490 #define NV10_3D_VERTEX_TX1_2F_S					0x00000cb8
491 
492 #define NV10_3D_VERTEX_TX1_2F_T					0x00000cbc
493 
494 #define NV10_3D_VERTEX_TX1_2I					0x00000cc0
495 #define NV10_3D_VERTEX_TX1_2I_S__MASK				0x0000ffff
496 #define NV10_3D_VERTEX_TX1_2I_S__SHIFT				0
497 #define NV10_3D_VERTEX_TX1_2I_T__MASK				0xffff0000
498 #define NV10_3D_VERTEX_TX1_2I_T__SHIFT				16
499 
500 #define NV10_3D_VERTEX_TX1_4F					0x00000cc8
501 
502 
503 #define NV10_3D_VERTEX_TX1_4F_S					0x00000cc8
504 
505 #define NV10_3D_VERTEX_TX1_4F_T					0x00000ccc
506 
507 #define NV10_3D_VERTEX_TX1_4F_R					0x00000cd0
508 
509 #define NV10_3D_VERTEX_TX1_4F_Q					0x00000cd4
510 
511 #define NV10_3D_VERTEX_TX1_4I					0x00000cd8
512 
513 
514 #define NV10_3D_VERTEX_TX1_4I_ST				0x00000cd8
515 #define NV10_3D_VERTEX_TX1_4I_ST_S__MASK			0x0000ffff
516 #define NV10_3D_VERTEX_TX1_4I_ST_S__SHIFT			0
517 #define NV10_3D_VERTEX_TX1_4I_ST_T__MASK			0xffff0000
518 #define NV10_3D_VERTEX_TX1_4I_ST_T__SHIFT			16
519 
520 #define NV10_3D_VERTEX_TX1_4I_RQ				0x00000cdc
521 #define NV10_3D_VERTEX_TX1_4I_RQ_R__MASK			0x0000ffff
522 #define NV10_3D_VERTEX_TX1_4I_RQ_R__SHIFT			0
523 #define NV10_3D_VERTEX_TX1_4I_RQ_Q__MASK			0xffff0000
524 #define NV10_3D_VERTEX_TX1_4I_RQ_Q__SHIFT			16
525 
526 #define NV10_3D_VERTEX_FOG_1F					0x00000ce0
527 
528 #define NV10_3D_VERTEX_WGH_1F					0x00000ce4
529 
530 #define NV10_3D_EDGEFLAG_ENABLE					0x00000cec
531 
532 
533 #define NV10_3D_DMA_VTXBUF					0x0000018c
534 
535 #define NV10_3D_VTXBUF_VALIDATE					0x00000cf0
536 
537 
538 #define NV10_3D_VTXBUF_OFFSET(i0)			       (0x00000d00 + 0x8*(i0))
539 
540 #define NV10_3D_VTXBUF_FMT(i0)				       (0x00000d04 + 0x8*(i0))
541 #define NV10_3D_VTXBUF_FMT_TYPE__MASK				0x0000000f
542 #define NV10_3D_VTXBUF_FMT_TYPE__SHIFT				0
543 #define NV10_3D_VTXBUF_FMT_TYPE_B8G8R8A8_UNORM			0x00000000
544 #define NV10_3D_VTXBUF_FMT_TYPE_V16_SNORM			0x00000001
545 #define NV10_3D_VTXBUF_FMT_TYPE_V32_FLOAT			0x00000002
546 #define NV10_3D_VTXBUF_FMT_TYPE_U8_UNORM			0x00000004
547 #define NV10_3D_VTXBUF_FMT_FIELDS__MASK				0x000000f0
548 #define NV10_3D_VTXBUF_FMT_FIELDS__SHIFT			4
549 #define NV10_3D_VTXBUF_FMT_STRIDE__MASK				0x0000ff00
550 #define NV10_3D_VTXBUF_FMT_STRIDE__SHIFT			8
551 #define NV10_3D_VTXBUF_FMT_HOMOGENEOUS				0x01000000
552 
553 #define NV10_3D_VERTEX_BEGIN_END				0x00000dfc
554 #define NV10_3D_VERTEX_BEGIN_END_STOP				0x00000000
555 #define NV10_3D_VERTEX_BEGIN_END_POINTS				0x00000001
556 #define NV10_3D_VERTEX_BEGIN_END_LINES				0x00000002
557 #define NV10_3D_VERTEX_BEGIN_END_LINE_LOOP			0x00000003
558 #define NV10_3D_VERTEX_BEGIN_END_LINE_STRIP			0x00000004
559 #define NV10_3D_VERTEX_BEGIN_END_TRIANGLES			0x00000005
560 #define NV10_3D_VERTEX_BEGIN_END_TRIANGLE_STRIP			0x00000006
561 #define NV10_3D_VERTEX_BEGIN_END_TRIANGLE_FAN			0x00000007
562 #define NV10_3D_VERTEX_BEGIN_END_QUADS				0x00000008
563 #define NV10_3D_VERTEX_BEGIN_END_QUAD_STRIP			0x00000009
564 #define NV10_3D_VERTEX_BEGIN_END_POLYGON			0x0000000a
565 
566 #define NV10_3D_VTXBUF_ELEMENT_U16				0x00000e00
567 #define NV10_3D_VTXBUF_ELEMENT_U16_I0__MASK			0x0000ffff
568 #define NV10_3D_VTXBUF_ELEMENT_U16_I0__SHIFT			0
569 #define NV10_3D_VTXBUF_ELEMENT_U16_I1__MASK			0xffff0000
570 #define NV10_3D_VTXBUF_ELEMENT_U16_I1__SHIFT			16
571 
572 #define NV10_3D_VTXBUF_ELEMENT_U32				0x00001100
573 
574 #define NV10_3D_VTXBUF_BEGIN_END				0x000013fc
575 #define NV10_3D_VTXBUF_BEGIN_END_STOP				0x00000000
576 #define NV10_3D_VTXBUF_BEGIN_END_POINTS				0x00000001
577 #define NV10_3D_VTXBUF_BEGIN_END_LINES				0x00000002
578 #define NV10_3D_VTXBUF_BEGIN_END_LINE_LOOP			0x00000003
579 #define NV10_3D_VTXBUF_BEGIN_END_LINE_STRIP			0x00000004
580 #define NV10_3D_VTXBUF_BEGIN_END_TRIANGLES			0x00000005
581 #define NV10_3D_VTXBUF_BEGIN_END_TRIANGLE_STRIP			0x00000006
582 #define NV10_3D_VTXBUF_BEGIN_END_TRIANGLE_FAN			0x00000007
583 #define NV10_3D_VTXBUF_BEGIN_END_QUADS				0x00000008
584 #define NV10_3D_VTXBUF_BEGIN_END_QUAD_STRIP			0x00000009
585 #define NV10_3D_VTXBUF_BEGIN_END_POLYGON			0x0000000a
586 
587 #define NV10_3D_VTXBUF_BATCH					0x00001400
588 #define NV10_3D_VTXBUF_BATCH_FIRST__MASK			0x0000ffff
589 #define NV10_3D_VTXBUF_BATCH_FIRST__SHIFT			0
590 #define NV10_3D_VTXBUF_BATCH_LAST__MASK				0xff000000
591 #define NV10_3D_VTXBUF_BATCH_LAST__SHIFT			24
592 
593 #define NV10_3D_VTXBUF_DATA					0x00001800
594 
595 
596 #define NV10_3D_VERTEX_WEIGHT_ENABLE				0x00000328
597 
598 #define NV10_3D_VIEW_MATRIX_ENABLE				0x000003e8
599 #define NV10_3D_VIEW_MATRIX_ENABLE_MODELVIEW1			0x00000001
600 #define NV10_3D_VIEW_MATRIX_ENABLE_MODELVIEW0			0x00000002
601 #define NV10_3D_VIEW_MATRIX_ENABLE_PROJECTION			0x00000004
602 
603 
604 #define NV10_3D_MODELVIEW_MATRIX(i0, i1)		       (0x00000400 + 0x40*(i0) + 0x4*(i1))
605 #define NV10_3D_MODELVIEW_MATRIX__ESIZE				0x00000004
606 #define NV10_3D_MODELVIEW_MATRIX__LEN				0x00000010
607 
608 #define NV10_3D_INVERSE_MODELVIEW_MATRIX(i0, i1)	       (0x00000480 + 0x40*(i0) + 0x4*(i1))
609 #define NV10_3D_INVERSE_MODELVIEW_MATRIX__ESIZE			0x00000004
610 #define NV10_3D_INVERSE_MODELVIEW_MATRIX__LEN			0x0000000c
611 
612 #define NV10_3D_PROJECTION_MATRIX(i0)			       (0x00000500 + 0x4*(i0))
613 #define NV10_3D_PROJECTION_MATRIX__ESIZE			0x00000004
614 #define NV10_3D_PROJECTION_MATRIX__LEN				0x00000010
615 
616 #define NV10_3D_VIEWPORT_TRANSLATE				0x000006e8
617 
618 
619 #define NV10_3D_VIEWPORT_TRANSLATE_X				0x000006e8
620 
621 #define NV10_3D_VIEWPORT_TRANSLATE_Y				0x000006ec
622 
623 #define NV10_3D_VIEWPORT_TRANSLATE_Z				0x000006f0
624 
625 #define NV10_3D_VIEWPORT_TRANSLATE_W				0x000006f4
626 
627 
628 #define NV10_3D_LIGHT_MODEL					0x00000294
629 #define NV10_3D_LIGHT_MODEL_VERTEX_SPECULAR			0x00000001
630 #define NV10_3D_LIGHT_MODEL_SEPARATE_SPECULAR			0x00000002
631 #define NV10_3D_LIGHT_MODEL_LOCAL_VIEWER			0x00010000
632 
633 #define NV10_3D_COLOR_MATERIAL					0x00000298
634 #define NV10_3D_COLOR_MATERIAL_EMISSION				0x00000001
635 #define NV10_3D_COLOR_MATERIAL_AMBIENT				0x00000002
636 #define NV10_3D_COLOR_MATERIAL_DIFFUSE				0x00000004
637 #define NV10_3D_COLOR_MATERIAL_SPECULAR				0x00000008
638 
639 #define NV10_3D_MATERIAL_FACTOR					0x000003a8
640 
641 
642 #define NV10_3D_MATERIAL_FACTOR_R				0x000003a8
643 
644 #define NV10_3D_MATERIAL_FACTOR_G				0x000003ac
645 
646 #define NV10_3D_MATERIAL_FACTOR_B				0x000003b0
647 
648 #define NV10_3D_MATERIAL_FACTOR_A				0x000003b4
649 
650 #define NV10_3D_NORMALIZE_ENABLE				0x000003a4
651 
652 #define NV10_3D_SEPARATE_SPECULAR_ENABLE			0x000003b8
653 
654 #define NV10_3D_ENABLED_LIGHTS					0x000003bc
655 #define NV10_3D_ENABLED_LIGHTS_0__MASK				0x00000003
656 #define NV10_3D_ENABLED_LIGHTS_0__SHIFT				0
657 #define NV10_3D_ENABLED_LIGHTS_0_DISABLED			0x00000000
658 #define NV10_3D_ENABLED_LIGHTS_0_NONPOSITIONAL			0x00000001
659 #define NV10_3D_ENABLED_LIGHTS_0_POSITIONAL			0x00000002
660 #define NV10_3D_ENABLED_LIGHTS_0_DIRECTIONAL			0x00000003
661 #define NV10_3D_ENABLED_LIGHTS_1__MASK				0x0000000c
662 #define NV10_3D_ENABLED_LIGHTS_1__SHIFT				2
663 #define NV10_3D_ENABLED_LIGHTS_1_DISABLED			0x00000000
664 #define NV10_3D_ENABLED_LIGHTS_1_NONPOSITIONAL			0x00000004
665 #define NV10_3D_ENABLED_LIGHTS_1_POSITIONAL			0x00000008
666 #define NV10_3D_ENABLED_LIGHTS_1_DIRECTIONAL			0x0000000c
667 #define NV10_3D_ENABLED_LIGHTS_2__MASK				0x00000030
668 #define NV10_3D_ENABLED_LIGHTS_2__SHIFT				4
669 #define NV10_3D_ENABLED_LIGHTS_2_DISABLED			0x00000000
670 #define NV10_3D_ENABLED_LIGHTS_2_NONPOSITIONAL			0x00000010
671 #define NV10_3D_ENABLED_LIGHTS_2_POSITIONAL			0x00000020
672 #define NV10_3D_ENABLED_LIGHTS_2_DIRECTIONAL			0x00000030
673 #define NV10_3D_ENABLED_LIGHTS_3__MASK				0x000000c0
674 #define NV10_3D_ENABLED_LIGHTS_3__SHIFT				6
675 #define NV10_3D_ENABLED_LIGHTS_3_DISABLED			0x00000000
676 #define NV10_3D_ENABLED_LIGHTS_3_NONPOSITIONAL			0x00000040
677 #define NV10_3D_ENABLED_LIGHTS_3_POSITIONAL			0x00000080
678 #define NV10_3D_ENABLED_LIGHTS_3_DIRECTIONAL			0x000000c0
679 #define NV10_3D_ENABLED_LIGHTS_4__MASK				0x00000300
680 #define NV10_3D_ENABLED_LIGHTS_4__SHIFT				8
681 #define NV10_3D_ENABLED_LIGHTS_4_DISABLED			0x00000000
682 #define NV10_3D_ENABLED_LIGHTS_4_NONPOSITIONAL			0x00000100
683 #define NV10_3D_ENABLED_LIGHTS_4_POSITIONAL			0x00000200
684 #define NV10_3D_ENABLED_LIGHTS_4_DIRECTIONAL			0x00000300
685 #define NV10_3D_ENABLED_LIGHTS_5__MASK				0x00000c00
686 #define NV10_3D_ENABLED_LIGHTS_5__SHIFT				10
687 #define NV10_3D_ENABLED_LIGHTS_5_DISABLED			0x00000000
688 #define NV10_3D_ENABLED_LIGHTS_5_NONPOSITIONAL			0x00000400
689 #define NV10_3D_ENABLED_LIGHTS_5_POSITIONAL			0x00000800
690 #define NV10_3D_ENABLED_LIGHTS_5_DIRECTIONAL			0x00000c00
691 #define NV10_3D_ENABLED_LIGHTS_6__MASK				0x00003000
692 #define NV10_3D_ENABLED_LIGHTS_6__SHIFT				12
693 #define NV10_3D_ENABLED_LIGHTS_6_DISABLED			0x00000000
694 #define NV10_3D_ENABLED_LIGHTS_6_NONPOSITIONAL			0x00001000
695 #define NV10_3D_ENABLED_LIGHTS_6_POSITIONAL			0x00002000
696 #define NV10_3D_ENABLED_LIGHTS_6_DIRECTIONAL			0x00003000
697 #define NV10_3D_ENABLED_LIGHTS_7__MASK				0x0000c000
698 #define NV10_3D_ENABLED_LIGHTS_7__SHIFT				14
699 #define NV10_3D_ENABLED_LIGHTS_7_DISABLED			0x00000000
700 #define NV10_3D_ENABLED_LIGHTS_7_NONPOSITIONAL			0x00004000
701 #define NV10_3D_ENABLED_LIGHTS_7_POSITIONAL			0x00008000
702 #define NV10_3D_ENABLED_LIGHTS_7_DIRECTIONAL			0x0000c000
703 
704 #define NV10_3D_MATERIAL_SHININESS(i0)			       (0x000006a0 + 0x4*(i0))
705 #define NV10_3D_MATERIAL_SHININESS__ESIZE			0x00000004
706 #define NV10_3D_MATERIAL_SHININESS__LEN				0x00000006
707 
708 #define NV10_3D_LIGHT_MODEL_AMBIENT				0x000006c4
709 
710 
711 #define NV10_3D_LIGHT_MODEL_AMBIENT_R				0x000006c4
712 
713 #define NV10_3D_LIGHT_MODEL_AMBIENT_G				0x000006c8
714 
715 #define NV10_3D_LIGHT_MODEL_AMBIENT_B				0x000006cc
716 
717 #define NV10_3D_LIGHT(i0)				       (0x00000800 + 0x80*(i0))
718 #define NV10_3D_LIGHT__ESIZE					0x00000080
719 #define NV10_3D_LIGHT__LEN					0x00000008
720 
721 #define NV10_3D_LIGHT_AMBIENT(i0)			       (0x00000800 + 0x80*(i0))
722 
723 
724 #define NV10_3D_LIGHT_AMBIENT_R(i0)			       (0x00000800 + 0x80*(i0))
725 
726 #define NV10_3D_LIGHT_AMBIENT_G(i0)			       (0x00000804 + 0x80*(i0))
727 
728 #define NV10_3D_LIGHT_AMBIENT_B(i0)			       (0x00000808 + 0x80*(i0))
729 
730 #define NV10_3D_LIGHT_DIFFUSE(i0)			       (0x0000080c + 0x80*(i0))
731 
732 
733 #define NV10_3D_LIGHT_DIFFUSE_R(i0)			       (0x0000080c + 0x80*(i0))
734 
735 #define NV10_3D_LIGHT_DIFFUSE_G(i0)			       (0x00000810 + 0x80*(i0))
736 
737 #define NV10_3D_LIGHT_DIFFUSE_B(i0)			       (0x00000814 + 0x80*(i0))
738 
739 #define NV10_3D_LIGHT_SPECULAR(i0)			       (0x00000818 + 0x80*(i0))
740 
741 
742 #define NV10_3D_LIGHT_SPECULAR_R(i0)			       (0x00000818 + 0x80*(i0))
743 
744 #define NV10_3D_LIGHT_SPECULAR_G(i0)			       (0x0000081c + 0x80*(i0))
745 
746 #define NV10_3D_LIGHT_SPECULAR_B(i0)			       (0x00000820 + 0x80*(i0))
747 
748 #define NV10_3D_LIGHT_HALF_VECTOR(i0)			       (0x00000828 + 0x80*(i0))
749 
750 
751 #define NV10_3D_LIGHT_HALF_VECTOR_X(i0)			       (0x00000828 + 0x80*(i0))
752 
753 #define NV10_3D_LIGHT_HALF_VECTOR_Y(i0)			       (0x0000082c + 0x80*(i0))
754 
755 #define NV10_3D_LIGHT_HALF_VECTOR_Z(i0)			       (0x00000830 + 0x80*(i0))
756 
757 #define NV10_3D_LIGHT_DIRECTION(i0)			       (0x00000834 + 0x80*(i0))
758 
759 
760 #define NV10_3D_LIGHT_DIRECTION_X(i0)			       (0x00000834 + 0x80*(i0))
761 
762 #define NV10_3D_LIGHT_DIRECTION_Y(i0)			       (0x00000838 + 0x80*(i0))
763 
764 #define NV10_3D_LIGHT_DIRECTION_Z(i0)			       (0x0000083c + 0x80*(i0))
765 
766 #define NV10_3D_LIGHT_SPOT_CUTOFF(i0, i1)		       (0x00000840 + 0x80*(i0) + 0x4*(i1))
767 #define NV10_3D_LIGHT_SPOT_CUTOFF__ESIZE			0x00000004
768 #define NV10_3D_LIGHT_SPOT_CUTOFF__LEN				0x00000007
769 
770 #define NV10_3D_LIGHT_POSITION(i0)			       (0x0000085c + 0x80*(i0))
771 
772 
773 #define NV10_3D_LIGHT_POSITION_X(i0)			       (0x0000085c + 0x80*(i0))
774 
775 #define NV10_3D_LIGHT_POSITION_Y(i0)			       (0x00000860 + 0x80*(i0))
776 
777 #define NV10_3D_LIGHT_POSITION_Z(i0)			       (0x00000864 + 0x80*(i0))
778 
779 #define NV10_3D_LIGHT_ATTENUATION(i0)			       (0x00000868 + 0x80*(i0))
780 
781 #define NV10_3D_LIGHT_ATTENUATION_CONSTANT(i0)		       (0x00000868 + 0x80*(i0))
782 
783 #define NV10_3D_LIGHT_ATTENUATION_LINEAR(i0)		       (0x0000086c + 0x80*(i0))
784 
785 #define NV10_3D_LIGHT_ATTENUATION_QUADRATIC(i0)		       (0x00000870 + 0x80*(i0))
786 
787 
788 #define NV10_3D_FOG_MODE					0x0000029c
789 #define NV10_3D_FOG_MODE_LINEAR					0x00002601
790 #define NV10_3D_FOG_MODE_EXP					0x00000800
791 #define NV10_3D_FOG_MODE_EXP_ABS				0x00000802
792 #define NV10_3D_FOG_MODE_EXP2					0x00000803
793 
794 #define NV10_3D_FOG_COORD					0x000002a0
795 #define NV10_3D_FOG_COORD_FOG					0x00000000
796 #define NV10_3D_FOG_COORD_DIST_RADIAL				0x00000001
797 #define NV10_3D_FOG_COORD_DIST_ORTHOGONAL			0x00000002
798 #define NV10_3D_FOG_COORD_DIST_ORTHOGONAL_ABS			0x00000003
799 
800 #define NV10_3D_FOG_ENABLE					0x000002a4
801 
802 #define NV10_3D_FOG_COLOR					0x000002a8
803 #define NV10_3D_FOG_COLOR_R__MASK				0x000000ff
804 #define NV10_3D_FOG_COLOR_R__SHIFT				0
805 #define NV10_3D_FOG_COLOR_G__MASK				0x0000ff00
806 #define NV10_3D_FOG_COLOR_G__SHIFT				8
807 #define NV10_3D_FOG_COLOR_B__MASK				0x00ff0000
808 #define NV10_3D_FOG_COLOR_B__SHIFT				16
809 #define NV10_3D_FOG_COLOR_A__MASK				0xff000000
810 #define NV10_3D_FOG_COLOR_A__SHIFT				24
811 
812 #define NV10_3D_FOG_COEFF(i0)				       (0x00000680 + 0x4*(i0))
813 #define NV10_3D_FOG_COEFF__ESIZE				0x00000004
814 #define NV10_3D_FOG_COEFF__LEN					0x00000003
815 
816 
817 
818 #define NV10_3D_TEX_GEN_MODE(i0, i1)			       (0x000003c0 + 0x10*(i0) + 0x4*(i1))
819 #define NV10_3D_TEX_GEN_MODE__ESIZE				0x00000004
820 #define NV10_3D_TEX_GEN_MODE__LEN				0x00000004
821 #define NV10_3D_TEX_GEN_MODE_FALSE				0x00000000
822 #define NV10_3D_TEX_GEN_MODE_EYE_LINEAR				0x00002400
823 #define NV10_3D_TEX_GEN_MODE_OBJECT_LINEAR			0x00002401
824 #define NV10_3D_TEX_GEN_MODE_SPHERE_MAP				0x00002402
825 #define NV10_3D_TEX_GEN_MODE_NORMAL_MAP				0x00008511
826 #define NV10_3D_TEX_GEN_MODE_REFLECTION_MAP			0x00008512
827 
828 
829 #define NV10_3D_TEX_GEN_COEFF(i0, i1)			       (0x00000600 + 0x40*(i0) + 0x10*(i1))
830 #define NV10_3D_TEX_GEN_COEFF__ESIZE				0x00000010
831 #define NV10_3D_TEX_GEN_COEFF__LEN				0x00000004
832 
833 #define NV10_3D_TEX_GEN_COEFF_A(i0, i1)			       (0x00000600 + 0x40*(i0) + 0x10*(i1))
834 
835 #define NV10_3D_TEX_GEN_COEFF_B(i0, i1)			       (0x00000604 + 0x40*(i0) + 0x10*(i1))
836 
837 #define NV10_3D_TEX_GEN_COEFF_C(i0, i1)			       (0x00000608 + 0x40*(i0) + 0x10*(i1))
838 
839 #define NV10_3D_TEX_GEN_COEFF_D(i0, i1)			       (0x0000060c + 0x40*(i0) + 0x10*(i1))
840 
841 #define NV10_3D_TEX_MATRIX_ENABLE(i0)			       (0x000003e0 + 0x4*(i0))
842 #define NV10_3D_TEX_MATRIX_ENABLE__ESIZE			0x00000004
843 #define NV10_3D_TEX_MATRIX_ENABLE__LEN				0x00000002
844 
845 
846 #define NV10_3D_TEX_MATRIX(i0, i1)			       (0x00000540 + 0x40*(i0) + 0x4*(i1))
847 #define NV10_3D_TEX_MATRIX__ESIZE				0x00000004
848 #define NV10_3D_TEX_MATRIX__LEN					0x00000010
849 
850 #define NV10_3D_TEX(i0)					       (0x00000000 + 0x4*(i0))
851 #define NV10_3D_TEX__ESIZE					0x00000004
852 #define NV10_3D_TEX__LEN					0x00000002
853 
854 #define NV10_3D_TEX_OFFSET(i0)				       (0x00000218 + 0x4*(i0))
855 
856 #define NV10_3D_TEX_FORMAT(i0)				       (0x00000220 + 0x4*(i0))
857 #define NV10_3D_TEX_FORMAT_DMA0					0x00000001
858 #define NV10_3D_TEX_FORMAT_DMA1					0x00000002
859 #define NV10_3D_TEX_FORMAT_CUBE_MAP				0x00000004
860 #define NV10_3D_TEX_FORMAT_FORMAT__MASK				0x00000f80
861 #define NV10_3D_TEX_FORMAT_FORMAT__SHIFT			7
862 #define NV10_3D_TEX_FORMAT_FORMAT_L8				0x00000000
863 #define NV10_3D_TEX_FORMAT_FORMAT_I8				0x00000080
864 #define NV10_3D_TEX_FORMAT_FORMAT_A1R5G5B5			0x00000100
865 #define NV10_3D_TEX_FORMAT_FORMAT_A4R4G4B4			0x00000200
866 #define NV10_3D_TEX_FORMAT_FORMAT_R5G6B5			0x00000280
867 #define NV10_3D_TEX_FORMAT_FORMAT_A8R8G8B8			0x00000300
868 #define NV10_3D_TEX_FORMAT_FORMAT_X8R8G8B8			0x00000380
869 #define NV10_3D_TEX_FORMAT_FORMAT_INDEX8			0x00000580
870 #define NV10_3D_TEX_FORMAT_FORMAT_DXT1				0x00000600
871 #define NV10_3D_TEX_FORMAT_FORMAT_DXT3				0x00000700
872 #define NV10_3D_TEX_FORMAT_FORMAT_DXT5				0x00000780
873 #define NV10_3D_TEX_FORMAT_FORMAT_A1R5G5B5_RECT			0x00000800
874 #define NV10_3D_TEX_FORMAT_FORMAT_R5G6B5_RECT			0x00000880
875 #define NV10_3D_TEX_FORMAT_FORMAT_A8R8G8B8_RECT			0x00000900
876 #define NV10_3D_TEX_FORMAT_FORMAT_I8_RECT			0x00000980
877 #define NV10_3D_TEX_FORMAT_MIPMAP				0x00008000
878 #define NV10_3D_TEX_FORMAT_BASE_SIZE_U__MASK			0x000f0000
879 #define NV10_3D_TEX_FORMAT_BASE_SIZE_U__SHIFT			16
880 #define NV10_3D_TEX_FORMAT_BASE_SIZE_V__MASK			0x00f00000
881 #define NV10_3D_TEX_FORMAT_BASE_SIZE_V__SHIFT			20
882 #define NV10_3D_TEX_FORMAT_WRAP_S__MASK				0x0f000000
883 #define NV10_3D_TEX_FORMAT_WRAP_S__SHIFT			24
884 #define NV10_3D_TEX_FORMAT_WRAP_S_REPEAT			0x01000000
885 #define NV10_3D_TEX_FORMAT_WRAP_S_MIRRORED_REPEAT		0x02000000
886 #define NV10_3D_TEX_FORMAT_WRAP_S_CLAMP_TO_EDGE			0x03000000
887 #define NV10_3D_TEX_FORMAT_WRAP_S_CLAMP_TO_BORDER		0x04000000
888 #define NV10_3D_TEX_FORMAT_WRAP_S_CLAMP				0x05000000
889 #define NV10_3D_TEX_FORMAT_WRAP_T__MASK				0xf0000000
890 #define NV10_3D_TEX_FORMAT_WRAP_T__SHIFT			28
891 #define NV10_3D_TEX_FORMAT_WRAP_T_REPEAT			0x10000000
892 #define NV10_3D_TEX_FORMAT_WRAP_T_MIRRORED_REPEAT		0x20000000
893 #define NV10_3D_TEX_FORMAT_WRAP_T_CLAMP_TO_EDGE			0x30000000
894 #define NV10_3D_TEX_FORMAT_WRAP_T_CLAMP_TO_BORDER		0x40000000
895 #define NV10_3D_TEX_FORMAT_WRAP_T_CLAMP				0x50000000
896 
897 #define NV10_3D_TEX_ENABLE(i0)				       (0x00000228 + 0x4*(i0))
898 #define NV10_3D_TEX_ENABLE_CULL__MASK				0x0000000f
899 #define NV10_3D_TEX_ENABLE_CULL__SHIFT				0
900 #define NV10_3D_TEX_ENABLE_CULL_DISABLED			0x00000000
901 #define NV10_3D_TEX_ENABLE_CULL_TEST_ALL			0x00000003
902 #define NV10_3D_TEX_ENABLE_CULL_TEST_ALPHA			0x00000004
903 #define NV10_3D_TEX_ENABLE_ANISOTROPY__MASK			0x00000030
904 #define NV10_3D_TEX_ENABLE_ANISOTROPY__SHIFT			4
905 #define NV10_3D_TEX_ENABLE_MIPMAP_MAX_LOD__MASK			0x0003c000
906 #define NV10_3D_TEX_ENABLE_MIPMAP_MAX_LOD__SHIFT		14
907 #define NV10_3D_TEX_ENABLE_MIPMAP_MIN_LOD__MASK			0x3c000000
908 #define NV10_3D_TEX_ENABLE_MIPMAP_MIN_LOD__SHIFT		26
909 #define NV10_3D_TEX_ENABLE_ENABLE				0x40000000
910 
911 #define NV10_3D_TEX_NPOT_PITCH(i0)			       (0x00000230 + 0x4*(i0))
912 #define NV10_3D_TEX_NPOT_PITCH_PITCH__MASK			0xffff0000
913 #define NV10_3D_TEX_NPOT_PITCH_PITCH__SHIFT			16
914 
915 #define NV10_3D_TEX_NPOT_SIZE(i0)			       (0x00000240 + 0x4*(i0))
916 #define NV10_3D_TEX_NPOT_SIZE_H__MASK				0x0000ffff
917 #define NV10_3D_TEX_NPOT_SIZE_H__SHIFT				0
918 #define NV10_3D_TEX_NPOT_SIZE_W__MASK				0xffff0000
919 #define NV10_3D_TEX_NPOT_SIZE_W__SHIFT				16
920 
921 #define NV10_3D_TEX_FILTER(i0)				       (0x00000248 + 0x4*(i0))
922 #define NV10_3D_TEX_FILTER_LOD_BIAS__MASK			0x00000f00
923 #define NV10_3D_TEX_FILTER_LOD_BIAS__SHIFT			8
924 #define NV10_3D_TEX_FILTER_MINIFY__MASK				0x0f000000
925 #define NV10_3D_TEX_FILTER_MINIFY__SHIFT			24
926 #define NV10_3D_TEX_FILTER_MINIFY_NEAREST			0x01000000
927 #define NV10_3D_TEX_FILTER_MINIFY_LINEAR			0x02000000
928 #define NV10_3D_TEX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST	0x03000000
929 #define NV10_3D_TEX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST		0x04000000
930 #define NV10_3D_TEX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR		0x05000000
931 #define NV10_3D_TEX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR		0x06000000
932 #define NV10_3D_TEX_FILTER_MAGNIFY__MASK			0xf0000000
933 #define NV10_3D_TEX_FILTER_MAGNIFY__SHIFT			28
934 #define NV10_3D_TEX_FILTER_MAGNIFY_NEAREST			0x10000000
935 #define NV10_3D_TEX_FILTER_MAGNIFY_LINEAR			0x20000000
936 
937 #define NV10_3D_TEX_PALETTE_OFFSET(i0)			       (0x00000250 + 0x4*(i0))
938 
939 
940 
941 #define NV10_3D_RC_IN_ALPHA(i0)				       (0x00000260 + 0x4*(i0))
942 #define NV10_3D_RC_IN_ALPHA_D_INPUT__MASK			0x0000000f
943 #define NV10_3D_RC_IN_ALPHA_D_INPUT__SHIFT			0
944 #define NV10_3D_RC_IN_ALPHA_D_INPUT_ZERO			0x00000000
945 #define NV10_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0		0x00000001
946 #define NV10_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1		0x00000002
947 #define NV10_3D_RC_IN_ALPHA_D_INPUT_FOG				0x00000003
948 #define NV10_3D_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR		0x00000004
949 #define NV10_3D_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR		0x00000005
950 #define NV10_3D_RC_IN_ALPHA_D_INPUT_TEXTURE0			0x00000008
951 #define NV10_3D_RC_IN_ALPHA_D_INPUT_TEXTURE1			0x00000009
952 #define NV10_3D_RC_IN_ALPHA_D_INPUT_TEXTURE2			0x0000000a
953 #define NV10_3D_RC_IN_ALPHA_D_INPUT_TEXTURE3			0x0000000b
954 #define NV10_3D_RC_IN_ALPHA_D_INPUT_SPARE0			0x0000000c
955 #define NV10_3D_RC_IN_ALPHA_D_INPUT_SPARE1			0x0000000d
956 #define NV10_3D_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0000000e
957 #define NV10_3D_RC_IN_ALPHA_D_INPUT_E_TIMES_F			0x0000000f
958 #define NV10_3D_RC_IN_ALPHA_D_COMPONENT_USAGE__MASK		0x00000010
959 #define NV10_3D_RC_IN_ALPHA_D_COMPONENT_USAGE__SHIFT		4
960 #define NV10_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE		0x00000000
961 #define NV10_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA		0x00000010
962 #define NV10_3D_RC_IN_ALPHA_D_MAPPING__MASK			0x000000e0
963 #define NV10_3D_RC_IN_ALPHA_D_MAPPING__SHIFT			5
964 #define NV10_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY		0x00000000
965 #define NV10_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT		0x00000020
966 #define NV10_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL		0x00000040
967 #define NV10_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE		0x00000060
968 #define NV10_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL		0x00000080
969 #define NV10_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE		0x000000a0
970 #define NV10_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY		0x000000c0
971 #define NV10_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE		0x000000e0
972 #define NV10_3D_RC_IN_ALPHA_C_INPUT__MASK			0x00000f00
973 #define NV10_3D_RC_IN_ALPHA_C_INPUT__SHIFT			8
974 #define NV10_3D_RC_IN_ALPHA_C_INPUT_ZERO			0x00000000
975 #define NV10_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0		0x00000100
976 #define NV10_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1		0x00000200
977 #define NV10_3D_RC_IN_ALPHA_C_INPUT_FOG				0x00000300
978 #define NV10_3D_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR		0x00000400
979 #define NV10_3D_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR		0x00000500
980 #define NV10_3D_RC_IN_ALPHA_C_INPUT_TEXTURE0			0x00000800
981 #define NV10_3D_RC_IN_ALPHA_C_INPUT_TEXTURE1			0x00000900
982 #define NV10_3D_RC_IN_ALPHA_C_INPUT_TEXTURE2			0x00000a00
983 #define NV10_3D_RC_IN_ALPHA_C_INPUT_TEXTURE3			0x00000b00
984 #define NV10_3D_RC_IN_ALPHA_C_INPUT_SPARE0			0x00000c00
985 #define NV10_3D_RC_IN_ALPHA_C_INPUT_SPARE1			0x00000d00
986 #define NV10_3D_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x00000e00
987 #define NV10_3D_RC_IN_ALPHA_C_INPUT_E_TIMES_F			0x00000f00
988 #define NV10_3D_RC_IN_ALPHA_C_COMPONENT_USAGE__MASK		0x00001000
989 #define NV10_3D_RC_IN_ALPHA_C_COMPONENT_USAGE__SHIFT		12
990 #define NV10_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE		0x00000000
991 #define NV10_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA		0x00001000
992 #define NV10_3D_RC_IN_ALPHA_C_MAPPING__MASK			0x0000e000
993 #define NV10_3D_RC_IN_ALPHA_C_MAPPING__SHIFT			13
994 #define NV10_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY		0x00000000
995 #define NV10_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT		0x00002000
996 #define NV10_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL		0x00004000
997 #define NV10_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE		0x00006000
998 #define NV10_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL		0x00008000
999 #define NV10_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE		0x0000a000
1000 #define NV10_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY		0x0000c000
1001 #define NV10_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE		0x0000e000
1002 #define NV10_3D_RC_IN_ALPHA_B_INPUT__MASK			0x000f0000
1003 #define NV10_3D_RC_IN_ALPHA_B_INPUT__SHIFT			16
1004 #define NV10_3D_RC_IN_ALPHA_B_INPUT_ZERO			0x00000000
1005 #define NV10_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0		0x00010000
1006 #define NV10_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1		0x00020000
1007 #define NV10_3D_RC_IN_ALPHA_B_INPUT_FOG				0x00030000
1008 #define NV10_3D_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR		0x00040000
1009 #define NV10_3D_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR		0x00050000
1010 #define NV10_3D_RC_IN_ALPHA_B_INPUT_TEXTURE0			0x00080000
1011 #define NV10_3D_RC_IN_ALPHA_B_INPUT_TEXTURE1			0x00090000
1012 #define NV10_3D_RC_IN_ALPHA_B_INPUT_TEXTURE2			0x000a0000
1013 #define NV10_3D_RC_IN_ALPHA_B_INPUT_TEXTURE3			0x000b0000
1014 #define NV10_3D_RC_IN_ALPHA_B_INPUT_SPARE0			0x000c0000
1015 #define NV10_3D_RC_IN_ALPHA_B_INPUT_SPARE1			0x000d0000
1016 #define NV10_3D_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x000e0000
1017 #define NV10_3D_RC_IN_ALPHA_B_INPUT_E_TIMES_F			0x000f0000
1018 #define NV10_3D_RC_IN_ALPHA_B_COMPONENT_USAGE__MASK		0x00100000
1019 #define NV10_3D_RC_IN_ALPHA_B_COMPONENT_USAGE__SHIFT		20
1020 #define NV10_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE		0x00000000
1021 #define NV10_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA		0x00100000
1022 #define NV10_3D_RC_IN_ALPHA_B_MAPPING__MASK			0x00e00000
1023 #define NV10_3D_RC_IN_ALPHA_B_MAPPING__SHIFT			21
1024 #define NV10_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY		0x00000000
1025 #define NV10_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT		0x00200000
1026 #define NV10_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL		0x00400000
1027 #define NV10_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE		0x00600000
1028 #define NV10_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL		0x00800000
1029 #define NV10_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE		0x00a00000
1030 #define NV10_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY		0x00c00000
1031 #define NV10_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE		0x00e00000
1032 #define NV10_3D_RC_IN_ALPHA_A_INPUT__MASK			0x0f000000
1033 #define NV10_3D_RC_IN_ALPHA_A_INPUT__SHIFT			24
1034 #define NV10_3D_RC_IN_ALPHA_A_INPUT_ZERO			0x00000000
1035 #define NV10_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0		0x01000000
1036 #define NV10_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1		0x02000000
1037 #define NV10_3D_RC_IN_ALPHA_A_INPUT_FOG				0x03000000
1038 #define NV10_3D_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR		0x04000000
1039 #define NV10_3D_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR		0x05000000
1040 #define NV10_3D_RC_IN_ALPHA_A_INPUT_TEXTURE0			0x08000000
1041 #define NV10_3D_RC_IN_ALPHA_A_INPUT_TEXTURE1			0x09000000
1042 #define NV10_3D_RC_IN_ALPHA_A_INPUT_TEXTURE2			0x0a000000
1043 #define NV10_3D_RC_IN_ALPHA_A_INPUT_TEXTURE3			0x0b000000
1044 #define NV10_3D_RC_IN_ALPHA_A_INPUT_SPARE0			0x0c000000
1045 #define NV10_3D_RC_IN_ALPHA_A_INPUT_SPARE1			0x0d000000
1046 #define NV10_3D_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0e000000
1047 #define NV10_3D_RC_IN_ALPHA_A_INPUT_E_TIMES_F			0x0f000000
1048 #define NV10_3D_RC_IN_ALPHA_A_COMPONENT_USAGE__MASK		0x10000000
1049 #define NV10_3D_RC_IN_ALPHA_A_COMPONENT_USAGE__SHIFT		28
1050 #define NV10_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE		0x00000000
1051 #define NV10_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA		0x10000000
1052 #define NV10_3D_RC_IN_ALPHA_A_MAPPING__MASK			0xe0000000
1053 #define NV10_3D_RC_IN_ALPHA_A_MAPPING__SHIFT			29
1054 #define NV10_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY		0x00000000
1055 #define NV10_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT		0x20000000
1056 #define NV10_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL		0x40000000
1057 #define NV10_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE		0x60000000
1058 #define NV10_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL		0x80000000
1059 #define NV10_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE		0xa0000000
1060 #define NV10_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY		0xc0000000
1061 #define NV10_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE		0xe0000000
1062 
1063 #define NV10_3D_RC_IN_RGB(i0)				       (0x00000268 + 0x4*(i0))
1064 #define NV10_3D_RC_IN_RGB_D_INPUT__MASK				0x0000000f
1065 #define NV10_3D_RC_IN_RGB_D_INPUT__SHIFT			0
1066 #define NV10_3D_RC_IN_RGB_D_INPUT_ZERO				0x00000000
1067 #define NV10_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0		0x00000001
1068 #define NV10_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1		0x00000002
1069 #define NV10_3D_RC_IN_RGB_D_INPUT_FOG				0x00000003
1070 #define NV10_3D_RC_IN_RGB_D_INPUT_PRIMARY_COLOR			0x00000004
1071 #define NV10_3D_RC_IN_RGB_D_INPUT_SECONDARY_COLOR		0x00000005
1072 #define NV10_3D_RC_IN_RGB_D_INPUT_TEXTURE0			0x00000008
1073 #define NV10_3D_RC_IN_RGB_D_INPUT_TEXTURE1			0x00000009
1074 #define NV10_3D_RC_IN_RGB_D_INPUT_TEXTURE2			0x0000000a
1075 #define NV10_3D_RC_IN_RGB_D_INPUT_TEXTURE3			0x0000000b
1076 #define NV10_3D_RC_IN_RGB_D_INPUT_SPARE0			0x0000000c
1077 #define NV10_3D_RC_IN_RGB_D_INPUT_SPARE1			0x0000000d
1078 #define NV10_3D_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0000000e
1079 #define NV10_3D_RC_IN_RGB_D_INPUT_E_TIMES_F			0x0000000f
1080 #define NV10_3D_RC_IN_RGB_D_COMPONENT_USAGE__MASK		0x00000010
1081 #define NV10_3D_RC_IN_RGB_D_COMPONENT_USAGE__SHIFT		4
1082 #define NV10_3D_RC_IN_RGB_D_COMPONENT_USAGE_RGB			0x00000000
1083 #define NV10_3D_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA		0x00000010
1084 #define NV10_3D_RC_IN_RGB_D_MAPPING__MASK			0x000000e0
1085 #define NV10_3D_RC_IN_RGB_D_MAPPING__SHIFT			5
1086 #define NV10_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY		0x00000000
1087 #define NV10_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT		0x00000020
1088 #define NV10_3D_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL		0x00000040
1089 #define NV10_3D_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE		0x00000060
1090 #define NV10_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL		0x00000080
1091 #define NV10_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE		0x000000a0
1092 #define NV10_3D_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY		0x000000c0
1093 #define NV10_3D_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE		0x000000e0
1094 #define NV10_3D_RC_IN_RGB_C_INPUT__MASK				0x00000f00
1095 #define NV10_3D_RC_IN_RGB_C_INPUT__SHIFT			8
1096 #define NV10_3D_RC_IN_RGB_C_INPUT_ZERO				0x00000000
1097 #define NV10_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0		0x00000100
1098 #define NV10_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1		0x00000200
1099 #define NV10_3D_RC_IN_RGB_C_INPUT_FOG				0x00000300
1100 #define NV10_3D_RC_IN_RGB_C_INPUT_PRIMARY_COLOR			0x00000400
1101 #define NV10_3D_RC_IN_RGB_C_INPUT_SECONDARY_COLOR		0x00000500
1102 #define NV10_3D_RC_IN_RGB_C_INPUT_TEXTURE0			0x00000800
1103 #define NV10_3D_RC_IN_RGB_C_INPUT_TEXTURE1			0x00000900
1104 #define NV10_3D_RC_IN_RGB_C_INPUT_TEXTURE2			0x00000a00
1105 #define NV10_3D_RC_IN_RGB_C_INPUT_TEXTURE3			0x00000b00
1106 #define NV10_3D_RC_IN_RGB_C_INPUT_SPARE0			0x00000c00
1107 #define NV10_3D_RC_IN_RGB_C_INPUT_SPARE1			0x00000d00
1108 #define NV10_3D_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x00000e00
1109 #define NV10_3D_RC_IN_RGB_C_INPUT_E_TIMES_F			0x00000f00
1110 #define NV10_3D_RC_IN_RGB_C_COMPONENT_USAGE__MASK		0x00001000
1111 #define NV10_3D_RC_IN_RGB_C_COMPONENT_USAGE__SHIFT		12
1112 #define NV10_3D_RC_IN_RGB_C_COMPONENT_USAGE_RGB			0x00000000
1113 #define NV10_3D_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA		0x00001000
1114 #define NV10_3D_RC_IN_RGB_C_MAPPING__MASK			0x0000e000
1115 #define NV10_3D_RC_IN_RGB_C_MAPPING__SHIFT			13
1116 #define NV10_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY		0x00000000
1117 #define NV10_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT		0x00002000
1118 #define NV10_3D_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL		0x00004000
1119 #define NV10_3D_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE		0x00006000
1120 #define NV10_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL		0x00008000
1121 #define NV10_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE		0x0000a000
1122 #define NV10_3D_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY		0x0000c000
1123 #define NV10_3D_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE		0x0000e000
1124 #define NV10_3D_RC_IN_RGB_B_INPUT__MASK				0x000f0000
1125 #define NV10_3D_RC_IN_RGB_B_INPUT__SHIFT			16
1126 #define NV10_3D_RC_IN_RGB_B_INPUT_ZERO				0x00000000
1127 #define NV10_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0		0x00010000
1128 #define NV10_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1		0x00020000
1129 #define NV10_3D_RC_IN_RGB_B_INPUT_FOG				0x00030000
1130 #define NV10_3D_RC_IN_RGB_B_INPUT_PRIMARY_COLOR			0x00040000
1131 #define NV10_3D_RC_IN_RGB_B_INPUT_SECONDARY_COLOR		0x00050000
1132 #define NV10_3D_RC_IN_RGB_B_INPUT_TEXTURE0			0x00080000
1133 #define NV10_3D_RC_IN_RGB_B_INPUT_TEXTURE1			0x00090000
1134 #define NV10_3D_RC_IN_RGB_B_INPUT_TEXTURE2			0x000a0000
1135 #define NV10_3D_RC_IN_RGB_B_INPUT_TEXTURE3			0x000b0000
1136 #define NV10_3D_RC_IN_RGB_B_INPUT_SPARE0			0x000c0000
1137 #define NV10_3D_RC_IN_RGB_B_INPUT_SPARE1			0x000d0000
1138 #define NV10_3D_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x000e0000
1139 #define NV10_3D_RC_IN_RGB_B_INPUT_E_TIMES_F			0x000f0000
1140 #define NV10_3D_RC_IN_RGB_B_COMPONENT_USAGE__MASK		0x00100000
1141 #define NV10_3D_RC_IN_RGB_B_COMPONENT_USAGE__SHIFT		20
1142 #define NV10_3D_RC_IN_RGB_B_COMPONENT_USAGE_RGB			0x00000000
1143 #define NV10_3D_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA		0x00100000
1144 #define NV10_3D_RC_IN_RGB_B_MAPPING__MASK			0x00e00000
1145 #define NV10_3D_RC_IN_RGB_B_MAPPING__SHIFT			21
1146 #define NV10_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY		0x00000000
1147 #define NV10_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT		0x00200000
1148 #define NV10_3D_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL		0x00400000
1149 #define NV10_3D_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE		0x00600000
1150 #define NV10_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL		0x00800000
1151 #define NV10_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE		0x00a00000
1152 #define NV10_3D_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY		0x00c00000
1153 #define NV10_3D_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE		0x00e00000
1154 #define NV10_3D_RC_IN_RGB_A_INPUT__MASK				0x0f000000
1155 #define NV10_3D_RC_IN_RGB_A_INPUT__SHIFT			24
1156 #define NV10_3D_RC_IN_RGB_A_INPUT_ZERO				0x00000000
1157 #define NV10_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0		0x01000000
1158 #define NV10_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1		0x02000000
1159 #define NV10_3D_RC_IN_RGB_A_INPUT_FOG				0x03000000
1160 #define NV10_3D_RC_IN_RGB_A_INPUT_PRIMARY_COLOR			0x04000000
1161 #define NV10_3D_RC_IN_RGB_A_INPUT_SECONDARY_COLOR		0x05000000
1162 #define NV10_3D_RC_IN_RGB_A_INPUT_TEXTURE0			0x08000000
1163 #define NV10_3D_RC_IN_RGB_A_INPUT_TEXTURE1			0x09000000
1164 #define NV10_3D_RC_IN_RGB_A_INPUT_TEXTURE2			0x0a000000
1165 #define NV10_3D_RC_IN_RGB_A_INPUT_TEXTURE3			0x0b000000
1166 #define NV10_3D_RC_IN_RGB_A_INPUT_SPARE0			0x0c000000
1167 #define NV10_3D_RC_IN_RGB_A_INPUT_SPARE1			0x0d000000
1168 #define NV10_3D_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0e000000
1169 #define NV10_3D_RC_IN_RGB_A_INPUT_E_TIMES_F			0x0f000000
1170 #define NV10_3D_RC_IN_RGB_A_COMPONENT_USAGE__MASK		0x10000000
1171 #define NV10_3D_RC_IN_RGB_A_COMPONENT_USAGE__SHIFT		28
1172 #define NV10_3D_RC_IN_RGB_A_COMPONENT_USAGE_RGB			0x00000000
1173 #define NV10_3D_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA		0x10000000
1174 #define NV10_3D_RC_IN_RGB_A_MAPPING__MASK			0xe0000000
1175 #define NV10_3D_RC_IN_RGB_A_MAPPING__SHIFT			29
1176 #define NV10_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY		0x00000000
1177 #define NV10_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT		0x20000000
1178 #define NV10_3D_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL		0x40000000
1179 #define NV10_3D_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE		0x60000000
1180 #define NV10_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL		0x80000000
1181 #define NV10_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE		0xa0000000
1182 #define NV10_3D_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY		0xc0000000
1183 #define NV10_3D_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE		0xe0000000
1184 
1185 #define NV10_3D_RC_COLOR(i0)				       (0x00000270 + 0x4*(i0))
1186 #define NV10_3D_RC_COLOR_B__MASK				0x000000ff
1187 #define NV10_3D_RC_COLOR_B__SHIFT				0
1188 #define NV10_3D_RC_COLOR_G__MASK				0x0000ff00
1189 #define NV10_3D_RC_COLOR_G__SHIFT				8
1190 #define NV10_3D_RC_COLOR_R__MASK				0x00ff0000
1191 #define NV10_3D_RC_COLOR_R__SHIFT				16
1192 #define NV10_3D_RC_COLOR_A__MASK				0xff000000
1193 #define NV10_3D_RC_COLOR_A__SHIFT				24
1194 
1195 #define NV10_3D_RC_OUT_ALPHA(i0)			       (0x00000278 + 0x4*(i0))
1196 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT__MASK			0x0000000f
1197 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT__SHIFT			0
1198 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_ZERO			0x00000000
1199 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0		0x00000001
1200 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1		0x00000002
1201 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_FOG			0x00000003
1202 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR		0x00000004
1203 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR		0x00000005
1204 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0			0x00000008
1205 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1			0x00000009
1206 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2			0x0000000a
1207 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3			0x0000000b
1208 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0			0x0000000c
1209 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE1			0x0000000d
1210 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0000000e
1211 #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F		0x0000000f
1212 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT__MASK			0x000000f0
1213 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT__SHIFT			4
1214 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_ZERO			0x00000000
1215 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0		0x00000010
1216 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1		0x00000020
1217 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_FOG			0x00000030
1218 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR		0x00000040
1219 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR		0x00000050
1220 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0			0x00000080
1221 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1			0x00000090
1222 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2			0x000000a0
1223 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3			0x000000b0
1224 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0			0x000000c0
1225 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE1			0x000000d0
1226 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR	0x000000e0
1227 #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F		0x000000f0
1228 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT__MASK			0x00000f00
1229 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT__SHIFT			8
1230 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_ZERO			0x00000000
1231 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0		0x00000100
1232 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1		0x00000200
1233 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_FOG			0x00000300
1234 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR		0x00000400
1235 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR		0x00000500
1236 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0		0x00000800
1237 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1		0x00000900
1238 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2		0x00000a00
1239 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3		0x00000b00
1240 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0			0x00000c00
1241 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1			0x00000d00
1242 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR	0x00000e00
1243 #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F		0x00000f00
1244 #define NV10_3D_RC_OUT_ALPHA_CD_DOT_PRODUCT			0x00001000
1245 #define NV10_3D_RC_OUT_ALPHA_AB_DOT_PRODUCT			0x00002000
1246 #define NV10_3D_RC_OUT_ALPHA_MUX_SUM				0x00004000
1247 #define NV10_3D_RC_OUT_ALPHA_BIAS__MASK				0x00008000
1248 #define NV10_3D_RC_OUT_ALPHA_BIAS__SHIFT			15
1249 #define NV10_3D_RC_OUT_ALPHA_BIAS_NONE				0x00000000
1250 #define NV10_3D_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF	0x00008000
1251 #define NV10_3D_RC_OUT_ALPHA_SCALE__MASK			0x00030000
1252 #define NV10_3D_RC_OUT_ALPHA_SCALE__SHIFT			16
1253 #define NV10_3D_RC_OUT_ALPHA_SCALE_NONE				0x00000000
1254 #define NV10_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO			0x00010000
1255 #define NV10_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR		0x00020000
1256 #define NV10_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF		0x00030000
1257 
1258 #define NV10_3D_RC_OUT_RGB(i0)				       (0x00000280 + 0x4*(i0))
1259 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT__MASK			0x0000000f
1260 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT__SHIFT			0
1261 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_ZERO			0x00000000
1262 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0		0x00000001
1263 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1		0x00000002
1264 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_FOG			0x00000003
1265 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR		0x00000004
1266 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR		0x00000005
1267 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE0			0x00000008
1268 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE1			0x00000009
1269 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE2			0x0000000a
1270 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE3			0x0000000b
1271 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0			0x0000000c
1272 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_SPARE1			0x0000000d
1273 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0000000e
1274 #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F			0x0000000f
1275 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT__MASK			0x000000f0
1276 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT__SHIFT			4
1277 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_ZERO			0x00000000
1278 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0		0x00000010
1279 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1		0x00000020
1280 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_FOG			0x00000030
1281 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR		0x00000040
1282 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR		0x00000050
1283 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE0			0x00000080
1284 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE1			0x00000090
1285 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE2			0x000000a0
1286 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE3			0x000000b0
1287 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0			0x000000c0
1288 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_SPARE1			0x000000d0
1289 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR	0x000000e0
1290 #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F			0x000000f0
1291 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT__MASK			0x00000f00
1292 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT__SHIFT			8
1293 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_ZERO			0x00000000
1294 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0		0x00000100
1295 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1		0x00000200
1296 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_FOG			0x00000300
1297 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR		0x00000400
1298 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR		0x00000500
1299 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0			0x00000800
1300 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1			0x00000900
1301 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2			0x00000a00
1302 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3			0x00000b00
1303 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0			0x00000c00
1304 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE1			0x00000d00
1305 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR	0x00000e00
1306 #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F			0x00000f00
1307 #define NV10_3D_RC_OUT_RGB_CD_DOT_PRODUCT			0x00001000
1308 #define NV10_3D_RC_OUT_RGB_AB_DOT_PRODUCT			0x00002000
1309 #define NV10_3D_RC_OUT_RGB_MUX_SUM				0x00004000
1310 #define NV10_3D_RC_OUT_RGB_BIAS__MASK				0x00008000
1311 #define NV10_3D_RC_OUT_RGB_BIAS__SHIFT				15
1312 #define NV10_3D_RC_OUT_RGB_BIAS_NONE				0x00000000
1313 #define NV10_3D_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF	0x00008000
1314 #define NV10_3D_RC_OUT_RGB_SCALE__MASK				0x00030000
1315 #define NV10_3D_RC_OUT_RGB_SCALE__SHIFT				16
1316 #define NV10_3D_RC_OUT_RGB_SCALE_NONE				0x00000000
1317 #define NV10_3D_RC_OUT_RGB_SCALE_SCALE_BY_TWO			0x00010000
1318 #define NV10_3D_RC_OUT_RGB_SCALE_SCALE_BY_FOUR			0x00020000
1319 #define NV10_3D_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF		0x00030000
1320 #define NV10_3D_RC_OUT_RGB_OPERATION__MASK			0x38000000
1321 #define NV10_3D_RC_OUT_RGB_OPERATION__SHIFT			27
1322 
1323 #define NV10_3D_RC_FINAL0					0x00000288
1324 #define NV10_3D_RC_FINAL0_D_INPUT__MASK				0x0000000f
1325 #define NV10_3D_RC_FINAL0_D_INPUT__SHIFT			0
1326 #define NV10_3D_RC_FINAL0_D_INPUT_ZERO				0x00000000
1327 #define NV10_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR0		0x00000001
1328 #define NV10_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR1		0x00000002
1329 #define NV10_3D_RC_FINAL0_D_INPUT_FOG				0x00000003
1330 #define NV10_3D_RC_FINAL0_D_INPUT_PRIMARY_COLOR			0x00000004
1331 #define NV10_3D_RC_FINAL0_D_INPUT_SECONDARY_COLOR		0x00000005
1332 #define NV10_3D_RC_FINAL0_D_INPUT_TEXTURE0			0x00000008
1333 #define NV10_3D_RC_FINAL0_D_INPUT_TEXTURE1			0x00000009
1334 #define NV10_3D_RC_FINAL0_D_INPUT_TEXTURE2			0x0000000a
1335 #define NV10_3D_RC_FINAL0_D_INPUT_TEXTURE3			0x0000000b
1336 #define NV10_3D_RC_FINAL0_D_INPUT_SPARE0			0x0000000c
1337 #define NV10_3D_RC_FINAL0_D_INPUT_SPARE1			0x0000000d
1338 #define NV10_3D_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0000000e
1339 #define NV10_3D_RC_FINAL0_D_INPUT_E_TIMES_F			0x0000000f
1340 #define NV10_3D_RC_FINAL0_D_COMPONENT_USAGE__MASK		0x00000010
1341 #define NV10_3D_RC_FINAL0_D_COMPONENT_USAGE__SHIFT		4
1342 #define NV10_3D_RC_FINAL0_D_COMPONENT_USAGE_RGB			0x00000000
1343 #define NV10_3D_RC_FINAL0_D_COMPONENT_USAGE_ALPHA		0x00000010
1344 #define NV10_3D_RC_FINAL0_D_MAPPING__MASK			0x000000e0
1345 #define NV10_3D_RC_FINAL0_D_MAPPING__SHIFT			5
1346 #define NV10_3D_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY		0x00000000
1347 #define NV10_3D_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT		0x00000020
1348 #define NV10_3D_RC_FINAL0_D_MAPPING_EXPAND_NORMAL		0x00000040
1349 #define NV10_3D_RC_FINAL0_D_MAPPING_EXPAND_NEGATE		0x00000060
1350 #define NV10_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL		0x00000080
1351 #define NV10_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE		0x000000a0
1352 #define NV10_3D_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY		0x000000c0
1353 #define NV10_3D_RC_FINAL0_D_MAPPING_SIGNED_NEGATE		0x000000e0
1354 #define NV10_3D_RC_FINAL0_C_INPUT__MASK				0x00000f00
1355 #define NV10_3D_RC_FINAL0_C_INPUT__SHIFT			8
1356 #define NV10_3D_RC_FINAL0_C_INPUT_ZERO				0x00000000
1357 #define NV10_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR0		0x00000100
1358 #define NV10_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR1		0x00000200
1359 #define NV10_3D_RC_FINAL0_C_INPUT_FOG				0x00000300
1360 #define NV10_3D_RC_FINAL0_C_INPUT_PRIMARY_COLOR			0x00000400
1361 #define NV10_3D_RC_FINAL0_C_INPUT_SECONDARY_COLOR		0x00000500
1362 #define NV10_3D_RC_FINAL0_C_INPUT_TEXTURE0			0x00000800
1363 #define NV10_3D_RC_FINAL0_C_INPUT_TEXTURE1			0x00000900
1364 #define NV10_3D_RC_FINAL0_C_INPUT_TEXTURE2			0x00000a00
1365 #define NV10_3D_RC_FINAL0_C_INPUT_TEXTURE3			0x00000b00
1366 #define NV10_3D_RC_FINAL0_C_INPUT_SPARE0			0x00000c00
1367 #define NV10_3D_RC_FINAL0_C_INPUT_SPARE1			0x00000d00
1368 #define NV10_3D_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x00000e00
1369 #define NV10_3D_RC_FINAL0_C_INPUT_E_TIMES_F			0x00000f00
1370 #define NV10_3D_RC_FINAL0_C_COMPONENT_USAGE__MASK		0x00001000
1371 #define NV10_3D_RC_FINAL0_C_COMPONENT_USAGE__SHIFT		12
1372 #define NV10_3D_RC_FINAL0_C_COMPONENT_USAGE_RGB			0x00000000
1373 #define NV10_3D_RC_FINAL0_C_COMPONENT_USAGE_ALPHA		0x00001000
1374 #define NV10_3D_RC_FINAL0_C_MAPPING__MASK			0x0000e000
1375 #define NV10_3D_RC_FINAL0_C_MAPPING__SHIFT			13
1376 #define NV10_3D_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY		0x00000000
1377 #define NV10_3D_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT		0x00002000
1378 #define NV10_3D_RC_FINAL0_C_MAPPING_EXPAND_NORMAL		0x00004000
1379 #define NV10_3D_RC_FINAL0_C_MAPPING_EXPAND_NEGATE		0x00006000
1380 #define NV10_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL		0x00008000
1381 #define NV10_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE		0x0000a000
1382 #define NV10_3D_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY		0x0000c000
1383 #define NV10_3D_RC_FINAL0_C_MAPPING_SIGNED_NEGATE		0x0000e000
1384 #define NV10_3D_RC_FINAL0_B_INPUT__MASK				0x000f0000
1385 #define NV10_3D_RC_FINAL0_B_INPUT__SHIFT			16
1386 #define NV10_3D_RC_FINAL0_B_INPUT_ZERO				0x00000000
1387 #define NV10_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR0		0x00010000
1388 #define NV10_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR1		0x00020000
1389 #define NV10_3D_RC_FINAL0_B_INPUT_FOG				0x00030000
1390 #define NV10_3D_RC_FINAL0_B_INPUT_PRIMARY_COLOR			0x00040000
1391 #define NV10_3D_RC_FINAL0_B_INPUT_SECONDARY_COLOR		0x00050000
1392 #define NV10_3D_RC_FINAL0_B_INPUT_TEXTURE0			0x00080000
1393 #define NV10_3D_RC_FINAL0_B_INPUT_TEXTURE1			0x00090000
1394 #define NV10_3D_RC_FINAL0_B_INPUT_TEXTURE2			0x000a0000
1395 #define NV10_3D_RC_FINAL0_B_INPUT_TEXTURE3			0x000b0000
1396 #define NV10_3D_RC_FINAL0_B_INPUT_SPARE0			0x000c0000
1397 #define NV10_3D_RC_FINAL0_B_INPUT_SPARE1			0x000d0000
1398 #define NV10_3D_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x000e0000
1399 #define NV10_3D_RC_FINAL0_B_INPUT_E_TIMES_F			0x000f0000
1400 #define NV10_3D_RC_FINAL0_B_COMPONENT_USAGE__MASK		0x00100000
1401 #define NV10_3D_RC_FINAL0_B_COMPONENT_USAGE__SHIFT		20
1402 #define NV10_3D_RC_FINAL0_B_COMPONENT_USAGE_RGB			0x00000000
1403 #define NV10_3D_RC_FINAL0_B_COMPONENT_USAGE_ALPHA		0x00100000
1404 #define NV10_3D_RC_FINAL0_B_MAPPING__MASK			0x00e00000
1405 #define NV10_3D_RC_FINAL0_B_MAPPING__SHIFT			21
1406 #define NV10_3D_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY		0x00000000
1407 #define NV10_3D_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT		0x00200000
1408 #define NV10_3D_RC_FINAL0_B_MAPPING_EXPAND_NORMAL		0x00400000
1409 #define NV10_3D_RC_FINAL0_B_MAPPING_EXPAND_NEGATE		0x00600000
1410 #define NV10_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL		0x00800000
1411 #define NV10_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE		0x00a00000
1412 #define NV10_3D_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY		0x00c00000
1413 #define NV10_3D_RC_FINAL0_B_MAPPING_SIGNED_NEGATE		0x00e00000
1414 #define NV10_3D_RC_FINAL0_A_INPUT__MASK				0x0f000000
1415 #define NV10_3D_RC_FINAL0_A_INPUT__SHIFT			24
1416 #define NV10_3D_RC_FINAL0_A_INPUT_ZERO				0x00000000
1417 #define NV10_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR0		0x01000000
1418 #define NV10_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR1		0x02000000
1419 #define NV10_3D_RC_FINAL0_A_INPUT_FOG				0x03000000
1420 #define NV10_3D_RC_FINAL0_A_INPUT_PRIMARY_COLOR			0x04000000
1421 #define NV10_3D_RC_FINAL0_A_INPUT_SECONDARY_COLOR		0x05000000
1422 #define NV10_3D_RC_FINAL0_A_INPUT_TEXTURE0			0x08000000
1423 #define NV10_3D_RC_FINAL0_A_INPUT_TEXTURE1			0x09000000
1424 #define NV10_3D_RC_FINAL0_A_INPUT_TEXTURE2			0x0a000000
1425 #define NV10_3D_RC_FINAL0_A_INPUT_TEXTURE3			0x0b000000
1426 #define NV10_3D_RC_FINAL0_A_INPUT_SPARE0			0x0c000000
1427 #define NV10_3D_RC_FINAL0_A_INPUT_SPARE1			0x0d000000
1428 #define NV10_3D_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0e000000
1429 #define NV10_3D_RC_FINAL0_A_INPUT_E_TIMES_F			0x0f000000
1430 #define NV10_3D_RC_FINAL0_A_COMPONENT_USAGE__MASK		0x10000000
1431 #define NV10_3D_RC_FINAL0_A_COMPONENT_USAGE__SHIFT		28
1432 #define NV10_3D_RC_FINAL0_A_COMPONENT_USAGE_RGB			0x00000000
1433 #define NV10_3D_RC_FINAL0_A_COMPONENT_USAGE_ALPHA		0x10000000
1434 #define NV10_3D_RC_FINAL0_A_MAPPING__MASK			0xe0000000
1435 #define NV10_3D_RC_FINAL0_A_MAPPING__SHIFT			29
1436 #define NV10_3D_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY		0x00000000
1437 #define NV10_3D_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT		0x20000000
1438 #define NV10_3D_RC_FINAL0_A_MAPPING_EXPAND_NORMAL		0x40000000
1439 #define NV10_3D_RC_FINAL0_A_MAPPING_EXPAND_NEGATE		0x60000000
1440 #define NV10_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL		0x80000000
1441 #define NV10_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE		0xa0000000
1442 #define NV10_3D_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY		0xc0000000
1443 #define NV10_3D_RC_FINAL0_A_MAPPING_SIGNED_NEGATE		0xe0000000
1444 
1445 #define NV10_3D_RC_FINAL1					0x0000028c
1446 #define NV10_3D_RC_FINAL1_COLOR_SUM_CLAMP			0x00000080
1447 #define NV10_3D_RC_FINAL1_G_INPUT__MASK				0x00000f00
1448 #define NV10_3D_RC_FINAL1_G_INPUT__SHIFT			8
1449 #define NV10_3D_RC_FINAL1_G_INPUT_ZERO				0x00000000
1450 #define NV10_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR0		0x00000100
1451 #define NV10_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR1		0x00000200
1452 #define NV10_3D_RC_FINAL1_G_INPUT_FOG				0x00000300
1453 #define NV10_3D_RC_FINAL1_G_INPUT_PRIMARY_COLOR			0x00000400
1454 #define NV10_3D_RC_FINAL1_G_INPUT_SECONDARY_COLOR		0x00000500
1455 #define NV10_3D_RC_FINAL1_G_INPUT_TEXTURE0			0x00000800
1456 #define NV10_3D_RC_FINAL1_G_INPUT_TEXTURE1			0x00000900
1457 #define NV10_3D_RC_FINAL1_G_INPUT_TEXTURE2			0x00000a00
1458 #define NV10_3D_RC_FINAL1_G_INPUT_TEXTURE3			0x00000b00
1459 #define NV10_3D_RC_FINAL1_G_INPUT_SPARE0			0x00000c00
1460 #define NV10_3D_RC_FINAL1_G_INPUT_SPARE1			0x00000d00
1461 #define NV10_3D_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x00000e00
1462 #define NV10_3D_RC_FINAL1_G_INPUT_E_TIMES_F			0x00000f00
1463 #define NV10_3D_RC_FINAL1_G_COMPONENT_USAGE__MASK		0x00001000
1464 #define NV10_3D_RC_FINAL1_G_COMPONENT_USAGE__SHIFT		12
1465 #define NV10_3D_RC_FINAL1_G_COMPONENT_USAGE_RGB			0x00000000
1466 #define NV10_3D_RC_FINAL1_G_COMPONENT_USAGE_ALPHA		0x00001000
1467 #define NV10_3D_RC_FINAL1_G_MAPPING__MASK			0x0000e000
1468 #define NV10_3D_RC_FINAL1_G_MAPPING__SHIFT			13
1469 #define NV10_3D_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY		0x00000000
1470 #define NV10_3D_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT		0x00002000
1471 #define NV10_3D_RC_FINAL1_G_MAPPING_EXPAND_NORMAL		0x00004000
1472 #define NV10_3D_RC_FINAL1_G_MAPPING_EXPAND_NEGATE		0x00006000
1473 #define NV10_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL		0x00008000
1474 #define NV10_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE		0x0000a000
1475 #define NV10_3D_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY		0x0000c000
1476 #define NV10_3D_RC_FINAL1_G_MAPPING_SIGNED_NEGATE		0x0000e000
1477 #define NV10_3D_RC_FINAL1_F_INPUT__MASK				0x000f0000
1478 #define NV10_3D_RC_FINAL1_F_INPUT__SHIFT			16
1479 #define NV10_3D_RC_FINAL1_F_INPUT_ZERO				0x00000000
1480 #define NV10_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR0		0x00010000
1481 #define NV10_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR1		0x00020000
1482 #define NV10_3D_RC_FINAL1_F_INPUT_FOG				0x00030000
1483 #define NV10_3D_RC_FINAL1_F_INPUT_PRIMARY_COLOR			0x00040000
1484 #define NV10_3D_RC_FINAL1_F_INPUT_SECONDARY_COLOR		0x00050000
1485 #define NV10_3D_RC_FINAL1_F_INPUT_TEXTURE0			0x00080000
1486 #define NV10_3D_RC_FINAL1_F_INPUT_TEXTURE1			0x00090000
1487 #define NV10_3D_RC_FINAL1_F_INPUT_TEXTURE2			0x000a0000
1488 #define NV10_3D_RC_FINAL1_F_INPUT_TEXTURE3			0x000b0000
1489 #define NV10_3D_RC_FINAL1_F_INPUT_SPARE0			0x000c0000
1490 #define NV10_3D_RC_FINAL1_F_INPUT_SPARE1			0x000d0000
1491 #define NV10_3D_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x000e0000
1492 #define NV10_3D_RC_FINAL1_F_INPUT_E_TIMES_F			0x000f0000
1493 #define NV10_3D_RC_FINAL1_F_COMPONENT_USAGE__MASK		0x00100000
1494 #define NV10_3D_RC_FINAL1_F_COMPONENT_USAGE__SHIFT		20
1495 #define NV10_3D_RC_FINAL1_F_COMPONENT_USAGE_RGB			0x00000000
1496 #define NV10_3D_RC_FINAL1_F_COMPONENT_USAGE_ALPHA		0x00100000
1497 #define NV10_3D_RC_FINAL1_F_MAPPING__MASK			0x00e00000
1498 #define NV10_3D_RC_FINAL1_F_MAPPING__SHIFT			21
1499 #define NV10_3D_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY		0x00000000
1500 #define NV10_3D_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT		0x00200000
1501 #define NV10_3D_RC_FINAL1_F_MAPPING_EXPAND_NORMAL		0x00400000
1502 #define NV10_3D_RC_FINAL1_F_MAPPING_EXPAND_NEGATE		0x00600000
1503 #define NV10_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL		0x00800000
1504 #define NV10_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE		0x00a00000
1505 #define NV10_3D_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY		0x00c00000
1506 #define NV10_3D_RC_FINAL1_F_MAPPING_SIGNED_NEGATE		0x00e00000
1507 #define NV10_3D_RC_FINAL1_E_INPUT__MASK				0x0f000000
1508 #define NV10_3D_RC_FINAL1_E_INPUT__SHIFT			24
1509 #define NV10_3D_RC_FINAL1_E_INPUT_ZERO				0x00000000
1510 #define NV10_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR0		0x01000000
1511 #define NV10_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR1		0x02000000
1512 #define NV10_3D_RC_FINAL1_E_INPUT_FOG				0x03000000
1513 #define NV10_3D_RC_FINAL1_E_INPUT_PRIMARY_COLOR			0x04000000
1514 #define NV10_3D_RC_FINAL1_E_INPUT_SECONDARY_COLOR		0x05000000
1515 #define NV10_3D_RC_FINAL1_E_INPUT_TEXTURE0			0x08000000
1516 #define NV10_3D_RC_FINAL1_E_INPUT_TEXTURE1			0x09000000
1517 #define NV10_3D_RC_FINAL1_E_INPUT_TEXTURE2			0x0a000000
1518 #define NV10_3D_RC_FINAL1_E_INPUT_TEXTURE3			0x0b000000
1519 #define NV10_3D_RC_FINAL1_E_INPUT_SPARE0			0x0c000000
1520 #define NV10_3D_RC_FINAL1_E_INPUT_SPARE1			0x0d000000
1521 #define NV10_3D_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0e000000
1522 #define NV10_3D_RC_FINAL1_E_INPUT_E_TIMES_F			0x0f000000
1523 #define NV10_3D_RC_FINAL1_E_COMPONENT_USAGE__MASK		0x10000000
1524 #define NV10_3D_RC_FINAL1_E_COMPONENT_USAGE__SHIFT		28
1525 #define NV10_3D_RC_FINAL1_E_COMPONENT_USAGE_RGB			0x00000000
1526 #define NV10_3D_RC_FINAL1_E_COMPONENT_USAGE_ALPHA		0x10000000
1527 #define NV10_3D_RC_FINAL1_E_MAPPING__MASK			0xe0000000
1528 #define NV10_3D_RC_FINAL1_E_MAPPING__SHIFT			29
1529 #define NV10_3D_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY		0x00000000
1530 #define NV10_3D_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT		0x20000000
1531 #define NV10_3D_RC_FINAL1_E_MAPPING_EXPAND_NORMAL		0x40000000
1532 #define NV10_3D_RC_FINAL1_E_MAPPING_EXPAND_NEGATE		0x60000000
1533 #define NV10_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL		0x80000000
1534 #define NV10_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE		0xa0000000
1535 #define NV10_3D_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY		0xc0000000
1536 #define NV10_3D_RC_FINAL1_E_MAPPING_SIGNED_NEGATE		0xe0000000
1537 
1538 
1539 #define NV17_3D_DMA_HIERZ					0x000001b0
1540 
1541 #define NV17_3D_HIERZ_PITCH					0x00000d5c
1542 
1543 #define NV17_3D_HIERZ_OFFSET					0x00000d60
1544 
1545 #define NV17_3D_HIERZ_FILL_VALUE				0x00000d68
1546 
1547 #define NV17_3D_HIERZ_BUFFER_CLEAR				0x00000d6c
1548 
1549 #define NV17_3D_UNK0D74						0x00000d74
1550 
1551 #define NV17_3D_UNK0D84						0x00000d84
1552 
1553 
1554 #define NV17_3D_HIERZ_WINDOW					0x00001638
1555 
1556 
1557 #define NV17_3D_HIERZ_WINDOW_X					0x00001638
1558 
1559 #define NV17_3D_HIERZ_WINDOW_Y					0x0000163c
1560 
1561 #define NV17_3D_HIERZ_WINDOW_Z					0x00001640
1562 
1563 #define NV17_3D_HIERZ_WINDOW_W					0x00001644
1564 
1565 #define NV17_3D_HIERZ_ENABLE					0x00001658
1566 
1567 
1568 #define NV17_3D_UNK01AC						0x000001ac
1569 
1570 #define NV17_3D_UNK0258						0x00000258
1571 
1572 #define NV17_3D_UNK025C						0x0000025c
1573 
1574 #define NV10_3D_UNK0290						0x00000290
1575 
1576 #define NV17_3D_COLOR_MASK_ENABLE				0x000002bc
1577 
1578 #define NV10_3D_UNK03F0						0x000003f0
1579 
1580 #define NV10_3D_UNK03F4						0x000003f4
1581 
1582 #define NV17_3D_ZCLEAR_ENABLE					0x000003f8
1583 
1584 #define NV17_3D_ZCLEAR_VALUE					0x000003fc
1585 #define NV17_3D_ZCLEAR_VALUE_DEPTH__MASK			0xffffff00
1586 #define NV17_3D_ZCLEAR_VALUE_DEPTH__SHIFT			8
1587 #define NV17_3D_ZCLEAR_VALUE_SEQUENCE__MASK			0x000000ff
1588 #define NV17_3D_ZCLEAR_VALUE_SEQUENCE__SHIFT			0
1589 
1590 #define NV10_3D_POINT_SIZE					0x000003ec
1591 
1592 #define NV10_3D_POINT_PARAMETER(i0)			       (0x000006f8 + 0x4*(i0))
1593 #define NV10_3D_POINT_PARAMETER__ESIZE				0x00000004
1594 #define NV10_3D_POINT_PARAMETER__LEN				0x00000008
1595 
1596 #define NV11_3D_COLOR_LOGIC_OP					0x00000d40
1597 
1598 #define NV11_3D_COLOR_LOGIC_OP_ENABLE				0x00000d40
1599 
1600 #define NV11_3D_COLOR_LOGIC_OP_OP				0x00000d44
1601 #define NV11_3D_COLOR_LOGIC_OP_OP_CLEAR				0x00001500
1602 #define NV11_3D_COLOR_LOGIC_OP_OP_AND				0x00001501
1603 #define NV11_3D_COLOR_LOGIC_OP_OP_AND_REVERSE			0x00001502
1604 #define NV11_3D_COLOR_LOGIC_OP_OP_COPY				0x00001503
1605 #define NV11_3D_COLOR_LOGIC_OP_OP_AND_INVERTED			0x00001504
1606 #define NV11_3D_COLOR_LOGIC_OP_OP_NOOP				0x00001505
1607 #define NV11_3D_COLOR_LOGIC_OP_OP_XOR				0x00001506
1608 #define NV11_3D_COLOR_LOGIC_OP_OP_OR				0x00001507
1609 #define NV11_3D_COLOR_LOGIC_OP_OP_NOR				0x00001508
1610 #define NV11_3D_COLOR_LOGIC_OP_OP_EQUIV				0x00001509
1611 #define NV11_3D_COLOR_LOGIC_OP_OP_INVERT			0x0000150a
1612 #define NV11_3D_COLOR_LOGIC_OP_OP_OR_REVERSE			0x0000150b
1613 #define NV11_3D_COLOR_LOGIC_OP_OP_COPY_INVERTED			0x0000150c
1614 #define NV11_3D_COLOR_LOGIC_OP_OP_OR_INVERTED			0x0000150d
1615 #define NV11_3D_COLOR_LOGIC_OP_OP_NAND				0x0000150e
1616 #define NV11_3D_COLOR_LOGIC_OP_OP_SET				0x0000150f
1617 
1618 
1619 #endif /* NV10_3D_XML */
1620