Merge remote branch 'origin/master' into nv50-compiler
[mesa.git] / src / gallium / drivers / nouveau / nouveau_class.h
index adfdd37b1b64a6eaf2ea0cced614f52605079e67..d9f35b4c4b9683813c5e228d02bae4702f786d7d 100644 (file)
@@ -735,6 +735,45 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH                                  0x0000023c
 
 
+#define NVC0_MEMORY_TO_MEMORY_FORMAT                                                   0x00009039
+
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_NOP                                              0x00000100
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_SERIALIZE                                                0x00000110
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_IN                                   0x00000204
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_IN                                  0x00000208
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_IN                                 0x0000020c
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_IN                                  0x00000210
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Z                             0x00000214
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_OUT                                  0x00000220
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_OUT                                 0x00000224
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_OUT                                        0x00000228
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_OUT                                 0x0000022c
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Z                            0x00000230
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH                                  0x00000238
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_LOW                                   0x0000023c
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC                                             0x00000300
+#define   NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_PUSH                                       (1 <<  0)
+#define   NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_LINEAR_IN                                  (1 <<  4)
+#define   NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_LINEAR_OUT                                 (1 <<  8)
+#define   NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_NOTIFY                                     (1 << 13)
+#define   NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_INC_SHIFT                                  20
+#define   NVC0_MEMORY_TO_MEMORY_FORMAT_EXEC_INC_MASK                                   0x00f00000
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_DATA                                             0x00000304
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_HIGH                                   0x0000030c
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_LOW                                    0x00000310
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_PITCH_IN                                         0x00000314
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT                                                0x00000318
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN                                   0x0000031c
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT                                       0x00000320
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_NOTIFY_ADDRESS_HIGH                              0x0000032c
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_NOTIFY_ADDRESS_LOW                               0x00000330
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_NOTIFY                                           0x00000334
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X                             0x00000344
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y                             0x00000348
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X                            0x0000034c
+#define  NVC0_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y                            0x00000350
+
+
 #define NV01_MEMORY_LOCAL_BANKED                                                       0x0000003d
 
 
@@ -4507,6 +4546,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV20TCL_VTXFMT_TYPE_SHIFT                                                    0
 #define   NV20TCL_VTXFMT_TYPE_MASK                                                     0x0000000f
 #define    NV20TCL_VTXFMT_TYPE_FLOAT                                                   0x00000002
+#define    NV20TCL_VTXFMT_TYPE_HALF                                                    0x00000003
 #define    NV20TCL_VTXFMT_TYPE_UBYTE                                                   0x00000004
 #define    NV20TCL_VTXFMT_TYPE_USHORT                                                  0x00000005
 #define   NV20TCL_VTXFMT_SIZE_SHIFT                                                    4
@@ -6149,6 +6189,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV34TCL_FP_REG_CONTROL_UNK1_MASK                                             0xffff0000
 #define   NV34TCL_FP_REG_CONTROL_UNK0_SHIFT                                            0
 #define   NV34TCL_FP_REG_CONTROL_UNK0_MASK                                             0x0000ffff
+#define  NV34TCL_FLATSHADE_FIRST                                                       0x00001454
+#define  NV34TCL_EDGEFLAG_ENABLE                                                       0x0000145c
 #define  NV34TCL_VP_CLIP_PLANES_ENABLE                                                 0x00001478
 #define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE0                                         (1 <<  1)
 #define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE1                                         (1 <<  5)
@@ -6182,10 +6224,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #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_HALF                                                    0x00000003
-#define    NV34TCL_VTXFMT_TYPE_UBYTE                                                   0x00000004
-#define    NV34TCL_VTXFMT_TYPE_USHORT                                                  0x00000005
+#define    NV34TCL_VTXFMT_TYPE_16_SNORM                                                        0x00000001
+#define    NV34TCL_VTXFMT_TYPE_32_FLOAT                                                        0x00000002
+#define    NV34TCL_VTXFMT_TYPE_16_FLOAT                                                        0x00000003
+#define    NV34TCL_VTXFMT_TYPE_8_UNORM                                                 0x00000004
+#define    NV34TCL_VTXFMT_TYPE_16_SSCALED                                                      0x00000005
+#define    NV34TCL_VTXFMT_TYPE_11_11_10_SNORM                                                  0x00000006
+#define    NV34TCL_VTXFMT_TYPE_8_USCALED                                                       0x00000007
 #define   NV34TCL_VTXFMT_SIZE_SHIFT                                                    4
 #define   NV34TCL_VTXFMT_SIZE_MASK                                                     0x000000f0
 #define   NV34TCL_VTXFMT_STRIDE_SHIFT                                                  8
@@ -6328,6 +6373,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define    NV34TCL_TX_FORMAT_FORMAT_R8G8B8_RECT                                                0x00001e00
 #define    NV34TCL_TX_FORMAT_FORMAT_A8L8_RECT                                          0x00002000
 #define    NV34TCL_TX_FORMAT_FORMAT_DSDT8                                              0x00002800
+#define    NV34TCL_TX_FORMAT_FORMAT_Z24                                                        0x2a00
+#define    NV34TCL_TX_FORMAT_FORMAT_Z24_RECT                                           0x2b00 /* XXX: guess! */
+#define    NV34TCL_TX_FORMAT_FORMAT_Z16                                                        0x2c00
+#define    NV34TCL_TX_FORMAT_FORMAT_Z16_RECT                                           0x2d00 /* XXX: guess! */
 #define    NV34TCL_TX_FORMAT_FORMAT_HILO16                                             0x00003300
 #define    NV34TCL_TX_FORMAT_FORMAT_HILO16_RECT                                                0x00003600
 #define    NV34TCL_TX_FORMAT_FORMAT_HILO8                                              0x00004400
@@ -6990,6 +7039,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV40TCL_VTXFMT_TYPE_SHIFT                                                    0
 #define   NV40TCL_VTXFMT_TYPE_MASK                                                     0x0000000f
 #define    NV40TCL_VTXFMT_TYPE_FLOAT                                                   0x00000002
+#define    NV40TCL_VTXFMT_TYPE_HALF                                                    0x00000003
 #define    NV40TCL_VTXFMT_TYPE_UBYTE                                                   0x00000004
 #define    NV40TCL_VTXFMT_TYPE_USHORT                                                  0x00000005
 #define   NV40TCL_VTXFMT_SIZE_SHIFT                                                    4
@@ -7699,7 +7749,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV50TCL_DMA_TIC                                                               0x000001a0
 #define  NV50TCL_DMA_TEXTURE                                                           0x000001a4
 #define  NV50TCL_DMA_STRMOUT                                                           0x000001a8
-#define  NV50TCL_DMA_UNK01AC                                                           0x000001ac
+#define  NV50TCL_DMA_CLIPID                                                            0x000001ac
 #define  NV50TCL_DMA_COLOR(x)                                                          (0x000001c0+((x)*4))
 #define  NV50TCL_DMA_COLOR__SIZE                                                       0x00000008
 #define  NV50TCL_RT_ADDRESS_HIGH(x)                                                    (0x00000200+((x)*32))
@@ -7916,8 +7966,20 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV50TCL_DEPTH_RANGE_FAR__SIZE                                                 0x00000010
 #define  NV50TCL_VIEWPORT_CLIP_HORIZ(x)                                                        (0x00000d00+((x)*8))
 #define  NV50TCL_VIEWPORT_CLIP_HORIZ__SIZE                                             0x00000008
+#define   NV50TCL_VIEWPORT_CLIP_HORIZ_MIN_SHIFT                                                0
+#define   NV50TCL_VIEWPORT_CLIP_HORIZ_MIN_MASK                                         0x0000ffff
+#define   NV50TCL_VIEWPORT_CLIP_HORIZ_MAX_SHIFT                                                16
+#define   NV50TCL_VIEWPORT_CLIP_HORIZ_MAX_MASK                                         0xffff0000
 #define  NV50TCL_VIEWPORT_CLIP_VERT(x)                                                 (0x00000d04+((x)*8))
 #define  NV50TCL_VIEWPORT_CLIP_VERT__SIZE                                              0x00000008
+#define   NV50TCL_VIEWPORT_CLIP_VERT_MIN_SHIFT                                         0
+#define   NV50TCL_VIEWPORT_CLIP_VERT_MIN_MASK                                          0x0000ffff
+#define   NV50TCL_VIEWPORT_CLIP_VERT_MAX_SHIFT                                         16
+#define   NV50TCL_VIEWPORT_CLIP_VERT_MAX_MASK                                          0xffff0000
+#define  NV50TCL_CLIPID_REGION_HORIZ(x)                                                        (0x00000d40+((x)*8))
+#define  NV50TCL_CLIPID_REGION_HORIZ__SIZE                                             0x00000004
+#define  NV50TCL_CLIPID_REGION_VERT(x)                                                 (0x00000d44+((x)*8))
+#define  NV50TCL_CLIPID_REGION_VERT__SIZE                                              0x00000004
 #define  NV50TCL_VERTEX_BUFFER_FIRST                                                   0x00000d74
 #define  NV50TCL_VERTEX_BUFFER_COUNT                                                   0x00000d78
 #define  NV50TCL_CLEAR_COLOR(x)                                                                (0x00000d80+((x)*4))
@@ -7975,14 +8037,16 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV50TCL_GP_ADDRESS_LOW                                                                0x00000f74
 #define  NV50TCL_VP_ADDRESS_HIGH                                                       0x00000f7c
 #define  NV50TCL_VP_ADDRESS_LOW                                                                0x00000f80
-#define  NV50TCL_UNK0F84_ADDRESS_HIGH                                                  0x00000f84
-#define  NV50TCL_UNK0F84_ADDRESS_LOW                                                   0x00000f88
+#define  NV50TCL_VERTEX_RUNOUT_HIGH                                                    0x00000f84
+#define  NV50TCL_VERTEX_RUNOUT_LOW                                                     0x00000f88
 #define  NV50TCL_DEPTH_BOUNDS(x)                                                       (0x00000f9c+((x)*4))
 #define  NV50TCL_DEPTH_BOUNDS__SIZE                                                    0x00000002
 #define  NV50TCL_FP_ADDRESS_HIGH                                                       0x00000fa4
 #define  NV50TCL_FP_ADDRESS_LOW                                                                0x00000fa8
 #define  NV50TCL_MSAA_MASK(x)                                                          (0x00000fbc+((x)*4))
 #define  NV50TCL_MSAA_MASK__SIZE                                                       0x00000004
+#define  NV50TCL_CLIPID_ADDRESS_HIGH                                                   0x00000fcc
+#define  NV50TCL_CLIPID_ADDRESS_LOW                                                    0x00000fd0
 #define  NV50TCL_ZETA_ADDRESS_HIGH                                                     0x00000fe0
 #define  NV50TCL_ZETA_ADDRESS_LOW                                                      0x00000fe4
 #define  NV50TCL_ZETA_FORMAT                                                           0x00000fe8
@@ -8112,37 +8176,45 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV50TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT                                     0x0000800a
 #define   NV50TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT                             0x0000800b
 #define  NV50TCL_BLEND_FUNC_SRC_RGB                                                    0x00001344
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_ZERO                                              0x00000000
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE                                               0x00000001
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR                                         0x00000300
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR                               0x00000301
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA                                         0x00000302
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA                               0x00000303
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA                                         0x00000304
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA                               0x00000305
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_DST_COLOR                                         0x00000306
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR                               0x00000307
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE                                        0x00000308
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR                                    0x00008001
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR                          0x00008002
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA                                    0x00008003
-#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA                          0x00008004
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_ZERO                                              0x00004000
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE                                               0x00004001
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR                                         0x00004300
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR                               0x00004301
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA                                         0x00004302
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA                               0x00004303
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA                                         0x00004304
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA                               0x00004305
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_DST_COLOR                                         0x00004306
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR                               0x00004307
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE                                        0x00004308
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR                                    0x0000c001
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR                          0x0000c002
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA                                    0x0000c003
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA                          0x0000c004
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_SRC1_COLOR                                                0x0000c900
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC1_COLOR                              0x0000c901
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_SRC1_ALPHA                                                0x0000c902
+#define   NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC1_ALPHA                              0x0000c903
 #define  NV50TCL_BLEND_FUNC_DST_RGB                                                    0x00001348
-#define   NV50TCL_BLEND_FUNC_DST_RGB_ZERO                                              0x00000000
-#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE                                               0x00000001
-#define   NV50TCL_BLEND_FUNC_DST_RGB_SRC_COLOR                                         0x00000300
-#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR                               0x00000301
-#define   NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA                                         0x00000302
-#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA                               0x00000303
-#define   NV50TCL_BLEND_FUNC_DST_RGB_DST_ALPHA                                         0x00000304
-#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA                               0x00000305
-#define   NV50TCL_BLEND_FUNC_DST_RGB_DST_COLOR                                         0x00000306
-#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR                               0x00000307
-#define   NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE                                        0x00000308
-#define   NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR                                    0x00008001
-#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR                          0x00008002
-#define   NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA                                    0x00008003
-#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA                          0x00008004
+#define   NV50TCL_BLEND_FUNC_DST_RGB_ZERO                                              0x00004000
+#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE                                               0x00004001
+#define   NV50TCL_BLEND_FUNC_DST_RGB_SRC_COLOR                                         0x00004300
+#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR                               0x00004301
+#define   NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA                                         0x00004302
+#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA                               0x00004303
+#define   NV50TCL_BLEND_FUNC_DST_RGB_DST_ALPHA                                         0x00004304
+#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA                               0x00004305
+#define   NV50TCL_BLEND_FUNC_DST_RGB_DST_COLOR                                         0x00004306
+#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR                               0x00004307
+#define   NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE                                        0x00004308
+#define   NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR                                    0x0000c001
+#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR                          0x0000c002
+#define   NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA                                    0x0000c003
+#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA                          0x0000c004
+#define   NV50TCL_BLEND_FUNC_DST_RGB_SRC1_COLOR                                                0x0000c900
+#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC1_COLOR                              0x0000c901
+#define   NV50TCL_BLEND_FUNC_DST_RGB_SRC1_ALPHA                                                0x0000c902
+#define   NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC1_ALPHA                              0x0000c903
 #define  NV50TCL_BLEND_EQUATION_ALPHA                                                  0x0000134c
 #define   NV50TCL_BLEND_EQUATION_ALPHA_FUNC_ADD                                                0x00008006
 #define   NV50TCL_BLEND_EQUATION_ALPHA_MIN                                             0x00008007
@@ -8150,37 +8222,45 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV50TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT                                   0x0000800a
 #define   NV50TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT                           0x0000800b
 #define  NV50TCL_BLEND_FUNC_SRC_ALPHA                                                  0x00001350
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ZERO                                            0x00000000
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE                                             0x00000001
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                                       0x00000300
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR                             0x00000301
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                                       0x00000302
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA                             0x00000303
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                                       0x00000304
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA                             0x00000305
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR                                       0x00000306
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR                             0x00000307
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                              0x00000308
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR                                  0x00008001
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR                                0x00008002
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA                                  0x00008003
-#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA                                0x00008004
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ZERO                                            0x00004000
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE                                             0x00004001
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                                       0x00004300
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR                             0x00004301
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                                       0x00004302
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA                             0x00004303
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                                       0x00004304
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA                             0x00004305
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR                                       0x00004306
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR                             0x00004307
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                              0x00004308
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR                                  0x0000c001
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR                                0x0000c002
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA                                  0x0000c003
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA                                0x0000c004
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC1_COLOR                                      0x0000c900
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC1_COLOR                            0x0000c901
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC1_ALPHA                                      0x0000c902
+#define   NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC1_ALPHA                            0x0000c903
 #define  NV50TCL_BLEND_FUNC_DST_ALPHA                                                  0x00001358
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ZERO                                            0x00000000
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE                                             0x00000001
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR                                       0x00000300
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR                             0x00000301
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                                       0x00000302
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA                             0x00000303
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA                                       0x00000304
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA                             0x00000305
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR                                       0x00000306
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR                             0x00000307
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                              0x00000308
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR                                  0x00008001
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR                                0x00008002
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                                  0x00008003
-#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA                                0x00008004
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ZERO                                            0x00004000
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE                                             0x00004001
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR                                       0x00004300
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR                             0x00004301
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                                       0x00004302
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA                             0x00004303
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA                                       0x00004304
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA                             0x00004305
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR                                       0x00004306
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR                             0x00004307
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                              0x00004308
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR                                  0x0000c001
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR                                0x0000c002
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                                  0x0000c003
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA                                0x0000c004
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_SRC1_COLOR                                      0x0000c900
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC1_COLOR                            0x0000c901
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_SRC1_ALPHA                                      0x0000c902
+#define   NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC1_ALPHA                            0x0000c903
 #define  NV50TCL_BLEND_ENABLE(x)                                                       (0x00001360+((x)*4))
 #define  NV50TCL_BLEND_ENABLE__SIZE                                                    0x00000008
 #define  NV50TCL_STENCIL_FRONT_ENABLE                                                  0x00001380
@@ -8239,6 +8319,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV50TCL_FP_START_ID                                                           0x00001414
 #define  NV50TCL_GP_VERTEX_OUTPUT_COUNT                                                        0x00001420
 #define  NV50TCL_VB_ELEMENT_BASE                                                       0x00001434
+#define  NV50TCL_INSTANCE_BASE                                                         0x00001438
 #define  NV50TCL_CODE_CB_FLUSH                                                         0x00001440
 #define  NV50TCL_BIND_TSC(x)                                                           (0x00001444+((x)*8))
 #define  NV50TCL_BIND_TSC__SIZE                                                                0x00000003
@@ -8256,6 +8337,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV50TCL_BIND_TIC_TIC_MASK                                                    0x7ffffe00
 #define  NV50TCL_STRMOUT_MAP(x)                                                                (0x00001480+((x)*4))
 #define  NV50TCL_STRMOUT_MAP__SIZE                                                     0x00000020
+#define  NV50TCL_CLIPID_HEIGHT                                                         0x00001504
 #define  NV50TCL_VP_CLIP_DISTANCE_ENABLE                                               0x00001510
 #define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_0                                            (1 <<  0)
 #define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_1                                            (1 <<  1)
@@ -8340,7 +8422,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV50TCL_GP_BUILTIN_RESULT_EN                                                  0x000015cc
 #define   NV50TCL_GP_BUILTIN_RESULT_EN_VPORT_IDX                                       (1 <<  0)
 #define   NV50TCL_GP_BUILTIN_RESULT_EN_LAYER_IDX                                       (1 << 16)
-#define  NV50TCL_MULTISAMPLE_SAMPLES_LOG2                                              0x000015d0
+#define  NV50TCL_MULTISAMPLE_MODE                                                      0x000015d0
+#define   NV50TCL_MULTISAMPLE_MODE_1X                                                  0x00000000
+#define   NV50TCL_MULTISAMPLE_MODE_2XMS                                                        0x00000001
+#define   NV50TCL_MULTISAMPLE_MODE_4XMS                                                        0x00000002
+#define   NV50TCL_MULTISAMPLE_MODE_8XMS                                                        0x00000004
+#define   NV50TCL_MULTISAMPLE_MODE_4XMS_4XCS                                           0x00000008
+#define   NV50TCL_MULTISAMPLE_MODE_4XMS_12XCS                                          0x00000009
+#define   NV50TCL_MULTISAMPLE_MODE_8XMS_8XCS                                           0x0000000a
 #define  NV50TCL_VERTEX_BEGIN                                                          0x000015dc
 #define   NV50TCL_VERTEX_BEGIN_POINTS                                                  0x00000000
 #define   NV50TCL_VERTEX_BEGIN_LINES                                                   0x00000001
@@ -8356,6 +8445,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV50TCL_VERTEX_BEGIN_LINE_STRIP_ADJACENCY                                    0x0000000b
 #define   NV50TCL_VERTEX_BEGIN_TRIANGLES_ADJACENCY                                     0x0000000c
 #define   NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP_ADJACENCY                                        0x0000000d
+#define   NV50TCL_VERTEX_BEGIN_PATCHES                                                 0x0000000e
 #define  NV50TCL_VERTEX_END                                                            0x000015e0
 #define  NV50TCL_EDGEFLAG_ENABLE                                                       0x000015e4
 #define  NV50TCL_VB_ELEMENT_U32                                                                0x000015e8
@@ -8369,6 +8459,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define   NV50TCL_VB_ELEMENT_U16_I0_MASK                                               0x0000ffff
 #define   NV50TCL_VB_ELEMENT_U16_I1_SHIFT                                              16
 #define   NV50TCL_VB_ELEMENT_U16_I1_MASK                                               0xffff0000
+#define  NV50TCL_VERTEX_BASE_HIGH                                                      0x000015f4
+#define  NV50TCL_VERTEX_BASE_LOW                                                       0x000015f8
 #define  NV50TCL_VERTEX_DATA                                                           0x00001640
 #define  NV50TCL_PRIM_RESTART_ENABLE                                                   0x00001644
 #define  NV50TCL_PRIM_RESTART_INDEX                                                    0x00001648
@@ -8754,7 +8846,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV50TCL_VIEWPORT_TRANSFORM_EN                                                 0x0000192c
 #define  NV50TCL_VIEW_VOLUME_CLIP_CTRL                                                 0x0000193c
 #define  NV50TCL_VIEWPORT_CLIP_RECTS_EN                                                        0x0000194c
+#define  NV50TCL_VIEWPORT_CLIP_MODE                                                    0x00001950
+#define   NV50TCL_VIEWPORT_CLIP_MODE_INCLUDE                                           0x00000000
+#define   NV50TCL_VIEWPORT_CLIP_MODE_EXCLUDE                                           0x00000001
+#define   NV50TCL_VIEWPORT_CLIP_MODE_UNKNOWN                                           0x00000002
 #define  NV50TCL_FP_CTRL_UNK196C                                                       0x0000196c
+#define  NV50TCL_CLIPID_ENABLE                                                         0x0000197c
+#define  NV50TCL_CLIPID_WIDTH                                                          0x00001980
+#define  NV50TCL_CLIPID_ID                                                             0x00001984
 #define  NV50TCL_FP_INTERPOLANT_CTRL                                                   0x00001988
 #define   NV50TCL_FP_INTERPOLANT_CTRL_UMASK_SHIFT                                      24
 #define   NV50TCL_FP_INTERPOLANT_CTRL_UMASK_MASK                                       0xff000000
@@ -8855,19 +8954,20 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8_8                                      0x00c00000
 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16                                       0x00d80000
 #define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8                                                0x00e80000
+#define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_2_10_10_10                               0x01800000
 #define   NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SHIFT                                       25
-#define   NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_MASK                                                0x7e000000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_FLOAT                                      0x7e000000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UNORM                                      0x24000000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SNORM                                      0x12000000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_USCALED                                    0x5a000000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SSCALED                                    0x6c000000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UINT                                       0x48000000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SINT                                       0x36000000
+#define   NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_MASK                                                0x0e000000
+#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_FLOAT                                      0x0e000000
+#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SNORM                                      0x02000000
+#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UNORM                                      0x04000000
+#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_USCALED                                    0x0a000000
+#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SSCALED                                    0x0c000000
+#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UINT                                       0x08000000
+#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SINT                                       0x06000000
 #define   NV50TCL_VERTEX_ARRAY_ATTRIB_BGRA                                             (1 << 31)
 #define  NV50TCL_QUERY_ADDRESS_HIGH                                                    0x00001b00
 #define  NV50TCL_QUERY_ADDRESS_LOW                                                     0x00001b04
-#define  NV50TCL_QUERY_COUNTER                                                         0x00001b08
+#define  NV50TCL_QUERY_SEQUENCE                                                                0x00001b08
 #define  NV50TCL_QUERY_GET                                                             0x00001b0c
 
 
@@ -9022,4 +9122,938 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define  NV50_COMPUTE_USER_PARAM__SIZE                                                 0x00000040
 
 
+#define NVC0TCL                                                                                0x00009097
+
+#define  NVC0TCL_SEMAPHORE_ADDRESS_HIGH                                                        0x00000010
+#define  NVC0TCL_SEMAPHORE_ADDRESS_LOW                                                 0x00000014
+#define  NVC0TCL_NOP                                                                   0x00000100
+#define  NVC0TCL_NOTIFY_ADDRESS_HIGH                                                   0x00000104
+#define  NVC0TCL_NOTIFY_ADDRESS_LOW                                                    0x00000108
+#define  NVC0TCL_NOTIFY                                                                        0x0000010c
+#define  NVC0TCL_SERIALIZE                                                             0x00000110
+#define  NVC0TCL_EARLY_FRAGMENT_TESTS                                                  0x00000210
+#define  NVC0TCL_TESS_MODE                                                             0x00000320
+#define   NVC0TCL_TESS_MODE_PRIM_SHIFT                                                 0
+#define   NVC0TCL_TESS_MODE_PRIM_MASK                                                  0x0000000f
+#define    NVC0TCL_TESS_MODE_PRIM_ISOLINES                                             0x00000000
+#define    NVC0TCL_TESS_MODE_PRIM_TRIANGLES                                            0x00000001
+#define    NVC0TCL_TESS_MODE_PRIM_QUADS                                                        0x00000002
+#define   NVC0TCL_TESS_MODE_SPACING_SHIFT                                              4
+#define   NVC0TCL_TESS_MODE_SPACING_MASK                                               0x000000f0
+#define    NVC0TCL_TESS_MODE_SPACING_EQUAL                                             0x00000000
+#define    NVC0TCL_TESS_MODE_SPACING_FRACTIONAL_ODD                                    0x00000010
+#define    NVC0TCL_TESS_MODE_SPACING_FRACTIONAL_EVEN                                   0x00000020
+#define   NVC0TCL_TESS_MODE_CW                                                         (1 <<  8)
+#define   NVC0TCL_TESS_MODE_CONNECTED                                                  (1 <<  9)
+#define  NVC0TCL_TESS_LEVEL_OUTER(x)                                                   (0x00000324+((x)*4))
+#define  NVC0TCL_TESS_LEVEL_OUTER__SIZE                                                        0x00000004
+#define  NVC0TCL_TESS_LEVEL_INNER(x)                                                   (0x00000334+((x)*4))
+#define  NVC0TCL_TESS_LEVEL_INNER__SIZE                                                        0x00000002
+#define  NVC0TCL_RASTERIZE_ENABLE                                                      0x0000037c
+#define  NVC0TCL_TFB_BUFFER_ENABLE(x)                                                  (0x00000380+((x)*32))
+#define  NVC0TCL_TFB_BUFFER_ENABLE__SIZE                                               0x00000004
+#define  NVC0TCL_TFB_ADDRESS_HIGH(x)                                                   (0x00000384+((x)*32))
+#define  NVC0TCL_TFB_ADDRESS_HIGH__SIZE                                                        0x00000004
+#define  NVC0TCL_TFB_ADDRESS_LOW(x)                                                    (0x00000388+((x)*32))
+#define  NVC0TCL_TFB_ADDRESS_LOW__SIZE                                                 0x00000004
+#define  NVC0TCL_TFB_BUFFER_SIZE(x)                                                    (0x0000038c+((x)*32))
+#define  NVC0TCL_TFB_BUFFER_SIZE__SIZE                                                 0x00000004
+#define  NVC0TCL_TFB_PRIMITIVE_ID(x)                                                   (0x00000390+((x)*32))
+#define  NVC0TCL_TFB_PRIMITIVE_ID__SIZE                                                        0x00000004
+#define  NVC0TCL_TFB_UNK0700(x)                                                                (0x00000700+((x)*16))
+#define  NVC0TCL_TFB_UNK0700__SIZE                                                     0x00000004
+#define  NVC0TCL_TFB_VARYING_COUNT(x)                                                  (0x00000704+((x)*16))
+#define  NVC0TCL_TFB_VARYING_COUNT__SIZE                                               0x00000004
+#define  NVC0TCL_TFB_BUFFER_STRIDE(x)                                                  (0x00000708+((x)*16))
+#define  NVC0TCL_TFB_BUFFER_STRIDE__SIZE                                               0x00000004
+#define  NVC0TCL_TFB_ENABLE                                                            0x00000744
+#define  NVC0TCL_LOCAL_BASE                                                            0x0000077c
+#define  NVC0TCL_UNK0790_ADDRESS_HIGH                                                  0x00000790
+#define  NVC0TCL_UNK0790_ADDRESS_LOW                                                   0x00000794
+#define  NVC0TCL_RT_ADDRESS_HIGH(x)                                                    (0x00000800+((x)*32))
+#define  NVC0TCL_RT_ADDRESS_HIGH__SIZE                                                 0x00000008
+#define  NVC0TCL_RT_ADDRESS_LOW(x)                                                     (0x00000804+((x)*32))
+#define  NVC0TCL_RT_ADDRESS_LOW__SIZE                                                  0x00000008
+#define  NVC0TCL_RT_HORIZ(x)                                                           (0x00000808+((x)*32))
+#define  NVC0TCL_RT_HORIZ__SIZE                                                                0x00000008
+#define  NVC0TCL_RT_VERT(x)                                                            (0x0000080c+((x)*32))
+#define  NVC0TCL_RT_VERT__SIZE                                                         0x00000008
+#define  NVC0TCL_RT_FORMAT(x)                                                          (0x00000810+((x)*32))
+#define  NVC0TCL_RT_FORMAT__SIZE                                                       0x00000008
+#define   NVC0TCL_RT_FORMAT_R32G32B32A32_FLOAT                                         0x000000c0
+#define   NVC0TCL_RT_FORMAT_R32G32B32A32_SINT                                          0x000000c1
+#define   NVC0TCL_RT_FORMAT_R32G32B32A32_UINT                                          0x000000c2
+#define   NVC0TCL_RT_FORMAT_R32G32B32X32_FLOAT                                         0x000000c3
+#define   NVC0TCL_RT_FORMAT_R16G16B16A16_UNORM                                         0x000000c6
+#define   NVC0TCL_RT_FORMAT_R16G16B16A16_SNORM                                         0x000000c7
+#define   NVC0TCL_RT_FORMAT_R16G16B16A16_SINT                                          0x000000c8
+#define   NVC0TCL_RT_FORMAT_R16G16B16A16_UINT                                          0x000000c9
+#define   NVC0TCL_RT_FORMAT_R16G16B16A16_FLOAT                                         0x000000ca
+#define   NVC0TCL_RT_FORMAT_R32G32_FLOAT                                               0x000000cb
+#define   NVC0TCL_RT_FORMAT_R32G32_SINT                                                        0x000000cc
+#define   NVC0TCL_RT_FORMAT_R32G32_UINT                                                        0x000000cd
+#define   NVC0TCL_RT_FORMAT_R16G16B16X16_FLOAT                                         0x000000ce
+#define   NVC0TCL_RT_FORMAT_A8R8G8B8_UNORM                                             0x000000cf
+#define   NVC0TCL_RT_FORMAT_A8R8G8B8_SRGB                                              0x000000d0
+#define   NVC0TCL_RT_FORMAT_A2B10G10R10_UNORM                                          0x000000d1
+#define   NVC0TCL_RT_FORMAT_A2B10G10R10_UINT                                           0x000000d2
+#define   NVC0TCL_RT_FORMAT_A8B8G8R8_UNORM                                             0x000000d5
+#define   NVC0TCL_RT_FORMAT_A8B8G8R8_SRGB                                              0x000000d6
+#define   NVC0TCL_RT_FORMAT_A8B8G8R8_SNORM                                             0x000000d7
+#define   NVC0TCL_RT_FORMAT_A8B8G8R8_SINT                                              0x000000d8
+#define   NVC0TCL_RT_FORMAT_A8B8G8R8_UINT                                              0x000000d9
+#define   NVC0TCL_RT_FORMAT_R16G16_UNORM                                               0x000000da
+#define   NVC0TCL_RT_FORMAT_R16G16_SNORM                                               0x000000db
+#define   NVC0TCL_RT_FORMAT_R16G16_SINT                                                        0x000000dc
+#define   NVC0TCL_RT_FORMAT_R16G16_UINT                                                        0x000000dd
+#define   NVC0TCL_RT_FORMAT_R16G16_FLOAT                                               0x000000de
+#define   NVC0TCL_RT_FORMAT_A2R10G10B10_UNORM                                          0x000000df
+#define   NVC0TCL_RT_FORMAT_B10G11R11_FLOAT                                            0x000000e0
+#define   NVC0TCL_RT_FORMAT_R32_FLOAT                                                  0x000000e5
+#define   NVC0TCL_RT_FORMAT_X8R8G8B8_UNORM                                             0x000000e6
+#define   NVC0TCL_RT_FORMAT_X8R8G8B8_SRGB                                              0x000000e7
+#define   NVC0TCL_RT_FORMAT_R5G6B5_UNORM                                               0x000000e8
+#define   NVC0TCL_RT_FORMAT_A1R5G5B5_UNORM                                             0x000000e9
+#define   NVC0TCL_RT_FORMAT_R8G8_UNORM                                                 0x000000ea
+#define   NVC0TCL_RT_FORMAT_R8G8_SNORM                                                 0x000000eb
+#define   NVC0TCL_RT_FORMAT_R8G8_SINT                                                  0x000000ec
+#define   NVC0TCL_RT_FORMAT_R8G8_UINT                                                  0x000000ed
+#define   NVC0TCL_RT_FORMAT_R16_UNORM                                                  0x000000ee
+#define   NVC0TCL_RT_FORMAT_R16_SNORM                                                  0x000000ef
+#define   NVC0TCL_RT_FORMAT_R16_SINT                                                   0x000000f0
+#define   NVC0TCL_RT_FORMAT_R16_UINT                                                   0x000000f1
+#define   NVC0TCL_RT_FORMAT_R16_FLOAT                                                  0x000000f2
+#define   NVC0TCL_RT_FORMAT_R8_UNORM                                                   0x000000f3
+#define   NVC0TCL_RT_FORMAT_R8_SNORM                                                   0x000000f4
+#define   NVC0TCL_RT_FORMAT_R8_SINT                                                    0x000000f5
+#define   NVC0TCL_RT_FORMAT_R8_UINT                                                    0x000000f6
+#define   NVC0TCL_RT_FORMAT_A8_UNORM                                                   0x000000f7
+#define   NVC0TCL_RT_FORMAT_X1R5G5B5_UNORM                                             0x000000f8
+#define   NVC0TCL_RT_FORMAT_X8B8G8R8_UNORM                                             0x000000f9
+#define   NVC0TCL_RT_FORMAT_X8B8G8R8_SRGB                                              0x000000fa
+#define  NVC0TCL_RT_TILE_MODE(x)                                                       (0x00000814+((x)*32))
+#define  NVC0TCL_RT_TILE_MODE__SIZE                                                    0x00000008
+#define  NVC0TCL_RT_ARRAY_MODE(x)                                                      (0x00000818+((x)*32))
+#define  NVC0TCL_RT_ARRAY_MODE__SIZE                                                   0x00000008
+#define   NVC0TCL_RT_ARRAY_MODE_LAYERS_SHIFT                                           0
+#define   NVC0TCL_RT_ARRAY_MODE_LAYERS_MASK                                            0x0000ffff
+#define   NVC0TCL_RT_ARRAY_MODE_VOLUME                                                 (1 << 16)
+#define  NVC0TCL_RT_LAYER_STRIDE(x)                                                    (0x0000081c+((x)*32))
+#define  NVC0TCL_RT_LAYER_STRIDE__SIZE                                                 0x00000008
+#define  NVC0TCL_VIEWPORT_SCALE_X(x)                                                   (0x00000a00+((x)*32))
+#define  NVC0TCL_VIEWPORT_SCALE_X__SIZE                                                        0x00000010
+#define  NVC0TCL_VIEWPORT_SCALE_Y(x)                                                   (0x00000a04+((x)*32))
+#define  NVC0TCL_VIEWPORT_SCALE_Y__SIZE                                                        0x00000010
+#define  NVC0TCL_VIEWPORT_SCALE_Z(x)                                                   (0x00000a08+((x)*32))
+#define  NVC0TCL_VIEWPORT_SCALE_Z__SIZE                                                        0x00000010
+#define  NVC0TCL_VIEWPORT_TRANSLATE_X(x)                                               (0x00000a0c+((x)*32))
+#define  NVC0TCL_VIEWPORT_TRANSLATE_X__SIZE                                            0x00000010
+#define  NVC0TCL_VIEWPORT_TRANSLATE_Y(x)                                               (0x00000a10+((x)*32))
+#define  NVC0TCL_VIEWPORT_TRANSLATE_Y__SIZE                                            0x00000010
+#define  NVC0TCL_VIEWPORT_TRANSLATE_Z(x)                                               (0x00000a14+((x)*32))
+#define  NVC0TCL_VIEWPORT_TRANSLATE_Z__SIZE                                            0x00000010
+#define  NVC0TCL_VIEWPORT_HORIZ(x)                                                     (0x00000c00+((x)*16))
+#define  NVC0TCL_VIEWPORT_HORIZ__SIZE                                                  0x00000010
+#define   NVC0TCL_VIEWPORT_HORIZ_X_SHIFT                                               0
+#define   NVC0TCL_VIEWPORT_HORIZ_X_MASK                                                        0x0000ffff
+#define   NVC0TCL_VIEWPORT_HORIZ_W_SHIFT                                               16
+#define   NVC0TCL_VIEWPORT_HORIZ_W_MASK                                                        0xffff0000
+#define  NVC0TCL_VIEWPORT_VERT(x)                                                      (0x00000c04+((x)*16))
+#define  NVC0TCL_VIEWPORT_VERT__SIZE                                                   0x00000010
+#define   NVC0TCL_VIEWPORT_VERT_Y_SHIFT                                                        0
+#define   NVC0TCL_VIEWPORT_VERT_Y_MASK                                                 0x0000ffff
+#define   NVC0TCL_VIEWPORT_VERT_H_SHIFT                                                        16
+#define   NVC0TCL_VIEWPORT_VERT_H_MASK                                                 0xffff0000
+#define  NVC0TCL_DEPTH_RANGE_NEAR(x)                                                   (0x00000c08+((x)*16))
+#define  NVC0TCL_DEPTH_RANGE_NEAR__SIZE                                                        0x00000010
+#define  NVC0TCL_DEPTH_RANGE_FAR(x)                                                    (0x00000c0c+((x)*16))
+#define  NVC0TCL_DEPTH_RANGE_FAR__SIZE                                                 0x00000010
+#define  NVC0TCL_VIEWPORT_CLIP_HORIZ(x)                                                        (0x00000d00+((x)*8))
+#define  NVC0TCL_VIEWPORT_CLIP_HORIZ__SIZE                                             0x00000008
+#define   NVC0TCL_VIEWPORT_CLIP_HORIZ_MIN_SHIFT                                                0
+#define   NVC0TCL_VIEWPORT_CLIP_HORIZ_MIN_MASK                                         0x0000ffff
+#define   NVC0TCL_VIEWPORT_CLIP_HORIZ_MAX_SHIFT                                                16
+#define   NVC0TCL_VIEWPORT_CLIP_HORIZ_MAX_MASK                                         0xffff0000
+#define  NVC0TCL_VIEWPORT_CLIP_VERT(x)                                                 (0x00000d04+((x)*8))
+#define  NVC0TCL_VIEWPORT_CLIP_VERT__SIZE                                              0x00000008
+#define   NVC0TCL_VIEWPORT_CLIP_VERT_MIN_SHIFT                                         0
+#define   NVC0TCL_VIEWPORT_CLIP_VERT_MIN_MASK                                          0x0000ffff
+#define   NVC0TCL_VIEWPORT_CLIP_VERT_MAX_SHIFT                                         16
+#define   NVC0TCL_VIEWPORT_CLIP_VERT_MAX_MASK                                          0xffff0000
+#define  NVC0TCL_CLIPID_REGION_HORIZ(x)                                                        (0x00000d40+((x)*8))
+#define  NVC0TCL_CLIPID_REGION_HORIZ__SIZE                                             0x00000004
+#define  NVC0TCL_CLIPID_REGION_VERT(x)                                                 (0x00000d44+((x)*8))
+#define  NVC0TCL_CLIPID_REGION_VERT__SIZE                                              0x00000004
+#define  NVC0TCL_VERTEX_BUFFER_FIRST                                                   0x00000d74
+#define  NVC0TCL_VERTEX_BUFFER_COUNT                                                   0x00000d78
+#define  NVC0TCL_CLEAR_COLOR(x)                                                                (0x00000d80+((x)*4))
+#define  NVC0TCL_CLEAR_COLOR__SIZE                                                     0x00000004
+#define  NVC0TCL_CLEAR_DEPTH                                                           0x00000d90
+#define  NVC0TCL_STACK_ADDRESS_HIGH                                                    0x00000d94
+#define  NVC0TCL_STACK_ADDRESS_LOW                                                     0x00000d98
+#define  NVC0TCL_STACK_SIZE_LOG                                                                0x00000d9c
+#define  NVC0TCL_CLEAR_STENCIL                                                         0x00000da0
+#define  NVC0TCL_POLYGON_SMOOTH_ENABLE                                                 0x00000db4
+#define  NVC0TCL_POLYGON_OFFSET_POINT_ENABLE                                           0x00000dc0
+#define  NVC0TCL_POLYGON_OFFSET_LINE_ENABLE                                            0x00000dc4
+#define  NVC0TCL_POLYGON_OFFSET_FILL_ENABLE                                            0x00000dc8
+#define  NVC0TCL_PATCH_VERTICES                                                                0x00000dcc
+#define  NVC0TCL_WATCHDOG_TIMER                                                                0x00000de4
+#define  NVC0TCL_WINDOW_OFFSET_X                                                       0x00000df8
+#define  NVC0TCL_WINDOW_OFFSET_Y                                                       0x00000dfc
+#define  NVC0TCL_SCISSOR_ENABLE(x)                                                     (0x00000e00+((x)*16))
+#define  NVC0TCL_SCISSOR_ENABLE__SIZE                                                  0x00000010
+#define  NVC0TCL_SCISSOR_HORIZ(x)                                                      (0x00000e04+((x)*16))
+#define  NVC0TCL_SCISSOR_HORIZ__SIZE                                                   0x00000010
+#define   NVC0TCL_SCISSOR_HORIZ_MIN_SHIFT                                              0
+#define   NVC0TCL_SCISSOR_HORIZ_MIN_MASK                                               0x0000ffff
+#define   NVC0TCL_SCISSOR_HORIZ_MAX_SHIFT                                              16
+#define   NVC0TCL_SCISSOR_HORIZ_MAX_MASK                                               0xffff0000
+#define  NVC0TCL_SCISSOR_VERT(x)                                                       (0x00000e08+((x)*16))
+#define  NVC0TCL_SCISSOR_VERT__SIZE                                                    0x00000010
+#define   NVC0TCL_SCISSOR_VERT_MIN_SHIFT                                               0
+#define   NVC0TCL_SCISSOR_VERT_MIN_MASK                                                        0x0000ffff
+#define   NVC0TCL_SCISSOR_VERT_MAX_SHIFT                                               16
+#define   NVC0TCL_SCISSOR_VERT_MAX_MASK                                                        0xffff0000
+#define  NVC0TCL_LOCAL_WARPS_LOG_ALLOC                                                 0x00000f44
+#define  NVC0TCL_LOCAL_WARPS_NO_CLAMP                                                  0x00000f48
+#define  NVC0TCL_STACK_WARPS_LOG_ALLOC                                                 0x00000f4c
+#define  NVC0TCL_STACK_WARPS_NO_CLAMP                                                  0x00000f50
+#define  NVC0TCL_STENCIL_BACK_FUNC_REF                                                 0x00000f54
+#define  NVC0TCL_STENCIL_BACK_MASK                                                     0x00000f58
+#define  NVC0TCL_STENCIL_BACK_FUNC_MASK                                                        0x00000f5c
+#define  NVC0TCL_VERTEX_RUNOUT_HIGH                                                    0x00000f84
+#define  NVC0TCL_VERTEX_RUNOUT_LOW                                                     0x00000f88
+#define  NVC0TCL_DEPTH_BOUNDS(x)                                                       (0x00000f9c+((x)*4))
+#define  NVC0TCL_DEPTH_BOUNDS__SIZE                                                    0x00000002
+#define  NVC0TCL_MSAA_MASK(x)                                                          (0x00000fbc+((x)*4))
+#define  NVC0TCL_MSAA_MASK__SIZE                                                       0x00000004
+#define  NVC0TCL_CLIPID_ADDRESS_HIGH                                                   0x00000fcc
+#define  NVC0TCL_CLIPID_ADDRESS_LOW                                                    0x00000fd0
+#define  NVC0TCL_ZETA_ADDRESS_HIGH                                                     0x00000fe0
+#define  NVC0TCL_ZETA_ADDRESS_LOW                                                      0x00000fe4
+#define  NVC0TCL_ZETA_FORMAT                                                           0x00000fe8
+#define   NVC0TCL_ZETA_FORMAT_Z32_FLOAT                                                        0x0000000a
+#define   NVC0TCL_ZETA_FORMAT_Z16_UNORM                                                        0x00000013
+#define   NVC0TCL_ZETA_FORMAT_Z24S8_UNORM                                              0x00000014
+#define   NVC0TCL_ZETA_FORMAT_X8Z24_UNORM                                              0x00000015
+#define   NVC0TCL_ZETA_FORMAT_S8Z24_UNORM                                              0x00000016
+#define   NVC0TCL_ZETA_FORMAT_Z32_FLOAT_X24S8_UNORM                                    0x00000019
+#define  NVC0TCL_ZETA_TILE_MODE                                                                0x00000fec
+#define  NVC0TCL_ZETA_LAYER_STRIDE                                                     0x00000ff0
+#define  NVC0TCL_SCREEN_SCISSOR_HORIZ                                                  0x00000ff4
+#define   NVC0TCL_SCREEN_SCISSOR_HORIZ_W_SHIFT                                         16
+#define   NVC0TCL_SCREEN_SCISSOR_HORIZ_W_MASK                                          0xffff0000
+#define   NVC0TCL_SCREEN_SCISSOR_HORIZ_X_SHIFT                                         0
+#define   NVC0TCL_SCREEN_SCISSOR_HORIZ_X_MASK                                          0x0000ffff
+#define  NVC0TCL_SCREEN_SCISSOR_VERT                                                   0x00000ff8
+#define   NVC0TCL_SCREEN_SCISSOR_VERT_H_SHIFT                                          16
+#define   NVC0TCL_SCREEN_SCISSOR_VERT_H_MASK                                           0xffff0000
+#define   NVC0TCL_SCREEN_SCISSOR_VERT_Y_SHIFT                                          0
+#define   NVC0TCL_SCREEN_SCISSOR_VERT_Y_MASK                                           0x0000ffff
+#define  NVC0TCL_VTX_ATTR_DEFINE                                                       0x0000114c
+#define   NVC0TCL_VTX_ATTR_DEFINE_ATTR_SHIFT                                           0
+#define   NVC0TCL_VTX_ATTR_DEFINE_ATTR_MASK                                            0x0000003f
+#define   NVC0TCL_VTX_ATTR_DEFINE_COMP_SHIFT                                           8
+#define   NVC0TCL_VTX_ATTR_DEFINE_COMP_MASK                                            0x00000f00
+#define   NVC0TCL_VTX_ATTR_DEFINE_SIZE_SHIFT                                           12
+#define   NVC0TCL_VTX_ATTR_DEFINE_SIZE_MASK                                            0x0000f000
+#define   NVC0TCL_VTX_ATTR_DEFINE_TYPE_SHIFT                                           16
+#define   NVC0TCL_VTX_ATTR_DEFINE_TYPE_MASK                                            0x000f0000
+#define    NVC0TCL_VTX_ATTR_DEFINE_TYPE_FLOAT                                          0x00070000
+#define    NVC0TCL_VTX_ATTR_DEFINE_TYPE_SNORM                                          0x00010000
+#define    NVC0TCL_VTX_ATTR_DEFINE_TYPE_UNORM                                          0x00020000
+#define    NVC0TCL_VTX_ATTR_DEFINE_TYPE_USCALED                                                0x00050000
+#define    NVC0TCL_VTX_ATTR_DEFINE_TYPE_SSCALED                                                0x00060000
+#define    NVC0TCL_VTX_ATTR_DEFINE_TYPE_UINT                                           0x00040000
+#define    NVC0TCL_VTX_ATTR_DEFINE_TYPE_SINT                                           0x00030000
+#define  NVC0TCL_VTX_ATTR_DATA(x)                                                      (0x00001150+((x)*4))
+#define  NVC0TCL_VTX_ATTR_DATA__SIZE                                                   0x00000004
+#define  NVC0TCL_VERTEX_ATTRIB_FORMAT(x)                                               (0x00001160+((x)*4))
+#define  NVC0TCL_VERTEX_ATTRIB_FORMAT__SIZE                                            0x00000020
+#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_BUFFER_SHIFT                                    0
+#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_BUFFER_MASK                                     0x0000003f
+#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_CONST                                           (1 <<  6)
+#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_OFFSET_SHIFT                                    7
+#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_OFFSET_MASK                                     0x001fff80
+#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_SHIFT                                    21
+#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_MASK                                     0x07e00000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32_32_32_32                             0x00200000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32_32_32                                        0x00400000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16_16_16_16                             0x00600000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32_32                                   0x00800000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16_16_16                                        0x00a00000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8_8_8_8                                 0x01400000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16_16                                   0x01e00000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_32                                      0x02400000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8_8_8                                   0x02600000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8_8                                     0x03000000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_16                                      0x03600000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_8                                       0x03a00000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_FORMAT_2_10_10_10                              0x06000000
+#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_SHIFT                                      27
+#define   NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_MASK                                       0x78000000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_FLOAT                                     0x38000000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_SNORM                                     0x08000000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_UNORM                                     0x10000000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_USCALED                                   0x28000000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_SSCALED                                   0x30000000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_UINT                                      0x20000000
+#define    NVC0TCL_VERTEX_ATTRIB_FORMAT_TYPE_SINT                                      0x18000000
+#define  NVC0TCL_RT_CONTROL                                                            0x0000121c
+#define   NVC0TCL_RT_CONTROL_COUNT_SHIFT                                               0
+#define   NVC0TCL_RT_CONTROL_COUNT_MASK                                                        0x0000000f
+#define   NVC0TCL_RT_CONTROL_MAP0_SHIFT                                                        4
+#define   NVC0TCL_RT_CONTROL_MAP0_MASK                                                 0x00000070
+#define   NVC0TCL_RT_CONTROL_MAP1_SHIFT                                                        7
+#define   NVC0TCL_RT_CONTROL_MAP1_MASK                                                 0x00000380
+#define   NVC0TCL_RT_CONTROL_MAP2_SHIFT                                                        10
+#define   NVC0TCL_RT_CONTROL_MAP2_MASK                                                 0x00001c00
+#define   NVC0TCL_RT_CONTROL_MAP3_SHIFT                                                        13
+#define   NVC0TCL_RT_CONTROL_MAP3_MASK                                                 0x0000e000
+#define   NVC0TCL_RT_CONTROL_MAP4_SHIFT                                                        16
+#define   NVC0TCL_RT_CONTROL_MAP4_MASK                                                 0x00070000
+#define   NVC0TCL_RT_CONTROL_MAP5_SHIFT                                                        19
+#define   NVC0TCL_RT_CONTROL_MAP5_MASK                                                 0x00380000
+#define   NVC0TCL_RT_CONTROL_MAP6_SHIFT                                                        22
+#define   NVC0TCL_RT_CONTROL_MAP6_MASK                                                 0x01c00000
+#define   NVC0TCL_RT_CONTROL_MAP7_SHIFT                                                        25
+#define   NVC0TCL_RT_CONTROL_MAP7_MASK                                                 0x0e000000
+#define  NVC0TCL_ZETA_HORIZ                                                            0x00001228
+#define  NVC0TCL_ZETA_VERT                                                             0x0000122c
+#define  NVC0TCL_ZETA_ARRAY_MODE                                                       0x00001230
+#define   NVC0TCL_ZETA_ARRAY_MODE_LAYERS_SHIFT                                         0
+#define   NVC0TCL_ZETA_ARRAY_MODE_LAYERS_MASK                                          0x0000ffff
+#define   NVC0TCL_ZETA_ARRAY_MODE_UNK                                                  (1 << 16)
+#define  NVC0TCL_LINKED_TSC                                                            0x00001234
+#define  NVC0TCL_FP_RESULT_COUNT                                                       0x00001298
+#define  NVC0TCL_DEPTH_TEST_ENABLE                                                     0x000012cc
+#define  NVC0TCL_SHADE_MODEL                                                           0x000012d4
+#define   NVC0TCL_SHADE_MODEL_FLAT                                                     0x00001d00
+#define   NVC0TCL_SHADE_MODEL_SMOOTH                                                   0x00001d01
+#define  NVC0TCL_BLEND_INDEPENDENT                                                     0x000012e4
+#define  NVC0TCL_DEPTH_WRITE_ENABLE                                                    0x000012e8
+#define  NVC0TCL_ALPHA_TEST_ENABLE                                                     0x000012ec
+#define  NVC0TCL_PM_SET(x)                                                             (0x000012f0+((x)*4))
+#define  NVC0TCL_PM_SET__SIZE                                                          0x00000004
+#define  NVC0TCL_VB_ELEMENT_U8_SETUP                                                   0x00001300
+#define   NVC0TCL_VB_ELEMENT_U8_SETUP_OFFSET_SHIFT                                     30
+#define   NVC0TCL_VB_ELEMENT_U8_SETUP_OFFSET_MASK                                      0xc0000000
+#define   NVC0TCL_VB_ELEMENT_U8_SETUP_COUNT_SHIFT                                      0
+#define   NVC0TCL_VB_ELEMENT_U8_SETUP_COUNT_MASK                                       0x3fffffff
+#define  NVC0TCL_VB_ELEMENT_U8                                                         0x00001304
+#define   NVC0TCL_VB_ELEMENT_U8_I0_SHIFT                                               0
+#define   NVC0TCL_VB_ELEMENT_U8_I0_MASK                                                        0x000000ff
+#define   NVC0TCL_VB_ELEMENT_U8_I1_SHIFT                                               8
+#define   NVC0TCL_VB_ELEMENT_U8_I1_MASK                                                        0x0000ff00
+#define   NVC0TCL_VB_ELEMENT_U8_I2_SHIFT                                               16
+#define   NVC0TCL_VB_ELEMENT_U8_I2_MASK                                                        0x00ff0000
+#define   NVC0TCL_VB_ELEMENT_U8_I3_SHIFT                                               24
+#define   NVC0TCL_VB_ELEMENT_U8_I3_MASK                                                        0xff000000
+#define  NVC0TCL_DEPTH_TEST_FUNC                                                       0x0000130c
+#define   NVC0TCL_DEPTH_TEST_FUNC_NEVER                                                        0x00000200
+#define   NVC0TCL_DEPTH_TEST_FUNC_LESS                                                 0x00000201
+#define   NVC0TCL_DEPTH_TEST_FUNC_EQUAL                                                        0x00000202
+#define   NVC0TCL_DEPTH_TEST_FUNC_LEQUAL                                               0x00000203
+#define   NVC0TCL_DEPTH_TEST_FUNC_GREATER                                              0x00000204
+#define   NVC0TCL_DEPTH_TEST_FUNC_NOTEQUAL                                             0x00000205
+#define   NVC0TCL_DEPTH_TEST_FUNC_GEQUAL                                               0x00000206
+#define   NVC0TCL_DEPTH_TEST_FUNC_ALWAYS                                               0x00000207
+#define  NVC0TCL_ALPHA_TEST_REF                                                                0x00001310
+#define  NVC0TCL_ALPHA_TEST_FUNC                                                       0x00001314
+#define   NVC0TCL_ALPHA_TEST_FUNC_NEVER                                                        0x00000200
+#define   NVC0TCL_ALPHA_TEST_FUNC_LESS                                                 0x00000201
+#define   NVC0TCL_ALPHA_TEST_FUNC_EQUAL                                                        0x00000202
+#define   NVC0TCL_ALPHA_TEST_FUNC_LEQUAL                                               0x00000203
+#define   NVC0TCL_ALPHA_TEST_FUNC_GREATER                                              0x00000204
+#define   NVC0TCL_ALPHA_TEST_FUNC_NOTEQUAL                                             0x00000205
+#define   NVC0TCL_ALPHA_TEST_FUNC_GEQUAL                                               0x00000206
+#define   NVC0TCL_ALPHA_TEST_FUNC_ALWAYS                                               0x00000207
+#define  NVC0TCL_BLEND_COLOR(x)                                                                (0x0000131c+((x)*4))
+#define  NVC0TCL_BLEND_COLOR__SIZE                                                     0x00000004
+#define  NVC0TCL_TIC_FLUSH                                                             0x00001330
+#define  NVC0TCL_TSC_FLUSH                                                             0x00001334
+#define  NVC0TCL_TEX_CACHE_CTL                                                         0x00001338
+#define  NVC0TCL_BLEND_EQUATION_RGB                                                    0x00001340
+#define   NVC0TCL_BLEND_EQUATION_RGB_FUNC_ADD                                          0x00008006
+#define   NVC0TCL_BLEND_EQUATION_RGB_MIN                                               0x00008007
+#define   NVC0TCL_BLEND_EQUATION_RGB_MAX                                               0x00008008
+#define   NVC0TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT                                     0x0000800a
+#define   NVC0TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT                             0x0000800b
+#define  NVC0TCL_BLEND_FUNC_SRC_RGB                                                    0x00001344
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_ZERO                                              0x00004000
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_ONE                                               0x00004001
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR                                         0x00004300
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR                               0x00004301
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA                                         0x00004302
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA                               0x00004303
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA                                         0x00004304
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA                               0x00004305
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_DST_COLOR                                         0x00004306
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR                               0x00004307
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE                                        0x00004308
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR                                    0x0000c001
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR                          0x0000c002
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA                                    0x0000c003
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA                          0x0000c004
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_SRC1_COLOR                                                0x0000c900
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC1_COLOR                              0x0000c901
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_SRC1_ALPHA                                                0x0000c902
+#define   NVC0TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC1_ALPHA                              0x0000c903
+#define  NVC0TCL_BLEND_FUNC_DST_RGB                                                    0x00001348
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_ZERO                                              0x00004000
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_ONE                                               0x00004001
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_SRC_COLOR                                         0x00004300
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR                               0x00004301
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA                                         0x00004302
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA                               0x00004303
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_DST_ALPHA                                         0x00004304
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA                               0x00004305
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_DST_COLOR                                         0x00004306
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR                               0x00004307
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE                                        0x00004308
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR                                    0x0000c001
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR                          0x0000c002
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA                                    0x0000c003
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA                          0x0000c004
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_SRC1_COLOR                                                0x0000c900
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC1_COLOR                              0x0000c901
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_SRC1_ALPHA                                                0x0000c902
+#define   NVC0TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC1_ALPHA                              0x0000c903
+#define  NVC0TCL_BLEND_EQUATION_ALPHA                                                  0x0000134c
+#define   NVC0TCL_BLEND_EQUATION_ALPHA_FUNC_ADD                                                0x00008006
+#define   NVC0TCL_BLEND_EQUATION_ALPHA_MIN                                             0x00008007
+#define   NVC0TCL_BLEND_EQUATION_ALPHA_MAX                                             0x00008008
+#define   NVC0TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT                                   0x0000800a
+#define   NVC0TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT                           0x0000800b
+#define  NVC0TCL_BLEND_FUNC_SRC_ALPHA                                                  0x00001350
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_ZERO                                            0x00004000
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE                                             0x00004001
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                                       0x00004300
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR                             0x00004301
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                                       0x00004302
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA                             0x00004303
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                                       0x00004304
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA                             0x00004305
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR                                       0x00004306
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR                             0x00004307
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                              0x00004308
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR                                  0x0000c001
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR                                0x0000c002
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA                                  0x0000c003
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA                                0x0000c004
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC1_COLOR                                      0x0000c900
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC1_COLOR                            0x0000c901
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_SRC1_ALPHA                                      0x0000c902
+#define   NVC0TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC1_ALPHA                            0x0000c903
+#define  NVC0TCL_BLEND_FUNC_DST_ALPHA                                                  0x00001358
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_ZERO                                            0x00004000
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE                                             0x00004001
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR                                       0x00004300
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR                             0x00004301
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                                       0x00004302
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA                             0x00004303
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA                                       0x00004304
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA                             0x00004305
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR                                       0x00004306
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR                             0x00004307
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                              0x00004308
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR                                  0x0000c001
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR                                0x0000c002
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                                  0x0000c003
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA                                0x0000c004
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC1_COLOR                                      0x0000c900
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC1_COLOR                            0x0000c901
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_SRC1_ALPHA                                      0x0000c902
+#define   NVC0TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC1_ALPHA                            0x0000c903
+#define  NVC0TCL_STENCIL_ENABLE                                                                0x00001380
+#define  NVC0TCL_STENCIL_FRONT_OP_FAIL                                                 0x00001384
+#define   NVC0TCL_STENCIL_FRONT_OP_FAIL_ZERO                                           0x00000000
+#define   NVC0TCL_STENCIL_FRONT_OP_FAIL_INVERT                                         0x0000150a
+#define   NVC0TCL_STENCIL_FRONT_OP_FAIL_KEEP                                           0x00001e00
+#define   NVC0TCL_STENCIL_FRONT_OP_FAIL_REPLACE                                                0x00001e01
+#define   NVC0TCL_STENCIL_FRONT_OP_FAIL_INCR                                           0x00001e02
+#define   NVC0TCL_STENCIL_FRONT_OP_FAIL_DECR                                           0x00001e03
+#define   NVC0TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP                                      0x00008507
+#define   NVC0TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP                                      0x00008508
+#define  NVC0TCL_STENCIL_FRONT_OP_ZFAIL                                                        0x00001388
+#define   NVC0TCL_STENCIL_FRONT_OP_ZFAIL_ZERO                                          0x00000000
+#define   NVC0TCL_STENCIL_FRONT_OP_ZFAIL_INVERT                                                0x0000150a
+#define   NVC0TCL_STENCIL_FRONT_OP_ZFAIL_KEEP                                          0x00001e00
+#define   NVC0TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE                                       0x00001e01
+#define   NVC0TCL_STENCIL_FRONT_OP_ZFAIL_INCR                                          0x00001e02
+#define   NVC0TCL_STENCIL_FRONT_OP_ZFAIL_DECR                                          0x00001e03
+#define   NVC0TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                                     0x00008507
+#define   NVC0TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                                     0x00008508
+#define  NVC0TCL_STENCIL_FRONT_OP_ZPASS                                                        0x0000138c
+#define   NVC0TCL_STENCIL_FRONT_OP_ZPASS_ZERO                                          0x00000000
+#define   NVC0TCL_STENCIL_FRONT_OP_ZPASS_INVERT                                                0x0000150a
+#define   NVC0TCL_STENCIL_FRONT_OP_ZPASS_KEEP                                          0x00001e00
+#define   NVC0TCL_STENCIL_FRONT_OP_ZPASS_REPLACE                                       0x00001e01
+#define   NVC0TCL_STENCIL_FRONT_OP_ZPASS_INCR                                          0x00001e02
+#define   NVC0TCL_STENCIL_FRONT_OP_ZPASS_DECR                                          0x00001e03
+#define   NVC0TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                                     0x00008507
+#define   NVC0TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                                     0x00008508
+#define  NVC0TCL_STENCIL_FRONT_FUNC_FUNC                                               0x00001390
+#define   NVC0TCL_STENCIL_FRONT_FUNC_FUNC_NEVER                                                0x00000200
+#define   NVC0TCL_STENCIL_FRONT_FUNC_FUNC_LESS                                         0x00000201
+#define   NVC0TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL                                                0x00000202
+#define   NVC0TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL                                       0x00000203
+#define   NVC0TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                      0x00000204
+#define   NVC0TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                                     0x00000205
+#define   NVC0TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL                                       0x00000206
+#define   NVC0TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS                                       0x00000207
+#define  NVC0TCL_STENCIL_FRONT_FUNC_REF                                                        0x00001394
+#define  NVC0TCL_STENCIL_FRONT_MASK                                                    0x00001398
+#define  NVC0TCL_STENCIL_FRONT_FUNC_MASK                                               0x0000139c
+#define  NVC0TCL_FRAG_COLOR_CLAMP_EN                                                   0x000013a8
+#define  NVC0TCL_Y_ORIGIN_BOTTOM                                                       0x000013ac
+#define  NVC0TCL_LINE_WIDTH(x)                                                         (0x000013b0+((x)*4))
+#define  NVC0TCL_LINE_WIDTH__SIZE                                                      0x00000002
+#define  NVC0TCL_POINT_COORD_REPLACE_MAP(x)                                            (0x000013c0+((x)*4))
+#define  NVC0TCL_POINT_COORD_REPLACE_MAP__SIZE                                         0x00000008
+#define  NVC0TCL_GP_VERTEX_OUTPUT_COUNT                                                        0x00001420
+#define  NVC0TCL_FENCE                                                                 0x0000142c
+#define  NVC0TCL_VB_ELEMENT_BASE                                                       0x00001434
+#define  NVC0TCL_INSTANCE_BASE                                                         0x00001438
+#define  NVC0TCL_CODE_CB_FLUSH                                                         0x00001440
+#define  NVC0TCL_CLIPID_HEIGHT                                                         0x00001504
+#define  NVC0TCL_VP_CLIP_DISTANCE_ENABLE                                               0x00001510
+#define   NVC0TCL_VP_CLIP_DISTANCE_ENABLE_0                                            (1 <<  0)
+#define   NVC0TCL_VP_CLIP_DISTANCE_ENABLE_1                                            (1 <<  1)
+#define   NVC0TCL_VP_CLIP_DISTANCE_ENABLE_2                                            (1 <<  2)
+#define   NVC0TCL_VP_CLIP_DISTANCE_ENABLE_3                                            (1 <<  3)
+#define   NVC0TCL_VP_CLIP_DISTANCE_ENABLE_4                                            (1 <<  4)
+#define   NVC0TCL_VP_CLIP_DISTANCE_ENABLE_5                                            (1 <<  5)
+#define   NVC0TCL_VP_CLIP_DISTANCE_ENABLE_6                                            (1 <<  6)
+#define   NVC0TCL_VP_CLIP_DISTANCE_ENABLE_7                                            (1 <<  7)
+#define  NVC0TCL_SAMPLECNT_ENABLE                                                      0x00001514
+#define  NVC0TCL_POINT_SIZE                                                            0x00001518
+#define  NVC0TCL_POINT_SPRITE_ENABLE                                                   0x00001520
+#define  NVC0TCL_SAMPLECNT_RESET                                                       0x00001530
+#define  NVC0TCL_MULTISAMPLE_ZETA_ENABLE                                               0x00001534
+#define  NVC0TCL_ZETA_ENABLE                                                           0x00001538
+#define  NVC0TCL_MULTISAMPLE_CTRL                                                      0x0000153c
+#define   NVC0TCL_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE                                   (1 <<  0)
+#define   NVC0TCL_MULTISAMPLE_CTRL_ALPHA_TO_ONE                                                (1 <<  4)
+#define  NVC0TCL_NOPERSPECTIVE_BITMAP(x)                                               (0x00001540+((x)*4))
+#define  NVC0TCL_NOPERSPECTIVE_BITMAP__SIZE                                            0x00000004
+#define  NVC0TCL_COND_ADDRESS_HIGH                                                     0x00001550
+#define  NVC0TCL_COND_ADDRESS_LOW                                                      0x00001554
+#define  NVC0TCL_COND_MODE                                                             0x00001558
+#define   NVC0TCL_COND_MODE_NEVER                                                      0x00000000
+#define   NVC0TCL_COND_MODE_ALWAYS                                                     0x00000001
+#define   NVC0TCL_COND_MODE_RES                                                                0x00000002
+#define   NVC0TCL_COND_MODE_NOT_RES_AND_NOT_ID                                         0x00000003
+#define   NVC0TCL_COND_MODE_RES_OR_ID                                                  0x00000004
+#define  NVC0TCL_TSC_ADDRESS_HIGH                                                      0x0000155c
+#define  NVC0TCL_TSC_ADDRESS_LOW                                                       0x00001560
+#define  NVC0TCL_TSC_LIMIT                                                             0x00001564
+#define  NVC0TCL_POLYGON_OFFSET_FACTOR                                                 0x0000156c
+#define  NVC0TCL_LINE_SMOOTH_ENABLE                                                    0x00001570
+#define  NVC0TCL_TIC_ADDRESS_HIGH                                                      0x00001574
+#define  NVC0TCL_TIC_ADDRESS_LOW                                                       0x00001578
+#define  NVC0TCL_TIC_LIMIT                                                             0x0000157c
+#define  NVC0TCL_PM_CONTROL(x)                                                         (0x00001580+((x)*4))
+#define  NVC0TCL_PM_CONTROL__SIZE                                                      0x00000004
+#define   NVC0TCL_PM_CONTROL_UNK0                                                      (1 <<  0)
+#define   NVC0TCL_PM_CONTROL_UNK1_SHIFT                                                        4
+#define   NVC0TCL_PM_CONTROL_UNK1_MASK                                                 0x00000070
+#define   NVC0TCL_PM_CONTROL_UNK2_SHIFT                                                        8
+#define   NVC0TCL_PM_CONTROL_UNK2_MASK                                                 0xffffff00
+#define  NVC0TCL_STENCIL_TWO_SIDE_ENABLE                                               0x00001594
+#define  NVC0TCL_STENCIL_BACK_OP_FAIL                                                  0x00001598
+#define   NVC0TCL_STENCIL_BACK_OP_FAIL_ZERO                                            0x00000000
+#define   NVC0TCL_STENCIL_BACK_OP_FAIL_INVERT                                          0x0000150a
+#define   NVC0TCL_STENCIL_BACK_OP_FAIL_KEEP                                            0x00001e00
+#define   NVC0TCL_STENCIL_BACK_OP_FAIL_REPLACE                                         0x00001e01
+#define   NVC0TCL_STENCIL_BACK_OP_FAIL_INCR                                            0x00001e02
+#define   NVC0TCL_STENCIL_BACK_OP_FAIL_DECR                                            0x00001e03
+#define   NVC0TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP                                       0x00008507
+#define   NVC0TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP                                       0x00008508
+#define  NVC0TCL_STENCIL_BACK_OP_ZFAIL                                                 0x0000159c
+#define   NVC0TCL_STENCIL_BACK_OP_ZFAIL_ZERO                                           0x00000000
+#define   NVC0TCL_STENCIL_BACK_OP_ZFAIL_INVERT                                         0x0000150a
+#define   NVC0TCL_STENCIL_BACK_OP_ZFAIL_KEEP                                           0x00001e00
+#define   NVC0TCL_STENCIL_BACK_OP_ZFAIL_REPLACE                                                0x00001e01
+#define   NVC0TCL_STENCIL_BACK_OP_ZFAIL_INCR                                           0x00001e02
+#define   NVC0TCL_STENCIL_BACK_OP_ZFAIL_DECR                                           0x00001e03
+#define   NVC0TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                                      0x00008507
+#define   NVC0TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                                      0x00008508
+#define  NVC0TCL_STENCIL_BACK_OP_ZPASS                                                 0x000015a0
+#define   NVC0TCL_STENCIL_BACK_OP_ZPASS_ZERO                                           0x00000000
+#define   NVC0TCL_STENCIL_BACK_OP_ZPASS_INVERT                                         0x0000150a
+#define   NVC0TCL_STENCIL_BACK_OP_ZPASS_KEEP                                           0x00001e00
+#define   NVC0TCL_STENCIL_BACK_OP_ZPASS_REPLACE                                                0x00001e01
+#define   NVC0TCL_STENCIL_BACK_OP_ZPASS_INCR                                           0x00001e02
+#define   NVC0TCL_STENCIL_BACK_OP_ZPASS_DECR                                           0x00001e03
+#define   NVC0TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP                                      0x00008507
+#define   NVC0TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP                                      0x00008508
+#define  NVC0TCL_STENCIL_BACK_FUNC_FUNC                                                        0x000015a4
+#define   NVC0TCL_STENCIL_BACK_FUNC_FUNC_NEVER                                         0x00000200
+#define   NVC0TCL_STENCIL_BACK_FUNC_FUNC_LESS                                          0x00000201
+#define   NVC0TCL_STENCIL_BACK_FUNC_FUNC_EQUAL                                         0x00000202
+#define   NVC0TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL                                                0x00000203
+#define   NVC0TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                       0x00000204
+#define   NVC0TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                                      0x00000205
+#define   NVC0TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL                                                0x00000206
+#define   NVC0TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS                                                0x00000207
+#define  NVC0TCL_MULTISAMPLE_COLOR_ENABLE                                              0x000015b4
+#define  NVC0TCL_FRAMEBUFFER_SRGB                                                      0x000015b8
+#define  NVC0TCL_POLYGON_OFFSET_UNITS                                                  0x000015bc
+#define  NVC0TCL_GP_BUILTIN_RESULT_EN                                                  0x000015cc
+#define   NVC0TCL_GP_BUILTIN_RESULT_EN_VPORT                                           (1 <<  0)
+#define   NVC0TCL_GP_BUILTIN_RESULT_EN_LAYER                                           (1 << 16)
+#define  NVC0TCL_MULTISAMPLE_MODE                                                      0x000015d0
+#define   NVC0TCL_MULTISAMPLE_MODE_1X                                                  0x00000000
+#define   NVC0TCL_MULTISAMPLE_MODE_2XMS                                                        0x00000001
+#define   NVC0TCL_MULTISAMPLE_MODE_4XMS                                                        0x00000002
+#define   NVC0TCL_MULTISAMPLE_MODE_8XMS                                                        0x00000004
+#define   NVC0TCL_MULTISAMPLE_MODE_4XMS_4XCS                                           0x00000008
+#define   NVC0TCL_MULTISAMPLE_MODE_4XMS_12XCS                                          0x00000009
+#define   NVC0TCL_MULTISAMPLE_MODE_8XMS_8XCS                                           0x0000000a
+#define  NVC0TCL_EDGEFLAG_ENABLE                                                       0x000015e4
+#define  NVC0TCL_VB_ELEMENT_U32                                                                0x000015e8
+#define  NVC0TCL_VB_ELEMENT_U16_SETUP                                                  0x000015ec
+#define   NVC0TCL_VB_ELEMENT_U16_SETUP_OFFSET_SHIFT                                    30
+#define   NVC0TCL_VB_ELEMENT_U16_SETUP_OFFSET_MASK                                     0xc0000000
+#define   NVC0TCL_VB_ELEMENT_U16_SETUP_COUNT_SHIFT                                     0
+#define   NVC0TCL_VB_ELEMENT_U16_SETUP_COUNT_MASK                                      0x3fffffff
+#define  NVC0TCL_VB_ELEMENT_U16                                                                0x000015f0
+#define   NVC0TCL_VB_ELEMENT_U16_I0_SHIFT                                              0
+#define   NVC0TCL_VB_ELEMENT_U16_I0_MASK                                               0x0000ffff
+#define   NVC0TCL_VB_ELEMENT_U16_I1_SHIFT                                              16
+#define   NVC0TCL_VB_ELEMENT_U16_I1_MASK                                               0xffff0000
+#define  NVC0TCL_VERTEX_BASE_HIGH                                                      0x000015f4
+#define  NVC0TCL_VERTEX_BASE_LOW                                                       0x000015f8
+#define  NVC0TCL_CODE_ADDRESS_HIGH                                                     0x00001608
+#define  NVC0TCL_CODE_ADDRESS_LOW                                                      0x0000160c
+#define  NVC0TCL_VERTEX_BEGIN                                                          0x00001618
+#define   NVC0TCL_VERTEX_BEGIN_MODE_SHIFT                                              0
+#define   NVC0TCL_VERTEX_BEGIN_MODE_MASK                                               0x0000000f
+#define    NVC0TCL_VERTEX_BEGIN_MODE_POINTS                                            0x00000000
+#define    NVC0TCL_VERTEX_BEGIN_MODE_LINES                                             0x00000001
+#define    NVC0TCL_VERTEX_BEGIN_MODE_LINE_LOOP                                         0x00000002
+#define    NVC0TCL_VERTEX_BEGIN_MODE_LINE_STRIP                                                0x00000003
+#define    NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLES                                         0x00000004
+#define    NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLE_STRIP                                    0x00000005
+#define    NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLE_FAN                                      0x00000006
+#define    NVC0TCL_VERTEX_BEGIN_MODE_QUADS                                             0x00000007
+#define    NVC0TCL_VERTEX_BEGIN_MODE_QUAD_STRIP                                                0x00000008
+#define    NVC0TCL_VERTEX_BEGIN_MODE_POLYGON                                           0x00000009
+#define    NVC0TCL_VERTEX_BEGIN_MODE_LINES_ADJACENCY                                   0x0000000a
+#define    NVC0TCL_VERTEX_BEGIN_MODE_LINE_STRIP_ADJACENCY                              0x0000000b
+#define    NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLES_ADJACENCY                               0x0000000c
+#define    NVC0TCL_VERTEX_BEGIN_MODE_TRIANGLE_STRIP_ADJACENCY                          0x0000000d
+#define    NVC0TCL_VERTEX_BEGIN_MODE_PATCHES                                           0x0000000e
+#define   NVC0TCL_VERTEX_BEGIN_INSTANCE                                                        (1 << 26)
+#define  NVC0TCL_VERTEX_END                                                            0x00001614
+#define  NVC0TCL_VERTEX_DATA                                                           0x00001640
+#define  NVC0TCL_PRIM_RESTART_ENABLE                                                   0x00001644
+#define  NVC0TCL_PRIM_RESTART_INDEX                                                    0x00001648
+#define  NVC0TCL_POINT_SMOOTH_ENABLE                                                   0x00001658
+#define  NVC0TCL_POINT_SPRITE_CTRL                                                     0x00001660
+#define  NVC0TCL_LINE_STIPPLE_ENABLE                                                   0x0000166c
+#define  NVC0TCL_LINE_STIPPLE_PATTERN                                                  0x00001680
+#define  NVC0TCL_PROVOKING_VERTEX_LAST                                                 0x00001684
+#define  NVC0TCL_VERTEX_TWO_SIDE_ENABLE                                                        0x00001688
+#define  NVC0TCL_POLYGON_STIPPLE_ENABLE                                                        0x0000168c
+#define  NVC0TCL_POLYGON_STIPPLE_PATTERN(x)                                            (0x00001700+((x)*4))
+#define  NVC0TCL_POLYGON_STIPPLE_PATTERN__SIZE                                         0x00000020
+#define  NVC0TCL_UNK17BC_ADDRESS_HIGH                                                  0x000017bc
+#define  NVC0TCL_UNK17BC_ADDRESS_LOW                                                   0x000017c0
+#define  NVC0TCL_UNK17BC_LIMIT                                                         0x000017c4
+#define  NVC0TCL_VP_POINT_SIZE_EN                                                      0x00001910
+#define  NVC0TCL_CULL_FACE_ENABLE                                                      0x00001918
+#define  NVC0TCL_FRONT_FACE                                                            0x0000191c
+#define   NVC0TCL_FRONT_FACE_CW                                                                0x00000900
+#define   NVC0TCL_FRONT_FACE_CCW                                                       0x00000901
+#define  NVC0TCL_CULL_FACE                                                             0x00001920
+#define   NVC0TCL_CULL_FACE_FRONT                                                      0x00000404
+#define   NVC0TCL_CULL_FACE_BACK                                                       0x00000405
+#define   NVC0TCL_CULL_FACE_FRONT_AND_BACK                                             0x00000408
+#define  NVC0TCL_VIEWPORT_TRANSFORM_EN                                                 0x0000192c
+#define  NVC0TCL_VIEW_VOLUME_CLIP_CTRL                                                 0x0000193c
+#define  NVC0TCL_VIEWPORT_CLIP_RECTS_EN                                                        0x0000194c
+#define  NVC0TCL_VIEWPORT_CLIP_MODE                                                    0x00001950
+#define   NVC0TCL_VIEWPORT_CLIP_MODE_INCLUDE                                           0x00000000
+#define   NVC0TCL_VIEWPORT_CLIP_MODE_EXCLUDE                                           0x00000001
+#define   NVC0TCL_VIEWPORT_CLIP_MODE_UNKNOWN                                           0x00000002
+#define  NVC0TCL_FP_ZORDER_CTRL                                                                0x0000196c
+#define  NVC0TCL_CLIPID_ENABLE                                                         0x0000197c
+#define  NVC0TCL_CLIPID_WIDTH                                                          0x00001980
+#define  NVC0TCL_CLIPID_ID                                                             0x00001984
+#define  NVC0TCL_REG_MODE                                                              0x000019a0
+#define   NVC0TCL_REG_MODE_PACKED                                                      0x00000001
+#define   NVC0TCL_REG_MODE_STRIPED                                                     0x00000002
+#define  NVC0TCL_FP_CONTROL                                                            0x000019a8
+#define   NVC0TCL_FP_CONTROL_MULTIPLE_RESULTS                                          (1 <<  0)
+#define   NVC0TCL_FP_CONTROL_EXPORTS_Z                                                 (1 <<  8)
+#define   NVC0TCL_FP_CONTROL_USES_KIL                                                  (1 << 20)
+#define  NVC0TCL_DEPTH_BOUNDS_EN                                                       0x000019bc
+#define  NVC0TCL_LOGIC_OP_ENABLE                                                       0x000019c4
+#define  NVC0TCL_LOGIC_OP                                                              0x000019c8
+#define   NVC0TCL_LOGIC_OP_CLEAR                                                       0x00001500
+#define   NVC0TCL_LOGIC_OP_AND                                                         0x00001501
+#define   NVC0TCL_LOGIC_OP_AND_REVERSE                                                 0x00001502
+#define   NVC0TCL_LOGIC_OP_COPY                                                                0x00001503
+#define   NVC0TCL_LOGIC_OP_AND_INVERTED                                                        0x00001504
+#define   NVC0TCL_LOGIC_OP_NOOP                                                                0x00001505
+#define   NVC0TCL_LOGIC_OP_XOR                                                         0x00001506
+#define   NVC0TCL_LOGIC_OP_OR                                                          0x00001507
+#define   NVC0TCL_LOGIC_OP_NOR                                                         0x00001508
+#define   NVC0TCL_LOGIC_OP_EQUIV                                                       0x00001509
+#define   NVC0TCL_LOGIC_OP_INVERT                                                      0x0000150a
+#define   NVC0TCL_LOGIC_OP_OR_REVERSE                                                  0x0000150b
+#define   NVC0TCL_LOGIC_OP_COPY_INVERTED                                               0x0000150c
+#define   NVC0TCL_LOGIC_OP_OR_INVERTED                                                 0x0000150d
+#define   NVC0TCL_LOGIC_OP_NAND                                                                0x0000150e
+#define   NVC0TCL_LOGIC_OP_SET                                                         0x0000150f
+#define  NVC0TCL_CLEAR_BUFFERS                                                         0x000019d0
+#define   NVC0TCL_CLEAR_BUFFERS_Z                                                      (1 <<  0)
+#define   NVC0TCL_CLEAR_BUFFERS_S                                                      (1 <<  1)
+#define   NVC0TCL_CLEAR_BUFFERS_R                                                      (1 <<  2)
+#define   NVC0TCL_CLEAR_BUFFERS_G                                                      (1 <<  3)
+#define   NVC0TCL_CLEAR_BUFFERS_B                                                      (1 <<  4)
+#define   NVC0TCL_CLEAR_BUFFERS_A                                                      (1 <<  5)
+#define   NVC0TCL_CLEAR_BUFFERS_RT_SHIFT                                               6
+#define   NVC0TCL_CLEAR_BUFFERS_RT_MASK                                                        0x000003c0
+#define   NVC0TCL_CLEAR_BUFFERS_LAYER_SHIFT                                            10
+#define   NVC0TCL_CLEAR_BUFFERS_LAYER_MASK                                             0x0007fc00
+#define  NVC0TCL_COLOR_MASK(x)                                                         (0x00001a00+((x)*4))
+#define  NVC0TCL_COLOR_MASK__SIZE                                                      0x00000008
+#define   NVC0TCL_COLOR_MASK_R_SHIFT                                                   0
+#define   NVC0TCL_COLOR_MASK_R_MASK                                                    0x0000000f
+#define   NVC0TCL_COLOR_MASK_G_SHIFT                                                   4
+#define   NVC0TCL_COLOR_MASK_G_MASK                                                    0x000000f0
+#define   NVC0TCL_COLOR_MASK_B_SHIFT                                                   8
+#define   NVC0TCL_COLOR_MASK_B_MASK                                                    0x00000f00
+#define   NVC0TCL_COLOR_MASK_A_SHIFT                                                   12
+#define   NVC0TCL_COLOR_MASK_A_MASK                                                    0x0000f000
+#define  NVC0TCL_QUERY_ADDRESS_HIGH                                                    0x00001b00
+#define  NVC0TCL_QUERY_ADDRESS_LOW                                                     0x00001b04
+#define  NVC0TCL_QUERY_SEQUENCE                                                                0x00001b08
+#define  NVC0TCL_QUERY_GET                                                             0x00001b0c
+#define  NVC0TCL_VERTEX_ARRAY_FETCH(x)                                                 (0x00001c00+((x)*16))
+#define  NVC0TCL_VERTEX_ARRAY_FETCH__SIZE                                              0x00000020
+#define   NVC0TCL_VERTEX_ARRAY_FETCH_STRIDE_SHIFT                                      0
+#define   NVC0TCL_VERTEX_ARRAY_FETCH_STRIDE_MASK                                       0x00000fff
+#define   NVC0TCL_VERTEX_ARRAY_FETCH_ENABLE                                            (1 << 12)
+#define  NVC0TCL_BLEND_EQUATIONI_RGB(x)                                                        (0x00001e04+((x)*32))
+#define  NVC0TCL_BLEND_EQUATIONI_RGB__SIZE                                             0x00000008
+#define   NVC0TCL_BLEND_EQUATIONI_RGB_FUNC_ADD                                         0x00008006
+#define   NVC0TCL_BLEND_EQUATIONI_RGB_MIN                                              0x00008007
+#define   NVC0TCL_BLEND_EQUATIONI_RGB_MAX                                              0x00008008
+#define   NVC0TCL_BLEND_EQUATIONI_RGB_FUNC_SUBTRACT                                    0x0000800a
+#define   NVC0TCL_BLEND_EQUATIONI_RGB_FUNC_REVERSE_SUBTRACT                            0x0000800b
+#define  NVC0TCL_BLEND_FUNCI_SRC_RGB(x)                                                        (0x00001e08+((x)*32))
+#define  NVC0TCL_BLEND_FUNCI_SRC_RGB__SIZE                                             0x00000008
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_ZERO                                             0x00004000
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE                                              0x00004001
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC_COLOR                                                0x00004300
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_SRC_COLOR                              0x00004301
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC_ALPHA                                                0x00004302
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_SRC_ALPHA                              0x00004303
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_DST_ALPHA                                                0x00004304
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_DST_ALPHA                              0x00004305
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_DST_COLOR                                                0x00004306
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_DST_COLOR                              0x00004307
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC_ALPHA_SATURATE                               0x00004308
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_CONSTANT_COLOR                                   0x0000c001
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_CONSTANT_COLOR                         0x0000c002
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_CONSTANT_ALPHA                                   0x0000c003
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA                         0x0000c004
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC1_COLOR                                       0x0000c900
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_SRC1_COLOR                             0x0000c901
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_SRC1_ALPHA                                       0x0000c902
+#define   NVC0TCL_BLEND_FUNCI_SRC_RGB_ONE_MINUS_SRC1_ALPHA                             0x0000c903
+#define  NVC0TCL_BLEND_FUNCI_DST_RGB(x)                                                        (0x00001e0c+((x)*32))
+#define  NVC0TCL_BLEND_FUNCI_DST_RGB__SIZE                                             0x00000008
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_ZERO                                             0x00004000
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_ONE                                              0x00004001
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_SRC_COLOR                                                0x00004300
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_SRC_COLOR                              0x00004301
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_SRC_ALPHA                                                0x00004302
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_SRC_ALPHA                              0x00004303
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_DST_ALPHA                                                0x00004304
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_DST_ALPHA                              0x00004305
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_DST_COLOR                                                0x00004306
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_DST_COLOR                              0x00004307
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_SRC_ALPHA_SATURATE                               0x00004308
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_CONSTANT_COLOR                                   0x0000c001
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_CONSTANT_COLOR                         0x0000c002
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_CONSTANT_ALPHA                                   0x0000c003
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_CONSTANT_ALPHA                         0x0000c004
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_SRC1_COLOR                                       0x0000c900
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_SRC1_COLOR                             0x0000c901
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_SRC1_ALPHA                                       0x0000c902
+#define   NVC0TCL_BLEND_FUNCI_DST_RGB_ONE_MINUS_SRC1_ALPHA                             0x0000c903
+#define  NVC0TCL_BLEND_EQUATIONI_ALPHA(x)                                              (0x00001e10+((x)*32))
+#define  NVC0TCL_BLEND_EQUATIONI_ALPHA__SIZE                                           0x00000008
+#define   NVC0TCL_BLEND_EQUATIONI_ALPHA_FUNC_ADD                                       0x00008006
+#define   NVC0TCL_BLEND_EQUATIONI_ALPHA_MIN                                            0x00008007
+#define   NVC0TCL_BLEND_EQUATIONI_ALPHA_MAX                                            0x00008008
+#define   NVC0TCL_BLEND_EQUATIONI_ALPHA_FUNC_SUBTRACT                                  0x0000800a
+#define   NVC0TCL_BLEND_EQUATIONI_ALPHA_FUNC_REVERSE_SUBTRACT                          0x0000800b
+#define  NVC0TCL_BLEND_FUNCI_SRC_ALPHA(x)                                              (0x00001e14+((x)*32))
+#define  NVC0TCL_BLEND_FUNCI_SRC_ALPHA__SIZE                                           0x00000008
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ZERO                                           0x00004000
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE                                            0x00004001
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC_COLOR                                      0x00004300
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_SRC_COLOR                            0x00004301
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC_ALPHA                                      0x00004302
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_SRC_ALPHA                            0x00004303
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_DST_ALPHA                                      0x00004304
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_DST_ALPHA                            0x00004305
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_DST_COLOR                                      0x00004306
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_DST_COLOR                            0x00004307
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC_ALPHA_SATURATE                             0x00004308
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_CONSTANT_COLOR                                 0x0000c001
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR                       0x0000c002
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_CONSTANT_ALPHA                                 0x0000c003
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA                       0x0000c004
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC1_COLOR                                     0x0000c900
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_SRC1_COLOR                           0x0000c901
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_SRC1_ALPHA                                     0x0000c902
+#define   NVC0TCL_BLEND_FUNCI_SRC_ALPHA_ONE_MINUS_SRC1_ALPHA                           0x0000c903
+#define  NVC0TCL_BLEND_FUNCI_DST_ALPHA(x)                                              (0x00001e18+((x)*32))
+#define  NVC0TCL_BLEND_FUNCI_DST_ALPHA__SIZE                                           0x00000008
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_ZERO                                           0x00004000
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE                                            0x00004001
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC_COLOR                                      0x00004300
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_SRC_COLOR                            0x00004301
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC_ALPHA                                      0x00004302
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_SRC_ALPHA                            0x00004303
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_DST_ALPHA                                      0x00004304
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_DST_ALPHA                            0x00004305
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_DST_COLOR                                      0x00004306
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_DST_COLOR                            0x00004307
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC_ALPHA_SATURATE                             0x00004308
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_CONSTANT_COLOR                                 0x0000c001
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR                       0x0000c002
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_CONSTANT_ALPHA                                 0x0000c003
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA                       0x0000c004
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC1_COLOR                                     0x0000c900
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_SRC1_COLOR                           0x0000c901
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_SRC1_ALPHA                                     0x0000c902
+#define   NVC0TCL_BLEND_FUNCI_DST_ALPHA_ONE_MINUS_SRC1_ALPHA                           0x0000c903
+#define  NVC0TCL_SP_SELECT(x)                                                          (0x00002000+((x)*64))
+#define  NVC0TCL_SP_SELECT__SIZE                                                       0x00000006
+#define   NVC0TCL_SP_SELECT_ENABLE                                                     (1 <<  0)
+#define   NVC0TCL_SP_SELECT_PROGRAM_SHIFT                                              4
+#define   NVC0TCL_SP_SELECT_PROGRAM_MASK                                               0x000000f0
+#define  NVC0TCL_SP_START_ID(x)                                                                (0x00002004+((x)*64))
+#define  NVC0TCL_SP_START_ID__SIZE                                                     0x00000006
+#define  NVC0TCL_SP_GPR_ALLOC(x)                                                       (0x0000200c+((x)*64))
+#define  NVC0TCL_SP_GPR_ALLOC__SIZE                                                    0x00000006
+#define  NVC0TCL_CB_SIZE                                                               0x00002380
+#define  NVC0TCL_CB_BIND(x)                                                            (0x00002410+((x)*32))
+#define  NVC0TCL_CB_BIND__SIZE                                                         0x00000005
+#define   NVC0TCL_CB_BIND_VALID                                                                (1 <<  0)
+#define   NVC0TCL_CB_BIND_INDEX_SHIFT                                                  4
+#define   NVC0TCL_CB_BIND_INDEX_MASK                                                   0x000000f0
+#define  NVC0TCL_BIND_TIC(x)                                                           (0x00002404+((x)*32))
+#define  NVC0TCL_BIND_TIC__SIZE                                                                0x00000005
+#define   NVC0TCL_BIND_TIC_ACTIVE                                                      (1 <<  0)
+#define   NVC0TCL_BIND_TIC_TEXTURE_SHIFT                                               1
+#define   NVC0TCL_BIND_TIC_TEXTURE_MASK                                                        0x000001fe
+#define   NVC0TCL_BIND_TIC_TIC_SHIFT                                                   9
+#define   NVC0TCL_BIND_TIC_TIC_MASK                                                    0x7ffffe00
+#define  NVC0TCL_TEX_LIMITS(x)                                                         (0x00002200+((x)*16))
+#define  NVC0TCL_TEX_LIMITS__SIZE                                                      0x00000005
+#define   NVC0TCL_TEX_LIMITS_SAMPLERS_LOG2_SHIFT                                       0
+#define   NVC0TCL_TEX_LIMITS_SAMPLERS_LOG2_MASK                                                0x0000000f
+#define   NVC0TCL_TEX_LIMITS_TEXTURES_LOG2_SHIFT                                       4
+#define   NVC0TCL_TEX_LIMITS_TEXTURES_LOG2_MASK                                                0x000000f0
+#define  NVC0TCL_CB_ADDR_HIGH                                                          0x00002384
+#define  NVC0TCL_CB_ADDR_LOW                                                           0x00002388
+#define  NVC0TCL_CB_POS                                                                        0x0000238c
+#define  NVC0TCL_CB_DATA(x)                                                            (0x00002390+((x)*4))
+#define  NVC0TCL_CB_DATA__SIZE                                                         0x00000010
+#define  NVC0TCL_TFB_VARYING_LOCS(x)                                                   (0x00002800+((x)*4))
+#define  NVC0TCL_TFB_VARYING_LOCS__SIZE                                                        0x00000080
+#define  NVC0TCL_UNK_UPLOAD_POS                                                                0x00003800
+#define  NVC0TCL_UNK_UPLOAD_DATA                                                       0x00003804
+#define  NVC0TCL_VERTEX_ARRAY_SELECT                                                   0x00003820
+#define  NVC0TCL_VERTEX_ARRAY_ADDRESS                                                  0x00003824
+#define  NVC0TCL_BLEND_ENABLEI                                                         0x00003858
+#define  NVC0TCL_POLYGON_MODE_FRONT                                                    0x00003868
+#define   NVC0TCL_POLYGON_MODE_FRONT_POINT                                             0x00001b00
+#define   NVC0TCL_POLYGON_MODE_FRONT_LINE                                              0x00001b01
+#define   NVC0TCL_POLYGON_MODE_FRONT_FILL                                              0x00001b02
+#define  NVC0TCL_POLYGON_MODE_BACK                                                     0x00003870
+#define   NVC0TCL_POLYGON_MODE_BACK_POINT                                              0x00001b00
+#define   NVC0TCL_POLYGON_MODE_BACK_LINE                                               0x00001b01
+#define   NVC0TCL_POLYGON_MODE_BACK_FILL                                               0x00001b02
+#define  NVC0TCL_GP_SELECT                                                             0x00003878
+#define   NVC0TCL_GP_SELECT_ENABLE                                                     (1 <<  0)
+#define   NVC0TCL_GP_SELECT_PROGRAM_SHIFT                                              4
+#define   NVC0TCL_GP_SELECT_PROGRAM_MASK                                               0x000000f0
+#define  NVC0TCL_TEP_SELECT                                                            0x00003880
+#define   NVC0TCL_TEP_SELECT_ENABLE                                                    (1 <<  0)
+#define   NVC0TCL_TEP_SELECT_PROGRAM_SHIFT                                             4
+#define   NVC0TCL_TEP_SELECT_PROGRAM_MASK                                              0x000000f0
+
+
+#define NVC0_COMPUTE                                                                   0x000090c0
+
+#define  NVC0_COMPUTE_NOP                                                              0x00000100
+#define  NVC0_COMPUTE_NOTIFY                                                           0x00000104
+#define  NVC0_COMPUTE_SERIALIZE                                                                0x00000110
+#define  NVC0_COMPUTE_LOCAL_SIZE                                                       0x00000204
+#define  NVC0_COMPUTE_SHARED_BASE                                                      0x00000214
+#define  NVC0_COMPUTE_GRIDDIM_YX                                                       0x00000238
+#define   NVC0_COMPUTE_GRIDDIM_YX_X_SHIFT                                              0
+#define   NVC0_COMPUTE_GRIDDIM_YX_X_MASK                                               0x0000ffff
+#define   NVC0_COMPUTE_GRIDDIM_YX_Y_SHIFT                                              16
+#define   NVC0_COMPUTE_GRIDDIM_YX_Y_MASK                                               0xffff0000
+#define  NVC0_COMPUTE_GRIDDIM_Z                                                                0x0000023c
+#define  NVC0_COMPUTE_SHARED_SIZE                                                      0x0000024c
+#define  NVC0_COMPUTE_BLOCK_ALLOC                                                      0x00000250
+#define   NVC0_COMPUTE_BLOCK_ALLOC_THREADS_SHIFT                                       0
+#define   NVC0_COMPUTE_BLOCK_ALLOC_THREADS_MASK                                                0x0000ffff
+#define   NVC0_COMPUTE_BLOCK_ALLOC_BARRIERS_SHIFT                                      16
+#define   NVC0_COMPUTE_BLOCK_ALLOC_BARRIERS_MASK                                       0xffff0000
+#define  NVC0_COMPUTE_CP_GPR_ALLOC                                                     0x000002c0
+#define  NVC0_COMPUTE_GLOBAL_BASE                                                      0x000002c8
+#define   NVC0_COMPUTE_GLOBAL_BASE_HIGH_SHIFT                                          0
+#define   NVC0_COMPUTE_GLOBAL_BASE_HIGH_MASK                                           0x000000ff
+#define   NVC0_COMPUTE_GLOBAL_BASE_INDEX_SHIFT                                         16
+#define   NVC0_COMPUTE_GLOBAL_BASE_INDEX_MASK                                          0x00ff0000
+#define   NVC0_COMPUTE_GLOBAL_BASE_FLAGS_SHIFT                                         28
+#define   NVC0_COMPUTE_GLOBAL_BASE_FLAGS_MASK                                          0xf0000000
+#define  NVC0_COMPUTE_LAUNCH                                                           0x00000368
+#define  NVC0_COMPUTE_BLOCKDIM_YX                                                      0x000003ac
+#define   NVC0_COMPUTE_BLOCKDIM_YX_X_SHIFT                                             0
+#define   NVC0_COMPUTE_BLOCKDIM_YX_X_MASK                                              0x0000ffff
+#define   NVC0_COMPUTE_BLOCKDIM_YX_Y_SHIFT                                             16
+#define   NVC0_COMPUTE_BLOCKDIM_YX_Y_MASK                                              0xffff0000
+#define  NVC0_COMPUTE_BLOCKDIM_Z                                                       0x000003b0
+#define  NVC0_COMPUTE_CP_START_ID                                                      0x000003b4
+#define  NVC0_COMPUTE_LOCAL_BASE                                                       0x0000077c
+#define  NVC0_COMPUTE_UNK0790_ADDRESS_HIGH                                             0x00000790
+#define  NVC0_COMPUTE_UNK0790_ADDRESS_LOW                                              0x00000794
+#define  NVC0_COMPUTE_LINKED_TSC                                                       0x00001234
+#define  NVC0_COMPUTE_TSC_ADDRESS_HIGH                                                 0x0000155c
+#define  NVC0_COMPUTE_TSC_ADDRESS_LOW                                                  0x00001560
+#define  NVC0_COMPUTE_TSC_LIMIT                                                                0x00001564
+#define  NVC0_COMPUTE_TIC_ADDRESS_HIGH                                                 0x00001574
+#define  NVC0_COMPUTE_TIC_ADDRESS_LOW                                                  0x00001578
+#define  NVC0_COMPUTE_TIC_LIMIT                                                                0x0000157c
+#define  NVC0_COMPUTE_CODE_ADDRESS_HIGH                                                        0x00001608
+#define  NVC0_COMPUTE_CODE_ADDRESS_LOW                                                 0x0000160c
+#define  NVC0_COMPUTE_CB_BIND                                                          0x00001694
+#define   NVC0_COMPUTE_CB_BIND_INDEX_SHIFT                                             1
+#define   NVC0_COMPUTE_CB_BIND_INDEX_MASK                                              0xfffffffe
+#define   NVC0_COMPUTE_CB_BIND_VALID                                                   (1 <<  0)
+#define  NVC0_COMPUTE_QUERY_ADDRESS_HIGH                                               0x00001b00
+#define  NVC0_COMPUTE_QUERY_ADDRESS_LOW                                                        0x00001b04
+#define  NVC0_COMPUTE_QUERY_SEQUENCE                                                   0x00001b08
+#define  NVC0_COMPUTE_QUERY_GET                                                                0x00001b0c
+#define  NVC0_COMPUTE_CB_ADDRESS_HIGH                                                  0x00002384
+#define  NVC0_COMPUTE_CB_ADDRESS_LOW                                                   0x00002388
+#define  NVC0_COMPUTE_CB_POS                                                           0x0000238c
+#define  NVC0_COMPUTE_CB_DATA                                                          0x00002390
+
+
 #endif /* NOUVEAU_REG_H */