Home | History | Annotate | Download | only in nouveau
      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 (at) free.fr> (ahuillet)
     20 - Ben Skeggs (darktama, darktama_)
     21 - B. R. <koala_br (at) users.sourceforge.net> (koala_br)
     22 - Carlos Martin <carlosmn (at) users.sf.net> (carlosmn)
     23 - Christoph Bumiller <e0425955 (at) student.tuwien.ac.at> (calim, chrisbmr)
     24 - Dawid Gajownik <gajownik (at) users.sf.net> (gajownik)
     25 - Dmitry Baryshkov
     26 - Dmitry Eremin-Solenikov <lumag (at) users.sf.net> (lumag)
     27 - EdB <edb_ (at) users.sf.net> (edb_)
     28 - Erik Waling <erikwailing (at) users.sf.net> (erikwaling)
     29 - Francisco Jerez <currojerez (at) riseup.net> (curro)
     30 - imirkin <imirkin (at) users.sf.net> (imirkin)
     31 - jb17bsome <jb17bsome (at) bellsouth.net> (jb17bsome)
     32 - Jeremy Kolb <kjeremy (at) users.sf.net> (kjeremy)
     33 - Laurent Carlier <lordheavym (at) gmail.com> (lordheavy)
     34 - Luca Barbieri <luca (at) luca-barbieri.com> (lb, lb1)
     35 - Maarten Maathuis <madman2003 (at) gmail.com> (stillunknown)
     36 - Marcin Kocielnicki <koriakin (at) 0x04.net> (mwk, koriakin)
     37 - Mark Carey <mark.carey (at) gmail.com> (careym)
     38 - Matthieu Castet <matthieu.castet (at) parrot.com> (mat-c)
     39 - nvidiaman <nvidiaman (at) users.sf.net> (nvidiaman)
     40 - Patrice Mandin <patmandin (at) gmail.com> (pmandin, pmdata)
     41 - Pekka Paalanen <pq (at) iki.fi> (pq, ppaalanen)
     42 - Peter Popov <ironpeter (at) users.sf.net> (ironpeter)
     43 - Richard Hughes <hughsient (at) users.sf.net> (hughsient)
     44 - Rudi Cilibrasi <cilibrar (at) users.sf.net> (cilibrar)
     45 - Serge Martin
     46 - Simon Raffeiner
     47 - Stephane Loeuillet <leroutier (at) users.sf.net> (leroutier)
     48 - Stephane Marchesin <stephane.marchesin (at) gmail.com> (marcheu)
     49 - sturmflut <sturmflut (at) users.sf.net> (sturmflut)
     50 - Sylvain Munaut <tnt (at) 246tNt.com>
     51 - Victor Stinner <victor.stinner (at) haypocalc.com> (haypo)
     52 - Wladmir van der Laan <laanwj (at) gmail.com> (miathan6)
     53 - Younes Manton <younes.m (at) 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