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