Nouveau: update nouveau_class.h
[mesa.git] / src / gallium / drivers / nouveau / nouveau_class.h
index bf1e622d2c401e4e34502afa6e9317b2196d6f69..3df3d7b2b8341b3df002b1be6541372861e0a5a4 100644 (file)
@@ -4,7 +4,7 @@
 
 **************************************************************************
 
-   Copyright (C) 2006-2007 :
+   Copyright (C) 2006-2008 :
    Dmitry Baryshkov,
    Laurent Carlier,
    Matthieu Castet,
@@ -1740,6 +1740,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I5_MASK                  0x00f00000
 
 
+#define NV10_DX5_TEXTURED_TRIANGLE                                                     0x00000094
+
+
+
 #define NV10TCL                                                                                0x00000056
 
 #define  NV10TCL_NOP                                                                   0x00000100
@@ -1771,6 +1775,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define    NV10TCL_RT_FORMAT_COLOR_X8R8G8B8                                            0x00000005
 #define    NV10TCL_RT_FORMAT_COLOR_A8R8G8B8                                            0x00000008
 #define    NV10TCL_RT_FORMAT_COLOR_B8                                                  0x00000009
+#define    NV10TCL_RT_FORMAT_COLOR_UNKNOWN                                             0x0000000d
 #define    NV10TCL_RT_FORMAT_COLOR_X8B8G8R8                                            0x0000000f
 #define    NV10TCL_RT_FORMAT_COLOR_A8B8G8R8                                            0x00000010
 #define  NV10TCL_RT_PITCH                                                              0x0000020c
@@ -1794,6 +1799,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define    NV10TCL_TX_FORMAT_FORMAT_A1R5G5B5                                           0x00000100
 #define    NV10TCL_TX_FORMAT_FORMAT_A8_RECT                                            0x00000180
 #define    NV10TCL_TX_FORMAT_FORMAT_A4R4G4B4                                           0x00000200
+#define    NV10TCL_TX_FORMAT_FORMAT_R5G6B5                                             0x00000280
 #define    NV10TCL_TX_FORMAT_FORMAT_A8R8G8B8                                           0x00000300
 #define    NV10TCL_TX_FORMAT_FORMAT_X8R8G8B8                                           0x00000380
 #define    NV10TCL_TX_FORMAT_FORMAT_INDEX8                                             0x00000580
@@ -1801,21 +1807,28 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define    NV10TCL_TX_FORMAT_FORMAT_DXT3                                               0x00000700
 #define    NV10TCL_TX_FORMAT_FORMAT_DXT5                                               0x00000780
 #define    NV10TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT                                      0x00000800
+#define    NV10TCL_TX_FORMAT_FORMAT_R5G6B5_RECT                                                0x00000880
 #define    NV10TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT                                      0x00000900
 #define    NV10TCL_TX_FORMAT_FORMAT_L8_RECT                                            0x00000980
 #define    NV10TCL_TX_FORMAT_FORMAT_A8L8                                               0x00000d00
 #define    NV10TCL_TX_FORMAT_FORMAT_A8_RECT2                                           0x00000d80
-#define    NV10TCL_TX_FORMAT_FORMAT_R8G8B8_RECT                                                0x00000f00
 #define    NV10TCL_TX_FORMAT_FORMAT_A4R4G4B4_RECT                                      0x00000e80
+#define    NV10TCL_TX_FORMAT_FORMAT_R8G8B8_RECT                                                0x00000f00
 #define    NV10TCL_TX_FORMAT_FORMAT_L8A8_RECT                                          0x00001000
+#define    NV10TCL_TX_FORMAT_FORMAT_DSDT                                               0x00001400
 #define    NV10TCL_TX_FORMAT_FORMAT_A16                                                        0x00001900
+#define    NV10TCL_TX_FORMAT_FORMAT_HILO16                                             0x00001980
 #define    NV10TCL_TX_FORMAT_FORMAT_A16_RECT                                           0x00001a80
+#define    NV10TCL_TX_FORMAT_FORMAT_HILO16_RECT                                                0x00001b00
+#define    NV10TCL_TX_FORMAT_FORMAT_HILO8                                              0x00002200
+#define    NV10TCL_TX_FORMAT_FORMAT_SIGNED_HILO8                                       0x00002280
+#define    NV10TCL_TX_FORMAT_FORMAT_HILO8_RECT                                         0x00002300
+#define    NV10TCL_TX_FORMAT_FORMAT_SIGNED_HILO8_RECT                                  0x00002380
 #define    NV10TCL_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV                                    0x00002500
 #define    NV10TCL_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV                                    0x00002580
 #define    NV10TCL_TX_FORMAT_FORMAT_FLOAT_R32_NV                                       0x00002600
 #define   NV10TCL_TX_FORMAT_NPOT                                                       (1 << 11)
-#define   NV10TCL_TX_FORMAT_MIPMAP_LEVELS_SHIFT                                                12
-#define   NV10TCL_TX_FORMAT_MIPMAP_LEVELS_MASK                                         0x0000f000
+#define   NV10TCL_TX_FORMAT_MIPMAP                                                     (1 << 15)
 #define   NV10TCL_TX_FORMAT_BASE_SIZE_U_SHIFT                                          16
 #define   NV10TCL_TX_FORMAT_BASE_SIZE_U_MASK                                           0x000f0000
 #define   NV10TCL_TX_FORMAT_BASE_SIZE_V_SHIFT                                          20
@@ -1838,6 +1851,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV10TCL_TX_ENABLE__SIZE                                                       0x00000002
 #define   NV10TCL_TX_ENABLE_ANISOTROPY_SHIFT                                           4
 #define   NV10TCL_TX_ENABLE_ANISOTROPY_MASK                                            0x00000030
+#define   NV10TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT                                       14
+#define   NV10TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK                                                0x0003c000
+#define   NV10TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT                                       26
+#define   NV10TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK                                                0x3c000000
 #define   NV10TCL_TX_ENABLE_ENABLE                                                     (1 << 30)
 #define  NV10TCL_TX_NPOT_PITCH(x)                                                      (0x00000230+((x)*4))
 #define  NV10TCL_TX_NPOT_PITCH__SIZE                                                   0x00000002
@@ -1851,6 +1868,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV10TCL_TX_NPOT_SIZE_W_MASK                                                  0xffff0000
 #define  NV10TCL_TX_FILTER(x)                                                          (0x00000248+((x)*4))
 #define  NV10TCL_TX_FILTER__SIZE                                                       0x00000002
+#define   NV10TCL_TX_FILTER_LOD_BIAS_SHIFT                                             8
+#define   NV10TCL_TX_FILTER_LOD_BIAS_MASK                                              0x00000f00
 #define   NV10TCL_TX_FILTER_MINIFY_SHIFT                                               24
 #define   NV10TCL_TX_FILTER_MINIFY_MASK                                                        0x0f000000
 #define    NV10TCL_TX_FILTER_MINIFY_NEAREST                                            0x01000000
@@ -2416,6 +2435,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV10TCL_FOG_MODE_LINEAR                                                      0x00000804
 #define   NV10TCL_FOG_MODE_LINEAR_2                                                    0x00002601
 #define  NV10TCL_FOG_COORD_DIST                                                                0x000002a0
+#define   NV10TCL_FOG_COORD_DIST_COORD_FALSE                                           0x00000000
+#define   NV10TCL_FOG_COORD_DIST_COORD_FRAGMENT_DEPTH_DISTANCE_EYE_RADIAL_NV           0x00000001
+#define   NV10TCL_FOG_COORD_DIST_COORD_FRAGMENT_DEPTH_DISTANCE_EYE_PLANE_ABSOLUTE_NV   0x00000002
+#define   NV10TCL_FOG_COORD_DIST_COORD_FOG                                             0x00000003
 #define  NV10TCL_FOG_ENABLE                                                            0x000002a4
 #define  NV10TCL_FOG_COLOR                                                             0x000002a8
 #define   NV10TCL_FOG_COLOR_R_SHIFT                                                    0
@@ -2610,11 +2633,38 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV10TCL_ENABLED_LIGHTS_LIGHT5                                                        (1 << 10)
 #define   NV10TCL_ENABLED_LIGHTS_LIGHT6                                                        (1 << 12)
 #define   NV10TCL_ENABLED_LIGHTS_LIGHT7                                                        (1 << 14)
-#define  NV10TCL_CLIP_PLANE_ENABLE(x)                                                  (0x000003c0+((x)*4))
-#define  NV10TCL_CLIP_PLANE_ENABLE__SIZE                                               0x00000008
-#define   NV10TCL_CLIP_PLANE_ENABLE_FALSE                                              0x00000000
-#define   NV10TCL_CLIP_PLANE_ENABLE_EYE_LINEAR                                         0x00002400
-#define   NV10TCL_CLIP_PLANE_ENABLE_OBJECT_LINEAR                                      0x00002401
+#define  NV10TCL_TX_GEN_S(x)                                                           (0x000003c0+((x)*16))
+#define  NV10TCL_TX_GEN_S__SIZE                                                                0x00000002
+#define   NV10TCL_TX_GEN_S_FALSE                                                       0x00000000
+#define   NV10TCL_TX_GEN_S_EYE_LINEAR                                                  0x00002400
+#define   NV10TCL_TX_GEN_S_OBJECT_LINEAR                                               0x00002401
+#define   NV10TCL_TX_GEN_S_SPHERE_MAP                                                  0x00002402
+#define   NV10TCL_TX_GEN_S_NORMAL_MAP                                                  0x00008511
+#define   NV10TCL_TX_GEN_S_REFLECTION_MAP                                              0x00008512
+#define  NV10TCL_TX_GEN_T(x)                                                           (0x000003c4+((x)*16))
+#define  NV10TCL_TX_GEN_T__SIZE                                                                0x00000002
+#define   NV10TCL_TX_GEN_T_FALSE                                                       0x00000000
+#define   NV10TCL_TX_GEN_T_EYE_LINEAR                                                  0x00002400
+#define   NV10TCL_TX_GEN_T_OBJECT_LINEAR                                               0x00002401
+#define   NV10TCL_TX_GEN_T_SPHERE_MAP                                                  0x00002402
+#define   NV10TCL_TX_GEN_T_NORMAL_MAP                                                  0x00008511
+#define   NV10TCL_TX_GEN_T_REFLECTION_MAP                                              0x00008512
+#define  NV10TCL_TX_GEN_R(x)                                                           (0x000003c8+((x)*16))
+#define  NV10TCL_TX_GEN_R__SIZE                                                                0x00000002
+#define   NV10TCL_TX_GEN_R_FALSE                                                       0x00000000
+#define   NV10TCL_TX_GEN_R_EYE_LINEAR                                                  0x00002400
+#define   NV10TCL_TX_GEN_R_OBJECT_LINEAR                                               0x00002401
+#define   NV10TCL_TX_GEN_R_SPHERE_MAP                                                  0x00002402
+#define   NV10TCL_TX_GEN_R_NORMAL_MAP                                                  0x00008511
+#define   NV10TCL_TX_GEN_R_REFLECTION_MAP                                              0x00008512
+#define  NV10TCL_TX_GEN_Q(x)                                                           (0x000003cc+((x)*16))
+#define  NV10TCL_TX_GEN_Q__SIZE                                                                0x00000002
+#define   NV10TCL_TX_GEN_Q_FALSE                                                       0x00000000
+#define   NV10TCL_TX_GEN_Q_EYE_LINEAR                                                  0x00002400
+#define   NV10TCL_TX_GEN_Q_OBJECT_LINEAR                                               0x00002401
+#define   NV10TCL_TX_GEN_Q_SPHERE_MAP                                                  0x00002402
+#define   NV10TCL_TX_GEN_Q_NORMAL_MAP                                                  0x00008511
+#define   NV10TCL_TX_GEN_Q_REFLECTION_MAP                                              0x00008512
 #define  NV10TCL_TX_MATRIX_ENABLE(x)                                                   (0x000003e0+((x)*4))
 #define  NV10TCL_TX_MATRIX_ENABLE__SIZE                                                        0x00000002
 #define  NV10TCL_VIEW_MATRIX_ENABLE                                                    0x000003e8
@@ -2804,6 +2854,16 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV10TCL_VERTEX_WGH_1F                                                         0x00000ce4
 #define  NV10TCL_EDGEFLAG_ENABLE                                                       0x00000cec
 #define  NV10TCL_VERTEX_ARRAY_VALIDATE                                                 0x00000cf0
+#define  NV10TCL_VERTEX_ARRAY_ATTRIB_OFFSET(x)                                         (0x00000d00+((x)*8))
+#define  NV10TCL_VERTEX_ARRAY_ATTRIB_OFFSET__SIZE                                      0x00000008
+#define  NV10TCL_VERTEX_ARRAY_ATTRIB_FORMAT(x)                                         (0x00000d04+((x)*8))
+#define  NV10TCL_VERTEX_ARRAY_ATTRIB_FORMAT__SIZE                                      0x00000008
+#define   NV10TCL_VERTEX_ARRAY_ATTRIB_FORMAT_TYPE_SHIFT                                        0
+#define   NV10TCL_VERTEX_ARRAY_ATTRIB_FORMAT_TYPE_MASK                                 0x0000000f
+#define   NV10TCL_VERTEX_ARRAY_ATTRIB_FORMAT_FIELDS_SHIFT                              4
+#define   NV10TCL_VERTEX_ARRAY_ATTRIB_FORMAT_FIELDS_MASK                               0x000000f0
+#define   NV10TCL_VERTEX_ARRAY_ATTRIB_FORMAT_STRIDE_SHIFT                              8
+#define   NV10TCL_VERTEX_ARRAY_ATTRIB_FORMAT_STRIDE_MASK                               0x0000ff00
 #define  NV10TCL_VERTEX_ARRAY_OFFSET_POS                                               0x00000d00
 #define  NV10TCL_VERTEX_ARRAY_FORMAT_POS                                               0x00000d04
 #define   NV10TCL_VERTEX_ARRAY_FORMAT_POS_TYPE_SHIFT                                   0
@@ -3238,27 +3298,369 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV20TCL_NOP                                                                   0x00000100
 #define  NV20TCL_NOTIFY                                                                        0x00000104
 #define  NV20TCL_DMA_NOTIFY                                                            0x00000180
-#define  NV20TCL_DMA_IN_MEMORY0                                                                0x00000184
-#define  NV20TCL_DMA_IN_MEMORY1                                                                0x00000188
-#define  NV20TCL_DMA_IN_MEMORY2                                                                0x00000194
-#define  NV20TCL_DMA_IN_MEMORY3                                                                0x00000198
-#define  NV20TCL_DMA_IN_MEMORY6                                                                0x000001a4
-#define  NV20TCL_DMA_IN_MEMORY7                                                                0x000001a8
-#define  NV20TCL_VIEWPORT_HORIZ                                                                0x00000200
-#define  NV20TCL_VIEWPORT_VERT                                                         0x00000204
-#define  NV20TCL_BUFFER_FORMAT                                                         0x00000208
-#define  NV20TCL_BUFFER_PITCH                                                          0x0000020c
+#define  NV20TCL_DMA_TEXTURE0                                                          0x00000184
+#define  NV20TCL_DMA_TEXTURE1                                                          0x00000188
+#define  NV20TCL_DMA_COLOR                                                             0x00000194
+#define  NV20TCL_DMA_ZETA                                                              0x00000198
+#define  NV20TCL_DMA_VTXBUF0                                                           0x0000019c
+#define  NV20TCL_DMA_VTXBUF1                                                           0x000001a0
+#define  NV20TCL_DMA_FENCE                                                             0x000001a4
+#define  NV20TCL_DMA_QUERY                                                             0x000001a8
+#define  NV20TCL_RT_HORIZ                                                              0x00000200
+#define   NV20TCL_RT_HORIZ_X_SHIFT                                                     0
+#define   NV20TCL_RT_HORIZ_X_MASK                                                      0x0000ffff
+#define   NV20TCL_RT_HORIZ_W_SHIFT                                                     16
+#define   NV20TCL_RT_HORIZ_W_MASK                                                      0xffff0000
+#define  NV20TCL_RT_VERT                                                               0x00000204
+#define   NV20TCL_RT_VERT_Y_SHIFT                                                      0
+#define   NV20TCL_RT_VERT_Y_MASK                                                       0x0000ffff
+#define   NV20TCL_RT_VERT_H_SHIFT                                                      16
+#define   NV20TCL_RT_VERT_H_MASK                                                       0xffff0000
+#define  NV20TCL_RT_FORMAT                                                             0x00000208
+#define   NV20TCL_RT_FORMAT_TYPE_SHIFT                                                 8
+#define   NV20TCL_RT_FORMAT_TYPE_MASK                                                  0x00000f00
+#define    NV20TCL_RT_FORMAT_TYPE_LINEAR                                               0x00000100
+#define    NV20TCL_RT_FORMAT_TYPE_SWIZZLED                                             0x00000200
+#define   NV20TCL_RT_FORMAT_COLOR_SHIFT                                                        0
+#define   NV20TCL_RT_FORMAT_COLOR_MASK                                                 0x0000001f
+#define    NV20TCL_RT_FORMAT_COLOR_R5G6B5                                              0x00000003
+#define    NV20TCL_RT_FORMAT_COLOR_X8R8G8B8                                            0x00000005
+#define    NV20TCL_RT_FORMAT_COLOR_A8R8G8B8                                            0x00000008
+#define    NV20TCL_RT_FORMAT_COLOR_B8                                                  0x00000009
+#define    NV20TCL_RT_FORMAT_COLOR_UNKNOWN                                             0x0000000d
+#define    NV20TCL_RT_FORMAT_COLOR_X8B8G8R8                                            0x0000000f
+#define    NV20TCL_RT_FORMAT_COLOR_A8B8G8R8                                            0x00000010
+#define  NV20TCL_RT_PITCH                                                              0x0000020c
+#define   NV20TCL_RT_PITCH_COLOR_PITCH_SHIFT                                           0
+#define   NV20TCL_RT_PITCH_COLOR_PITCH_MASK                                            0x0000ffff
+#define   NV20TCL_RT_PITCH_ZETA_PITCH_SHIFT                                            16
+#define   NV20TCL_RT_PITCH_ZETA_PITCH_MASK                                             0xffff0000
 #define  NV20TCL_COLOR_OFFSET                                                          0x00000210
 #define  NV20TCL_ZETA_OFFSET                                                           0x00000214
 #define  NV20TCL_RC_IN_ALPHA(x)                                                                (0x00000260+((x)*4))
 #define  NV20TCL_RC_IN_ALPHA__SIZE                                                     0x00000008
+#define   NV20TCL_RC_IN_ALPHA_D_INPUT_SHIFT                                            0
+#define   NV20TCL_RC_IN_ALPHA_D_INPUT_MASK                                             0x0000000f
+#define    NV20TCL_RC_IN_ALPHA_D_INPUT_ZERO                                            0x00000000
+#define    NV20TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0_NV                              0x00000001
+#define    NV20TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1_NV                              0x00000002
+#define    NV20TCL_RC_IN_ALPHA_D_INPUT_FOG                                             0x00000003
+#define    NV20TCL_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR_NV                                        0x00000004
+#define    NV20TCL_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR_NV                              0x00000005
+#define    NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE0_ARB                                    0x00000008
+#define    NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE1_ARB                                    0x00000009
+#define    NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE0_NV                                       0x0000000c
+#define    NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE1_NV                                       0x0000000d
+#define    NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                  0x0000000e
+#define    NV20TCL_RC_IN_ALPHA_D_INPUT_E_TIMES_F_NV                                    0x0000000f
+#define   NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE                                                (1 <<  4)
+#define    NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE                                  0x00000000
+#define    NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA                                 0x00000010
+#define   NV20TCL_RC_IN_ALPHA_D_MAPPING_SHIFT                                          5
+#define   NV20TCL_RC_IN_ALPHA_D_MAPPING_MASK                                           0x000000e0
+#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY_NV                          0x00000000
+#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT_NV                            0x00000020
+#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL_NV                              0x00000040
+#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE_NV                              0x00000060
+#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL_NV                           0x00000080
+#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE_NV                           0x000000a0
+#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY_NV                            0x000000c0
+#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE_NV                              0x000000e0
+#define   NV20TCL_RC_IN_ALPHA_C_INPUT_SHIFT                                            8
+#define   NV20TCL_RC_IN_ALPHA_C_INPUT_MASK                                             0x00000f00
+#define    NV20TCL_RC_IN_ALPHA_C_INPUT_ZERO                                            0x00000000
+#define    NV20TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0_NV                              0x00000100
+#define    NV20TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1_NV                              0x00000200
+#define    NV20TCL_RC_IN_ALPHA_C_INPUT_FOG                                             0x00000300
+#define    NV20TCL_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR_NV                                        0x00000400
+#define    NV20TCL_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR_NV                              0x00000500
+#define    NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE0_ARB                                    0x00000800
+#define    NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE1_ARB                                    0x00000900
+#define    NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE0_NV                                       0x00000c00
+#define    NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE1_NV                                       0x00000d00
+#define    NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                  0x00000e00
+#define    NV20TCL_RC_IN_ALPHA_C_INPUT_E_TIMES_F_NV                                    0x00000f00
+#define   NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE                                                (1 << 12)
+#define    NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE                                  0x00000000
+#define    NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA                                 0x00001000
+#define   NV20TCL_RC_IN_ALPHA_C_MAPPING_SHIFT                                          13
+#define   NV20TCL_RC_IN_ALPHA_C_MAPPING_MASK                                           0x0000e000
+#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY_NV                          0x00000000
+#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT_NV                            0x00002000
+#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL_NV                              0x00004000
+#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE_NV                              0x00006000
+#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL_NV                           0x00008000
+#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE_NV                           0x0000a000
+#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY_NV                            0x0000c000
+#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE_NV                              0x0000e000
+#define   NV20TCL_RC_IN_ALPHA_B_INPUT_SHIFT                                            16
+#define   NV20TCL_RC_IN_ALPHA_B_INPUT_MASK                                             0x000f0000
+#define    NV20TCL_RC_IN_ALPHA_B_INPUT_ZERO                                            0x00000000
+#define    NV20TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0_NV                              0x00010000
+#define    NV20TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1_NV                              0x00020000
+#define    NV20TCL_RC_IN_ALPHA_B_INPUT_FOG                                             0x00030000
+#define    NV20TCL_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR_NV                                        0x00040000
+#define    NV20TCL_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR_NV                              0x00050000
+#define    NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE0_ARB                                    0x00080000
+#define    NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE1_ARB                                    0x00090000
+#define    NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE0_NV                                       0x000c0000
+#define    NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE1_NV                                       0x000d0000
+#define    NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                  0x000e0000
+#define    NV20TCL_RC_IN_ALPHA_B_INPUT_E_TIMES_F_NV                                    0x000f0000
+#define   NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE                                                (1 << 20)
+#define    NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE                                  0x00000000
+#define    NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA                                 0x00100000
+#define   NV20TCL_RC_IN_ALPHA_B_MAPPING_SHIFT                                          21
+#define   NV20TCL_RC_IN_ALPHA_B_MAPPING_MASK                                           0x00e00000
+#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY_NV                          0x00000000
+#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT_NV                            0x00200000
+#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL_NV                              0x00400000
+#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE_NV                              0x00600000
+#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL_NV                           0x00800000
+#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE_NV                           0x00a00000
+#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY_NV                            0x00c00000
+#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE_NV                              0x00e00000
+#define   NV20TCL_RC_IN_ALPHA_A_INPUT_SHIFT                                            24
+#define   NV20TCL_RC_IN_ALPHA_A_INPUT_MASK                                             0x0f000000
+#define    NV20TCL_RC_IN_ALPHA_A_INPUT_ZERO                                            0x00000000
+#define    NV20TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0_NV                              0x01000000
+#define    NV20TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1_NV                              0x02000000
+#define    NV20TCL_RC_IN_ALPHA_A_INPUT_FOG                                             0x03000000
+#define    NV20TCL_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR_NV                                        0x04000000
+#define    NV20TCL_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR_NV                              0x05000000
+#define    NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE0_ARB                                    0x08000000
+#define    NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE1_ARB                                    0x09000000
+#define    NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE0_NV                                       0x0c000000
+#define    NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE1_NV                                       0x0d000000
+#define    NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                  0x0e000000
+#define    NV20TCL_RC_IN_ALPHA_A_INPUT_E_TIMES_F_NV                                    0x0f000000
+#define   NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE                                                (1 << 28)
+#define    NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE                                  0x00000000
+#define    NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA                                 0x10000000
+#define   NV20TCL_RC_IN_ALPHA_A_MAPPING_SHIFT                                          29
+#define   NV20TCL_RC_IN_ALPHA_A_MAPPING_MASK                                           0xe0000000
+#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY_NV                          0x00000000
+#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT_NV                            0x20000000
+#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL_NV                              0x40000000
+#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE_NV                              0x60000000
+#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL_NV                           0x80000000
+#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE_NV                           0xa0000000
+#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY_NV                            0xc0000000
+#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE_NV                              0xe0000000
 #define  NV20TCL_RC_FINAL0                                                             0x00000288
+#define   NV20TCL_RC_FINAL0_D_INPUT_SHIFT                                              0
+#define   NV20TCL_RC_FINAL0_D_INPUT_MASK                                               0x0000000f
+#define    NV20TCL_RC_FINAL0_D_INPUT_ZERO                                              0x00000000
+#define    NV20TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR0_NV                                        0x00000001
+#define    NV20TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR1_NV                                        0x00000002
+#define    NV20TCL_RC_FINAL0_D_INPUT_FOG                                               0x00000003
+#define    NV20TCL_RC_FINAL0_D_INPUT_PRIMARY_COLOR_NV                                  0x00000004
+#define    NV20TCL_RC_FINAL0_D_INPUT_SECONDARY_COLOR_NV                                        0x00000005
+#define    NV20TCL_RC_FINAL0_D_INPUT_TEXTURE0_ARB                                      0x00000008
+#define    NV20TCL_RC_FINAL0_D_INPUT_TEXTURE1_ARB                                      0x00000009
+#define    NV20TCL_RC_FINAL0_D_INPUT_SPARE0_NV                                         0x0000000c
+#define    NV20TCL_RC_FINAL0_D_INPUT_SPARE1_NV                                         0x0000000d
+#define    NV20TCL_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x0000000e
+#define    NV20TCL_RC_FINAL0_D_INPUT_E_TIMES_F_NV                                      0x0000000f
+#define   NV20TCL_RC_FINAL0_D_COMPONENT_USAGE                                          (1 <<  4)
+#define    NV20TCL_RC_FINAL0_D_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV20TCL_RC_FINAL0_D_COMPONENT_USAGE_ALPHA                                   0x00000010
+#define   NV20TCL_RC_FINAL0_D_MAPPING_SHIFT                                            5
+#define   NV20TCL_RC_FINAL0_D_MAPPING_MASK                                             0x000000e0
+#define    NV20TCL_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV20TCL_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT_NV                              0x00000020
+#define    NV20TCL_RC_FINAL0_D_MAPPING_EXPAND_NORMAL_NV                                        0x00000040
+#define    NV20TCL_RC_FINAL0_D_MAPPING_EXPAND_NEGATE_NV                                        0x00000060
+#define    NV20TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL_NV                             0x00000080
+#define    NV20TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE_NV                             0x000000a0
+#define    NV20TCL_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY_NV                              0x000000c0
+#define    NV20TCL_RC_FINAL0_D_MAPPING_SIGNED_NEGATE_NV                                        0x000000e0
+#define   NV20TCL_RC_FINAL0_C_INPUT_SHIFT                                              8
+#define   NV20TCL_RC_FINAL0_C_INPUT_MASK                                               0x00000f00
+#define    NV20TCL_RC_FINAL0_C_INPUT_ZERO                                              0x00000000
+#define    NV20TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR0_NV                                        0x00000100
+#define    NV20TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR1_NV                                        0x00000200
+#define    NV20TCL_RC_FINAL0_C_INPUT_FOG                                               0x00000300
+#define    NV20TCL_RC_FINAL0_C_INPUT_PRIMARY_COLOR_NV                                  0x00000400
+#define    NV20TCL_RC_FINAL0_C_INPUT_SECONDARY_COLOR_NV                                        0x00000500
+#define    NV20TCL_RC_FINAL0_C_INPUT_TEXTURE0_ARB                                      0x00000800
+#define    NV20TCL_RC_FINAL0_C_INPUT_TEXTURE1_ARB                                      0x00000900
+#define    NV20TCL_RC_FINAL0_C_INPUT_SPARE0_NV                                         0x00000c00
+#define    NV20TCL_RC_FINAL0_C_INPUT_SPARE1_NV                                         0x00000d00
+#define    NV20TCL_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x00000e00
+#define    NV20TCL_RC_FINAL0_C_INPUT_E_TIMES_F_NV                                      0x00000f00
+#define   NV20TCL_RC_FINAL0_C_COMPONENT_USAGE                                          (1 << 12)
+#define    NV20TCL_RC_FINAL0_C_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV20TCL_RC_FINAL0_C_COMPONENT_USAGE_ALPHA                                   0x00001000
+#define   NV20TCL_RC_FINAL0_C_MAPPING_SHIFT                                            13
+#define   NV20TCL_RC_FINAL0_C_MAPPING_MASK                                             0x0000e000
+#define    NV20TCL_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV20TCL_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT_NV                              0x00002000
+#define    NV20TCL_RC_FINAL0_C_MAPPING_EXPAND_NORMAL_NV                                        0x00004000
+#define    NV20TCL_RC_FINAL0_C_MAPPING_EXPAND_NEGATE_NV                                        0x00006000
+#define    NV20TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL_NV                             0x00008000
+#define    NV20TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE_NV                             0x0000a000
+#define    NV20TCL_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY_NV                              0x0000c000
+#define    NV20TCL_RC_FINAL0_C_MAPPING_SIGNED_NEGATE_NV                                        0x0000e000
+#define   NV20TCL_RC_FINAL0_B_INPUT_SHIFT                                              16
+#define   NV20TCL_RC_FINAL0_B_INPUT_MASK                                               0x000f0000
+#define    NV20TCL_RC_FINAL0_B_INPUT_ZERO                                              0x00000000
+#define    NV20TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR0_NV                                        0x00010000
+#define    NV20TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR1_NV                                        0x00020000
+#define    NV20TCL_RC_FINAL0_B_INPUT_FOG                                               0x00030000
+#define    NV20TCL_RC_FINAL0_B_INPUT_PRIMARY_COLOR_NV                                  0x00040000
+#define    NV20TCL_RC_FINAL0_B_INPUT_SECONDARY_COLOR_NV                                        0x00050000
+#define    NV20TCL_RC_FINAL0_B_INPUT_TEXTURE0_ARB                                      0x00080000
+#define    NV20TCL_RC_FINAL0_B_INPUT_TEXTURE1_ARB                                      0x00090000
+#define    NV20TCL_RC_FINAL0_B_INPUT_SPARE0_NV                                         0x000c0000
+#define    NV20TCL_RC_FINAL0_B_INPUT_SPARE1_NV                                         0x000d0000
+#define    NV20TCL_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x000e0000
+#define    NV20TCL_RC_FINAL0_B_INPUT_E_TIMES_F_NV                                      0x000f0000
+#define   NV20TCL_RC_FINAL0_B_COMPONENT_USAGE                                          (1 << 20)
+#define    NV20TCL_RC_FINAL0_B_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV20TCL_RC_FINAL0_B_COMPONENT_USAGE_ALPHA                                   0x00100000
+#define   NV20TCL_RC_FINAL0_B_MAPPING_SHIFT                                            21
+#define   NV20TCL_RC_FINAL0_B_MAPPING_MASK                                             0x00e00000
+#define    NV20TCL_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV20TCL_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT_NV                              0x00200000
+#define    NV20TCL_RC_FINAL0_B_MAPPING_EXPAND_NORMAL_NV                                        0x00400000
+#define    NV20TCL_RC_FINAL0_B_MAPPING_EXPAND_NEGATE_NV                                        0x00600000
+#define    NV20TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL_NV                             0x00800000
+#define    NV20TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE_NV                             0x00a00000
+#define    NV20TCL_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY_NV                              0x00c00000
+#define    NV20TCL_RC_FINAL0_B_MAPPING_SIGNED_NEGATE_NV                                        0x00e00000
+#define   NV20TCL_RC_FINAL0_A_INPUT_SHIFT                                              24
+#define   NV20TCL_RC_FINAL0_A_INPUT_MASK                                               0x0f000000
+#define    NV20TCL_RC_FINAL0_A_INPUT_ZERO                                              0x00000000
+#define    NV20TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR0_NV                                        0x01000000
+#define    NV20TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR1_NV                                        0x02000000
+#define    NV20TCL_RC_FINAL0_A_INPUT_FOG                                               0x03000000
+#define    NV20TCL_RC_FINAL0_A_INPUT_PRIMARY_COLOR_NV                                  0x04000000
+#define    NV20TCL_RC_FINAL0_A_INPUT_SECONDARY_COLOR_NV                                        0x05000000
+#define    NV20TCL_RC_FINAL0_A_INPUT_TEXTURE0_ARB                                      0x08000000
+#define    NV20TCL_RC_FINAL0_A_INPUT_TEXTURE1_ARB                                      0x09000000
+#define    NV20TCL_RC_FINAL0_A_INPUT_SPARE0_NV                                         0x0c000000
+#define    NV20TCL_RC_FINAL0_A_INPUT_SPARE1_NV                                         0x0d000000
+#define    NV20TCL_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x0e000000
+#define    NV20TCL_RC_FINAL0_A_INPUT_E_TIMES_F_NV                                      0x0f000000
+#define   NV20TCL_RC_FINAL0_A_COMPONENT_USAGE                                          (1 << 28)
+#define    NV20TCL_RC_FINAL0_A_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV20TCL_RC_FINAL0_A_COMPONENT_USAGE_ALPHA                                   0x10000000
+#define   NV20TCL_RC_FINAL0_A_MAPPING_SHIFT                                            29
+#define   NV20TCL_RC_FINAL0_A_MAPPING_MASK                                             0xe0000000
+#define    NV20TCL_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV20TCL_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT_NV                              0x20000000
+#define    NV20TCL_RC_FINAL0_A_MAPPING_EXPAND_NORMAL_NV                                        0x40000000
+#define    NV20TCL_RC_FINAL0_A_MAPPING_EXPAND_NEGATE_NV                                        0x60000000
+#define    NV20TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL_NV                             0x80000000
+#define    NV20TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE_NV                             0xa0000000
+#define    NV20TCL_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY_NV                              0xc0000000
+#define    NV20TCL_RC_FINAL0_A_MAPPING_SIGNED_NEGATE_NV                                        0xe0000000
 #define  NV20TCL_RC_FINAL1                                                             0x0000028c
+#define   NV20TCL_RC_FINAL1_COLOR_SUM_CLAMP                                            (1 <<  7)
+#define   NV20TCL_RC_FINAL1_G_INPUT_SHIFT                                              8
+#define   NV20TCL_RC_FINAL1_G_INPUT_MASK                                               0x00000f00
+#define    NV20TCL_RC_FINAL1_G_INPUT_ZERO                                              0x00000000
+#define    NV20TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR0_NV                                        0x00000100
+#define    NV20TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR1_NV                                        0x00000200
+#define    NV20TCL_RC_FINAL1_G_INPUT_FOG                                               0x00000300
+#define    NV20TCL_RC_FINAL1_G_INPUT_PRIMARY_COLOR_NV                                  0x00000400
+#define    NV20TCL_RC_FINAL1_G_INPUT_SECONDARY_COLOR_NV                                        0x00000500
+#define    NV20TCL_RC_FINAL1_G_INPUT_TEXTURE0_ARB                                      0x00000800
+#define    NV20TCL_RC_FINAL1_G_INPUT_TEXTURE1_ARB                                      0x00000900
+#define    NV20TCL_RC_FINAL1_G_INPUT_SPARE0_NV                                         0x00000c00
+#define    NV20TCL_RC_FINAL1_G_INPUT_SPARE1_NV                                         0x00000d00
+#define    NV20TCL_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x00000e00
+#define    NV20TCL_RC_FINAL1_G_INPUT_E_TIMES_F_NV                                      0x00000f00
+#define   NV20TCL_RC_FINAL1_G_COMPONENT_USAGE                                          (1 << 12)
+#define    NV20TCL_RC_FINAL1_G_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV20TCL_RC_FINAL1_G_COMPONENT_USAGE_ALPHA                                   0x00001000
+#define   NV20TCL_RC_FINAL1_G_MAPPING_SHIFT                                            13
+#define   NV20TCL_RC_FINAL1_G_MAPPING_MASK                                             0x0000e000
+#define    NV20TCL_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV20TCL_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT_NV                              0x00002000
+#define    NV20TCL_RC_FINAL1_G_MAPPING_EXPAND_NORMAL_NV                                        0x00004000
+#define    NV20TCL_RC_FINAL1_G_MAPPING_EXPAND_NEGATE_NV                                        0x00006000
+#define    NV20TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL_NV                             0x00008000
+#define    NV20TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE_NV                             0x0000a000
+#define    NV20TCL_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY_NV                              0x0000c000
+#define    NV20TCL_RC_FINAL1_G_MAPPING_SIGNED_NEGATE_NV                                        0x0000e000
+#define   NV20TCL_RC_FINAL1_F_INPUT_SHIFT                                              16
+#define   NV20TCL_RC_FINAL1_F_INPUT_MASK                                               0x000f0000
+#define    NV20TCL_RC_FINAL1_F_INPUT_ZERO                                              0x00000000
+#define    NV20TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR0_NV                                        0x00010000
+#define    NV20TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR1_NV                                        0x00020000
+#define    NV20TCL_RC_FINAL1_F_INPUT_FOG                                               0x00030000
+#define    NV20TCL_RC_FINAL1_F_INPUT_PRIMARY_COLOR_NV                                  0x00040000
+#define    NV20TCL_RC_FINAL1_F_INPUT_SECONDARY_COLOR_NV                                        0x00050000
+#define    NV20TCL_RC_FINAL1_F_INPUT_TEXTURE0_ARB                                      0x00080000
+#define    NV20TCL_RC_FINAL1_F_INPUT_TEXTURE1_ARB                                      0x00090000
+#define    NV20TCL_RC_FINAL1_F_INPUT_SPARE0_NV                                         0x000c0000
+#define    NV20TCL_RC_FINAL1_F_INPUT_SPARE1_NV                                         0x000d0000
+#define    NV20TCL_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x000e0000
+#define    NV20TCL_RC_FINAL1_F_INPUT_E_TIMES_F_NV                                      0x000f0000
+#define   NV20TCL_RC_FINAL1_F_COMPONENT_USAGE                                          (1 << 20)
+#define    NV20TCL_RC_FINAL1_F_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV20TCL_RC_FINAL1_F_COMPONENT_USAGE_ALPHA                                   0x00100000
+#define   NV20TCL_RC_FINAL1_F_MAPPING_SHIFT                                            21
+#define   NV20TCL_RC_FINAL1_F_MAPPING_MASK                                             0x00e00000
+#define    NV20TCL_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV20TCL_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT_NV                              0x00200000
+#define    NV20TCL_RC_FINAL1_F_MAPPING_EXPAND_NORMAL_NV                                        0x00400000
+#define    NV20TCL_RC_FINAL1_F_MAPPING_EXPAND_NEGATE_NV                                        0x00600000
+#define    NV20TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL_NV                             0x00800000
+#define    NV20TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE_NV                             0x00a00000
+#define    NV20TCL_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY_NV                              0x00c00000
+#define    NV20TCL_RC_FINAL1_F_MAPPING_SIGNED_NEGATE_NV                                        0x00e00000
+#define   NV20TCL_RC_FINAL1_E_INPUT_SHIFT                                              24
+#define   NV20TCL_RC_FINAL1_E_INPUT_MASK                                               0x0f000000
+#define    NV20TCL_RC_FINAL1_E_INPUT_ZERO                                              0x00000000
+#define    NV20TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR0_NV                                        0x01000000
+#define    NV20TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR1_NV                                        0x02000000
+#define    NV20TCL_RC_FINAL1_E_INPUT_FOG                                               0x03000000
+#define    NV20TCL_RC_FINAL1_E_INPUT_PRIMARY_COLOR_NV                                  0x04000000
+#define    NV20TCL_RC_FINAL1_E_INPUT_SECONDARY_COLOR_NV                                        0x05000000
+#define    NV20TCL_RC_FINAL1_E_INPUT_TEXTURE0_ARB                                      0x08000000
+#define    NV20TCL_RC_FINAL1_E_INPUT_TEXTURE1_ARB                                      0x09000000
+#define    NV20TCL_RC_FINAL1_E_INPUT_SPARE0_NV                                         0x0c000000
+#define    NV20TCL_RC_FINAL1_E_INPUT_SPARE1_NV                                         0x0d000000
+#define    NV20TCL_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x0e000000
+#define    NV20TCL_RC_FINAL1_E_INPUT_E_TIMES_F_NV                                      0x0f000000
+#define   NV20TCL_RC_FINAL1_E_COMPONENT_USAGE                                          (1 << 28)
+#define    NV20TCL_RC_FINAL1_E_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV20TCL_RC_FINAL1_E_COMPONENT_USAGE_ALPHA                                   0x10000000
+#define   NV20TCL_RC_FINAL1_E_MAPPING_SHIFT                                            29
+#define   NV20TCL_RC_FINAL1_E_MAPPING_MASK                                             0xe0000000
+#define    NV20TCL_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV20TCL_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT_NV                              0x20000000
+#define    NV20TCL_RC_FINAL1_E_MAPPING_EXPAND_NORMAL_NV                                        0x40000000
+#define    NV20TCL_RC_FINAL1_E_MAPPING_EXPAND_NEGATE_NV                                        0x60000000
+#define    NV20TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL_NV                             0x80000000
+#define    NV20TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE_NV                             0xa0000000
+#define    NV20TCL_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY_NV                              0xc0000000
+#define    NV20TCL_RC_FINAL1_E_MAPPING_SIGNED_NEGATE_NV                                        0xe0000000
 #define  NV20TCL_LIGHT_CONTROL                                                         0x00000294
 #define  NV20TCL_FOG_MODE                                                              0x0000029c
+#define   NV20TCL_FOG_MODE_EXP                                                         0x00000800
+#define   NV20TCL_FOG_MODE_EXP_2                                                       0x00000802
+#define   NV20TCL_FOG_MODE_EXP2                                                                0x00000803
+#define   NV20TCL_FOG_MODE_LINEAR                                                      0x00000804
+#define   NV20TCL_FOG_MODE_LINEAR_2                                                    0x00002601
 #define  NV20TCL_FOG_COORD_DIST                                                                0x000002a0
+#define   NV20TCL_FOG_COORD_DIST_COORD_FALSE                                           0x00000000
+#define   NV20TCL_FOG_COORD_DIST_COORD_FRAGMENT_DEPTH_DISTANCE_EYE_RADIAL_NV           0x00000001
+#define   NV20TCL_FOG_COORD_DIST_COORD_FRAGMENT_DEPTH_DISTANCE_EYE_PLANE_ABSOLUTE_NV   0x00000002
+#define   NV20TCL_FOG_COORD_DIST_COORD_FOG                                             0x00000003
 #define  NV20TCL_FOG_ENABLE                                                            0x000002a4
 #define  NV20TCL_FOG_COLOR                                                             0x000002a8
+#define   NV20TCL_FOG_COLOR_R_SHIFT                                                    0
+#define   NV20TCL_FOG_COLOR_R_MASK                                                     0x000000ff
+#define   NV20TCL_FOG_COLOR_G_SHIFT                                                    8
+#define   NV20TCL_FOG_COLOR_G_MASK                                                     0x0000ff00
+#define   NV20TCL_FOG_COLOR_B_SHIFT                                                    16
+#define   NV20TCL_FOG_COLOR_B_MASK                                                     0x00ff0000
+#define   NV20TCL_FOG_COLOR_A_SHIFT                                                    24
+#define   NV20TCL_FOG_COLOR_A_MASK                                                     0xff000000
 #define  NV20TCL_VIEWPORT_CLIP_MODE                                                    0x000002b4
 #define  NV20TCL_VIEWPORT_CLIP_HORIZ(x)                                                        (0x000002c0+((x)*4))
 #define  NV20TCL_VIEWPORT_CLIP_HORIZ__SIZE                                             0x00000008
@@ -3271,6 +3673,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV20TCL_DITHER_ENABLE                                                         0x00000310
 #define  NV20TCL_LIGHTING_ENABLE                                                       0x00000314
 #define  NV20TCL_POINT_PARAMETERS_ENABLE                                               0x00000318
+#define  NV20TCL_POINT_SMOOTH_ENABLE                                                   0x0000031c
 #define  NV20TCL_LINE_SMOOTH_ENABLE                                                    0x00000320
 #define  NV20TCL_POLYGON_SMOOTH_ENABLE                                                 0x00000324
 #define  NV20TCL_STENCIL_ENABLE                                                                0x0000032c
@@ -3321,6 +3724,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV20TCL_BLEND_FUNC_DST_CONSTANT_ALPHA                                                0x00008003
 #define   NV20TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA                              0x00008004
 #define  NV20TCL_BLEND_COLOR                                                           0x0000034c
+#define   NV20TCL_BLEND_COLOR_B_SHIFT                                                  0
+#define   NV20TCL_BLEND_COLOR_B_MASK                                                   0x000000ff
+#define   NV20TCL_BLEND_COLOR_G_SHIFT                                                  8
+#define   NV20TCL_BLEND_COLOR_G_MASK                                                   0x0000ff00
+#define   NV20TCL_BLEND_COLOR_R_SHIFT                                                  16
+#define   NV20TCL_BLEND_COLOR_R_MASK                                                   0x00ff0000
+#define   NV20TCL_BLEND_COLOR_A_SHIFT                                                  24
+#define   NV20TCL_BLEND_COLOR_A_MASK                                                   0xff000000
 #define  NV20TCL_BLEND_EQUATION                                                                0x00000350
 #define   NV20TCL_BLEND_EQUATION_FUNC_ADD                                              0x00008006
 #define   NV20TCL_BLEND_EQUATION_MIN                                                   0x00008007
@@ -3338,6 +3749,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV20TCL_DEPTH_FUNC_GEQUAL                                                    0x00000206
 #define   NV20TCL_DEPTH_FUNC_ALWAYS                                                    0x00000207
 #define  NV20TCL_COLOR_MASK                                                            0x00000358
+#define   NV20TCL_COLOR_MASK_B                                                         (1 <<  0)
+#define   NV20TCL_COLOR_MASK_G                                                         (1 <<  8)
+#define   NV20TCL_COLOR_MASK_R                                                         (1 << 16)
+#define   NV20TCL_COLOR_MASK_A                                                         (1 << 24)
 #define  NV20TCL_DEPTH_WRITE_ENABLE                                                    0x0000035c
 #define  NV20TCL_STENCIL_MASK                                                          0x00000360
 #define  NV20TCL_STENCIL_FUNC_FUNC                                                     0x00000364
@@ -3403,15 +3818,63 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV20TCL_FRONT_FACE_CW                                                                0x00000900
 #define   NV20TCL_FRONT_FACE_CCW                                                       0x00000901
 #define  NV20TCL_NORMALIZE_ENABLE                                                      0x000003a4
+#define  NV20TCL_COLOR_MATERIAL_FRONT_R                                                        0x000003a8
+#define  NV20TCL_COLOR_MATERIAL_FRONT_G                                                        0x000003ac
+#define  NV20TCL_COLOR_MATERIAL_FRONT_B                                                        0x000003b0
+#define  NV20TCL_COLOR_MATERIAL_FRONT_A                                                        0x000003b4
 #define  NV20TCL_SEPARATE_SPECULAR_ENABLE                                              0x000003b8
 #define  NV20TCL_ENABLED_LIGHTS                                                                0x000003bc
-#define  NV20TCL_CLIP_PLANE_ENABLE(x)                                                  (0x000003c0+((x)*4))
-#define  NV20TCL_CLIP_PLANE_ENABLE__SIZE                                               0x00000010
+#define  NV20TCL_TX_GEN_S(x)                                                           (0x000003c0+((x)*16))
+#define  NV20TCL_TX_GEN_S__SIZE                                                                0x00000004
+#define   NV20TCL_TX_GEN_S_FALSE                                                       0x00000000
+#define   NV20TCL_TX_GEN_S_EYE_LINEAR                                                  0x00002400
+#define   NV20TCL_TX_GEN_S_OBJECT_LINEAR                                               0x00002401
+#define   NV20TCL_TX_GEN_S_SPHERE_MAP                                                  0x00002402
+#define   NV20TCL_TX_GEN_S_NORMAL_MAP                                                  0x00008511
+#define   NV20TCL_TX_GEN_S_REFLECTION_MAP                                              0x00008512
+#define  NV20TCL_TX_GEN_T(x)                                                           (0x000003c4+((x)*16))
+#define  NV20TCL_TX_GEN_T__SIZE                                                                0x00000004
+#define   NV20TCL_TX_GEN_T_FALSE                                                       0x00000000
+#define   NV20TCL_TX_GEN_T_EYE_LINEAR                                                  0x00002400
+#define   NV20TCL_TX_GEN_T_OBJECT_LINEAR                                               0x00002401
+#define   NV20TCL_TX_GEN_T_SPHERE_MAP                                                  0x00002402
+#define   NV20TCL_TX_GEN_T_NORMAL_MAP                                                  0x00008511
+#define   NV20TCL_TX_GEN_T_REFLECTION_MAP                                              0x00008512
+#define  NV20TCL_TX_GEN_R(x)                                                           (0x000003c8+((x)*16))
+#define  NV20TCL_TX_GEN_R__SIZE                                                                0x00000004
+#define   NV20TCL_TX_GEN_R_FALSE                                                       0x00000000
+#define   NV20TCL_TX_GEN_R_EYE_LINEAR                                                  0x00002400
+#define   NV20TCL_TX_GEN_R_OBJECT_LINEAR                                               0x00002401
+#define   NV20TCL_TX_GEN_R_SPHERE_MAP                                                  0x00002402
+#define   NV20TCL_TX_GEN_R_NORMAL_MAP                                                  0x00008511
+#define   NV20TCL_TX_GEN_R_REFLECTION_MAP                                              0x00008512
+#define  NV20TCL_TX_GEN_Q(x)                                                           (0x000003cc+((x)*16))
+#define  NV20TCL_TX_GEN_Q__SIZE                                                                0x00000004
+#define   NV20TCL_TX_GEN_Q_FALSE                                                       0x00000000
+#define   NV20TCL_TX_GEN_Q_EYE_LINEAR                                                  0x00002400
+#define   NV20TCL_TX_GEN_Q_OBJECT_LINEAR                                               0x00002401
+#define   NV20TCL_TX_GEN_Q_SPHERE_MAP                                                  0x00002402
+#define   NV20TCL_TX_GEN_Q_NORMAL_MAP                                                  0x00008511
+#define   NV20TCL_TX_GEN_Q_REFLECTION_MAP                                              0x00008512
 #define  NV20TCL_TX_MATRIX_ENABLE(x)                                                   (0x00000420+((x)*4))
 #define  NV20TCL_TX_MATRIX_ENABLE__SIZE                                                        0x00000004
 #define  NV20TCL_POINT_SIZE                                                            0x0000043c
-#define  NV20TCL_MODELVIEW_MATRIX(x)                                                   (0x00000480+((x)*4))
-#define  NV20TCL_MODELVIEW_MATRIX__SIZE                                                        0x00000010
+#define  NV20TCL_MODELVIEW0_MATRIX(x)                                                  (0x00000480+((x)*4))
+#define  NV20TCL_MODELVIEW0_MATRIX__SIZE                                               0x00000010
+#define  NV20TCL_MODELVIEW1_MATRIX(x)                                                  (0x000004c0+((x)*4))
+#define  NV20TCL_MODELVIEW1_MATRIX__SIZE                                               0x00000010
+#define  NV20TCL_MODELVIEW2_MATRIX(x)                                                  (0x00000500+((x)*4))
+#define  NV20TCL_MODELVIEW2_MATRIX__SIZE                                               0x00000010
+#define  NV20TCL_MODELVIEW3_MATRIX(x)                                                  (0x00000540+((x)*4))
+#define  NV20TCL_MODELVIEW3_MATRIX__SIZE                                               0x00000010
+#define  NV20TCL_INVERSE_MODELVIEW0_MATRIX(x)                                          (0x00000580+((x)*4))
+#define  NV20TCL_INVERSE_MODELVIEW0_MATRIX__SIZE                                       0x00000010
+#define  NV20TCL_INVERSE_MODELVIEW1_MATRIX(x)                                          (0x000005c0+((x)*4))
+#define  NV20TCL_INVERSE_MODELVIEW1_MATRIX__SIZE                                       0x00000010
+#define  NV20TCL_INVERSE_MODELVIEW2_MATRIX(x)                                          (0x00000600+((x)*4))
+#define  NV20TCL_INVERSE_MODELVIEW2_MATRIX__SIZE                                       0x00000010
+#define  NV20TCL_INVERSE_MODELVIEW3_MATRIX(x)                                          (0x00000640+((x)*4))
+#define  NV20TCL_INVERSE_MODELVIEW3_MATRIX__SIZE                                       0x00000010
 #define  NV20TCL_PROJECTION_MATRIX(x)                                                  (0x00000680+((x)*4))
 #define  NV20TCL_PROJECTION_MATRIX__SIZE                                               0x00000010
 #define  NV20TCL_TX0_MATRIX(x)                                                         (0x000006c0+((x)*4))
@@ -3422,23 +3885,238 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV20TCL_TX2_MATRIX__SIZE                                                      0x00000010
 #define  NV20TCL_TX3_MATRIX(x)                                                         (0x00000780+((x)*4))
 #define  NV20TCL_TX3_MATRIX__SIZE                                                      0x00000010
+#define  NV20TCL_TX0_CLIP_PLANE_A(x)                                                   (0x00000840+((x)*16))
+#define  NV20TCL_TX0_CLIP_PLANE_A__SIZE                                                        0x00000004
+#define  NV20TCL_TX0_CLIP_PLANE_B(x)                                                   (0x00000844+((x)*16))
+#define  NV20TCL_TX0_CLIP_PLANE_B__SIZE                                                        0x00000004
+#define  NV20TCL_TX0_CLIP_PLANE_C(x)                                                   (0x00000848+((x)*16))
+#define  NV20TCL_TX0_CLIP_PLANE_C__SIZE                                                        0x00000004
+#define  NV20TCL_TX0_CLIP_PLANE_D(x)                                                   (0x0000084c+((x)*16))
+#define  NV20TCL_TX0_CLIP_PLANE_D__SIZE                                                        0x00000004
+#define  NV20TCL_TX1_CLIP_PLANE_A(x)                                                   (0x00000880+((x)*16))
+#define  NV20TCL_TX1_CLIP_PLANE_A__SIZE                                                        0x00000004
+#define  NV20TCL_TX1_CLIP_PLANE_B(x)                                                   (0x00000884+((x)*16))
+#define  NV20TCL_TX1_CLIP_PLANE_B__SIZE                                                        0x00000004
+#define  NV20TCL_TX1_CLIP_PLANE_C(x)                                                   (0x00000888+((x)*16))
+#define  NV20TCL_TX1_CLIP_PLANE_C__SIZE                                                        0x00000004
+#define  NV20TCL_TX1_CLIP_PLANE_D(x)                                                   (0x0000088c+((x)*16))
+#define  NV20TCL_TX1_CLIP_PLANE_D__SIZE                                                        0x00000004
+#define  NV20TCL_TX2_CLIP_PLANE_A(x)                                                   (0x000008c0+((x)*16))
+#define  NV20TCL_TX2_CLIP_PLANE_A__SIZE                                                        0x00000004
+#define  NV20TCL_TX2_CLIP_PLANE_B(x)                                                   (0x000008c4+((x)*16))
+#define  NV20TCL_TX2_CLIP_PLANE_B__SIZE                                                        0x00000004
+#define  NV20TCL_TX2_CLIP_PLANE_C(x)                                                   (0x000008c8+((x)*16))
+#define  NV20TCL_TX2_CLIP_PLANE_C__SIZE                                                        0x00000004
+#define  NV20TCL_TX2_CLIP_PLANE_D(x)                                                   (0x000008cc+((x)*16))
+#define  NV20TCL_TX2_CLIP_PLANE_D__SIZE                                                        0x00000004
+#define  NV20TCL_TX3_CLIP_PLANE_A(x)                                                   (0x00000900+((x)*16))
+#define  NV20TCL_TX3_CLIP_PLANE_A__SIZE                                                        0x00000004
+#define  NV20TCL_TX3_CLIP_PLANE_B(x)                                                   (0x00000904+((x)*16))
+#define  NV20TCL_TX3_CLIP_PLANE_B__SIZE                                                        0x00000004
+#define  NV20TCL_TX3_CLIP_PLANE_C(x)                                                   (0x00000908+((x)*16))
+#define  NV20TCL_TX3_CLIP_PLANE_C__SIZE                                                        0x00000004
+#define  NV20TCL_TX3_CLIP_PLANE_D(x)                                                   (0x0000090c+((x)*16))
+#define  NV20TCL_TX3_CLIP_PLANE_D__SIZE                                                        0x00000004
 #define  NV20TCL_FOG_EQUATION_CONSTANT                                                 0x000009c0
 #define  NV20TCL_FOG_EQUATION_LINEAR                                                   0x000009c4
 #define  NV20TCL_FOG_EQUATION_QUADRATIC                                                        0x000009c8
+#define  NV20TCL_FRONT_MATERIAL_SHININESS(x)                                           (0x000009e0+((x)*4))
+#define  NV20TCL_FRONT_MATERIAL_SHININESS__SIZE                                                0x00000006
+#define  NV20TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R                        0x00000a10
+#define  NV20TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G                        0x00000a14
+#define  NV20TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B                        0x00000a18
 #define  NV20TCL_VIEWPORT_SCALE0_X                                                     0x00000a20
 #define  NV20TCL_VIEWPORT_SCALE0_Y                                                     0x00000a24
 #define  NV20TCL_VIEWPORT_SCALE0_Z                                                     0x00000a28
 #define  NV20TCL_VIEWPORT_SCALE0_W                                                     0x00000a2c
 #define  NV20TCL_POINT_PARAMETER(x)                                                    (0x00000a30+((x)*4))
-#define  NV20TCL_POINT_PARAMETER__SIZE                                                 0x00000007
+#define  NV20TCL_POINT_PARAMETER__SIZE                                                 0x00000008
 #define  NV20TCL_RC_CONSTANT_COLOR0(x)                                                 (0x00000a60+((x)*4))
 #define  NV20TCL_RC_CONSTANT_COLOR0__SIZE                                              0x00000008
+#define   NV20TCL_RC_CONSTANT_COLOR0_B_SHIFT                                           0
+#define   NV20TCL_RC_CONSTANT_COLOR0_B_MASK                                            0x000000ff
+#define   NV20TCL_RC_CONSTANT_COLOR0_G_SHIFT                                           8
+#define   NV20TCL_RC_CONSTANT_COLOR0_G_MASK                                            0x0000ff00
+#define   NV20TCL_RC_CONSTANT_COLOR0_R_SHIFT                                           16
+#define   NV20TCL_RC_CONSTANT_COLOR0_R_MASK                                            0x00ff0000
+#define   NV20TCL_RC_CONSTANT_COLOR0_A_SHIFT                                           24
+#define   NV20TCL_RC_CONSTANT_COLOR0_A_MASK                                            0xff000000
 #define  NV20TCL_RC_CONSTANT_COLOR1(x)                                                 (0x00000a80+((x)*4))
 #define  NV20TCL_RC_CONSTANT_COLOR1__SIZE                                              0x00000008
+#define   NV20TCL_RC_CONSTANT_COLOR1_B_SHIFT                                           0
+#define   NV20TCL_RC_CONSTANT_COLOR1_B_MASK                                            0x000000ff
+#define   NV20TCL_RC_CONSTANT_COLOR1_G_SHIFT                                           8
+#define   NV20TCL_RC_CONSTANT_COLOR1_G_MASK                                            0x0000ff00
+#define   NV20TCL_RC_CONSTANT_COLOR1_R_SHIFT                                           16
+#define   NV20TCL_RC_CONSTANT_COLOR1_R_MASK                                            0x00ff0000
+#define   NV20TCL_RC_CONSTANT_COLOR1_A_SHIFT                                           24
+#define   NV20TCL_RC_CONSTANT_COLOR1_A_MASK                                            0xff000000
 #define  NV20TCL_RC_OUT_ALPHA(x)                                                       (0x00000aa0+((x)*4))
 #define  NV20TCL_RC_OUT_ALPHA__SIZE                                                    0x00000008
+#define   NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SHIFT                                         0
+#define   NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_MASK                                          0x0000000f
+#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_ZERO                                         0x00000000
+#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0_NV                           0x00000001
+#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1_NV                           0x00000002
+#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_FOG                                          0x00000003
+#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR_NV                             0x00000004
+#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR_NV                           0x00000005
+#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0_ARB                                 0x00000008
+#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1_ARB                                 0x00000009
+#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_NV                                    0x0000000c
+#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE1_NV                                    0x0000000d
+#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV               0x0000000e
+#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F_NV                                 0x0000000f
+#define   NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SHIFT                                         4
+#define   NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_MASK                                          0x000000f0
+#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_ZERO                                         0x00000000
+#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0_NV                           0x00000010
+#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1_NV                           0x00000020
+#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_FOG                                          0x00000030
+#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR_NV                             0x00000040
+#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR_NV                           0x00000050
+#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0_ARB                                 0x00000080
+#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1_ARB                                 0x00000090
+#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_NV                                    0x000000c0
+#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE1_NV                                    0x000000d0
+#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV               0x000000e0
+#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F_NV                                 0x000000f0
+#define   NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT                                                8
+#define   NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_MASK                                         0x00000f00
+#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_ZERO                                                0x00000000
+#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0_NV                          0x00000100
+#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1_NV                          0x00000200
+#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_FOG                                         0x00000300
+#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR_NV                            0x00000400
+#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR_NV                          0x00000500
+#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0_ARB                                        0x00000800
+#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1_ARB                                        0x00000900
+#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_NV                                   0x00000c00
+#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1_NV                                   0x00000d00
+#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV              0x00000e00
+#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F_NV                                        0x00000f00
+#define   NV20TCL_RC_OUT_ALPHA_CD_DOT_PRODUCT                                          (1 << 12)
+#define   NV20TCL_RC_OUT_ALPHA_AB_DOT_PRODUCT                                          (1 << 13)
+#define   NV20TCL_RC_OUT_ALPHA_MUX_SUM                                                 (1 << 14)
+#define   NV20TCL_RC_OUT_ALPHA_BIAS                                                    (1 << 15)
+#define    NV20TCL_RC_OUT_ALPHA_BIAS_NONE                                              0x00000000
+#define    NV20TCL_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF_NV                      0x00008000
+#define   NV20TCL_RC_OUT_ALPHA_SCALE_SHIFT                                             17
+#define   NV20TCL_RC_OUT_ALPHA_SCALE_MASK                                              0x00000000
+#define    NV20TCL_RC_OUT_ALPHA_SCALE_NONE                                             0x00000000
+#define    NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO_NV                                  0x00020000
+#define    NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR_NV                                 0x00040000
+#define    NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF_NV                             0x00060000
 #define  NV20TCL_RC_IN_RGB(x)                                                          (0x00000ac0+((x)*4))
 #define  NV20TCL_RC_IN_RGB__SIZE                                                       0x00000008
+#define   NV20TCL_RC_IN_RGB_D_INPUT_SHIFT                                              0
+#define   NV20TCL_RC_IN_RGB_D_INPUT_MASK                                               0x0000000f
+#define    NV20TCL_RC_IN_RGB_D_INPUT_ZERO                                              0x00000000
+#define    NV20TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0_NV                                        0x00000001
+#define    NV20TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1_NV                                        0x00000002
+#define    NV20TCL_RC_IN_RGB_D_INPUT_FOG                                               0x00000003
+#define    NV20TCL_RC_IN_RGB_D_INPUT_PRIMARY_COLOR_NV                                  0x00000004
+#define    NV20TCL_RC_IN_RGB_D_INPUT_SECONDARY_COLOR_NV                                        0x00000005
+#define    NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE0_ARB                                      0x00000008
+#define    NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE1_ARB                                      0x00000009
+#define    NV20TCL_RC_IN_RGB_D_INPUT_SPARE0_NV                                         0x0000000c
+#define    NV20TCL_RC_IN_RGB_D_INPUT_SPARE1_NV                                         0x0000000d
+#define    NV20TCL_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x0000000e
+#define    NV20TCL_RC_IN_RGB_D_INPUT_E_TIMES_F_NV                                      0x0000000f
+#define   NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE                                          (1 <<  4)
+#define    NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA                                   0x00000010
+#define   NV20TCL_RC_IN_RGB_D_MAPPING_SHIFT                                            5
+#define   NV20TCL_RC_IN_RGB_D_MAPPING_MASK                                             0x000000e0
+#define    NV20TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV20TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT_NV                              0x00000020
+#define    NV20TCL_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL_NV                                        0x00000040
+#define    NV20TCL_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE_NV                                        0x00000060
+#define    NV20TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL_NV                             0x00000080
+#define    NV20TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE_NV                             0x000000a0
+#define    NV20TCL_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY_NV                              0x000000c0
+#define    NV20TCL_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE_NV                                        0x000000e0
+#define   NV20TCL_RC_IN_RGB_C_INPUT_SHIFT                                              8
+#define   NV20TCL_RC_IN_RGB_C_INPUT_MASK                                               0x00000f00
+#define    NV20TCL_RC_IN_RGB_C_INPUT_ZERO                                              0x00000000
+#define    NV20TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0_NV                                        0x00000100
+#define    NV20TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1_NV                                        0x00000200
+#define    NV20TCL_RC_IN_RGB_C_INPUT_FOG                                               0x00000300
+#define    NV20TCL_RC_IN_RGB_C_INPUT_PRIMARY_COLOR_NV                                  0x00000400
+#define    NV20TCL_RC_IN_RGB_C_INPUT_SECONDARY_COLOR_NV                                        0x00000500
+#define    NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE0_ARB                                      0x00000800
+#define    NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE1_ARB                                      0x00000900
+#define    NV20TCL_RC_IN_RGB_C_INPUT_SPARE0_NV                                         0x00000c00
+#define    NV20TCL_RC_IN_RGB_C_INPUT_SPARE1_NV                                         0x00000d00
+#define    NV20TCL_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x00000e00
+#define    NV20TCL_RC_IN_RGB_C_INPUT_E_TIMES_F_NV                                      0x00000f00
+#define   NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE                                          (1 << 12)
+#define    NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA                                   0x00001000
+#define   NV20TCL_RC_IN_RGB_C_MAPPING_SHIFT                                            13
+#define   NV20TCL_RC_IN_RGB_C_MAPPING_MASK                                             0x0000e000
+#define    NV20TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV20TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT_NV                              0x00002000
+#define    NV20TCL_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL_NV                                        0x00004000
+#define    NV20TCL_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE_NV                                        0x00006000
+#define    NV20TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL_NV                             0x00008000
+#define    NV20TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE_NV                             0x0000a000
+#define    NV20TCL_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY_NV                              0x0000c000
+#define    NV20TCL_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE_NV                                        0x0000e000
+#define   NV20TCL_RC_IN_RGB_B_INPUT_SHIFT                                              16
+#define   NV20TCL_RC_IN_RGB_B_INPUT_MASK                                               0x000f0000
+#define    NV20TCL_RC_IN_RGB_B_INPUT_ZERO                                              0x00000000
+#define    NV20TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0_NV                                        0x00010000
+#define    NV20TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1_NV                                        0x00020000
+#define    NV20TCL_RC_IN_RGB_B_INPUT_FOG                                               0x00030000
+#define    NV20TCL_RC_IN_RGB_B_INPUT_PRIMARY_COLOR_NV                                  0x00040000
+#define    NV20TCL_RC_IN_RGB_B_INPUT_SECONDARY_COLOR_NV                                        0x00050000
+#define    NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE0_ARB                                      0x00080000
+#define    NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE1_ARB                                      0x00090000
+#define    NV20TCL_RC_IN_RGB_B_INPUT_SPARE0_NV                                         0x000c0000
+#define    NV20TCL_RC_IN_RGB_B_INPUT_SPARE1_NV                                         0x000d0000
+#define    NV20TCL_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x000e0000
+#define    NV20TCL_RC_IN_RGB_B_INPUT_E_TIMES_F_NV                                      0x000f0000
+#define   NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE                                          (1 << 20)
+#define    NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA                                   0x00100000
+#define   NV20TCL_RC_IN_RGB_B_MAPPING_SHIFT                                            21
+#define   NV20TCL_RC_IN_RGB_B_MAPPING_MASK                                             0x00e00000
+#define    NV20TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV20TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT_NV                              0x00200000
+#define    NV20TCL_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL_NV                                        0x00400000
+#define    NV20TCL_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE_NV                                        0x00600000
+#define    NV20TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL_NV                             0x00800000
+#define    NV20TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE_NV                             0x00a00000
+#define    NV20TCL_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY_NV                              0x00c00000
+#define    NV20TCL_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE_NV                                        0x00e00000
+#define   NV20TCL_RC_IN_RGB_A_INPUT_SHIFT                                              24
+#define   NV20TCL_RC_IN_RGB_A_INPUT_MASK                                               0x0f000000
+#define    NV20TCL_RC_IN_RGB_A_INPUT_ZERO                                              0x00000000
+#define    NV20TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0_NV                                        0x01000000
+#define    NV20TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1_NV                                        0x02000000
+#define    NV20TCL_RC_IN_RGB_A_INPUT_FOG                                               0x03000000
+#define    NV20TCL_RC_IN_RGB_A_INPUT_PRIMARY_COLOR_NV                                  0x04000000
+#define    NV20TCL_RC_IN_RGB_A_INPUT_SECONDARY_COLOR_NV                                        0x05000000
+#define    NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE0_ARB                                      0x08000000
+#define    NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE1_ARB                                      0x09000000
+#define    NV20TCL_RC_IN_RGB_A_INPUT_SPARE0_NV                                         0x0c000000
+#define    NV20TCL_RC_IN_RGB_A_INPUT_SPARE1_NV                                         0x0d000000
+#define    NV20TCL_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x0e000000
+#define    NV20TCL_RC_IN_RGB_A_INPUT_E_TIMES_F_NV                                      0x0f000000
+#define   NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE                                          (1 << 28)
+#define    NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA                                   0x10000000
+#define   NV20TCL_RC_IN_RGB_A_MAPPING_SHIFT                                            29
+#define   NV20TCL_RC_IN_RGB_A_MAPPING_MASK                                             0xe0000000
+#define    NV20TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV20TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT_NV                              0x20000000
+#define    NV20TCL_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL_NV                                        0x40000000
+#define    NV20TCL_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE_NV                                        0x60000000
+#define    NV20TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL_NV                             0x80000000
+#define    NV20TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE_NV                             0xa0000000
+#define    NV20TCL_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY_NV                              0xc0000000
+#define    NV20TCL_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE_NV                                        0xe0000000
 #define  NV20TCL_VIEWPORT_SCALE1_X                                                     0x00000af0
 #define  NV20TCL_VIEWPORT_SCALE1_Y                                                     0x00000af4
 #define  NV20TCL_VIEWPORT_SCALE1_Z                                                     0x00000af8
@@ -3447,6 +4125,54 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV20TCL_VP_UPLOAD_INST__SIZE                                                  0x00000004
 #define  NV20TCL_VP_UPLOAD_CONST(x)                                                    (0x00000b80+((x)*4))
 #define  NV20TCL_VP_UPLOAD_CONST__SIZE                                                 0x00000004
+#define  NV20TCL_LIGHT_BACK_SIDE_PRODUCT_AMBIENT_R(x)                                  (0x00000c00+((x)*64))
+#define  NV20TCL_LIGHT_BACK_SIDE_PRODUCT_AMBIENT_R__SIZE                               0x00000008
+#define  NV20TCL_LIGHT_BACK_SIDE_PRODUCT_AMBIENT_G(x)                                  (0x00000c04+((x)*64))
+#define  NV20TCL_LIGHT_BACK_SIDE_PRODUCT_AMBIENT_G__SIZE                               0x00000008
+#define  NV20TCL_LIGHT_BACK_SIDE_PRODUCT_AMBIENT_B(x)                                  (0x00000c08+((x)*64))
+#define  NV20TCL_LIGHT_BACK_SIDE_PRODUCT_AMBIENT_B__SIZE                               0x00000008
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(x)                                 (0x00001000+((x)*128))
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R__SIZE                              0x00000008
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(x)                                 (0x00001004+((x)*128))
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G__SIZE                              0x00000008
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(x)                                 (0x00001008+((x)*128))
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B__SIZE                              0x00000008
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(x)                                 (0x0000100c+((x)*128))
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R__SIZE                              0x00000008
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(x)                                 (0x00001010+((x)*128))
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G__SIZE                              0x00000008
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(x)                                 (0x00001014+((x)*128))
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B__SIZE                              0x00000008
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(x)                                        (0x00001018+((x)*128))
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R__SIZE                             0x00000008
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(x)                                        (0x0000101c+((x)*128))
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G__SIZE                             0x00000008
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(x)                                        (0x00001020+((x)*128))
+#define  NV20TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B__SIZE                             0x00000008
+#define  NV20TCL_LIGHT_HALF_VECTOR_X(x)                                                        (0x00001028+((x)*128))
+#define  NV20TCL_LIGHT_HALF_VECTOR_X__SIZE                                             0x00000008
+#define  NV20TCL_LIGHT_HALF_VECTOR_Y(x)                                                        (0x0000102c+((x)*128))
+#define  NV20TCL_LIGHT_HALF_VECTOR_Y__SIZE                                             0x00000008
+#define  NV20TCL_LIGHT_HALF_VECTOR_Z(x)                                                        (0x00001030+((x)*128))
+#define  NV20TCL_LIGHT_HALF_VECTOR_Z__SIZE                                             0x00000008
+#define  NV20TCL_LIGHT_DIRECTION_X(x)                                                  (0x00001034+((x)*128))
+#define  NV20TCL_LIGHT_DIRECTION_X__SIZE                                               0x00000008
+#define  NV20TCL_LIGHT_DIRECTION_Y(x)                                                  (0x00001038+((x)*128))
+#define  NV20TCL_LIGHT_DIRECTION_Y__SIZE                                               0x00000008
+#define  NV20TCL_LIGHT_DIRECTION_Z(x)                                                  (0x0000103c+((x)*128))
+#define  NV20TCL_LIGHT_DIRECTION_Z__SIZE                                               0x00000008
+#define  NV20TCL_LIGHT_POSITION_X(x)                                                   (0x0000105c+((x)*128))
+#define  NV20TCL_LIGHT_POSITION_X__SIZE                                                        0x00000008
+#define  NV20TCL_LIGHT_POSITION_Y(x)                                                   (0x00001060+((x)*128))
+#define  NV20TCL_LIGHT_POSITION_Y__SIZE                                                        0x00000008
+#define  NV20TCL_LIGHT_POSITION_Z(x)                                                   (0x00001064+((x)*128))
+#define  NV20TCL_LIGHT_POSITION_Z__SIZE                                                        0x00000008
+#define  NV20TCL_LIGHT_CONSTANT_ATTENUATION(x)                                         (0x00001068+((x)*128))
+#define  NV20TCL_LIGHT_CONSTANT_ATTENUATION__SIZE                                      0x00000008
+#define  NV20TCL_LIGHT_LINEAR_ATTENUATION(x)                                           (0x0000106c+((x)*128))
+#define  NV20TCL_LIGHT_LINEAR_ATTENUATION__SIZE                                                0x00000008
+#define  NV20TCL_LIGHT_QUADRATIC_ATTENUATION(x)                                                (0x00001070+((x)*128))
+#define  NV20TCL_LIGHT_QUADRATIC_ATTENUATION__SIZE                                     0x00000008
 #define  NV20TCL_POLYGON_STIPPLE_ENABLE                                                        0x0000147c
 #define  NV20TCL_POLYGON_STIPPLE_PATTERN(x)                                            (0x00001480+((x)*4))
 #define  NV20TCL_POLYGON_STIPPLE_PATTERN__SIZE                                         0x00000020
@@ -3587,48 +4313,448 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV20TCL_VERTEX_TX3_4I_RQ_R_MASK                                              0x0000ffff
 #define   NV20TCL_VERTEX_TX3_4I_RQ_Q_SHIFT                                             16
 #define   NV20TCL_VERTEX_TX3_4I_RQ_Q_MASK                                              0xffff0000
+#define  NV20TCL_VERTEX_FOG_1F                                                         0x00001698
 #define  NV20TCL_EDGEFLAG_ENABLE                                                       0x000016bc
-#define  NV20TCL_VERTEX_ATTR_OFFSET(x)                                                 (0x00001720+((x)*4))
-#define  NV20TCL_VERTEX_ATTR_OFFSET__SIZE                                              0x00000010
-#define  NV20TCL_VERTEX_ARRAY_FORMAT(x)                                                        (0x00001760+((x)*4))
-#define  NV20TCL_VERTEX_ARRAY_FORMAT__SIZE                                             0x00000010
-#define   NV20TCL_VERTEX_ARRAY_FORMAT_TYPE_SHIFT                                       0
-#define   NV20TCL_VERTEX_ARRAY_FORMAT_TYPE_MASK                                                0x0000000f
-#define   NV20TCL_VERTEX_ARRAY_FORMAT_FIELDS_SHIFT                                     4
-#define   NV20TCL_VERTEX_ARRAY_FORMAT_FIELDS_MASK                                      0x000000f0
-#define   NV20TCL_VERTEX_ARRAY_FORMAT_STRIDE_SHIFT                                     8
-#define   NV20TCL_VERTEX_ARRAY_FORMAT_STRIDE_MASK                                      0x0000ff00
+#define  NV20TCL_VTXBUF_ADDRESS(x)                                                     (0x00001720+((x)*4))
+#define  NV20TCL_VTXBUF_ADDRESS__SIZE                                                  0x00000010
+#define   NV20TCL_VTXBUF_ADDRESS_DMA1                                                  (1 << 31)
+#define   NV20TCL_VTXBUF_ADDRESS_OFFSET_SHIFT                                          0
+#define   NV20TCL_VTXBUF_ADDRESS_OFFSET_MASK                                           0x0fffffff
+#define  NV20TCL_VTXFMT(x)                                                             (0x00001760+((x)*4))
+#define  NV20TCL_VTXFMT__SIZE                                                          0x00000010
+#define   NV20TCL_VTXFMT_TYPE_SHIFT                                                    0
+#define   NV20TCL_VTXFMT_TYPE_MASK                                                     0x0000000f
+#define    NV20TCL_VTXFMT_TYPE_FLOAT                                                   0x00000002
+#define    NV20TCL_VTXFMT_TYPE_UBYTE                                                   0x00000004
+#define    NV20TCL_VTXFMT_TYPE_USHORT                                                  0x00000005
+#define   NV20TCL_VTXFMT_SIZE_SHIFT                                                    4
+#define   NV20TCL_VTXFMT_SIZE_MASK                                                     0x000000f0
+#define   NV20TCL_VTXFMT_STRIDE_SHIFT                                                  8
+#define   NV20TCL_VTXFMT_STRIDE_MASK                                                   0x0000ff00
+#define  NV20TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R                 0x000017a0
+#define  NV20TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G                 0x000017a4
+#define  NV20TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B                 0x000017a8
+#define  NV20TCL_COLOR_MATERIAL_BACK_A                                                 0x000017ac
+#define  NV20TCL_COLOR_MATERIAL_BACK_R                                                 0x000017b0
+#define  NV20TCL_COLOR_MATERIAL_BACK_G                                                 0x000017b4
+#define  NV20TCL_COLOR_MATERIAL_BACK_B                                                 0x000017b8
 #define  NV20TCL_COLOR_LOGIC_OP_ENABLE                                                 0x000017bc
 #define  NV20TCL_COLOR_LOGIC_OP_OP                                                     0x000017c0
+#define   NV20TCL_COLOR_LOGIC_OP_OP_CLEAR                                              0x00001500
+#define   NV20TCL_COLOR_LOGIC_OP_OP_AND                                                        0x00001501
+#define   NV20TCL_COLOR_LOGIC_OP_OP_AND_REVERSE                                                0x00001502
+#define   NV20TCL_COLOR_LOGIC_OP_OP_COPY                                               0x00001503
+#define   NV20TCL_COLOR_LOGIC_OP_OP_AND_INVERTED                                       0x00001504
+#define   NV20TCL_COLOR_LOGIC_OP_OP_NOOP                                               0x00001505
+#define   NV20TCL_COLOR_LOGIC_OP_OP_XOR                                                        0x00001506
+#define   NV20TCL_COLOR_LOGIC_OP_OP_OR                                                 0x00001507
+#define   NV20TCL_COLOR_LOGIC_OP_OP_NOR                                                        0x00001508
+#define   NV20TCL_COLOR_LOGIC_OP_OP_EQUIV                                              0x00001509
+#define   NV20TCL_COLOR_LOGIC_OP_OP_INVERT                                             0x0000150a
+#define   NV20TCL_COLOR_LOGIC_OP_OP_OR_REVERSE                                         0x0000150b
+#define   NV20TCL_COLOR_LOGIC_OP_OP_COPY_INVERTED                                      0x0000150c
+#define   NV20TCL_COLOR_LOGIC_OP_OP_OR_INVERTED                                                0x0000150d
+#define   NV20TCL_COLOR_LOGIC_OP_OP_NAND                                               0x0000150e
+#define   NV20TCL_COLOR_LOGIC_OP_OP_SET                                                        0x0000150f
 #define  NV20TCL_LIGHT_MODEL_TWO_SIDE_ENABLE                                           0x000017c4
 #define  NV20TCL_TX_SHADER_CULL_MODE                                                   0x000017f8
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX0_S                                            (1 <<  0)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_S_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_S_LESS                                      0x00000001
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX0_T                                            (1 <<  1)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_T_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_T_LESS                                      0x00000002
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX0_R                                            (1 <<  2)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_R_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_R_LESS                                      0x00000004
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX0_Q                                            (1 <<  3)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_Q_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_Q_LESS                                      0x00000008
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX1_S                                            (1 <<  4)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_S_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_S_LESS                                      0x00000010
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX1_T                                            (1 <<  5)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_T_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_T_LESS                                      0x00000020
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX1_R                                            (1 <<  6)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_R_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_R_LESS                                      0x00000040
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX1_Q                                            (1 <<  7)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_Q_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_Q_LESS                                      0x00000080
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX2_S                                            (1 <<  8)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_S_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_S_LESS                                      0x00000100
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX2_T                                            (1 <<  9)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_T_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_T_LESS                                      0x00000200
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX2_R                                            (1 << 10)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_R_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_R_LESS                                      0x00000400
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX2_Q                                            (1 << 11)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_Q_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_Q_LESS                                      0x00000800
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX3_S                                            (1 << 12)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_S_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_S_LESS                                      0x00001000
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX3_T                                            (1 << 13)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_T_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_T_LESS                                      0x00002000
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX3_R                                            (1 << 14)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_R_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_R_LESS                                      0x00004000
+#define   NV20TCL_TX_SHADER_CULL_MODE_TX3_Q                                            (1 << 15)
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_Q_GEQUAL                                    0x00000000
+#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_Q_LESS                                      0x00008000
 #define  NV20TCL_VERTEX_BEGIN_END                                                      0x000017fc
-#define  NV20TCL_VERTEX_BUFFER_DRAW_ARRAYS                                             0x00001810
-#define  NV20TCL_VERTEX_ARRAY_DATA                                                     0x00001818
+#define   NV20TCL_VERTEX_BEGIN_END_STOP                                                        0x00000000
+#define   NV20TCL_VERTEX_BEGIN_END_POINTS                                              0x00000001
+#define   NV20TCL_VERTEX_BEGIN_END_LINES                                               0x00000002
+#define   NV20TCL_VERTEX_BEGIN_END_LINE_LOOP                                           0x00000003
+#define   NV20TCL_VERTEX_BEGIN_END_LINE_STRIP                                          0x00000004
+#define   NV20TCL_VERTEX_BEGIN_END_TRIANGLES                                           0x00000005
+#define   NV20TCL_VERTEX_BEGIN_END_TRIANGLE_STRIP                                      0x00000006
+#define   NV20TCL_VERTEX_BEGIN_END_TRIANGLE_FAN                                                0x00000007
+#define   NV20TCL_VERTEX_BEGIN_END_QUADS                                               0x00000008
+#define   NV20TCL_VERTEX_BEGIN_END_QUAD_STRIP                                          0x00000009
+#define   NV20TCL_VERTEX_BEGIN_END_POLYGON                                             0x0000000a
+#define  NV20TCL_VB_ELEMENT_U16                                                                0x00001800
+#define   NV20TCL_VB_ELEMENT_U16_I0_SHIFT                                              0
+#define   NV20TCL_VB_ELEMENT_U16_I0_MASK                                               0x0000ffff
+#define   NV20TCL_VB_ELEMENT_U16_I1_SHIFT                                              16
+#define   NV20TCL_VB_ELEMENT_U16_I1_MASK                                               0xffff0000
+#define  NV20TCL_VB_VERTEX_BATCH                                                       0x00001810
+#define   NV20TCL_VB_VERTEX_BATCH_OFFSET_SHIFT                                         0
+#define   NV20TCL_VB_VERTEX_BATCH_OFFSET_MASK                                          0x00ffffff
+#define   NV20TCL_VB_VERTEX_BATCH_COUNT_SHIFT                                          24
+#define   NV20TCL_VB_VERTEX_BATCH_COUNT_MASK                                           0xff000000
+#define  NV20TCL_VERTEX_DATA                                                           0x00001818
+#define  NV20TCL_TX_SHADER_CONST_EYE_X                                                 0x0000181c
+#define  NV20TCL_TX_SHADER_CONST_EYE_Y                                                 0x00001820
+#define  NV20TCL_TX_SHADER_CONST_EYE_Z                                                 0x00001824
+#define  NV20TCL_VTX_ATTR_4F_X(x)                                                      (0x00001a00+((x)*16))
+#define  NV20TCL_VTX_ATTR_4F_X__SIZE                                                   0x00000010
+#define  NV20TCL_VTX_ATTR_4F_Y(x)                                                      (0x00001a04+((x)*16))
+#define  NV20TCL_VTX_ATTR_4F_Y__SIZE                                                   0x00000010
+#define  NV20TCL_VTX_ATTR_4F_Z(x)                                                      (0x00001a08+((x)*16))
+#define  NV20TCL_VTX_ATTR_4F_Z__SIZE                                                   0x00000010
+#define  NV20TCL_VTX_ATTR_4F_W(x)                                                      (0x00001a0c+((x)*16))
+#define  NV20TCL_VTX_ATTR_4F_W__SIZE                                                   0x00000010
 #define  NV20TCL_TX_OFFSET(x)                                                          (0x00001b00+((x)*64))
 #define  NV20TCL_TX_OFFSET__SIZE                                                       0x00000004
 #define  NV20TCL_TX_FORMAT(x)                                                          (0x00001b04+((x)*64))
 #define  NV20TCL_TX_FORMAT__SIZE                                                       0x00000004
+#define   NV20TCL_TX_FORMAT_DMA0                                                       (1 <<  0)
+#define   NV20TCL_TX_FORMAT_DMA1                                                       (1 <<  1)
+#define   NV20TCL_TX_FORMAT_CUBIC                                                      (1 <<  2)
+#define   NV20TCL_TX_FORMAT_NO_BORDER                                                  (1 <<  3)
+#define   NV20TCL_TX_FORMAT_DIMS_SHIFT                                                 4
+#define   NV20TCL_TX_FORMAT_DIMS_MASK                                                  0x000000f0
+#define    NV20TCL_TX_FORMAT_DIMS_1D                                                   0x00000010
+#define    NV20TCL_TX_FORMAT_DIMS_2D                                                   0x00000020
+#define    NV20TCL_TX_FORMAT_DIMS_3D                                                   0x00000030
+#define   NV20TCL_TX_FORMAT_FORMAT_SHIFT                                               8
+#define   NV20TCL_TX_FORMAT_FORMAT_MASK                                                        0x0000ff00
+#define    NV20TCL_TX_FORMAT_FORMAT_L8                                                 0x00000000
+#define    NV20TCL_TX_FORMAT_FORMAT_A8                                                 0x00000100
+#define    NV20TCL_TX_FORMAT_FORMAT_A1R5G5B5                                           0x00000200
+#define    NV20TCL_TX_FORMAT_FORMAT_A8_RECT                                            0x00000300
+#define    NV20TCL_TX_FORMAT_FORMAT_A4R4G4B4                                           0x00000400
+#define    NV20TCL_TX_FORMAT_FORMAT_R5G6B5                                             0x00000500
+#define    NV20TCL_TX_FORMAT_FORMAT_A8R8G8B8                                           0x00000600
+#define    NV20TCL_TX_FORMAT_FORMAT_X8R8G8B8                                           0x00000700
+#define    NV20TCL_TX_FORMAT_FORMAT_INDEX8                                             0x00000b00
+#define    NV20TCL_TX_FORMAT_FORMAT_DXT1                                               0x00000c00
+#define    NV20TCL_TX_FORMAT_FORMAT_DXT3                                               0x00000e00
+#define    NV20TCL_TX_FORMAT_FORMAT_DXT5                                               0x00000f00
+#define    NV20TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT                                      0x00001000
+#define    NV20TCL_TX_FORMAT_FORMAT_R5G6B5_RECT                                                0x00001100
+#define    NV20TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT                                      0x00001200
+#define    NV20TCL_TX_FORMAT_FORMAT_L8_RECT                                            0x00001300
+#define    NV20TCL_TX_FORMAT_FORMAT_A8L8                                               0x00001a00
+#define    NV20TCL_TX_FORMAT_FORMAT_A8_RECT2                                           0x00001b00
+#define    NV20TCL_TX_FORMAT_FORMAT_A4R4G4B4_RECT                                      0x00001d00
+#define    NV20TCL_TX_FORMAT_FORMAT_R8G8B8_RECT                                                0x00001e00
+#define    NV20TCL_TX_FORMAT_FORMAT_L8A8_RECT                                          0x00002000
+#define    NV20TCL_TX_FORMAT_FORMAT_DSDT                                               0x00002800
+#define    NV20TCL_TX_FORMAT_FORMAT_A16                                                        0x00003200
+#define    NV20TCL_TX_FORMAT_FORMAT_HILO16                                             0x00003300
+#define    NV20TCL_TX_FORMAT_FORMAT_A16_RECT                                           0x00003500
+#define    NV20TCL_TX_FORMAT_FORMAT_HILO16_RECT                                                0x00003600
+#define    NV20TCL_TX_FORMAT_FORMAT_HILO8                                              0x00004400
+#define    NV20TCL_TX_FORMAT_FORMAT_SIGNED_HILO8                                       0x00004500
+#define    NV20TCL_TX_FORMAT_FORMAT_HILO8_RECT                                         0x00004600
+#define    NV20TCL_TX_FORMAT_FORMAT_SIGNED_HILO8_RECT                                  0x00004700
+#define    NV20TCL_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV                                    0x00004a00
+#define    NV20TCL_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV                                    0x00004b00
+#define    NV20TCL_TX_FORMAT_FORMAT_FLOAT_R32_NV                                       0x00004c00
+#define   NV20TCL_TX_FORMAT_MIPMAP                                                     (1 << 19)
+#define   NV20TCL_TX_FORMAT_BASE_SIZE_U_SHIFT                                          20
+#define   NV20TCL_TX_FORMAT_BASE_SIZE_U_MASK                                           0x00f00000
+#define   NV20TCL_TX_FORMAT_BASE_SIZE_V_SHIFT                                          24
+#define   NV20TCL_TX_FORMAT_BASE_SIZE_V_MASK                                           0x0f000000
+#define   NV20TCL_TX_FORMAT_BASE_SIZE_W_SHIFT                                          28
+#define   NV20TCL_TX_FORMAT_BASE_SIZE_W_MASK                                           0xf0000000
 #define  NV20TCL_TX_WRAP(x)                                                            (0x00001b08+((x)*64))
 #define  NV20TCL_TX_WRAP__SIZE                                                         0x00000004
+#define   NV20TCL_TX_WRAP_S_SHIFT                                                      0
+#define   NV20TCL_TX_WRAP_S_MASK                                                       0x000000ff
+#define    NV20TCL_TX_WRAP_S_REPEAT                                                    0x00000001
+#define    NV20TCL_TX_WRAP_S_MIRRORED_REPEAT                                           0x00000002
+#define    NV20TCL_TX_WRAP_S_CLAMP_TO_EDGE                                             0x00000003
+#define    NV20TCL_TX_WRAP_S_CLAMP_TO_BORDER                                           0x00000004
+#define    NV20TCL_TX_WRAP_S_CLAMP                                                     0x00000005
+#define   NV20TCL_TX_WRAP_T_SHIFT                                                      8
+#define   NV20TCL_TX_WRAP_T_MASK                                                       0x00000f00
+#define    NV20TCL_TX_WRAP_T_REPEAT                                                    0x00000100
+#define    NV20TCL_TX_WRAP_T_MIRRORED_REPEAT                                           0x00000200
+#define    NV20TCL_TX_WRAP_T_CLAMP_TO_EDGE                                             0x00000300
+#define    NV20TCL_TX_WRAP_T_CLAMP_TO_BORDER                                           0x00000400
+#define    NV20TCL_TX_WRAP_T_CLAMP                                                     0x00000500
+#define   NV20TCL_TX_WRAP_R_SHIFT                                                      16
+#define   NV20TCL_TX_WRAP_R_MASK                                                       0x000f0000
+#define    NV20TCL_TX_WRAP_R_REPEAT                                                    0x00010000
+#define    NV20TCL_TX_WRAP_R_MIRRORED_REPEAT                                           0x00020000
+#define    NV20TCL_TX_WRAP_R_CLAMP_TO_EDGE                                             0x00030000
+#define    NV20TCL_TX_WRAP_R_CLAMP_TO_BORDER                                           0x00040000
+#define    NV20TCL_TX_WRAP_R_CLAMP                                                     0x00050000
 #define  NV20TCL_TX_ENABLE(x)                                                          (0x00001b0c+((x)*64))
 #define  NV20TCL_TX_ENABLE__SIZE                                                       0x00000004
+#define   NV20TCL_TX_ENABLE_ANISO_SHIFT                                                        4
+#define   NV20TCL_TX_ENABLE_ANISO_MASK                                                 0x00000030
+#define    NV20TCL_TX_ENABLE_ANISO_NONE                                                        0x00000000
+#define    NV20TCL_TX_ENABLE_ANISO_2X                                                  0x00000010
+#define    NV20TCL_TX_ENABLE_ANISO_4X                                                  0x00000020
+#define    NV20TCL_TX_ENABLE_ANISO_8X                                                  0x00000030
+#define   NV20TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT                                       14
+#define   NV20TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK                                                0x0003c000
+#define   NV20TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT                                       26
+#define   NV20TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK                                                0x3c000000
+#define   NV20TCL_TX_ENABLE_ENABLE                                                     (1 << 30)
+#define  NV20TCL_TX_SWIZZLE(x)                                                         (0x00001b10+((x)*64))
+#define  NV20TCL_TX_SWIZZLE__SIZE                                                      0x00000004
+#define   NV20TCL_TX_SWIZZLE_RECT_PITCH_SHIFT                                          16
+#define   NV20TCL_TX_SWIZZLE_RECT_PITCH_MASK                                           0xffff0000
 #define  NV20TCL_TX_FILTER(x)                                                          (0x00001b14+((x)*64))
 #define  NV20TCL_TX_FILTER__SIZE                                                       0x00000004
+#define   NV20TCL_TX_FILTER_LOD_BIAS_SHIFT                                             8
+#define   NV20TCL_TX_FILTER_LOD_BIAS_MASK                                              0x00000f00
+#define   NV20TCL_TX_FILTER_MINIFY_SHIFT                                               16
+#define   NV20TCL_TX_FILTER_MINIFY_MASK                                                        0x000f0000
+#define    NV20TCL_TX_FILTER_MINIFY_NEAREST                                            0x00010000
+#define    NV20TCL_TX_FILTER_MINIFY_LINEAR                                             0x00020000
+#define    NV20TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST                             0x00030000
+#define    NV20TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST                              0x00040000
+#define    NV20TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR                              0x00050000
+#define    NV20TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR                               0x00060000
+#define   NV20TCL_TX_FILTER_MAGNIFY_SHIFT                                              24
+#define   NV20TCL_TX_FILTER_MAGNIFY_MASK                                               0x0f000000
+#define    NV20TCL_TX_FILTER_MAGNIFY_NEAREST                                           0x01000000
+#define    NV20TCL_TX_FILTER_MAGNIFY_LINEAR                                            0x02000000
+#define  NV20TCL_TX_NPOT_SIZE(x)                                                       (0x00001b1c+((x)*64))
+#define  NV20TCL_TX_NPOT_SIZE__SIZE                                                    0x00000004
+#define   NV20TCL_TX_NPOT_SIZE_H_SHIFT                                                 0
+#define   NV20TCL_TX_NPOT_SIZE_H_MASK                                                  0x0000ffff
+#define   NV20TCL_TX_NPOT_SIZE_W_SHIFT                                                 16
+#define   NV20TCL_TX_NPOT_SIZE_W_MASK                                                  0xffff0000
+#define  NV20TCL_TX_PALETTE_OFFSET(x)                                                  (0x00001b20+((x)*64))
+#define  NV20TCL_TX_PALETTE_OFFSET__SIZE                                               0x00000004
 #define  NV20TCL_TX_BORDER_COLOR(x)                                                    (0x00001b24+((x)*64))
 #define  NV20TCL_TX_BORDER_COLOR__SIZE                                                 0x00000004
-#define  NV20TCL_SCISSOR_HORIZ                                                         0x00001c30
-#define  NV20TCL_SCISSOR_VERT                                                          0x00001c50
+#define   NV20TCL_TX_BORDER_COLOR_B_SHIFT                                              0
+#define   NV20TCL_TX_BORDER_COLOR_B_MASK                                               0x000000ff
+#define   NV20TCL_TX_BORDER_COLOR_G_SHIFT                                              8
+#define   NV20TCL_TX_BORDER_COLOR_G_MASK                                               0x0000ff00
+#define   NV20TCL_TX_BORDER_COLOR_R_SHIFT                                              16
+#define   NV20TCL_TX_BORDER_COLOR_R_MASK                                               0x00ff0000
+#define   NV20TCL_TX_BORDER_COLOR_A_SHIFT                                              24
+#define   NV20TCL_TX_BORDER_COLOR_A_MASK                                               0xff000000
+#define  NV20TCL_TX_SHADER_OFFSET_MATRIX00(x)                                          (0x00001b28+((x)*64))
+#define  NV20TCL_TX_SHADER_OFFSET_MATRIX00__SIZE                                       0x00000004
+#define  NV20TCL_TX_SHADER_OFFSET_MATRIX01(x)                                          (0x00001b2c+((x)*64))
+#define  NV20TCL_TX_SHADER_OFFSET_MATRIX01__SIZE                                       0x00000004
+#define  NV20TCL_TX_SHADER_OFFSET_MATRIX11(x)                                          (0x00001b30+((x)*64))
+#define  NV20TCL_TX_SHADER_OFFSET_MATRIX11__SIZE                                       0x00000004
+#define  NV20TCL_TX_SHADER_OFFSET_MATRIX10(x)                                          (0x00001b34+((x)*64))
+#define  NV20TCL_TX_SHADER_OFFSET_MATRIX10__SIZE                                       0x00000004
+#define  NV20TCL_DEPTH_UNK17D8                                                         0x00001d78
+#define   NV20TCL_DEPTH_UNK17D8_CLAMP_SHIFT                                            4
+#define   NV20TCL_DEPTH_UNK17D8_CLAMP_MASK                                             0x000000f0
 #define  NV20TCL_MULTISAMPLE_CONTROL                                                   0x00001d7c
+#define  NV20TCL_CLEAR_DEPTH_VALUE                                                     0x00001d8c
 #define  NV20TCL_CLEAR_VALUE                                                           0x00001d90
 #define  NV20TCL_CLEAR_BUFFERS                                                         0x00001d94
+#define   NV20TCL_CLEAR_BUFFERS_COLOR_A                                                        (1 <<  7)
+#define   NV20TCL_CLEAR_BUFFERS_COLOR_B                                                        (1 <<  6)
+#define   NV20TCL_CLEAR_BUFFERS_COLOR_G                                                        (1 <<  5)
+#define   NV20TCL_CLEAR_BUFFERS_COLOR_R                                                        (1 <<  4)
+#define   NV20TCL_CLEAR_BUFFERS_STENCIL                                                        (1 <<  1)
+#define   NV20TCL_CLEAR_BUFFERS_DEPTH                                                  (1 <<  0)
 #define  NV20TCL_RC_COLOR0                                                             0x00001e20
+#define   NV20TCL_RC_COLOR0_B_SHIFT                                                    0
+#define   NV20TCL_RC_COLOR0_B_MASK                                                     0x000000ff
+#define   NV20TCL_RC_COLOR0_G_SHIFT                                                    8
+#define   NV20TCL_RC_COLOR0_G_MASK                                                     0x0000ff00
+#define   NV20TCL_RC_COLOR0_R_SHIFT                                                    16
+#define   NV20TCL_RC_COLOR0_R_MASK                                                     0x00ff0000
+#define   NV20TCL_RC_COLOR0_A_SHIFT                                                    24
+#define   NV20TCL_RC_COLOR0_A_MASK                                                     0xff000000
 #define  NV20TCL_RC_COLOR1                                                             0x00001e24
+#define   NV20TCL_RC_COLOR1_B_SHIFT                                                    0
+#define   NV20TCL_RC_COLOR1_B_MASK                                                     0x000000ff
+#define   NV20TCL_RC_COLOR1_G_SHIFT                                                    8
+#define   NV20TCL_RC_COLOR1_G_MASK                                                     0x0000ff00
+#define   NV20TCL_RC_COLOR1_R_SHIFT                                                    16
+#define   NV20TCL_RC_COLOR1_R_MASK                                                     0x00ff0000
+#define   NV20TCL_RC_COLOR1_A_SHIFT                                                    24
+#define   NV20TCL_RC_COLOR1_A_MASK                                                     0xff000000
+#define  NV20TCL_BACK_MATERIAL_SHININESS(x)                                            (0x00001e28+((x)*4))
+#define  NV20TCL_BACK_MATERIAL_SHININESS__SIZE                                         0x00000006
 #define  NV20TCL_RC_OUT_RGB(x)                                                         (0x00001e40+((x)*4))
 #define  NV20TCL_RC_OUT_RGB__SIZE                                                      0x00000008
+#define   NV20TCL_RC_OUT_RGB_CD_OUTPUT_SHIFT                                           0
+#define   NV20TCL_RC_OUT_RGB_CD_OUTPUT_MASK                                            0x0000000f
+#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_ZERO                                           0x00000000
+#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0_NV                             0x00000001
+#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1_NV                             0x00000002
+#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_FOG                                            0x00000003
+#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR_NV                               0x00000004
+#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR_NV                             0x00000005
+#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE0_ARB                                   0x00000008
+#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE1_ARB                                   0x00000009
+#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_NV                                      0x0000000c
+#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE1_NV                                      0x0000000d
+#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                 0x0000000e
+#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F_NV                                   0x0000000f
+#define   NV20TCL_RC_OUT_RGB_AB_OUTPUT_SHIFT                                           4
+#define   NV20TCL_RC_OUT_RGB_AB_OUTPUT_MASK                                            0x000000f0
+#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_ZERO                                           0x00000000
+#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0_NV                             0x00000010
+#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1_NV                             0x00000020
+#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_FOG                                            0x00000030
+#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR_NV                               0x00000040
+#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR_NV                             0x00000050
+#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE0_ARB                                   0x00000080
+#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE1_ARB                                   0x00000090
+#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_NV                                      0x000000c0
+#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE1_NV                                      0x000000d0
+#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                 0x000000e0
+#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F_NV                                   0x000000f0
+#define   NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SHIFT                                          8
+#define   NV20TCL_RC_OUT_RGB_SUM_OUTPUT_MASK                                           0x00000f00
+#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_ZERO                                          0x00000000
+#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0_NV                            0x00000100
+#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1_NV                            0x00000200
+#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_FOG                                           0x00000300
+#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR_NV                              0x00000400
+#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR_NV                            0x00000500
+#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0_ARB                                  0x00000800
+#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1_ARB                                  0x00000900
+#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_NV                                     0x00000c00
+#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE1_NV                                     0x00000d00
+#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                        0x00000e00
+#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F_NV                                  0x00000f00
+#define   NV20TCL_RC_OUT_RGB_CD_DOT_PRODUCT                                            (1 << 12)
+#define   NV20TCL_RC_OUT_RGB_AB_DOT_PRODUCT                                            (1 << 13)
+#define   NV20TCL_RC_OUT_RGB_MUX_SUM                                                   (1 << 14)
+#define   NV20TCL_RC_OUT_RGB_BIAS                                                      (1 << 15)
+#define    NV20TCL_RC_OUT_RGB_BIAS_NONE                                                        0x00000000
+#define    NV20TCL_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF_NV                                0x00008000
+#define   NV20TCL_RC_OUT_RGB_SCALE_SHIFT                                               17
+#define   NV20TCL_RC_OUT_RGB_SCALE_MASK                                                        0x00000000
+#define    NV20TCL_RC_OUT_RGB_SCALE_NONE                                               0x00000000
+#define    NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_TWO_NV                                    0x00020000
+#define    NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_FOUR_NV                                   0x00040000
+#define    NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF_NV                               0x00060000
 #define  NV20TCL_RC_ENABLE                                                             0x00001e60
+#define   NV20TCL_RC_ENABLE_NUM_COMBINERS_SHIFT                                                0
+#define   NV20TCL_RC_ENABLE_NUM_COMBINERS_MASK                                         0x0000000f
+#define  NV20TCL_TX_RCOMP                                                              0x00001e6c
+#define   NV20TCL_TX_RCOMP_NEVER                                                       0x00000000
+#define   NV20TCL_TX_RCOMP_GREATER                                                     0x00000001
+#define   NV20TCL_TX_RCOMP_EQUAL                                                       0x00000002
+#define   NV20TCL_TX_RCOMP_GEQUAL                                                      0x00000003
+#define   NV20TCL_TX_RCOMP_LESS                                                                0x00000004
+#define   NV20TCL_TX_RCOMP_NOTEQUAL                                                    0x00000005
+#define   NV20TCL_TX_RCOMP_LEQUAL                                                      0x00000006
+#define   NV20TCL_TX_RCOMP_ALWAYS                                                      0x00000007
 #define  NV20TCL_TX_SHADER_OP                                                          0x00001e70
+#define   NV20TCL_TX_SHADER_OP_TX0_SHIFT                                               0
+#define   NV20TCL_TX_SHADER_OP_TX0_MASK                                                        0x0000001f
+#define    NV20TCL_TX_SHADER_OP_TX0_NONE                                               0x00000000
+#define    NV20TCL_TX_SHADER_OP_TX0_TEXTURE_2D                                         0x00000001
+#define    NV20TCL_TX_SHADER_OP_TX0_PASS_THROUGH                                       0x00000004
+#define    NV20TCL_TX_SHADER_OP_TX0_CULL_FRAGMENT                                      0x00000005
+#define    NV20TCL_TX_SHADER_OP_TX0_OFFSET_TEXTURE_2D                                  0x00000006
+#define    NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT_TEXTURE_2D                             0x00000009
+#define    NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT_DEPTH_REPLACE                          0x0000000a
+#define    NV20TCL_TX_SHADER_OP_TX0_DEPENDANT_AR_TEXTURE_2D                            0x0000000f
+#define    NV20TCL_TX_SHADER_OP_TX0_DEPENDANT_GB_TEXTURE_2D                            0x00000010
+#define    NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT                                                0x00000011
+#define   NV20TCL_TX_SHADER_OP_TX1_SHIFT                                               5
+#define   NV20TCL_TX_SHADER_OP_TX1_MASK                                                        0x000003e0
+#define    NV20TCL_TX_SHADER_OP_TX1_NONE                                               0x00000000
+#define    NV20TCL_TX_SHADER_OP_TX1_TEXTURE_2D                                         0x00000020
+#define    NV20TCL_TX_SHADER_OP_TX1_PASS_THROUGH                                       0x00000080
+#define    NV20TCL_TX_SHADER_OP_TX1_CULL_FRAGMENT                                      0x000000a0
+#define    NV20TCL_TX_SHADER_OP_TX1_OFFSET_TEXTURE_2D                                  0x000000c0
+#define    NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT_TEXTURE_2D                             0x00000120
+#define    NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT_DEPTH_REPLACE                          0x00000140
+#define    NV20TCL_TX_SHADER_OP_TX1_DEPENDANT_AR_TEXTURE_2D                            0x000001e0
+#define    NV20TCL_TX_SHADER_OP_TX1_DEPENDANT_GB_TEXTURE_2D                            0x00000200
+#define    NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT                                                0x00000220
+#define   NV20TCL_TX_SHADER_OP_TX2_SHIFT                                               10
+#define   NV20TCL_TX_SHADER_OP_TX2_MASK                                                        0x00007c00
+#define    NV20TCL_TX_SHADER_OP_TX2_NONE                                               0x00000000
+#define    NV20TCL_TX_SHADER_OP_TX2_TEXTURE_2D                                         0x00000400
+#define    NV20TCL_TX_SHADER_OP_TX2_PASS_THROUGH                                       0x00001000
+#define    NV20TCL_TX_SHADER_OP_TX2_CULL_FRAGMENT                                      0x00001400
+#define    NV20TCL_TX_SHADER_OP_TX2_OFFSET_TEXTURE_2D                                  0x00001800
+#define    NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT_TEXTURE_2D                             0x00002400
+#define    NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT_DEPTH_REPLACE                          0x00002800
+#define    NV20TCL_TX_SHADER_OP_TX2_DEPENDANT_AR_TEXTURE_2D                            0x00003c00
+#define    NV20TCL_TX_SHADER_OP_TX2_DEPENDANT_GB_TEXTURE_2D                            0x00004000
+#define    NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT                                                0x00004400
+#define   NV20TCL_TX_SHADER_OP_TX3_SHIFT                                               15
+#define   NV20TCL_TX_SHADER_OP_TX3_MASK                                                        0x000f8000
+#define    NV20TCL_TX_SHADER_OP_TX3_NONE                                               0x00000000
+#define    NV20TCL_TX_SHADER_OP_TX3_TEXTURE_2D                                         0x00008000
+#define    NV20TCL_TX_SHADER_OP_TX3_PASS_THROUGH                                       0x00020000
+#define    NV20TCL_TX_SHADER_OP_TX3_CULL_FRAGMENT                                      0x00028000
+#define    NV20TCL_TX_SHADER_OP_TX3_OFFSET_TEXTURE_2D                                  0x00030000
+#define    NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT_TEXTURE_2D                             0x00048000
+#define    NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT_DEPTH_REPLACE                          0x00050000
+#define    NV20TCL_TX_SHADER_OP_TX3_DEPENDANT_AR_TEXTURE_2D                            0x00078000
+#define    NV20TCL_TX_SHADER_OP_TX3_DEPENDANT_GB_TEXTURE_2D                            0x00080000
+#define    NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT                                                0x00088000
+#define  NV20TCL_TX_SHADER_DOTMAPPING                                                  0x00001e74
+#define   NV20TCL_TX_SHADER_DOTMAPPING_TX0_SHIFT                                       0
+#define   NV20TCL_TX_SHADER_DOTMAPPING_TX0_MASK                                                0x0000000f
+#define   NV20TCL_TX_SHADER_DOTMAPPING_TX1_SHIFT                                       4
+#define   NV20TCL_TX_SHADER_DOTMAPPING_TX1_MASK                                                0x000000f0
+#define   NV20TCL_TX_SHADER_DOTMAPPING_TX2_SHIFT                                       8
+#define   NV20TCL_TX_SHADER_DOTMAPPING_TX2_MASK                                                0x00000f00
+#define   NV20TCL_TX_SHADER_DOTMAPPING_TX3_SHIFT                                       12
+#define   NV20TCL_TX_SHADER_DOTMAPPING_TX3_MASK                                                0x0000f000
+#define  NV20TCL_TX_SHADER_PREVIOUS                                                    0x00001e78
+#define   NV20TCL_TX_SHADER_PREVIOUS_TX0_SHIFT                                         8
+#define   NV20TCL_TX_SHADER_PREVIOUS_TX0_MASK                                          0x00000f00
+#define   NV20TCL_TX_SHADER_PREVIOUS_TX1_SHIFT                                         12
+#define   NV20TCL_TX_SHADER_PREVIOUS_TX1_MASK                                          0x0000f000
+#define   NV20TCL_TX_SHADER_PREVIOUS_TX2_SHIFT                                         16
+#define   NV20TCL_TX_SHADER_PREVIOUS_TX2_MASK                                          0x00030000
+#define   NV20TCL_TX_SHADER_PREVIOUS_TX3_SHIFT                                         20
+#define   NV20TCL_TX_SHADER_PREVIOUS_TX3_MASK                                          0x00300000
+#define  NV20TCL_ENGINE                                                                        0x00001e94
+#define   NV20TCL_ENGINE_VP                                                            (1 <<  1)
+#define   NV20TCL_ENGINE_FIXED                                                         (1 <<  2)
+#define  NV20TCL_VP_UPLOAD_FROM_ID                                                     0x00001e9c
+#define  NV20TCL_VP_START_FROM_ID                                                      0x00001ea0
 #define  NV20TCL_VP_UPLOAD_CONST_ID                                                    0x00001ea4
+#define  NV20TCL_VIEWPORT_TRANSLATE_X                                                  0x00001f00
+#define  NV20TCL_VIEWPORT_TRANSLATE_Y                                                  0x00001f04
+#define  NV20TCL_VIEWPORT_TRANSLATE_Z                                                  0x00001f08
+#define  NV20TCL_VIEWPORT_TRANSLATE_W                                                  0x00001f0c
 
 
 #define NV17TCL                                                                                0x00000099
@@ -3732,6 +4858,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define    NV34TCL_RT_FORMAT_COLOR_X8R8G8B8                                            0x00000005
 #define    NV34TCL_RT_FORMAT_COLOR_A8R8G8B8                                            0x00000008
 #define    NV34TCL_RT_FORMAT_COLOR_B8                                                  0x00000009
+#define    NV34TCL_RT_FORMAT_COLOR_UNKNOWN                                             0x0000000d
 #define    NV34TCL_RT_FORMAT_COLOR_X8B8G8R8                                            0x0000000f
 #define    NV34TCL_RT_FORMAT_COLOR_A8B8G8R8                                            0x00000010
 #define  NV34TCL_COLOR0_PITCH                                                          0x0000020c
@@ -3745,26 +4872,27 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV34TCL_COLOR1_PITCH                                                          0x0000021c
 #define  NV34TCL_RT_ENABLE                                                             0x00000220
 #define   NV34TCL_RT_ENABLE_MRT                                                                (1 <<  4)
-#define   NV34TCL_RT_ENABLE_COLOR3                                                     (1 <<  3)
-#define   NV34TCL_RT_ENABLE_COLOR2                                                     (1 <<  2)
 #define   NV34TCL_RT_ENABLE_COLOR1                                                     (1 <<  1)
 #define   NV34TCL_RT_ENABLE_COLOR0                                                     (1 <<  0)
-#define  NV34TCL_ZETA_PITCH                                                            0x0000022c
+#define  NV34TCL_LMA_DEPTH_PITCH                                                       0x0000022c
 #define  NV34TCL_LMA_DEPTH_OFFSET                                                      0x00000230
 #define  NV34TCL_TX_UNITS_ENABLE                                                       0x0000023c
 #define   NV34TCL_TX_UNITS_ENABLE_TX0                                                  (1 <<  0)
 #define   NV34TCL_TX_UNITS_ENABLE_TX1                                                  (1 <<  1)
 #define   NV34TCL_TX_UNITS_ENABLE_TX2                                                  (1 <<  2)
 #define   NV34TCL_TX_UNITS_ENABLE_TX3                                                  (1 <<  3)
+#define   NV34TCL_TX_UNITS_ENABLE_TX4                                                  (1 <<  4)
+#define   NV34TCL_TX_UNITS_ENABLE_TX5                                                  (1 <<  5)
+#define   NV34TCL_TX_UNITS_ENABLE_TX6                                                  (1 <<  6)
+#define   NV34TCL_TX_UNITS_ENABLE_TX7                                                  (1 <<  7)
 #define  NV34TCL_TX_MATRIX_ENABLE(x)                                                   (0x00000240+((x)*4))
-#define  NV34TCL_TX_MATRIX_ENABLE__SIZE                                                        0x00000004
-#define  NV34TCL_UNK0250(x)                                                            (0x00000250+((x)*4))
-#define  NV34TCL_UNK0250__SIZE                                                         0x00000004
+#define  NV34TCL_TX_MATRIX_ENABLE__SIZE                                                        0x00000008
 #define  NV34TCL_VIEWPORT_TX_ORIGIN                                                    0x000002b8
 #define   NV34TCL_VIEWPORT_TX_ORIGIN_X_SHIFT                                           0
 #define   NV34TCL_VIEWPORT_TX_ORIGIN_X_MASK                                            0x0000ffff
 #define   NV34TCL_VIEWPORT_TX_ORIGIN_Y_SHIFT                                           16
 #define   NV34TCL_VIEWPORT_TX_ORIGIN_Y_MASK                                            0xffff0000
+#define  NV34TCL_VIEWPORT_CLIP_MODE                                                    0x000002bc
 #define  NV34TCL_VIEWPORT_CLIP_HORIZ(x)                                                        (0x000002c0+((x)*8))
 #define  NV34TCL_VIEWPORT_CLIP_HORIZ__SIZE                                             0x00000008
 #define   NV34TCL_VIEWPORT_CLIP_HORIZ_L_SHIFT                                          0
@@ -3861,13 +4989,21 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR                       0x80020000
 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                                 0x80030000
 #define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA                       0x80040000
-#define  NV34TCL_BLEND_FUNC_COLOR                                                      0x0000031c
-#define  NV34TCL_BLEND_FUNC_EQUATION                                                   0x00000320
-#define   NV34TCL_BLEND_FUNC_EQUATION_FUNC_ADD                                         0x00008006
-#define   NV34TCL_BLEND_FUNC_EQUATION_MIN                                              0x00008007
-#define   NV34TCL_BLEND_FUNC_EQUATION_MAX                                              0x00008008
-#define   NV34TCL_BLEND_FUNC_EQUATION_FUNC_SUBTRACT                                    0x0000800a
-#define   NV34TCL_BLEND_FUNC_EQUATION_FUNC_REVERSE_SUBTRACT                            0x0000800b
+#define  NV34TCL_BLEND_COLOR                                                           0x0000031c
+#define   NV34TCL_BLEND_COLOR_B_SHIFT                                                  0
+#define   NV34TCL_BLEND_COLOR_B_MASK                                                   0x000000ff
+#define   NV34TCL_BLEND_COLOR_G_SHIFT                                                  8
+#define   NV34TCL_BLEND_COLOR_G_MASK                                                   0x0000ff00
+#define   NV34TCL_BLEND_COLOR_R_SHIFT                                                  16
+#define   NV34TCL_BLEND_COLOR_R_MASK                                                   0x00ff0000
+#define   NV34TCL_BLEND_COLOR_A_SHIFT                                                  24
+#define   NV34TCL_BLEND_COLOR_A_MASK                                                   0xff000000
+#define  NV34TCL_BLEND_EQUATION                                                                0x00000320
+#define   NV34TCL_BLEND_EQUATION_FUNC_ADD                                              0x00008006
+#define   NV34TCL_BLEND_EQUATION_MIN                                                   0x00008007
+#define   NV34TCL_BLEND_EQUATION_MAX                                                   0x00008008
+#define   NV34TCL_BLEND_EQUATION_FUNC_SUBTRACT                                         0x0000800a
+#define   NV34TCL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT                                 0x0000800b
 #define  NV34TCL_COLOR_MASK                                                            0x00000324
 #define   NV34TCL_COLOR_MASK_B_SHIFT                                                   0
 #define   NV34TCL_COLOR_MASK_B_MASK                                                    0x000000ff
@@ -3964,6 +5100,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV34TCL_SHADE_MODEL_SMOOTH                                                   0x00001d01
 #define  NV34TCL_FOG_ENABLE                                                            0x0000036c
 #define  NV34TCL_FOG_COLOR                                                             0x00000370
+#define   NV34TCL_FOG_COLOR_R_SHIFT                                                    0
+#define   NV34TCL_FOG_COLOR_R_MASK                                                     0x000000ff
+#define   NV34TCL_FOG_COLOR_G_SHIFT                                                    8
+#define   NV34TCL_FOG_COLOR_G_MASK                                                     0x0000ff00
+#define   NV34TCL_FOG_COLOR_B_SHIFT                                                    16
+#define   NV34TCL_FOG_COLOR_B_MASK                                                     0x00ff0000
+#define   NV34TCL_FOG_COLOR_A_SHIFT                                                    24
+#define   NV34TCL_FOG_COLOR_A_MASK                                                     0xff000000
 #define  NV34TCL_COLOR_LOGIC_OP_ENABLE                                                 0x00000374
 #define  NV34TCL_COLOR_LOGIC_OP_OP                                                     0x00000378
 #define   NV34TCL_COLOR_LOGIC_OP_OP_CLEAR                                              0x00001500
@@ -4000,11 +5144,38 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV34TCL_COLOR_MATERIAL_FRONT_A                                                        0x000003b4
 #define  NV34TCL_LINE_WIDTH                                                            0x000003b8
 #define  NV34TCL_LINE_SMOOTH_ENABLE                                                    0x000003bc
-#define  NV34TCL_CLIP_PLANE_ENABLE(x)                                                  (0x00000400+((x)*4))
-#define  NV34TCL_CLIP_PLANE_ENABLE__SIZE                                               0x00000020
-#define   NV34TCL_CLIP_PLANE_ENABLE_FALSE                                              0x00000000
-#define   NV34TCL_CLIP_PLANE_ENABLE_EYE_LINEAR                                         0x00002400
-#define   NV34TCL_CLIP_PLANE_ENABLE_OBJECT_LINEAR                                      0x00002401
+#define  NV34TCL_TX_GEN_S(x)                                                           (0x00000400+((x)*16))
+#define  NV34TCL_TX_GEN_S__SIZE                                                                0x00000008
+#define   NV34TCL_TX_GEN_S_FALSE                                                       0x00000000
+#define   NV34TCL_TX_GEN_S_EYE_LINEAR                                                  0x00002400
+#define   NV34TCL_TX_GEN_S_OBJECT_LINEAR                                               0x00002401
+#define   NV34TCL_TX_GEN_S_SPHERE_MAP                                                  0x00002402
+#define   NV34TCL_TX_GEN_S_NORMAL_MAP                                                  0x00008511
+#define   NV34TCL_TX_GEN_S_REFLECTION_MAP                                              0x00008512
+#define  NV34TCL_TX_GEN_T(x)                                                           (0x00000404+((x)*16))
+#define  NV34TCL_TX_GEN_T__SIZE                                                                0x00000008
+#define   NV34TCL_TX_GEN_T_FALSE                                                       0x00000000
+#define   NV34TCL_TX_GEN_T_EYE_LINEAR                                                  0x00002400
+#define   NV34TCL_TX_GEN_T_OBJECT_LINEAR                                               0x00002401
+#define   NV34TCL_TX_GEN_T_SPHERE_MAP                                                  0x00002402
+#define   NV34TCL_TX_GEN_T_NORMAL_MAP                                                  0x00008511
+#define   NV34TCL_TX_GEN_T_REFLECTION_MAP                                              0x00008512
+#define  NV34TCL_TX_GEN_R(x)                                                           (0x00000408+((x)*16))
+#define  NV34TCL_TX_GEN_R__SIZE                                                                0x00000008
+#define   NV34TCL_TX_GEN_R_FALSE                                                       0x00000000
+#define   NV34TCL_TX_GEN_R_EYE_LINEAR                                                  0x00002400
+#define   NV34TCL_TX_GEN_R_OBJECT_LINEAR                                               0x00002401
+#define   NV34TCL_TX_GEN_R_SPHERE_MAP                                                  0x00002402
+#define   NV34TCL_TX_GEN_R_NORMAL_MAP                                                  0x00008511
+#define   NV34TCL_TX_GEN_R_REFLECTION_MAP                                              0x00008512
+#define  NV34TCL_TX_GEN_Q(x)                                                           (0x0000040c+((x)*16))
+#define  NV34TCL_TX_GEN_Q__SIZE                                                                0x00000008
+#define   NV34TCL_TX_GEN_Q_FALSE                                                       0x00000000
+#define   NV34TCL_TX_GEN_Q_EYE_LINEAR                                                  0x00002400
+#define   NV34TCL_TX_GEN_Q_OBJECT_LINEAR                                               0x00002401
+#define   NV34TCL_TX_GEN_Q_SPHERE_MAP                                                  0x00002402
+#define   NV34TCL_TX_GEN_Q_NORMAL_MAP                                                  0x00008511
+#define   NV34TCL_TX_GEN_Q_REFLECTION_MAP                                              0x00008512
 #define  NV34TCL_MODELVIEW_MATRIX(x)                                                   (0x00000480+((x)*4))
 #define  NV34TCL_MODELVIEW_MATRIX__SIZE                                                        0x00000010
 #define  NV34TCL_INVERSE_MODELVIEW_MATRIX(x)                                           (0x00000580+((x)*4))
@@ -4019,6 +5190,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV34TCL_TX2_MATRIX__SIZE                                                      0x00000010
 #define  NV34TCL_TX3_MATRIX(x)                                                         (0x00000780+((x)*4))
 #define  NV34TCL_TX3_MATRIX__SIZE                                                      0x00000010
+#define  NV34TCL_TX4_MATRIX(x)                                                         (0x000007c0+((x)*4))
+#define  NV34TCL_TX4_MATRIX__SIZE                                                      0x00000010
+#define  NV34TCL_TX5_MATRIX(x)                                                         (0x00000800+((x)*4))
+#define  NV34TCL_TX5_MATRIX__SIZE                                                      0x00000010
+#define  NV34TCL_TX6_MATRIX(x)                                                         (0x00000840+((x)*4))
+#define  NV34TCL_TX6_MATRIX__SIZE                                                      0x00000010
+#define  NV34TCL_TX7_MATRIX(x)                                                         (0x00000880+((x)*4))
+#define  NV34TCL_TX7_MATRIX__SIZE                                                      0x00000010
 #define  NV34TCL_SCISSOR_HORIZ                                                         0x000008c0
 #define   NV34TCL_SCISSOR_HORIZ_X_SHIFT                                                        0
 #define   NV34TCL_SCISSOR_HORIZ_X_MASK                                                 0x0000ffff
@@ -4030,6 +5209,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV34TCL_SCISSOR_VERT_H_SHIFT                                                 16
 #define   NV34TCL_SCISSOR_VERT_H_MASK                                                  0xffff0000
 #define  NV34TCL_FOG_COORD_DIST                                                                0x000008c8
+#define   NV34TCL_FOG_COORD_DIST_COORD_FALSE                                           0x00000000
+#define   NV34TCL_FOG_COORD_DIST_COORD_FRAGMENT_DEPTH_DISTANCE_EYE_RADIAL_NV           0x00000001
+#define   NV34TCL_FOG_COORD_DIST_COORD_FRAGMENT_DEPTH_DISTANCE_EYE_PLANE_ABSOLUTE_NV   0x00000002
+#define   NV34TCL_FOG_COORD_DIST_COORD_FOG                                             0x00000003
 #define  NV34TCL_FOG_MODE                                                              0x000008cc
 #define   NV34TCL_FOG_MODE_EXP                                                         0x00000800
 #define   NV34TCL_FOG_MODE_EXP_2                                                       0x00000802
@@ -4063,12 +5246,424 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV34TCL_RC_COLOR1_A_SHIFT                                                    24
 #define   NV34TCL_RC_COLOR1_A_MASK                                                     0xff000000
 #define  NV34TCL_RC_FINAL0                                                             0x000008f4
+#define   NV34TCL_RC_FINAL0_D_INPUT_SHIFT                                              0
+#define   NV34TCL_RC_FINAL0_D_INPUT_MASK                                               0x0000000f
+#define    NV34TCL_RC_FINAL0_D_INPUT_ZERO                                              0x00000000
+#define    NV34TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR0_NV                                        0x00000001
+#define    NV34TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR1_NV                                        0x00000002
+#define    NV34TCL_RC_FINAL0_D_INPUT_FOG                                               0x00000003
+#define    NV34TCL_RC_FINAL0_D_INPUT_PRIMARY_COLOR_NV                                  0x00000004
+#define    NV34TCL_RC_FINAL0_D_INPUT_SECONDARY_COLOR_NV                                        0x00000005
+#define    NV34TCL_RC_FINAL0_D_INPUT_TEXTURE0_ARB                                      0x00000008
+#define    NV34TCL_RC_FINAL0_D_INPUT_TEXTURE1_ARB                                      0x00000009
+#define    NV34TCL_RC_FINAL0_D_INPUT_SPARE0_NV                                         0x0000000c
+#define    NV34TCL_RC_FINAL0_D_INPUT_SPARE1_NV                                         0x0000000d
+#define    NV34TCL_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x0000000e
+#define    NV34TCL_RC_FINAL0_D_INPUT_E_TIMES_F_NV                                      0x0000000f
+#define   NV34TCL_RC_FINAL0_D_COMPONENT_USAGE                                          (1 <<  4)
+#define    NV34TCL_RC_FINAL0_D_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV34TCL_RC_FINAL0_D_COMPONENT_USAGE_ALPHA                                   0x00000010
+#define   NV34TCL_RC_FINAL0_D_MAPPING_SHIFT                                            5
+#define   NV34TCL_RC_FINAL0_D_MAPPING_MASK                                             0x000000e0
+#define    NV34TCL_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV34TCL_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT_NV                              0x00000020
+#define    NV34TCL_RC_FINAL0_D_MAPPING_EXPAND_NORMAL_NV                                        0x00000040
+#define    NV34TCL_RC_FINAL0_D_MAPPING_EXPAND_NEGATE_NV                                        0x00000060
+#define    NV34TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL_NV                             0x00000080
+#define    NV34TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE_NV                             0x000000a0
+#define    NV34TCL_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY_NV                              0x000000c0
+#define    NV34TCL_RC_FINAL0_D_MAPPING_SIGNED_NEGATE_NV                                        0x000000e0
+#define   NV34TCL_RC_FINAL0_C_INPUT_SHIFT                                              8
+#define   NV34TCL_RC_FINAL0_C_INPUT_MASK                                               0x00000f00
+#define    NV34TCL_RC_FINAL0_C_INPUT_ZERO                                              0x00000000
+#define    NV34TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR0_NV                                        0x00000100
+#define    NV34TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR1_NV                                        0x00000200
+#define    NV34TCL_RC_FINAL0_C_INPUT_FOG                                               0x00000300
+#define    NV34TCL_RC_FINAL0_C_INPUT_PRIMARY_COLOR_NV                                  0x00000400
+#define    NV34TCL_RC_FINAL0_C_INPUT_SECONDARY_COLOR_NV                                        0x00000500
+#define    NV34TCL_RC_FINAL0_C_INPUT_TEXTURE0_ARB                                      0x00000800
+#define    NV34TCL_RC_FINAL0_C_INPUT_TEXTURE1_ARB                                      0x00000900
+#define    NV34TCL_RC_FINAL0_C_INPUT_SPARE0_NV                                         0x00000c00
+#define    NV34TCL_RC_FINAL0_C_INPUT_SPARE1_NV                                         0x00000d00
+#define    NV34TCL_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x00000e00
+#define    NV34TCL_RC_FINAL0_C_INPUT_E_TIMES_F_NV                                      0x00000f00
+#define   NV34TCL_RC_FINAL0_C_COMPONENT_USAGE                                          (1 << 12)
+#define    NV34TCL_RC_FINAL0_C_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV34TCL_RC_FINAL0_C_COMPONENT_USAGE_ALPHA                                   0x00001000
+#define   NV34TCL_RC_FINAL0_C_MAPPING_SHIFT                                            13
+#define   NV34TCL_RC_FINAL0_C_MAPPING_MASK                                             0x0000e000
+#define    NV34TCL_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV34TCL_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT_NV                              0x00002000
+#define    NV34TCL_RC_FINAL0_C_MAPPING_EXPAND_NORMAL_NV                                        0x00004000
+#define    NV34TCL_RC_FINAL0_C_MAPPING_EXPAND_NEGATE_NV                                        0x00006000
+#define    NV34TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL_NV                             0x00008000
+#define    NV34TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE_NV                             0x0000a000
+#define    NV34TCL_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY_NV                              0x0000c000
+#define    NV34TCL_RC_FINAL0_C_MAPPING_SIGNED_NEGATE_NV                                        0x0000e000
+#define   NV34TCL_RC_FINAL0_B_INPUT_SHIFT                                              16
+#define   NV34TCL_RC_FINAL0_B_INPUT_MASK                                               0x000f0000
+#define    NV34TCL_RC_FINAL0_B_INPUT_ZERO                                              0x00000000
+#define    NV34TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR0_NV                                        0x00010000
+#define    NV34TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR1_NV                                        0x00020000
+#define    NV34TCL_RC_FINAL0_B_INPUT_FOG                                               0x00030000
+#define    NV34TCL_RC_FINAL0_B_INPUT_PRIMARY_COLOR_NV                                  0x00040000
+#define    NV34TCL_RC_FINAL0_B_INPUT_SECONDARY_COLOR_NV                                        0x00050000
+#define    NV34TCL_RC_FINAL0_B_INPUT_TEXTURE0_ARB                                      0x00080000
+#define    NV34TCL_RC_FINAL0_B_INPUT_TEXTURE1_ARB                                      0x00090000
+#define    NV34TCL_RC_FINAL0_B_INPUT_SPARE0_NV                                         0x000c0000
+#define    NV34TCL_RC_FINAL0_B_INPUT_SPARE1_NV                                         0x000d0000
+#define    NV34TCL_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x000e0000
+#define    NV34TCL_RC_FINAL0_B_INPUT_E_TIMES_F_NV                                      0x000f0000
+#define   NV34TCL_RC_FINAL0_B_COMPONENT_USAGE                                          (1 << 20)
+#define    NV34TCL_RC_FINAL0_B_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV34TCL_RC_FINAL0_B_COMPONENT_USAGE_ALPHA                                   0x00100000
+#define   NV34TCL_RC_FINAL0_B_MAPPING_SHIFT                                            21
+#define   NV34TCL_RC_FINAL0_B_MAPPING_MASK                                             0x00e00000
+#define    NV34TCL_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV34TCL_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT_NV                              0x00200000
+#define    NV34TCL_RC_FINAL0_B_MAPPING_EXPAND_NORMAL_NV                                        0x00400000
+#define    NV34TCL_RC_FINAL0_B_MAPPING_EXPAND_NEGATE_NV                                        0x00600000
+#define    NV34TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL_NV                             0x00800000
+#define    NV34TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE_NV                             0x00a00000
+#define    NV34TCL_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY_NV                              0x00c00000
+#define    NV34TCL_RC_FINAL0_B_MAPPING_SIGNED_NEGATE_NV                                        0x00e00000
+#define   NV34TCL_RC_FINAL0_A_INPUT_SHIFT                                              24
+#define   NV34TCL_RC_FINAL0_A_INPUT_MASK                                               0x0f000000
+#define    NV34TCL_RC_FINAL0_A_INPUT_ZERO                                              0x00000000
+#define    NV34TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR0_NV                                        0x01000000
+#define    NV34TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR1_NV                                        0x02000000
+#define    NV34TCL_RC_FINAL0_A_INPUT_FOG                                               0x03000000
+#define    NV34TCL_RC_FINAL0_A_INPUT_PRIMARY_COLOR_NV                                  0x04000000
+#define    NV34TCL_RC_FINAL0_A_INPUT_SECONDARY_COLOR_NV                                        0x05000000
+#define    NV34TCL_RC_FINAL0_A_INPUT_TEXTURE0_ARB                                      0x08000000
+#define    NV34TCL_RC_FINAL0_A_INPUT_TEXTURE1_ARB                                      0x09000000
+#define    NV34TCL_RC_FINAL0_A_INPUT_SPARE0_NV                                         0x0c000000
+#define    NV34TCL_RC_FINAL0_A_INPUT_SPARE1_NV                                         0x0d000000
+#define    NV34TCL_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x0e000000
+#define    NV34TCL_RC_FINAL0_A_INPUT_E_TIMES_F_NV                                      0x0f000000
+#define   NV34TCL_RC_FINAL0_A_COMPONENT_USAGE                                          (1 << 28)
+#define    NV34TCL_RC_FINAL0_A_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV34TCL_RC_FINAL0_A_COMPONENT_USAGE_ALPHA                                   0x10000000
+#define   NV34TCL_RC_FINAL0_A_MAPPING_SHIFT                                            29
+#define   NV34TCL_RC_FINAL0_A_MAPPING_MASK                                             0xe0000000
+#define    NV34TCL_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV34TCL_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT_NV                              0x20000000
+#define    NV34TCL_RC_FINAL0_A_MAPPING_EXPAND_NORMAL_NV                                        0x40000000
+#define    NV34TCL_RC_FINAL0_A_MAPPING_EXPAND_NEGATE_NV                                        0x60000000
+#define    NV34TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL_NV                             0x80000000
+#define    NV34TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE_NV                             0xa0000000
+#define    NV34TCL_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY_NV                              0xc0000000
+#define    NV34TCL_RC_FINAL0_A_MAPPING_SIGNED_NEGATE_NV                                        0xe0000000
 #define  NV34TCL_RC_FINAL1                                                             0x000008f8
+#define   NV34TCL_RC_FINAL1_COLOR_SUM_CLAMP                                            (1 <<  7)
+#define   NV34TCL_RC_FINAL1_G_INPUT_SHIFT                                              8
+#define   NV34TCL_RC_FINAL1_G_INPUT_MASK                                               0x00000f00
+#define    NV34TCL_RC_FINAL1_G_INPUT_ZERO                                              0x00000000
+#define    NV34TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR0_NV                                        0x00000100
+#define    NV34TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR1_NV                                        0x00000200
+#define    NV34TCL_RC_FINAL1_G_INPUT_FOG                                               0x00000300
+#define    NV34TCL_RC_FINAL1_G_INPUT_PRIMARY_COLOR_NV                                  0x00000400
+#define    NV34TCL_RC_FINAL1_G_INPUT_SECONDARY_COLOR_NV                                        0x00000500
+#define    NV34TCL_RC_FINAL1_G_INPUT_TEXTURE0_ARB                                      0x00000800
+#define    NV34TCL_RC_FINAL1_G_INPUT_TEXTURE1_ARB                                      0x00000900
+#define    NV34TCL_RC_FINAL1_G_INPUT_SPARE0_NV                                         0x00000c00
+#define    NV34TCL_RC_FINAL1_G_INPUT_SPARE1_NV                                         0x00000d00
+#define    NV34TCL_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x00000e00
+#define    NV34TCL_RC_FINAL1_G_INPUT_E_TIMES_F_NV                                      0x00000f00
+#define   NV34TCL_RC_FINAL1_G_COMPONENT_USAGE                                          (1 << 12)
+#define    NV34TCL_RC_FINAL1_G_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV34TCL_RC_FINAL1_G_COMPONENT_USAGE_ALPHA                                   0x00001000
+#define   NV34TCL_RC_FINAL1_G_MAPPING_SHIFT                                            13
+#define   NV34TCL_RC_FINAL1_G_MAPPING_MASK                                             0x0000e000
+#define    NV34TCL_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV34TCL_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT_NV                              0x00002000
+#define    NV34TCL_RC_FINAL1_G_MAPPING_EXPAND_NORMAL_NV                                        0x00004000
+#define    NV34TCL_RC_FINAL1_G_MAPPING_EXPAND_NEGATE_NV                                        0x00006000
+#define    NV34TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL_NV                             0x00008000
+#define    NV34TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE_NV                             0x0000a000
+#define    NV34TCL_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY_NV                              0x0000c000
+#define    NV34TCL_RC_FINAL1_G_MAPPING_SIGNED_NEGATE_NV                                        0x0000e000
+#define   NV34TCL_RC_FINAL1_F_INPUT_SHIFT                                              16
+#define   NV34TCL_RC_FINAL1_F_INPUT_MASK                                               0x000f0000
+#define    NV34TCL_RC_FINAL1_F_INPUT_ZERO                                              0x00000000
+#define    NV34TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR0_NV                                        0x00010000
+#define    NV34TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR1_NV                                        0x00020000
+#define    NV34TCL_RC_FINAL1_F_INPUT_FOG                                               0x00030000
+#define    NV34TCL_RC_FINAL1_F_INPUT_PRIMARY_COLOR_NV                                  0x00040000
+#define    NV34TCL_RC_FINAL1_F_INPUT_SECONDARY_COLOR_NV                                        0x00050000
+#define    NV34TCL_RC_FINAL1_F_INPUT_TEXTURE0_ARB                                      0x00080000
+#define    NV34TCL_RC_FINAL1_F_INPUT_TEXTURE1_ARB                                      0x00090000
+#define    NV34TCL_RC_FINAL1_F_INPUT_SPARE0_NV                                         0x000c0000
+#define    NV34TCL_RC_FINAL1_F_INPUT_SPARE1_NV                                         0x000d0000
+#define    NV34TCL_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x000e0000
+#define    NV34TCL_RC_FINAL1_F_INPUT_E_TIMES_F_NV                                      0x000f0000
+#define   NV34TCL_RC_FINAL1_F_COMPONENT_USAGE                                          (1 << 20)
+#define    NV34TCL_RC_FINAL1_F_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV34TCL_RC_FINAL1_F_COMPONENT_USAGE_ALPHA                                   0x00100000
+#define   NV34TCL_RC_FINAL1_F_MAPPING_SHIFT                                            21
+#define   NV34TCL_RC_FINAL1_F_MAPPING_MASK                                             0x00e00000
+#define    NV34TCL_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV34TCL_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT_NV                              0x00200000
+#define    NV34TCL_RC_FINAL1_F_MAPPING_EXPAND_NORMAL_NV                                        0x00400000
+#define    NV34TCL_RC_FINAL1_F_MAPPING_EXPAND_NEGATE_NV                                        0x00600000
+#define    NV34TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL_NV                             0x00800000
+#define    NV34TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE_NV                             0x00a00000
+#define    NV34TCL_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY_NV                              0x00c00000
+#define    NV34TCL_RC_FINAL1_F_MAPPING_SIGNED_NEGATE_NV                                        0x00e00000
+#define   NV34TCL_RC_FINAL1_E_INPUT_SHIFT                                              24
+#define   NV34TCL_RC_FINAL1_E_INPUT_MASK                                               0x0f000000
+#define    NV34TCL_RC_FINAL1_E_INPUT_ZERO                                              0x00000000
+#define    NV34TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR0_NV                                        0x01000000
+#define    NV34TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR1_NV                                        0x02000000
+#define    NV34TCL_RC_FINAL1_E_INPUT_FOG                                               0x03000000
+#define    NV34TCL_RC_FINAL1_E_INPUT_PRIMARY_COLOR_NV                                  0x04000000
+#define    NV34TCL_RC_FINAL1_E_INPUT_SECONDARY_COLOR_NV                                        0x05000000
+#define    NV34TCL_RC_FINAL1_E_INPUT_TEXTURE0_ARB                                      0x08000000
+#define    NV34TCL_RC_FINAL1_E_INPUT_TEXTURE1_ARB                                      0x09000000
+#define    NV34TCL_RC_FINAL1_E_INPUT_SPARE0_NV                                         0x0c000000
+#define    NV34TCL_RC_FINAL1_E_INPUT_SPARE1_NV                                         0x0d000000
+#define    NV34TCL_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x0e000000
+#define    NV34TCL_RC_FINAL1_E_INPUT_E_TIMES_F_NV                                      0x0f000000
+#define   NV34TCL_RC_FINAL1_E_COMPONENT_USAGE                                          (1 << 28)
+#define    NV34TCL_RC_FINAL1_E_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV34TCL_RC_FINAL1_E_COMPONENT_USAGE_ALPHA                                   0x10000000
+#define   NV34TCL_RC_FINAL1_E_MAPPING_SHIFT                                            29
+#define   NV34TCL_RC_FINAL1_E_MAPPING_MASK                                             0xe0000000
+#define    NV34TCL_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV34TCL_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT_NV                              0x20000000
+#define    NV34TCL_RC_FINAL1_E_MAPPING_EXPAND_NORMAL_NV                                        0x40000000
+#define    NV34TCL_RC_FINAL1_E_MAPPING_EXPAND_NEGATE_NV                                        0x60000000
+#define    NV34TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL_NV                             0x80000000
+#define    NV34TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE_NV                             0xa0000000
+#define    NV34TCL_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY_NV                              0xc0000000
+#define    NV34TCL_RC_FINAL1_E_MAPPING_SIGNED_NEGATE_NV                                        0xe0000000
 #define  NV34TCL_RC_ENABLE                                                             0x000008fc
+#define   NV34TCL_RC_ENABLE_NUM_COMBINERS_SHIFT                                                0
+#define   NV34TCL_RC_ENABLE_NUM_COMBINERS_MASK                                         0x0000000f
+#define   NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR0_SHIFT                                        12
+#define   NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR0_MASK                                 0x0000f000
+#define   NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR1_SHIFT                                        16
+#define   NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR1_MASK                                 0x000f0000
 #define  NV34TCL_RC_IN_ALPHA(x)                                                                (0x00000900+((x)*32))
 #define  NV34TCL_RC_IN_ALPHA__SIZE                                                     0x00000008
+#define   NV34TCL_RC_IN_ALPHA_D_INPUT_SHIFT                                            0
+#define   NV34TCL_RC_IN_ALPHA_D_INPUT_MASK                                             0x0000000f
+#define    NV34TCL_RC_IN_ALPHA_D_INPUT_ZERO                                            0x00000000
+#define    NV34TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0_NV                              0x00000001
+#define    NV34TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1_NV                              0x00000002
+#define    NV34TCL_RC_IN_ALPHA_D_INPUT_FOG                                             0x00000003
+#define    NV34TCL_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR_NV                                        0x00000004
+#define    NV34TCL_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR_NV                              0x00000005
+#define    NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE0_ARB                                    0x00000008
+#define    NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE1_ARB                                    0x00000009
+#define    NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE0_NV                                       0x0000000c
+#define    NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE1_NV                                       0x0000000d
+#define    NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                  0x0000000e
+#define    NV34TCL_RC_IN_ALPHA_D_INPUT_E_TIMES_F_NV                                    0x0000000f
+#define   NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE                                                (1 <<  4)
+#define    NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE                                  0x00000000
+#define    NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA                                 0x00000010
+#define   NV34TCL_RC_IN_ALPHA_D_MAPPING_SHIFT                                          5
+#define   NV34TCL_RC_IN_ALPHA_D_MAPPING_MASK                                           0x000000e0
+#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY_NV                          0x00000000
+#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT_NV                            0x00000020
+#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL_NV                              0x00000040
+#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE_NV                              0x00000060
+#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL_NV                           0x00000080
+#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE_NV                           0x000000a0
+#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY_NV                            0x000000c0
+#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE_NV                              0x000000e0
+#define   NV34TCL_RC_IN_ALPHA_C_INPUT_SHIFT                                            8
+#define   NV34TCL_RC_IN_ALPHA_C_INPUT_MASK                                             0x00000f00
+#define    NV34TCL_RC_IN_ALPHA_C_INPUT_ZERO                                            0x00000000
+#define    NV34TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0_NV                              0x00000100
+#define    NV34TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1_NV                              0x00000200
+#define    NV34TCL_RC_IN_ALPHA_C_INPUT_FOG                                             0x00000300
+#define    NV34TCL_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR_NV                                        0x00000400
+#define    NV34TCL_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR_NV                              0x00000500
+#define    NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE0_ARB                                    0x00000800
+#define    NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE1_ARB                                    0x00000900
+#define    NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE0_NV                                       0x00000c00
+#define    NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE1_NV                                       0x00000d00
+#define    NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                  0x00000e00
+#define    NV34TCL_RC_IN_ALPHA_C_INPUT_E_TIMES_F_NV                                    0x00000f00
+#define   NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE                                                (1 << 12)
+#define    NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE                                  0x00000000
+#define    NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA                                 0x00001000
+#define   NV34TCL_RC_IN_ALPHA_C_MAPPING_SHIFT                                          13
+#define   NV34TCL_RC_IN_ALPHA_C_MAPPING_MASK                                           0x0000e000
+#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY_NV                          0x00000000
+#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT_NV                            0x00002000
+#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL_NV                              0x00004000
+#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE_NV                              0x00006000
+#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL_NV                           0x00008000
+#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE_NV                           0x0000a000
+#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY_NV                            0x0000c000
+#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE_NV                              0x0000e000
+#define   NV34TCL_RC_IN_ALPHA_B_INPUT_SHIFT                                            16
+#define   NV34TCL_RC_IN_ALPHA_B_INPUT_MASK                                             0x000f0000
+#define    NV34TCL_RC_IN_ALPHA_B_INPUT_ZERO                                            0x00000000
+#define    NV34TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0_NV                              0x00010000
+#define    NV34TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1_NV                              0x00020000
+#define    NV34TCL_RC_IN_ALPHA_B_INPUT_FOG                                             0x00030000
+#define    NV34TCL_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR_NV                                        0x00040000
+#define    NV34TCL_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR_NV                              0x00050000
+#define    NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE0_ARB                                    0x00080000
+#define    NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE1_ARB                                    0x00090000
+#define    NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE0_NV                                       0x000c0000
+#define    NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE1_NV                                       0x000d0000
+#define    NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                  0x000e0000
+#define    NV34TCL_RC_IN_ALPHA_B_INPUT_E_TIMES_F_NV                                    0x000f0000
+#define   NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE                                                (1 << 20)
+#define    NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE                                  0x00000000
+#define    NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA                                 0x00100000
+#define   NV34TCL_RC_IN_ALPHA_B_MAPPING_SHIFT                                          21
+#define   NV34TCL_RC_IN_ALPHA_B_MAPPING_MASK                                           0x00e00000
+#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY_NV                          0x00000000
+#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT_NV                            0x00200000
+#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL_NV                              0x00400000
+#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE_NV                              0x00600000
+#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL_NV                           0x00800000
+#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE_NV                           0x00a00000
+#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY_NV                            0x00c00000
+#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE_NV                              0x00e00000
+#define   NV34TCL_RC_IN_ALPHA_A_INPUT_SHIFT                                            24
+#define   NV34TCL_RC_IN_ALPHA_A_INPUT_MASK                                             0x0f000000
+#define    NV34TCL_RC_IN_ALPHA_A_INPUT_ZERO                                            0x00000000
+#define    NV34TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0_NV                              0x01000000
+#define    NV34TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1_NV                              0x02000000
+#define    NV34TCL_RC_IN_ALPHA_A_INPUT_FOG                                             0x03000000
+#define    NV34TCL_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR_NV                                        0x04000000
+#define    NV34TCL_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR_NV                              0x05000000
+#define    NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE0_ARB                                    0x08000000
+#define    NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE1_ARB                                    0x09000000
+#define    NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE0_NV                                       0x0c000000
+#define    NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE1_NV                                       0x0d000000
+#define    NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                  0x0e000000
+#define    NV34TCL_RC_IN_ALPHA_A_INPUT_E_TIMES_F_NV                                    0x0f000000
+#define   NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE                                                (1 << 28)
+#define    NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE                                  0x00000000
+#define    NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA                                 0x10000000
+#define   NV34TCL_RC_IN_ALPHA_A_MAPPING_SHIFT                                          29
+#define   NV34TCL_RC_IN_ALPHA_A_MAPPING_MASK                                           0xe0000000
+#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY_NV                          0x00000000
+#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT_NV                            0x20000000
+#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL_NV                              0x40000000
+#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE_NV                              0x60000000
+#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL_NV                           0x80000000
+#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE_NV                           0xa0000000
+#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY_NV                            0xc0000000
+#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE_NV                              0xe0000000
 #define  NV34TCL_RC_IN_RGB(x)                                                          (0x00000904+((x)*32))
 #define  NV34TCL_RC_IN_RGB__SIZE                                                       0x00000008
+#define   NV34TCL_RC_IN_RGB_D_INPUT_SHIFT                                              0
+#define   NV34TCL_RC_IN_RGB_D_INPUT_MASK                                               0x0000000f
+#define    NV34TCL_RC_IN_RGB_D_INPUT_ZERO                                              0x00000000
+#define    NV34TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0_NV                                        0x00000001
+#define    NV34TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1_NV                                        0x00000002
+#define    NV34TCL_RC_IN_RGB_D_INPUT_FOG                                               0x00000003
+#define    NV34TCL_RC_IN_RGB_D_INPUT_PRIMARY_COLOR_NV                                  0x00000004
+#define    NV34TCL_RC_IN_RGB_D_INPUT_SECONDARY_COLOR_NV                                        0x00000005
+#define    NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE0_ARB                                      0x00000008
+#define    NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE1_ARB                                      0x00000009
+#define    NV34TCL_RC_IN_RGB_D_INPUT_SPARE0_NV                                         0x0000000c
+#define    NV34TCL_RC_IN_RGB_D_INPUT_SPARE1_NV                                         0x0000000d
+#define    NV34TCL_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x0000000e
+#define    NV34TCL_RC_IN_RGB_D_INPUT_E_TIMES_F_NV                                      0x0000000f
+#define   NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE                                          (1 <<  4)
+#define    NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA                                   0x00000010
+#define   NV34TCL_RC_IN_RGB_D_MAPPING_SHIFT                                            5
+#define   NV34TCL_RC_IN_RGB_D_MAPPING_MASK                                             0x000000e0
+#define    NV34TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV34TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT_NV                              0x00000020
+#define    NV34TCL_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL_NV                                        0x00000040
+#define    NV34TCL_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE_NV                                        0x00000060
+#define    NV34TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL_NV                             0x00000080
+#define    NV34TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE_NV                             0x000000a0
+#define    NV34TCL_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY_NV                              0x000000c0
+#define    NV34TCL_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE_NV                                        0x000000e0
+#define   NV34TCL_RC_IN_RGB_C_INPUT_SHIFT                                              8
+#define   NV34TCL_RC_IN_RGB_C_INPUT_MASK                                               0x00000f00
+#define    NV34TCL_RC_IN_RGB_C_INPUT_ZERO                                              0x00000000
+#define    NV34TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0_NV                                        0x00000100
+#define    NV34TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1_NV                                        0x00000200
+#define    NV34TCL_RC_IN_RGB_C_INPUT_FOG                                               0x00000300
+#define    NV34TCL_RC_IN_RGB_C_INPUT_PRIMARY_COLOR_NV                                  0x00000400
+#define    NV34TCL_RC_IN_RGB_C_INPUT_SECONDARY_COLOR_NV                                        0x00000500
+#define    NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE0_ARB                                      0x00000800
+#define    NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE1_ARB                                      0x00000900
+#define    NV34TCL_RC_IN_RGB_C_INPUT_SPARE0_NV                                         0x00000c00
+#define    NV34TCL_RC_IN_RGB_C_INPUT_SPARE1_NV                                         0x00000d00
+#define    NV34TCL_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x00000e00
+#define    NV34TCL_RC_IN_RGB_C_INPUT_E_TIMES_F_NV                                      0x00000f00
+#define   NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE                                          (1 << 12)
+#define    NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA                                   0x00001000
+#define   NV34TCL_RC_IN_RGB_C_MAPPING_SHIFT                                            13
+#define   NV34TCL_RC_IN_RGB_C_MAPPING_MASK                                             0x0000e000
+#define    NV34TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV34TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT_NV                              0x00002000
+#define    NV34TCL_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL_NV                                        0x00004000
+#define    NV34TCL_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE_NV                                        0x00006000
+#define    NV34TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL_NV                             0x00008000
+#define    NV34TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE_NV                             0x0000a000
+#define    NV34TCL_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY_NV                              0x0000c000
+#define    NV34TCL_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE_NV                                        0x0000e000
+#define   NV34TCL_RC_IN_RGB_B_INPUT_SHIFT                                              16
+#define   NV34TCL_RC_IN_RGB_B_INPUT_MASK                                               0x000f0000
+#define    NV34TCL_RC_IN_RGB_B_INPUT_ZERO                                              0x00000000
+#define    NV34TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0_NV                                        0x00010000
+#define    NV34TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1_NV                                        0x00020000
+#define    NV34TCL_RC_IN_RGB_B_INPUT_FOG                                               0x00030000
+#define    NV34TCL_RC_IN_RGB_B_INPUT_PRIMARY_COLOR_NV                                  0x00040000
+#define    NV34TCL_RC_IN_RGB_B_INPUT_SECONDARY_COLOR_NV                                        0x00050000
+#define    NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE0_ARB                                      0x00080000
+#define    NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE1_ARB                                      0x00090000
+#define    NV34TCL_RC_IN_RGB_B_INPUT_SPARE0_NV                                         0x000c0000
+#define    NV34TCL_RC_IN_RGB_B_INPUT_SPARE1_NV                                         0x000d0000
+#define    NV34TCL_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x000e0000
+#define    NV34TCL_RC_IN_RGB_B_INPUT_E_TIMES_F_NV                                      0x000f0000
+#define   NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE                                          (1 << 20)
+#define    NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA                                   0x00100000
+#define   NV34TCL_RC_IN_RGB_B_MAPPING_SHIFT                                            21
+#define   NV34TCL_RC_IN_RGB_B_MAPPING_MASK                                             0x00e00000
+#define    NV34TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV34TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT_NV                              0x00200000
+#define    NV34TCL_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL_NV                                        0x00400000
+#define    NV34TCL_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE_NV                                        0x00600000
+#define    NV34TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL_NV                             0x00800000
+#define    NV34TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE_NV                             0x00a00000
+#define    NV34TCL_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY_NV                              0x00c00000
+#define    NV34TCL_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE_NV                                        0x00e00000
+#define   NV34TCL_RC_IN_RGB_A_INPUT_SHIFT                                              24
+#define   NV34TCL_RC_IN_RGB_A_INPUT_MASK                                               0x0f000000
+#define    NV34TCL_RC_IN_RGB_A_INPUT_ZERO                                              0x00000000
+#define    NV34TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0_NV                                        0x01000000
+#define    NV34TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1_NV                                        0x02000000
+#define    NV34TCL_RC_IN_RGB_A_INPUT_FOG                                               0x03000000
+#define    NV34TCL_RC_IN_RGB_A_INPUT_PRIMARY_COLOR_NV                                  0x04000000
+#define    NV34TCL_RC_IN_RGB_A_INPUT_SECONDARY_COLOR_NV                                        0x05000000
+#define    NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE0_ARB                                      0x08000000
+#define    NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE1_ARB                                      0x09000000
+#define    NV34TCL_RC_IN_RGB_A_INPUT_SPARE0_NV                                         0x0c000000
+#define    NV34TCL_RC_IN_RGB_A_INPUT_SPARE1_NV                                         0x0d000000
+#define    NV34TCL_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                    0x0e000000
+#define    NV34TCL_RC_IN_RGB_A_INPUT_E_TIMES_F_NV                                      0x0f000000
+#define   NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE                                          (1 << 28)
+#define    NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE_RGB                                     0x00000000
+#define    NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA                                   0x10000000
+#define   NV34TCL_RC_IN_RGB_A_MAPPING_SHIFT                                            29
+#define   NV34TCL_RC_IN_RGB_A_MAPPING_MASK                                             0xe0000000
+#define    NV34TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY_NV                            0x00000000
+#define    NV34TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT_NV                              0x20000000
+#define    NV34TCL_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL_NV                                        0x40000000
+#define    NV34TCL_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE_NV                                        0x60000000
+#define    NV34TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL_NV                             0x80000000
+#define    NV34TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE_NV                             0xa0000000
+#define    NV34TCL_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY_NV                              0xc0000000
+#define    NV34TCL_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE_NV                                        0xe0000000
 #define  NV34TCL_RC_CONSTANT_COLOR0(x)                                                 (0x00000908+((x)*32))
 #define  NV34TCL_RC_CONSTANT_COLOR0__SIZE                                              0x00000008
 #define   NV34TCL_RC_CONSTANT_COLOR0_B_SHIFT                                           0
@@ -4091,8 +5686,116 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV34TCL_RC_CONSTANT_COLOR1_A_MASK                                            0xff000000
 #define  NV34TCL_RC_OUT_ALPHA(x)                                                       (0x00000910+((x)*32))
 #define  NV34TCL_RC_OUT_ALPHA__SIZE                                                    0x00000008
+#define   NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SHIFT                                         0
+#define   NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_MASK                                          0x0000000f
+#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_ZERO                                         0x00000000
+#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0_NV                           0x00000001
+#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1_NV                           0x00000002
+#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_FOG                                          0x00000003
+#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR_NV                             0x00000004
+#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR_NV                           0x00000005
+#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0_ARB                                 0x00000008
+#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1_ARB                                 0x00000009
+#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_NV                                    0x0000000c
+#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE1_NV                                    0x0000000d
+#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV               0x0000000e
+#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F_NV                                 0x0000000f
+#define   NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SHIFT                                         4
+#define   NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_MASK                                          0x000000f0
+#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_ZERO                                         0x00000000
+#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0_NV                           0x00000010
+#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1_NV                           0x00000020
+#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_FOG                                          0x00000030
+#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR_NV                             0x00000040
+#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR_NV                           0x00000050
+#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0_ARB                                 0x00000080
+#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1_ARB                                 0x00000090
+#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_NV                                    0x000000c0
+#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE1_NV                                    0x000000d0
+#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV               0x000000e0
+#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F_NV                                 0x000000f0
+#define   NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT                                                8
+#define   NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_MASK                                         0x00000f00
+#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_ZERO                                                0x00000000
+#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0_NV                          0x00000100
+#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1_NV                          0x00000200
+#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_FOG                                         0x00000300
+#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR_NV                            0x00000400
+#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR_NV                          0x00000500
+#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0_ARB                                        0x00000800
+#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1_ARB                                        0x00000900
+#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_NV                                   0x00000c00
+#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1_NV                                   0x00000d00
+#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV              0x00000e00
+#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F_NV                                        0x00000f00
+#define   NV34TCL_RC_OUT_ALPHA_CD_DOT_PRODUCT                                          (1 << 12)
+#define   NV34TCL_RC_OUT_ALPHA_AB_DOT_PRODUCT                                          (1 << 13)
+#define   NV34TCL_RC_OUT_ALPHA_MUX_SUM                                                 (1 << 14)
+#define   NV34TCL_RC_OUT_ALPHA_BIAS                                                    (1 << 15)
+#define    NV34TCL_RC_OUT_ALPHA_BIAS_NONE                                              0x00000000
+#define    NV34TCL_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF_NV                      0x00008000
+#define   NV34TCL_RC_OUT_ALPHA_SCALE_SHIFT                                             17
+#define   NV34TCL_RC_OUT_ALPHA_SCALE_MASK                                              0x00000000
+#define    NV34TCL_RC_OUT_ALPHA_SCALE_NONE                                             0x00000000
+#define    NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO_NV                                  0x00020000
+#define    NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR_NV                                 0x00040000
+#define    NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF_NV                             0x00060000
 #define  NV34TCL_RC_OUT_RGB(x)                                                         (0x00000914+((x)*32))
 #define  NV34TCL_RC_OUT_RGB__SIZE                                                      0x00000008
+#define   NV34TCL_RC_OUT_RGB_CD_OUTPUT_SHIFT                                           0
+#define   NV34TCL_RC_OUT_RGB_CD_OUTPUT_MASK                                            0x0000000f
+#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_ZERO                                           0x00000000
+#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0_NV                             0x00000001
+#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1_NV                             0x00000002
+#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_FOG                                            0x00000003
+#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR_NV                               0x00000004
+#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR_NV                             0x00000005
+#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE0_ARB                                   0x00000008
+#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE1_ARB                                   0x00000009
+#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_NV                                      0x0000000c
+#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE1_NV                                      0x0000000d
+#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                 0x0000000e
+#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F_NV                                   0x0000000f
+#define   NV34TCL_RC_OUT_RGB_AB_OUTPUT_SHIFT                                           4
+#define   NV34TCL_RC_OUT_RGB_AB_OUTPUT_MASK                                            0x000000f0
+#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_ZERO                                           0x00000000
+#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0_NV                             0x00000010
+#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1_NV                             0x00000020
+#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_FOG                                            0x00000030
+#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR_NV                               0x00000040
+#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR_NV                             0x00000050
+#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE0_ARB                                   0x00000080
+#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE1_ARB                                   0x00000090
+#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_NV                                      0x000000c0
+#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE1_NV                                      0x000000d0
+#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                 0x000000e0
+#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F_NV                                   0x000000f0
+#define   NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SHIFT                                          8
+#define   NV34TCL_RC_OUT_RGB_SUM_OUTPUT_MASK                                           0x00000f00
+#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_ZERO                                          0x00000000
+#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0_NV                            0x00000100
+#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1_NV                            0x00000200
+#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_FOG                                           0x00000300
+#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR_NV                              0x00000400
+#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR_NV                            0x00000500
+#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0_ARB                                  0x00000800
+#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1_ARB                                  0x00000900
+#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_NV                                     0x00000c00
+#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE1_NV                                     0x00000d00
+#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV                        0x00000e00
+#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F_NV                                  0x00000f00
+#define   NV34TCL_RC_OUT_RGB_CD_DOT_PRODUCT                                            (1 << 12)
+#define   NV34TCL_RC_OUT_RGB_AB_DOT_PRODUCT                                            (1 << 13)
+#define   NV34TCL_RC_OUT_RGB_MUX_SUM                                                   (1 << 14)
+#define   NV34TCL_RC_OUT_RGB_BIAS                                                      (1 << 15)
+#define    NV34TCL_RC_OUT_RGB_BIAS_NONE                                                        0x00000000
+#define    NV34TCL_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF_NV                                0x00008000
+#define   NV34TCL_RC_OUT_RGB_SCALE_SHIFT                                               17
+#define   NV34TCL_RC_OUT_RGB_SCALE_MASK                                                        0x00000000
+#define    NV34TCL_RC_OUT_RGB_SCALE_NONE                                               0x00000000
+#define    NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_TWO_NV                                    0x00020000
+#define    NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_FOUR_NV                                   0x00040000
+#define    NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF_NV                               0x00060000
 #define  NV34TCL_VIEWPORT_HORIZ                                                                0x00000a00
 #define   NV34TCL_VIEWPORT_HORIZ_X_SHIFT                                               0
 #define   NV34TCL_VIEWPORT_HORIZ_X_MASK                                                        0x0000ffff
@@ -4131,24 +5834,82 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV34TCL_DEPTH_TEST_ENABLE                                                     0x00000a74
 #define  NV34TCL_POLYGON_OFFSET_FACTOR                                                 0x00000a78
 #define  NV34TCL_POLYGON_OFFSET_UNITS                                                  0x00000a7c
-#define  NV34TCL_VERTEX_NOR_3I_XY                                                      0x00000a90
-#define   NV34TCL_VERTEX_NOR_3I_XY_X_SHIFT                                             0
-#define   NV34TCL_VERTEX_NOR_3I_XY_X_MASK                                              0x0000ffff
-#define   NV34TCL_VERTEX_NOR_3I_XY_Y_SHIFT                                             16
-#define   NV34TCL_VERTEX_NOR_3I_XY_Y_MASK                                              0xffff0000
-#define  NV34TCL_VERTEX_NOR_3I_Z                                                       0x00000a94
-#define   NV34TCL_VERTEX_NOR_3I_Z_Z_SHIFT                                              0
-#define   NV34TCL_VERTEX_NOR_3I_Z_Z_MASK                                               0x0000ffff
+#define  NV34TCL_VTX_ATTR_3I_XY(x)                                                     (0x00000a80+((x)*8))
+#define  NV34TCL_VTX_ATTR_3I_XY__SIZE                                                  0x00000010
+#define   NV34TCL_VTX_ATTR_3I_XY_X_SHIFT                                               0
+#define   NV34TCL_VTX_ATTR_3I_XY_X_MASK                                                        0x0000ffff
+#define   NV34TCL_VTX_ATTR_3I_XY_Y_SHIFT                                               16
+#define   NV34TCL_VTX_ATTR_3I_XY_Y_MASK                                                        0xffff0000
+#define  NV34TCL_VTX_ATTR_3I_Z(x)                                                      (0x00000a84+((x)*8))
+#define  NV34TCL_VTX_ATTR_3I_Z__SIZE                                                   0x00000010
+#define   NV34TCL_VTX_ATTR_3I_Z_Z_SHIFT                                                        0
+#define   NV34TCL_VTX_ATTR_3I_Z_Z_MASK                                                 0x0000ffff
 #define  NV34TCL_VP_UPLOAD_INST(x)                                                     (0x00000b80+((x)*4))
 #define  NV34TCL_VP_UPLOAD_INST__SIZE                                                  0x00000004
-#define  NV34TCL_CLIP_PLANE_A(x)                                                       (0x00000e00+((x)*16))
-#define  NV34TCL_CLIP_PLANE_A__SIZE                                                    0x00000020
-#define  NV34TCL_CLIP_PLANE_B(x)                                                       (0x00000e04+((x)*16))
-#define  NV34TCL_CLIP_PLANE_B__SIZE                                                    0x00000020
-#define  NV34TCL_CLIP_PLANE_C(x)                                                       (0x00000e08+((x)*16))
-#define  NV34TCL_CLIP_PLANE_C__SIZE                                                    0x00000020
-#define  NV34TCL_CLIP_PLANE_D(x)                                                       (0x00000e0c+((x)*16))
-#define  NV34TCL_CLIP_PLANE_D__SIZE                                                    0x00000020
+#define  NV34TCL_TX0_CLIP_PLANE_A(x)                                                   (0x00000e00+((x)*16))
+#define  NV34TCL_TX0_CLIP_PLANE_A__SIZE                                                        0x00000004
+#define  NV34TCL_TX0_CLIP_PLANE_B(x)                                                   (0x00000e04+((x)*16))
+#define  NV34TCL_TX0_CLIP_PLANE_B__SIZE                                                        0x00000004
+#define  NV34TCL_TX0_CLIP_PLANE_C(x)                                                   (0x00000e08+((x)*16))
+#define  NV34TCL_TX0_CLIP_PLANE_C__SIZE                                                        0x00000004
+#define  NV34TCL_TX0_CLIP_PLANE_D(x)                                                   (0x00000e0c+((x)*16))
+#define  NV34TCL_TX0_CLIP_PLANE_D__SIZE                                                        0x00000004
+#define  NV34TCL_TX1_CLIP_PLANE_A(x)                                                   (0x00000e40+((x)*16))
+#define  NV34TCL_TX1_CLIP_PLANE_A__SIZE                                                        0x00000004
+#define  NV34TCL_TX1_CLIP_PLANE_B(x)                                                   (0x00000e44+((x)*16))
+#define  NV34TCL_TX1_CLIP_PLANE_B__SIZE                                                        0x00000004
+#define  NV34TCL_TX1_CLIP_PLANE_C(x)                                                   (0x00000e48+((x)*16))
+#define  NV34TCL_TX1_CLIP_PLANE_C__SIZE                                                        0x00000004
+#define  NV34TCL_TX1_CLIP_PLANE_D(x)                                                   (0x00000e4c+((x)*16))
+#define  NV34TCL_TX1_CLIP_PLANE_D__SIZE                                                        0x00000004
+#define  NV34TCL_TX2_CLIP_PLANE_A(x)                                                   (0x00000e80+((x)*16))
+#define  NV34TCL_TX2_CLIP_PLANE_A__SIZE                                                        0x00000004
+#define  NV34TCL_TX2_CLIP_PLANE_B(x)                                                   (0x00000e84+((x)*16))
+#define  NV34TCL_TX2_CLIP_PLANE_B__SIZE                                                        0x00000004
+#define  NV34TCL_TX2_CLIP_PLANE_C(x)                                                   (0x00000e88+((x)*16))
+#define  NV34TCL_TX2_CLIP_PLANE_C__SIZE                                                        0x00000004
+#define  NV34TCL_TX2_CLIP_PLANE_D(x)                                                   (0x00000e8c+((x)*16))
+#define  NV34TCL_TX2_CLIP_PLANE_D__SIZE                                                        0x00000004
+#define  NV34TCL_TX3_CLIP_PLANE_A(x)                                                   (0x00000ec0+((x)*16))
+#define  NV34TCL_TX3_CLIP_PLANE_A__SIZE                                                        0x00000004
+#define  NV34TCL_TX3_CLIP_PLANE_B(x)                                                   (0x00000ec4+((x)*16))
+#define  NV34TCL_TX3_CLIP_PLANE_B__SIZE                                                        0x00000004
+#define  NV34TCL_TX3_CLIP_PLANE_C(x)                                                   (0x00000ec8+((x)*16))
+#define  NV34TCL_TX3_CLIP_PLANE_C__SIZE                                                        0x00000004
+#define  NV34TCL_TX3_CLIP_PLANE_D(x)                                                   (0x00000ecc+((x)*16))
+#define  NV34TCL_TX3_CLIP_PLANE_D__SIZE                                                        0x00000004
+#define  NV34TCL_TX4_CLIP_PLANE_A(x)                                                   (0x00000f00+((x)*16))
+#define  NV34TCL_TX4_CLIP_PLANE_A__SIZE                                                        0x00000004
+#define  NV34TCL_TX4_CLIP_PLANE_B(x)                                                   (0x00000f04+((x)*16))
+#define  NV34TCL_TX4_CLIP_PLANE_B__SIZE                                                        0x00000004
+#define  NV34TCL_TX4_CLIP_PLANE_C(x)                                                   (0x00000f08+((x)*16))
+#define  NV34TCL_TX4_CLIP_PLANE_C__SIZE                                                        0x00000004
+#define  NV34TCL_TX4_CLIP_PLANE_D(x)                                                   (0x00000f0c+((x)*16))
+#define  NV34TCL_TX4_CLIP_PLANE_D__SIZE                                                        0x00000004
+#define  NV34TCL_TX5_CLIP_PLANE_A(x)                                                   (0x00000f40+((x)*16))
+#define  NV34TCL_TX5_CLIP_PLANE_A__SIZE                                                        0x00000004
+#define  NV34TCL_TX5_CLIP_PLANE_B(x)                                                   (0x00000f44+((x)*16))
+#define  NV34TCL_TX5_CLIP_PLANE_B__SIZE                                                        0x00000004
+#define  NV34TCL_TX5_CLIP_PLANE_C(x)                                                   (0x00000f48+((x)*16))
+#define  NV34TCL_TX5_CLIP_PLANE_C__SIZE                                                        0x00000004
+#define  NV34TCL_TX5_CLIP_PLANE_D(x)                                                   (0x00000f4c+((x)*16))
+#define  NV34TCL_TX5_CLIP_PLANE_D__SIZE                                                        0x00000004
+#define  NV34TCL_TX6_CLIP_PLANE_A(x)                                                   (0x00000f80+((x)*16))
+#define  NV34TCL_TX6_CLIP_PLANE_A__SIZE                                                        0x00000004
+#define  NV34TCL_TX6_CLIP_PLANE_B(x)                                                   (0x00000f84+((x)*16))
+#define  NV34TCL_TX6_CLIP_PLANE_B__SIZE                                                        0x00000004
+#define  NV34TCL_TX6_CLIP_PLANE_C(x)                                                   (0x00000f88+((x)*16))
+#define  NV34TCL_TX6_CLIP_PLANE_C__SIZE                                                        0x00000004
+#define  NV34TCL_TX6_CLIP_PLANE_D(x)                                                   (0x00000f8c+((x)*16))
+#define  NV34TCL_TX6_CLIP_PLANE_D__SIZE                                                        0x00000004
+#define  NV34TCL_TX7_CLIP_PLANE_A(x)                                                   (0x00000fc0+((x)*16))
+#define  NV34TCL_TX7_CLIP_PLANE_A__SIZE                                                        0x00000004
+#define  NV34TCL_TX7_CLIP_PLANE_B(x)                                                   (0x00000fc4+((x)*16))
+#define  NV34TCL_TX7_CLIP_PLANE_B__SIZE                                                        0x00000004
+#define  NV34TCL_TX7_CLIP_PLANE_C(x)                                                   (0x00000fc8+((x)*16))
+#define  NV34TCL_TX7_CLIP_PLANE_C__SIZE                                                        0x00000004
+#define  NV34TCL_TX7_CLIP_PLANE_D(x)                                                   (0x00000fcc+((x)*16))
+#define  NV34TCL_TX7_CLIP_PLANE_D__SIZE                                                        0x00000004
 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(x)                                 (0x00001000+((x)*64))
 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R__SIZE                              0x00000008
 #define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(x)                                 (0x00001004+((x)*64))
@@ -4207,6 +5968,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV34TCL_LIGHT_ATTENUATION_QUADRATIC__SIZE                                     0x00000008
 #define  NV34TCL_FRONT_MATERIAL_SHININESS(x)                                           (0x00001400+((x)*4))
 #define  NV34TCL_FRONT_MATERIAL_SHININESS__SIZE                                                0x00000006
+#define  NV34TCL_ENABLED_LIGHTS                                                                0x00001420
 #define  NV34TCL_FP_REG_CONTROL                                                                0x00001450
 #define   NV34TCL_FP_REG_CONTROL_UNK1_SHIFT                                            16
 #define   NV34TCL_FP_REG_CONTROL_UNK1_MASK                                             0xffff0000
@@ -4224,12 +5986,12 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV34TCL_POLYGON_STIPPLE_ENABLE                                                        0x0000147c
 #define  NV34TCL_POLYGON_STIPPLE_PATTERN(x)                                            (0x00001480+((x)*4))
 #define  NV34TCL_POLYGON_STIPPLE_PATTERN__SIZE                                         0x00000020
-#define  NV34TCL_VERTEX_ATTR_3F_X(x)                                                   (0x00001500+((x)*16))
-#define  NV34TCL_VERTEX_ATTR_3F_X__SIZE                                                        0x00000010
-#define  NV34TCL_VERTEX_ATTR_3F_Y(x)                                                   (0x00001504+((x)*16))
-#define  NV34TCL_VERTEX_ATTR_3F_Y__SIZE                                                        0x00000010
-#define  NV34TCL_VERTEX_ATTR_3F_Z(x)                                                   (0x00001508+((x)*16))
-#define  NV34TCL_VERTEX_ATTR_3F_Z__SIZE                                                        0x00000010
+#define  NV34TCL_VTX_ATTR_3F_X(x)                                                      (0x00001500+((x)*16))
+#define  NV34TCL_VTX_ATTR_3F_X__SIZE                                                   0x00000010
+#define  NV34TCL_VTX_ATTR_3F_Y(x)                                                      (0x00001504+((x)*16))
+#define  NV34TCL_VTX_ATTR_3F_Y__SIZE                                                   0x00000010
+#define  NV34TCL_VTX_ATTR_3F_Z(x)                                                      (0x00001508+((x)*16))
+#define  NV34TCL_VTX_ATTR_3F_Z__SIZE                                                   0x00000010
 #define  NV34TCL_VP_CLIP_PLANE_A(x)                                                    (0x00001600+((x)*16))
 #define  NV34TCL_VP_CLIP_PLANE_A__SIZE                                                 0x00000006
 #define  NV34TCL_VP_CLIP_PLANE_B(x)                                                    (0x00001604+((x)*16))
@@ -4238,22 +6000,22 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV34TCL_VP_CLIP_PLANE_C__SIZE                                                 0x00000006
 #define  NV34TCL_VP_CLIP_PLANE_D(x)                                                    (0x0000160c+((x)*16))
 #define  NV34TCL_VP_CLIP_PLANE_D__SIZE                                                 0x00000006
-#define  NV34TCL_VERTEX_BUFFER_ADDRESS(x)                                              (0x00001680+((x)*4))
-#define  NV34TCL_VERTEX_BUFFER_ADDRESS__SIZE                                           0x00000010
-#define   NV34TCL_VERTEX_BUFFER_ADDRESS_DMA1                                           (1 << 31)
-#define   NV34TCL_VERTEX_BUFFER_ADDRESS_OFFSET_SHIFT                                   0
-#define   NV34TCL_VERTEX_BUFFER_ADDRESS_OFFSET_MASK                                    0x0fffffff
-#define  NV34TCL_VERTEX_ARRAY_FORMAT(x)                                                        (0x00001740+((x)*4))
-#define  NV34TCL_VERTEX_ARRAY_FORMAT__SIZE                                             0x00000010
-#define   NV34TCL_VERTEX_ARRAY_FORMAT_TYPE_SHIFT                                       0
-#define   NV34TCL_VERTEX_ARRAY_FORMAT_TYPE_MASK                                                0x0000000f
-#define    NV34TCL_VERTEX_ARRAY_FORMAT_TYPE_FLOAT                                      0x00000002
-#define    NV34TCL_VERTEX_ARRAY_FORMAT_TYPE_UBYTE                                      0x00000004
-#define    NV34TCL_VERTEX_ARRAY_FORMAT_TYPE_USHORT                                     0x00000005
-#define   NV34TCL_VERTEX_ARRAY_FORMAT_SIZE_SHIFT                                       4
-#define   NV34TCL_VERTEX_ARRAY_FORMAT_SIZE_MASK                                                0x000000f0
-#define   NV34TCL_VERTEX_ARRAY_FORMAT_STRIDE_SHIFT                                     8
-#define   NV34TCL_VERTEX_ARRAY_FORMAT_STRIDE_MASK                                      0x0000ff00
+#define  NV34TCL_VTXBUF_ADDRESS(x)                                                     (0x00001680+((x)*4))
+#define  NV34TCL_VTXBUF_ADDRESS__SIZE                                                  0x00000010
+#define   NV34TCL_VTXBUF_ADDRESS_DMA1                                                  (1 << 31)
+#define   NV34TCL_VTXBUF_ADDRESS_OFFSET_SHIFT                                          0
+#define   NV34TCL_VTXBUF_ADDRESS_OFFSET_MASK                                           0x0fffffff
+#define  NV34TCL_VTXFMT(x)                                                             (0x00001740+((x)*4))
+#define  NV34TCL_VTXFMT__SIZE                                                          0x00000010
+#define   NV34TCL_VTXFMT_TYPE_SHIFT                                                    0
+#define   NV34TCL_VTXFMT_TYPE_MASK                                                     0x0000000f
+#define    NV34TCL_VTXFMT_TYPE_FLOAT                                                   0x00000002
+#define    NV34TCL_VTXFMT_TYPE_UBYTE                                                   0x00000004
+#define    NV34TCL_VTXFMT_TYPE_USHORT                                                  0x00000005
+#define   NV34TCL_VTXFMT_SIZE_SHIFT                                                    4
+#define   NV34TCL_VTXFMT_SIZE_MASK                                                     0x000000f0
+#define   NV34TCL_VTXFMT_STRIDE_SHIFT                                                  8
+#define   NV34TCL_VTXFMT_STRIDE_MASK                                                   0x0000ff00
 #define  NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R                 0x000017a0
 #define  NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G                 0x000017a4
 #define  NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B                 0x000017a8
@@ -4292,6 +6054,18 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV34TCL_VB_VERTEX_BATCH_COUNT_SHIFT                                          24
 #define   NV34TCL_VB_VERTEX_BATCH_COUNT_MASK                                           0xff000000
 #define  NV34TCL_VERTEX_DATA                                                           0x00001818
+#define  NV34TCL_IDXBUF_ADDRESS                                                                0x0000181c
+#define  NV34TCL_IDXBUF_FORMAT                                                         0x00001820
+#define   NV34TCL_IDXBUF_FORMAT_TYPE_SHIFT                                             4
+#define   NV34TCL_IDXBUF_FORMAT_TYPE_MASK                                              0x000000f0
+#define    NV34TCL_IDXBUF_FORMAT_TYPE_U32                                              0x00000000
+#define    NV34TCL_IDXBUF_FORMAT_TYPE_U16                                              0x00000010
+#define   NV34TCL_IDXBUF_FORMAT_DMA1                                                   (1 <<  0)
+#define  NV34TCL_VB_INDEX_BATCH                                                                0x00001824
+#define   NV34TCL_VB_INDEX_BATCH_COUNT_SHIFT                                           24
+#define   NV34TCL_VB_INDEX_BATCH_COUNT_MASK                                            0xff000000
+#define   NV34TCL_VB_INDEX_BATCH_START_SHIFT                                           0
+#define   NV34TCL_VB_INDEX_BATCH_START_MASK                                            0x00ffffff
 #define  NV34TCL_POLYGON_MODE_FRONT                                                    0x00001828
 #define   NV34TCL_POLYGON_MODE_FRONT_POINT                                             0x00001b00
 #define   NV34TCL_POLYGON_MODE_FRONT_LINE                                              0x00001b01
@@ -4309,55 +6083,48 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV34TCL_FRONT_FACE_CCW                                                       0x00000901
 #define  NV34TCL_POLYGON_SMOOTH_ENABLE                                                 0x00001838
 #define  NV34TCL_CULL_FACE_ENABLE                                                      0x0000183c
-#define  NV34TCL_VERTEX_ATTR_2F_X(x)                                                   (0x00001880+((x)*8))
-#define  NV34TCL_VERTEX_ATTR_2F_X__SIZE                                                        0x00000010
-#define  NV34TCL_VERTEX_ATTR_2F_Y(x)                                                   (0x00001884+((x)*8))
-#define  NV34TCL_VERTEX_ATTR_2F_Y__SIZE                                                        0x00000010
-#define  NV34TCL_VERTEX_ATTR_2I(x)                                                     (0x00001900+((x)*4))
-#define  NV34TCL_VERTEX_ATTR_2I__SIZE                                                  0x00000010
-#define   NV34TCL_VERTEX_ATTR_2I_Y_SHIFT                                               16
-#define   NV34TCL_VERTEX_ATTR_2I_Y_MASK                                                        0xffff0000
-#define   NV34TCL_VERTEX_ATTR_2I_X_SHIFT                                               0
-#define   NV34TCL_VERTEX_ATTR_2I_X_MASK                                                        0x0000ffff
-#define  NV34TCL_VERTEX_COL_4I(x)                                                      (0x0000194c+((x)*4))
-#define  NV34TCL_VERTEX_COL_4I__SIZE                                                   0x00000002
-#define   NV34TCL_VERTEX_COL_4I_R_SHIFT                                                        0
-#define   NV34TCL_VERTEX_COL_4I_R_MASK                                                 0x000000ff
-#define   NV34TCL_VERTEX_COL_4I_G_SHIFT                                                        8
-#define   NV34TCL_VERTEX_COL_4I_G_MASK                                                 0x0000ff00
-#define   NV34TCL_VERTEX_COL_4I_B_SHIFT                                                        16
-#define   NV34TCL_VERTEX_COL_4I_B_MASK                                                 0x00ff0000
-#define   NV34TCL_VERTEX_COL_4I_A_SHIFT                                                        24
-#define   NV34TCL_VERTEX_COL_4I_A_MASK                                                 0xff000000
-#define  NV34TCL_VERTEX_POS_4I_XY                                                      0x00001980
-#define   NV34TCL_VERTEX_POS_4I_XY_X_SHIFT                                             0
-#define   NV34TCL_VERTEX_POS_4I_XY_X_MASK                                              0x0000ffff
-#define   NV34TCL_VERTEX_POS_4I_XY_Y_SHIFT                                             16
-#define   NV34TCL_VERTEX_POS_4I_XY_Y_MASK                                              0xffff0000
-#define  NV34TCL_VERTEX_POS_4I_ZW                                                      0x00001984
-#define   NV34TCL_VERTEX_POS_4I_ZW_Z_SHIFT                                             0
-#define   NV34TCL_VERTEX_POS_4I_ZW_Z_MASK                                              0x0000ffff
-#define   NV34TCL_VERTEX_POS_4I_ZW_W_SHIFT                                             16
-#define   NV34TCL_VERTEX_POS_4I_ZW_W_MASK                                              0xffff0000
-#define  NV34TCL_VERTEX_TX_4I_ST(x)                                                    (0x000019c0+((x)*8))
-#define  NV34TCL_VERTEX_TX_4I_ST__SIZE                                                 0x00000004
-#define   NV34TCL_VERTEX_TX_4I_ST_S_SHIFT                                              0
-#define   NV34TCL_VERTEX_TX_4I_ST_S_MASK                                               0x0000ffff
-#define   NV34TCL_VERTEX_TX_4I_ST_T_SHIFT                                              16
-#define   NV34TCL_VERTEX_TX_4I_ST_T_MASK                                               0xffff0000
-#define  NV34TCL_VERTEX_TX_4I_RQ(x)                                                    (0x000019c4+((x)*8))
-#define  NV34TCL_VERTEX_TX_4I_RQ__SIZE                                                 0x00000004
-#define   NV34TCL_VERTEX_TX_4I_RQ_R_SHIFT                                              0
-#define   NV34TCL_VERTEX_TX_4I_RQ_R_MASK                                               0x0000ffff
-#define   NV34TCL_VERTEX_TX_4I_RQ_Q_SHIFT                                              16
-#define   NV34TCL_VERTEX_TX_4I_RQ_Q_MASK                                               0xffff0000
+#define  NV34TCL_TX_PALETTE_OFFSET(x)                                                  (0x00001840+((x)*4))
+#define  NV34TCL_TX_PALETTE_OFFSET__SIZE                                               0x00000004
+#define  NV34TCL_VTX_ATTR_2F_X(x)                                                      (0x00001880+((x)*8))
+#define  NV34TCL_VTX_ATTR_2F_X__SIZE                                                   0x00000010
+#define  NV34TCL_VTX_ATTR_2F_Y(x)                                                      (0x00001884+((x)*8))
+#define  NV34TCL_VTX_ATTR_2F_Y__SIZE                                                   0x00000010
+#define  NV34TCL_VTX_ATTR_2I(x)                                                                (0x00001900+((x)*4))
+#define  NV34TCL_VTX_ATTR_2I__SIZE                                                     0x00000010
+#define   NV34TCL_VTX_ATTR_2I_X_SHIFT                                                  0
+#define   NV34TCL_VTX_ATTR_2I_X_MASK                                                   0x0000ffff
+#define   NV34TCL_VTX_ATTR_2I_Y_SHIFT                                                  16
+#define   NV34TCL_VTX_ATTR_2I_Y_MASK                                                   0xffff0000
+#define  NV34TCL_VTX_ATTR_4UB(x)                                                       (0x00001940+((x)*4))
+#define  NV34TCL_VTX_ATTR_4UB__SIZE                                                    0x00000010
+#define   NV34TCL_VTX_ATTR_4UB_X_SHIFT                                                 0
+#define   NV34TCL_VTX_ATTR_4UB_X_MASK                                                  0x000000ff
+#define   NV34TCL_VTX_ATTR_4UB_Y_SHIFT                                                 8
+#define   NV34TCL_VTX_ATTR_4UB_Y_MASK                                                  0x0000ff00
+#define   NV34TCL_VTX_ATTR_4UB_Z_SHIFT                                                 16
+#define   NV34TCL_VTX_ATTR_4UB_Z_MASK                                                  0x00ff0000
+#define   NV34TCL_VTX_ATTR_4UB_W_SHIFT                                                 24
+#define   NV34TCL_VTX_ATTR_4UB_W_MASK                                                  0xff000000
+#define  NV34TCL_VTX_ATTR_4I_XY(x)                                                     (0x00001980+((x)*8))
+#define  NV34TCL_VTX_ATTR_4I_XY__SIZE                                                  0x00000010
+#define   NV34TCL_VTX_ATTR_4I_XY_X_SHIFT                                               0
+#define   NV34TCL_VTX_ATTR_4I_XY_X_MASK                                                        0x0000ffff
+#define   NV34TCL_VTX_ATTR_4I_XY_Y_SHIFT                                               16
+#define   NV34TCL_VTX_ATTR_4I_XY_Y_MASK                                                        0xffff0000
+#define  NV34TCL_VTX_ATTR_4I_ZW(x)                                                     (0x00001984+((x)*8))
+#define  NV34TCL_VTX_ATTR_4I_ZW__SIZE                                                  0x00000010
+#define   NV34TCL_VTX_ATTR_4I_ZW_Z_SHIFT                                               0
+#define   NV34TCL_VTX_ATTR_4I_ZW_Z_MASK                                                        0x0000ffff
+#define   NV34TCL_VTX_ATTR_4I_ZW_W_SHIFT                                               16
+#define   NV34TCL_VTX_ATTR_4I_ZW_W_MASK                                                        0xffff0000
 #define  NV34TCL_TX_OFFSET(x)                                                          (0x00001a00+((x)*32))
 #define  NV34TCL_TX_OFFSET__SIZE                                                       0x00000004
 #define  NV34TCL_TX_FORMAT(x)                                                          (0x00001a04+((x)*32))
 #define  NV34TCL_TX_FORMAT__SIZE                                                       0x00000004
 #define   NV34TCL_TX_FORMAT_DMA0                                                       (1 <<  0)
 #define   NV34TCL_TX_FORMAT_DMA1                                                       (1 <<  1)
-#define   NV34TCL_TX_FORMAT_CUBE_MAP                                                   (1 <<  2)
+#define   NV34TCL_TX_FORMAT_CUBIC                                                      (1 <<  2)
+#define   NV34TCL_TX_FORMAT_NO_BORDER                                                  (1 <<  3)
 #define   NV34TCL_TX_FORMAT_DIMS_SHIFT                                                 4
 #define   NV34TCL_TX_FORMAT_DIMS_MASK                                                  0x000000f0
 #define    NV34TCL_TX_FORMAT_DIMS_1D                                                   0x00000010
@@ -4370,6 +6137,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define    NV34TCL_TX_FORMAT_FORMAT_A1R5G5B5                                           0x00000200
 #define    NV34TCL_TX_FORMAT_FORMAT_A8_RECT                                            0x00000300
 #define    NV34TCL_TX_FORMAT_FORMAT_A4R4G4B4                                           0x00000400
+#define    NV34TCL_TX_FORMAT_FORMAT_R5G6B5                                             0x00000500
 #define    NV34TCL_TX_FORMAT_FORMAT_A8R8G8B8                                           0x00000600
 #define    NV34TCL_TX_FORMAT_FORMAT_X8R8G8B8                                           0x00000700
 #define    NV34TCL_TX_FORMAT_FORMAT_INDEX8                                             0x00000b00
@@ -4377,22 +6145,27 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define    NV34TCL_TX_FORMAT_FORMAT_DXT3                                               0x00000e00
 #define    NV34TCL_TX_FORMAT_FORMAT_DXT5                                               0x00000f00
 #define    NV34TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT                                      0x00001000
+#define    NV34TCL_TX_FORMAT_FORMAT_R5G6B5_RECT                                                0x00001100
 #define    NV34TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT                                      0x00001200
 #define    NV34TCL_TX_FORMAT_FORMAT_L8_RECT                                            0x00001300
 #define    NV34TCL_TX_FORMAT_FORMAT_A8L8                                               0x00001a00
 #define    NV34TCL_TX_FORMAT_FORMAT_A8_RECT2                                           0x00001b00
-#define    NV34TCL_TX_FORMAT_FORMAT_R8G8B8_RECT                                                0x00001e00
 #define    NV34TCL_TX_FORMAT_FORMAT_A4R4G4B4_RECT                                      0x00001d00
+#define    NV34TCL_TX_FORMAT_FORMAT_R8G8B8_RECT                                                0x00001e00
 #define    NV34TCL_TX_FORMAT_FORMAT_L8A8_RECT                                          0x00002000
+#define    NV34TCL_TX_FORMAT_FORMAT_DSDT                                               0x00002800
 #define    NV34TCL_TX_FORMAT_FORMAT_A16                                                        0x00003200
+#define    NV34TCL_TX_FORMAT_FORMAT_HILO16                                             0x00003300
 #define    NV34TCL_TX_FORMAT_FORMAT_A16_RECT                                           0x00003500
+#define    NV34TCL_TX_FORMAT_FORMAT_HILO16_RECT                                                0x00003600
+#define    NV34TCL_TX_FORMAT_FORMAT_HILO8                                              0x00004400
+#define    NV34TCL_TX_FORMAT_FORMAT_SIGNED_HILO8                                       0x00004500
+#define    NV34TCL_TX_FORMAT_FORMAT_HILO8_RECT                                         0x00004600
+#define    NV34TCL_TX_FORMAT_FORMAT_SIGNED_HILO8_RECT                                  0x00004700
 #define    NV34TCL_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV                                    0x00004a00
 #define    NV34TCL_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV                                    0x00004b00
 #define    NV34TCL_TX_FORMAT_FORMAT_FLOAT_R32_NV                                       0x00004c00
-#define   NV34TCL_TX_FORMAT_NPOT                                                       (1 << 12)
-#define   NV34TCL_TX_FORMAT_RECT                                                       (1 << 14)
-#define   NV34TCL_TX_FORMAT_MIPMAP_LEVELS_SHIFT                                                16
-#define   NV34TCL_TX_FORMAT_MIPMAP_LEVELS_MASK                                         0x000f0000
+#define   NV34TCL_TX_FORMAT_MIPMAP                                                     (1 << 19)
 #define   NV34TCL_TX_FORMAT_BASE_SIZE_U_SHIFT                                          20
 #define   NV34TCL_TX_FORMAT_BASE_SIZE_U_MASK                                           0x00f00000
 #define   NV34TCL_TX_FORMAT_BASE_SIZE_V_SHIFT                                          24
@@ -4409,21 +6182,43 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define    NV34TCL_TX_WRAP_S_CLAMP_TO_BORDER                                           0x00000004
 #define    NV34TCL_TX_WRAP_S_CLAMP                                                     0x00000005
 #define   NV34TCL_TX_WRAP_T_SHIFT                                                      8
-#define   NV34TCL_TX_WRAP_T_MASK                                                       0x0000ff00
+#define   NV34TCL_TX_WRAP_T_MASK                                                       0x00000f00
 #define    NV34TCL_TX_WRAP_T_REPEAT                                                    0x00000100
 #define    NV34TCL_TX_WRAP_T_MIRRORED_REPEAT                                           0x00000200
 #define    NV34TCL_TX_WRAP_T_CLAMP_TO_EDGE                                             0x00000300
 #define    NV34TCL_TX_WRAP_T_CLAMP_TO_BORDER                                           0x00000400
 #define    NV34TCL_TX_WRAP_T_CLAMP                                                     0x00000500
+#define   NV34TCL_TX_WRAP_EXPAND_NORMAL_SHIFT                                          12
+#define   NV34TCL_TX_WRAP_EXPAND_NORMAL_MASK                                           0x0000f000
 #define   NV34TCL_TX_WRAP_R_SHIFT                                                      16
-#define   NV34TCL_TX_WRAP_R_MASK                                                       0x00ff0000
+#define   NV34TCL_TX_WRAP_R_MASK                                                       0x000f0000
 #define    NV34TCL_TX_WRAP_R_REPEAT                                                    0x00010000
 #define    NV34TCL_TX_WRAP_R_MIRRORED_REPEAT                                           0x00020000
 #define    NV34TCL_TX_WRAP_R_CLAMP_TO_EDGE                                             0x00030000
 #define    NV34TCL_TX_WRAP_R_CLAMP_TO_BORDER                                           0x00040000
 #define    NV34TCL_TX_WRAP_R_CLAMP                                                     0x00050000
+#define   NV34TCL_TX_WRAP_RCOMP_SHIFT                                                  28
+#define   NV34TCL_TX_WRAP_RCOMP_MASK                                                   0xf0000000
+#define    NV34TCL_TX_WRAP_RCOMP_NEVER                                                 0x00000000
+#define    NV34TCL_TX_WRAP_RCOMP_GREATER                                               0x10000000
+#define    NV34TCL_TX_WRAP_RCOMP_EQUAL                                                 0x20000000
+#define    NV34TCL_TX_WRAP_RCOMP_GEQUAL                                                        0x30000000
+#define    NV34TCL_TX_WRAP_RCOMP_LESS                                                  0x40000000
+#define    NV34TCL_TX_WRAP_RCOMP_NOTEQUAL                                              0x50000000
+#define    NV34TCL_TX_WRAP_RCOMP_LEQUAL                                                        0x60000000
+#define    NV34TCL_TX_WRAP_RCOMP_ALWAYS                                                        0x70000000
 #define  NV34TCL_TX_ENABLE(x)                                                          (0x00001a0c+((x)*32))
 #define  NV34TCL_TX_ENABLE__SIZE                                                       0x00000004
+#define   NV34TCL_TX_ENABLE_ANISO_SHIFT                                                        4
+#define   NV34TCL_TX_ENABLE_ANISO_MASK                                                 0x00000030
+#define    NV34TCL_TX_ENABLE_ANISO_NONE                                                        0x00000000
+#define    NV34TCL_TX_ENABLE_ANISO_2X                                                  0x00000010
+#define    NV34TCL_TX_ENABLE_ANISO_4X                                                  0x00000020
+#define    NV34TCL_TX_ENABLE_ANISO_8X                                                  0x00000030
+#define   NV34TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT                                       14
+#define   NV34TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK                                                0x0003c000
+#define   NV34TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT                                       26
+#define   NV34TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK                                                0x3c000000
 #define   NV34TCL_TX_ENABLE_ENABLE                                                     (1 << 30)
 #define  NV34TCL_TX_SWIZZLE(x)                                                         (0x00001a10+((x)*32))
 #define  NV34TCL_TX_SWIZZLE__SIZE                                                      0x00000004
@@ -4475,6 +6270,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV34TCL_TX_SWIZZLE_RECT_PITCH_MASK                                           0xffff0000
 #define  NV34TCL_TX_FILTER(x)                                                          (0x00001a14+((x)*32))
 #define  NV34TCL_TX_FILTER__SIZE                                                       0x00000004
+#define   NV34TCL_TX_FILTER_LOD_BIAS_SHIFT                                             8
+#define   NV34TCL_TX_FILTER_LOD_BIAS_MASK                                              0x00000f00
 #define   NV34TCL_TX_FILTER_MINIFY_SHIFT                                               16
 #define   NV34TCL_TX_FILTER_MINIFY_MASK                                                        0x000f0000
 #define    NV34TCL_TX_FILTER_MINIFY_NEAREST                                            0x00010000
@@ -4507,19 +6304,27 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV34TCL_TX_BORDER_COLOR_R_MASK                                               0x00ff0000
 #define   NV34TCL_TX_BORDER_COLOR_A_SHIFT                                              24
 #define   NV34TCL_TX_BORDER_COLOR_A_MASK                                               0xff000000
-#define  NV34TCL_VERTEX_ATTR_4F_X(x)                                                   (0x00001c00+((x)*16))
-#define  NV34TCL_VERTEX_ATTR_4F_X__SIZE                                                        0x00000010
-#define  NV34TCL_VERTEX_ATTR_4F_Y(x)                                                   (0x00001c04+((x)*16))
-#define  NV34TCL_VERTEX_ATTR_4F_Y__SIZE                                                        0x00000010
-#define  NV34TCL_VERTEX_ATTR_4F_Z(x)                                                   (0x00001c08+((x)*16))
-#define  NV34TCL_VERTEX_ATTR_4F_Z__SIZE                                                        0x00000010
-#define  NV34TCL_VERTEX_ATTR_4F_W(x)                                                   (0x00001c0c+((x)*16))
-#define  NV34TCL_VERTEX_ATTR_4F_W__SIZE                                                        0x00000010
+#define  NV34TCL_VTX_ATTR_4F_X(x)                                                      (0x00001c00+((x)*16))
+#define  NV34TCL_VTX_ATTR_4F_X__SIZE                                                   0x00000010
+#define  NV34TCL_VTX_ATTR_4F_Y(x)                                                      (0x00001c04+((x)*16))
+#define  NV34TCL_VTX_ATTR_4F_Y__SIZE                                                   0x00000010
+#define  NV34TCL_VTX_ATTR_4F_Z(x)                                                      (0x00001c08+((x)*16))
+#define  NV34TCL_VTX_ATTR_4F_Z__SIZE                                                   0x00000010
+#define  NV34TCL_VTX_ATTR_4F_W(x)                                                      (0x00001c0c+((x)*16))
+#define  NV34TCL_VTX_ATTR_4F_W__SIZE                                                   0x00000010
 #define  NV34TCL_FP_CONTROL                                                            0x00001d60
 #define   NV34TCL_FP_CONTROL_USES_KIL                                                  (1 <<  7)
 #define   NV34TCL_FP_CONTROL_USED_REGS_MINUS1_DIV2_SHIFT                               0
 #define   NV34TCL_FP_CONTROL_USED_REGS_MINUS1_DIV2_MASK                                        0x0000000f
+#define  NV34TCL_DEPTH_UNK17D8                                                         0x00001d78
+#define   NV34TCL_DEPTH_UNK17D8_CLAMP_SHIFT                                            4
+#define   NV34TCL_DEPTH_UNK17D8_CLAMP_MASK                                             0x000000f0
 #define  NV34TCL_MULTISAMPLE_CONTROL                                                   0x00001d7c
+#define   NV34TCL_MULTISAMPLE_CONTROL_ENABLE                                           (1 <<  0)
+#define   NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_ALPHA_TO_COVERAGE                         (1 <<  4)
+#define   NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_ALPHA_TO_ONE                              (1 <<  8)
+#define   NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_COVERAGE_SHIFT                            16
+#define   NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_COVERAGE_MASK                             0xffff0000
 #define  NV34TCL_CLEAR_DEPTH_VALUE                                                     0x00001d8c
 #define  NV34TCL_CLEAR_COLOR_VALUE                                                     0x00001d90
 #define   NV34TCL_CLEAR_COLOR_VALUE_B_SHIFT                                            0
@@ -4546,7 +6351,12 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV34TCL_LINE_STIPPLE_PATTERN_PATTERN_MASK                                    0xffff0000
 #define  NV34TCL_BACK_MATERIAL_SHININESS(x)                                            (0x00001e20+((x)*4))
 #define  NV34TCL_BACK_MATERIAL_SHININESS__SIZE                                         0x00000006
-#define  NV34TCL_VERTEX_FOG_1F                                                         0x00001e54
+#define  NV34TCL_VTX_ATTR_1F(x)                                                                (0x00001e40+((x)*4))
+#define  NV34TCL_VTX_ATTR_1F__SIZE                                                     0x00000010
+#define  NV34TCL_ENGINE                                                                        0x00001e94
+#define   NV34TCL_ENGINE_FP                                                            (1 <<  0)
+#define   NV34TCL_ENGINE_VP                                                            (1 <<  1)
+#define   NV34TCL_ENGINE_FIXED                                                         (1 <<  2)
 #define  NV34TCL_VP_UPLOAD_FROM_ID                                                     0x00001e9c
 #define  NV34TCL_VP_START_FROM_ID                                                      0x00001ea0
 #define  NV34TCL_POINT_PARAMETERS(x)                                                   (0x00001ec0+((x)*4))
@@ -4557,9 +6367,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV34TCL_POINT_SPRITE_ENABLE                                                  (1 <<  0)
 #define   NV34TCL_POINT_SPRITE_R_MODE_SHIFT                                            1
 #define   NV34TCL_POINT_SPRITE_R_MODE_MASK                                             0x00000006
-#define    NV34TCL_POINT_SPRITE_R_MODE_GL_ZERO                                         0x00000000
-#define    NV34TCL_POINT_SPRITE_R_MODE_GL_R                                            0x00000002
-#define    NV34TCL_POINT_SPRITE_R_MODE_GL_S                                            0x00000004
+#define    NV34TCL_POINT_SPRITE_R_MODE_ZERO                                            0x00000000
+#define    NV34TCL_POINT_SPRITE_R_MODE_R                                               0x00000002
+#define    NV34TCL_POINT_SPRITE_R_MODE_S                                               0x00000004
 #define   NV34TCL_POINT_SPRITE_COORD_REPLACE                                           (1 << 11)
 #define  NV34TCL_VP_UPLOAD_CONST_ID                                                    0x00001efc
 #define  NV34TCL_VP_UPLOAD_CONST_X(x)                                                  (0x00001f00+((x)*16))
@@ -4572,8 +6382,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV34TCL_VP_UPLOAD_CONST_W__SIZE                                               0x00000004
 #define  NV34TCL_UNK1f80(x)                                                            (0x00001f80+((x)*4))
 #define  NV34TCL_UNK1f80__SIZE                                                         0x00000010
-#define  NV34TCL_VP_ATTRIB_EN                                                          0x00001ff0
-#define  NV34TCL_VP_RESULT_EN                                                          0x00001ff4
 
 
 #define NV40_CONTEXT_SURFACES_2D                                                       0x00003062
@@ -4648,6 +6456,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define    NV40TCL_RT_FORMAT_COLOR_X8R8G8B8                                            0x00000005
 #define    NV40TCL_RT_FORMAT_COLOR_A8R8G8B8                                            0x00000008
 #define    NV40TCL_RT_FORMAT_COLOR_B8                                                  0x00000009
+#define    NV40TCL_RT_FORMAT_COLOR_UNKNOWN                                             0x0000000d
 #define    NV40TCL_RT_FORMAT_COLOR_X8B8G8R8                                            0x0000000f
 #define    NV40TCL_RT_FORMAT_COLOR_A8B8G8R8                                            0x00000010
 #define  NV40TCL_COLOR0_PITCH                                                          0x0000020c
@@ -4959,6 +6768,16 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV40TCL_DEPTH_TEST_ENABLE                                                     0x00000a74
 #define  NV40TCL_POLYGON_OFFSET_FACTOR                                                 0x00000a78
 #define  NV40TCL_POLYGON_OFFSET_UNITS                                                  0x00000a7c
+#define  NV40TCL_VTX_ATTR_3I_XY(x)                                                     (0x00000a80+((x)*8))
+#define  NV40TCL_VTX_ATTR_3I_XY__SIZE                                                  0x00000010
+#define   NV40TCL_VTX_ATTR_3I_XY_X_SHIFT                                               0
+#define   NV40TCL_VTX_ATTR_3I_XY_X_MASK                                                        0x0000ffff
+#define   NV40TCL_VTX_ATTR_3I_XY_Y_SHIFT                                               16
+#define   NV40TCL_VTX_ATTR_3I_XY_Y_MASK                                                        0xffff0000
+#define  NV40TCL_VTX_ATTR_3I_Z(x)                                                      (0x00000a84+((x)*8))
+#define  NV40TCL_VTX_ATTR_3I_Z__SIZE                                                   0x00000010
+#define   NV40TCL_VTX_ATTR_3I_Z_Z_SHIFT                                                        0
+#define   NV40TCL_VTX_ATTR_3I_Z_Z_MASK                                                 0x0000ffff
 #define  NV40TCL_UNK0B40(x)                                                            (0x00000b40+((x)*4))
 #define  NV40TCL_UNK0B40__SIZE                                                         0x00000008
 #define  NV40TCL_VP_UPLOAD_INST(x)                                                     (0x00000b80+((x)*4))
@@ -5068,22 +6887,32 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV40TCL_VTX_ATTR_2F_Y__SIZE                                                   0x00000010
 #define  NV40TCL_VTX_ATTR_2I(x)                                                                (0x00001900+((x)*4))
 #define  NV40TCL_VTX_ATTR_2I__SIZE                                                     0x00000010
-#define   NV40TCL_VTX_ATTR_2I_Y_SHIFT                                                  16
-#define   NV40TCL_VTX_ATTR_2I_Y_MASK                                                   0xffff0000
 #define   NV40TCL_VTX_ATTR_2I_X_SHIFT                                                  0
 #define   NV40TCL_VTX_ATTR_2I_X_MASK                                                   0x0000ffff
-#define  NV40TCL_VTX_ATTR_4I_0(x)                                                      (0x00001900+((x)*8))
-#define  NV40TCL_VTX_ATTR_4I_0__SIZE                                                   0x00000010
-#define   NV40TCL_VTX_ATTR_4I_0_Y_SHIFT                                                        16
-#define   NV40TCL_VTX_ATTR_4I_0_Y_MASK                                                 0xffff0000
-#define   NV40TCL_VTX_ATTR_4I_0_X_SHIFT                                                        0
-#define   NV40TCL_VTX_ATTR_4I_0_X_MASK                                                 0x0000ffff
-#define  NV40TCL_VTX_ATTR_4I_1(x)                                                      (0x00001904+((x)*8))
-#define  NV40TCL_VTX_ATTR_4I_1__SIZE                                                   0x00000010
-#define   NV40TCL_VTX_ATTR_4I_1_W_SHIFT                                                        16
-#define   NV40TCL_VTX_ATTR_4I_1_W_MASK                                                 0xffff0000
-#define   NV40TCL_VTX_ATTR_4I_1_Z_SHIFT                                                        0
-#define   NV40TCL_VTX_ATTR_4I_1_Z_MASK                                                 0x0000ffff
+#define   NV40TCL_VTX_ATTR_2I_Y_SHIFT                                                  16
+#define   NV40TCL_VTX_ATTR_2I_Y_MASK                                                   0xffff0000
+#define  NV40TCL_VTX_ATTR_4UB(x)                                                       (0x00001940+((x)*4))
+#define  NV40TCL_VTX_ATTR_4UB__SIZE                                                    0x00000010
+#define   NV40TCL_VTX_ATTR_4UB_X_SHIFT                                                 0
+#define   NV40TCL_VTX_ATTR_4UB_X_MASK                                                  0x000000ff
+#define   NV40TCL_VTX_ATTR_4UB_Y_SHIFT                                                 8
+#define   NV40TCL_VTX_ATTR_4UB_Y_MASK                                                  0x0000ff00
+#define   NV40TCL_VTX_ATTR_4UB_Z_SHIFT                                                 16
+#define   NV40TCL_VTX_ATTR_4UB_Z_MASK                                                  0x00ff0000
+#define   NV40TCL_VTX_ATTR_4UB_W_SHIFT                                                 24
+#define   NV40TCL_VTX_ATTR_4UB_W_MASK                                                  0xff000000
+#define  NV40TCL_VTX_ATTR_4I_XY(x)                                                     (0x00001980+((x)*8))
+#define  NV40TCL_VTX_ATTR_4I_XY__SIZE                                                  0x00000010
+#define   NV40TCL_VTX_ATTR_4I_XY_X_SHIFT                                               0
+#define   NV40TCL_VTX_ATTR_4I_XY_X_MASK                                                        0x0000ffff
+#define   NV40TCL_VTX_ATTR_4I_XY_Y_SHIFT                                               16
+#define   NV40TCL_VTX_ATTR_4I_XY_Y_MASK                                                        0xffff0000
+#define  NV40TCL_VTX_ATTR_4I_ZW(x)                                                     (0x00001984+((x)*8))
+#define  NV40TCL_VTX_ATTR_4I_ZW__SIZE                                                  0x00000010
+#define   NV40TCL_VTX_ATTR_4I_ZW_Z_SHIFT                                               0
+#define   NV40TCL_VTX_ATTR_4I_ZW_Z_MASK                                                        0x0000ffff
+#define   NV40TCL_VTX_ATTR_4I_ZW_W_SHIFT                                               16
+#define   NV40TCL_VTX_ATTR_4I_ZW_W_MASK                                                        0xffff0000
 #define  NV40TCL_TEX_OFFSET(x)                                                         (0x00001a00+((x)*32))
 #define  NV40TCL_TEX_OFFSET__SIZE                                                      0x00000010
 #define  NV40TCL_TEX_FORMAT(x)                                                         (0x00001a04+((x)*32))
@@ -5105,6 +6934,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define    NV40TCL_TEX_FORMAT_FORMAT_A8L8                                              0x00000b00
 #define    NV40TCL_TEX_FORMAT_FORMAT_Z24                                               0x00001000
 #define    NV40TCL_TEX_FORMAT_FORMAT_Z16                                               0x00001200
+#define    NV40TCL_TEX_FORMAT_FORMAT_A16                                               0x00001400
+#define    NV40TCL_TEX_FORMAT_FORMAT_A16L16                                            0x00001500
 #define    NV40TCL_TEX_FORMAT_FORMAT_HILO8                                             0x00001800
 #define    NV40TCL_TEX_FORMAT_FORMAT_RGBA16F                                           0x00001a00
 #define    NV40TCL_TEX_FORMAT_FORMAT_RGBA32F                                           0x00001b00
@@ -5130,7 +6961,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define    NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_BORDER                                   0x00000007
 #define    NV40TCL_TEX_WRAP_S_MIRROR_CLAMP                                             0x00000008
 #define   NV40TCL_TEX_WRAP_T_SHIFT                                                     8
-#define   NV40TCL_TEX_WRAP_T_MASK                                                      0x0000ff00
+#define   NV40TCL_TEX_WRAP_T_MASK                                                      0x00000f00
 #define    NV40TCL_TEX_WRAP_T_REPEAT                                                   0x00000100
 #define    NV40TCL_TEX_WRAP_T_MIRRORED_REPEAT                                          0x00000200
 #define    NV40TCL_TEX_WRAP_T_CLAMP_TO_EDGE                                            0x00000300
@@ -5139,6 +6970,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define    NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_EDGE                                     0x00000600
 #define    NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_BORDER                                   0x00000700
 #define    NV40TCL_TEX_WRAP_T_MIRROR_CLAMP                                             0x00000800
+#define   NV40TCL_TEX_WRAP_EXPAND_NORMAL_SHIFT                                         12
+#define   NV40TCL_TEX_WRAP_EXPAND_NORMAL_MASK                                          0x0000f000
 #define   NV40TCL_TEX_WRAP_R_SHIFT                                                     16
 #define   NV40TCL_TEX_WRAP_R_MASK                                                      0x00ff0000
 #define    NV40TCL_TEX_WRAP_R_REPEAT                                                   0x00010000
@@ -5162,6 +6995,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV40TCL_TEX_ENABLE(x)                                                         (0x00001a0c+((x)*32))
 #define  NV40TCL_TEX_ENABLE__SIZE                                                      0x00000010
 #define   NV40TCL_TEX_ENABLE_ENABLE                                                    (1 << 31)
+#define   NV40TCL_TEX_ENABLE_MIPMAP_MIN_LOD_SHIFT                                      27
+#define   NV40TCL_TEX_ENABLE_MIPMAP_MIN_LOD_MASK                                       0x38000000
+#define   NV40TCL_TEX_ENABLE_MIPMAP_MAX_LOD_SHIFT                                      15
+#define   NV40TCL_TEX_ENABLE_MIPMAP_MAX_LOD_MASK                                       0x00038000
 #define   NV40TCL_TEX_ENABLE_ANISO_SHIFT                                               4
 #define   NV40TCL_TEX_ENABLE_ANISO_MASK                                                        0x000000f0
 #define    NV40TCL_TEX_ENABLE_ANISO_NONE                                               0x00000000
@@ -5280,6 +7117,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_MASK                                     0x0000ffff
 #define   NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_SHIFT                                   16
 #define   NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_MASK                                    0xffff0000
+#define  NV40TCL_VTX_ATTR_1F(x)                                                                (0x00001e40+((x)*4))
+#define  NV40TCL_VTX_ATTR_1F__SIZE                                                     0x00000010
 #define  NV40TCL_VP_UPLOAD_FROM_ID                                                     0x00001e9c
 #define  NV40TCL_VP_START_FROM_ID                                                      0x00001ea0
 #define  NV40TCL_POINT_SIZE                                                            0x00001ee0
@@ -5401,18 +7240,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV50TCL_NOP                                                                   0x00000100
 #define  NV50TCL_NOTIFY                                                                        0x00000104
 #define  NV50TCL_DMA_NOTIFY                                                            0x00000180
-#define  NV50TCL_DMA_IN_MEMORY0(x)                                                     (0x00000184+((x)*4))
-#define  NV50TCL_DMA_IN_MEMORY0__SIZE                                                  0x0000000b
-#define  NV50TCL_DMA_IN_MEMORY1(x)                                                     (0x000001c0+((x)*4))
-#define  NV50TCL_DMA_IN_MEMORY1__SIZE                                                  0x00000008
+#define  NV50TCL_DMA_UNK0(x)                                                           (0x00000184+((x)*4))
+#define  NV50TCL_DMA_UNK0__SIZE                                                                0x0000000b
+#define  NV50TCL_DMA_UNK1(x)                                                           (0x000001c0+((x)*4))
+#define  NV50TCL_DMA_UNK1__SIZE                                                                0x00000008
 #define  NV50TCL_RT_ADDRESS_HIGH(x)                                                    (0x00000200+((x)*32))
 #define  NV50TCL_RT_ADDRESS_HIGH__SIZE                                                 0x00000008
 #define  NV50TCL_RT_ADDRESS_LOW(x)                                                     (0x00000204+((x)*32))
 #define  NV50TCL_RT_ADDRESS_LOW__SIZE                                                  0x00000008
 #define  NV50TCL_RT_FORMAT(x)                                                          (0x00000208+((x)*32))
 #define  NV50TCL_RT_FORMAT__SIZE                                                       0x00000008
-#define  NV50TCL_RT_UNK3(x)                                                            (0x0000020c+((x)*32))
-#define  NV50TCL_RT_UNK3__SIZE                                                         0x00000008
+#define   NV50TCL_RT_FORMAT_32BPP                                                      0x000000cf
+#define   NV50TCL_RT_FORMAT_24BPP                                                      0x000000e6
+#define   NV50TCL_RT_FORMAT_16BPP                                                      0x000000e8
+#define   NV50TCL_RT_FORMAT_8BPP                                                       0x000000f3
+#define   NV50TCL_RT_FORMAT_15BPP                                                      0x000000f8
+#define  NV50TCL_RT_TILE_UNK(x)                                                                (0x0000020c+((x)*32))
+#define  NV50TCL_RT_TILE_UNK__SIZE                                                     0x00000008
 #define  NV50TCL_RT_UNK4(x)                                                            (0x00000210+((x)*32))
 #define  NV50TCL_RT_UNK4__SIZE                                                         0x00000008
 #define  NV50TCL_VTX_ATTR_1F(x)                                                                (0x00000300+((x)*4))
@@ -5517,9 +7361,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV50TCL_SCISSOR_VERT_T_MASK                                                  0x0000ffff
 #define   NV50TCL_SCISSOR_VERT_B_SHIFT                                                 16
 #define   NV50TCL_SCISSOR_VERT_B_MASK                                                  0xffff0000
-#define  NV50TCL_VP_UPLOAD_CONST_ID                                                    0x00000f00
-#define  NV50TCL_VP_UPLOAD_CONST(x)                                                    (0x00000f04+((x)*4))
-#define  NV50TCL_VP_UPLOAD_CONST__SIZE                                                 0x00000010
+#define  NV50TCL_CB_ADDR                                                               0x00000f00
+#define   NV50TCL_CB_ADDR_ID_SHIFT                                                     8
+#define   NV50TCL_CB_ADDR_ID_MASK                                                      0xffffff00
+#define   NV50TCL_CB_ADDR_BUFFER_SHIFT                                                 0
+#define   NV50TCL_CB_ADDR_BUFFER_MASK                                                  0x000000ff
+#define  NV50TCL_CB_DATA(x)                                                            (0x00000f04+((x)*4))
+#define  NV50TCL_CB_DATA__SIZE                                                         0x00000010
 #define  NV50TCL_STENCIL_FRONT_FUNC_REF                                                        0x00000f54
 #define  NV50TCL_STENCIL_FRONT_MASK                                                    0x00000f58
 #define  NV50TCL_STENCIL_FRONT_FUNC_MASK                                               0x00000f5c
@@ -5541,6 +7389,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV50TCL_RT_HORIZ__SIZE                                                                0x00000008
 #define  NV50TCL_RT_VERT(x)                                                            (0x00001244+((x)*8))
 #define  NV50TCL_RT_VERT__SIZE                                                         0x00000008
+#define  NV50TCL_CB_DEF_ADDRESS_HIGH                                                   0x00001280
+#define  NV50TCL_CB_DEF_ADDRESS_LOW                                                    0x00001284
+#define  NV50TCL_CB_DEF_SET                                                            0x00001288
+#define   NV50TCL_CB_DEF_SET_SIZE_SHIFT                                                        0
+#define   NV50TCL_CB_DEF_SET_SIZE_MASK                                                 0x0000ffff
+#define   NV50TCL_CB_DEF_SET_BUFFER_SHIFT                                              16
+#define   NV50TCL_CB_DEF_SET_BUFFER_MASK                                               0xffff0000
 #define  NV50TCL_DEPTH_TEST_ENABLE                                                     0x000012cc
 #define  NV50TCL_SHADE_MODEL                                                           0x000012d4
 #define   NV50TCL_SHADE_MODEL_FLAT                                                     0x00001d00
@@ -5694,12 +7549,12 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV50TCL_GP_START_ID                                                           0x00001410
 #define  NV50TCL_FP_START_ID                                                           0x00001414
 #define  NV50TCL_POINT_SIZE                                                            0x00001518
-#define  NV50TCL_TEX_CB0_ADDRESS_HIGH                                                  0x0000155c
-#define  NV50TCL_TEX_CB0_ADDRESS_LOW                                                   0x00001560
+#define  NV50TCL_TSC_ADDRESS_HIGH                                                      0x0000155c
+#define  NV50TCL_TSC_ADDRESS_LOW                                                       0x00001560
 #define  NV50TCL_POLYGON_OFFSET_FACTOR                                                 0x0000156c
 #define  NV50TCL_LINE_SMOOTH_ENABLE                                                    0x00001570
-#define  NV50TCL_TEX_CB1_ADDRESS_HIGH                                                  0x00001574
-#define  NV50TCL_TEX_CB1_ADDRESS_LOW                                                   0x00001578
+#define  NV50TCL_TIC_ADDRESS_HIGH                                                      0x00001574
+#define  NV50TCL_TIC_ADDRESS_LOW                                                       0x00001578
 #define  NV50TCL_STENCIL_FRONT_ENABLE                                                  0x00001594
 #define  NV50TCL_STENCIL_FRONT_OP_FAIL                                                 0x00001598
 #define   NV50TCL_STENCIL_FRONT_OP_FAIL_ZERO                                           0x00000000