nvfx: completely remove this driver (GeForce FX/6/7)
[mesa.git] / src / gallium / drivers / nvfx / nv30-40_3d.xml.h
diff --git a/src/gallium/drivers/nvfx/nv30-40_3d.xml.h b/src/gallium/drivers/nvfx/nv30-40_3d.xml.h
deleted file mode 100644 (file)
index a705a6b..0000000
+++ /dev/null
@@ -1,2022 +0,0 @@
-#ifndef NV30_40_3D_XML
-#define NV30_40_3D_XML
-
-/* Autogenerated file, DO NOT EDIT manually!
-
-This file was generated by the rules-ng-ng headergen tool in this git repository:
-http://0x04.net/cgit/index.cgi/rules-ng-ng
-git clone git://0x04.net/rules-ng-ng
-
-The rules-ng-ng source files this header was generated from are:
-- nv30-40_3d.xml (  31709 bytes, from 2010-09-05 08:00:50)
-- copyright.xml  (   6503 bytes, from 2010-04-10 23:15:50)
-- nv_3ddefs.xml  (  15391 bytes, from 2010-09-05 08:00:46)
-- nv_defs.xml    (   4437 bytes, from 2010-08-05 19:38:53)
-- nv_object.xml  (  10424 bytes, from 2010-08-05 19:38:53)
-- nvchipsets.xml (   2824 bytes, from 2010-08-05 19:38:53)
-
-Copyright (C) 2006-2010 by the following authors:
-- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
-- Ben Skeggs (darktama, darktama_)
-- B. R. <koala_br@users.sourceforge.net> (koala_br)
-- Carlos Martin <carlosmn@users.sf.net> (carlosmn)
-- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
-- Dawid Gajownik <gajownik@users.sf.net> (gajownik)
-- Dmitry Baryshkov
-- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
-- EdB <edb_@users.sf.net> (edb_)
-- Erik Waling <erikwailing@users.sf.net> (erikwaling)
-- Francisco Jerez <currojerez@riseup.net> (curro, curro_, currojerez)
-- imirkin <imirkin@users.sf.net> (imirkin)
-- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
-- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
-- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
-- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
-- Maarten Maathuis <madman2003@gmail.com> (stillunknown)
-- Marcin Koƛcielnicki <koriakin@0x04.net> (mwk, koriakin)
-- Mark Carey <mark.carey@gmail.com> (careym)
-- Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
-- nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
-- Patrice Mandin <mandin.patrice@orange.fr> (pmandin, pmdata)
-- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
-- Peter Popov <ironpeter@users.sf.net> (ironpeter)
-- Richard Hughes <hughsient@users.sf.net> (hughsient)
-- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
-- Serge Martin
-- Simon Raffeiner
-- Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
-- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
-- sturmflut <sturmflut@users.sf.net> (sturmflut)
-- Sylvain Munaut <tnt@246tNt.com>
-- Victor Stinner <victor.stinner@haypocalc.com> (haypo)
-- Wladmir van der Laan <laanwj@gmail.com> (miathan6)
-- Younes Manton <younes.m@gmail.com> (ymanton)
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice (including the
-next paragraph) shall be included in all copies or substantial
-portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/
-
-
-
-#define NV30_3D_DMA_NOTIFY                                     0x00000180
-
-#define NV30_3D_DMA_TEXTURE0                                   0x00000184
-
-#define NV30_3D_DMA_TEXTURE1                                   0x00000188
-
-#define NV30_3D_DMA_COLOR1                                     0x0000018c
-
-#define NV30_3D_DMA_UNK190                                     0x00000190
-
-#define NV30_3D_DMA_COLOR0                                     0x00000194
-
-#define NV30_3D_DMA_ZETA                                       0x00000198
-
-#define NV30_3D_DMA_VTXBUF0                                    0x0000019c
-
-#define NV30_3D_DMA_VTXBUF1                                    0x000001a0
-
-#define NV30_3D_DMA_FENCE                                      0x000001a4
-
-#define NV30_3D_DMA_QUERY                                      0x000001a8
-
-#define NV30_3D_DMA_UNK1AC                                     0x000001ac
-
-#define NV30_3D_DMA_UNK1B0                                     0x000001b0
-
-#define NV40_3D_DMA_COLOR2                                     0x000001b4
-
-#define NV40_3D_DMA_COLOR3                                     0x000001b8
-
-#define NV30_3D_RT_HORIZ                                       0x00000200
-#define NV30_3D_RT_HORIZ_X__MASK                               0x0000ffff
-#define NV30_3D_RT_HORIZ_X__SHIFT                              0
-#define NV30_3D_RT_HORIZ_W__MASK                               0xffff0000
-#define NV30_3D_RT_HORIZ_W__SHIFT                              16
-
-#define NV30_3D_RT_VERT                                                0x00000204
-#define NV30_3D_RT_VERT_Y__MASK                                        0x0000ffff
-#define NV30_3D_RT_VERT_Y__SHIFT                               0
-#define NV30_3D_RT_VERT_H__MASK                                        0xffff0000
-#define NV30_3D_RT_VERT_H__SHIFT                               16
-
-#define NV30_3D_RT_FORMAT                                      0x00000208
-#define NV30_3D_RT_FORMAT_COLOR__MASK                          0x0000001f
-#define NV30_3D_RT_FORMAT_COLOR__SHIFT                         0
-#define NV30_3D_RT_FORMAT_COLOR_R5G6B5                         0x00000003
-#define NV30_3D_RT_FORMAT_COLOR_X8R8G8B8                       0x00000005
-#define NV30_3D_RT_FORMAT_COLOR_A8R8G8B8                       0x00000008
-#define NV30_3D_RT_FORMAT_COLOR_B8                             0x00000009
-#define NV30_3D_RT_FORMAT_COLOR_A16B16G16R16_FLOAT             0x0000000b
-#define NV30_3D_RT_FORMAT_COLOR_A32B32G32R32_FLOAT             0x0000000c
-#define NV30_3D_RT_FORMAT_COLOR_R32_FLOAT                      0x0000000d
-#define NV30_3D_RT_FORMAT_COLOR_UNK0D                          0x0000000d
-#define NV30_3D_RT_FORMAT_COLOR_X8B8G8R8                       0x0000000f
-#define NV30_3D_RT_FORMAT_COLOR_A8B8G8R8                       0x00000010
-#define NV30_3D_RT_FORMAT_ZETA__MASK                           0x000000e0
-#define NV30_3D_RT_FORMAT_ZETA__SHIFT                          5
-#define NV30_3D_RT_FORMAT_ZETA_Z16                             0x00000020
-#define NV30_3D_RT_FORMAT_ZETA_Z24S8                           0x00000040
-#define NV30_3D_RT_FORMAT_TYPE__MASK                           0x00000f00
-#define NV30_3D_RT_FORMAT_TYPE__SHIFT                          8
-#define NV30_3D_RT_FORMAT_TYPE_LINEAR                          0x00000100
-#define NV30_3D_RT_FORMAT_TYPE_SWIZZLED                                0x00000200
-#define NV30_3D_RT_FORMAT_LOG2_WIDTH__MASK                     0x00ff0000
-#define NV30_3D_RT_FORMAT_LOG2_WIDTH__SHIFT                    16
-#define NV30_3D_RT_FORMAT_LOG2_HEIGHT__MASK                    0xff000000
-#define NV30_3D_RT_FORMAT_LOG2_HEIGHT__SHIFT                   24
-
-#define NV30_3D_COLOR0_PITCH                                   0x0000020c
-#define NV30_3D_COLOR0_PITCH_COLOR0__MASK                      0x0000ffff
-#define NV30_3D_COLOR0_PITCH_COLOR0__SHIFT                     0
-#define NV30_3D_COLOR0_PITCH_ZETA__MASK                                0xffff0000
-#define NV30_3D_COLOR0_PITCH_ZETA__SHIFT                       16
-
-#define NV40_3D_COLOR0_PITCH                                   0x0000020c
-
-#define NV30_3D_COLOR0_OFFSET                                  0x00000210
-
-#define NV30_3D_ZETA_OFFSET                                    0x00000214
-
-#define NV30_3D_COLOR1_OFFSET                                  0x00000218
-
-#define NV30_3D_COLOR1_PITCH                                   0x0000021c
-
-#define NV30_3D_RT_ENABLE                                      0x00000220
-#define NV30_3D_RT_ENABLE_COLOR0                               0x00000001
-#define NV30_3D_RT_ENABLE_COLOR1                               0x00000002
-#define NV40_3D_RT_ENABLE_COLOR2                               0x00000004
-#define NV40_3D_RT_ENABLE_COLOR3                               0x00000008
-#define NV30_3D_RT_ENABLE_MRT                                  0x00000010
-
-#define NV40_3D_ZETA_PITCH                                     0x0000022c
-
-#define NV30_3D_LMA_DEPTH_PITCH                                        0x0000022c
-
-#define NV30_3D_LMA_DEPTH_OFFSET                               0x00000230
-
-#define NV30_3D_TEX_UNITS_ENABLE                               0x0000023c
-#define NV30_3D_TEX_UNITS_ENABLE_TX0                           0x00000001
-#define NV30_3D_TEX_UNITS_ENABLE_TX1                           0x00000002
-#define NV30_3D_TEX_UNITS_ENABLE_TX2                           0x00000004
-#define NV30_3D_TEX_UNITS_ENABLE_TX3                           0x00000008
-#define NV30_3D_TEX_UNITS_ENABLE_TX4                           0x00000010
-#define NV30_3D_TEX_UNITS_ENABLE_TX5                           0x00000020
-#define NV30_3D_TEX_UNITS_ENABLE_TX6                           0x00000040
-#define NV30_3D_TEX_UNITS_ENABLE_TX7                           0x00000080
-
-#define NV30_3D_TEX_MATRIX_ENABLE(i0)                         (0x00000240 + 0x4*(i0))
-#define NV30_3D_TEX_MATRIX_ENABLE__ESIZE                       0x00000004
-#define NV30_3D_TEX_MATRIX_ENABLE__LEN                         0x00000008
-
-#define NV40_3D_COLOR2_PITCH                                   0x00000280
-
-#define NV40_3D_COLOR3_PITCH                                   0x00000284
-
-#define NV40_3D_COLOR2_OFFSET                                  0x00000288
-
-#define NV40_3D_COLOR3_OFFSET                                  0x0000028c
-
-#define NV30_3D_VIEWPORT_TX_ORIGIN                             0x000002b8
-#define NV30_3D_VIEWPORT_TX_ORIGIN_X__MASK                     0x0000ffff
-#define NV30_3D_VIEWPORT_TX_ORIGIN_X__SHIFT                    0
-#define NV30_3D_VIEWPORT_TX_ORIGIN_Y__MASK                     0xffff0000
-#define NV30_3D_VIEWPORT_TX_ORIGIN_Y__SHIFT                    16
-
-#define NV30_3D_VIEWPORT_CLIP_MODE                             0x000002bc
-
-#define NV30_3D_VIEWPORT_CLIP_HORIZ(i0)                               (0x000002c0 + 0x8*(i0))
-#define NV30_3D_VIEWPORT_CLIP_HORIZ__ESIZE                     0x00000008
-#define NV30_3D_VIEWPORT_CLIP_HORIZ__LEN                       0x00000008
-#define NV30_3D_VIEWPORT_CLIP_HORIZ_L__MASK                    0x0000ffff
-#define NV30_3D_VIEWPORT_CLIP_HORIZ_L__SHIFT                   0
-#define NV30_3D_VIEWPORT_CLIP_HORIZ_R__MASK                    0xffff0000
-#define NV30_3D_VIEWPORT_CLIP_HORIZ_R__SHIFT                   16
-
-#define NV30_3D_VIEWPORT_CLIP_VERT(i0)                        (0x000002c4 + 0x8*(i0))
-#define NV30_3D_VIEWPORT_CLIP_VERT__ESIZE                      0x00000008
-#define NV30_3D_VIEWPORT_CLIP_VERT__LEN                                0x00000008
-#define NV30_3D_VIEWPORT_CLIP_VERT_T__MASK                     0x0000ffff
-#define NV30_3D_VIEWPORT_CLIP_VERT_T__SHIFT                    0
-#define NV30_3D_VIEWPORT_CLIP_VERT_D__MASK                     0xffff0000
-#define NV30_3D_VIEWPORT_CLIP_VERT_D__SHIFT                    16
-
-#define NV30_3D_DITHER_ENABLE                                  0x00000300
-
-#define NV30_3D_ALPHA_FUNC_ENABLE                              0x00000304
-
-#define NV30_3D_ALPHA_FUNC_FUNC                                        0x00000308
-#define NV30_3D_ALPHA_FUNC_FUNC_NEVER                          0x00000200
-#define NV30_3D_ALPHA_FUNC_FUNC_LESS                           0x00000201
-#define NV30_3D_ALPHA_FUNC_FUNC_EQUAL                          0x00000202
-#define NV30_3D_ALPHA_FUNC_FUNC_LEQUAL                         0x00000203
-#define NV30_3D_ALPHA_FUNC_FUNC_GREATER                                0x00000204
-#define NV30_3D_ALPHA_FUNC_FUNC_NOTEQUAL                       0x00000205
-#define NV30_3D_ALPHA_FUNC_FUNC_GEQUAL                         0x00000206
-#define NV30_3D_ALPHA_FUNC_FUNC_ALWAYS                         0x00000207
-
-#define NV30_3D_ALPHA_FUNC_REF                                 0x0000030c
-
-#define NV30_3D_BLEND_FUNC_ENABLE                              0x00000310
-
-#define NV30_3D_BLEND_FUNC_SRC                                 0x00000314
-#define NV30_3D_BLEND_FUNC_SRC_RGB__MASK                       0x0000ffff
-#define NV30_3D_BLEND_FUNC_SRC_RGB__SHIFT                      0
-#define NV30_3D_BLEND_FUNC_SRC_RGB_ZERO                                0x00000000
-#define NV30_3D_BLEND_FUNC_SRC_RGB_ONE                         0x00000001
-#define NV30_3D_BLEND_FUNC_SRC_RGB_SRC_COLOR                   0x00000300
-#define NV30_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR         0x00000301
-#define NV30_3D_BLEND_FUNC_SRC_RGB_SRC_ALPHA                   0x00000302
-#define NV30_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA         0x00000303
-#define NV30_3D_BLEND_FUNC_SRC_RGB_DST_ALPHA                   0x00000304
-#define NV30_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA         0x00000305
-#define NV30_3D_BLEND_FUNC_SRC_RGB_DST_COLOR                   0x00000306
-#define NV30_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR         0x00000307
-#define NV30_3D_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE          0x00000308
-#define NV30_3D_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR              0x00008001
-#define NV30_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR    0x00008002
-#define NV30_3D_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA              0x00008003
-#define NV30_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA    0x00008004
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA__MASK                     0xffff0000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA__SHIFT                    16
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ZERO                      0x00000000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ONE                       0x00010000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                 0x03000000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR       0x03010000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                 0x03020000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA       0x03030000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                 0x03040000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA       0x03050000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_DST_COLOR                 0x03060000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR       0x03070000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                0x03080000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR            0x80010000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR  0x80020000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA            0x80030000
-#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA  0x80040000
-
-#define NV30_3D_BLEND_FUNC_DST                                 0x00000318
-#define NV30_3D_BLEND_FUNC_DST_RGB__MASK                       0x0000ffff
-#define NV30_3D_BLEND_FUNC_DST_RGB__SHIFT                      0
-#define NV30_3D_BLEND_FUNC_DST_RGB_ZERO                                0x00000000
-#define NV30_3D_BLEND_FUNC_DST_RGB_ONE                         0x00000001
-#define NV30_3D_BLEND_FUNC_DST_RGB_SRC_COLOR                   0x00000300
-#define NV30_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR         0x00000301
-#define NV30_3D_BLEND_FUNC_DST_RGB_SRC_ALPHA                   0x00000302
-#define NV30_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA         0x00000303
-#define NV30_3D_BLEND_FUNC_DST_RGB_DST_ALPHA                   0x00000304
-#define NV30_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA         0x00000305
-#define NV30_3D_BLEND_FUNC_DST_RGB_DST_COLOR                   0x00000306
-#define NV30_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR         0x00000307
-#define NV30_3D_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE          0x00000308
-#define NV30_3D_BLEND_FUNC_DST_RGB_CONSTANT_COLOR              0x00008001
-#define NV30_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR    0x00008002
-#define NV30_3D_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA              0x00008003
-#define NV30_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA    0x00008004
-#define NV30_3D_BLEND_FUNC_DST_ALPHA__MASK                     0xffff0000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA__SHIFT                    16
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_ZERO                      0x00000000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_ONE                       0x00010000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_SRC_COLOR                 0x03000000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR       0x03010000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                 0x03020000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA       0x03030000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_DST_ALPHA                 0x03040000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA       0x03050000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_DST_COLOR                 0x03060000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR       0x03070000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                0x03080000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR            0x80010000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR  0x80020000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA            0x80030000
-#define NV30_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA  0x80040000
-
-#define NV30_3D_BLEND_COLOR                                    0x0000031c
-#define NV30_3D_BLEND_COLOR_B__MASK                            0x000000ff
-#define NV30_3D_BLEND_COLOR_B__SHIFT                           0
-#define NV30_3D_BLEND_COLOR_G__MASK                            0x0000ff00
-#define NV30_3D_BLEND_COLOR_G__SHIFT                           8
-#define NV30_3D_BLEND_COLOR_R__MASK                            0x00ff0000
-#define NV30_3D_BLEND_COLOR_R__SHIFT                           16
-#define NV30_3D_BLEND_COLOR_A__MASK                            0xff000000
-#define NV30_3D_BLEND_COLOR_A__SHIFT                           24
-
-#define NV30_3D_BLEND_EQUATION                                 0x00000320
-#define NV30_3D_BLEND_EQUATION_FUNC_ADD                                0x00008006
-#define NV30_3D_BLEND_EQUATION_MIN                             0x00008007
-#define NV30_3D_BLEND_EQUATION_MAX                             0x00008008
-#define NV30_3D_BLEND_EQUATION_FUNC_SUBTRACT                   0x0000800a
-#define NV30_3D_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT           0x0000800b
-
-#define NV40_3D_BLEND_EQUATION                                 0x00000320
-#define NV40_3D_BLEND_EQUATION_RGB__MASK                       0x0000ffff
-#define NV40_3D_BLEND_EQUATION_RGB__SHIFT                      0
-#define NV40_3D_BLEND_EQUATION_RGB_FUNC_ADD                    0x00008006
-#define NV40_3D_BLEND_EQUATION_RGB_MIN                         0x00008007
-#define NV40_3D_BLEND_EQUATION_RGB_MAX                         0x00008008
-#define NV40_3D_BLEND_EQUATION_RGB_FUNC_SUBTRACT               0x0000800a
-#define NV40_3D_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT       0x0000800b
-#define NV40_3D_BLEND_EQUATION_ALPHA__MASK                     0xffff0000
-#define NV40_3D_BLEND_EQUATION_ALPHA__SHIFT                    16
-#define NV40_3D_BLEND_EQUATION_ALPHA_FUNC_ADD                  0x80060000
-#define NV40_3D_BLEND_EQUATION_ALPHA_MIN                       0x80070000
-#define NV40_3D_BLEND_EQUATION_ALPHA_MAX                       0x80080000
-#define NV40_3D_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT             0x800a0000
-#define NV40_3D_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT     0x800b0000
-
-#define NV30_3D_COLOR_MASK                                     0x00000324
-#define NV30_3D_COLOR_MASK_B                                   0x000000ff
-#define NV30_3D_COLOR_MASK_G                                   0x0000ff00
-#define NV30_3D_COLOR_MASK_R                                   0x00ff0000
-#define NV30_3D_COLOR_MASK_A                                   0xff000000
-
-#define NV30_3D_STENCIL(i0)                                   (0x00000328 + 0x20*(i0))
-#define NV30_3D_STENCIL__ESIZE                                 0x00000020
-#define NV30_3D_STENCIL__LEN                                   0x00000002
-
-#define NV30_3D_STENCIL_ENABLE(i0)                            (0x00000328 + 0x20*(i0))
-
-#define NV30_3D_STENCIL_MASK(i0)                              (0x0000032c + 0x20*(i0))
-
-#define NV30_3D_STENCIL_FUNC_FUNC(i0)                         (0x00000330 + 0x20*(i0))
-#define NV30_3D_STENCIL_FUNC_FUNC_NEVER                                0x00000200
-#define NV30_3D_STENCIL_FUNC_FUNC_LESS                         0x00000201
-#define NV30_3D_STENCIL_FUNC_FUNC_EQUAL                                0x00000202
-#define NV30_3D_STENCIL_FUNC_FUNC_LEQUAL                       0x00000203
-#define NV30_3D_STENCIL_FUNC_FUNC_GREATER                      0x00000204
-#define NV30_3D_STENCIL_FUNC_FUNC_NOTEQUAL                     0x00000205
-#define NV30_3D_STENCIL_FUNC_FUNC_GEQUAL                       0x00000206
-#define NV30_3D_STENCIL_FUNC_FUNC_ALWAYS                       0x00000207
-
-#define NV30_3D_STENCIL_FUNC_REF(i0)                          (0x00000334 + 0x20*(i0))
-
-#define NV30_3D_STENCIL_FUNC_MASK(i0)                         (0x00000338 + 0x20*(i0))
-
-#define NV30_3D_STENCIL_OP_FAIL(i0)                           (0x0000033c + 0x20*(i0))
-#define NV30_3D_STENCIL_OP_FAIL_ZERO                           0x00000000
-#define NV30_3D_STENCIL_OP_FAIL_INVERT                         0x0000150a
-#define NV30_3D_STENCIL_OP_FAIL_KEEP                           0x00001e00
-#define NV30_3D_STENCIL_OP_FAIL_REPLACE                                0x00001e01
-#define NV30_3D_STENCIL_OP_FAIL_INCR                           0x00001e02
-#define NV30_3D_STENCIL_OP_FAIL_DECR                           0x00001e03
-#define NV30_3D_STENCIL_OP_FAIL_INCR_WRAP                      0x00008507
-#define NV30_3D_STENCIL_OP_FAIL_DECR_WRAP                      0x00008508
-
-#define NV30_3D_STENCIL_OP_ZFAIL(i0)                          (0x00000340 + 0x20*(i0))
-#define NV30_3D_STENCIL_OP_ZFAIL_ZERO                          0x00000000
-#define NV30_3D_STENCIL_OP_ZFAIL_INVERT                                0x0000150a
-#define NV30_3D_STENCIL_OP_ZFAIL_KEEP                          0x00001e00
-#define NV30_3D_STENCIL_OP_ZFAIL_REPLACE                       0x00001e01
-#define NV30_3D_STENCIL_OP_ZFAIL_INCR                          0x00001e02
-#define NV30_3D_STENCIL_OP_ZFAIL_DECR                          0x00001e03
-#define NV30_3D_STENCIL_OP_ZFAIL_INCR_WRAP                     0x00008507
-#define NV30_3D_STENCIL_OP_ZFAIL_DECR_WRAP                     0x00008508
-
-#define NV30_3D_STENCIL_OP_ZPASS(i0)                          (0x00000344 + 0x20*(i0))
-#define NV30_3D_STENCIL_OP_ZPASS_ZERO                          0x00000000
-#define NV30_3D_STENCIL_OP_ZPASS_INVERT                                0x0000150a
-#define NV30_3D_STENCIL_OP_ZPASS_KEEP                          0x00001e00
-#define NV30_3D_STENCIL_OP_ZPASS_REPLACE                       0x00001e01
-#define NV30_3D_STENCIL_OP_ZPASS_INCR                          0x00001e02
-#define NV30_3D_STENCIL_OP_ZPASS_DECR                          0x00001e03
-#define NV30_3D_STENCIL_OP_ZPASS_INCR_WRAP                     0x00008507
-#define NV30_3D_STENCIL_OP_ZPASS_DECR_WRAP                     0x00008508
-
-#define NV30_3D_SHADE_MODEL                                    0x00000368
-#define NV30_3D_SHADE_MODEL_FLAT                               0x00001d00
-#define NV30_3D_SHADE_MODEL_SMOOTH                             0x00001d01
-
-#define NV30_3D_FOG_ENABLE                                     0x0000036c
-
-#define NV30_3D_FOG_COLOR                                      0x00000370
-#define NV30_3D_FOG_COLOR_R__MASK                              0x000000ff
-#define NV30_3D_FOG_COLOR_R__SHIFT                             0
-#define NV30_3D_FOG_COLOR_G__MASK                              0x0000ff00
-#define NV30_3D_FOG_COLOR_G__SHIFT                             8
-#define NV30_3D_FOG_COLOR_B__MASK                              0x00ff0000
-#define NV30_3D_FOG_COLOR_B__SHIFT                             16
-#define NV30_3D_FOG_COLOR_A__MASK                              0xff000000
-#define NV30_3D_FOG_COLOR_A__SHIFT                             24
-
-#define NV40_3D_MRT_COLOR_MASK                                 0x00000370
-#define NV40_3D_MRT_COLOR_MASK_BUFFER1_A                       0x00000010
-#define NV40_3D_MRT_COLOR_MASK_BUFFER1_R                       0x00000020
-#define NV40_3D_MRT_COLOR_MASK_BUFFER1_G                       0x00000040
-#define NV40_3D_MRT_COLOR_MASK_BUFFER1_B                       0x00000080
-#define NV40_3D_MRT_COLOR_MASK_BUFFER2_A                       0x00000100
-#define NV40_3D_MRT_COLOR_MASK_BUFFER2_R                       0x00000200
-#define NV40_3D_MRT_COLOR_MASK_BUFFER2_G                       0x00000400
-#define NV40_3D_MRT_COLOR_MASK_BUFFER2_B                       0x00000800
-#define NV40_3D_MRT_COLOR_MASK_BUFFER3_A                       0x00001000
-#define NV40_3D_MRT_COLOR_MASK_BUFFER3_R                       0x00002000
-#define NV40_3D_MRT_COLOR_MASK_BUFFER3_G                       0x00004000
-#define NV40_3D_MRT_COLOR_MASK_BUFFER3_B                       0x00008000
-
-#define NV30_3D_COLOR_LOGIC_OP_ENABLE                          0x00000374
-
-#define NV30_3D_COLOR_LOGIC_OP_OP                              0x00000378
-#define NV30_3D_COLOR_LOGIC_OP_OP_CLEAR                                0x00001500
-#define NV30_3D_COLOR_LOGIC_OP_OP_AND                          0x00001501
-#define NV30_3D_COLOR_LOGIC_OP_OP_AND_REVERSE                  0x00001502
-#define NV30_3D_COLOR_LOGIC_OP_OP_COPY                         0x00001503
-#define NV30_3D_COLOR_LOGIC_OP_OP_AND_INVERTED                 0x00001504
-#define NV30_3D_COLOR_LOGIC_OP_OP_NOOP                         0x00001505
-#define NV30_3D_COLOR_LOGIC_OP_OP_XOR                          0x00001506
-#define NV30_3D_COLOR_LOGIC_OP_OP_OR                           0x00001507
-#define NV30_3D_COLOR_LOGIC_OP_OP_NOR                          0x00001508
-#define NV30_3D_COLOR_LOGIC_OP_OP_EQUIV                                0x00001509
-#define NV30_3D_COLOR_LOGIC_OP_OP_INVERT                       0x0000150a
-#define NV30_3D_COLOR_LOGIC_OP_OP_OR_REVERSE                   0x0000150b
-#define NV30_3D_COLOR_LOGIC_OP_OP_COPY_INVERTED                        0x0000150c
-#define NV30_3D_COLOR_LOGIC_OP_OP_OR_INVERTED                  0x0000150d
-#define NV30_3D_COLOR_LOGIC_OP_OP_NAND                         0x0000150e
-#define NV30_3D_COLOR_LOGIC_OP_OP_SET                          0x0000150f
-
-#define NV30_3D_NORMALIZE_ENABLE                               0x0000037c
-
-#define NV30_3D_COLOR_MATERIAL                                 0x00000390
-#define NV30_3D_COLOR_MATERIAL_FRONT_EMISSION_ENABLE           0x00000001
-#define NV30_3D_COLOR_MATERIAL_FRONT_AMBIENT_ENABLE            0x00000004
-#define NV30_3D_COLOR_MATERIAL_FRONT_DIFFUSE_ENABLE            0x00000010
-#define NV30_3D_COLOR_MATERIAL_FRONT_SPECULAR_ENABLE           0x00000040
-#define NV30_3D_COLOR_MATERIAL_BACK_EMISSION_ENABLE            0x00000100
-#define NV30_3D_COLOR_MATERIAL_BACK_AMBIENT_ENABLE             0x00000400
-#define NV30_3D_COLOR_MATERIAL_BACK_DIFFUSE_ENABLE             0x00001000
-#define NV30_3D_COLOR_MATERIAL_BACK_SPECULAR_ENABLE            0x00004000
-
-#define NV30_3D_DEPTH_RANGE_NEAR                               0x00000394
-
-#define NV30_3D_DEPTH_RANGE_FAR                                        0x00000398
-
-#define NV30_3D_COLOR_MATERIAL_FRONT                           0x000003a0
-
-
-#define NV30_3D_COLOR_MATERIAL_FRONT_R                         0x000003a0
-
-#define NV30_3D_COLOR_MATERIAL_FRONT_G                         0x000003a4
-
-#define NV30_3D_COLOR_MATERIAL_FRONT_B                         0x000003a8
-
-#define NV30_3D_COLOR_MATERIAL_FRONT_A                         0x000003ac
-
-#define NV40_3D_MIPMAP_ROUNDING                                        0x000003b0
-#define NV40_3D_MIPMAP_ROUNDING_MODE__MASK                     0x00100000
-#define NV40_3D_MIPMAP_ROUNDING_MODE__SHIFT                    20
-#define NV40_3D_MIPMAP_ROUNDING_MODE_UP                                0x00000000
-#define NV40_3D_MIPMAP_ROUNDING_MODE_DOWN                      0x00100000
-
-#define NV30_3D_LINE_WIDTH                                     0x000003b8
-
-#define NV30_3D_LINE_SMOOTH_ENABLE                             0x000003bc
-
-
-
-#define NV30_3D_TEX_GEN_MODE(i0, i1)                          (0x00000400 + 0x10*(i0) + 0x4*(i1))
-#define NV30_3D_TEX_GEN_MODE__ESIZE                            0x00000004
-#define NV30_3D_TEX_GEN_MODE__LEN                              0x00000004
-#define NV30_3D_TEX_GEN_MODE_FALSE                             0x00000000
-#define NV30_3D_TEX_GEN_MODE_EYE_LINEAR                                0x00002400
-#define NV30_3D_TEX_GEN_MODE_OBJECT_LINEAR                     0x00002401
-#define NV30_3D_TEX_GEN_MODE_SPHERE_MAP                                0x00002402
-#define NV30_3D_TEX_GEN_MODE_NORMAL_MAP                                0x00008511
-#define NV30_3D_TEX_GEN_MODE_REFLECTION_MAP                    0x00008512
-
-#define NV30_3D_MODELVIEW_MATRIX(i0)                          (0x00000480 + 0x4*(i0))
-#define NV30_3D_MODELVIEW_MATRIX__ESIZE                                0x00000004
-#define NV30_3D_MODELVIEW_MATRIX__LEN                          0x00000010
-
-#define NV30_3D_INVERSE_MODELVIEW_MATRIX(i0)                  (0x00000580 + 0x4*(i0))
-#define NV30_3D_INVERSE_MODELVIEW_MATRIX__ESIZE                        0x00000004
-#define NV30_3D_INVERSE_MODELVIEW_MATRIX__LEN                  0x0000000c
-
-#define NV30_3D_PROJECTION_MATRIX(i0)                         (0x00000680 + 0x4*(i0))
-#define NV30_3D_PROJECTION_MATRIX__ESIZE                       0x00000004
-#define NV30_3D_PROJECTION_MATRIX__LEN                         0x00000010
-
-
-#define NV30_3D_TEX_MATRIX(i0, i1)                            (0x000006c0 + 0x40*(i0) + 0x4*(i1))
-#define NV30_3D_TEX_MATRIX__ESIZE                              0x00000004
-#define NV30_3D_TEX_MATRIX__LEN                                        0x00000010
-
-#define NV30_3D_SCISSOR_HORIZ                                  0x000008c0
-#define NV30_3D_SCISSOR_HORIZ_X__MASK                          0x0000ffff
-#define NV30_3D_SCISSOR_HORIZ_X__SHIFT                         0
-#define NV30_3D_SCISSOR_HORIZ_W__MASK                          0xffff0000
-#define NV30_3D_SCISSOR_HORIZ_W__SHIFT                         16
-
-#define NV30_3D_SCISSOR_VERT                                   0x000008c4
-#define NV30_3D_SCISSOR_VERT_Y__MASK                           0x0000ffff
-#define NV30_3D_SCISSOR_VERT_Y__SHIFT                          0
-#define NV30_3D_SCISSOR_VERT_H__MASK                           0xffff0000
-#define NV30_3D_SCISSOR_VERT_H__SHIFT                          16
-
-#define NV30_3D_FOG_COORD_DIST                                 0x000008c8
-
-#define NV30_3D_FOG_MODE                                       0x000008cc
-
-#define NV30_3D_FOG_EQUATION_CONSTANT                          0x000008d0
-
-#define NV30_3D_FOG_EQUATION_LINEAR                            0x000008d4
-
-#define NV30_3D_FOG_EQUATION_QUADRATIC                         0x000008d8
-
-#define NV30_3D_FP_ACTIVE_PROGRAM                              0x000008e4
-#define NV30_3D_FP_ACTIVE_PROGRAM_DMA0                         0x00000001
-#define NV30_3D_FP_ACTIVE_PROGRAM_DMA1                         0x00000002
-#define NV30_3D_FP_ACTIVE_PROGRAM_OFFSET__MASK                 0xfffffffc
-#define NV30_3D_FP_ACTIVE_PROGRAM_OFFSET__SHIFT                        2
-
-
-#define NV30_3D_RC_COLOR0                                      0x000008ec
-#define NV30_3D_RC_COLOR0_B__MASK                              0x000000ff
-#define NV30_3D_RC_COLOR0_B__SHIFT                             0
-#define NV30_3D_RC_COLOR0_G__MASK                              0x0000ff00
-#define NV30_3D_RC_COLOR0_G__SHIFT                             8
-#define NV30_3D_RC_COLOR0_R__MASK                              0x00ff0000
-#define NV30_3D_RC_COLOR0_R__SHIFT                             16
-#define NV30_3D_RC_COLOR0_A__MASK                              0xff000000
-#define NV30_3D_RC_COLOR0_A__SHIFT                             24
-
-#define NV30_3D_RC_COLOR1                                      0x000008f0
-#define NV30_3D_RC_COLOR1_B__MASK                              0x000000ff
-#define NV30_3D_RC_COLOR1_B__SHIFT                             0
-#define NV30_3D_RC_COLOR1_G__MASK                              0x0000ff00
-#define NV30_3D_RC_COLOR1_G__SHIFT                             8
-#define NV30_3D_RC_COLOR1_R__MASK                              0x00ff0000
-#define NV30_3D_RC_COLOR1_R__SHIFT                             16
-#define NV30_3D_RC_COLOR1_A__MASK                              0xff000000
-#define NV30_3D_RC_COLOR1_A__SHIFT                             24
-
-#define NV30_3D_RC_FINAL0                                      0x000008f4
-#define NV30_3D_RC_FINAL0_D_INPUT__MASK                                0x0000000f
-#define NV30_3D_RC_FINAL0_D_INPUT__SHIFT                       0
-#define NV30_3D_RC_FINAL0_D_INPUT_ZERO                         0x00000000
-#define NV30_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR0              0x00000001
-#define NV30_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR1              0x00000002
-#define NV30_3D_RC_FINAL0_D_INPUT_FOG                          0x00000003
-#define NV30_3D_RC_FINAL0_D_INPUT_PRIMARY_COLOR                        0x00000004
-#define NV30_3D_RC_FINAL0_D_INPUT_SECONDARY_COLOR              0x00000005
-#define NV30_3D_RC_FINAL0_D_INPUT_TEXTURE0                     0x00000008
-#define NV30_3D_RC_FINAL0_D_INPUT_TEXTURE1                     0x00000009
-#define NV30_3D_RC_FINAL0_D_INPUT_TEXTURE2                     0x0000000a
-#define NV30_3D_RC_FINAL0_D_INPUT_TEXTURE3                     0x0000000b
-#define NV30_3D_RC_FINAL0_D_INPUT_SPARE0                       0x0000000c
-#define NV30_3D_RC_FINAL0_D_INPUT_SPARE1                       0x0000000d
-#define NV30_3D_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR  0x0000000e
-#define NV30_3D_RC_FINAL0_D_INPUT_E_TIMES_F                    0x0000000f
-#define NV30_3D_RC_FINAL0_D_COMPONENT_USAGE__MASK              0x00000010
-#define NV30_3D_RC_FINAL0_D_COMPONENT_USAGE__SHIFT             4
-#define NV30_3D_RC_FINAL0_D_COMPONENT_USAGE_RGB                        0x00000000
-#define NV30_3D_RC_FINAL0_D_COMPONENT_USAGE_ALPHA              0x00000010
-#define NV30_3D_RC_FINAL0_D_MAPPING__MASK                      0x000000e0
-#define NV30_3D_RC_FINAL0_D_MAPPING__SHIFT                     5
-#define NV30_3D_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY          0x00000000
-#define NV30_3D_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT            0x00000020
-#define NV30_3D_RC_FINAL0_D_MAPPING_EXPAND_NORMAL              0x00000040
-#define NV30_3D_RC_FINAL0_D_MAPPING_EXPAND_NEGATE              0x00000060
-#define NV30_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL           0x00000080
-#define NV30_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE           0x000000a0
-#define NV30_3D_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY            0x000000c0
-#define NV30_3D_RC_FINAL0_D_MAPPING_SIGNED_NEGATE              0x000000e0
-#define NV30_3D_RC_FINAL0_C_INPUT__MASK                                0x00000f00
-#define NV30_3D_RC_FINAL0_C_INPUT__SHIFT                       8
-#define NV30_3D_RC_FINAL0_C_INPUT_ZERO                         0x00000000
-#define NV30_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR0              0x00000100
-#define NV30_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR1              0x00000200
-#define NV30_3D_RC_FINAL0_C_INPUT_FOG                          0x00000300
-#define NV30_3D_RC_FINAL0_C_INPUT_PRIMARY_COLOR                        0x00000400
-#define NV30_3D_RC_FINAL0_C_INPUT_SECONDARY_COLOR              0x00000500
-#define NV30_3D_RC_FINAL0_C_INPUT_TEXTURE0                     0x00000800
-#define NV30_3D_RC_FINAL0_C_INPUT_TEXTURE1                     0x00000900
-#define NV30_3D_RC_FINAL0_C_INPUT_TEXTURE2                     0x00000a00
-#define NV30_3D_RC_FINAL0_C_INPUT_TEXTURE3                     0x00000b00
-#define NV30_3D_RC_FINAL0_C_INPUT_SPARE0                       0x00000c00
-#define NV30_3D_RC_FINAL0_C_INPUT_SPARE1                       0x00000d00
-#define NV30_3D_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR  0x00000e00
-#define NV30_3D_RC_FINAL0_C_INPUT_E_TIMES_F                    0x00000f00
-#define NV30_3D_RC_FINAL0_C_COMPONENT_USAGE__MASK              0x00001000
-#define NV30_3D_RC_FINAL0_C_COMPONENT_USAGE__SHIFT             12
-#define NV30_3D_RC_FINAL0_C_COMPONENT_USAGE_RGB                        0x00000000
-#define NV30_3D_RC_FINAL0_C_COMPONENT_USAGE_ALPHA              0x00001000
-#define NV30_3D_RC_FINAL0_C_MAPPING__MASK                      0x0000e000
-#define NV30_3D_RC_FINAL0_C_MAPPING__SHIFT                     13
-#define NV30_3D_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY          0x00000000
-#define NV30_3D_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT            0x00002000
-#define NV30_3D_RC_FINAL0_C_MAPPING_EXPAND_NORMAL              0x00004000
-#define NV30_3D_RC_FINAL0_C_MAPPING_EXPAND_NEGATE              0x00006000
-#define NV30_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL           0x00008000
-#define NV30_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE           0x0000a000
-#define NV30_3D_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY            0x0000c000
-#define NV30_3D_RC_FINAL0_C_MAPPING_SIGNED_NEGATE              0x0000e000
-#define NV30_3D_RC_FINAL0_B_INPUT__MASK                                0x000f0000
-#define NV30_3D_RC_FINAL0_B_INPUT__SHIFT                       16
-#define NV30_3D_RC_FINAL0_B_INPUT_ZERO                         0x00000000
-#define NV30_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR0              0x00010000
-#define NV30_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR1              0x00020000
-#define NV30_3D_RC_FINAL0_B_INPUT_FOG                          0x00030000
-#define NV30_3D_RC_FINAL0_B_INPUT_PRIMARY_COLOR                        0x00040000
-#define NV30_3D_RC_FINAL0_B_INPUT_SECONDARY_COLOR              0x00050000
-#define NV30_3D_RC_FINAL0_B_INPUT_TEXTURE0                     0x00080000
-#define NV30_3D_RC_FINAL0_B_INPUT_TEXTURE1                     0x00090000
-#define NV30_3D_RC_FINAL0_B_INPUT_TEXTURE2                     0x000a0000
-#define NV30_3D_RC_FINAL0_B_INPUT_TEXTURE3                     0x000b0000
-#define NV30_3D_RC_FINAL0_B_INPUT_SPARE0                       0x000c0000
-#define NV30_3D_RC_FINAL0_B_INPUT_SPARE1                       0x000d0000
-#define NV30_3D_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR  0x000e0000
-#define NV30_3D_RC_FINAL0_B_INPUT_E_TIMES_F                    0x000f0000
-#define NV30_3D_RC_FINAL0_B_COMPONENT_USAGE__MASK              0x00100000
-#define NV30_3D_RC_FINAL0_B_COMPONENT_USAGE__SHIFT             20
-#define NV30_3D_RC_FINAL0_B_COMPONENT_USAGE_RGB                        0x00000000
-#define NV30_3D_RC_FINAL0_B_COMPONENT_USAGE_ALPHA              0x00100000
-#define NV30_3D_RC_FINAL0_B_MAPPING__MASK                      0x00e00000
-#define NV30_3D_RC_FINAL0_B_MAPPING__SHIFT                     21
-#define NV30_3D_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY          0x00000000
-#define NV30_3D_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT            0x00200000
-#define NV30_3D_RC_FINAL0_B_MAPPING_EXPAND_NORMAL              0x00400000
-#define NV30_3D_RC_FINAL0_B_MAPPING_EXPAND_NEGATE              0x00600000
-#define NV30_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL           0x00800000
-#define NV30_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE           0x00a00000
-#define NV30_3D_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY            0x00c00000
-#define NV30_3D_RC_FINAL0_B_MAPPING_SIGNED_NEGATE              0x00e00000
-#define NV30_3D_RC_FINAL0_A_INPUT__MASK                                0x0f000000
-#define NV30_3D_RC_FINAL0_A_INPUT__SHIFT                       24
-#define NV30_3D_RC_FINAL0_A_INPUT_ZERO                         0x00000000
-#define NV30_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR0              0x01000000
-#define NV30_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR1              0x02000000
-#define NV30_3D_RC_FINAL0_A_INPUT_FOG                          0x03000000
-#define NV30_3D_RC_FINAL0_A_INPUT_PRIMARY_COLOR                        0x04000000
-#define NV30_3D_RC_FINAL0_A_INPUT_SECONDARY_COLOR              0x05000000
-#define NV30_3D_RC_FINAL0_A_INPUT_TEXTURE0                     0x08000000
-#define NV30_3D_RC_FINAL0_A_INPUT_TEXTURE1                     0x09000000
-#define NV30_3D_RC_FINAL0_A_INPUT_TEXTURE2                     0x0a000000
-#define NV30_3D_RC_FINAL0_A_INPUT_TEXTURE3                     0x0b000000
-#define NV30_3D_RC_FINAL0_A_INPUT_SPARE0                       0x0c000000
-#define NV30_3D_RC_FINAL0_A_INPUT_SPARE1                       0x0d000000
-#define NV30_3D_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR  0x0e000000
-#define NV30_3D_RC_FINAL0_A_INPUT_E_TIMES_F                    0x0f000000
-#define NV30_3D_RC_FINAL0_A_COMPONENT_USAGE__MASK              0x10000000
-#define NV30_3D_RC_FINAL0_A_COMPONENT_USAGE__SHIFT             28
-#define NV30_3D_RC_FINAL0_A_COMPONENT_USAGE_RGB                        0x00000000
-#define NV30_3D_RC_FINAL0_A_COMPONENT_USAGE_ALPHA              0x10000000
-#define NV30_3D_RC_FINAL0_A_MAPPING__MASK                      0xe0000000
-#define NV30_3D_RC_FINAL0_A_MAPPING__SHIFT                     29
-#define NV30_3D_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY          0x00000000
-#define NV30_3D_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT            0x20000000
-#define NV30_3D_RC_FINAL0_A_MAPPING_EXPAND_NORMAL              0x40000000
-#define NV30_3D_RC_FINAL0_A_MAPPING_EXPAND_NEGATE              0x60000000
-#define NV30_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL           0x80000000
-#define NV30_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE           0xa0000000
-#define NV30_3D_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY            0xc0000000
-#define NV30_3D_RC_FINAL0_A_MAPPING_SIGNED_NEGATE              0xe0000000
-
-#define NV30_3D_RC_FINAL1                                      0x000008f8
-#define NV30_3D_RC_FINAL1_COLOR_SUM_CLAMP                      0x00000080
-#define NV30_3D_RC_FINAL1_G_INPUT__MASK                                0x00000f00
-#define NV30_3D_RC_FINAL1_G_INPUT__SHIFT                       8
-#define NV30_3D_RC_FINAL1_G_INPUT_ZERO                         0x00000000
-#define NV30_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR0              0x00000100
-#define NV30_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR1              0x00000200
-#define NV30_3D_RC_FINAL1_G_INPUT_FOG                          0x00000300
-#define NV30_3D_RC_FINAL1_G_INPUT_PRIMARY_COLOR                        0x00000400
-#define NV30_3D_RC_FINAL1_G_INPUT_SECONDARY_COLOR              0x00000500
-#define NV30_3D_RC_FINAL1_G_INPUT_TEXTURE0                     0x00000800
-#define NV30_3D_RC_FINAL1_G_INPUT_TEXTURE1                     0x00000900
-#define NV30_3D_RC_FINAL1_G_INPUT_TEXTURE2                     0x00000a00
-#define NV30_3D_RC_FINAL1_G_INPUT_TEXTURE3                     0x00000b00
-#define NV30_3D_RC_FINAL1_G_INPUT_SPARE0                       0x00000c00
-#define NV30_3D_RC_FINAL1_G_INPUT_SPARE1                       0x00000d00
-#define NV30_3D_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR  0x00000e00
-#define NV30_3D_RC_FINAL1_G_INPUT_E_TIMES_F                    0x00000f00
-#define NV30_3D_RC_FINAL1_G_COMPONENT_USAGE__MASK              0x00001000
-#define NV30_3D_RC_FINAL1_G_COMPONENT_USAGE__SHIFT             12
-#define NV30_3D_RC_FINAL1_G_COMPONENT_USAGE_RGB                        0x00000000
-#define NV30_3D_RC_FINAL1_G_COMPONENT_USAGE_ALPHA              0x00001000
-#define NV30_3D_RC_FINAL1_G_MAPPING__MASK                      0x0000e000
-#define NV30_3D_RC_FINAL1_G_MAPPING__SHIFT                     13
-#define NV30_3D_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY          0x00000000
-#define NV30_3D_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT            0x00002000
-#define NV30_3D_RC_FINAL1_G_MAPPING_EXPAND_NORMAL              0x00004000
-#define NV30_3D_RC_FINAL1_G_MAPPING_EXPAND_NEGATE              0x00006000
-#define NV30_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL           0x00008000
-#define NV30_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE           0x0000a000
-#define NV30_3D_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY            0x0000c000
-#define NV30_3D_RC_FINAL1_G_MAPPING_SIGNED_NEGATE              0x0000e000
-#define NV30_3D_RC_FINAL1_F_INPUT__MASK                                0x000f0000
-#define NV30_3D_RC_FINAL1_F_INPUT__SHIFT                       16
-#define NV30_3D_RC_FINAL1_F_INPUT_ZERO                         0x00000000
-#define NV30_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR0              0x00010000
-#define NV30_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR1              0x00020000
-#define NV30_3D_RC_FINAL1_F_INPUT_FOG                          0x00030000
-#define NV30_3D_RC_FINAL1_F_INPUT_PRIMARY_COLOR                        0x00040000
-#define NV30_3D_RC_FINAL1_F_INPUT_SECONDARY_COLOR              0x00050000
-#define NV30_3D_RC_FINAL1_F_INPUT_TEXTURE0                     0x00080000
-#define NV30_3D_RC_FINAL1_F_INPUT_TEXTURE1                     0x00090000
-#define NV30_3D_RC_FINAL1_F_INPUT_TEXTURE2                     0x000a0000
-#define NV30_3D_RC_FINAL1_F_INPUT_TEXTURE3                     0x000b0000
-#define NV30_3D_RC_FINAL1_F_INPUT_SPARE0                       0x000c0000
-#define NV30_3D_RC_FINAL1_F_INPUT_SPARE1                       0x000d0000
-#define NV30_3D_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR  0x000e0000
-#define NV30_3D_RC_FINAL1_F_INPUT_E_TIMES_F                    0x000f0000
-#define NV30_3D_RC_FINAL1_F_COMPONENT_USAGE__MASK              0x00100000
-#define NV30_3D_RC_FINAL1_F_COMPONENT_USAGE__SHIFT             20
-#define NV30_3D_RC_FINAL1_F_COMPONENT_USAGE_RGB                        0x00000000
-#define NV30_3D_RC_FINAL1_F_COMPONENT_USAGE_ALPHA              0x00100000
-#define NV30_3D_RC_FINAL1_F_MAPPING__MASK                      0x00e00000
-#define NV30_3D_RC_FINAL1_F_MAPPING__SHIFT                     21
-#define NV30_3D_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY          0x00000000
-#define NV30_3D_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT            0x00200000
-#define NV30_3D_RC_FINAL1_F_MAPPING_EXPAND_NORMAL              0x00400000
-#define NV30_3D_RC_FINAL1_F_MAPPING_EXPAND_NEGATE              0x00600000
-#define NV30_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL           0x00800000
-#define NV30_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE           0x00a00000
-#define NV30_3D_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY            0x00c00000
-#define NV30_3D_RC_FINAL1_F_MAPPING_SIGNED_NEGATE              0x00e00000
-#define NV30_3D_RC_FINAL1_E_INPUT__MASK                                0x0f000000
-#define NV30_3D_RC_FINAL1_E_INPUT__SHIFT                       24
-#define NV30_3D_RC_FINAL1_E_INPUT_ZERO                         0x00000000
-#define NV30_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR0              0x01000000
-#define NV30_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR1              0x02000000
-#define NV30_3D_RC_FINAL1_E_INPUT_FOG                          0x03000000
-#define NV30_3D_RC_FINAL1_E_INPUT_PRIMARY_COLOR                        0x04000000
-#define NV30_3D_RC_FINAL1_E_INPUT_SECONDARY_COLOR              0x05000000
-#define NV30_3D_RC_FINAL1_E_INPUT_TEXTURE0                     0x08000000
-#define NV30_3D_RC_FINAL1_E_INPUT_TEXTURE1                     0x09000000
-#define NV30_3D_RC_FINAL1_E_INPUT_TEXTURE2                     0x0a000000
-#define NV30_3D_RC_FINAL1_E_INPUT_TEXTURE3                     0x0b000000
-#define NV30_3D_RC_FINAL1_E_INPUT_SPARE0                       0x0c000000
-#define NV30_3D_RC_FINAL1_E_INPUT_SPARE1                       0x0d000000
-#define NV30_3D_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR  0x0e000000
-#define NV30_3D_RC_FINAL1_E_INPUT_E_TIMES_F                    0x0f000000
-#define NV30_3D_RC_FINAL1_E_COMPONENT_USAGE__MASK              0x10000000
-#define NV30_3D_RC_FINAL1_E_COMPONENT_USAGE__SHIFT             28
-#define NV30_3D_RC_FINAL1_E_COMPONENT_USAGE_RGB                        0x00000000
-#define NV30_3D_RC_FINAL1_E_COMPONENT_USAGE_ALPHA              0x10000000
-#define NV30_3D_RC_FINAL1_E_MAPPING__MASK                      0xe0000000
-#define NV30_3D_RC_FINAL1_E_MAPPING__SHIFT                     29
-#define NV30_3D_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY          0x00000000
-#define NV30_3D_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT            0x20000000
-#define NV30_3D_RC_FINAL1_E_MAPPING_EXPAND_NORMAL              0x40000000
-#define NV30_3D_RC_FINAL1_E_MAPPING_EXPAND_NEGATE              0x60000000
-#define NV30_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL           0x80000000
-#define NV30_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE           0xa0000000
-#define NV30_3D_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY            0xc0000000
-#define NV30_3D_RC_FINAL1_E_MAPPING_SIGNED_NEGATE              0xe0000000
-
-#define NV30_3D_RC_ENABLE                                      0x000008fc
-#define NV30_3D_RC_ENABLE_NUM_COMBINERS__MASK                  0x0000000f
-#define NV30_3D_RC_ENABLE_NUM_COMBINERS__SHIFT                 0
-#define NV30_3D_RC_ENABLE_STAGE_CONSTANT_COLOR0                        0x0000f000
-#define NV30_3D_RC_ENABLE_STAGE_CONSTANT_COLOR1                        0x000f0000
-
-
-#define NV30_3D_RC_IN_ALPHA(i0)                                       (0x00000900 + 0x20*(i0))
-#define NV30_3D_RC_IN_ALPHA_D_INPUT__MASK                      0x0000000f
-#define NV30_3D_RC_IN_ALPHA_D_INPUT__SHIFT                     0
-#define NV30_3D_RC_IN_ALPHA_D_INPUT_ZERO                       0x00000000
-#define NV30_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0            0x00000001
-#define NV30_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1            0x00000002
-#define NV30_3D_RC_IN_ALPHA_D_INPUT_FOG                                0x00000003
-#define NV30_3D_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR              0x00000004
-#define NV30_3D_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR            0x00000005
-#define NV30_3D_RC_IN_ALPHA_D_INPUT_TEXTURE0                   0x00000008
-#define NV30_3D_RC_IN_ALPHA_D_INPUT_TEXTURE1                   0x00000009
-#define NV30_3D_RC_IN_ALPHA_D_INPUT_TEXTURE2                   0x0000000a
-#define NV30_3D_RC_IN_ALPHA_D_INPUT_TEXTURE3                   0x0000000b
-#define NV30_3D_RC_IN_ALPHA_D_INPUT_SPARE0                     0x0000000c
-#define NV30_3D_RC_IN_ALPHA_D_INPUT_SPARE1                     0x0000000d
-#define NV30_3D_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR        0x0000000e
-#define NV30_3D_RC_IN_ALPHA_D_INPUT_E_TIMES_F                  0x0000000f
-#define NV30_3D_RC_IN_ALPHA_D_COMPONENT_USAGE__MASK            0x00000010
-#define NV30_3D_RC_IN_ALPHA_D_COMPONENT_USAGE__SHIFT           4
-#define NV30_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE             0x00000000
-#define NV30_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA            0x00000010
-#define NV30_3D_RC_IN_ALPHA_D_MAPPING__MASK                    0x000000e0
-#define NV30_3D_RC_IN_ALPHA_D_MAPPING__SHIFT                   5
-#define NV30_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY                0x00000000
-#define NV30_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT          0x00000020
-#define NV30_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL            0x00000040
-#define NV30_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE            0x00000060
-#define NV30_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL         0x00000080
-#define NV30_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE         0x000000a0
-#define NV30_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY          0x000000c0
-#define NV30_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE            0x000000e0
-#define NV30_3D_RC_IN_ALPHA_C_INPUT__MASK                      0x00000f00
-#define NV30_3D_RC_IN_ALPHA_C_INPUT__SHIFT                     8
-#define NV30_3D_RC_IN_ALPHA_C_INPUT_ZERO                       0x00000000
-#define NV30_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0            0x00000100
-#define NV30_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1            0x00000200
-#define NV30_3D_RC_IN_ALPHA_C_INPUT_FOG                                0x00000300
-#define NV30_3D_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR              0x00000400
-#define NV30_3D_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR            0x00000500
-#define NV30_3D_RC_IN_ALPHA_C_INPUT_TEXTURE0                   0x00000800
-#define NV30_3D_RC_IN_ALPHA_C_INPUT_TEXTURE1                   0x00000900
-#define NV30_3D_RC_IN_ALPHA_C_INPUT_TEXTURE2                   0x00000a00
-#define NV30_3D_RC_IN_ALPHA_C_INPUT_TEXTURE3                   0x00000b00
-#define NV30_3D_RC_IN_ALPHA_C_INPUT_SPARE0                     0x00000c00
-#define NV30_3D_RC_IN_ALPHA_C_INPUT_SPARE1                     0x00000d00
-#define NV30_3D_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR        0x00000e00
-#define NV30_3D_RC_IN_ALPHA_C_INPUT_E_TIMES_F                  0x00000f00
-#define NV30_3D_RC_IN_ALPHA_C_COMPONENT_USAGE__MASK            0x00001000
-#define NV30_3D_RC_IN_ALPHA_C_COMPONENT_USAGE__SHIFT           12
-#define NV30_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE             0x00000000
-#define NV30_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA            0x00001000
-#define NV30_3D_RC_IN_ALPHA_C_MAPPING__MASK                    0x0000e000
-#define NV30_3D_RC_IN_ALPHA_C_MAPPING__SHIFT                   13
-#define NV30_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY                0x00000000
-#define NV30_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT          0x00002000
-#define NV30_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL            0x00004000
-#define NV30_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE            0x00006000
-#define NV30_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL         0x00008000
-#define NV30_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE         0x0000a000
-#define NV30_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY          0x0000c000
-#define NV30_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE            0x0000e000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT__MASK                      0x000f0000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT__SHIFT                     16
-#define NV30_3D_RC_IN_ALPHA_B_INPUT_ZERO                       0x00000000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0            0x00010000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1            0x00020000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT_FOG                                0x00030000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR              0x00040000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR            0x00050000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT_TEXTURE0                   0x00080000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT_TEXTURE1                   0x00090000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT_TEXTURE2                   0x000a0000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT_TEXTURE3                   0x000b0000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT_SPARE0                     0x000c0000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT_SPARE1                     0x000d0000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR        0x000e0000
-#define NV30_3D_RC_IN_ALPHA_B_INPUT_E_TIMES_F                  0x000f0000
-#define NV30_3D_RC_IN_ALPHA_B_COMPONENT_USAGE__MASK            0x00100000
-#define NV30_3D_RC_IN_ALPHA_B_COMPONENT_USAGE__SHIFT           20
-#define NV30_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE             0x00000000
-#define NV30_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA            0x00100000
-#define NV30_3D_RC_IN_ALPHA_B_MAPPING__MASK                    0x00e00000
-#define NV30_3D_RC_IN_ALPHA_B_MAPPING__SHIFT                   21
-#define NV30_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY                0x00000000
-#define NV30_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT          0x00200000
-#define NV30_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL            0x00400000
-#define NV30_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE            0x00600000
-#define NV30_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL         0x00800000
-#define NV30_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE         0x00a00000
-#define NV30_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY          0x00c00000
-#define NV30_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE            0x00e00000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT__MASK                      0x0f000000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT__SHIFT                     24
-#define NV30_3D_RC_IN_ALPHA_A_INPUT_ZERO                       0x00000000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0            0x01000000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1            0x02000000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT_FOG                                0x03000000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR              0x04000000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR            0x05000000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT_TEXTURE0                   0x08000000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT_TEXTURE1                   0x09000000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT_TEXTURE2                   0x0a000000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT_TEXTURE3                   0x0b000000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT_SPARE0                     0x0c000000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT_SPARE1                     0x0d000000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR        0x0e000000
-#define NV30_3D_RC_IN_ALPHA_A_INPUT_E_TIMES_F                  0x0f000000
-#define NV30_3D_RC_IN_ALPHA_A_COMPONENT_USAGE__MASK            0x10000000
-#define NV30_3D_RC_IN_ALPHA_A_COMPONENT_USAGE__SHIFT           28
-#define NV30_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE             0x00000000
-#define NV30_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA            0x10000000
-#define NV30_3D_RC_IN_ALPHA_A_MAPPING__MASK                    0xe0000000
-#define NV30_3D_RC_IN_ALPHA_A_MAPPING__SHIFT                   29
-#define NV30_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY                0x00000000
-#define NV30_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT          0x20000000
-#define NV30_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL            0x40000000
-#define NV30_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE            0x60000000
-#define NV30_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL         0x80000000
-#define NV30_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE         0xa0000000
-#define NV30_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY          0xc0000000
-#define NV30_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE            0xe0000000
-
-#define NV30_3D_RC_IN_RGB(i0)                                 (0x00000904 + 0x20*(i0))
-#define NV30_3D_RC_IN_RGB_D_INPUT__MASK                                0x0000000f
-#define NV30_3D_RC_IN_RGB_D_INPUT__SHIFT                       0
-#define NV30_3D_RC_IN_RGB_D_INPUT_ZERO                         0x00000000
-#define NV30_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0              0x00000001
-#define NV30_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1              0x00000002
-#define NV30_3D_RC_IN_RGB_D_INPUT_FOG                          0x00000003
-#define NV30_3D_RC_IN_RGB_D_INPUT_PRIMARY_COLOR                        0x00000004
-#define NV30_3D_RC_IN_RGB_D_INPUT_SECONDARY_COLOR              0x00000005
-#define NV30_3D_RC_IN_RGB_D_INPUT_TEXTURE0                     0x00000008
-#define NV30_3D_RC_IN_RGB_D_INPUT_TEXTURE1                     0x00000009
-#define NV30_3D_RC_IN_RGB_D_INPUT_TEXTURE2                     0x0000000a
-#define NV30_3D_RC_IN_RGB_D_INPUT_TEXTURE3                     0x0000000b
-#define NV30_3D_RC_IN_RGB_D_INPUT_SPARE0                       0x0000000c
-#define NV30_3D_RC_IN_RGB_D_INPUT_SPARE1                       0x0000000d
-#define NV30_3D_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR  0x0000000e
-#define NV30_3D_RC_IN_RGB_D_INPUT_E_TIMES_F                    0x0000000f
-#define NV30_3D_RC_IN_RGB_D_COMPONENT_USAGE__MASK              0x00000010
-#define NV30_3D_RC_IN_RGB_D_COMPONENT_USAGE__SHIFT             4
-#define NV30_3D_RC_IN_RGB_D_COMPONENT_USAGE_RGB                        0x00000000
-#define NV30_3D_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA              0x00000010
-#define NV30_3D_RC_IN_RGB_D_MAPPING__MASK                      0x000000e0
-#define NV30_3D_RC_IN_RGB_D_MAPPING__SHIFT                     5
-#define NV30_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY          0x00000000
-#define NV30_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT            0x00000020
-#define NV30_3D_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL              0x00000040
-#define NV30_3D_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE              0x00000060
-#define NV30_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL           0x00000080
-#define NV30_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE           0x000000a0
-#define NV30_3D_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY            0x000000c0
-#define NV30_3D_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE              0x000000e0
-#define NV30_3D_RC_IN_RGB_C_INPUT__MASK                                0x00000f00
-#define NV30_3D_RC_IN_RGB_C_INPUT__SHIFT                       8
-#define NV30_3D_RC_IN_RGB_C_INPUT_ZERO                         0x00000000
-#define NV30_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0              0x00000100
-#define NV30_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1              0x00000200
-#define NV30_3D_RC_IN_RGB_C_INPUT_FOG                          0x00000300
-#define NV30_3D_RC_IN_RGB_C_INPUT_PRIMARY_COLOR                        0x00000400
-#define NV30_3D_RC_IN_RGB_C_INPUT_SECONDARY_COLOR              0x00000500
-#define NV30_3D_RC_IN_RGB_C_INPUT_TEXTURE0                     0x00000800
-#define NV30_3D_RC_IN_RGB_C_INPUT_TEXTURE1                     0x00000900
-#define NV30_3D_RC_IN_RGB_C_INPUT_TEXTURE2                     0x00000a00
-#define NV30_3D_RC_IN_RGB_C_INPUT_TEXTURE3                     0x00000b00
-#define NV30_3D_RC_IN_RGB_C_INPUT_SPARE0                       0x00000c00
-#define NV30_3D_RC_IN_RGB_C_INPUT_SPARE1                       0x00000d00
-#define NV30_3D_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR  0x00000e00
-#define NV30_3D_RC_IN_RGB_C_INPUT_E_TIMES_F                    0x00000f00
-#define NV30_3D_RC_IN_RGB_C_COMPONENT_USAGE__MASK              0x00001000
-#define NV30_3D_RC_IN_RGB_C_COMPONENT_USAGE__SHIFT             12
-#define NV30_3D_RC_IN_RGB_C_COMPONENT_USAGE_RGB                        0x00000000
-#define NV30_3D_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA              0x00001000
-#define NV30_3D_RC_IN_RGB_C_MAPPING__MASK                      0x0000e000
-#define NV30_3D_RC_IN_RGB_C_MAPPING__SHIFT                     13
-#define NV30_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY          0x00000000
-#define NV30_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT            0x00002000
-#define NV30_3D_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL              0x00004000
-#define NV30_3D_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE              0x00006000
-#define NV30_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL           0x00008000
-#define NV30_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE           0x0000a000
-#define NV30_3D_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY            0x0000c000
-#define NV30_3D_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE              0x0000e000
-#define NV30_3D_RC_IN_RGB_B_INPUT__MASK                                0x000f0000
-#define NV30_3D_RC_IN_RGB_B_INPUT__SHIFT                       16
-#define NV30_3D_RC_IN_RGB_B_INPUT_ZERO                         0x00000000
-#define NV30_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0              0x00010000
-#define NV30_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1              0x00020000
-#define NV30_3D_RC_IN_RGB_B_INPUT_FOG                          0x00030000
-#define NV30_3D_RC_IN_RGB_B_INPUT_PRIMARY_COLOR                        0x00040000
-#define NV30_3D_RC_IN_RGB_B_INPUT_SECONDARY_COLOR              0x00050000
-#define NV30_3D_RC_IN_RGB_B_INPUT_TEXTURE0                     0x00080000
-#define NV30_3D_RC_IN_RGB_B_INPUT_TEXTURE1                     0x00090000
-#define NV30_3D_RC_IN_RGB_B_INPUT_TEXTURE2                     0x000a0000
-#define NV30_3D_RC_IN_RGB_B_INPUT_TEXTURE3                     0x000b0000
-#define NV30_3D_RC_IN_RGB_B_INPUT_SPARE0                       0x000c0000
-#define NV30_3D_RC_IN_RGB_B_INPUT_SPARE1                       0x000d0000
-#define NV30_3D_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR  0x000e0000
-#define NV30_3D_RC_IN_RGB_B_INPUT_E_TIMES_F                    0x000f0000
-#define NV30_3D_RC_IN_RGB_B_COMPONENT_USAGE__MASK              0x00100000
-#define NV30_3D_RC_IN_RGB_B_COMPONENT_USAGE__SHIFT             20
-#define NV30_3D_RC_IN_RGB_B_COMPONENT_USAGE_RGB                        0x00000000
-#define NV30_3D_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA              0x00100000
-#define NV30_3D_RC_IN_RGB_B_MAPPING__MASK                      0x00e00000
-#define NV30_3D_RC_IN_RGB_B_MAPPING__SHIFT                     21
-#define NV30_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY          0x00000000
-#define NV30_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT            0x00200000
-#define NV30_3D_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL              0x00400000
-#define NV30_3D_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE              0x00600000
-#define NV30_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL           0x00800000
-#define NV30_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE           0x00a00000
-#define NV30_3D_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY            0x00c00000
-#define NV30_3D_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE              0x00e00000
-#define NV30_3D_RC_IN_RGB_A_INPUT__MASK                                0x0f000000
-#define NV30_3D_RC_IN_RGB_A_INPUT__SHIFT                       24
-#define NV30_3D_RC_IN_RGB_A_INPUT_ZERO                         0x00000000
-#define NV30_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0              0x01000000
-#define NV30_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1              0x02000000
-#define NV30_3D_RC_IN_RGB_A_INPUT_FOG                          0x03000000
-#define NV30_3D_RC_IN_RGB_A_INPUT_PRIMARY_COLOR                        0x04000000
-#define NV30_3D_RC_IN_RGB_A_INPUT_SECONDARY_COLOR              0x05000000
-#define NV30_3D_RC_IN_RGB_A_INPUT_TEXTURE0                     0x08000000
-#define NV30_3D_RC_IN_RGB_A_INPUT_TEXTURE1                     0x09000000
-#define NV30_3D_RC_IN_RGB_A_INPUT_TEXTURE2                     0x0a000000
-#define NV30_3D_RC_IN_RGB_A_INPUT_TEXTURE3                     0x0b000000
-#define NV30_3D_RC_IN_RGB_A_INPUT_SPARE0                       0x0c000000
-#define NV30_3D_RC_IN_RGB_A_INPUT_SPARE1                       0x0d000000
-#define NV30_3D_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR  0x0e000000
-#define NV30_3D_RC_IN_RGB_A_INPUT_E_TIMES_F                    0x0f000000
-#define NV30_3D_RC_IN_RGB_A_COMPONENT_USAGE__MASK              0x10000000
-#define NV30_3D_RC_IN_RGB_A_COMPONENT_USAGE__SHIFT             28
-#define NV30_3D_RC_IN_RGB_A_COMPONENT_USAGE_RGB                        0x00000000
-#define NV30_3D_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA              0x10000000
-#define NV30_3D_RC_IN_RGB_A_MAPPING__MASK                      0xe0000000
-#define NV30_3D_RC_IN_RGB_A_MAPPING__SHIFT                     29
-#define NV30_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY          0x00000000
-#define NV30_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT            0x20000000
-#define NV30_3D_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL              0x40000000
-#define NV30_3D_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE              0x60000000
-#define NV30_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL           0x80000000
-#define NV30_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE           0xa0000000
-#define NV30_3D_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY            0xc0000000
-#define NV30_3D_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE              0xe0000000
-
-#define NV30_3D_RC_CONSTANT_COLOR0(i0)                        (0x00000908 + 0x20*(i0))
-#define NV30_3D_RC_CONSTANT_COLOR0_B__MASK                     0x000000ff
-#define NV30_3D_RC_CONSTANT_COLOR0_B__SHIFT                    0
-#define NV30_3D_RC_CONSTANT_COLOR0_G__MASK                     0x0000ff00
-#define NV30_3D_RC_CONSTANT_COLOR0_G__SHIFT                    8
-#define NV30_3D_RC_CONSTANT_COLOR0_R__MASK                     0x00ff0000
-#define NV30_3D_RC_CONSTANT_COLOR0_R__SHIFT                    16
-#define NV30_3D_RC_CONSTANT_COLOR0_A__MASK                     0xff000000
-#define NV30_3D_RC_CONSTANT_COLOR0_A__SHIFT                    24
-
-#define NV30_3D_RC_CONSTANT_COLOR1(i0)                        (0x0000090c + 0x20*(i0))
-#define NV30_3D_RC_CONSTANT_COLOR1_B__MASK                     0x000000ff
-#define NV30_3D_RC_CONSTANT_COLOR1_B__SHIFT                    0
-#define NV30_3D_RC_CONSTANT_COLOR1_G__MASK                     0x0000ff00
-#define NV30_3D_RC_CONSTANT_COLOR1_G__SHIFT                    8
-#define NV30_3D_RC_CONSTANT_COLOR1_R__MASK                     0x00ff0000
-#define NV30_3D_RC_CONSTANT_COLOR1_R__SHIFT                    16
-#define NV30_3D_RC_CONSTANT_COLOR1_A__MASK                     0xff000000
-#define NV30_3D_RC_CONSTANT_COLOR1_A__SHIFT                    24
-
-#define NV30_3D_RC_OUT_ALPHA(i0)                              (0x00000910 + 0x20*(i0))
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT__MASK                   0x0000000f
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT__SHIFT                  0
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_ZERO                    0x00000000
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0         0x00000001
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1         0x00000002
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_FOG                     0x00000003
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR           0x00000004
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR         0x00000005
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0                        0x00000008
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1                        0x00000009
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2                        0x0000000a
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3                        0x0000000b
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0                  0x0000000c
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE1                  0x0000000d
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR     0x0000000e
-#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F               0x0000000f
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT__MASK                   0x000000f0
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT__SHIFT                  4
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_ZERO                    0x00000000
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0         0x00000010
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1         0x00000020
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_FOG                     0x00000030
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR           0x00000040
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR         0x00000050
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0                        0x00000080
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1                        0x00000090
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2                        0x000000a0
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3                        0x000000b0
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0                  0x000000c0
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE1                  0x000000d0
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR     0x000000e0
-#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F               0x000000f0
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT__MASK                  0x00000f00
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT__SHIFT                 8
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_ZERO                   0x00000000
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0                0x00000100
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1                0x00000200
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_FOG                    0x00000300
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR          0x00000400
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR                0x00000500
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0               0x00000800
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1               0x00000900
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2               0x00000a00
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3               0x00000b00
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0                 0x00000c00
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1                 0x00000d00
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR    0x00000e00
-#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F              0x00000f00
-#define NV30_3D_RC_OUT_ALPHA_CD_DOT_PRODUCT                    0x00001000
-#define NV30_3D_RC_OUT_ALPHA_AB_DOT_PRODUCT                    0x00002000
-#define NV30_3D_RC_OUT_ALPHA_MUX_SUM                           0x00004000
-#define NV30_3D_RC_OUT_ALPHA_BIAS__MASK                                0x00008000
-#define NV30_3D_RC_OUT_ALPHA_BIAS__SHIFT                       15
-#define NV30_3D_RC_OUT_ALPHA_BIAS_NONE                         0x00000000
-#define NV30_3D_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF    0x00008000
-#define NV30_3D_RC_OUT_ALPHA_SCALE__MASK                       0x00030000
-#define NV30_3D_RC_OUT_ALPHA_SCALE__SHIFT                      16
-#define NV30_3D_RC_OUT_ALPHA_SCALE_NONE                                0x00000000
-#define NV30_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO                        0x00010000
-#define NV30_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR               0x00020000
-#define NV30_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF           0x00030000
-
-#define NV30_3D_RC_OUT_RGB(i0)                                (0x00000914 + 0x20*(i0))
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT__MASK                     0x0000000f
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT__SHIFT                    0
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_ZERO                      0x00000000
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0           0x00000001
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1           0x00000002
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_FOG                       0x00000003
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR             0x00000004
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR           0x00000005
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE0                  0x00000008
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE1                  0x00000009
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE2                  0x0000000a
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE3                  0x0000000b
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0                    0x0000000c
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_SPARE1                    0x0000000d
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR       0x0000000e
-#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F                 0x0000000f
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT__MASK                     0x000000f0
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT__SHIFT                    4
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_ZERO                      0x00000000
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0           0x00000010
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1           0x00000020
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_FOG                       0x00000030
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR             0x00000040
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR           0x00000050
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE0                  0x00000080
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE1                  0x00000090
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE2                  0x000000a0
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE3                  0x000000b0
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0                    0x000000c0
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_SPARE1                    0x000000d0
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR       0x000000e0
-#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F                 0x000000f0
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT__MASK                    0x00000f00
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT__SHIFT                   8
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_ZERO                     0x00000000
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0          0x00000100
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1          0x00000200
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_FOG                      0x00000300
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR            0x00000400
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR          0x00000500
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0                 0x00000800
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1                 0x00000900
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2                 0x00000a00
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3                 0x00000b00
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0                   0x00000c00
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE1                   0x00000d00
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR      0x00000e00
-#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F                        0x00000f00
-#define NV30_3D_RC_OUT_RGB_CD_DOT_PRODUCT                      0x00001000
-#define NV30_3D_RC_OUT_RGB_AB_DOT_PRODUCT                      0x00002000
-#define NV30_3D_RC_OUT_RGB_MUX_SUM                             0x00004000
-#define NV30_3D_RC_OUT_RGB_BIAS__MASK                          0x00008000
-#define NV30_3D_RC_OUT_RGB_BIAS__SHIFT                         15
-#define NV30_3D_RC_OUT_RGB_BIAS_NONE                           0x00000000
-#define NV30_3D_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF      0x00008000
-#define NV30_3D_RC_OUT_RGB_SCALE__MASK                         0x00030000
-#define NV30_3D_RC_OUT_RGB_SCALE__SHIFT                                16
-#define NV30_3D_RC_OUT_RGB_SCALE_NONE                          0x00000000
-#define NV30_3D_RC_OUT_RGB_SCALE_SCALE_BY_TWO                  0x00010000
-#define NV30_3D_RC_OUT_RGB_SCALE_SCALE_BY_FOUR                 0x00020000
-#define NV30_3D_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF             0x00030000
-
-#define NV30_3D_VIEWPORT_HORIZ                                 0x00000a00
-#define NV30_3D_VIEWPORT_HORIZ_X__MASK                         0x0000ffff
-#define NV30_3D_VIEWPORT_HORIZ_X__SHIFT                                0
-#define NV30_3D_VIEWPORT_HORIZ_W__MASK                         0xffff0000
-#define NV30_3D_VIEWPORT_HORIZ_W__SHIFT                                16
-
-#define NV30_3D_VIEWPORT_VERT                                  0x00000a04
-#define NV30_3D_VIEWPORT_VERT_Y__MASK                          0x0000ffff
-#define NV30_3D_VIEWPORT_VERT_Y__SHIFT                         0
-#define NV30_3D_VIEWPORT_VERT_H__MASK                          0xffff0000
-#define NV30_3D_VIEWPORT_VERT_H__SHIFT                         16
-
-#define NV30_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION   0x00000a10
-
-
-#define NV30_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R 0x00000a10
-
-#define NV30_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G 0x00000a14
-
-#define NV30_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B 0x00000a18
-
-#define NV30_3D_VIEWPORT_TRANSLATE                             0x00000a20
-
-
-#define NV30_3D_VIEWPORT_TRANSLATE_X                           0x00000a20
-
-#define NV30_3D_VIEWPORT_TRANSLATE_Y                           0x00000a24
-
-#define NV30_3D_VIEWPORT_TRANSLATE_Z                           0x00000a28
-
-#define NV30_3D_VIEWPORT_TRANSLATE_W                           0x00000a2c
-
-#define NV30_3D_VIEWPORT_SCALE                                 0x00000a30
-
-
-#define NV30_3D_VIEWPORT_SCALE_X                               0x00000a30
-
-#define NV30_3D_VIEWPORT_SCALE_Y                               0x00000a34
-
-#define NV30_3D_VIEWPORT_SCALE_Z                               0x00000a38
-
-#define NV30_3D_VIEWPORT_SCALE_W                               0x00000a3c
-
-#define NV30_3D_POLYGON_OFFSET_POINT_ENABLE                    0x00000a60
-
-#define NV30_3D_POLYGON_OFFSET_LINE_ENABLE                     0x00000a64
-
-#define NV30_3D_POLYGON_OFFSET_FILL_ENABLE                     0x00000a68
-
-#define NV30_3D_DEPTH_FUNC                                     0x00000a6c
-#define NV30_3D_DEPTH_FUNC_NEVER                               0x00000200
-#define NV30_3D_DEPTH_FUNC_LESS                                        0x00000201
-#define NV30_3D_DEPTH_FUNC_EQUAL                               0x00000202
-#define NV30_3D_DEPTH_FUNC_LEQUAL                              0x00000203
-#define NV30_3D_DEPTH_FUNC_GREATER                             0x00000204
-#define NV30_3D_DEPTH_FUNC_NOTEQUAL                            0x00000205
-#define NV30_3D_DEPTH_FUNC_GEQUAL                              0x00000206
-#define NV30_3D_DEPTH_FUNC_ALWAYS                              0x00000207
-
-#define NV30_3D_DEPTH_WRITE_ENABLE                             0x00000a70
-
-#define NV30_3D_DEPTH_TEST_ENABLE                              0x00000a74
-
-#define NV30_3D_POLYGON_OFFSET_FACTOR                          0x00000a78
-
-#define NV30_3D_POLYGON_OFFSET_UNITS                           0x00000a7c
-
-#define NV30_3D_VTX_ATTR_3I_XY(i0)                            (0x00000a80 + 0x8*(i0))
-#define NV30_3D_VTX_ATTR_3I_XY__ESIZE                          0x00000008
-#define NV30_3D_VTX_ATTR_3I_XY__LEN                            0x00000010
-#define NV30_3D_VTX_ATTR_3I_XY_X__MASK                         0x0000ffff
-#define NV30_3D_VTX_ATTR_3I_XY_X__SHIFT                                0
-#define NV30_3D_VTX_ATTR_3I_XY_Y__MASK                         0xffff0000
-#define NV30_3D_VTX_ATTR_3I_XY_Y__SHIFT                                16
-
-#define NV30_3D_VTX_ATTR_3I_Z(i0)                             (0x00000a84 + 0x8*(i0))
-#define NV30_3D_VTX_ATTR_3I_Z__ESIZE                           0x00000008
-#define NV30_3D_VTX_ATTR_3I_Z__LEN                             0x00000010
-#define NV30_3D_VTX_ATTR_3I_Z_Z__MASK                          0x0000ffff
-#define NV30_3D_VTX_ATTR_3I_Z_Z__SHIFT                         0
-
-#define NV30_3D_TEX_FILTER_OPTIMIZATION(i0)                   (0x00000b00 + 0x4*(i0))
-#define NV30_3D_TEX_FILTER_OPTIMIZATION__ESIZE                 0x00000004
-#define NV30_3D_TEX_FILTER_OPTIMIZATION__LEN                   0x00000004
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_TRILINEAR__MASK                0x0000001f
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_TRILINEAR__SHIFT       0
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_TRILINEAR_OFF          0x00000000
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_TRILINEAR_HIGH_QUALITY 0x00000004
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_TRILINEAR_QUALITY      0x00000006
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_TRILINEAR_PERFORMANCE  0x00000008
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_TRILINEAR_HIGH_PERFORMANCE     0x00000018
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE__MASK     0x000001c0
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE__SHIFT    6
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_OFF       0x00000000
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_HIGH_QUALITY      0x000000c0
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_QUALITY   0x000001c0
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_PERFORMANCE       0x00000140
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_UNKNOWN__MASK          0x00007c00
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_UNKNOWN__SHIFT         10
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_UNKNOWN_OFF            0x00000000
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_UNKNOWN_PARTIAL                0x00002c00
-#define NV40_3D_TEX_FILTER_OPTIMIZATION_UNKNOWN_FULL           0x00007c00
-
-#define NV40_3D_UNK0B40(i0)                                   (0x00000b40 + 0x4*(i0))
-#define NV40_3D_UNK0B40__ESIZE                                 0x00000004
-#define NV40_3D_UNK0B40__LEN                                   0x00000008
-
-#define NV30_3D_VP_UPLOAD_INST(i0)                            (0x00000b80 + 0x4*(i0))
-#define NV30_3D_VP_UPLOAD_INST__ESIZE                          0x00000004
-#define NV30_3D_VP_UPLOAD_INST__LEN                            0x00000004
-
-
-#define NV30_3D_TEX_CLIP_PLANE(i0)                            (0x00000e00 + 0x10*(i0))
-
-
-#define NV30_3D_TEX_CLIP_PLANE_X(i0)                          (0x00000e00 + 0x10*(i0))
-
-#define NV30_3D_TEX_CLIP_PLANE_Y(i0)                          (0x00000e04 + 0x10*(i0))
-
-#define NV30_3D_TEX_CLIP_PLANE_Z(i0)                          (0x00000e08 + 0x10*(i0))
-
-#define NV30_3D_TEX_CLIP_PLANE_W(i0)                          (0x00000e0c + 0x10*(i0))
-
-#define NV30_3D_LIGHT                                          0x00001000
-
-
-#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT(i0)          (0x00001000 + 0x40*(i0))
-
-
-#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(i0)        (0x00001000 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(i0)        (0x00001004 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(i0)        (0x00001008 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE(i0)          (0x0000100c + 0x40*(i0))
-
-
-#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(i0)        (0x0000100c + 0x40*(i0))
-
-#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(i0)        (0x00001010 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(i0)        (0x00001014 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR(i0)         (0x00001018 + 0x40*(i0))
-
-
-#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(i0)               (0x00001018 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(i0)               (0x0000101c + 0x40*(i0))
-
-#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(i0)               (0x00001020 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_UNK24(i0)                                       (0x00001024 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_HALF_VECTOR(i0)                         (0x00001028 + 0x40*(i0))
-
-
-#define NV30_3D_LIGHT_HALF_VECTOR_X(i0)                               (0x00001028 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_HALF_VECTOR_Y(i0)                               (0x0000102c + 0x40*(i0))
-
-#define NV30_3D_LIGHT_HALF_VECTOR_Z(i0)                               (0x00001030 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_DIRECTION(i0)                           (0x00001034 + 0x40*(i0))
-
-
-#define NV30_3D_LIGHT_DIRECTION_X(i0)                         (0x00001034 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_DIRECTION_Y(i0)                         (0x00001038 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_DIRECTION_Z(i0)                         (0x0000103c + 0x40*(i0))
-
-
-#define NV30_3D_LIGHT_SPOT_CUTOFF_A(i0)                               (0x00001200 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_SPOT_CUTOFF_B(i0)                               (0x00001204 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_SPOT_CUTOFF_C(i0)                               (0x00001208 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_SPOT_DIR(i0)                            (0x0000120c + 0x40*(i0))
-
-
-#define NV30_3D_LIGHT_SPOT_DIR_X(i0)                          (0x0000120c + 0x40*(i0))
-
-#define NV30_3D_LIGHT_SPOT_DIR_Y(i0)                          (0x00001210 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_SPOT_DIR_Z(i0)                          (0x00001214 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_SPOT_CUTOFF_D(i0)                               (0x00001218 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_POSITION(i0)                            (0x0000121c + 0x40*(i0))
-
-
-#define NV30_3D_LIGHT_POSITION_X(i0)                          (0x0000121c + 0x40*(i0))
-
-#define NV30_3D_LIGHT_POSITION_Y(i0)                          (0x00001220 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_POSITION_Z(i0)                          (0x00001224 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_ATTENUATION(i0)                         (0x00001228 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_ATTENUATION_CONSTANT(i0)                (0x00001228 + 0x40*(i0))
-
-#define NV30_3D_LIGHT_ATTENUATION_LINEAR(i0)                  (0x0000122c + 0x40*(i0))
-
-#define NV30_3D_LIGHT_ATTENUATION_QUADRATIC(i0)                       (0x00001230 + 0x40*(i0))
-
-#define NV30_3D_FRONT_MATERIAL_SHININESS(i0)                  (0x00001400 + 0x4*(i0))
-#define NV30_3D_FRONT_MATERIAL_SHININESS__ESIZE                        0x00000004
-#define NV30_3D_FRONT_MATERIAL_SHININESS__LEN                  0x00000006
-
-#define NV30_3D_ENABLED_LIGHTS                                 0x00001420
-
-#define NV30_3D_VERTEX_TWO_SIDE_ENABLE                         0x0000142c
-
-#define NV30_3D_FP_REG_CONTROL                                 0x00001450
-#define NV30_3D_FP_REG_CONTROL_UNK0__MASK                      0x0000ffff
-#define NV30_3D_FP_REG_CONTROL_UNK0__SHIFT                     0
-#define NV30_3D_FP_REG_CONTROL_UNK1__MASK                      0xffff0000
-#define NV30_3D_FP_REG_CONTROL_UNK1__SHIFT                     16
-
-#define NV30_3D_FLATSHADE_FIRST                                        0x00001454
-
-#define NV30_3D_EDGEFLAG                                       0x0000145c
-#define NV30_3D_EDGEFLAG_ENABLE                                        0x00000001
-
-#define NV30_3D_VP_CLIP_PLANES_ENABLE                          0x00001478
-#define NV30_3D_VP_CLIP_PLANES_ENABLE_PLANE0                   0x00000002
-#define NV30_3D_VP_CLIP_PLANES_ENABLE_PLANE1                   0x00000020
-#define NV30_3D_VP_CLIP_PLANES_ENABLE_PLANE2                   0x00000200
-#define NV30_3D_VP_CLIP_PLANES_ENABLE_PLANE3                   0x00002000
-#define NV30_3D_VP_CLIP_PLANES_ENABLE_PLANE4                   0x00020000
-#define NV30_3D_VP_CLIP_PLANES_ENABLE_PLANE5                   0x00200000
-
-#define NV30_3D_POLYGON_STIPPLE_ENABLE                         0x0000147c
-
-#define NV30_3D_POLYGON_STIPPLE_PATTERN(i0)                   (0x00001480 + 0x4*(i0))
-#define NV30_3D_POLYGON_STIPPLE_PATTERN__ESIZE                 0x00000004
-#define NV30_3D_POLYGON_STIPPLE_PATTERN__LEN                   0x00000020
-
-#define NV30_3D_VTX_ATTR_3F(i0)                                       (0x00001500 + 0x10*(i0))
-#define NV30_3D_VTX_ATTR_3F__ESIZE                             0x00000010
-#define NV30_3D_VTX_ATTR_3F__LEN                               0x00000010
-
-
-#define NV30_3D_VTX_ATTR_3F_X(i0)                             (0x00001500 + 0x10*(i0))
-
-#define NV30_3D_VTX_ATTR_3F_Y(i0)                             (0x00001504 + 0x10*(i0))
-
-#define NV30_3D_VTX_ATTR_3F_Z(i0)                             (0x00001508 + 0x10*(i0))
-
-
-#define NV30_3D_VP_CLIP_PLANE(i0, i1)                         (0x00001600 + 0x10*(i0) + 0x4*(i1))
-#define NV30_3D_VP_CLIP_PLANE__ESIZE                           0x00000004
-#define NV30_3D_VP_CLIP_PLANE__LEN                             0x00000004
-
-#define NV30_3D_VTXBUF(i0)                                    (0x00001680 + 0x4*(i0))
-#define NV30_3D_VTXBUF__ESIZE                                  0x00000004
-#define NV30_3D_VTXBUF__LEN                                    0x00000010
-#define NV30_3D_VTXBUF_OFFSET__MASK                            0x0fffffff
-#define NV30_3D_VTXBUF_OFFSET__SHIFT                           0
-#define NV30_3D_VTXBUF_DMA1                                    0x80000000
-
-#define NV40_3D_VTX_CACHE_INVALIDATE                           0x00001714
-
-#define NV30_3D_VTXFMT(i0)                                    (0x00001740 + 0x4*(i0))
-#define NV30_3D_VTXFMT__ESIZE                                  0x00000004
-#define NV30_3D_VTXFMT__LEN                                    0x00000010
-#define NV30_3D_VTXFMT_TYPE__MASK                              0x0000000f
-#define NV30_3D_VTXFMT_TYPE__SHIFT                             0
-#define NV30_3D_VTXFMT_TYPE_B8G8R8A8_UNORM                     0x00000000
-#define NV30_3D_VTXFMT_TYPE_V16_SNORM                          0x00000001
-#define NV30_3D_VTXFMT_TYPE_V32_FLOAT                          0x00000002
-#define NV30_3D_VTXFMT_TYPE_V16_FLOAT                          0x00000003
-#define NV30_3D_VTXFMT_TYPE_U8_UNORM                           0x00000004
-#define NV30_3D_VTXFMT_TYPE_V16_SSCALED                                0x00000005
-#define NV30_3D_VTXFMT_TYPE_U8_USCALED                         0x00000007
-#define NV30_3D_VTXFMT_SIZE__MASK                              0x000000f0
-#define NV30_3D_VTXFMT_SIZE__SHIFT                             4
-#define NV30_3D_VTXFMT_STRIDE__MASK                            0x0000ff00
-#define NV30_3D_VTXFMT_STRIDE__SHIFT                           8
-
-#define NV30_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION    0x000017a0
-
-
-#define NV30_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R  0x000017a0
-
-#define NV30_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G  0x000017a4
-
-#define NV30_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B  0x000017a8
-
-#define NV30_3D_COLOR_MATERIAL_BACK                            0x000017b0
-
-
-#define NV30_3D_COLOR_MATERIAL_BACK_R                          0x000017b0
-
-#define NV30_3D_COLOR_MATERIAL_BACK_G                          0x000017b4
-
-#define NV30_3D_COLOR_MATERIAL_BACK_B                          0x000017b8
-
-#define NV30_3D_COLOR_MATERIAL_BACK_A                          0x000017bc
-
-#define NV30_3D_QUERY_RESET                                    0x000017c8
-
-#define NV30_3D_QUERY_ENABLE                                   0x000017cc
-
-#define NV30_3D_QUERY_GET                                      0x00001800
-#define NV30_3D_QUERY_GET_OFFSET__MASK                         0x00ffffff
-#define NV30_3D_QUERY_GET_OFFSET__SHIFT                                0
-#define NV30_3D_QUERY_GET_UNK24__MASK                          0xff000000
-#define NV30_3D_QUERY_GET_UNK24__SHIFT                         24
-
-#define NV30_3D_VERTEX_BEGIN_END                               0x00001808
-#define NV30_3D_VERTEX_BEGIN_END_STOP                          0x00000000
-#define NV30_3D_VERTEX_BEGIN_END_POINTS                                0x00000001
-#define NV30_3D_VERTEX_BEGIN_END_LINES                         0x00000002
-#define NV30_3D_VERTEX_BEGIN_END_LINE_LOOP                     0x00000003
-#define NV30_3D_VERTEX_BEGIN_END_LINE_STRIP                    0x00000004
-#define NV30_3D_VERTEX_BEGIN_END_TRIANGLES                     0x00000005
-#define NV30_3D_VERTEX_BEGIN_END_TRIANGLE_STRIP                        0x00000006
-#define NV30_3D_VERTEX_BEGIN_END_TRIANGLE_FAN                  0x00000007
-#define NV30_3D_VERTEX_BEGIN_END_QUADS                         0x00000008
-#define NV30_3D_VERTEX_BEGIN_END_QUAD_STRIP                    0x00000009
-#define NV30_3D_VERTEX_BEGIN_END_POLYGON                       0x0000000a
-
-#define NV30_3D_VB_ELEMENT_U16                                 0x0000180c
-#define NV30_3D_VB_ELEMENT_U16_0__MASK                         0x0000ffff
-#define NV30_3D_VB_ELEMENT_U16_0__SHIFT                                0
-#define NV30_3D_VB_ELEMENT_U16_1__MASK                         0xffff0000
-#define NV30_3D_VB_ELEMENT_U16_1__SHIFT                                16
-
-#define NV30_3D_VB_ELEMENT_U32                                 0x00001810
-
-#define NV30_3D_VB_VERTEX_BATCH                                        0x00001814
-#define NV30_3D_VB_VERTEX_BATCH_OFFSET__MASK                   0x00ffffff
-#define NV30_3D_VB_VERTEX_BATCH_OFFSET__SHIFT                  0
-#define NV30_3D_VB_VERTEX_BATCH_COUNT__MASK                    0xff000000
-#define NV30_3D_VB_VERTEX_BATCH_COUNT__SHIFT                   24
-
-#define NV30_3D_VERTEX_DATA                                    0x00001818
-
-#define NV30_3D_IDXBUF_OFFSET                                  0x0000181c
-
-#define NV30_3D_IDXBUF_FORMAT                                  0x00001820
-#define NV30_3D_IDXBUF_FORMAT_DMA1                             0x00000001
-#define NV30_3D_IDXBUF_FORMAT_TYPE__MASK                       0x000000f0
-#define NV30_3D_IDXBUF_FORMAT_TYPE__SHIFT                      4
-#define NV30_3D_IDXBUF_FORMAT_TYPE_U32                         0x00000000
-#define NV30_3D_IDXBUF_FORMAT_TYPE_U16                         0x00000010
-
-#define NV30_3D_VB_INDEX_BATCH                                 0x00001824
-#define NV30_3D_VB_INDEX_BATCH_START__MASK                     0x00ffffff
-#define NV30_3D_VB_INDEX_BATCH_START__SHIFT                    0
-#define NV30_3D_VB_INDEX_BATCH_COUNT__MASK                     0xff000000
-#define NV30_3D_VB_INDEX_BATCH_COUNT__SHIFT                    24
-
-#define NV30_3D_POLYGON_MODE_FRONT                             0x00001828
-#define NV30_3D_POLYGON_MODE_FRONT_POINT                       0x00001b00
-#define NV30_3D_POLYGON_MODE_FRONT_LINE                                0x00001b01
-#define NV30_3D_POLYGON_MODE_FRONT_FILL                                0x00001b02
-
-#define NV30_3D_POLYGON_MODE_BACK                              0x0000182c
-#define NV30_3D_POLYGON_MODE_BACK_POINT                                0x00001b00
-#define NV30_3D_POLYGON_MODE_BACK_LINE                         0x00001b01
-#define NV30_3D_POLYGON_MODE_BACK_FILL                         0x00001b02
-
-#define NV30_3D_CULL_FACE                                      0x00001830
-#define NV30_3D_CULL_FACE_FRONT                                        0x00000404
-#define NV30_3D_CULL_FACE_BACK                                 0x00000405
-#define NV30_3D_CULL_FACE_FRONT_AND_BACK                       0x00000408
-
-#define NV30_3D_FRONT_FACE                                     0x00001834
-#define NV30_3D_FRONT_FACE_CW                                  0x00000900
-#define NV30_3D_FRONT_FACE_CCW                                 0x00000901
-
-#define NV30_3D_POLYGON_SMOOTH_ENABLE                          0x00001838
-
-#define NV30_3D_CULL_FACE_ENABLE                               0x0000183c
-
-#define NV30_3D_TEX_PALETTE_OFFSET(i0)                        (0x00001840 + 0x4*(i0))
-#define NV30_3D_TEX_PALETTE_OFFSET__ESIZE                      0x00000004
-#define NV30_3D_TEX_PALETTE_OFFSET__LEN                                0x00000008
-
-#define NV40_3D_TEX_SIZE1(i0)                                 (0x00001840 + 0x4*(i0))
-#define NV40_3D_TEX_SIZE1__ESIZE                               0x00000004
-#define NV40_3D_TEX_SIZE1__LEN                                 0x00000008
-#define NV40_3D_TEX_SIZE1_DEPTH__MASK                          0xfff00000
-#define NV40_3D_TEX_SIZE1_DEPTH__SHIFT                         20
-#define NV40_3D_TEX_SIZE1_PITCH__MASK                          0x0000ffff
-#define NV40_3D_TEX_SIZE1_PITCH__SHIFT                         0
-
-#define NV30_3D_VTX_ATTR_2F(i0)                                       (0x00001880 + 0x8*(i0))
-#define NV30_3D_VTX_ATTR_2F__ESIZE                             0x00000008
-#define NV30_3D_VTX_ATTR_2F__LEN                               0x00000010
-
-
-#define NV30_3D_VTX_ATTR_2F_X(i0)                             (0x00001880 + 0x8*(i0))
-
-#define NV30_3D_VTX_ATTR_2F_Y(i0)                             (0x00001884 + 0x8*(i0))
-
-#define NV30_3D_VTX_ATTR_2I(i0)                                       (0x00001900 + 0x4*(i0))
-#define NV30_3D_VTX_ATTR_2I__ESIZE                             0x00000004
-#define NV30_3D_VTX_ATTR_2I__LEN                               0x00000010
-#define NV30_3D_VTX_ATTR_2I_X__MASK                            0x0000ffff
-#define NV30_3D_VTX_ATTR_2I_X__SHIFT                           0
-#define NV30_3D_VTX_ATTR_2I_Y__MASK                            0xffff0000
-#define NV30_3D_VTX_ATTR_2I_Y__SHIFT                           16
-
-#define NV30_3D_VTX_ATTR_4UB(i0)                              (0x00001940 + 0x4*(i0))
-#define NV30_3D_VTX_ATTR_4UB__ESIZE                            0x00000004
-#define NV30_3D_VTX_ATTR_4UB__LEN                              0x00000010
-#define NV30_3D_VTX_ATTR_4UB_X__MASK                           0x000000ff
-#define NV30_3D_VTX_ATTR_4UB_X__SHIFT                          0
-#define NV30_3D_VTX_ATTR_4UB_Y__MASK                           0x0000ff00
-#define NV30_3D_VTX_ATTR_4UB_Y__SHIFT                          8
-#define NV30_3D_VTX_ATTR_4UB_Z__MASK                           0x00ff0000
-#define NV30_3D_VTX_ATTR_4UB_Z__SHIFT                          16
-#define NV30_3D_VTX_ATTR_4UB_W__MASK                           0xff000000
-#define NV30_3D_VTX_ATTR_4UB_W__SHIFT                          24
-
-#define NV30_3D_VTX_ATTR_4I(i0)                                       (0x00001980 + 0x8*(i0))
-#define NV30_3D_VTX_ATTR_4I__ESIZE                             0x00000008
-#define NV30_3D_VTX_ATTR_4I__LEN                               0x00000010
-
-#define NV30_3D_VTX_ATTR_4I_XY(i0)                            (0x00001980 + 0x8*(i0))
-#define NV30_3D_VTX_ATTR_4I_XY_X__MASK                         0x0000ffff
-#define NV30_3D_VTX_ATTR_4I_XY_X__SHIFT                                0
-#define NV30_3D_VTX_ATTR_4I_XY_Y__MASK                         0xffff0000
-#define NV30_3D_VTX_ATTR_4I_XY_Y__SHIFT                                16
-
-#define NV30_3D_VTX_ATTR_4I_ZW(i0)                            (0x00001984 + 0x8*(i0))
-#define NV30_3D_VTX_ATTR_4I_ZW_Z__MASK                         0x0000ffff
-#define NV30_3D_VTX_ATTR_4I_ZW_Z__SHIFT                                0
-#define NV30_3D_VTX_ATTR_4I_ZW_W__MASK                         0xffff0000
-#define NV30_3D_VTX_ATTR_4I_ZW_W__SHIFT                                16
-
-#define NV30_3D_TEX_OFFSET(i0)                                (0x00001a00 + 0x20*(i0))
-#define NV30_3D_TEX_OFFSET__ESIZE                              0x00000020
-#define NV30_3D_TEX_OFFSET__LEN                                        0x00000008
-
-#define NV30_3D_TEX_FORMAT(i0)                                (0x00001a04 + 0x20*(i0))
-#define NV30_3D_TEX_FORMAT__ESIZE                              0x00000020
-#define NV30_3D_TEX_FORMAT__LEN                                        0x00000008
-#define NV30_3D_TEX_FORMAT_DMA0                                        0x00000001
-#define NV30_3D_TEX_FORMAT_DMA1                                        0x00000002
-#define NV30_3D_TEX_FORMAT_CUBIC                               0x00000004
-#define NV30_3D_TEX_FORMAT_NO_BORDER                           0x00000008
-#define NV30_3D_TEX_FORMAT_DIMS__MASK                          0x000000f0
-#define NV30_3D_TEX_FORMAT_DIMS__SHIFT                         4
-#define NV30_3D_TEX_FORMAT_DIMS_1D                             0x00000010
-#define NV30_3D_TEX_FORMAT_DIMS_2D                             0x00000020
-#define NV30_3D_TEX_FORMAT_DIMS_3D                             0x00000030
-#define NV30_3D_TEX_FORMAT_FORMAT__MASK                                0x0000ff00
-#define NV30_3D_TEX_FORMAT_FORMAT__SHIFT                       8
-#define NV30_3D_TEX_FORMAT_FORMAT_L8                           0x00000000
-#define NV30_3D_TEX_FORMAT_FORMAT_I8                           0x00000100
-#define NV30_3D_TEX_FORMAT_FORMAT_A1R5G5B5                     0x00000200
-#define NV30_3D_TEX_FORMAT_FORMAT_A4R4G4B4                     0x00000400
-#define NV30_3D_TEX_FORMAT_FORMAT_R5G6B5                       0x00000500
-#define NV30_3D_TEX_FORMAT_FORMAT_A8R8G8B8                     0x00000600
-#define NV30_3D_TEX_FORMAT_FORMAT_X8R8G8B8                     0x00000700
-#define NV30_3D_TEX_FORMAT_FORMAT_INDEX8                       0x00000b00
-#define NV30_3D_TEX_FORMAT_FORMAT_DXT1                         0x00000c00
-#define NV30_3D_TEX_FORMAT_FORMAT_DXT3                         0x00000e00
-#define NV30_3D_TEX_FORMAT_FORMAT_DXT5                         0x00000f00
-#define NV30_3D_TEX_FORMAT_FORMAT_A1R5G5B5_RECT                        0x00001000
-#define NV30_3D_TEX_FORMAT_FORMAT_R5G6B5_RECT                  0x00001100
-#define NV30_3D_TEX_FORMAT_FORMAT_A8R8G8B8_RECT                        0x00001200
-#define NV30_3D_TEX_FORMAT_FORMAT_L8_RECT                      0x00001300
-#define NV30_3D_TEX_FORMAT_FORMAT_DSDT8_RECT                   0x00001700
-#define NV30_3D_TEX_FORMAT_FORMAT_A8L8                         0x00001a00
-#define NV30_3D_TEX_FORMAT_FORMAT_I8_RECT                      0x00001b00
-#define NV30_3D_TEX_FORMAT_FORMAT_A4R4G4B4_RECT                        0x00001d00
-#define NV30_3D_TEX_FORMAT_FORMAT_R8G8B8_RECT                  0x00001e00
-#define NV30_3D_TEX_FORMAT_FORMAT_A8L8_RECT                    0x00002000
-#define NV30_3D_TEX_FORMAT_FORMAT_Z24                          0x00002a00
-#define NV30_3D_TEX_FORMAT_FORMAT_Z24_RECT                     0x00002b00
-#define NV30_3D_TEX_FORMAT_FORMAT_Z16                          0x00002c00
-#define NV30_3D_TEX_FORMAT_FORMAT_Z16_RECT                     0x00002d00
-#define NV30_3D_TEX_FORMAT_FORMAT_DSDT8                                0x00002800
-#define NV30_3D_TEX_FORMAT_FORMAT_HILO16                       0x00003300
-#define NV30_3D_TEX_FORMAT_FORMAT_HILO16_RECT                  0x00003600
-#define NV30_3D_TEX_FORMAT_FORMAT_HILO8                                0x00004400
-#define NV30_3D_TEX_FORMAT_FORMAT_SIGNED_HILO8                 0x00004500
-#define NV30_3D_TEX_FORMAT_FORMAT_HILO8_RECT                   0x00004600
-#define NV30_3D_TEX_FORMAT_FORMAT_SIGNED_HILO8_RECT            0x00004700
-#define NV30_3D_TEX_FORMAT_FORMAT_A16                          0x00003200
-#define NV30_3D_TEX_FORMAT_FORMAT_A16_RECT                     0x00003500
-#define NV30_3D_TEX_FORMAT_FORMAT_UNK3F                                0x00003f00
-#define NV30_3D_TEX_FORMAT_FORMAT_FLOAT_RGBA16_NV              0x00004a00
-#define NV30_3D_TEX_FORMAT_FORMAT_FLOAT_RGBA32_NV              0x00004b00
-#define NV30_3D_TEX_FORMAT_FORMAT_FLOAT_R32_NV                 0x00004c00
-#define NV40_3D_TEX_FORMAT_FORMAT__MASK                                0x00001f00
-#define NV40_3D_TEX_FORMAT_FORMAT__SHIFT                       8
-#define NV40_3D_TEX_FORMAT_FORMAT_L8                           0x00000100
-#define NV40_3D_TEX_FORMAT_FORMAT_A1R5G5B5                     0x00000200
-#define NV40_3D_TEX_FORMAT_FORMAT_A4R4G4B4                     0x00000300
-#define NV40_3D_TEX_FORMAT_FORMAT_R5G6B5                       0x00000400
-#define NV40_3D_TEX_FORMAT_FORMAT_A8R8G8B8                     0x00000500
-#define NV40_3D_TEX_FORMAT_FORMAT_DXT1                         0x00000600
-#define NV40_3D_TEX_FORMAT_FORMAT_DXT3                         0x00000700
-#define NV40_3D_TEX_FORMAT_FORMAT_DXT5                         0x00000800
-#define NV40_3D_TEX_FORMAT_FORMAT_A8L8                         0x00000b00
-#define NV40_3D_TEX_FORMAT_FORMAT_Z24                          0x00001000
-#define NV40_3D_TEX_FORMAT_FORMAT_Z16                          0x00001200
-#define NV40_3D_TEX_FORMAT_FORMAT_A16                          0x00001400
-#define NV40_3D_TEX_FORMAT_FORMAT_A16L16                       0x00001500
-#define NV40_3D_TEX_FORMAT_FORMAT_HILO8                                0x00001800
-#define NV40_3D_TEX_FORMAT_FORMAT_RGBA16F                      0x00001a00
-#define NV40_3D_TEX_FORMAT_FORMAT_RGBA32F                      0x00001b00
-#define NV40_3D_TEX_FORMAT_LINEAR                              0x00002000
-#define NV40_3D_TEX_FORMAT_RECT                                        0x00004000
-#define NV40_3D_TEX_FORMAT_MIPMAP_COUNT__MASK                  0x000f0000
-#define NV40_3D_TEX_FORMAT_MIPMAP_COUNT__SHIFT                 16
-#define NV30_3D_TEX_FORMAT_MIPMAP                              0x00080000
-#define NV30_3D_TEX_FORMAT_BASE_SIZE_U__MASK                   0x00f00000
-#define NV30_3D_TEX_FORMAT_BASE_SIZE_U__SHIFT                  20
-#define NV30_3D_TEX_FORMAT_BASE_SIZE_V__MASK                   0x0f000000
-#define NV30_3D_TEX_FORMAT_BASE_SIZE_V__SHIFT                  24
-#define NV30_3D_TEX_FORMAT_BASE_SIZE_W__MASK                   0xf0000000
-#define NV30_3D_TEX_FORMAT_BASE_SIZE_W__SHIFT                  28
-
-#define NV30_3D_TEX_WRAP(i0)                                  (0x00001a08 + 0x20*(i0))
-#define NV30_3D_TEX_WRAP__ESIZE                                        0x00000020
-#define NV30_3D_TEX_WRAP__LEN                                  0x00000008
-#define NV30_3D_TEX_WRAP_S__MASK                               0x000000ff
-#define NV30_3D_TEX_WRAP_S__SHIFT                              0
-#define NV30_3D_TEX_WRAP_S_REPEAT                              0x00000001
-#define NV30_3D_TEX_WRAP_S_MIRRORED_REPEAT                     0x00000002
-#define NV30_3D_TEX_WRAP_S_CLAMP_TO_EDGE                       0x00000003
-#define NV30_3D_TEX_WRAP_S_CLAMP_TO_BORDER                     0x00000004
-#define NV30_3D_TEX_WRAP_S_CLAMP                               0x00000005
-#define NV40_3D_TEX_WRAP_S_MIRROR_CLAMP_TO_EDGE                        0x00000006
-#define NV40_3D_TEX_WRAP_S_MIRROR_CLAMP_TO_BORDER              0x00000007
-#define NV40_3D_TEX_WRAP_S_MIRROR_CLAMP                                0x00000008
-#define NV40_3D_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION__MASK   0x00000070
-#define NV40_3D_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION__SHIFT  4
-#define NV40_3D_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_OFF     0x00000000
-#define NV40_3D_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_QUALITY 0x00000020
-#define NV40_3D_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_PERFORMANCE     0x00000030
-#define NV40_3D_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_HIGH_PERFORMANCE        0x00000070
-#define NV30_3D_TEX_WRAP_T__MASK                               0x00000f00
-#define NV30_3D_TEX_WRAP_T__SHIFT                              8
-#define NV30_3D_TEX_WRAP_T_REPEAT                              0x00000100
-#define NV30_3D_TEX_WRAP_T_MIRRORED_REPEAT                     0x00000200
-#define NV30_3D_TEX_WRAP_T_CLAMP_TO_EDGE                       0x00000300
-#define NV30_3D_TEX_WRAP_T_CLAMP_TO_BORDER                     0x00000400
-#define NV30_3D_TEX_WRAP_T_CLAMP                               0x00000500
-#define NV40_3D_TEX_WRAP_T_MIRROR_CLAMP_TO_EDGE                        0x00000600
-#define NV40_3D_TEX_WRAP_T_MIRROR_CLAMP_TO_BORDER              0x00000700
-#define NV40_3D_TEX_WRAP_T_MIRROR_CLAMP                                0x00000800
-#define NV30_3D_TEX_WRAP_EXPAND_NORMAL                         0x0000f000
-#define NV30_3D_TEX_WRAP_R__MASK                               0x000f0000
-#define NV30_3D_TEX_WRAP_R__SHIFT                              16
-#define NV30_3D_TEX_WRAP_R_REPEAT                              0x00010000
-#define NV30_3D_TEX_WRAP_R_MIRRORED_REPEAT                     0x00020000
-#define NV30_3D_TEX_WRAP_R_CLAMP_TO_EDGE                       0x00030000
-#define NV30_3D_TEX_WRAP_R_CLAMP_TO_BORDER                     0x00040000
-#define NV30_3D_TEX_WRAP_R_CLAMP                               0x00050000
-#define NV40_3D_TEX_WRAP_R_MIRROR_CLAMP_TO_EDGE                        0x00060000
-#define NV40_3D_TEX_WRAP_R_MIRROR_CLAMP_TO_BORDER              0x00070000
-#define NV40_3D_TEX_WRAP_R_MIRROR_CLAMP                                0x00080000
-#define NV40_3D_TEX_WRAP_GAMMA_DECREASE_FILTER__MASK           0x00f00000
-#define NV40_3D_TEX_WRAP_GAMMA_DECREASE_FILTER__SHIFT          20
-#define NV40_3D_TEX_WRAP_GAMMA_DECREASE_FILTER_NONE            0x00000000
-#define NV40_3D_TEX_WRAP_GAMMA_DECREASE_FILTER_RED             0x00100000
-#define NV40_3D_TEX_WRAP_GAMMA_DECREASE_FILTER_GREEN           0x00200000
-#define NV40_3D_TEX_WRAP_GAMMA_DECREASE_FILTER_BLUE            0x00400000
-#define NV40_3D_TEX_WRAP_GAMMA_DECREASE_FILTER_ALL             0x00f00000
-#define NV30_3D_TEX_WRAP_RCOMP__MASK                           0xf0000000
-#define NV30_3D_TEX_WRAP_RCOMP__SHIFT                          28
-#define NV30_3D_TEX_WRAP_RCOMP_NEVER                           0x00000000
-#define NV30_3D_TEX_WRAP_RCOMP_GREATER                         0x10000000
-#define NV30_3D_TEX_WRAP_RCOMP_EQUAL                           0x20000000
-#define NV30_3D_TEX_WRAP_RCOMP_GEQUAL                          0x30000000
-#define NV30_3D_TEX_WRAP_RCOMP_LESS                            0x40000000
-#define NV30_3D_TEX_WRAP_RCOMP_NOTEQUAL                                0x50000000
-#define NV30_3D_TEX_WRAP_RCOMP_LEQUAL                          0x60000000
-#define NV30_3D_TEX_WRAP_RCOMP_ALWAYS                          0x70000000
-
-#define NV30_3D_TEX_ENABLE(i0)                                (0x00001a0c + 0x20*(i0))
-#define NV30_3D_TEX_ENABLE__ESIZE                              0x00000020
-#define NV30_3D_TEX_ENABLE__LEN                                        0x00000008
-#define NV30_3D_TEX_ENABLE_ANISO__MASK                         0x00000030
-#define NV30_3D_TEX_ENABLE_ANISO__SHIFT                                4
-#define NV30_3D_TEX_ENABLE_ANISO_NONE                          0x00000000
-#define NV30_3D_TEX_ENABLE_ANISO_2X                            0x00000010
-#define NV30_3D_TEX_ENABLE_ANISO_4X                            0x00000020
-#define NV30_3D_TEX_ENABLE_ANISO_8X                            0x00000030
-#define NV40_3D_TEX_ENABLE_ANISO__MASK                         0x000000f0
-#define NV40_3D_TEX_ENABLE_ANISO__SHIFT                                4
-#define NV40_3D_TEX_ENABLE_ANISO_NONE                          0x00000000
-#define NV40_3D_TEX_ENABLE_ANISO_2X                            0x00000010
-#define NV40_3D_TEX_ENABLE_ANISO_4X                            0x00000020
-#define NV40_3D_TEX_ENABLE_ANISO_6X                            0x00000030
-#define NV40_3D_TEX_ENABLE_ANISO_8X                            0x00000040
-#define NV40_3D_TEX_ENABLE_ANISO_10X                           0x00000050
-#define NV40_3D_TEX_ENABLE_ANISO_12X                           0x00000060
-#define NV40_3D_TEX_ENABLE_ANISO_16X                           0x00000070
-#define NV30_3D_TEX_ENABLE_MIPMAP_MAX_LOD__MASK                        0x0003c000
-#define NV30_3D_TEX_ENABLE_MIPMAP_MAX_LOD__SHIFT               14
-#define NV40_3D_TEX_ENABLE_MIPMAP_MAX_LOD__MASK                        0x00038000
-#define NV40_3D_TEX_ENABLE_MIPMAP_MAX_LOD__SHIFT               15
-#define NV30_3D_TEX_ENABLE_MIPMAP_MIN_LOD__MASK                        0x3c000000
-#define NV30_3D_TEX_ENABLE_MIPMAP_MIN_LOD__SHIFT               26
-#define NV40_3D_TEX_ENABLE_MIPMAP_MIN_LOD__MASK                        0x38000000
-#define NV40_3D_TEX_ENABLE_MIPMAP_MIN_LOD__SHIFT               27
-#define NV30_3D_TEX_ENABLE_ENABLE                              0x40000000
-#define NV40_3D_TEX_ENABLE_ENABLE                              0x80000000
-
-#define NV30_3D_TEX_SWIZZLE(i0)                                       (0x00001a10 + 0x20*(i0))
-#define NV30_3D_TEX_SWIZZLE__ESIZE                             0x00000020
-#define NV30_3D_TEX_SWIZZLE__LEN                               0x00000008
-#define NV30_3D_TEX_SWIZZLE_S1_W__MASK                         0x00000003
-#define NV30_3D_TEX_SWIZZLE_S1_W__SHIFT                                0
-#define NV30_3D_TEX_SWIZZLE_S1_W_W                             0x00000000
-#define NV30_3D_TEX_SWIZZLE_S1_W_Z                             0x00000001
-#define NV30_3D_TEX_SWIZZLE_S1_W_Y                             0x00000002
-#define NV30_3D_TEX_SWIZZLE_S1_W_X                             0x00000003
-#define NV30_3D_TEX_SWIZZLE_S1_Z__MASK                         0x0000000c
-#define NV30_3D_TEX_SWIZZLE_S1_Z__SHIFT                                2
-#define NV30_3D_TEX_SWIZZLE_S1_Z_W                             0x00000000
-#define NV30_3D_TEX_SWIZZLE_S1_Z_Z                             0x00000004
-#define NV30_3D_TEX_SWIZZLE_S1_Z_Y                             0x00000008
-#define NV30_3D_TEX_SWIZZLE_S1_Z_X                             0x0000000c
-#define NV30_3D_TEX_SWIZZLE_S1_Y__MASK                         0x00000030
-#define NV30_3D_TEX_SWIZZLE_S1_Y__SHIFT                                4
-#define NV30_3D_TEX_SWIZZLE_S1_Y_W                             0x00000000
-#define NV30_3D_TEX_SWIZZLE_S1_Y_Z                             0x00000010
-#define NV30_3D_TEX_SWIZZLE_S1_Y_Y                             0x00000020
-#define NV30_3D_TEX_SWIZZLE_S1_Y_X                             0x00000030
-#define NV30_3D_TEX_SWIZZLE_S1_X__MASK                         0x000000c0
-#define NV30_3D_TEX_SWIZZLE_S1_X__SHIFT                                6
-#define NV30_3D_TEX_SWIZZLE_S1_X_W                             0x00000000
-#define NV30_3D_TEX_SWIZZLE_S1_X_Z                             0x00000040
-#define NV30_3D_TEX_SWIZZLE_S1_X_Y                             0x00000080
-#define NV30_3D_TEX_SWIZZLE_S1_X_X                             0x000000c0
-#define NV30_3D_TEX_SWIZZLE_S0_W__MASK                         0x00000300
-#define NV30_3D_TEX_SWIZZLE_S0_W__SHIFT                                8
-#define NV30_3D_TEX_SWIZZLE_S0_W_ZERO                          0x00000000
-#define NV30_3D_TEX_SWIZZLE_S0_W_ONE                           0x00000100
-#define NV30_3D_TEX_SWIZZLE_S0_W_S1                            0x00000200
-#define NV30_3D_TEX_SWIZZLE_S0_Z__MASK                         0x00000c00
-#define NV30_3D_TEX_SWIZZLE_S0_Z__SHIFT                                10
-#define NV30_3D_TEX_SWIZZLE_S0_Z_ZERO                          0x00000000
-#define NV30_3D_TEX_SWIZZLE_S0_Z_ONE                           0x00000400
-#define NV30_3D_TEX_SWIZZLE_S0_Z_S1                            0x00000800
-#define NV30_3D_TEX_SWIZZLE_S0_Y__MASK                         0x00003000
-#define NV30_3D_TEX_SWIZZLE_S0_Y__SHIFT                                12
-#define NV30_3D_TEX_SWIZZLE_S0_Y_ZERO                          0x00000000
-#define NV30_3D_TEX_SWIZZLE_S0_Y_ONE                           0x00001000
-#define NV30_3D_TEX_SWIZZLE_S0_Y_S1                            0x00002000
-#define NV30_3D_TEX_SWIZZLE_S0_X__MASK                         0x0000c000
-#define NV30_3D_TEX_SWIZZLE_S0_X__SHIFT                                14
-#define NV30_3D_TEX_SWIZZLE_S0_X_ZERO                          0x00000000
-#define NV30_3D_TEX_SWIZZLE_S0_X_ONE                           0x00004000
-#define NV30_3D_TEX_SWIZZLE_S0_X_S1                            0x00008000
-#define NV30_3D_TEX_SWIZZLE_RECT_PITCH__MASK                   0xffff0000
-#define NV30_3D_TEX_SWIZZLE_RECT_PITCH__SHIFT                  16
-
-#define NV30_3D_TEX_FILTER(i0)                                (0x00001a14 + 0x20*(i0))
-#define NV30_3D_TEX_FILTER__ESIZE                              0x00000020
-#define NV30_3D_TEX_FILTER__LEN                                        0x00000008
-#define NV30_3D_TEX_FILTER_LOD_BIAS__MASK                      0x00000f00
-#define NV30_3D_TEX_FILTER_LOD_BIAS__SHIFT                     8
-#define NV30_3D_TEX_FILTER_MIN__MASK                           0x000f0000
-#define NV30_3D_TEX_FILTER_MIN__SHIFT                          16
-#define NV30_3D_TEX_FILTER_MIN_NEAREST                         0x00010000
-#define NV30_3D_TEX_FILTER_MIN_LINEAR                          0x00020000
-#define NV30_3D_TEX_FILTER_MIN_NEAREST_MIPMAP_NEAREST          0x00030000
-#define NV30_3D_TEX_FILTER_MIN_LINEAR_MIPMAP_NEAREST           0x00040000
-#define NV30_3D_TEX_FILTER_MIN_NEAREST_MIPMAP_LINEAR           0x00050000
-#define NV30_3D_TEX_FILTER_MIN_LINEAR_MIPMAP_LINEAR            0x00060000
-#define NV30_3D_TEX_FILTER_MAG__MASK                           0x0f000000
-#define NV30_3D_TEX_FILTER_MAG__SHIFT                          24
-#define NV30_3D_TEX_FILTER_MAG_NEAREST                         0x01000000
-#define NV30_3D_TEX_FILTER_MAG_LINEAR                          0x02000000
-#define NV30_3D_TEX_FILTER_SIGNED_BLUE                         0x10000000
-#define NV30_3D_TEX_FILTER_SIGNED_GREEN                                0x20000000
-#define NV30_3D_TEX_FILTER_SIGNED_RED                          0x40000000
-#define NV30_3D_TEX_FILTER_SIGNED_ALPHA                                0x80000000
-
-#define NV30_3D_TEX_NPOT_SIZE(i0)                             (0x00001a18 + 0x20*(i0))
-#define NV30_3D_TEX_NPOT_SIZE__ESIZE                           0x00000020
-#define NV30_3D_TEX_NPOT_SIZE__LEN                             0x00000008
-#define NV30_3D_TEX_NPOT_SIZE_H__MASK                          0x0000ffff
-#define NV30_3D_TEX_NPOT_SIZE_H__SHIFT                         0
-#define NV30_3D_TEX_NPOT_SIZE_W__MASK                          0xffff0000
-#define NV30_3D_TEX_NPOT_SIZE_W__SHIFT                         16
-
-#define NV30_3D_TEX_BORDER_COLOR(i0)                          (0x00001a1c + 0x20*(i0))
-#define NV30_3D_TEX_BORDER_COLOR__ESIZE                                0x00000020
-#define NV30_3D_TEX_BORDER_COLOR__LEN                          0x00000008
-#define NV30_3D_TEX_BORDER_COLOR_B__MASK                       0x000000ff
-#define NV30_3D_TEX_BORDER_COLOR_B__SHIFT                      0
-#define NV30_3D_TEX_BORDER_COLOR_G__MASK                       0x0000ff00
-#define NV30_3D_TEX_BORDER_COLOR_G__SHIFT                      8
-#define NV30_3D_TEX_BORDER_COLOR_R__MASK                       0x00ff0000
-#define NV30_3D_TEX_BORDER_COLOR_R__SHIFT                      16
-#define NV30_3D_TEX_BORDER_COLOR_A__MASK                       0xff000000
-#define NV30_3D_TEX_BORDER_COLOR_A__SHIFT                      24
-
-#define NV30_3D_VTX_ATTR_4F(i0)                                       (0x00001c00 + 0x10*(i0))
-#define NV30_3D_VTX_ATTR_4F__ESIZE                             0x00000010
-#define NV30_3D_VTX_ATTR_4F__LEN                               0x00000010
-
-
-#define NV30_3D_VTX_ATTR_4F_X(i0)                             (0x00001c00 + 0x10*(i0))
-
-#define NV30_3D_VTX_ATTR_4F_Y(i0)                             (0x00001c04 + 0x10*(i0))
-
-#define NV30_3D_VTX_ATTR_4F_Z(i0)                             (0x00001c08 + 0x10*(i0))
-
-#define NV30_3D_VTX_ATTR_4F_W(i0)                             (0x00001c0c + 0x10*(i0))
-
-#define NV30_3D_FP_CONTROL                                     0x00001d60
-#define NV30_3D_FP_CONTROL_USED_REGS_MINUS1_DIV2__MASK         0x0000000f
-#define NV30_3D_FP_CONTROL_USED_REGS_MINUS1_DIV2__SHIFT                0
-#define NV30_3D_FP_CONTROL_USES_KIL                            0x00000080
-#define NV40_3D_FP_CONTROL_KIL                                 0x00000080
-#define NV40_3D_FP_CONTROL_TEMP_COUNT__MASK                    0xff000000
-#define NV40_3D_FP_CONTROL_TEMP_COUNT__SHIFT                   24
-
-#define NV30_3D_DEPTH_CONTROL                                  0x00001d78
-#define NV30_3D_DEPTH_CONTROL_CLAMP                            0x000000f0
-
-#define NV30_3D_MULTISAMPLE_CONTROL                            0x00001d7c
-#define NV30_3D_MULTISAMPLE_CONTROL_ENABLE                     0x00000001
-#define NV30_3D_MULTISAMPLE_CONTROL_SAMPLE_ALPHA_TO_COVERAGE   0x00000010
-#define NV30_3D_MULTISAMPLE_CONTROL_SAMPLE_ALPHA_TO_ONE                0x00000100
-#define NV30_3D_MULTISAMPLE_CONTROL_SAMPLE_COVERAGE__MASK      0xffff0000
-#define NV30_3D_MULTISAMPLE_CONTROL_SAMPLE_COVERAGE__SHIFT     16
-
-#define NV30_3D_COORD_CONVENTIONS                              0x00001d88
-#define NV30_3D_COORD_CONVENTIONS_HEIGHT__MASK                 0x00000fff
-#define NV30_3D_COORD_CONVENTIONS_HEIGHT__SHIFT                        0
-#define NV30_3D_COORD_CONVENTIONS_ORIGIN__MASK                 0x00001000
-#define NV30_3D_COORD_CONVENTIONS_ORIGIN__SHIFT                        12
-#define NV30_3D_COORD_CONVENTIONS_ORIGIN_NORMAL                        0x00000000
-#define NV30_3D_COORD_CONVENTIONS_ORIGIN_INVERTED              0x00001000
-#define NV30_3D_COORD_CONVENTIONS_CENTER__MASK                 0x00010000
-#define NV30_3D_COORD_CONVENTIONS_CENTER__SHIFT                        16
-#define NV30_3D_COORD_CONVENTIONS_CENTER_HALF_INTEGER          0x00000000
-#define NV30_3D_COORD_CONVENTIONS_CENTER_INTEGER               0x00010000
-
-#define NV30_3D_CLEAR_DEPTH_VALUE                              0x00001d8c
-
-#define NV30_3D_CLEAR_COLOR_VALUE                              0x00001d90
-#define NV30_3D_CLEAR_COLOR_VALUE_B__MASK                      0x000000ff
-#define NV30_3D_CLEAR_COLOR_VALUE_B__SHIFT                     0
-#define NV30_3D_CLEAR_COLOR_VALUE_G__MASK                      0x0000ff00
-#define NV30_3D_CLEAR_COLOR_VALUE_G__SHIFT                     8
-#define NV30_3D_CLEAR_COLOR_VALUE_R__MASK                      0x00ff0000
-#define NV30_3D_CLEAR_COLOR_VALUE_R__SHIFT                     16
-#define NV30_3D_CLEAR_COLOR_VALUE_A__MASK                      0xff000000
-#define NV30_3D_CLEAR_COLOR_VALUE_A__SHIFT                     24
-
-#define NV30_3D_CLEAR_BUFFERS                                  0x00001d94
-#define NV30_3D_CLEAR_BUFFERS_DEPTH                            0x00000001
-#define NV30_3D_CLEAR_BUFFERS_STENCIL                          0x00000002
-#define NV30_3D_CLEAR_BUFFERS_COLOR_R                          0x00000010
-#define NV30_3D_CLEAR_BUFFERS_COLOR_G                          0x00000020
-#define NV30_3D_CLEAR_BUFFERS_COLOR_B                          0x00000040
-#define NV30_3D_CLEAR_BUFFERS_COLOR_A                          0x00000080
-
-#define NV30_3D_DO_VERTICES                                    0x00001dac
-
-#define NV30_3D_LINE_STIPPLE_ENABLE                            0x00001db4
-
-#define NV30_3D_LINE_STIPPLE_PATTERN                           0x00001db8
-#define NV30_3D_LINE_STIPPLE_PATTERN_FACTOR__MASK              0x0000ffff
-#define NV30_3D_LINE_STIPPLE_PATTERN_FACTOR__SHIFT             0
-#define NV30_3D_LINE_STIPPLE_PATTERN_PATTERN__MASK             0xffff0000
-#define NV30_3D_LINE_STIPPLE_PATTERN_PATTERN__SHIFT            16
-
-#define NV30_3D_BACK_MATERIAL_SHININESS(i0)                   (0x00001e20 + 0x4*(i0))
-#define NV30_3D_BACK_MATERIAL_SHININESS__ESIZE                 0x00000004
-#define NV30_3D_BACK_MATERIAL_SHININESS__LEN                   0x00000006
-
-#define NV30_3D_VTX_ATTR_1F(i0)                                       (0x00001e40 + 0x4*(i0))
-#define NV30_3D_VTX_ATTR_1F__ESIZE                             0x00000004
-#define NV30_3D_VTX_ATTR_1F__LEN                               0x00000010
-
-#define NV30_3D_ENGINE                                         0x00001e94
-#define NV30_3D_ENGINE_FP                                      0x00000001
-#define NV30_3D_ENGINE_VP                                      0x00000002
-#define NV30_3D_ENGINE_FIXED                                   0x00000004
-
-#define NV30_3D_VP_UPLOAD_FROM_ID                              0x00001e9c
-
-#define NV30_3D_VP_START_FROM_ID                               0x00001ea0
-
-#define NV30_3D_POINT_PARAMETERS(i0)                          (0x00001ec0 + 0x4*(i0))
-#define NV30_3D_POINT_PARAMETERS__ESIZE                                0x00000004
-#define NV30_3D_POINT_PARAMETERS__LEN                          0x00000008
-
-#define NV30_3D_POINT_SIZE                                     0x00001ee0
-
-#define NV30_3D_POINT_PARAMETERS_ENABLE                                0x00001ee4
-
-#define NV30_3D_POINT_SPRITE                                   0x00001ee8
-#define NV30_3D_POINT_SPRITE_ENABLE                            0x00000001
-#define NV30_3D_POINT_SPRITE_R_MODE__MASK                      0x00000006
-#define NV30_3D_POINT_SPRITE_R_MODE__SHIFT                     1
-#define NV30_3D_POINT_SPRITE_R_MODE_ZERO                       0x00000000
-#define NV30_3D_POINT_SPRITE_R_MODE_R                          0x00000002
-#define NV30_3D_POINT_SPRITE_R_MODE_S                          0x00000004
-#define NV30_3D_POINT_SPRITE_COORD_REPLACE_0                   0x00000100
-#define NV30_3D_POINT_SPRITE_COORD_REPLACE_1                   0x00000200
-#define NV30_3D_POINT_SPRITE_COORD_REPLACE_2                   0x00000400
-#define NV30_3D_POINT_SPRITE_COORD_REPLACE_3                   0x00000800
-#define NV30_3D_POINT_SPRITE_COORD_REPLACE_4                   0x00001000
-#define NV30_3D_POINT_SPRITE_COORD_REPLACE_5                   0x00002000
-#define NV30_3D_POINT_SPRITE_COORD_REPLACE_6                   0x00004000
-#define NV30_3D_POINT_SPRITE_COORD_REPLACE_7                   0x00008000
-
-#define NV30_3D_VP_UPLOAD_CONST_ID                             0x00001efc
-
-#define NV30_3D_VP_UPLOAD_CONST(i0)                           (0x00001f00 + 0x10*(i0))
-#define NV30_3D_VP_UPLOAD_CONST__ESIZE                         0x00000010
-#define NV30_3D_VP_UPLOAD_CONST__LEN                           0x00000004
-
-
-#define NV30_3D_VP_UPLOAD_CONST_X(i0)                         (0x00001f00 + 0x10*(i0))
-
-#define NV30_3D_VP_UPLOAD_CONST_Y(i0)                         (0x00001f04 + 0x10*(i0))
-
-#define NV30_3D_VP_UPLOAD_CONST_Z(i0)                         (0x00001f08 + 0x10*(i0))
-
-#define NV30_3D_VP_UPLOAD_CONST_W(i0)                         (0x00001f0c + 0x10*(i0))
-
-#define NV30_3D_UNK1F80(i0)                                   (0x00001f80 + 0x4*(i0))
-#define NV30_3D_UNK1F80__ESIZE                                 0x00000004
-#define NV30_3D_UNK1F80__LEN                                   0x00000010
-
-#define NV40_3D_TEX_CACHE_CTL                                  0x00001fd8
-
-#define NV40_3D_VP_ATTRIB_EN                                   0x00001ff0
-
-#define NV40_3D_VP_RESULT_EN                                   0x00001ff4
-
-
-#endif /* NV30_40_3D_XML */