nouveau: update to latest header
authorBen Skeggs <skeggsb@gmail.com>
Tue, 20 Nov 2007 02:22:11 +0000 (13:22 +1100)
committerBen Skeggs <skeggsb@gmail.com>
Tue, 20 Nov 2007 02:22:11 +0000 (13:22 +1100)
src/mesa/drivers/dri/nouveau_winsys/nv04_region.c
src/mesa/pipe/nouveau/nouveau_class.h
src/mesa/pipe/nv40/nv40_state.c
src/mesa/pipe/nv40/nv40_state.h
src/mesa/pipe/nv40/nv40_state_tex.c

index f41e45c73a63625126c03365607f52fc5df35634..98f0d55405834d32202ab571973c4916026de4c0 100644 (file)
@@ -6,9 +6,9 @@ static INLINE int
 nv04_surface_format(int cpp)
 {
        switch (cpp) {
-       case 1: return 0x1;
-       case 2: return 0x4;
-       case 4: return 0xb;
+       case 1: return NV04_CONTEXT_SURFACES_2D_FORMAT_Y8;
+       case 2: return NV04_CONTEXT_SURFACES_2D_FORMAT_R5G6B5;
+       case 4: return NV04_CONTEXT_SURFACES_2D_FORMAT_Y32;
        default:
                return -1;
        }
@@ -18,9 +18,9 @@ static INLINE int
 nv04_rect_format(int cpp)
 {
        switch (cpp) {
-       case 1: return 0x3;
-       case 2: return 0x1;
-       case 4: return 0x3;
+       case 1: return NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A8R8G8B8;
+       case 2: return NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A16R5G6B5;
+       case 4: return NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A8R8G8B8;
        default:
                return -1;
        }
@@ -78,8 +78,6 @@ nv04_region_copy(struct nouveau_context *nv, struct pipe_region *dst,
        if (src->cpp != dst->cpp)
                return 1;
 
-       NOUVEAU_ERR("preg\n");
-
        /* NV_CONTEXT_SURFACES_2D has buffer alignment restrictions, fallback
         * to NV_MEMORY_TO_MEMORY_FORMAT in this case.
         */
@@ -96,10 +94,10 @@ nv04_region_copy(struct nouveau_context *nv, struct pipe_region *dst,
                return 1;
        }
 
-       BEGIN_RING(NvCtxSurf2D, 0x0184, 2);
+       BEGIN_RING(NvCtxSurf2D, NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_SOURCE, 2);
        OUT_RELOCo(src->buffer, NOUVEAU_BO_VRAM | NOUVEAU_BO_RD);
        OUT_RELOCo(dst->buffer, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
-       BEGIN_RING(NvCtxSurf2D, 0x0300, 4);
+       BEGIN_RING(NvCtxSurf2D, NV04_CONTEXT_SURFACES_2D_FORMAT, 4);
        OUT_RING  (format);
        OUT_RING  (((dst->pitch * dst->cpp) << 16) | (src->pitch * src->cpp));
        OUT_RELOCl(src->buffer, src_offset, NOUVEAU_BO_VRAM | NOUVEAU_BO_RD);
@@ -131,20 +129,21 @@ nv04_region_fill(struct nouveau_context *nv,
                return 1;
        }
 
-       BEGIN_RING(NvCtxSurf2D, 0x0184, 2);
+       BEGIN_RING(NvCtxSurf2D, NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_SOURCE, 2);
        OUT_RELOCo(dst->buffer, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
        OUT_RELOCo(dst->buffer, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
-       BEGIN_RING(NvCtxSurf2D, 0x0300, 4);
+       BEGIN_RING(NvCtxSurf2D, NV04_CONTEXT_SURFACES_2D_FORMAT, 4);
        OUT_RING  (cs2d_format);
        OUT_RING  (((dst->pitch * dst->cpp) << 16) | (dst->pitch * dst->cpp));
        OUT_RELOCl(dst->buffer, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
        OUT_RELOCl(dst->buffer, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
 
-       BEGIN_RING(NvGdiRect, 0x0300, 1);
+       BEGIN_RING(NvGdiRect, NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT, 1);
        OUT_RING  (gdirect_format);
-       BEGIN_RING(NvGdiRect, 0x03fc, 1);
+       BEGIN_RING(NvGdiRect, NV04_GDI_RECTANGLE_TEXT_COLOR1_A, 1);
        OUT_RING  (value);
-       BEGIN_RING(NvGdiRect, 0x0400, 2);
+       BEGIN_RING(NvGdiRect,
+                  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT(0), 2);
        OUT_RING  ((dx << 16) | dy);
        OUT_RING  (( w << 16) |  h);
 
@@ -164,6 +163,7 @@ nv04_region_data(struct nouveau_context *nv, struct pipe_region *dst,
 int
 nouveau_region_init_nv04(struct nouveau_context *nv)
 {
+       unsigned class;
        int ret;
 
        if ((ret = nouveau_grobj_alloc(nv->channel, nv->next_handle++, 0x39,
@@ -171,43 +171,48 @@ nouveau_region_init_nv04(struct nouveau_context *nv)
                NOUVEAU_ERR("Error creating m2mf object: %d\n", ret);
                return 1;
        }
-       BEGIN_RING(NvM2MF, 0x0180, 1);
+       BEGIN_RING(NvM2MF, NV_MEMORY_TO_MEMORY_FORMAT_DMA_NOTIFY, 1);
        OUT_RING  (nv->sync_notifier->handle);
 
-       if ((ret = nouveau_grobj_alloc(nv->channel, nv->next_handle++, 0x62,
+       class = nv->chipset < 0x10 ? NV04_CONTEXT_SURFACES_2D :
+                                    NV10_CONTEXT_SURFACES_2D;
+       if ((ret = nouveau_grobj_alloc(nv->channel, nv->next_handle++, class,
                                       &nv->NvCtxSurf2D))) {
                NOUVEAU_ERR("Error creating 2D surface object: %d\n", ret);
                return 1;
        }
-       BEGIN_RING(NvCtxSurf2D, 0x0184, 2);
+       BEGIN_RING(NvCtxSurf2D, NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_SOURCE, 2);
        OUT_RING  (nv->channel->vram->handle);
        OUT_RING  (nv->channel->vram->handle);
 
-       if ((ret = nouveau_grobj_alloc(nv->channel, nv->next_handle++, 0x9f,
+       class = nv->chipset < 0x10 ? NV_IMAGE_BLIT :
+                                    NV12_IMAGE_BLIT;
+       if ((ret = nouveau_grobj_alloc(nv->channel, nv->next_handle++, class,
                                       &nv->NvImageBlit))) {
                NOUVEAU_ERR("Error creating blit object: %d\n", ret);
                return 1;
        }
-       BEGIN_RING(NvImageBlit, 0x0180, 1);
+       BEGIN_RING(NvImageBlit, NV_IMAGE_BLIT_DMA_NOTIFY, 1);
        OUT_RING  (nv->sync_notifier->handle);
-       BEGIN_RING(NvImageBlit, 0x019c, 1);
+       BEGIN_RING(NvImageBlit, NV_IMAGE_BLIT_SURFACE, 1);
        OUT_RING  (nv->NvCtxSurf2D->handle);
-       BEGIN_RING(NvImageBlit, 0x02fc, 1);
-       OUT_RING  (3);
+       BEGIN_RING(NvImageBlit, NV_IMAGE_BLIT_OPERATION, 1);
+       OUT_RING  (NV_IMAGE_BLIT_OPERATION_SRCCOPY);
 
-       if ((ret = nouveau_grobj_alloc(nv->channel, nv->next_handle++, 0x4a,
+       class = NV04_GDI_RECTANGLE_TEXT;
+       if ((ret = nouveau_grobj_alloc(nv->channel, nv->next_handle++, class,
                                       &nv->NvGdiRect))) {
                NOUVEAU_ERR("Error creating rect object: %d\n", ret);
                return 1;
        }
-       BEGIN_RING(NvGdiRect, 0x0180, 1);
+       BEGIN_RING(NvGdiRect, NV04_GDI_RECTANGLE_TEXT_DMA_NOTIFY, 1);
        OUT_RING  (nv->sync_notifier->handle);
-       BEGIN_RING(NvGdiRect, 0x0198, 1);
+       BEGIN_RING(NvGdiRect, NV04_GDI_RECTANGLE_TEXT_SURFACE, 1);
        OUT_RING  (nv->NvCtxSurf2D->handle);
-       BEGIN_RING(NvGdiRect, 0x02fc, 1);
-       OUT_RING  (3);
-       BEGIN_RING(NvGdiRect, 0x0304, 1);
-       OUT_RING  (2);
+       BEGIN_RING(NvGdiRect, NV04_GDI_RECTANGLE_TEXT_OPERATION, 1);
+       OUT_RING  (NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY);
+       BEGIN_RING(NvGdiRect, NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT, 1);
+       OUT_RING  (NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT_LE);
 
        nv->region_display = nv04_region_display;
        nv->region_copy = nv04_region_copy;
index 94b667e44d2ee4f74fd944de3a1b8cee15e8be7a..22b526a54ea3a97974345d0ed657118c792f5f05 100644 (file)
+/*************************************************************************
+
+   Autogenerated file, do not edit !
+
+**************************************************************************
+
+   Copyright (C) 2006-2007 :
+   Dmitry Baryshkov,
+   Laurent Carlier,
+   Matthieu Castet,
+   Dawid Gajownik,
+   Jeremy Kolb,
+   Stephane Loeuillet,
+   Patrice Mandin,
+   Stephane Marchesin,
+   Serge Martin,
+   Sylvain Munaut,
+   Ben Skeggs,
+   Erik Waling,
+   koala_br,
+   sturmflut.
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*************************************************************************/
+
+
 #ifndef NOUVEAU_REG_H
 #define NOUVEAU_REG_H 1
 
 
-#define NV01_ROOT                                                              0x00000001
-
+#define NV01_ROOT                                                                      0x00000001
 
 
-#define NV01_CONTEXT_DMA                                                       0x00000002
 
+#define NV01_CONTEXT_DMA                                                               0x00000002
 
 
-#define NV01_DEVICE                                                            0x00000003
 
+#define NV01_DEVICE                                                                    0x00000003
 
 
-#define NV01_TIMER                                                             0x00000004
 
-#define  NV01_TIMER_SYNCHRONIZE                                                        0x00000100
-#define  NV01_TIMER_STOP_ALARM                                                 0x00000104
-#define  NV01_TIMER_DMA_NOTIFY                                                 0x00000180
-#define  NV01_TIMER_TIME(x)                                                    (0x00000300+((x)*4))
-#define  NV01_TIMER_TIME__SIZE                                                 0x00000002
-#define  NV01_TIMER_ALARM_NOTIFY                                               0x00000308
+#define NV01_TIMER                                                                     0x00000004
 
+#define  NV01_TIMER_SYNCHRONIZE                                                                0x00000100
+#define  NV01_TIMER_STOP_ALARM                                                         0x00000104
+#define  NV01_TIMER_DMA_NOTIFY                                                         0x00000180
+#define  NV01_TIMER_TIME(x)                                                            (0x00000300+((x)*4))
+#define  NV01_TIMER_TIME__SIZE                                                         0x00000002
+#define  NV01_TIMER_ALARM_NOTIFY                                                       0x00000308
 
-#define NV_IMAGE_STENCIL                                                       0x00000010
 
-#define  NV_IMAGE_STENCIL_NOTIFY                                               0x00000104
-#define  NV_IMAGE_STENCIL_DMA_NOTIFY                                           0x00000180
-#define  NV_IMAGE_STENCIL_IMAGE_OUTPUT                                         0x00000200
-#define  NV_IMAGE_STENCIL_IMAGE_INPUT(x)                                       (0x00000204+((x)*4))
-#define  NV_IMAGE_STENCIL_IMAGE_INPUT__SIZE                                    0x00000002
+#define NV_IMAGE_STENCIL                                                               0x00000010
 
+#define  NV_IMAGE_STENCIL_NOTIFY                                                       0x00000104
+#define  NV_IMAGE_STENCIL_DMA_NOTIFY                                                   0x00000180
+#define  NV_IMAGE_STENCIL_IMAGE_OUTPUT                                                 0x00000200
+#define  NV_IMAGE_STENCIL_IMAGE_INPUT(x)                                               (0x00000204+((x)*4))
+#define  NV_IMAGE_STENCIL_IMAGE_INPUT__SIZE                                            0x00000002
 
-#define NV_IMAGE_BLEND_AND                                                     0x00000011
 
-#define  NV_IMAGE_BLEND_AND_NOP                                                        0x00000100
-#define  NV_IMAGE_BLEND_AND_NOTIFY                                             0x00000104
-#define  NV_IMAGE_BLEND_AND_DMA_NOTIFY                                         0x00000180
-#define  NV_IMAGE_BLEND_AND_IMAGE_OUTPUT                                       0x00000200
-#define  NV_IMAGE_BLEND_AND_BETA_INPUT                                         0x00000204
-#define  NV_IMAGE_BLEND_AND_IMAGE_INPUT                                                0x00000208
+#define NV_IMAGE_BLEND_AND                                                             0x00000011
 
+#define  NV_IMAGE_BLEND_AND_NOP                                                                0x00000100
+#define  NV_IMAGE_BLEND_AND_NOTIFY                                                     0x00000104
+#define  NV_IMAGE_BLEND_AND_DMA_NOTIFY                                                 0x00000180
+#define  NV_IMAGE_BLEND_AND_IMAGE_OUTPUT                                               0x00000200
+#define  NV_IMAGE_BLEND_AND_BETA_INPUT                                                 0x00000204
+#define  NV_IMAGE_BLEND_AND_IMAGE_INPUT                                                        0x00000208
 
-#define NV01_CONTEXT_BETA1                                                     0x00000012
 
-#define  NV01_CONTEXT_BETA1_NOP                                                        0x00000100
-#define  NV01_CONTEXT_BETA1_NOTIFY                                             0x00000104
-#define  NV01_CONTEXT_BETA1_DMA_NOTIFY                                         0x00000180
-#define  NV01_CONTEXT_BETA1_BETA_1D31                                          0x00000300
+#define NV01_CONTEXT_BETA1                                                             0x00000012
 
+#define  NV01_CONTEXT_BETA1_NOP                                                                0x00000100
+#define  NV01_CONTEXT_BETA1_NOTIFY                                                     0x00000104
+#define  NV01_CONTEXT_BETA1_DMA_NOTIFY                                                 0x00000180
+#define  NV01_CONTEXT_BETA1_BETA_1D31                                                  0x00000300
 
-#define NV_IMAGE_ROP_AND                                                       0x00000013
 
-#define  NV_IMAGE_ROP_AND_NOTIFY                                               0x00000104
-#define  NV_IMAGE_ROP_AND_DMA_NOTIFY                                           0x00000180
-#define  NV_IMAGE_ROP_AND_IMAGE_OUTPUT                                         0x00000200
-#define  NV_IMAGE_ROP_AND_ROP_INPUT                                            0x00000204
-#define  NV_IMAGE_ROP_AND_IMAGE_INPUT(x)                                       (0x00000208+((x)*4))
-#define  NV_IMAGE_ROP_AND_IMAGE_INPUT__SIZE                                    0x00000002
-
-
-#define NV_IMAGE_COLOR_KEY                                                     0x00000015
-
-
-
-#define NV01_CONTEXT_COLOR_KEY                                                 0x00000017
-
-#define  NV01_CONTEXT_COLOR_KEY_NOTIFY                                         0x00000104
-#define  NV01_CONTEXT_COLOR_KEY_DMA_NOTIFY                                     0x00000180
-#define  NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT                                   0x00000300
-#define  NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16A8Y8                           0x00000001
-#define  NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X24Y8                             0x00000002
-#define  NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16A1R5G5B5                       0x00000003
-#define  NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X17R5G5B5                         0x00000004
-#define  NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_A8R8G8B8                          0x00000005
-#define  NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X8R8G8B8                          0x00000006
-#define  NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_A16Y16                            0x00000007
-#define  NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16Y16                            0x00000008
-#define  NV01_CONTEXT_COLOR_KEY_COLOR                                          0x00000304
-
-
-#define NV01_CONTEXT_PATTERN                                                   0x00000018
-
-#define  NV01_CONTEXT_PATTERN_NOTIFY                                           0x00000104
-#define  NV01_CONTEXT_PATTERN_DMA_NOTIFY                                       0x00000180
-#define  NV01_CONTEXT_PATTERN_COLOR_FORMAT                                     0x00000300
-#define  NV01_CONTEXT_PATTERN_MONOCHROME_FORMAT                                        0x00000304
-#define  NV01_CONTEXT_PATTERN_SHAPE                                            0x00000308
-#define  NV01_CONTEXT_PATTERN_COLOR(x)                                         (0x00000310+((x)*4))
-#define  NV01_CONTEXT_PATTERN_COLOR__SIZE                                      0x00000002
-#define  NV01_CONTEXT_PATTERN_PATTERN(x)                                       (0x00000318+((x)*4))
-#define  NV01_CONTEXT_PATTERN_PATTERN__SIZE                                    0x00000002
-
-
-#define NV01_CONTEXT_CLIP_RECTANGLE                                            0x00000019
-
-#define  NV01_CONTEXT_CLIP_RECTANGLE_NOP                                       0x00000104
-#define  NV01_CONTEXT_CLIP_RECTANGLE_NOTIFY                                    0x00000104
-#define  NV01_CONTEXT_CLIP_RECTANGLE_DMA_NOTIFY                                        0x00000180
-#define  NV01_CONTEXT_CLIP_RECTANGLE_POINT                                     0x00000300
-#define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_X_SHIFT                            0
-#define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_X_MASK                             0x0000ffff
-#define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_Y_SHIFT                            16
-#define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_Y_MASK                             0xffff0000
-#define  NV01_CONTEXT_CLIP_RECTANGLE_SIZE                                      0x00000304
-#define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_W_SHIFT                             0
-#define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_W_MASK                              0x0000ffff
-#define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_H_SHIFT                             16
-#define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_H_MASK                              0xffff0000
-
-
-#define NV01_RENDER_SOLID_LINE                                                 0x0000001c
-
-#define  NV01_RENDER_SOLID_LINE_NOP                                            0x00000104
-#define  NV01_RENDER_SOLID_LINE_NOTIFY                                         0x00000104
-#define  NV01_RENDER_SOLID_LINE_PATCH                                          0x0000010c
-#define  NV01_RENDER_SOLID_LINE_DMA_NOTIFY                                     0x00000180
-#define  NV01_RENDER_SOLID_LINE_CLIP_RECTANGLE                                 0x00000184
-#define  NV01_RENDER_SOLID_LINE_PATTERN                                                0x00000188
-#define  NV01_RENDER_SOLID_LINE_ROP                                            0x0000018c
-#define  NV01_RENDER_SOLID_LINE_BETA1                                          0x00000190
-#define  NV01_RENDER_SOLID_LINE_SURFACE                                                0x00000194
-#define  NV01_RENDER_SOLID_LINE_OPERATION                                      0x000002fc
-#define  NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY_AND                          0x00000000
-#define  NV01_RENDER_SOLID_LINE_OPERATION_ROP_AND                              0x00000001
-#define  NV01_RENDER_SOLID_LINE_OPERATION_BLEND_AND                            0x00000002
-#define  NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY_PREMULT                      0x00000003
-#define  NV01_RENDER_SOLID_LINE_OPERATION_BLEND_PREMULT                                0x00000004
-#define  NV01_RENDER_SOLID_LINE_COLOR_FORMAT                                   0x00000300
-#define  NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16A8Y8                           0x00000001
-#define  NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X24Y8                             0x00000002
-#define  NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16A1R5G5B5                       0x00000003
-#define  NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X17R5G5B5                         0x00000004
-#define  NV01_RENDER_SOLID_LINE_COLOR_FORMAT_A8R8G8B8                          0x00000005
-#define  NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X8R8G8B8                          0x00000006
-#define  NV01_RENDER_SOLID_LINE_COLOR_FORMAT_A16Y16                            0x00000007
-#define  NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16Y16                            0x00000008
-#define  NV01_RENDER_SOLID_LINE_COLOR                                          0x00000304
-#define  NV01_RENDER_SOLID_LINE_LINE_POINT0(x)                                 (0x00000400+((x)*8))
-#define  NV01_RENDER_SOLID_LINE_LINE_POINT0__SIZE                              0x00000010
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT0_X_SHIFT                           0
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT0_X_MASK                            0x0000ffff
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT0_Y_SHIFT                           16
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT0_Y_MASK                            0xffff0000
-#define  NV01_RENDER_SOLID_LINE_LINE_POINT1(x)                                 (0x00000404+((x)*8))
-#define  NV01_RENDER_SOLID_LINE_LINE_POINT1__SIZE                              0x00000010
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT1_X_SHIFT                           0
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT1_X_MASK                            0x0000ffff
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT1_Y_SHIFT                           16
-#define   NV01_RENDER_SOLID_LINE_LINE_POINT1_Y_MASK                            0xffff0000
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_X(x)                             (0x00000480+((x)*16))
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_X__SIZE                          0x00000010
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_Y(x)                             (0x00000484+((x)*16))
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_Y__SIZE                          0x00000010
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_X(x)                             (0x00000488+((x)*16))
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_X__SIZE                          0x00000010
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_Y(x)                             (0x0000048c+((x)*16))
-#define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_Y__SIZE                          0x00000010
-#define  NV01_RENDER_SOLID_LINE_POLYLINE(x)                                    (0x00000500+((x)*4))
-#define  NV01_RENDER_SOLID_LINE_POLYLINE__SIZE                                 0x00000020
-#define   NV01_RENDER_SOLID_LINE_POLYLINE_X_SHIFT                              0
-#define   NV01_RENDER_SOLID_LINE_POLYLINE_X_MASK                               0x0000ffff
-#define   NV01_RENDER_SOLID_LINE_POLYLINE_Y_SHIFT                              16
-#define   NV01_RENDER_SOLID_LINE_POLYLINE_Y_MASK                               0xffff0000
-#define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_X(x)                          (0x00000580+((x)*8))
-#define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_X__SIZE                       0x00000010
-#define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_Y(x)                          (0x00000584+((x)*8))
-#define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_Y__SIZE                       0x00000010
-#define  NV01_RENDER_SOLID_LINE_CPOLYLINE_COLOR(x)                             (0x00000600+((x)*8))
-#define  NV01_RENDER_SOLID_LINE_CPOLYLINE_COLOR__SIZE                          0x00000010
-#define  NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT(x)                             (0x00000604+((x)*8))
-#define  NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT__SIZE                          0x00000010
-#define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_X_SHIFT                       0
-#define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_X_MASK                                0x0000ffff
-#define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_Y_SHIFT                       16
-#define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_Y_MASK                                0xffff0000
-
-
-#define NV01_RENDER_SOLID_TRIANGLE                                             0x0000001d
-
-#define  NV01_RENDER_SOLID_TRIANGLE_NOP                                                0x00000100
-#define  NV01_RENDER_SOLID_TRIANGLE_NOTIFY                                     0x00000104
-#define  NV01_RENDER_SOLID_TRIANGLE_PATCH                                      0x0000010c
-#define  NV01_RENDER_SOLID_TRIANGLE_DMA_NOTIFY                                 0x00000180
-#define  NV01_RENDER_SOLID_TRIANGLE_CLIP_RECTANGLE                             0x00000184
-#define  NV01_RENDER_SOLID_TRIANGLE_PATTERN                                    0x00000188
-#define  NV01_RENDER_SOLID_TRIANGLE_ROP                                                0x0000018c
-#define  NV01_RENDER_SOLID_TRIANGLE_BETA1                                      0x00000190
-#define  NV01_RENDER_SOLID_TRIANGLE_SURFACE                                    0x00000194
-#define  NV01_RENDER_SOLID_TRIANGLE_OPERATION                                  0x000002fc
-#define  NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY_AND                      0x00000000
-#define  NV01_RENDER_SOLID_TRIANGLE_OPERATION_ROP_AND                          0x00000001
-#define  NV01_RENDER_SOLID_TRIANGLE_OPERATION_BLEND_AND                                0x00000002
-#define  NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY_PREMULT                  0x00000003
-#define  NV01_RENDER_SOLID_TRIANGLE_OPERATION_BLEND_PREMULT                    0x00000004
-#define  NV01_RENDER_SOLID_TRIANGLE_COLOR_FORMAT                               0x00000300
-#define  NV01_RENDER_SOLID_TRIANGLE_COLOR                                      0x00000304
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0                            0x00000310
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_X_SHIFT                   0
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_X_MASK                    0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_Y_SHIFT                   16
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_Y_MASK                    0xffff0000
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1                            0x00000314
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_X_SHIFT                   0
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_X_MASK                    0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_Y_SHIFT                   16
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_Y_MASK                    0xffff0000
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2                            0x00000318
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_X_SHIFT                   0
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_X_MASK                    0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_Y_SHIFT                   16
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_Y_MASK                    0xffff0000
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT0_X                                0x00000320
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT0_Y                                0x00000324
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT1_X                                0x00000328
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT1_Y                                0x0000032c
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT2_X                                0x00000330
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT2_Y                                0x00000334
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH(x)                                 (0x00000400+((x)*4))
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH__SIZE                              0x00000020
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_X_SHIFT                           0
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_X_MASK                            0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_Y_SHIFT                           16
-#define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_Y_MASK                            0xffff0000
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_X(x)                       (0x00000480+((x)*8))
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_X__SIZE                    0x00000010
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_Y(x)                       (0x00000484+((x)*8))
-#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_Y__SIZE                    0x00000010
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_COLOR(x)                         (0x00000500+((x)*16))
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_COLOR__SIZE                      0x00000008
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0(x)                                (0x00000504+((x)*16))
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0__SIZE                     0x00000008
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_X_SHIFT                  0
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_X_MASK                   0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_Y_SHIFT                  16
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_Y_MASK                   0xffff0000
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1(x)                                (0x00000508+((x)*16))
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1__SIZE                     0x00000008
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_X_SHIFT                  0
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_X_MASK                   0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_Y_SHIFT                  16
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_Y_MASK                   0xffff0000
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2(x)                                (0x0000050c+((x)*16))
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2__SIZE                     0x00000008
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_X_SHIFT                  0
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_X_MASK                   0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_Y_SHIFT                  16
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_Y_MASK                   0xffff0000
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_COLOR(x)                          (0x00000580+((x)*8))
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_COLOR__SIZE                       0x00000010
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT(x)                          (0x00000584+((x)*8))
-#define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT__SIZE                       0x00000010
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_X_SHIFT                    0
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_X_MASK                     0x0000ffff
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_Y_SHIFT                    16
-#define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_Y_MASK                     0xffff0000
-
-
-#define NV01_RENDER_SOLID_RECTANGLE                                            0x0000001e
-
-#define  NV01_RENDER_SOLID_RECTANGLE_NOP                                       0x00000100
-#define  NV01_RENDER_SOLID_RECTANGLE_NOTIFY                                    0x00000104
-#define  NV01_RENDER_SOLID_RECTANGLE_PATCH                                     0x0000010c
-#define  NV01_RENDER_SOLID_RECTANGLE_DMA_NOTIFY                                        0x00000180
-#define  NV01_RENDER_SOLID_RECTANGLE_CLIP_RECTANGLE                            0x00000184
-#define  NV01_RENDER_SOLID_RECTANGLE_PATTERN                                   0x00000188
-#define  NV01_RENDER_SOLID_RECTANGLE_ROP                                       0x0000018c
-#define  NV01_RENDER_SOLID_RECTANGLE_BETA1                                     0x00000190
-#define  NV01_RENDER_SOLID_RECTANGLE_SURFACE                                   0x00000194
-#define  NV01_RENDER_SOLID_RECTANGLE_OPERATION                                 0x000002fc
-#define  NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY_AND                     0x00000000
-#define  NV01_RENDER_SOLID_RECTANGLE_OPERATION_ROP_AND                         0x00000001
-#define  NV01_RENDER_SOLID_RECTANGLE_OPERATION_BLEND_AND                       0x00000002
-#define  NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY_PREMULT                 0x00000003
-#define  NV01_RENDER_SOLID_RECTANGLE_OPERATION_BLEND_PREMULT                   0x00000004
-#define  NV01_RENDER_SOLID_RECTANGLE_COLOR_FORMAT                              0x00000300
-#define  NV01_RENDER_SOLID_RECTANGLE_COLOR                                     0x00000304
-#define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT(x)                                (0x00000400+((x)*8))
-#define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT__SIZE                     0x00000010
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_X_SHIFT                  0
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_X_MASK                   0x0000ffff
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_Y_SHIFT                  16
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_Y_MASK                   0xffff0000
-#define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE(x)                         (0x00000404+((x)*8))
-#define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE__SIZE                      0x00000010
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_W_SHIFT                   0
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_W_MASK                    0x0000ffff
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_H_SHIFT                   16
-#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_H_MASK                    0xffff0000
-
-
-#define NV01_IMAGE_BLIT                                                                0x0000001f
-
-#define  NV01_IMAGE_BLIT_NOP                                                   0x00000100
-#define  NV01_IMAGE_BLIT_NOTIFY                                                        0x00000104
-#define  NV01_IMAGE_BLIT_PATCH                                                 0x0000010c
-#define  NV01_IMAGE_BLIT_DMA_NOTIFY                                            0x00000180
-#define  NV01_IMAGE_BLIT_COLOR_KEY                                             0x00000184
-#define  NV01_IMAGE_BLIT_CLIP_RECTANGLE                                                0x00000188
-#define  NV01_IMAGE_BLIT_PATTERN                                               0x0000018c
-#define  NV01_IMAGE_BLIT_ROP                                                   0x00000190
-#define  NV01_IMAGE_BLIT_BETA1                                                 0x00000194
-#define  NV01_IMAGE_BLIT_SURFACE                                               0x0000019c
-#define  NV01_IMAGE_BLIT_OPERATION                                             0x000002fc
-#define  NV01_IMAGE_BLIT_IMAGE_INPUT                                           0x00000204
-#define  NV01_IMAGE_BLIT_POINT_IN                                              0x00000300
-#define   NV01_IMAGE_BLIT_POINT_IN_X_SHIFT                                     0
-#define   NV01_IMAGE_BLIT_POINT_IN_X_MASK                                      0x0000ffff
-#define   NV01_IMAGE_BLIT_POINT_IN_Y_SHIFT                                     16
-#define   NV01_IMAGE_BLIT_POINT_IN_Y_MASK                                      0xffff0000
-#define  NV01_IMAGE_BLIT_POINT_OUT                                             0x00000304
-#define   NV01_IMAGE_BLIT_POINT_OUT_X_SHIFT                                    0
-#define   NV01_IMAGE_BLIT_POINT_OUT_X_MASK                                     0x0000ffff
-#define   NV01_IMAGE_BLIT_POINT_OUT_Y_SHIFT                                    16
-#define   NV01_IMAGE_BLIT_POINT_OUT_Y_MASK                                     0xffff0000
-#define  NV01_IMAGE_BLIT_SIZE                                                  0x00000308
-#define   NV01_IMAGE_BLIT_SIZE_W_SHIFT                                         0
-#define   NV01_IMAGE_BLIT_SIZE_W_MASK                                          0x0000ffff
-#define   NV01_IMAGE_BLIT_SIZE_H_SHIFT                                         16
-#define   NV01_IMAGE_BLIT_SIZE_H_MASK                                          0xffff0000
-
-
-#define NV01_IMAGE_FROM_CPU                                                    0x00000021
-
-#define  NV01_IMAGE_FROM_CPU_NOP                                               0x00000100
-#define  NV01_IMAGE_FROM_CPU_NOTIFY                                            0x00000104
-#define  NV01_IMAGE_FROM_CPU_PATCH                                             0x0000010c
-#define  NV01_IMAGE_FROM_CPU_DMA_NOTIFY                                                0x00000180
-#define  NV01_IMAGE_FROM_CPU_COLOR_KEY                                         0x00000184
-#define  NV01_IMAGE_FROM_CPU_CLIP_RECTANGLE                                    0x00000188
-#define  NV01_IMAGE_FROM_CPU_PATTERN                                           0x0000018c
-#define  NV01_IMAGE_FROM_CPU_ROP                                               0x00000190
-#define  NV01_IMAGE_FROM_CPU_BETA1                                             0x00000194
-#define  NV01_IMAGE_FROM_CPU_SURFACE                                           0x00000198
-#define  NV01_IMAGE_FROM_CPU_OPERATION                                         0x000002fc
-#define  NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY_AND                             0x00000000
-#define  NV01_IMAGE_FROM_CPU_OPERATION_ROP_AND                                 0x00000001
-#define  NV01_IMAGE_FROM_CPU_OPERATION_BLEND_AND                               0x00000002
-#define  NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY_PREMULT                         0x00000003
-#define  NV01_IMAGE_FROM_CPU_OPERATION_BLEND_PREMULT                           0x00000004
-#define  NV01_IMAGE_FROM_CPU_COLOR_FORMAT                                      0x00000300
-#define  NV01_IMAGE_FROM_CPU_COLOR_FORMAT_Y8                                   0x00000001
-#define  NV01_IMAGE_FROM_CPU_COLOR_FORMAT_A1R5G5B5                             0x00000002
-#define  NV01_IMAGE_FROM_CPU_COLOR_FORMAT_X1R5G5B5                             0x00000003
-#define  NV01_IMAGE_FROM_CPU_COLOR_FORMAT_A8R8G8B8                             0x00000004
-#define  NV01_IMAGE_FROM_CPU_COLOR_FORMAT_X8R8G8B8                             0x00000005
-#define  NV01_IMAGE_FROM_CPU_POINT                                             0x00000304
-#define   NV01_IMAGE_FROM_CPU_POINT_X_SHIFT                                    0
-#define   NV01_IMAGE_FROM_CPU_POINT_X_MASK                                     0x0000ffff
-#define   NV01_IMAGE_FROM_CPU_POINT_Y_SHIFT                                    16
-#define   NV01_IMAGE_FROM_CPU_POINT_Y_MASK                                     0xffff0000
-#define  NV01_IMAGE_FROM_CPU_SIZE_OUT                                          0x00000308
-#define   NV01_IMAGE_FROM_CPU_SIZE_OUT_W_SHIFT                                 0
-#define   NV01_IMAGE_FROM_CPU_SIZE_OUT_W_MASK                                  0x0000ffff
-#define   NV01_IMAGE_FROM_CPU_SIZE_OUT_H_SHIFT                                 16
-#define   NV01_IMAGE_FROM_CPU_SIZE_OUT_H_MASK                                  0xffff0000
-#define  NV01_IMAGE_FROM_CPU_SIZE_IN                                           0x0000030c
-#define   NV01_IMAGE_FROM_CPU_SIZE_IN_W_SHIFT                                  0
-#define   NV01_IMAGE_FROM_CPU_SIZE_IN_W_MASK                                   0x0000ffff
-#define   NV01_IMAGE_FROM_CPU_SIZE_IN_H_SHIFT                                  16
-#define   NV01_IMAGE_FROM_CPU_SIZE_IN_H_MASK                                   0xffff0000
-#define  NV01_IMAGE_FROM_CPU_COLOR(x)                                          (0x00000400+((x)*4))
-#define  NV01_IMAGE_FROM_CPU_COLOR__SIZE                                       0x00000020
-
-
-#define NV01_NULL                                                              0x00000030
-
-
-
-#define NV03_STRETCHED_IMAGE_FROM_CPU                                          0x00000036
-
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_NOP                                     0x00000100
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_NOTIFY                                  0x00000104
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_PATCH                                   0x0000010c
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_DMA_NOTIFY                              0x00000180
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR_KEY                               0x00000184
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_PATTERN                                 0x00000188
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_ROP                                     0x0000018c
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_BETA1                                   0x00000190
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_SURFACE                                 0x00000194
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_OPERATION                               0x000002fc
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR_FORMAT                            0x00000300
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN                                 0x00000304
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_W_SHIFT                                0
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_W_MASK                         0x0000ffff
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_H_SHIFT                                16
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_H_MASK                         0xffff0000
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_DX_DU                                   0x00000308
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_DY_DV                                   0x0000030c
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT                              0x00000310
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_X_SHIFT                     0
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_X_MASK                      0x0000ffff
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_Y_SHIFT                     16
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_Y_MASK                      0xffff0000
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE                               0x00000314
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_W_SHIFT                      0
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_W_MASK                       0x0000ffff
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_H_SHIFT                      16
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_H_MASK                       0xffff0000
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4                               0x00000318
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_X_SHIFT                      0
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_X_MASK                       0x0000ffff
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_Y_SHIFT                      16
-#define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_Y_MASK                       0xffff0000
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR(x)                                        (0x00000400+((x)*4))
-#define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR__SIZE                             0x00000020
-
-
-#define NV03_SCALED_IMAGE_FROM_MEMORY                                          0x00000037
-
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_NOP                                     0x00000100
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_NOTIFY                                  0x00000104
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_DMA_NOTIFY                              0x00000180
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_DMA_IMAGE                               0x00000184
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_PATTERN                                 0x00000188
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_ROP                                     0x0000018c
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_BETA1                                   0x00000190
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_SURFACE                                 0x00000194
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT                            0x00000300
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A1R5G5B5                   0x00000001
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X1R5G5B5                   0x00000002
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A8R8G8B8                   0x00000003
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X8R8G8B8                   0x00000004
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_V8YB8U8YA8                 0x00000005
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_YB8V8YA8U8                 0x00000006
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_R5G6B5                     0x00000007
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_Y8                         0x00000008
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_AY8                                0x00000009
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION                               0x00000304
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_AND                   0x00000000
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_ROP_AND                       0x00000001
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_AND                     0x00000002
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_PREMULT               0x00000003
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_PREMULT                 0x00000004
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT                              0x00000308
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_SHIFT                     0
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_MASK                      0x0000ffff
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_SHIFT                     16
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_MASK                      0xffff0000
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE                               0x0000030c
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_SHIFT                      0
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_MASK                       0x0000ffff
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_SHIFT                      16
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_MASK                       0xffff0000
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT                         0x00000310
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT_X_SHIFT                        0
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT_X_MASK                 0x0000ffff
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT_Y_SHIFT                        16
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT_Y_MASK                 0xffff0000
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE                          0x00000314
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE_W_SHIFT                 0
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE_W_MASK                  0x0000ffff
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE_H_SHIFT                 16
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE_H_MASK                  0xffff0000
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_DELTA_DU_DX                             0x00000318
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_DELTA_DV_DY                             0x0000031c
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE                           0x00000400
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE_W_SHIFT                  0
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE_W_MASK                   0x0000ffff
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE_H_SHIFT                  16
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE_H_MASK                   0xffff0000
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT                         0x00000404
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_PITCH_SHIFT            0
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_PITCH_MASK             0x0000ffff
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_ORIGIN_SHIFT           16
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_ORIGIN_MASK            0x00ff0000
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_ORIGIN_CENTER          0x00000001
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_ORIGIN_CORNER          0x00000002
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_INTERPOLATOR_SHIFT     24
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_INTERPOLATOR_MASK      0xff000000
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_OFFSET                         0x00000408
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT                          0x0000040c
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT_U_SHIFT                 0
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT_U_MASK                  0x0000ffff
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT_V_SHIFT                 16
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT_V_MASK                  0xffff0000
-
-
-#define NV04_DVD_SUBPICTURE                                                    0x00000038
-
-#define  NV04_DVD_SUBPICTURE_NOP                                               0x00000100
-#define  NV04_DVD_SUBPICTURE_NOTIFY                                            0x00000104
-#define  NV04_DVD_SUBPICTURE_WAIT_FOR_IDLE                                     0x00000108
-#define  NV04_DVD_SUBPICTURE_DMA_NOTIFY                                                0x00000180
-#define  NV04_DVD_SUBPICTURE_DMA_OVERLAY                                       0x00000184
-#define  NV04_DVD_SUBPICTURE_DMA_IMAGEIN                                       0x00000188
-#define  NV04_DVD_SUBPICTURE_DMA_IMAGEOUT                                      0x0000018c
-#define  NV04_DVD_SUBPICTURE_IMAGEOUT_POINT                                    0x00000300
-#define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_X_SHIFT                           0
-#define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_X_MASK                            0x0000ffff
-#define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_Y_SHIFT                           16
-#define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_Y_MASK                            0xffff0000
-#define  NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE                                     0x00000304
-#define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_W_SHIFT                            0
-#define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_W_MASK                             0x0000ffff
-#define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_H_SHIFT                            16
-#define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_H_MASK                             0xffff0000
-#define  NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT                                   0x00000308
-#define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_PITCH_SHIFT                      0
-#define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_PITCH_MASK                       0x0000ffff
-#define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_COLOR_SHIFT                      16
-#define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_COLOR_MASK                       0xffff0000
-#define  NV04_DVD_SUBPICTURE_IMAGEOUT_OFFSET                                   0x0000030c
-#define  NV04_DVD_SUBPICTURE_IMAGEIN_DELTA_DU_DX                               0x00000310
-#define  NV04_DVD_SUBPICTURE_IMAGEIN_DELTA_DV_DY                               0x00000314
-#define  NV04_DVD_SUBPICTURE_IMAGEIN_SIZE                                      0x00000318
-#define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_W_SHIFT                             0
-#define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_W_MASK                              0x0000ffff
-#define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_H_SHIFT                             16
-#define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_H_MASK                              0xffff0000
-#define  NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT                                    0x0000031c
-#define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_PITCH_SHIFT                       0
-#define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_PITCH_MASK                                0x0000ffff
-#define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_COLOR_SHIFT                       16
-#define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_COLOR_MASK                                0xffff0000
-#define  NV04_DVD_SUBPICTURE_IMAGEIN_OFFSET                                    0x00000320
-#define  NV04_DVD_SUBPICTURE_IMAGEIN_POINT                                     0x00000324
-#define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_U_SHIFT                            0
-#define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_U_MASK                             0x0000ffff
-#define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_V_SHIFT                            16
-#define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_V_MASK                             0xffff0000
-#define  NV04_DVD_SUBPICTURE_OVERLAY_DELTA_DU_DX                               0x00000328
-#define  NV04_DVD_SUBPICTURE_OVERLAY_DELTA_DV_DY                               0x0000032c
-#define  NV04_DVD_SUBPICTURE_OVERLAY_SIZE                                      0x00000330
-#define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_W_SHIFT                             0
-#define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_W_MASK                              0x0000ffff
-#define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_H_SHIFT                             16
-#define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_H_MASK                              0xffff0000
-#define  NV04_DVD_SUBPICTURE_OVERLAY_FORMAT                                    0x00000334
-#define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_PITCH_SHIFT                       0
-#define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_PITCH_MASK                                0x0000ffff
-#define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_COLOR_SHIFT                       16
-#define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_COLOR_MASK                                0xffff0000
-#define  NV04_DVD_SUBPICTURE_OVERLAY_OFFSET                                    0x00000338
-#define  NV04_DVD_SUBPICTURE_OVERLAY_POINT                                     0x0000033c
-#define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_U_SHIFT                            0
-#define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_U_MASK                             0x0000ffff
-#define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_V_SHIFT                            16
-#define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_V_MASK                             0xffff0000
-
-
-#define NV_MEMORY_TO_MEMORY_FORMAT                                             0x00000039
-
-#define  NV_MEMORY_TO_MEMORY_FORMAT_NOP                                                0x00000100
-#define  NV_MEMORY_TO_MEMORY_FORMAT_NOTIFY                                     0x00000104
-#define  NV_MEMORY_TO_MEMORY_FORMAT_DMA_NOTIFY                                 0x00000180
-#define  NV_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_IN                              0x00000184
-#define  NV_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_OUT                             0x00000188
-#define  NV_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN                                  0x0000030c
-#define  NV_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT                                 0x00000310
-#define  NV_MEMORY_TO_MEMORY_FORMAT_PITCH_IN                                   0x00000314
-#define  NV_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT                                  0x00000318
-#define  NV_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN                             0x0000031c
-#define  NV_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT                                 0x00000320
-#define  NV_MEMORY_TO_MEMORY_FORMAT_FORMAT                                     0x00000324
-#define   NV_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_SHIFT                    0
-#define   NV_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_MASK                     0x0000000f
-#define   NV_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_SHIFT                   8
-#define   NV_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_MASK                    0x00000f00
-#define  NV_MEMORY_TO_MEMORY_FORMAT_BUF_NOTIFY                                 0x00000328
-
-
-#define NV01_MEMORY_LOCAL_BANKED                                               0x0000003d
-
-
-
-#define NV01_MAPPING_SYSTEM                                                    0x0000003e
-
-
-
-#define NV03_MEMORY_LOCAL_CURSOR                                               0x0000003f
-
-
-
-#define NV01_MEMORY_LOCAL_LINEAR                                               0x00000040
-
-
-
-#define NV01_MAPPING_LOCAL                                                     0x00000041
-
-
-
-#define NV04_CONTEXT_SURFACES_2D                                               0x00000042
-
-#define  NV04_CONTEXT_SURFACES_2D_NOP                                          0x00000100
-#define  NV04_CONTEXT_SURFACES_2D_NOTIFY                                       0x00000104
-#define  NV04_CONTEXT_SURFACES_2D_PM_TRIGGER                                   0x00000140
-#define  NV04_CONTEXT_SURFACES_2D_DMA_NOTIFY                                   0x00000180
-#define  NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_SOURCE                             0x00000184
-#define  NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_DESTIN                             0x00000188
-#define  NV04_CONTEXT_SURFACES_2D_FORMAT                                       0x00000300
-#define  NV04_CONTEXT_SURFACES_2D_FORMAT_Y8                                    0x00000001
-#define  NV04_CONTEXT_SURFACES_2D_FORMAT_X1R5G5B5_Z1R5G5B5                     0x00000002
-#define  NV04_CONTEXT_SURFACES_2D_FORMAT_X1R5G5B5_X1R5G5B5                     0x00000003
-#define  NV04_CONTEXT_SURFACES_2D_FORMAT_R5G6B5                                        0x00000004
-#define  NV04_CONTEXT_SURFACES_2D_FORMAT_Y16                                   0x00000005
-#define  NV04_CONTEXT_SURFACES_2D_FORMAT_X8R8G8B8_Z8R8G8B8                     0x00000006
-#define  NV04_CONTEXT_SURFACES_2D_FORMAT_X8R8G8B8_X8R8G8B8                     0x00000007
-#define  NV04_CONTEXT_SURFACES_2D_FORMAT_X1A7R8G8B8_Z1A7R8G8B8                 0x00000008
-#define  NV04_CONTEXT_SURFACES_2D_FORMAT_X1A7R8G8B8_X1A7R8G8B8                 0x00000009
-#define  NV04_CONTEXT_SURFACES_2D_FORMAT_A8R8G8B8                              0x0000000a
-#define  NV04_CONTEXT_SURFACES_2D_FORMAT_Y32                                   0x0000000b
-#define  NV04_CONTEXT_SURFACES_2D_PITCH                                                0x00000304
-#define   NV04_CONTEXT_SURFACES_2D_PITCH_SOURCE_SHIFT                          0
-#define   NV04_CONTEXT_SURFACES_2D_PITCH_SOURCE_MASK                           0x0000ffff
-#define   NV04_CONTEXT_SURFACES_2D_PITCH_DESTIN_SHIFT                          16
-#define   NV04_CONTEXT_SURFACES_2D_PITCH_DESTIN_MASK                           0xffff0000
-#define  NV04_CONTEXT_SURFACES_2D_OFFSET_SOURCE                                        0x00000308
-#define  NV04_CONTEXT_SURFACES_2D_OFFSET_DESTIN                                        0x0000030c
-
-
-#define NV03_CONTEXT_ROP                                                       0x00000043
-
-#define  NV03_CONTEXT_ROP_NOP                                                  0x00000100
-#define  NV03_CONTEXT_ROP_NOTIFY                                               0x00000104
-#define  NV03_CONTEXT_ROP_DMA_NOTIFY                                           0x00000180
-#define  NV03_CONTEXT_ROP_ROP                                                  0x00000300
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_SHIFT                                    0
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_MASK                                     0x0000000f
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_CLEAR                                    0x00000000
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_NOR                                      0x00000001
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_AND_INVERTED                             0x00000002
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_COPY_INVERTED                            0x00000003
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_AND_REVERSE                              0x00000004
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_INVERT                                   0x00000005
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_XOR                                      0x00000006
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_NAND                                     0x00000007
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_AND                                      0x00000008
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_EQUI                                     0x00000009
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_NOOP                                     0x0000000a
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_OR_INVERTED                              0x0000000b
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_COPY                                     0x0000000c
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_OR_REVERSE                               0x0000000d
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_OR                                       0x0000000e
-#define   NV03_CONTEXT_ROP_ROP_VALUE0_SET                                      0x0000000f
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_SHIFT                                    4
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_MASK                                     0x000000f0
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_CLEAR                                    0x00000000
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_NOR                                      0x00000001
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_AND_INVERTED                             0x00000002
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_COPY_INVERTED                            0x00000003
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_AND_REVERSE                              0x00000004
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_INVERT                                   0x00000005
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_XOR                                      0x00000006
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_NAND                                     0x00000007
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_AND                                      0x00000008
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_EQUI                                     0x00000009
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_NOOP                                     0x0000000a
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_OR_INVERTED                              0x0000000b
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_COPY                                     0x0000000c
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_OR_REVERSE                               0x0000000d
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_OR                                       0x0000000e
-#define   NV03_CONTEXT_ROP_ROP_VALUE1_SET                                      0x0000000f
-
-
-#define NV04_IMAGE_PATTERN                                                     0x00000044
-
-#define  NV04_IMAGE_PATTERN_NOP                                                        0x00000100
-#define  NV04_IMAGE_PATTERN_NOTIFY                                             0x00000104
-#define  NV04_IMAGE_PATTERN_DMA_NOTIFY                                         0x00000180
-#define  NV04_IMAGE_PATTERN_COLOR_FORMAT                                       0x00000300
-#define  NV04_IMAGE_PATTERN_COLOR_FORMAT_A16R5G6B5                             0x00000001
-#define  NV04_IMAGE_PATTERN_COLOR_FORMAT_X16A1R5G5B5                           0x00000002
-#define  NV04_IMAGE_PATTERN_COLOR_FORMAT_A8R8G8B8                              0x00000003
-#define  NV04_IMAGE_PATTERN_MONOCHROME_FORMAT                                  0x00000304
-#define  NV04_IMAGE_PATTERN_MONOCHROME_FORMAT_CGA6                             0x00000001
-#define  NV04_IMAGE_PATTERN_MONOCHROME_FORMAT_LE                               0x00000002
-#define  NV04_IMAGE_PATTERN_MONOCHROME_SHAPE                                   0x00000308
-#define  NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_8X8                               0x00000000
-#define  NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_64X1                              0x00000001
-#define  NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_1X64                              0x00000002
-#define  NV04_IMAGE_PATTERN_PATTERN_SELECT                                     0x0000030c
-#define  NV04_IMAGE_PATTERN_PATTERN_SELECT_MONO                                        0x00000001
-#define  NV04_IMAGE_PATTERN_PATTERN_SELECT_COLOR                               0x00000002
-#define  NV04_IMAGE_PATTERN_MONOCHROME_COLOR0                                  0x00000310
-#define  NV04_IMAGE_PATTERN_MONOCHROME_COLOR1                                  0x00000314
-#define  NV04_IMAGE_PATTERN_MONOCHROME_PATTERN0                                        0x00000318
-#define  NV04_IMAGE_PATTERN_MONOCHROME_PATTERN1                                        0x0000031c
-#define  NV04_IMAGE_PATTERN_PATTERN_Y8(x)                                      (0x00000400+((x)*4))
-#define  NV04_IMAGE_PATTERN_PATTERN_Y8__SIZE                                   0x00000010
-#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y0_SHIFT                               0
-#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y0_MASK                                        0x000000ff
-#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y1_SHIFT                               8
-#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y1_MASK                                        0x0000ff00
-#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y2_SHIFT                               16
-#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y2_MASK                                        0x00ff0000
-#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y3_SHIFT                               24
-#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y3_MASK                                        0xff000000
-#define  NV04_IMAGE_PATTERN_PATTERN_R5G6B5(x)                                  (0x00000500+((x)*4))
-#define  NV04_IMAGE_PATTERN_PATTERN_R5G6B5__SIZE                               0x00000020
-#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B0_SHIFT                           0
-#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B0_MASK                            0x0000001f
-#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G0_SHIFT                           5
-#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G0_MASK                            0x000007e0
-#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R0_SHIFT                           11
-#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R0_MASK                            0x0000f800
-#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B1_SHIFT                           16
-#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B1_MASK                            0x001f0000
-#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G1_SHIFT                           21
-#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G1_MASK                            0x07e00000
-#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R1_SHIFT                           27
-#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R1_MASK                            0xf8000000
-#define  NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5(x)                                        (0x00000600+((x)*4))
-#define  NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5__SIZE                             0x00000020
-#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B0_SHIFT                         0
-#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B0_MASK                          0x0000001f
-#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G0_SHIFT                         5
-#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G0_MASK                          0x000003e0
-#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R0_SHIFT                         10
-#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R0_MASK                          0x00007c00
-#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B1_SHIFT                         16
-#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B1_MASK                          0x001f0000
-#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G1_SHIFT                         21
-#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G1_MASK                          0x03e00000
-#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R1_SHIFT                         26
-#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R1_MASK                          0x7c000000
-#define  NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8(x)                                        (0x00000700+((x)*4))
-#define  NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8__SIZE                             0x00000040
-#define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_B_SHIFT                          0
-#define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_B_MASK                           0x000000ff
-#define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_G_SHIFT                          8
-#define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_G_MASK                           0x0000ff00
-#define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_R_SHIFT                          16
-#define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_R_MASK                           0x00ff0000
-
-
-#define NV03_VIDEO_LUT_CURSOR_DAC                                              0x00000046
-
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SYNCHRONIZE                                 0x00000100
-#define  NV03_VIDEO_LUT_CURSOR_DAC_STOP_IMAGE                                  0x00000104
-#define  NV03_VIDEO_LUT_CURSOR_DAC_STOP_CURSOR                                 0x00000108
-#define  NV03_VIDEO_LUT_CURSOR_DAC_STOP_DAC                                    0x0000010c
-#define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_NOTIFY                                  0x00000180
-#define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_IMAGE(x)                                        (0x00000184+((x)*4))
-#define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_IMAGE__SIZE                             0x00000002
-#define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_LUT(x)                                  (0x0000018c+((x)*4))
-#define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_LUT__SIZE                               0x00000002
-#define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_CURSOR(x)                               (0x00000194+((x)*4))
-#define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_CURSOR__SIZE                            0x00000002
-#define  NV03_VIDEO_LUT_CURSOR_DAC_GET                                         0x000002fc
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_OFFSET(x)                         (0x00000300+((x)*8))
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_OFFSET__SIZE                      0x00000002
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT(x)                         (0x00000304+((x)*8))
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT__SIZE                      0x00000002
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_PITCH_SHIFT               0
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_PITCH_MASK                        0x0000ffff
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_COLOR_SHIFT               16
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_COLOR_MASK                        0x0fff0000
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_NOTIFY_SHIFT              28
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_NOTIFY_MASK               0xf0000000
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_OFFSET(x)                                (0x00000340+((x)*12))
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_OFFSET__SIZE                     0x00000002
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT(x)                     (0x00000344+((x)*12))
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT__SIZE                  0x00000002
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_X_SHIFT               0
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_X_MASK                        0x0000ffff
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_Y_SHIFT               16
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_Y_MASK                        0xffff0000
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_FORMAT(x)                                (0x00000348+((x)*12))
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_FORMAT__SIZE                     0x00000002
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A                      0x00000358
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_X_SHIFT             0
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_X_MASK              0x0000ffff
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_Y_SHIFT             16
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_Y_MASK              0xffff0000
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE(x)                       (0x00000380+((x)*16))
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE__SIZE                    0x00000002
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_W_SHIFT                 0
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_W_MASK                  0x0000ffff
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_H_SHIFT                 16
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_H_MASK                  0xffff0000
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC(x)                            (0x00000384+((x)*16))
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC__SIZE                         0x00000002
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_START_SHIFT                  0
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_START_MASK                   0x0000ffff
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_WIDTH_SHIFT                  16
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_WIDTH_MASK                   0x0fff0000
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_POLARITY_SHIFT               28
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_POLARITY_MASK                        0xf0000000
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC(x)                            (0x00000388+((x)*16))
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC__SIZE                         0x00000002
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_START_SHIFT                  0
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_START_MASK                   0x0000ffff
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_WIDTH_SHIFT                  16
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_WIDTH_MASK                   0x0fff0000
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_POLARITY_SHIFT               28
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_POLARITY_MASK                        0xf0000000
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE(x)                       (0x0000038c+((x)*16))
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE__SIZE                    0x00000002
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_WIDTH_SHIFT             0
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_WIDTH_MASK              0x0000ffff
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_HEIGHT_SHIFT            16
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_HEIGHT_MASK             0x0fff0000
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_NOTIFY_SHIFT            28
-#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_NOTIFY_MASK             0xf0000000
-#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_PIXEL_CLOCK                             0x000003a0
-
-
-#define NV03_DX3_TEXTURED_TRIANGLE                                             0x00000048
-
-#define  NV03_DX3_TEXTURED_TRIANGLE_NOP                                                0x00000100
-#define  NV03_DX3_TEXTURED_TRIANGLE_NOTIFY                                     0x00000104
-#define  NV03_DX3_TEXTURED_TRIANGLE_PATCH                                      0x0000010c
-#define  NV03_DX3_TEXTURED_TRIANGLE_DMA_NOTIFY                                 0x00000180
-#define  NV03_DX3_TEXTURED_TRIANGLE_DMA_TEXTURE                                        0x00000184
-#define  NV03_DX3_TEXTURED_TRIANGLE_CLIP_RECTANGLE                             0x00000188
-#define  NV03_DX3_TEXTURED_TRIANGLE_SURFACE                                    0x0000018c
-#define  NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_OFFSET                             0x00000304
-#define  NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT                             0x00000308
-#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_MASK_SHIFT       0
-#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_MASK_MASK                0x0000ffff
-#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_ENABLE_SHIFT     16
-#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_ENABLE_MASK      0x000f0000
-#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_SHIFT                        20
-#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_MASK                 0x00f00000
-#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MIN_SHIFT             24
-#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MIN_MASK              0x0f000000
-#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MAX_SHIFT             28
-#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MAX_MASK              0xf0000000
-#define  NV03_DX3_TEXTURED_TRIANGLE_FILTER                                     0x0000030c
-#define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SPREAD_X_SHIFT                     0
-#define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SPREAD_X_MASK                      0x0000001f
-#define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SPREAD_Y_SHIFT                     8
-#define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SPREAD_Y_MASK                      0x00001f00
-#define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SIZE_ADJUST_SHIFT                  16
-#define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SIZE_ADJUST_MASK                   0x00ff0000
-#define  NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR                                  0x00000310
-#define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_B_SHIFT                         0
-#define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_B_MASK                          0x000000ff
-#define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_G_SHIFT                         8
-#define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_G_MASK                          0x0000ff00
-#define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_R_SHIFT                         16
-#define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_R_MASK                          0x00ff0000
-#define  NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT                                        0x00000314
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_INTERPOLATOR_SHIFT            0
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_INTERPOLATOR_MASK             0x0000000f
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_U_SHIFT                  4
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_U_MASK                   0x00000030
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_V_SHIFT                  6
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_V_MASK                   0x000000c0
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_SOURCE_COLOR_SHIFT            8
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_SOURCE_COLOR_MASK             0x00000f00
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_CULLING_SHIFT                 12
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_CULLING_MASK                  0x00007000
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_PERSPECTIVE_ENABLE          (1 << 15)
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_FUNC_SHIFT                  16
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_FUNC_MASK                   0x000f0000
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_WRITE_ENABLE_SHIFT          20
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_WRITE_ENABLE_MASK           0x00f00000
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_COLOR_WRITE_ENABLE_SHIFT      24
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_COLOR_WRITE_ENABLE_MASK       0x07000000
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_ROP_SHIFT                     27
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_ROP_MASK                      0x18000000
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_BETA                          (1 << 29)
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_DST_BLEND                     (1 << 30)
-#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_SRC_BLEND                     (1 << 31)
-#define  NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL                              0x00000318
-#define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_SHIFT             0
-#define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_MASK              0x000000ff
-#define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_SHIFT            8
-#define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_MASK             0xffffff00
-#define  NV03_DX3_TEXTURED_TRIANGLE_SPECULAR(x)                                        (0x00001000+((x)*32))
-#define  NV03_DX3_TEXTURED_TRIANGLE_SPECULAR__SIZE                             0x00000040
-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I0_SHIFT                         0
-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I0_MASK                          0x0000000f
-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I1_SHIFT                         4
-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I1_MASK                          0x000000f0
-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I2_SHIFT                         8
-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I2_MASK                          0x00000f00
-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I3_SHIFT                         12
-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I3_MASK                          0x0000f000
-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I4_SHIFT                         16
-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I4_MASK                          0x000f0000
-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I5_SHIFT                         20
-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I5_MASK                          0x00f00000
-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_FOG_SHIFT                                24
-#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_FOG_MASK                         0xff000000
-#define  NV03_DX3_TEXTURED_TRIANGLE_COLOR(x)                                   (0x00001004+((x)*32))
-#define  NV03_DX3_TEXTURED_TRIANGLE_COLOR__SIZE                                        0x00000040
-#define  NV03_DX3_TEXTURED_TRIANGLE_X(x)                                       (0x00001008+((x)*32))
-#define  NV03_DX3_TEXTURED_TRIANGLE_X__SIZE                                    0x00000040
-#define  NV03_DX3_TEXTURED_TRIANGLE_Y(x)                                       (0x0000100c+((x)*32))
-#define  NV03_DX3_TEXTURED_TRIANGLE_Y__SIZE                                    0x00000040
-#define  NV03_DX3_TEXTURED_TRIANGLE_Z(x)                                       (0x00001010+((x)*32))
-#define  NV03_DX3_TEXTURED_TRIANGLE_Z__SIZE                                    0x00000040
-#define  NV03_DX3_TEXTURED_TRIANGLE_M(x)                                       (0x00001014+((x)*32))
-#define  NV03_DX3_TEXTURED_TRIANGLE_M__SIZE                                    0x00000040
-#define  NV03_DX3_TEXTURED_TRIANGLE_U(x)                                       (0x00001018+((x)*32))
-#define  NV03_DX3_TEXTURED_TRIANGLE_U__SIZE                                    0x00000040
-#define  NV03_DX3_TEXTURED_TRIANGLE_V(x)                                       (0x0000101c+((x)*32))
-#define  NV03_DX3_TEXTURED_TRIANGLE_V__SIZE                                    0x00000040
-
-
-#define NV04_GDI_RECTANGLE_TEXT                                                        0x0000004a
-
-#define  NV04_GDI_RECTANGLE_TEXT_NOP                                           0x00000100
-#define  NV04_GDI_RECTANGLE_TEXT_NOTIFY                                                0x00000104
-#define  NV04_GDI_RECTANGLE_TEXT_PATCH                                         0x0000010c
-#define  NV04_GDI_RECTANGLE_TEXT_PM_TRIGGER                                    0x00000140
-#define  NV04_GDI_RECTANGLE_TEXT_DMA_NOTIFY                                    0x00000180
-#define  NV04_GDI_RECTANGLE_TEXT_DMA_FONTS                                     0x00000184
-#define  NV04_GDI_RECTANGLE_TEXT_PATTERN                                       0x00000188
-#define  NV04_GDI_RECTANGLE_TEXT_ROP                                           0x0000018c
-#define  NV04_GDI_RECTANGLE_TEXT_BETA1                                         0x00000190
-#define  NV04_GDI_RECTANGLE_TEXT_BETA4                                         0x00000194
-#define  NV04_GDI_RECTANGLE_TEXT_SURFACE                                       0x00000198
-#define  NV04_GDI_RECTANGLE_TEXT_OPERATION                                     0x000002fc
-#define  NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT                                  0x00000300
-#define  NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A16R5G6B5                                0x00000001
-#define  NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_X16A1R5G5B5                      0x00000002
-#define  NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A8R8G8B8                         0x00000003
-#define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT                             0x00000304
-#define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT_CGA6                                0x00000001
-#define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT_LE                          0x00000002
-#define  NV04_GDI_RECTANGLE_TEXT_COLOR1_A                                      0x000003fc
-#define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT(x)                  (0x00000400+((x)*8))
-#define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT__SIZE               0x00000020
-#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_SHIFT            0
-#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_MASK             0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_SHIFT            16
-#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_MASK             0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE(x)                   (0x00000404+((x)*8))
-#define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE__SIZE                        0x00000020
-#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_SHIFT             0
-#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_MASK              0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_SHIFT             16
-#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_MASK              0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0                                 0x000005f4
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_L_SHIFT                                0
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_L_MASK                         0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_T_SHIFT                                16
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_T_MASK                         0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1                                 0x000005f8
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_R_SHIFT                                0
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_R_MASK                         0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_B_SHIFT                                16
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_B_MASK                         0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_COLOR1_B                                      0x000005fc
-#define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0(x)                  (0x00000600+((x)*8))
-#define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0__SIZE               0x00000020
-#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_SHIFT            0
-#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_MASK             0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_SHIFT            16
-#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_MASK             0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1(x)                  (0x00000604+((x)*8))
-#define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1__SIZE               0x00000020
-#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_SHIFT            0
-#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_MASK             0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_SHIFT            16
-#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_MASK             0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0                                 0x000007ec
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_SHIFT                                0
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_MASK                         0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_SHIFT                                16
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_MASK                         0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1                                 0x000007f0
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_SHIFT                                0
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_MASK                         0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_SHIFT                                16
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_MASK                         0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_COLOR1_C                                      0x000007f4
-#define  NV04_GDI_RECTANGLE_TEXT_SIZE_C                                                0x000007f8
-#define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_W_SHIFT                               0
-#define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_W_MASK                                        0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_H_SHIFT                               16
-#define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_H_MASK                                        0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_POINT_C                                       0x000007fc
-#define   NV04_GDI_RECTANGLE_TEXT_POINT_C_X_SHIFT                              0
-#define   NV04_GDI_RECTANGLE_TEXT_POINT_C_X_MASK                               0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_POINT_C_Y_SHIFT                              16
-#define   NV04_GDI_RECTANGLE_TEXT_POINT_C_Y_MASK                               0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C(x)                                (0x00000800+((x)*4))
-#define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C__SIZE                     0x00000080
-#define  NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0                                 0x00000be4
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_SHIFT                                0
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_MASK                         0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_SHIFT                                16
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_MASK                         0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1                                 0x00000be8
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_SHIFT                                0
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_MASK                         0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_SHIFT                                16
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_MASK                         0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_COLOR0_E                                      0x00000bec
-#define  NV04_GDI_RECTANGLE_TEXT_COLOR1_E                                      0x00000bf0
-#define  NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E                                     0x00000bf4
-#define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_SHIFT                            0
-#define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_MASK                             0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_SHIFT                            16
-#define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_MASK                             0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E                                    0x00000bf8
-#define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_SHIFT                           0
-#define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_MASK                            0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_SHIFT                           16
-#define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_MASK                            0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_POINT_E                                       0x00000bfc
-#define   NV04_GDI_RECTANGLE_TEXT_POINT_E_X_SHIFT                              0
-#define   NV04_GDI_RECTANGLE_TEXT_POINT_E_X_MASK                               0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_POINT_E_Y_SHIFT                              16
-#define   NV04_GDI_RECTANGLE_TEXT_POINT_E_Y_MASK                               0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E(x)                       (0x00000c00+((x)*4))
-#define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E__SIZE                    0x00000080
-#define  NV04_GDI_RECTANGLE_TEXT_FONT_F                                                0x00000ff0
-#define   NV04_GDI_RECTANGLE_TEXT_FONT_F_OFFSET_SHIFT                          0
-#define   NV04_GDI_RECTANGLE_TEXT_FONT_F_OFFSET_MASK                           0x0fffffff
-#define   NV04_GDI_RECTANGLE_TEXT_FONT_F_PITCH_SHIFT                           28
-#define   NV04_GDI_RECTANGLE_TEXT_FONT_F_PITCH_MASK                            0xf0000000
-#define  NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0                                 0x00000ff4
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_L_SHIFT                                0
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_L_MASK                         0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_T_SHIFT                                16
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_T_MASK                         0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1                                 0x00000ff8
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_R_SHIFT                                0
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_R_MASK                         0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_B_SHIFT                                16
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_B_MASK                         0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_COLOR1_F                                      0x00000ffc
-#define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F(x)                         (0x00001000+((x)*4))
-#define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F__SIZE                      0x00000100
-#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_INDEX_SHIFT               0
-#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_INDEX_MASK                        0x000000ff
-#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_X_SHIFT                   8
-#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_X_MASK                    0x000fff00
-#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_Y_SHIFT                   20
-#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_Y_MASK                    0xfff00000
-#define  NV04_GDI_RECTANGLE_TEXT_FONT_G                                                0x000017f0
-#define   NV04_GDI_RECTANGLE_TEXT_FONT_G_OFFSET_SHIFT                          0
-#define   NV04_GDI_RECTANGLE_TEXT_FONT_G_OFFSET_MASK                           0x0fffffff
-#define   NV04_GDI_RECTANGLE_TEXT_FONT_G_PITCH_SHIFT                           28
-#define   NV04_GDI_RECTANGLE_TEXT_FONT_G_PITCH_MASK                            0xf0000000
-#define  NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0                                 0x000017f4
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_L_SHIFT                                0
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_L_MASK                         0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_T_SHIFT                                16
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_T_MASK                         0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1                                 0x000017f8
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_R_SHIFT                                0
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_R_MASK                         0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_B_SHIFT                                16
-#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_B_MASK                         0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_COLOR1_G                                      0x000017fc
-#define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT(x)                   (0x00001800+((x)*8))
-#define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT__SIZE                        0x00000100
-#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_X_SHIFT             0
-#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_X_MASK              0x0000ffff
-#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_Y_SHIFT             16
-#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_Y_MASK              0xffff0000
-#define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_INDEX(x)                   (0x00001804+((x)*8))
-#define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_INDEX__SIZE                        0x00000100
-
-
-#define NV03_GDI_RECTANGLE_TEXT                                                        0x0000004b
-
-#define  NV03_GDI_RECTANGLE_TEXT_NOP                                           0x00000100
-#define  NV03_GDI_RECTANGLE_TEXT_NOTIFY                                                0x00000104
-#define  NV03_GDI_RECTANGLE_TEXT_DMA_NOTIFY                                    0x00000180
-#define  NV03_GDI_RECTANGLE_TEXT_PATTERN                                       0x00000184
-#define  NV03_GDI_RECTANGLE_TEXT_ROP                                           0x00000188
-#define  NV03_GDI_RECTANGLE_TEXT_BETA1                                         0x0000018c
-#define  NV03_GDI_RECTANGLE_TEXT_SURFACE                                       0x00000190
-#define  NV03_GDI_RECTANGLE_TEXT_OPERATION                                     0x000002fc
-#define  NV03_GDI_RECTANGLE_TEXT_COLOR_FORMAT                                  0x00000300
-#define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT                             0x00000304
-#define  NV03_GDI_RECTANGLE_TEXT_COLOR1_A                                      0x000003fc
-#define  NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT                     0x00000400
-#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_SHIFT            0
-#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_MASK             0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_SHIFT            16
-#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_MASK             0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE                      0x00000404
-#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_SHIFT             0
-#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_MASK              0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_SHIFT             16
-#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_MASK              0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B                                 0x000007f4
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_L_SHIFT                                0
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_L_MASK                         0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_T_SHIFT                                16
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_T_MASK                         0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B                                 0x000007f8
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_R_SHIFT                                0
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_R_MASK                         0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_B_SHIFT                                16
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_B_MASK                         0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_COLOR1_B                                      0x000007fc
-#define  NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0                     0x00000800
-#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_SHIFT            0
-#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_MASK             0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_SHIFT            16
-#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_MASK             0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1                     0x00000804
-#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_SHIFT            0
-#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_MASK             0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_SHIFT            16
-#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_MASK             0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0                                 0x00000bec
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_SHIFT                                0
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_MASK                         0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_SHIFT                                16
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_MASK                         0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1                                 0x00000bf0
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_SHIFT                                0
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_MASK                         0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_SHIFT                                16
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_MASK                         0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_COLOR1_C                                      0x00000bf4
-#define  NV03_GDI_RECTANGLE_TEXT_SIZE_C                                                0x00000bf8
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_W_SHIFT                               0
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_W_MASK                                        0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_H_SHIFT                               16
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_H_MASK                                        0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_POINT_C                                       0x00000bfc
-#define   NV03_GDI_RECTANGLE_TEXT_POINT_C_X_SHIFT                              0
-#define   NV03_GDI_RECTANGLE_TEXT_POINT_C_X_MASK                               0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_POINT_C_Y_SHIFT                              16
-#define   NV03_GDI_RECTANGLE_TEXT_POINT_C_Y_MASK                               0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C(x)                                (0x00000c00+((x)*4))
-#define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C__SIZE                     0x00000020
-#define  NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0                                 0x00000fe8
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_L_SHIFT                                0
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_L_MASK                         0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_T_SHIFT                                16
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_T_MASK                         0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1                                 0x00000fec
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_R_SHIFT                                0
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_R_MASK                         0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_B_SHIFT                                16
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_B_MASK                         0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_COLOR1_D                                      0x00000ff0
-#define  NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D                                     0x00000ff4
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_W_SHIFT                            0
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_W_MASK                             0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_H_SHIFT                            16
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_H_MASK                             0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D                                    0x00000ff8
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_W_SHIFT                           0
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_W_MASK                            0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_H_SHIFT                           16
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_H_MASK                            0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_POINT_D                                       0x00000ffc
-#define   NV03_GDI_RECTANGLE_TEXT_POINT_D_X_SHIFT                              0
-#define   NV03_GDI_RECTANGLE_TEXT_POINT_D_X_MASK                               0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_POINT_D_Y_SHIFT                              16
-#define   NV03_GDI_RECTANGLE_TEXT_POINT_D_Y_MASK                               0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_D(x)                                (0x00001000+((x)*4))
-#define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_D__SIZE                     0x00000020
-#define  NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0                                 0x000013e4
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_SHIFT                                0
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_MASK                         0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_SHIFT                                16
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_MASK                         0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1                                 0x000013e8
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_SHIFT                                0
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_MASK                         0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_SHIFT                                16
-#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_MASK                         0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_COLOR0_E                                      0x000013ec
-#define  NV03_GDI_RECTANGLE_TEXT_COLOR1_E                                      0x000013f0
-#define  NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E                                     0x000013f4
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_SHIFT                            0
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_MASK                             0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_SHIFT                            16
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_MASK                             0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E                                    0x000013f8
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_SHIFT                           0
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_MASK                            0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_SHIFT                           16
-#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_MASK                            0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_POINT_E                                       0x000013fc
-#define   NV03_GDI_RECTANGLE_TEXT_POINT_E_X_SHIFT                              0
-#define   NV03_GDI_RECTANGLE_TEXT_POINT_E_X_MASK                               0x0000ffff
-#define   NV03_GDI_RECTANGLE_TEXT_POINT_E_Y_SHIFT                              16
-#define   NV03_GDI_RECTANGLE_TEXT_POINT_E_Y_MASK                               0xffff0000
-#define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E(x)                       (0x00001400+((x)*4))
-#define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E__SIZE                    0x00000020
-
-
-#define NV04_SWIZZLED_SURFACE                                                  0x00000052
-
-#define  NV04_SWIZZLED_SURFACE_NOP                                             0x00000100
-#define  NV04_SWIZZLED_SURFACE_NOTIFY                                          0x00000104
-#define  NV04_SWIZZLED_SURFACE_DMA_NOTIFY                                      0x00000180
-#define  NV04_SWIZZLED_SURFACE_DMA_IMAGE                                       0x00000184
-#define  NV04_SWIZZLED_SURFACE_FORMAT                                          0x00000300
-#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_SHIFT                             0
-#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_MASK                              0x000000ff
-#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y8                                        0x00000001
-#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5                 0x00000002
-#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1R5G5B5_X1R5G5B5                 0x00000003
-#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_R5G6B5                            0x00000004
-#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y16                               0x00000005
-#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8                 0x00000006
-#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X8R8G8B8_X8R8G8B8                 0x00000007
-#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8             0x00000008
-#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8             0x00000009
-#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_A8R8G8B8                          0x0000000a
-#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y32                               0x0000000b
-#define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_SHIFT                       16
-#define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_MASK                                0x00ff0000
-#define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_V_SHIFT                       24
-#define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_V_MASK                                0xff000000
-#define  NV04_SWIZZLED_SURFACE_OFFSET                                          0x00000304
-
-
-#define NV04_CONTEXT_SURFACES_3D                                               0x00000053
-
-#define  NV04_CONTEXT_SURFACES_3D_NOP                                          0x00000100
-#define  NV04_CONTEXT_SURFACES_3D_NOTIFY                                       0x00000104
-#define  NV04_CONTEXT_SURFACES_3D_DMA_NOTIFY                                   0x00000180
-#define  NV04_CONTEXT_SURFACES_3D_DMA_COLOR                                    0x00000184
-#define  NV04_CONTEXT_SURFACES_3D_DMA_ZETA                                     0x00000188
-#define  NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL                              0x000002f8
-#define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X_SHIFT                     0
-#define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X_MASK                      0x0000ffff
-#define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W_SHIFT                     16
-#define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W_MASK                      0xffff0000
-#define  NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL                                        0x000002fc
-#define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y_SHIFT                       0
-#define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y_MASK                                0x0000ffff
-#define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H_SHIFT                       16
-#define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H_MASK                                0xffff0000
-#define  NV04_CONTEXT_SURFACES_3D_FORMAT                                       0x00000300
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_SHIFT                          0
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_MASK                           0x000000ff
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5              0x00000001
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_X1R5G5B5              0x00000002
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_R5G6B5                         0x00000003
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8              0x00000004
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_X8R8G8B8              0x00000005
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8          0x00000006
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8          0x00000007
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_A8R8G8B8                       0x00000008
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SHIFT                           8
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_MASK                            0x0000ff00
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_PITCH                           0x00000001
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SWIZZLE                         0x00000002
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U_SHIFT                    16
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U_MASK                     0x00ff0000
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V_SHIFT                    24
-#define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V_MASK                     0xff000000
-#define  NV04_CONTEXT_SURFACES_3D_CLIP_SIZE                                    0x00000304
-#define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W_SHIFT                           0
-#define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W_MASK                            0x0000ffff
-#define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H_SHIFT                           16
-#define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H_MASK                            0xffff0000
-#define  NV04_CONTEXT_SURFACES_3D_PITCH                                                0x00000308
-#define   NV04_CONTEXT_SURFACES_3D_PITCH_COLOR_SHIFT                           0
-#define   NV04_CONTEXT_SURFACES_3D_PITCH_COLOR_MASK                            0x0000ffff
-#define   NV04_CONTEXT_SURFACES_3D_PITCH_ZETA_SHIFT                            16
-#define   NV04_CONTEXT_SURFACES_3D_PITCH_ZETA_MASK                             0xffff0000
-#define  NV04_CONTEXT_SURFACES_3D_OFFSET_COLOR                                 0x0000030c
-#define  NV04_CONTEXT_SURFACES_3D_OFFSET_ZETA                                  0x00000310
-
-
-#define NV04_DX5_TEXTURED_TRIANGLE                                             0x00000054
-
-#define  NV04_DX5_TEXTURED_TRIANGLE_NOP                                                0x00000100
-#define  NV04_DX5_TEXTURED_TRIANGLE_NOTIFY                                     0x00000104
-#define  NV04_DX5_TEXTURED_TRIANGLE_DMA_NOTIFY                                 0x00000180
-#define  NV04_DX5_TEXTURED_TRIANGLE_DMA_A                                      0x00000184
-#define  NV04_DX5_TEXTURED_TRIANGLE_DMA_B                                      0x00000188
-#define  NV04_DX5_TEXTURED_TRIANGLE_SURFACE                                    0x0000018c
-#define  NV04_DX5_TEXTURED_TRIANGLE_COLORKEY                                   0x00000300
-#define  NV04_DX5_TEXTURED_TRIANGLE_OFFSET                                     0x00000304
-#define  NV04_DX5_TEXTURED_TRIANGLE_FORMAT                                     0x00000308
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_DMA_SHIFT                          0
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_DMA_MASK                           0x00000003
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_MATCH_SHIFT              2
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_MATCH_MASK               0x0000000c
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_SHIFT                   4
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_MASK                    0x00000030
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CENTER                  0x00000001
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CORNER                  0x00000002
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_SHIFT                   6
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_MASK                    0x000000c0
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CENTER                  0x00000001
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CORNER                  0x00000002
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_SHIFT                                8
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_MASK                         0x00000f00
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_Y8                           0x00000001
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_A1R5G5B5                     0x00000002
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_X1R5G5B5                     0x00000003
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_A4R4G4B4                     0x00000004
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_R5G6B5                       0x00000005
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_A8R8G8B8                     0x00000006
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_X8R8G8B8                     0x00000007
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS_SHIFT                        12
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS_MASK                 0x0000f000
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U_SHIFT                  16
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U_MASK                   0x000f0000
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V_SHIFT                  20
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V_MASK                   0x00f00000
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_SHIFT                     24
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MASK                      0x07000000
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_REPEAT                    0x00000001
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MIRRORED_REPEAT           0x00000002
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_EDGE             0x00000003
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_BORDER           0x00000004
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP                     0x00000005
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_WRAPU                              (1 << 27)
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_SHIFT                     28
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MASK                      0x70000000
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_REPEAT                    0x00000001
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MIRRORED_REPEAT           0x00000002
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_EDGE             0x00000003
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_BORDER           0x00000004
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP                     0x00000005
-#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_WRAPV                              (1 << 31)
-#define  NV04_DX5_TEXTURED_TRIANGLE_FILTER                                     0x0000030c
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X_SHIFT                        0
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X_MASK                 0x000000ff
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y_SHIFT                        8
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y_MASK                 0x00007f00
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE               (1 << 15)
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS_SHIFT               16
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS_MASK                        0x00ff0000
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_SHIFT                       24
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_MASK                                0x07000000
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST                     0x00000001
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR                      0x00000002
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST      0x00000003
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST       0x00000004
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR       0x00000005
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR                0x00000006
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE          (1 << 27)
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_SHIFT                      28
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_MASK                       0x70000000
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST                    0x00000001
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR                     0x00000002
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST_MIPMAP_NEAREST     0x00000003
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR_MIPMAP_NEAREST      0x00000004
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST_MIPMAP_LINEAR      0x00000005
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR_MIPMAP_LINEAR       0x00000006
-#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE         (1 << 31)
-#define  NV04_DX5_TEXTURED_TRIANGLE_BLEND                                      0x00000310
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_SHIFT                   0
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MASK                    0x0000000f
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_MASK_BIT_SHIFT                      4
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_MASK_BIT_MASK                       0x00000030
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_SHIFT                    6
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_MASK                     0x000000c0
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_FLAT                     0x00000001
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_GOURAUD                  0x00000002
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_PHONG                    0x00000003
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE_SHIFT    8
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE_MASK     0x00000f00
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE_SHIFT               12
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE_MASK                        0x0000f000
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_FOG_ENABLE_SHIFT                    16
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_FOG_ENABLE_MASK                     0x000f0000
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_ALPHA_ENABLE_SHIFT                  20
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_ALPHA_ENABLE_MASK                   0x00f00000
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SRC_SHIFT                           24
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SRC_MASK                            0x0f000000
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_DST_SHIFT                           28
-#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_DST_MASK                            0xf0000000
-#define  NV04_DX5_TEXTURED_TRIANGLE_CONTROL                                    0x00000314
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF_SHIFT                   0
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF_MASK                    0x000000ff
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_SHIFT                  8
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_MASK                   0x00000f00
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_TEST_ENABLE                 (1 << 12)
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ORIGIN                            (1 << 13)
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_ENABLE_SHIFT                    14
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_ENABLE_MASK                     0x0000c000
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_SHIFT                      16
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_MASK                       0x000f0000
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_SHIFT                   20
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_MASK                    0x00300000
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_DITHER_ENABLE                     (1 << 22)
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_PERSPECTIVE_ENABLE              (1 << 23)
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_WRITE_ENABLE_SHIFT              24
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_WRITE_ENABLE_MASK               0x3f000000
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_SHIFT                    30
-#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_MASK                     0xc0000000
-#define  NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR                                   0x00000318
-#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_B_SHIFT                          0
-#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_B_MASK                           0x000000ff
-#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_G_SHIFT                          8
-#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_G_MASK                           0x0000ff00
-#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_R_SHIFT                          16
-#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_R_MASK                           0x00ff0000
-#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_A_SHIFT                          24
-#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_A_MASK                           0xff000000
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SX(x)                             (0x00000400+((x)*32))
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SX__SIZE                          0x00000010
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SY(x)                             (0x00000404+((x)*32))
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SY__SIZE                          0x00000010
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SZ(x)                             (0x00000408+((x)*32))
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SZ__SIZE                          0x00000010
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_RHW(x)                            (0x0000040c+((x)*32))
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_RHW__SIZE                         0x00000010
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR(x)                          (0x00000410+((x)*32))
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR__SIZE                       0x00000010
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B_SHIFT                    0
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B_MASK                     0x000000ff
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G_SHIFT                    8
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G_MASK                     0x0000ff00
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R_SHIFT                    16
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R_MASK                     0x00ff0000
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A_SHIFT                    24
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A_MASK                     0xff000000
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(x)                       (0x00000414+((x)*32))
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR__SIZE                    0x00000010
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B_SHIFT                 0
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B_MASK                  0x000000ff
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G_SHIFT                 8
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G_MASK                  0x0000ff00
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R_SHIFT                 16
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R_MASK                  0x00ff0000
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_SHIFT               24
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_MASK                        0xff000000
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_TU(x)                             (0x00000418+((x)*32))
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_TU__SIZE                          0x00000010
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_TV(x)                             (0x0000041c+((x)*32))
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_TV__SIZE                          0x00000010
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE(x)                  (0x00000600+((x)*4))
-#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE__SIZE               0x00000040
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I0_SHIFT           0
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I0_MASK            0x0000000f
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I1_SHIFT           4
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I1_MASK            0x000000f0
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I2_SHIFT           8
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I2_MASK            0x00000f00
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I3_SHIFT           12
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I3_MASK            0x0000f000
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I4_SHIFT           16
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I4_MASK            0x000f0000
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I5_SHIFT           20
-#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I5_MASK            0x00f00000
-
-
-#define NV04_DX6_MULTITEX_TRIANGLE                                             0x00000055
-
-#define  NV04_DX6_MULTITEX_TRIANGLE_NOP                                                0x00000100
-#define  NV04_DX6_MULTITEX_TRIANGLE_NOTIFY                                     0x00000104
-#define  NV04_DX6_MULTITEX_TRIANGLE_DMA_NOTIFY                                 0x00000180
-#define  NV04_DX6_MULTITEX_TRIANGLE_DMA_A                                      0x00000184
-#define  NV04_DX6_MULTITEX_TRIANGLE_DMA_B                                      0x00000188
-#define  NV04_DX6_MULTITEX_TRIANGLE_SURFACE                                    0x0000018c
-#define  NV04_DX6_MULTITEX_TRIANGLE_OFFSET(x)                                  (0x00000308+((x)*4))
-#define  NV04_DX6_MULTITEX_TRIANGLE_OFFSET__SIZE                               0x00000002
-#define  NV04_DX6_MULTITEX_TRIANGLE_FORMAT(x)                                  (0x00000310+((x)*4))
-#define  NV04_DX6_MULTITEX_TRIANGLE_FORMAT__SIZE                               0x00000002
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_DMA_SHIFT                          0
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_DMA_MASK                           0x0000000f
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_SHIFT                   4
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_MASK                    0x00000030
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_SHIFT                   6
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_MASK                    0x000000c0
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_COLOR_SHIFT                                8
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_COLOR_MASK                         0x00000f00
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS_SHIFT                        12
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS_MASK                 0x0000f000
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U_SHIFT                  16
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U_MASK                   0x000f0000
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V_SHIFT                  20
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V_MASK                   0x00f00000
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_SHIFT                     24
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_MASK                      0x07000000
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_WRAPU                              (1 << 27)
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_SHIFT                     28
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_MASK                      0x70000000
-#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_WRAPV                              (1 << 31)
-#define  NV04_DX6_MULTITEX_TRIANGLE_FILTER(x)                                  (0x00000318+((x)*4))
-#define  NV04_DX6_MULTITEX_TRIANGLE_FILTER__SIZE                               0x00000002
-#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X_SHIFT                        0
-#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X_MASK                 0x000000ff
-#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y_SHIFT                        8
-#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y_MASK                 0x00007f00
-#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE               (1 << 15)
-#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS_SHIFT               16
-#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS_MASK                        0x00ff0000
-#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MINIFY_SHIFT                       24
-#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MINIFY_MASK                                0x07000000
-#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE          (1 << 27)
-#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MAGNIFY_SHIFT                      28
-#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MAGNIFY_MASK                       0x70000000
-#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE         (1 << 31)
-#define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA                            0x00000320
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_INVERSE0                  (1 <<  0)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ALPHA0                    (1 <<  1)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT0_SHIFT           2
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT0_MASK            0x000000fc
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_INVERSE1                  (1 <<  8)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ALPHA1                    (1 <<  9)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT1_SHIFT           10
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT1_MASK            0x0000fc00
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_INVERSE2                  (1 << 16)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ALPHA2                    (1 << 17)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT2_SHIFT           18
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT2_MASK            0x00fc0000
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_INVERSE3                  (1 << 24)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ALPHA3                    (1 << 25)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT3_SHIFT           26
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT3_MASK            0x1c000000
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_OPERATION_SHIFT           29
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_OPERATION_MASK            0xe0000000
-#define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR                            0x00000324
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_INVERSE0                  (1 <<  0)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ALPHA0                    (1 <<  1)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT0_SHIFT           2
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT0_MASK            0x000000fc
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_INVERSE1                  (1 <<  8)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ALPHA1                    (1 <<  9)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT1_SHIFT           10
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT1_MASK            0x0000fc00
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_INVERSE2                  (1 << 16)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ALPHA2                    (1 << 17)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT2_SHIFT           18
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT2_MASK            0x00fc0000
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_INVERSE3                  (1 << 24)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ALPHA3                    (1 << 25)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT3_SHIFT           26
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT3_MASK            0x1c000000
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_OPERATION_SHIFT           29
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_OPERATION_MASK            0xe0000000
-#define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA                            0x0000032c
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_INVERSE0                  (1 <<  0)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ALPHA0                    (1 <<  1)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT0_SHIFT           2
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT0_MASK            0x000000fc
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_INVERSE1                  (1 <<  8)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ALPHA1                    (1 <<  9)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT1_SHIFT           10
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT1_MASK            0x0000fc00
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_INVERSE2                  (1 << 16)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ALPHA2                    (1 << 17)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT2_SHIFT           18
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT2_MASK            0x00fc0000
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_INVERSE3                  (1 << 24)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ALPHA3                    (1 << 25)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT3_SHIFT           26
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT3_MASK            0x1c000000
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_OPERATION_SHIFT           29
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_OPERATION_MASK            0xe0000000
-#define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR                            0x00000330
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_INVERSE0                  (1 <<  0)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ALPHA0                    (1 <<  1)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT0_SHIFT           2
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT0_MASK            0x000000fc
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_INVERSE1                  (1 <<  8)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ALPHA1                    (1 <<  9)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT1_SHIFT           10
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT1_MASK            0x0000fc00
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_INVERSE2                  (1 << 16)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ALPHA2                    (1 << 17)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT2_SHIFT           18
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT2_MASK            0x00fc0000
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_INVERSE3                  (1 << 24)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ALPHA3                    (1 << 25)
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT3_SHIFT           26
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT3_MASK            0x1c000000
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_OPERATION_SHIFT           29
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_OPERATION_MASK            0xe0000000
-#define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR                             0x00000334
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_B_SHIFT                    0
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_B_MASK                     0x000000ff
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_G_SHIFT                    8
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_G_MASK                     0x0000ff00
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_R_SHIFT                    16
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_R_MASK                     0x00ff0000
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_A_SHIFT                    24
-#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_A_MASK                     0xff000000
-#define  NV04_DX6_MULTITEX_TRIANGLE_BLEND                                      0x00000338
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_MASK_BIT_SHIFT                      4
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_MASK_BIT_MASK                       0x00000030
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_SHIFT                    6
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_MASK                     0x000000c0
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE_SHIFT    8
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE_MASK     0x00000f00
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE_SHIFT               12
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE_MASK                        0x0000f000
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_FOG_ENABLE_SHIFT                    16
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_FOG_ENABLE_MASK                     0x000f0000
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_ALPHA_ENABLE_SHIFT                  20
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_ALPHA_ENABLE_MASK                   0x00f00000
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SRC_SHIFT                           24
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SRC_MASK                            0x0f000000
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_DST_SHIFT                           28
-#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_DST_MASK                            0xf0000000
-#define  NV04_DX6_MULTITEX_TRIANGLE_CONTROL0                                   0x0000033c
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF_SHIFT                  0
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF_MASK                   0x000000ff
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_SHIFT                 8
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_MASK                  0x00000f00
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_TEST_ENABLE                        (1 << 12)
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ORIGIN                           (1 << 13)
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_ENABLE_SHIFT                   14
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_ENABLE_MASK                    0x0000c000
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_SHIFT                     16
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_MASK                      0x000f0000
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_SHIFT                  20
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_MASK                   0x00300000
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_DITHER_ENABLE                    (1 << 22)
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_PERSPECTIVE_ENABLE             (1 << 23)
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_WRITE_ENABLE                   (1 << 24)
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_STENCIL_WRITE_ENABLE             (1 << 25)
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_WRITE_ENABLE               (1 << 26)
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_RED_WRITE_ENABLE                 (1 << 27)
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_GREEN_WRITE_ENABLE               (1 << 28)
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_BLUE_WRITE_ENABLE                        (1 << 29)
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_SHIFT                   30
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_MASK                    0xc0000000
-#define  NV04_DX6_MULTITEX_TRIANGLE_CONTROL1                                   0x00000340
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_TEST_ENABLE_SHIFT                0
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_TEST_ENABLE_MASK         0x0000000f
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC_SHIFT               4
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC_MASK                        0x000000f0
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF_SHIFT                        8
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF_MASK                 0x0000ff00
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ_SHIFT          16
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ_MASK           0x00ff0000
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE_SHIFT         24
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE_MASK          0xff000000
-#define  NV04_DX6_MULTITEX_TRIANGLE_CONTROL2                                   0x00000344
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL_SHIFT            0
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL_MASK             0x0000000f
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL_SHIFT           4
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL_MASK            0x000000f0
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS_SHIFT           8
-#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS_MASK            0x00000f00
-#define  NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR                                   0x00000348
-#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_B_SHIFT                          0
-#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_B_MASK                           0x000000ff
-#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_G_SHIFT                          8
-#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_G_MASK                           0x0000ff00
-#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_R_SHIFT                          16
-#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_R_MASK                           0x00ff0000
-#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_A_SHIFT                          24
-#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_A_MASK                           0xff000000
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SX(x)                           (0x00000400+((x)*40))
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SX__SIZE                                0x00000008
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SY(x)                           (0x00000404+((x)*40))
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SY__SIZE                                0x00000008
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SZ(x)                           (0x00000408+((x)*40))
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SZ__SIZE                                0x00000008
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_RHW(x)                          (0x0000040c+((x)*40))
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_RHW__SIZE                       0x00000008
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR(x)                                (0x00000410+((x)*40))
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR__SIZE                     0x00000008
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B_SHIFT                  0
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B_MASK                   0x000000ff
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G_SHIFT                  8
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G_MASK                   0x0000ff00
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R_SHIFT                  16
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R_MASK                   0x00ff0000
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A_SHIFT                  24
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A_MASK                   0xff000000
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR(x)                     (0x00000414+((x)*40))
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR__SIZE                  0x00000008
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B_SHIFT               0
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B_MASK                        0x000000ff
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G_SHIFT               8
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G_MASK                        0x0000ff00
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R_SHIFT               16
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R_MASK                        0x00ff0000
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG_SHIFT             24
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG_MASK              0xff000000
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TU0(x)                          (0x00000418+((x)*40))
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TU0__SIZE                       0x00000008
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TV0(x)                          (0x0000041c+((x)*40))
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TV0__SIZE                       0x00000008
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TU1(x)                          (0x00000420+((x)*40))
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TU1__SIZE                       0x00000008
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TV1(x)                          (0x00000424+((x)*40))
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TV1__SIZE                       0x00000008
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE(x)                        (0x00000540+((x)*4))
-#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE__SIZE             0x00000030
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I0_SHIFT         0
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I0_MASK          0x0000000f
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I1_SHIFT         4
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I1_MASK          0x000000f0
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I2_SHIFT         8
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I2_MASK          0x00000f00
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I3_SHIFT         12
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I3_MASK          0x0000f000
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I4_SHIFT         16
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I4_MASK          0x000f0000
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I5_SHIFT         20
-#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I5_MASK          0x00f00000
-
-
-#define NV10_TCL_PRIMITIVE_3D                                                  0x00000056
-
-#define  NV10_TCL_PRIMITIVE_3D_NOP                                             0x00000100
-#define  NV10_TCL_PRIMITIVE_3D_NOTIFY                                          0x00000104
-#define  NV10_TCL_PRIMITIVE_3D_DMA_NOTIFY                                      0x00000180
-#define  NV10_TCL_PRIMITIVE_3D_DMA_IN_MEMORY0                                  0x00000184
-#define  NV10_TCL_PRIMITIVE_3D_DMA_IN_MEMORY1                                  0x00000188
-#define  NV10_TCL_PRIMITIVE_3D_DISPLAY_LIST                                    0x0000018c
-#define  NV10_TCL_PRIMITIVE_3D_DMA_IN_MEMORY2                                  0x00000194
-#define  NV10_TCL_PRIMITIVE_3D_DMA_IN_MEMORY3                                  0x00000198
-#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                                  0x00000200
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_X_SHIFT                         0
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_X_MASK                          0x0000ffff
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_W_SHIFT                         16
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_W_MASK                          0xffff0000
-#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT                                   0x00000204
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT_Y_SHIFT                          0
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT_Y_MASK                           0x0000ffff
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT_H_SHIFT                          16
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT_H_MASK                           0xffff0000
-#define  NV10_TCL_PRIMITIVE_3D_BUFFER_FORMAT                                   0x00000208
-#define  NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH                                    0x0000020c
-#define   NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH_COLOR_PITCH_SHIFT                 0
-#define   NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH_COLOR_PITCH_MASK                  0x0000ffff
-#define   NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH_ZETA_PITCH_SHIFT                  16
-#define   NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH_ZETA_PITCH_MASK                   0xffff0000
-#define  NV10_TCL_PRIMITIVE_3D_COLOR_OFFSET                                    0x00000210
-#define  NV10_TCL_PRIMITIVE_3D_ZETA_OFFSET                                     0x00000214
-#define  NV10_TCL_PRIMITIVE_3D_TX_OFFSET(x)                                    (0x00000218+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_TX_OFFSET__SIZE                                 0x00000002
-#define  NV10_TCL_PRIMITIVE_3D_TX_FORMAT(x)                                    (0x00000220+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_TX_FORMAT__SIZE                                 0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_CUBE_MAP                             (1 <<  2)
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_SHIFT                         7
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_MASK                          0x00000780
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8                            0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8                            0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R5G5B5A1                      0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8_RECT                       0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R4G4B4A4                      0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8A8                      0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_INDEX8                                0x0000000b
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT1                          0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT3                          0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT5                          0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R5G5B5A1_RECT                 0x00000010
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8A8_RECT                 0x00000012
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8_RECT                       0x00000013
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8A8                          0x0000001a
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8_RECT_2                     0x0000001b
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R4G4B4A4_RECT                 0x0000001d
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8A8_RECT                     0x00000020
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_NPOT                                 (1 << 11)
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_SHIFT                  12
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_MASK                   0x0000f000
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_SHIFT                    16
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_MASK                     0x000f0000
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_SHIFT                    20
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_MASK                     0x00f00000
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_SHIFT                         24
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_MASK                          0x0f000000
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_REPEAT                                0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_MIRRORED_REPEAT               0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_CLAMP_TO_EDGE                 0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_CLAMP_TO_BORDER               0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_CLAMP                         0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_SHIFT                         28
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_MASK                          0xf0000000
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_REPEAT                                0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_MIRRORED_REPEAT               0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_CLAMP_TO_EDGE                 0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_CLAMP_TO_BORDER               0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_CLAMP                         0x00000005
-#define  NV10_TCL_PRIMITIVE_3D_TX_ENABLE(x)                                    (0x00000228+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_TX_ENABLE__SIZE                                 0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_TX_ENABLE_ANISOTROPY_SHIFT                     4
-#define   NV10_TCL_PRIMITIVE_3D_TX_ENABLE_ANISOTROPY_MASK                      0x00000030
-#define   NV10_TCL_PRIMITIVE_3D_TX_ENABLE_ENABLE                               (1 << 30)
-#define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH(x)                                        (0x00000230+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH__SIZE                             0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH_PITCH_SHIFT                      16
-#define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH_PITCH_MASK                       0xffff0000
-#define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE(x)                                 (0x00000240+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE__SIZE                              0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_SHIFT                           0
-#define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_MASK                            0x0000ffff
-#define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_SHIFT                           16
-#define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_MASK                            0xffff0000
-#define  NV10_TCL_PRIMITIVE_3D_TX_FILTER(x)                                    (0x00000248+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_TX_FILTER__SIZE                                 0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_SHIFT                         24
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_MASK                          0x0f000000
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST                       0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR                                0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST                0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST         0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR         0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR          0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_SHIFT                                28
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_MASK                         0xf0000000
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST                      0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR                       0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_NEAREST       0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_NEAREST                0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_LINEAR                0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_LINEAR         0x00000006
-#define  NV10_TCL_PRIMITIVE_3D_TX_PALETTE_OFFSET(x)                            (0x00000250+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_TX_PALETTE_OFFSET__SIZE                         0x00000002
-#define  NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA(x)                                  (0x00000260+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA__SIZE                               0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SHIFT                      0
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_MASK                       0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_ZERO                       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1_NV         0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_FOG                                0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR_NV           0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR_NV         0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_TEXTURE1_ARB               0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_TEXTURE0_ARB               0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SPARE0_NV                  0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SPARE1_NV                  0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_E_TIMES_F_NV               0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_COMPONENT_USAGE                  (1 <<  4)
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE             0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA            0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_SHIFT                    5
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_MASK                     0x000000e0
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY_NV     0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT_NV       0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL_NV         0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE_NV         0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL_NV      0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE_NV      0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY_NV       0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE_NV         0x00000007
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SHIFT                      8
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_MASK                       0x00000f00
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_ZERO                       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1_NV         0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_FOG                                0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR_NV           0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR_NV         0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_TEXTURE1_ARB               0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_TEXTURE0_ARB               0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SPARE0_NV                  0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SPARE1_NV                  0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_E_TIMES_F_NV               0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_COMPONENT_USAGE                  (1 << 12)
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE             0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA            0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_SHIFT                    13
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_MASK                     0x0000e000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY_NV     0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT_NV       0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL_NV         0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE_NV         0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL_NV      0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE_NV      0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY_NV       0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE_NV         0x00000007
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SHIFT                      16
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_MASK                       0x000f0000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_ZERO                       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1_NV         0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_FOG                                0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR_NV           0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR_NV         0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_TEXTURE1_ARB               0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_TEXTURE0_ARB               0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SPARE0_NV                  0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SPARE1_NV                  0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_E_TIMES_F_NV               0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_COMPONENT_USAGE                  (1 << 20)
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE             0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA            0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_SHIFT                    21
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_MASK                     0x00e00000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY_NV     0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT_NV       0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL_NV         0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE_NV         0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL_NV      0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE_NV      0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY_NV       0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE_NV         0x00000007
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SHIFT                      24
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_MASK                       0x0f000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_ZERO                       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1_NV         0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_FOG                                0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR_NV           0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR_NV         0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_TEXTURE1_ARB               0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_TEXTURE0_ARB               0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SPARE0_NV                  0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SPARE1_NV                  0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_E_TIMES_F_NV               0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_COMPONENT_USAGE                  (1 << 28)
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE             0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA            0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_SHIFT                    29
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_MASK                     0xe0000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY_NV     0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT_NV       0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL_NV         0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE_NV         0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL_NV      0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE_NV      0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY_NV       0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE_NV         0x00000007
-#define  NV10_TCL_PRIMITIVE_3D_RC_IN_RGB(x)                                    (0x00000268+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_RC_IN_RGB__SIZE                                 0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SHIFT                                0
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_MASK                         0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_ZERO                         0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0_NV           0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_FOG                          0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_PRIMARY_COLOR_NV             0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SECONDARY_COLOR_NV           0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_TEXTURE1_ARB                 0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_TEXTURE0_ARB                 0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SPARE0_NV                    0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SPARE1_NV                    0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_E_TIMES_F_NV                 0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_COMPONENT_USAGE                    (1 <<  4)
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_COMPONENT_USAGE_RGB                        0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA              0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_SHIFT                      5
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_MASK                       0x000000e0
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY_NV       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE_NV           0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL_NV                0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE_NV                0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY_NV         0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE_NV           0x00000007
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SHIFT                                8
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_MASK                         0x00000f00
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_ZERO                         0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0_NV           0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_FOG                          0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_PRIMARY_COLOR_NV             0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SECONDARY_COLOR_NV           0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_TEXTURE1_ARB                 0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_TEXTURE0_ARB                 0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SPARE0_NV                    0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SPARE1_NV                    0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_E_TIMES_F_NV                 0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_COMPONENT_USAGE                    (1 << 12)
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_COMPONENT_USAGE_RGB                        0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA              0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_SHIFT                      13
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_MASK                       0x0000e000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY_NV       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE_NV           0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL_NV                0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE_NV                0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY_NV         0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE_NV           0x00000007
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SHIFT                                16
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_MASK                         0x000f0000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_ZERO                         0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0_NV           0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_FOG                          0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_PRIMARY_COLOR_NV             0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SECONDARY_COLOR_NV           0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_TEXTURE1_ARB                 0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_TEXTURE0_ARB                 0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SPARE0_NV                    0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SPARE1_NV                    0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_E_TIMES_F_NV                 0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_COMPONENT_USAGE                    (1 << 20)
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_COMPONENT_USAGE_RGB                        0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA              0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_SHIFT                      21
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_MASK                       0x00e00000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY_NV       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE_NV           0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL_NV                0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE_NV                0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY_NV         0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE_NV           0x00000007
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SHIFT                                24
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_MASK                         0x0f000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_ZERO                         0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0_NV           0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_FOG                          0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_PRIMARY_COLOR_NV             0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SECONDARY_COLOR_NV           0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_TEXTURE1_ARB                 0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_TEXTURE0_ARB                 0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SPARE0_NV                    0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SPARE1_NV                    0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_E_TIMES_F_NV                 0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_COMPONENT_USAGE                    (1 << 28)
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_COMPONENT_USAGE_RGB                        0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA              0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_SHIFT                      29
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_MASK                       0xe0000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY_NV       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE_NV           0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL_NV                0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE_NV                0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY_NV         0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE_NV           0x00000007
-#define  NV10_TCL_PRIMITIVE_3D_RC_COLOR(x)                                     (0x00000270+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_RC_COLOR__SIZE                                  0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_B_SHIFT                               0
-#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_B_MASK                                        0x000000ff
-#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_G_SHIFT                               8
-#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_G_MASK                                        0x0000ff00
-#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_R_SHIFT                               16
-#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_R_MASK                                        0x00ff0000
-#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_A_SHIFT                               24
-#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_A_MASK                                        0xff000000
-#define  NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(x)                                 (0x00000278+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA__SIZE                              0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SHIFT                   0
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_MASK                    0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_ZERO                    0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0_NV      0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1_NV      0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_FOG                     0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR_NV                0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR_NV      0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1_ARB            0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0_ARB            0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_NV               0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE1_NV               0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F_NV            0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SHIFT                   4
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_MASK                    0x000000f0
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_ZERO                    0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0_NV      0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1_NV      0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_FOG                     0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR_NV                0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR_NV      0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1_ARB            0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0_ARB            0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_NV               0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE1_NV               0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F_NV            0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT                  8
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_MASK                   0x00000f00
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_ZERO                   0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0_NV     0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1_NV     0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_FOG                    0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR_NV       0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR_NV     0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1_ARB           0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0_ARB           0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_NV              0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1_NV              0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F_NV           0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_DOT_PRODUCT                    (1 << 12)
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_DOT_PRODUCT                    (1 << 13)
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_MUX_SUM                           (1 << 14)
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_BIAS                              (1 << 15)
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_BIAS_NONE                         0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SHIFT                       17
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_MASK                                0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_NONE                                0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO_NV             0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR_NV            0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF_NV                0x00000003
-#define  NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB(x)                                   (0x00000280+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB__SIZE                                        0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SHIFT                     0
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_MASK                      0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_ZERO                      0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0_NV                0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1_NV                0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_FOG                       0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR_NV          0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR_NV                0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE1_ARB              0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE0_ARB              0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0_NV                 0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SPARE1_NV                 0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F_NV              0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SHIFT                     4
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_MASK                      0x000000f0
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_ZERO                      0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0_NV                0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1_NV                0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_FOG                       0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR_NV          0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR_NV                0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE1_ARB              0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE0_ARB              0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0_NV                 0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SPARE1_NV                 0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F_NV              0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SHIFT                    8
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_MASK                     0x00000f00
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_ZERO                     0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0_NV       0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1_NV       0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_FOG                      0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR_NV         0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR_NV       0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1_ARB             0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0_ARB             0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0_NV                        0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE1_NV                        0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F_NV             0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_DOT_PRODUCT                      (1 << 12)
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_DOT_PRODUCT                      (1 << 13)
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_MUX_SUM                             (1 << 14)
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_BIAS                                        (1 << 15)
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_BIAS_NONE                           0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF_NV   0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SHIFT                         17
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_MASK                          0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_NONE                          0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SCALE_BY_TWO_NV               0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SCALE_BY_FOUR_NV              0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF_NV          0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_OPERATION_SHIFT                     27
-#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_OPERATION_MASK                      0x38000000
-#define  NV10_TCL_PRIMITIVE_3D_RC_FINAL0                                       0x00000288
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SHIFT                                0
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_MASK                         0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_ZERO                         0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR0_NV           0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR1_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_FOG                          0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_PRIMARY_COLOR_NV             0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SECONDARY_COLOR_NV           0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_TEXTURE1_ARB                 0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_TEXTURE0_ARB                 0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SPARE0_NV                    0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SPARE1_NV                    0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_E_TIMES_F_NV                 0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_COMPONENT_USAGE                    (1 <<  4)
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_COMPONENT_USAGE_RGB                        0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_COMPONENT_USAGE_ALPHA              0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_SHIFT                      5
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_MASK                       0x000000e0
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY_NV       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_EXPAND_NORMAL_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_EXPAND_NEGATE_NV           0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL_NV                0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE_NV                0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY_NV         0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_SIGNED_NEGATE_NV           0x00000007
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SHIFT                                8
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_MASK                         0x00000f00
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_ZERO                         0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR0_NV           0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR1_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_FOG                          0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_PRIMARY_COLOR_NV             0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SECONDARY_COLOR_NV           0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_TEXTURE1_ARB                 0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_TEXTURE0_ARB                 0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SPARE0_NV                    0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SPARE1_NV                    0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_E_TIMES_F_NV                 0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_COMPONENT_USAGE                    (1 << 12)
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_COMPONENT_USAGE_RGB                        0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_COMPONENT_USAGE_ALPHA              0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_SHIFT                      13
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_MASK                       0x0000e000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY_NV       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_EXPAND_NORMAL_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_EXPAND_NEGATE_NV           0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL_NV                0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE_NV                0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY_NV         0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_SIGNED_NEGATE_NV           0x00000007
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SHIFT                                16
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_MASK                         0x000f0000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_ZERO                         0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR0_NV           0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR1_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_FOG                          0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_PRIMARY_COLOR_NV             0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SECONDARY_COLOR_NV           0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_TEXTURE1_ARB                 0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_TEXTURE0_ARB                 0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SPARE0_NV                    0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SPARE1_NV                    0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_E_TIMES_F_NV                 0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_COMPONENT_USAGE                    (1 << 20)
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_COMPONENT_USAGE_RGB                        0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_COMPONENT_USAGE_ALPHA              0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_SHIFT                      21
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_MASK                       0x00e00000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY_NV       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_EXPAND_NORMAL_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_EXPAND_NEGATE_NV           0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL_NV                0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE_NV                0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY_NV         0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_SIGNED_NEGATE_NV           0x00000007
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SHIFT                                24
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_MASK                         0x0f000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_ZERO                         0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR0_NV           0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR1_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_FOG                          0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_PRIMARY_COLOR_NV             0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SECONDARY_COLOR_NV           0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_TEXTURE1_ARB                 0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_TEXTURE0_ARB                 0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SPARE0_NV                    0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SPARE1_NV                    0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_E_TIMES_F_NV                 0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_COMPONENT_USAGE                    (1 << 28)
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_COMPONENT_USAGE_RGB                        0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_COMPONENT_USAGE_ALPHA              0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_SHIFT                      29
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_MASK                       0xe0000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY_NV       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_EXPAND_NORMAL_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_EXPAND_NEGATE_NV           0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL_NV                0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE_NV                0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY_NV         0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_SIGNED_NEGATE_NV           0x00000007
-#define  NV10_TCL_PRIMITIVE_3D_RC_FINAL1                                       0x0000028c
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_COLOR_SUM_CLAMP                      (1 <<  7)
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SHIFT                                8
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_MASK                         0x00000f00
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_ZERO                         0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR0_NV           0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR1_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_FOG                          0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_PRIMARY_COLOR_NV             0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SECONDARY_COLOR_NV           0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_TEXTURE1_ARB                 0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_TEXTURE0_ARB                 0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SPARE0_NV                    0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SPARE1_NV                    0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_E_TIMES_F_NV                 0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_COMPONENT_USAGE                    (1 << 12)
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_COMPONENT_USAGE_RGB                        0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_COMPONENT_USAGE_ALPHA              0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_SHIFT                      13
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_MASK                       0x0000e000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY_NV       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_EXPAND_NORMAL_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_EXPAND_NEGATE_NV           0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL_NV                0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE_NV                0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY_NV         0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_SIGNED_NEGATE_NV           0x00000007
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SHIFT                                16
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_MASK                         0x000f0000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_ZERO                         0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR0_NV           0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR1_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_FOG                          0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_PRIMARY_COLOR_NV             0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SECONDARY_COLOR_NV           0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_TEXTURE1_ARB                 0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_TEXTURE0_ARB                 0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SPARE0_NV                    0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SPARE1_NV                    0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_E_TIMES_F_NV                 0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_COMPONENT_USAGE                    (1 << 20)
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_COMPONENT_USAGE_RGB                        0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_COMPONENT_USAGE_ALPHA              0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_SHIFT                      21
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_MASK                       0x00e00000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY_NV       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_EXPAND_NORMAL_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_EXPAND_NEGATE_NV           0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL_NV                0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE_NV                0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY_NV         0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_SIGNED_NEGATE_NV           0x00000007
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SHIFT                                24
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_MASK                         0x0f000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_ZERO                         0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR0_NV           0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR1_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_FOG                          0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_PRIMARY_COLOR_NV             0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SECONDARY_COLOR_NV           0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_TEXTURE1_ARB                 0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_TEXTURE0_ARB                 0x00000009
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SPARE0_NV                    0x0000000c
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SPARE1_NV                    0x0000000d
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV0x0000000e
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_E_TIMES_F_NV                 0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_COMPONENT_USAGE                    (1 << 28)
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_COMPONENT_USAGE_RGB                        0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_COMPONENT_USAGE_ALPHA              0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_SHIFT                      29
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_MASK                       0xe0000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY_NV       0x00000000
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT_NV         0x00000001
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_EXPAND_NORMAL_NV           0x00000002
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_EXPAND_NEGATE_NV           0x00000003
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL_NV                0x00000004
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE_NV                0x00000005
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY_NV         0x00000006
-#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_SIGNED_NEGATE_NV           0x00000007
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL                                     0x00000294
-#define   NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_COLOR_CONTROL                      (1 <<  1)
-#define   NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_LOCAL_VIEWER                       (1 << 16)
-#define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE                           0x00000298
-#define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_SPECULAR                 (1 <<  0)
-#define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_DIFFUSE                  (1 <<  1)
-#define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_AMBIENT                  (1 <<  2)
-#define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_EMISSION                 (1 <<  3)
-#define  NV10_TCL_PRIMITIVE_3D_FOG_MODE                                                0x0000029c
-#define  NV10_TCL_PRIMITIVE_3D_FOG_MODE_EXP                                    0x00000800
-#define  NV10_TCL_PRIMITIVE_3D_FOG_MODE_EXP_2                                  0x00000802
-#define  NV10_TCL_PRIMITIVE_3D_FOG_MODE_EXP2                                   0x00000803
-#define  NV10_TCL_PRIMITIVE_3D_FOG_MODE_LINEAR                                 0x00000804
-#define  NV10_TCL_PRIMITIVE_3D_FOG_MODE_LINEAR_2                               0x00002601
-#define  NV10_TCL_PRIMITIVE_3D_FOG_COORD_DIST                                  0x000002a0
-#define  NV10_TCL_PRIMITIVE_3D_FOG_ENABLE                                      0x000002a4
-#define  NV10_TCL_PRIMITIVE_3D_FOG_COLOR                                       0x000002a8
-#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_R_SHIFT                              0
-#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_R_MASK                               0x000000ff
-#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_G_SHIFT                              8
-#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_G_MASK                               0x0000ff00
-#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_B_SHIFT                              16
-#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_B_MASK                               0x00ff0000
-#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_A_SHIFT                              24
-#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_A_MASK                               0xff000000
-#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_MODE                              0x000002b4
-#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(x)                          (0x000002c0+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ__SIZE                       0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_L_SHIFT               0
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_L_MASK                        0x000007ff
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_LEFT_ENABLE           (1 << 11)
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_R_SHIFT               16
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_R_MASK                        0x07ff0000
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_RIGHT_ENABLE          (1 << 27)
-#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(x)                           (0x000002e0+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT__SIZE                                0x00000008
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_T_SHIFT                        0
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_T_MASK                 0x000007ff
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_TOP_ENABLE             (1 << 11)
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_B_SHIFT                        16
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_B_MASK                 0x07ff0000
-#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_BOTTOM_ENABLE          (1 << 27)
-#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE                               0x00000300
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE                               0x00000304
-#define  NV10_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                                        0x00000308
-#define  NV10_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                               0x0000030c
-#define  NV10_TCL_PRIMITIVE_3D_DITHER_ENABLE                                   0x00000310
-#define  NV10_TCL_PRIMITIVE_3D_LIGHTING_ENABLE                                 0x00000314
-#define  NV10_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE                         0x00000318
-#define  NV10_TCL_PRIMITIVE_3D_POINT_SMOOTH_ENABLE                             0x0000031c
-#define  NV10_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                              0x00000320
-#define  NV10_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE                           0x00000324
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_WEIGHT_ENABLE                            0x00000328
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_ENABLE                                  0x0000032c
-#define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE                     0x00000330
-#define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE                      0x00000334
-#define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE                      0x00000338
-#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                                 0x0000033c
-#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NEVER                           0x00000200
-#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LESS                            0x00000201
-#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_EQUAL                           0x00000202
-#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LEQUAL                          0x00000203
-#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                         0x00000204
-#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                         0x00000204
-#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NOTEQUAL                                0x00000205
-#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GEQUAL                          0x00000206
-#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_ALWAYS                          0x00000207
-#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                                  0x00000340
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                                  0x00000344
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ZERO                             0x00000000
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE                              0x00000001
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_COLOR                                0x00000300
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR              0x00000301
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA                                0x00000302
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA              0x00000303
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_ALPHA                                0x00000304
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA              0x00000305
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_COLOR                                0x00000306
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR              0x00000307
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE               0x00000308
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_COLOR                   0x00008001
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR         0x00008002
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_ALPHA                   0x00008003
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA         0x00008004
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                                  0x00000348
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ZERO                             0x00000000
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE                              0x00000001
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_COLOR                                0x00000300
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR              0x00000301
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA                                0x00000302
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA              0x00000303
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_ALPHA                                0x00000304
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA              0x00000305
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_COLOR                                0x00000306
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR              0x00000307
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA_SATURATE               0x00000308
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_COLOR                   0x00008001
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR         0x00008002
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_ALPHA                   0x00008003
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA         0x00008004
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_COLOR                                     0x0000034c
-#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_B_SHIFT                            0
-#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_B_MASK                             0x000000ff
-#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_G_SHIFT                            8
-#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_G_MASK                             0x0000ff00
-#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_R_SHIFT                            16
-#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_R_MASK                             0x00ff0000
-#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_A_SHIFT                            24
-#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_A_MASK                             0xff000000
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION                                  0x00000350
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_ADD                         0x00008006
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_MIN                              0x00008007
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_MAX                              0x00008008
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_SUBTRACT                    0x0000800a
-#define  NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT            0x0000800b
-#define  NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC                                      0x00000354
-#define  NV10_TCL_PRIMITIVE_3D_COLOR_MASK                                      0x00000358
-#define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_B                                   (1 <<  0)
-#define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_G                                   (1 <<  8)
-#define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_R                                   (1 << 16)
-#define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_A                                   (1 << 24)
-#define  NV10_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE                              0x0000035c
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_MASK                                    0x00000360
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC                               0x00000364
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NEVER                         0x00000200
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LESS                          0x00000201
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_EQUAL                         0x00000202
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LEQUAL                                0x00000203
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                       0x00000204
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                       0x00000204
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NOTEQUAL                      0x00000205
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GEQUAL                                0x00000206
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_ALWAYS                                0x00000207
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_REF                                        0x00000368
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_MASK                               0x0000036c
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL                                 0x00000370
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_ZERO                            0x00000000
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INVERT                          0x0000150a
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_KEEP                            0x00001e00
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_REPLACE                         0x00001e01
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR                            0x00001e02
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR                            0x00001e03
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR_WRAP                       0x00008507
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR_WRAP                       0x00008508
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL                                        0x00000374
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_ZERO                           0x00000000
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INVERT                         0x0000150a
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_KEEP                           0x00001e00
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_REPLACE                                0x00001e01
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR                           0x00001e02
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR                           0x00001e03
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR_WRAP                      0x00008507
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR_WRAP                      0x00008508
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS                                        0x00000378
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_ZERO                           0x00000000
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INVERT                         0x0000150a
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_KEEP                           0x00001e00
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_REPLACE                                0x00001e01
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR                           0x00001e02
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR                           0x00001e03
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR_WRAP                      0x00008507
-#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR_WRAP                      0x00008508
-#define  NV10_TCL_PRIMITIVE_3D_SHADE_MODEL                                     0x0000037c
-#define  NV10_TCL_PRIMITIVE_3D_SHADE_MODEL_FLAT                                        0x00001d00
-#define  NV10_TCL_PRIMITIVE_3D_SHADE_MODEL_SMOOTH                              0x00001d01
-#define  NV10_TCL_PRIMITIVE_3D_LINE_WIDTH                                      0x00000380
-#define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR                           0x00000384
-#define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS                            0x00000388
-#define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                              0x0000038c
-#define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_POINT                                0x00001b00
-#define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_LINE                         0x00001b01
-#define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_FILL                         0x00001b02
-#define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                               0x00000390
-#define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_POINT                         0x00001b00
-#define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_LINE                          0x00001b01
-#define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_FILL                          0x00001b02
-#define  NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                                        0x00000394
-#define  NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                                 0x00000398
-#define  NV10_TCL_PRIMITIVE_3D_CULL_FACE                                       0x0000039c
-#define  NV10_TCL_PRIMITIVE_3D_CULL_FACE_FRONT                                 0x00000404
-#define  NV10_TCL_PRIMITIVE_3D_CULL_FACE_BACK                                  0x00000405
-#define  NV10_TCL_PRIMITIVE_3D_CULL_FACE_FRONT_AND_BACK                                0x00000408
-#define  NV10_TCL_PRIMITIVE_3D_FRONT_FACE                                      0x000003a0
-#define  NV10_TCL_PRIMITIVE_3D_FRONT_FACE_CW                                   0x00000900
-#define  NV10_TCL_PRIMITIVE_3D_FRONT_FACE_CCW                                  0x00000901
-#define  NV10_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                                        0x000003a4
-#define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_R                                        0x000003a8
-#define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_G                                        0x000003ac
-#define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_B                                        0x000003b0
-#define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_A                                        0x000003b4
-#define  NV10_TCL_PRIMITIVE_3D_COLOR_CONTROL                                   0x000003b8
-#define  NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS                                  0x000003bc
-#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT0                          (1 <<  0)
-#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT1                          (1 <<  2)
-#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT2                          (1 <<  4)
-#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT3                          (1 <<  6)
-#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT4                          (1 <<  8)
-#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT5                          (1 << 10)
-#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT6                          (1 << 12)
-#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT7                          (1 << 14)
-#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(x)                            (0x000003c0+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE__SIZE                         0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE_FALSE                         0x00000000
-#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE_EYE_LINEAR                    0x00002400
-#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE_OBJECT_LINEAR                 0x00002401
-#define  NV10_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(x)                             (0x000003e0+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE__SIZE                          0x00000002
-#define  NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE                              0x000003e8
-#define   NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE_MODELVIEW1                  (1 <<  0)
-#define   NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE_MODELVIEW0                  (1 <<  1)
-#define   NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE_PROJECTION                  (1 <<  2)
-#define  NV10_TCL_PRIMITIVE_3D_POINT_SIZE                                      0x000003ec
-#define  NV10_TCL_PRIMITIVE_3D_MODELVIEW0_MATRIX(x)                            (0x00000400+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_MODELVIEW0_MATRIX__SIZE                         0x00000010
-#define  NV10_TCL_PRIMITIVE_3D_MODELVIEW1_MATRIX(x)                            (0x00000440+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_MODELVIEW1_MATRIX__SIZE                         0x00000010
-#define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW0_MATRIX(x)                    (0x00000480+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW0_MATRIX__SIZE                 0x00000010
-#define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW1_MATRIX(x)                    (0x000004c0+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW1_MATRIX__SIZE                 0x00000010
-#define  NV10_TCL_PRIMITIVE_3D_PROJECTION_MATRIX(x)                            (0x00000500+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_PROJECTION_MATRIX__SIZE                         0x00000010
-#define  NV10_TCL_PRIMITIVE_3D_TX0_MATRIX(x)                                   (0x00000540+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_TX0_MATRIX__SIZE                                        0x00000010
-#define  NV10_TCL_PRIMITIVE_3D_TX1_MATRIX(x)                                   (0x00000580+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_TX1_MATRIX__SIZE                                        0x00000010
-#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_A(x)                                 (0x00000600+((x)*16))
-#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_A__SIZE                              0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_B(x)                                 (0x00000604+((x)*16))
-#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_B__SIZE                              0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_C(x)                                 (0x00000608+((x)*16))
-#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_C__SIZE                              0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_D(x)                                 (0x0000060c+((x)*16))
-#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_D__SIZE                              0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT                           0x00000680
-#define  NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR                             0x00000684
-#define  NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC                          0x00000688
-#define  NV10_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS(x)                     (0x000006a0+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS__SIZE                  0x00000006
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R0x000006c4
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G0x000006c8
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B0x000006cc
-#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_X                                        0x000006e8
-#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_Y                                        0x000006ec
-#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_Z                                        0x000006f0
-#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_W                                        0x000006f4
-#define  NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER(x)                              (0x000006f8+((x)*4))
-#define  NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER__SIZE                           0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(x)           (0x00000800+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R__SIZE                0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(x)           (0x00000804+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G__SIZE                0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(x)           (0x00000808+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B__SIZE                0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(x)           (0x0000080c+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R__SIZE                0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(x)           (0x00000810+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G__SIZE                0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(x)           (0x00000814+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B__SIZE                0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(x)          (0x00000818+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R__SIZE       0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(x)          (0x0000081c+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G__SIZE       0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(x)          (0x00000820+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B__SIZE       0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X(x)                          (0x00000828+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X__SIZE                       0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y(x)                          (0x0000082c+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y__SIZE                       0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z(x)                          (0x00000830+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z__SIZE                       0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X(x)                            (0x00000834+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X__SIZE                         0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y(x)                            (0x00000838+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y__SIZE                         0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z(x)                            (0x0000083c+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z__SIZE                         0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A(x)                          (0x00000840+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A__SIZE                       0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B(x)                          (0x00000844+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B__SIZE                       0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C(x)                          (0x00000848+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C__SIZE                       0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X(x)                             (0x0000084c+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X__SIZE                          0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y(x)                             (0x00000850+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y__SIZE                          0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z(x)                             (0x00000854+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z__SIZE                          0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D(x)                          (0x00000858+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D__SIZE                       0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_X(x)                             (0x0000085c+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_X__SIZE                          0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y(x)                             (0x00000860+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y__SIZE                          0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z(x)                             (0x00000864+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z__SIZE                          0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT(x)                   (0x00000868+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT__SIZE                        0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR(x)                     (0x0000086c+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR__SIZE                  0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC(x)                  (0x00000870+((x)*128))
-#define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC__SIZE               0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_X                                 0x00000c00
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Y                                 0x00000c04
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Z                                 0x00000c08
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_X                                 0x00000c18
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Y                                 0x00000c1c
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Z                                 0x00000c20
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_W                                 0x00000c24
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_X                                 0x00000c30
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Y                                 0x00000c34
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Z                                 0x00000c38
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                                        0x00000c40
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_SHIFT                       0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_MASK                                0x0000ffff
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_SHIFT                       16
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_MASK                                0xffff0000
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                                 0x00000c44
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_SHIFT                                0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_MASK                         0x0000ffff
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_R                                 0x00000c50
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_G                                 0x00000c54
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_B                                 0x00000c58
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_A                                 0x00000c5c
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_R                                 0x00000c60
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_G                                 0x00000c64
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_B                                 0x00000c68
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I                                   0x00000c6c
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_SHIFT                          0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_MASK                           0x000000ff
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_SHIFT                          8
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_MASK                           0x0000ff00
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_SHIFT                          16
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_MASK                           0x00ff0000
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_SHIFT                          24
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_MASK                           0xff000000
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_R                                        0x00000c80
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_G                                        0x00000c84
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_B                                        0x00000c88
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I                                  0x00000c8c
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_R_SHIFT                         0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_R_MASK                          0x000000ff
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_G_SHIFT                         8
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_G_MASK                          0x0000ff00
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_B_SHIFT                         16
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_B_MASK                          0x00ff0000
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S                                 0x00000c90
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T                                 0x00000c94
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I                                   0x00000c98
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_SHIFT                          0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_MASK                           0x0000ffff
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_SHIFT                          16
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_MASK                           0xffff0000
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_S                                 0x00000ca0
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_T                                 0x00000ca4
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_R                                 0x00000ca8
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_Q                                 0x00000cac
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST                                        0x00000cb0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_SHIFT                       0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_MASK                                0x0000ffff
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_SHIFT                       16
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_MASK                                0xffff0000
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ                                        0x00000cb4
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_SHIFT                       0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_MASK                                0x0000ffff
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_SHIFT                       16
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_MASK                                0xffff0000
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S                                 0x00000cb8
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T                                 0x00000cbc
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I                                   0x00000cc0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_SHIFT                          0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_MASK                           0x0000ffff
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_SHIFT                          16
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_MASK                           0xffff0000
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_S                                 0x00000cc8
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_T                                 0x00000ccc
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_R                                 0x00000cd0
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_Q                                 0x00000cd4
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST                                        0x00000cd8
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_SHIFT                       0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_MASK                                0x0000ffff
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_SHIFT                       16
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_MASK                                0xffff0000
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ                                        0x00000cdc
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_SHIFT                       0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_MASK                                0x0000ffff
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_SHIFT                       16
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_MASK                                0xffff0000
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_FOG_1F                                   0x00000ce0
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_WGH_1F                                   0x00000ce4
-#define  NV10_TCL_PRIMITIVE_3D_EDGEFLAG_ENABLE                                 0x00000cec
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_VALIDATE                           0x00000cf0
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_POS                         0x00000d00
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS                         0x00000d04
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_TYPE_SHIFT             0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_TYPE_MASK              0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_FIELDS_SHIFT           4
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_FIELDS_MASK            0x000000f0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_STRIDE_SHIFT           8
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_STRIDE_MASK            0x0000ff00
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_COL                         0x00000d08
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL                         0x00000d0c
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_TYPE_SHIFT             0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_TYPE_MASK              0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_FIELDS_SHIFT           4
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_FIELDS_MASK            0x000000f0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_STRIDE_SHIFT           8
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_STRIDE_MASK            0x0000ff00
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_COL2                                0x00000d10
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2                                0x00000d14
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_TYPE_SHIFT            0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_TYPE_MASK             0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_FIELDS_SHIFT          4
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_FIELDS_MASK           0x000000f0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_STRIDE_SHIFT          8
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_STRIDE_MASK           0x0000ff00
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_TX0                         0x00000d18
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0                         0x00000d1c
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_TYPE_SHIFT             0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_TYPE_MASK              0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_FIELDS_SHIFT           4
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_FIELDS_MASK            0x000000f0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_STRIDE_SHIFT           8
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_STRIDE_MASK            0x0000ff00
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_TX1                         0x00000d20
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1                         0x00000d24
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_TYPE_SHIFT             0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_TYPE_MASK              0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_FIELDS_SHIFT           4
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_FIELDS_MASK            0x000000f0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_STRIDE_SHIFT           8
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_STRIDE_MASK            0x0000ff00
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_NOR                         0x00000d28
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR                         0x00000d2c
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_TYPE_SHIFT             0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_TYPE_MASK              0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_FIELDS_SHIFT           4
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_FIELDS_MASK            0x000000f0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_STRIDE_SHIFT           8
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_STRIDE_MASK            0x0000ff00
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_WGH                         0x00000d30
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH                         0x00000d34
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_TYPE_SHIFT             0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_TYPE_MASK              0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_FIELDS_SHIFT           4
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_FIELDS_MASK            0x000000f0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_STRIDE_SHIFT           8
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_STRIDE_MASK            0x0000ff00
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_FOG                         0x00000d38
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG                         0x00000d3c
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_TYPE_SHIFT             0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_TYPE_MASK              0x0000000f
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_FIELDS_SHIFT           4
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_FIELDS_MASK            0x000000f0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_STRIDE_SHIFT           8
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_STRIDE_MASK            0x0000ff00
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END                                        0x00000dfc
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_STOP                           0x00000000
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POINTS                         0x00000001
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINES                          0x00000002
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_LOOP                      0x00000003
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_STRIP                     0x00000004
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLES                      0x00000005
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_STRIP                 0x00000006
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_FAN                   0x00000007
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUADS                          0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUAD_STRIP                     0x00000009
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POLYGON                                0x0000000a
-#define  NV10_TCL_PRIMITIVE_3D_DRAW_INDEX                                      0x00000e00
-#define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I0_SHIFT                            0
-#define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I0_MASK                             0x0000ffff
-#define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I1_SHIFT                            24
-#define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I1_MASK                             0xff000000
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END                         0x000013fc
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_STOP                    0x00000000
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_POINTS                  0x00000001
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_LINES                   0x00000002
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_LINE_LOOP               0x00000003
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_LINE_STRIP              0x00000004
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_TRIANGLES               0x00000005
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_TRIANGLE_STRIP          0x00000006
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_TRIANGLE_FAN            0x00000007
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_QUADS                   0x00000008
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_QUAD_STRIP              0x00000009
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_POLYGON                 0x0000000a
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS                       0x00001400
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_SHIFT          0
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_MASK           0x0000ffff
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_LAST_SHIFT           24
-#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_LAST_MASK            0xff000000
-#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_DATA                               0x00001800
-
-
-#define NV04_CONTEXT_COLOR_KEY                                                 0x00000057
-
-#define  NV04_CONTEXT_COLOR_KEY_NOP                                            0x00000100
-#define  NV04_CONTEXT_COLOR_KEY_NOTIFY                                         0x00000104
-#define  NV04_CONTEXT_COLOR_KEY_DMA_NOTIFY                                     0x00000180
-#define  NV04_CONTEXT_COLOR_KEY_COLOR_FORMAT                                   0x00000300
-#define  NV04_CONTEXT_COLOR_KEY_COLOR                                          0x00000304
-
-
-#define NV03_CONTEXT_SURFACES_2D                                               0x00000058
-
-#define  NV03_CONTEXT_SURFACES_2D_SYNCHRONIZE                                  0x00000100
-#define  NV03_CONTEXT_SURFACES_2D_DMA_NOTIFY                                   0x00000180
-#define  NV03_CONTEXT_SURFACES_2D_DMA_SOURCE                                   0x00000184
-#define  NV03_CONTEXT_SURFACES_2D_DMA_DESTIN                                   0x00000188
-#define  NV03_CONTEXT_SURFACES_2D_COLOR_FORMAT                                 0x00000300
-#define  NV03_CONTEXT_SURFACES_2D_PITCH                                                0x00000304
-#define   NV03_CONTEXT_SURFACES_2D_PITCH_SOURCE_SHIFT                          0
-#define   NV03_CONTEXT_SURFACES_2D_PITCH_SOURCE_MASK                           0x0000ffff
-#define   NV03_CONTEXT_SURFACES_2D_PITCH_DESTIN_SHIFT                          16
-#define   NV03_CONTEXT_SURFACES_2D_PITCH_DESTIN_MASK                           0xffff0000
-#define  NV03_CONTEXT_SURFACES_2D_OFFSET_SOURCE                                        0x00000308
-#define  NV03_CONTEXT_SURFACES_2D_OFFSET_DESTIN                                        0x0000030c
-
-
-#define NV03_CONTEXT_SURFACES_3D                                               0x0000005a
-
-#define  NV03_CONTEXT_SURFACES_3D_SYNCHRONIZE                                  0x00000100
-#define  NV03_CONTEXT_SURFACES_3D_DMA_NOTIFY                                   0x00000180
-#define  NV03_CONTEXT_SURFACES_3D_DMA_SURfACE                                  0x00000184
-#define  NV03_CONTEXT_SURFACES_3D_PITCH                                                0x00000300
-#define  NV03_CONTEXT_SURFACES_3D_OFFSET_COLOR                                 0x00000304
-#define  NV03_CONTEXT_SURFACES_3D_OFFSET_ZETA                                  0x00000308
-
-
-#define NV04_RENDER_SOLID_LINE                                                 0x0000005c
-
-#define  NV04_RENDER_SOLID_LINE_SURFACE                                                0x00000198
-
-
-#define NV_RENDER_SOLID_TRIANGLE                                               0x0000005d
-
-
-
-#define NV_RENDER_SOLID_RECTANGLE                                              0x0000005e
-
-#define  NV_RENDER_SOLID_RECTANGLE_SURFACE                                     0x00000198
-
-
-#define NV_IMAGE_BLIT                                                          0x0000005f
-
-#define  NV_IMAGE_BLIT_NOP                                                     0x00000100
-#define  NV_IMAGE_BLIT_NOTIFY                                                  0x00000104
-#define  NV_IMAGE_BLIT_DMA_NOTIFY                                              0x00000180
-#define  NV_IMAGE_BLIT_COLOR_KEY                                               0x00000184
-#define  NV_IMAGE_BLIT_CLIP_RECTANGLE                                          0x00000188
-#define  NV_IMAGE_BLIT_PATTERN                                                 0x0000018c
-#define  NV_IMAGE_BLIT_ROP                                                     0x00000190
-#define  NV_IMAGE_BLIT_SURFACE                                                 0x0000019c
-#define  NV_IMAGE_BLIT_OPERATION                                               0x000002fc
-#define  NV_IMAGE_BLIT_OPERATION_SRCCOPY_AND                                   0x00000000
-#define  NV_IMAGE_BLIT_OPERATION_ROP_AND                                       0x00000001
-#define  NV_IMAGE_BLIT_OPERATION_BLEND_AND                                     0x00000002
-#define  NV_IMAGE_BLIT_OPERATION_SRCCOPY_PREMULT                               0x00000003
-#define  NV_IMAGE_BLIT_OPERATION_BLEND_PREMULT                                 0x00000004
-#define  NV_IMAGE_BLIT_POINT_IN                                                        0x00000300
-#define   NV_IMAGE_BLIT_POINT_IN_X_SHIFT                                       0
-#define   NV_IMAGE_BLIT_POINT_IN_X_MASK                                                0x0000ffff
-#define   NV_IMAGE_BLIT_POINT_IN_Y_SHIFT                                       16
-#define   NV_IMAGE_BLIT_POINT_IN_Y_MASK                                                0xffff0000
-#define  NV_IMAGE_BLIT_POINT_OUT                                               0x00000304
-#define   NV_IMAGE_BLIT_POINT_OUT_X_SHIFT                                      0
-#define   NV_IMAGE_BLIT_POINT_OUT_X_MASK                                       0x0000ffff
-#define   NV_IMAGE_BLIT_POINT_OUT_Y_SHIFT                                      16
-#define   NV_IMAGE_BLIT_POINT_OUT_Y_MASK                                       0xffff0000
-#define  NV_IMAGE_BLIT_SIZE                                                    0x00000308
-#define   NV_IMAGE_BLIT_SIZE_W_SHIFT                                           0
-#define   NV_IMAGE_BLIT_SIZE_W_MASK                                            0x0000ffff
-#define   NV_IMAGE_BLIT_SIZE_H_SHIFT                                           16
-#define   NV_IMAGE_BLIT_SIZE_H_MASK                                            0xffff0000
-
-
-#define NV04_INDEXED_IMAGE_FROM_CPU                                            0x00000060
-
-#define  NV04_INDEXED_IMAGE_FROM_CPU_NOP                                       0x00000100
-#define  NV04_INDEXED_IMAGE_FROM_CPU_NOTIFY                                    0x00000104
-#define  NV04_INDEXED_IMAGE_FROM_CPU_PATCH                                     0x0000010c
-#define  NV04_INDEXED_IMAGE_FROM_CPU_DMA_NOTIFY                                        0x00000180
-#define  NV04_INDEXED_IMAGE_FROM_CPU_DMA_LUT                                   0x00000184
-#define  NV04_INDEXED_IMAGE_FROM_CPU_COLOR_FORMAT                              0x000003e8
-#define  NV04_INDEXED_IMAGE_FROM_CPU_INDEX_FORMAT                              0x000003ec
-#define  NV04_INDEXED_IMAGE_FROM_CPU_LUT_OFFSET                                        0x000003f0
-#define  NV04_INDEXED_IMAGE_FROM_CPU_POINT                                     0x000003f4
-#define  NV04_INDEXED_IMAGE_FROM_CPU_SIZE_OUT                                  0x000003f8
-#define  NV04_INDEXED_IMAGE_FROM_CPU_SIZE_IN                                   0x000003fc
-#define  NV04_INDEXED_IMAGE_FROM_CPU_COLOR                                     0x00000400
-
-
-#define NV_IMAGE_FROM_CPU                                                      0x00000061
-
-
-
-#define NV10_CONTEXT_SURFACES_2D                                               0x00000062
+#define NV_IMAGE_ROP_AND                                                               0x00000013
 
+#define  NV_IMAGE_ROP_AND_NOTIFY                                                       0x00000104
+#define  NV_IMAGE_ROP_AND_DMA_NOTIFY                                                   0x00000180
+#define  NV_IMAGE_ROP_AND_IMAGE_OUTPUT                                                 0x00000200
+#define  NV_IMAGE_ROP_AND_ROP_INPUT                                                    0x00000204
+#define  NV_IMAGE_ROP_AND_IMAGE_INPUT(x)                                               (0x00000208+((x)*4))
+#define  NV_IMAGE_ROP_AND_IMAGE_INPUT__SIZE                                            0x00000002
+
+
+#define NV_IMAGE_COLOR_KEY                                                             0x00000015
+
+
+
+#define NV01_CONTEXT_COLOR_KEY                                                         0x00000017
+
+#define  NV01_CONTEXT_COLOR_KEY_NOP                                                    0x00000100
+#define  NV01_CONTEXT_COLOR_KEY_NOTIFY                                                 0x00000104
+#define  NV01_CONTEXT_COLOR_KEY_DMA_NOTIFY                                             0x00000180
+#define  NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT                                           0x00000300
+#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16A8Y8                                  0x00000001
+#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X24Y8                                    0x00000002
+#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16A1R5G5B5                              0x00000003
+#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X17R5G5B5                                        0x00000004
+#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_A8R8G8B8                                 0x00000005
+#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X8R8G8B8                                 0x00000006
+#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_A16Y16                                   0x00000007
+#define   NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16Y16                                   0x00000008
+#define  NV01_CONTEXT_COLOR_KEY_COLOR                                                  0x00000304
+
+
+#define NV01_CONTEXT_PATTERN                                                           0x00000018
+
+#define  NV01_CONTEXT_PATTERN_NOP                                                      0x00000100
+#define  NV01_CONTEXT_PATTERN_NOTIFY                                                   0x00000104
+#define  NV01_CONTEXT_PATTERN_DMA_NOTIFY                                               0x00000180
+#define  NV01_CONTEXT_PATTERN_COLOR_FORMAT                                             0x00000300
+#define  NV01_CONTEXT_PATTERN_MONOCHROME_FORMAT                                                0x00000304
+#define  NV01_CONTEXT_PATTERN_SHAPE                                                    0x00000308
+#define  NV01_CONTEXT_PATTERN_COLOR(x)                                                 (0x00000310+((x)*4))
+#define  NV01_CONTEXT_PATTERN_COLOR__SIZE                                              0x00000002
+#define  NV01_CONTEXT_PATTERN_PATTERN(x)                                               (0x00000318+((x)*4))
+#define  NV01_CONTEXT_PATTERN_PATTERN__SIZE                                            0x00000002
+
+
+#define NV01_CONTEXT_CLIP_RECTANGLE                                                    0x00000019
+
+#define  NV01_CONTEXT_CLIP_RECTANGLE_NOP                                               0x00000100
+#define  NV01_CONTEXT_CLIP_RECTANGLE_NOTIFY                                            0x00000104
+#define  NV01_CONTEXT_CLIP_RECTANGLE_DMA_NOTIFY                                                0x00000180
+#define  NV01_CONTEXT_CLIP_RECTANGLE_POINT                                             0x00000300
+#define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_X_SHIFT                                    0
+#define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_X_MASK                                     0x0000ffff
+#define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_Y_SHIFT                                    16
+#define   NV01_CONTEXT_CLIP_RECTANGLE_POINT_Y_MASK                                     0xffff0000
+#define  NV01_CONTEXT_CLIP_RECTANGLE_SIZE                                              0x00000304
+#define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_W_SHIFT                                     0
+#define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_W_MASK                                      0x0000ffff
+#define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_H_SHIFT                                     16
+#define   NV01_CONTEXT_CLIP_RECTANGLE_SIZE_H_MASK                                      0xffff0000
+
+
+#define NV01_RENDER_SOLID_LINE                                                         0x0000001c
+
+#define  NV01_RENDER_SOLID_LINE_NOP                                                    0x00000100
+#define  NV01_RENDER_SOLID_LINE_NOTIFY                                                 0x00000104
+#define  NV01_RENDER_SOLID_LINE_PATCH                                                  0x0000010c
+#define  NV01_RENDER_SOLID_LINE_DMA_NOTIFY                                             0x00000180
+#define  NV01_RENDER_SOLID_LINE_CLIP_RECTANGLE                                         0x00000184
+#define  NV01_RENDER_SOLID_LINE_PATTERN                                                        0x00000188
+#define  NV01_RENDER_SOLID_LINE_ROP                                                    0x0000018c
+#define  NV01_RENDER_SOLID_LINE_BETA1                                                  0x00000190
+#define  NV01_RENDER_SOLID_LINE_SURFACE                                                        0x00000194
+#define  NV01_RENDER_SOLID_LINE_OPERATION                                              0x000002fc
+#define   NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY_AND                                 0x00000000
+#define   NV01_RENDER_SOLID_LINE_OPERATION_ROP_AND                                     0x00000001
+#define   NV01_RENDER_SOLID_LINE_OPERATION_BLEND_AND                                   0x00000002
+#define   NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY                                     0x00000003
+#define   NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY_PREMULT                             0x00000004
+#define   NV01_RENDER_SOLID_LINE_OPERATION_BLEND_PREMULT                               0x00000005
+#define  NV01_RENDER_SOLID_LINE_COLOR_FORMAT                                           0x00000300
+#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16A8Y8                                  0x00000001
+#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X24Y8                                    0x00000002
+#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16A1R5G5B5                              0x00000003
+#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X17R5G5B5                                        0x00000004
+#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_A8R8G8B8                                 0x00000005
+#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X8R8G8B8                                 0x00000006
+#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_A16Y16                                   0x00000007
+#define   NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16Y16                                   0x00000008
+#define  NV01_RENDER_SOLID_LINE_COLOR                                                  0x00000304
+#define  NV01_RENDER_SOLID_LINE_LINE_POINT0(x)                                         (0x00000400+((x)*8))
+#define  NV01_RENDER_SOLID_LINE_LINE_POINT0__SIZE                                      0x00000010
+#define   NV01_RENDER_SOLID_LINE_LINE_POINT0_X_SHIFT                                   0
+#define   NV01_RENDER_SOLID_LINE_LINE_POINT0_X_MASK                                    0x0000ffff
+#define   NV01_RENDER_SOLID_LINE_LINE_POINT0_Y_SHIFT                                   16
+#define   NV01_RENDER_SOLID_LINE_LINE_POINT0_Y_MASK                                    0xffff0000
+#define  NV01_RENDER_SOLID_LINE_LINE_POINT1(x)                                         (0x00000404+((x)*8))
+#define  NV01_RENDER_SOLID_LINE_LINE_POINT1__SIZE                                      0x00000010
+#define   NV01_RENDER_SOLID_LINE_LINE_POINT1_X_SHIFT                                   0
+#define   NV01_RENDER_SOLID_LINE_LINE_POINT1_X_MASK                                    0x0000ffff
+#define   NV01_RENDER_SOLID_LINE_LINE_POINT1_Y_SHIFT                                   16
+#define   NV01_RENDER_SOLID_LINE_LINE_POINT1_Y_MASK                                    0xffff0000
+#define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_X(x)                                     (0x00000480+((x)*16))
+#define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_X__SIZE                                  0x00000010
+#define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_Y(x)                                     (0x00000484+((x)*16))
+#define  NV01_RENDER_SOLID_LINE_LINE32_POINT0_Y__SIZE                                  0x00000010
+#define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_X(x)                                     (0x00000488+((x)*16))
+#define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_X__SIZE                                  0x00000010
+#define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_Y(x)                                     (0x0000048c+((x)*16))
+#define  NV01_RENDER_SOLID_LINE_LINE32_POINT1_Y__SIZE                                  0x00000010
+#define  NV01_RENDER_SOLID_LINE_POLYLINE(x)                                            (0x00000500+((x)*4))
+#define  NV01_RENDER_SOLID_LINE_POLYLINE__SIZE                                         0x00000020
+#define   NV01_RENDER_SOLID_LINE_POLYLINE_X_SHIFT                                      0
+#define   NV01_RENDER_SOLID_LINE_POLYLINE_X_MASK                                       0x0000ffff
+#define   NV01_RENDER_SOLID_LINE_POLYLINE_Y_SHIFT                                      16
+#define   NV01_RENDER_SOLID_LINE_POLYLINE_Y_MASK                                       0xffff0000
+#define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_X(x)                                  (0x00000580+((x)*8))
+#define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_X__SIZE                               0x00000010
+#define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_Y(x)                                  (0x00000584+((x)*8))
+#define  NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_Y__SIZE                               0x00000010
+#define  NV01_RENDER_SOLID_LINE_CPOLYLINE_COLOR(x)                                     (0x00000600+((x)*8))
+#define  NV01_RENDER_SOLID_LINE_CPOLYLINE_COLOR__SIZE                                  0x00000010
+#define  NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT(x)                                     (0x00000604+((x)*8))
+#define  NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT__SIZE                                  0x00000010
+#define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_X_SHIFT                               0
+#define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_X_MASK                                        0x0000ffff
+#define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_Y_SHIFT                               16
+#define   NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_Y_MASK                                        0xffff0000
+
+
+#define NV01_RENDER_SOLID_TRIANGLE                                                     0x0000001d
+
+#define  NV01_RENDER_SOLID_TRIANGLE_NOP                                                        0x00000100
+#define  NV01_RENDER_SOLID_TRIANGLE_NOTIFY                                             0x00000104
+#define  NV01_RENDER_SOLID_TRIANGLE_PATCH                                              0x0000010c
+#define  NV01_RENDER_SOLID_TRIANGLE_DMA_NOTIFY                                         0x00000180
+#define  NV01_RENDER_SOLID_TRIANGLE_CLIP_RECTANGLE                                     0x00000184
+#define  NV01_RENDER_SOLID_TRIANGLE_PATTERN                                            0x00000188
+#define  NV01_RENDER_SOLID_TRIANGLE_ROP                                                        0x0000018c
+#define  NV01_RENDER_SOLID_TRIANGLE_BETA1                                              0x00000190
+#define  NV01_RENDER_SOLID_TRIANGLE_SURFACE                                            0x00000194
+#define  NV01_RENDER_SOLID_TRIANGLE_OPERATION                                          0x000002fc
+#define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY_AND                             0x00000000
+#define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_ROP_AND                                 0x00000001
+#define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_BLEND_AND                               0x00000002
+#define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY                                 0x00000003
+#define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY_PREMULT                         0x00000004
+#define   NV01_RENDER_SOLID_TRIANGLE_OPERATION_BLEND_PREMULT                           0x00000005
+#define  NV01_RENDER_SOLID_TRIANGLE_COLOR_FORMAT                                       0x00000300
+#define  NV01_RENDER_SOLID_TRIANGLE_COLOR                                              0x00000304
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0                                    0x00000310
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_X_SHIFT                           0
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_X_MASK                            0x0000ffff
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_Y_SHIFT                           16
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_Y_MASK                            0xffff0000
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1                                    0x00000314
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_X_SHIFT                           0
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_X_MASK                            0x0000ffff
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_Y_SHIFT                           16
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_Y_MASK                            0xffff0000
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2                                    0x00000318
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_X_SHIFT                           0
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_X_MASK                            0x0000ffff
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_Y_SHIFT                           16
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_Y_MASK                            0xffff0000
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT0_X                                        0x00000320
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT0_Y                                        0x00000324
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT1_X                                        0x00000328
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT1_Y                                        0x0000032c
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT2_X                                        0x00000330
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT2_Y                                        0x00000334
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH(x)                                         (0x00000400+((x)*4))
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH__SIZE                                      0x00000020
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_X_SHIFT                                   0
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_X_MASK                                    0x0000ffff
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_Y_SHIFT                                   16
+#define   NV01_RENDER_SOLID_TRIANGLE_TRIMESH_Y_MASK                                    0xffff0000
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_X(x)                               (0x00000480+((x)*8))
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_X__SIZE                            0x00000010
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_Y(x)                               (0x00000484+((x)*8))
+#define  NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_Y__SIZE                            0x00000010
+#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_COLOR(x)                                 (0x00000500+((x)*16))
+#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_COLOR__SIZE                              0x00000008
+#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0(x)                                        (0x00000504+((x)*16))
+#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0__SIZE                             0x00000008
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_X_SHIFT                          0
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_X_MASK                           0x0000ffff
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_Y_SHIFT                          16
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_Y_MASK                           0xffff0000
+#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1(x)                                        (0x00000508+((x)*16))
+#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1__SIZE                             0x00000008
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_X_SHIFT                          0
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_X_MASK                           0x0000ffff
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_Y_SHIFT                          16
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_Y_MASK                           0xffff0000
+#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2(x)                                        (0x0000050c+((x)*16))
+#define  NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2__SIZE                             0x00000008
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_X_SHIFT                          0
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_X_MASK                           0x0000ffff
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_Y_SHIFT                          16
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_Y_MASK                           0xffff0000
+#define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_COLOR(x)                                  (0x00000580+((x)*8))
+#define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_COLOR__SIZE                               0x00000010
+#define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT(x)                                  (0x00000584+((x)*8))
+#define  NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT__SIZE                               0x00000010
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_X_SHIFT                            0
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_X_MASK                             0x0000ffff
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_Y_SHIFT                            16
+#define   NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_Y_MASK                             0xffff0000
+
+
+#define NV01_RENDER_SOLID_RECTANGLE                                                    0x0000001e
+
+#define  NV01_RENDER_SOLID_RECTANGLE_NOP                                               0x00000100
+#define  NV01_RENDER_SOLID_RECTANGLE_NOTIFY                                            0x00000104
+#define  NV01_RENDER_SOLID_RECTANGLE_PATCH                                             0x0000010c
+#define  NV01_RENDER_SOLID_RECTANGLE_DMA_NOTIFY                                                0x00000180
+#define  NV01_RENDER_SOLID_RECTANGLE_CLIP_RECTANGLE                                    0x00000184
+#define  NV01_RENDER_SOLID_RECTANGLE_PATTERN                                           0x00000188
+#define  NV01_RENDER_SOLID_RECTANGLE_ROP                                               0x0000018c
+#define  NV01_RENDER_SOLID_RECTANGLE_BETA1                                             0x00000190
+#define  NV01_RENDER_SOLID_RECTANGLE_SURFACE                                           0x00000194
+#define  NV01_RENDER_SOLID_RECTANGLE_OPERATION                                         0x000002fc
+#define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY_AND                            0x00000000
+#define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_ROP_AND                                        0x00000001
+#define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_BLEND_AND                              0x00000002
+#define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY                                        0x00000003
+#define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY_PREMULT                                0x00000004
+#define   NV01_RENDER_SOLID_RECTANGLE_OPERATION_BLEND_PREMULT                          0x00000005
+#define  NV01_RENDER_SOLID_RECTANGLE_COLOR_FORMAT                                      0x00000300
+#define  NV01_RENDER_SOLID_RECTANGLE_COLOR                                             0x00000304
+#define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT(x)                                        (0x00000400+((x)*8))
+#define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT__SIZE                             0x00000010
+#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_X_SHIFT                          0
+#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_X_MASK                           0x0000ffff
+#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_Y_SHIFT                          16
+#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_Y_MASK                           0xffff0000
+#define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE(x)                                 (0x00000404+((x)*8))
+#define  NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE__SIZE                              0x00000010
+#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_W_SHIFT                           0
+#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_W_MASK                            0x0000ffff
+#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_H_SHIFT                           16
+#define   NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_H_MASK                            0xffff0000
+
+
+#define NV01_IMAGE_BLIT                                                                        0x0000001f
+
+#define  NV01_IMAGE_BLIT_NOP                                                           0x00000100
+#define  NV01_IMAGE_BLIT_NOTIFY                                                                0x00000104
+#define  NV01_IMAGE_BLIT_PATCH                                                         0x0000010c
+#define  NV01_IMAGE_BLIT_DMA_NOTIFY                                                    0x00000180
+#define  NV01_IMAGE_BLIT_COLOR_KEY                                                     0x00000184
+#define  NV01_IMAGE_BLIT_CLIP_RECTANGLE                                                        0x00000188
+#define  NV01_IMAGE_BLIT_PATTERN                                                       0x0000018c
+#define  NV01_IMAGE_BLIT_ROP                                                           0x00000190
+#define  NV01_IMAGE_BLIT_BETA1                                                         0x00000194
+#define  NV01_IMAGE_BLIT_SURFACE                                                       0x0000019c
+#define  NV01_IMAGE_BLIT_OPERATION                                                     0x000002fc
+#define  NV01_IMAGE_BLIT_IMAGE_INPUT                                                   0x00000204
+#define  NV01_IMAGE_BLIT_POINT_IN                                                      0x00000300
+#define   NV01_IMAGE_BLIT_POINT_IN_X_SHIFT                                             0
+#define   NV01_IMAGE_BLIT_POINT_IN_X_MASK                                              0x0000ffff
+#define   NV01_IMAGE_BLIT_POINT_IN_Y_SHIFT                                             16
+#define   NV01_IMAGE_BLIT_POINT_IN_Y_MASK                                              0xffff0000
+#define  NV01_IMAGE_BLIT_POINT_OUT                                                     0x00000304
+#define   NV01_IMAGE_BLIT_POINT_OUT_X_SHIFT                                            0
+#define   NV01_IMAGE_BLIT_POINT_OUT_X_MASK                                             0x0000ffff
+#define   NV01_IMAGE_BLIT_POINT_OUT_Y_SHIFT                                            16
+#define   NV01_IMAGE_BLIT_POINT_OUT_Y_MASK                                             0xffff0000
+#define  NV01_IMAGE_BLIT_SIZE                                                          0x00000308
+#define   NV01_IMAGE_BLIT_SIZE_W_SHIFT                                                 0
+#define   NV01_IMAGE_BLIT_SIZE_W_MASK                                                  0x0000ffff
+#define   NV01_IMAGE_BLIT_SIZE_H_SHIFT                                                 16
+#define   NV01_IMAGE_BLIT_SIZE_H_MASK                                                  0xffff0000
+
+
+#define NV01_IMAGE_FROM_CPU                                                            0x00000021
+
+#define  NV01_IMAGE_FROM_CPU_NOP                                                       0x00000100
+#define  NV01_IMAGE_FROM_CPU_NOTIFY                                                    0x00000104
+#define  NV01_IMAGE_FROM_CPU_PATCH                                                     0x0000010c
+#define  NV01_IMAGE_FROM_CPU_DMA_NOTIFY                                                        0x00000180
+#define  NV01_IMAGE_FROM_CPU_COLOR_KEY                                                 0x00000184
+#define  NV01_IMAGE_FROM_CPU_CLIP_RECTANGLE                                            0x00000188
+#define  NV01_IMAGE_FROM_CPU_PATTERN                                                   0x0000018c
+#define  NV01_IMAGE_FROM_CPU_ROP                                                       0x00000190
+#define  NV01_IMAGE_FROM_CPU_BETA1                                                     0x00000194
+#define  NV01_IMAGE_FROM_CPU_SURFACE                                                   0x00000198
+#define  NV01_IMAGE_FROM_CPU_OPERATION                                                 0x000002fc
+#define   NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY_AND                                    0x00000000
+#define   NV01_IMAGE_FROM_CPU_OPERATION_ROP_AND                                                0x00000001
+#define   NV01_IMAGE_FROM_CPU_OPERATION_BLEND_AND                                      0x00000002
+#define   NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY                                                0x00000003
+#define   NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY_PREMULT                                        0x00000004
+#define   NV01_IMAGE_FROM_CPU_OPERATION_BLEND_PREMULT                                  0x00000005
+#define  NV01_IMAGE_FROM_CPU_COLOR_FORMAT                                              0x00000300
+#define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_Y8                                          0x00000001
+#define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_A1R5G5B5                                    0x00000002
+#define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_X1R5G5B5                                    0x00000003
+#define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_A8R8G8B8                                    0x00000004
+#define   NV01_IMAGE_FROM_CPU_COLOR_FORMAT_X8R8G8B8                                    0x00000005
+#define  NV01_IMAGE_FROM_CPU_POINT                                                     0x00000304
+#define   NV01_IMAGE_FROM_CPU_POINT_X_SHIFT                                            0
+#define   NV01_IMAGE_FROM_CPU_POINT_X_MASK                                             0x0000ffff
+#define   NV01_IMAGE_FROM_CPU_POINT_Y_SHIFT                                            16
+#define   NV01_IMAGE_FROM_CPU_POINT_Y_MASK                                             0xffff0000
+#define  NV01_IMAGE_FROM_CPU_SIZE_OUT                                                  0x00000308
+#define   NV01_IMAGE_FROM_CPU_SIZE_OUT_W_SHIFT                                         0
+#define   NV01_IMAGE_FROM_CPU_SIZE_OUT_W_MASK                                          0x0000ffff
+#define   NV01_IMAGE_FROM_CPU_SIZE_OUT_H_SHIFT                                         16
+#define   NV01_IMAGE_FROM_CPU_SIZE_OUT_H_MASK                                          0xffff0000
+#define  NV01_IMAGE_FROM_CPU_SIZE_IN                                                   0x0000030c
+#define   NV01_IMAGE_FROM_CPU_SIZE_IN_W_SHIFT                                          0
+#define   NV01_IMAGE_FROM_CPU_SIZE_IN_W_MASK                                           0x0000ffff
+#define   NV01_IMAGE_FROM_CPU_SIZE_IN_H_SHIFT                                          16
+#define   NV01_IMAGE_FROM_CPU_SIZE_IN_H_MASK                                           0xffff0000
+#define  NV01_IMAGE_FROM_CPU_COLOR(x)                                                  (0x00000400+((x)*4))
+#define  NV01_IMAGE_FROM_CPU_COLOR__SIZE                                               0x00000020
+
+
+#define NV01_NULL                                                                      0x00000030
+
+
+
+#define NV03_STRETCHED_IMAGE_FROM_CPU                                                  0x00000036
+
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_NOP                                             0x00000100
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_NOTIFY                                          0x00000104
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_PATCH                                           0x0000010c
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_DMA_NOTIFY                                      0x00000180
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR_KEY                                       0x00000184
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_PATTERN                                         0x00000188
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_ROP                                             0x0000018c
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_BETA1                                           0x00000190
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_SURFACE                                         0x00000194
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_OPERATION                                       0x000002fc
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR_FORMAT                                    0x00000300
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN                                         0x00000304
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_W_SHIFT                                        0
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_W_MASK                                 0x0000ffff
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_H_SHIFT                                        16
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_H_MASK                                 0xffff0000
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_DX_DU                                           0x00000308
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_DY_DV                                           0x0000030c
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT                                      0x00000310
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_X_SHIFT                             0
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_X_MASK                              0x0000ffff
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_Y_SHIFT                             16
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_Y_MASK                              0xffff0000
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE                                       0x00000314
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_W_SHIFT                              0
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_W_MASK                               0x0000ffff
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_H_SHIFT                              16
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_H_MASK                               0xffff0000
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4                                       0x00000318
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_X_SHIFT                              0
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_X_MASK                               0x0000ffff
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_Y_SHIFT                              16
+#define   NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_Y_MASK                               0xffff0000
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR(x)                                                (0x00000400+((x)*4))
+#define  NV03_STRETCHED_IMAGE_FROM_CPU_COLOR__SIZE                                     0x00000020
+
+
+#define NV03_SCALED_IMAGE_FROM_MEMORY                                                  0x00000037
+
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_NOP                                             0x00000100
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_NOTIFY                                          0x00000104
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_DMA_NOTIFY                                      0x00000180
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_DMA_IMAGE                                       0x00000184
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_PATTERN                                         0x00000188
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_ROP                                             0x0000018c
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_BETA1                                           0x00000190
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_SURFACE                                         0x00000194
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT                                    0x00000300
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A1R5G5B5                          0x00000001
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X1R5G5B5                          0x00000002
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A8R8G8B8                          0x00000003
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X8R8G8B8                          0x00000004
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_V8YB8U8YA8                                0x00000005
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_YB8V8YA8U8                                0x00000006
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_R5G6B5                            0x00000007
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_Y8                                        0x00000008
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_AY8                               0x00000009
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION                                       0x00000304
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_AND                          0x00000000
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_ROP_AND                              0x00000001
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_AND                            0x00000002
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY                              0x00000003
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_PREMULT                      0x00000004
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_PREMULT                                0x00000005
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT                                      0x00000308
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_SHIFT                             0
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_MASK                              0x0000ffff
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_SHIFT                             16
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_MASK                              0xffff0000
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE                                       0x0000030c
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_SHIFT                              0
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_MASK                               0x0000ffff
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_SHIFT                              16
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_MASK                               0xffff0000
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT                                 0x00000310
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT_X_SHIFT                                0
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT_X_MASK                         0x0000ffff
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT_Y_SHIFT                                16
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_POINT_Y_MASK                         0xffff0000
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE                                  0x00000314
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE_W_SHIFT                         0
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE_W_MASK                          0x0000ffff
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE_H_SHIFT                         16
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_OUT_SIZE_H_MASK                          0xffff0000
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_DELTA_DU_DX                                     0x00000318
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_DELTA_DV_DY                                     0x0000031c
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE                                   0x00000400
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE_W_SHIFT                          0
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE_W_MASK                           0x0000ffff
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE_H_SHIFT                          16
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_SIZE_H_MASK                           0xffff0000
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT                                 0x00000404
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_PITCH_SHIFT                    0
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_PITCH_MASK                     0x0000ffff
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_ORIGIN_SHIFT                   16
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_ORIGIN_MASK                    0x00ff0000
+#define    NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_ORIGIN_CENTER                 0x00010000
+#define    NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_ORIGIN_CORNER                 0x00020000
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_INTERPOLATOR_SHIFT             24
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_FORMAT_INTERPOLATOR_MASK              0xff000000
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_OFFSET                                 0x00000408
+#define  NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT                                  0x0000040c
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT_U_SHIFT                         0
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT_U_MASK                          0x0000ffff
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT_V_SHIFT                         16
+#define   NV03_SCALED_IMAGE_FROM_MEMORY_IMAGE_IN_POINT_V_MASK                          0xffff0000
+
+
+#define NV04_DVD_SUBPICTURE                                                            0x00000038
+
+#define  NV04_DVD_SUBPICTURE_NOP                                                       0x00000100
+#define  NV04_DVD_SUBPICTURE_NOTIFY                                                    0x00000104
+#define  NV04_DVD_SUBPICTURE_WAIT_FOR_IDLE                                             0x00000108
+#define  NV04_DVD_SUBPICTURE_DMA_NOTIFY                                                        0x00000180
+#define  NV04_DVD_SUBPICTURE_DMA_OVERLAY                                               0x00000184
+#define  NV04_DVD_SUBPICTURE_DMA_IMAGEIN                                               0x00000188
+#define  NV04_DVD_SUBPICTURE_DMA_IMAGEOUT                                              0x0000018c
+#define  NV04_DVD_SUBPICTURE_IMAGEOUT_POINT                                            0x00000300
+#define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_X_SHIFT                                   0
+#define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_X_MASK                                    0x0000ffff
+#define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_Y_SHIFT                                   16
+#define   NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_Y_MASK                                    0xffff0000
+#define  NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE                                             0x00000304
+#define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_W_SHIFT                                    0
+#define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_W_MASK                                     0x0000ffff
+#define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_H_SHIFT                                    16
+#define   NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_H_MASK                                     0xffff0000
+#define  NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT                                           0x00000308
+#define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_PITCH_SHIFT                              0
+#define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_PITCH_MASK                               0x0000ffff
+#define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_COLOR_SHIFT                              16
+#define   NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_COLOR_MASK                               0xffff0000
+#define  NV04_DVD_SUBPICTURE_IMAGEOUT_OFFSET                                           0x0000030c
+#define  NV04_DVD_SUBPICTURE_IMAGEIN_DELTA_DU_DX                                       0x00000310
+#define  NV04_DVD_SUBPICTURE_IMAGEIN_DELTA_DV_DY                                       0x00000314
+#define  NV04_DVD_SUBPICTURE_IMAGEIN_SIZE                                              0x00000318
+#define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_W_SHIFT                                     0
+#define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_W_MASK                                      0x0000ffff
+#define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_H_SHIFT                                     16
+#define   NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_H_MASK                                      0xffff0000
+#define  NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT                                            0x0000031c
+#define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_PITCH_SHIFT                               0
+#define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_PITCH_MASK                                        0x0000ffff
+#define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_COLOR_SHIFT                               16
+#define   NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_COLOR_MASK                                        0xffff0000
+#define  NV04_DVD_SUBPICTURE_IMAGEIN_OFFSET                                            0x00000320
+#define  NV04_DVD_SUBPICTURE_IMAGEIN_POINT                                             0x00000324
+#define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_U_SHIFT                                    0
+#define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_U_MASK                                     0x0000ffff
+#define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_V_SHIFT                                    16
+#define   NV04_DVD_SUBPICTURE_IMAGEIN_POINT_V_MASK                                     0xffff0000
+#define  NV04_DVD_SUBPICTURE_OVERLAY_DELTA_DU_DX                                       0x00000328
+#define  NV04_DVD_SUBPICTURE_OVERLAY_DELTA_DV_DY                                       0x0000032c
+#define  NV04_DVD_SUBPICTURE_OVERLAY_SIZE                                              0x00000330
+#define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_W_SHIFT                                     0
+#define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_W_MASK                                      0x0000ffff
+#define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_H_SHIFT                                     16
+#define   NV04_DVD_SUBPICTURE_OVERLAY_SIZE_H_MASK                                      0xffff0000
+#define  NV04_DVD_SUBPICTURE_OVERLAY_FORMAT                                            0x00000334
+#define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_PITCH_SHIFT                               0
+#define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_PITCH_MASK                                        0x0000ffff
+#define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_COLOR_SHIFT                               16
+#define   NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_COLOR_MASK                                        0xffff0000
+#define  NV04_DVD_SUBPICTURE_OVERLAY_OFFSET                                            0x00000338
+#define  NV04_DVD_SUBPICTURE_OVERLAY_POINT                                             0x0000033c
+#define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_U_SHIFT                                    0
+#define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_U_MASK                                     0x0000ffff
+#define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_V_SHIFT                                    16
+#define   NV04_DVD_SUBPICTURE_OVERLAY_POINT_V_MASK                                     0xffff0000
+
+
+#define NV_MEMORY_TO_MEMORY_FORMAT                                                     0x00000039
+
+#define  NV_MEMORY_TO_MEMORY_FORMAT_NOP                                                        0x00000100
+#define  NV_MEMORY_TO_MEMORY_FORMAT_NOTIFY                                             0x00000104
+#define  NV_MEMORY_TO_MEMORY_FORMAT_DMA_NOTIFY                                         0x00000180
+#define  NV_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_IN                                      0x00000184
+#define  NV_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_OUT                                     0x00000188
+#define  NV_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN                                          0x0000030c
+#define  NV_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT                                         0x00000310
+#define  NV_MEMORY_TO_MEMORY_FORMAT_PITCH_IN                                           0x00000314
+#define  NV_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT                                          0x00000318
+#define  NV_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN                                     0x0000031c
+#define  NV_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT                                         0x00000320
+#define  NV_MEMORY_TO_MEMORY_FORMAT_FORMAT                                             0x00000324
+#define   NV_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_SHIFT                            0
+#define   NV_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_MASK                             0x0000000f
+#define   NV_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_SHIFT                           8
+#define   NV_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_MASK                            0x00000f00
+#define  NV_MEMORY_TO_MEMORY_FORMAT_BUF_NOTIFY                                         0x00000328
+
+
+#define NV01_MEMORY_LOCAL_BANKED                                                       0x0000003d
+
+
+
+#define NV01_MAPPING_SYSTEM                                                            0x0000003e
+
+
+
+#define NV03_MEMORY_LOCAL_CURSOR                                                       0x0000003f
+
+
+
+#define NV01_MEMORY_LOCAL_LINEAR                                                       0x00000040
+
+
+
+#define NV01_MAPPING_LOCAL                                                             0x00000041
+
+
+
+#define NV04_CONTEXT_SURFACES_2D                                                       0x00000042
+
+#define  NV04_CONTEXT_SURFACES_2D_NOP                                                  0x00000100
+#define  NV04_CONTEXT_SURFACES_2D_NOTIFY                                               0x00000104
+#define  NV04_CONTEXT_SURFACES_2D_PM_TRIGGER                                           0x00000140
+#define  NV04_CONTEXT_SURFACES_2D_DMA_NOTIFY                                           0x00000180
+#define  NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_SOURCE                                     0x00000184
+#define  NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_DESTIN                                     0x00000188
+#define  NV04_CONTEXT_SURFACES_2D_FORMAT                                               0x00000300
+#define   NV04_CONTEXT_SURFACES_2D_FORMAT_Y8                                           0x00000001
+#define   NV04_CONTEXT_SURFACES_2D_FORMAT_X1R5G5B5_Z1R5G5B5                            0x00000002
+#define   NV04_CONTEXT_SURFACES_2D_FORMAT_X1R5G5B5_X1R5G5B5                            0x00000003
+#define   NV04_CONTEXT_SURFACES_2D_FORMAT_R5G6B5                                       0x00000004
+#define   NV04_CONTEXT_SURFACES_2D_FORMAT_Y16                                          0x00000005
+#define   NV04_CONTEXT_SURFACES_2D_FORMAT_X8R8G8B8_Z8R8G8B8                            0x00000006
+#define   NV04_CONTEXT_SURFACES_2D_FORMAT_X8R8G8B8_X8R8G8B8                            0x00000007
+#define   NV04_CONTEXT_SURFACES_2D_FORMAT_X1A7R8G8B8_Z1A7R8G8B8                                0x00000008
+#define   NV04_CONTEXT_SURFACES_2D_FORMAT_X1A7R8G8B8_X1A7R8G8B8                                0x00000009
+#define   NV04_CONTEXT_SURFACES_2D_FORMAT_A8R8G8B8                                     0x0000000a
+#define   NV04_CONTEXT_SURFACES_2D_FORMAT_Y32                                          0x0000000b
+#define  NV04_CONTEXT_SURFACES_2D_PITCH                                                        0x00000304
+#define   NV04_CONTEXT_SURFACES_2D_PITCH_SOURCE_SHIFT                                  0
+#define   NV04_CONTEXT_SURFACES_2D_PITCH_SOURCE_MASK                                   0x0000ffff
+#define   NV04_CONTEXT_SURFACES_2D_PITCH_DESTIN_SHIFT                                  16
+#define   NV04_CONTEXT_SURFACES_2D_PITCH_DESTIN_MASK                                   0xffff0000
+#define  NV04_CONTEXT_SURFACES_2D_OFFSET_SOURCE                                                0x00000308
+#define  NV04_CONTEXT_SURFACES_2D_OFFSET_DESTIN                                                0x0000030c
+
+
+#define NV03_CONTEXT_ROP                                                               0x00000043
+
+#define  NV03_CONTEXT_ROP_NOP                                                          0x00000100
+#define  NV03_CONTEXT_ROP_NOTIFY                                                       0x00000104
+#define  NV03_CONTEXT_ROP_DMA_NOTIFY                                                   0x00000180
+#define  NV03_CONTEXT_ROP_ROP                                                          0x00000300
+#define   NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_SHIFT                                      0
+#define   NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_MASK                                       0x0000000f
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_CLEAR                                     0x00000000
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NOR                                       0x00000001
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND_INVERTED                              0x00000002
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_COPY_INVERTED                             0x00000003
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND_REVERSE                               0x00000004
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_INVERT                                    0x00000005
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_XOR                                       0x00000006
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NAND                                      0x00000007
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND                                       0x00000008
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_EQUI                                      0x00000009
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NOOP                                      0x0000000a
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR_INVERTED                               0x0000000b
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_COPY                                      0x0000000c
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR_REVERSE                                        0x0000000d
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR                                                0x0000000e
+#define    NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_SET                                       0x0000000f
+#define   NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_SHIFT                                      4
+#define   NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_MASK                                       0x000000f0
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_CLEAR                                     0x00000000
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NOR                                       0x00000010
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND_INVERTED                              0x00000020
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_COPY_INVERTED                             0x00000030
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND_REVERSE                               0x00000040
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_INVERT                                    0x00000050
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_XOR                                       0x00000060
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NAND                                      0x00000070
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND                                       0x00000080
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_EQUI                                      0x00000090
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NOOP                                      0x000000a0
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR_INVERTED                               0x000000b0
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_COPY                                      0x000000c0
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR_REVERSE                                        0x000000d0
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR                                                0x000000e0
+#define    NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_SET                                       0x000000f0
+
+
+#define NV04_IMAGE_PATTERN                                                             0x00000044
+
+#define  NV04_IMAGE_PATTERN_NOP                                                                0x00000100
+#define  NV04_IMAGE_PATTERN_NOTIFY                                                     0x00000104
+#define  NV04_IMAGE_PATTERN_DMA_NOTIFY                                                 0x00000180
+#define  NV04_IMAGE_PATTERN_COLOR_FORMAT                                               0x00000300
+#define   NV04_IMAGE_PATTERN_COLOR_FORMAT_A16R5G6B5                                    0x00000001
+#define   NV04_IMAGE_PATTERN_COLOR_FORMAT_X16A1R5G5B5                                  0x00000002
+#define   NV04_IMAGE_PATTERN_COLOR_FORMAT_A8R8G8B8                                     0x00000003
+#define  NV04_IMAGE_PATTERN_MONOCHROME_FORMAT                                          0x00000304
+#define   NV04_IMAGE_PATTERN_MONOCHROME_FORMAT_CGA6                                    0x00000001
+#define   NV04_IMAGE_PATTERN_MONOCHROME_FORMAT_LE                                      0x00000002
+#define  NV04_IMAGE_PATTERN_MONOCHROME_SHAPE                                           0x00000308
+#define   NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_8X8                                      0x00000000
+#define   NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_64X1                                     0x00000001
+#define   NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_1X64                                     0x00000002
+#define  NV04_IMAGE_PATTERN_PATTERN_SELECT                                             0x0000030c
+#define   NV04_IMAGE_PATTERN_PATTERN_SELECT_MONO                                       0x00000001
+#define   NV04_IMAGE_PATTERN_PATTERN_SELECT_COLOR                                      0x00000002
+#define  NV04_IMAGE_PATTERN_MONOCHROME_COLOR0                                          0x00000310
+#define  NV04_IMAGE_PATTERN_MONOCHROME_COLOR1                                          0x00000314
+#define  NV04_IMAGE_PATTERN_MONOCHROME_PATTERN0                                                0x00000318
+#define  NV04_IMAGE_PATTERN_MONOCHROME_PATTERN1                                                0x0000031c
+#define  NV04_IMAGE_PATTERN_PATTERN_Y8(x)                                              (0x00000400+((x)*4))
+#define  NV04_IMAGE_PATTERN_PATTERN_Y8__SIZE                                           0x00000010
+#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y0_SHIFT                                       0
+#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y0_MASK                                                0x000000ff
+#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y1_SHIFT                                       8
+#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y1_MASK                                                0x0000ff00
+#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y2_SHIFT                                       16
+#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y2_MASK                                                0x00ff0000
+#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y3_SHIFT                                       24
+#define   NV04_IMAGE_PATTERN_PATTERN_Y8_Y3_MASK                                                0xff000000
+#define  NV04_IMAGE_PATTERN_PATTERN_R5G6B5(x)                                          (0x00000500+((x)*4))
+#define  NV04_IMAGE_PATTERN_PATTERN_R5G6B5__SIZE                                       0x00000020
+#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B0_SHIFT                                   0
+#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B0_MASK                                    0x0000001f
+#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G0_SHIFT                                   5
+#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G0_MASK                                    0x000007e0
+#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R0_SHIFT                                   11
+#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R0_MASK                                    0x0000f800
+#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B1_SHIFT                                   16
+#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B1_MASK                                    0x001f0000
+#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G1_SHIFT                                   21
+#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G1_MASK                                    0x07e00000
+#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R1_SHIFT                                   27
+#define   NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R1_MASK                                    0xf8000000
+#define  NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5(x)                                                (0x00000600+((x)*4))
+#define  NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5__SIZE                                     0x00000020
+#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B0_SHIFT                                 0
+#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B0_MASK                                  0x0000001f
+#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G0_SHIFT                                 5
+#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G0_MASK                                  0x000003e0
+#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R0_SHIFT                                 10
+#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R0_MASK                                  0x00007c00
+#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B1_SHIFT                                 16
+#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B1_MASK                                  0x001f0000
+#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G1_SHIFT                                 21
+#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G1_MASK                                  0x03e00000
+#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R1_SHIFT                                 26
+#define   NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R1_MASK                                  0x7c000000
+#define  NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8(x)                                                (0x00000700+((x)*4))
+#define  NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8__SIZE                                     0x00000040
+#define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_B_SHIFT                                  0
+#define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_B_MASK                                   0x000000ff
+#define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_G_SHIFT                                  8
+#define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_G_MASK                                   0x0000ff00
+#define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_R_SHIFT                                  16
+#define   NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_R_MASK                                   0x00ff0000
+
+
+#define NV03_VIDEO_LUT_CURSOR_DAC                                                      0x00000046
+
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SYNCHRONIZE                                         0x00000100
+#define  NV03_VIDEO_LUT_CURSOR_DAC_STOP_IMAGE                                          0x00000104
+#define  NV03_VIDEO_LUT_CURSOR_DAC_STOP_CURSOR                                         0x00000108
+#define  NV03_VIDEO_LUT_CURSOR_DAC_STOP_DAC                                            0x0000010c
+#define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_NOTIFY                                          0x00000180
+#define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_IMAGE(x)                                                (0x00000184+((x)*4))
+#define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_IMAGE__SIZE                                     0x00000002
+#define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_LUT(x)                                          (0x0000018c+((x)*4))
+#define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_LUT__SIZE                                       0x00000002
+#define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_CURSOR(x)                                       (0x00000194+((x)*4))
+#define  NV03_VIDEO_LUT_CURSOR_DAC_DMA_CURSOR__SIZE                                    0x00000002
+#define  NV03_VIDEO_LUT_CURSOR_DAC_GET                                                 0x000002fc
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_OFFSET(x)                                 (0x00000300+((x)*8))
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_OFFSET__SIZE                              0x00000002
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT(x)                                 (0x00000304+((x)*8))
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT__SIZE                              0x00000002
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_PITCH_SHIFT                       0
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_PITCH_MASK                                0x0000ffff
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_COLOR_SHIFT                       16
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_COLOR_MASK                                0x0fff0000
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_NOTIFY_SHIFT                      28
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_NOTIFY_MASK                       0xf0000000
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_OFFSET(x)                                        (0x00000340+((x)*12))
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_OFFSET__SIZE                             0x00000002
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT(x)                             (0x00000344+((x)*12))
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT__SIZE                          0x00000002
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_X_SHIFT                       0
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_X_MASK                                0x0000ffff
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_Y_SHIFT                       16
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_Y_MASK                                0xffff0000
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_FORMAT(x)                                        (0x00000348+((x)*12))
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_FORMAT__SIZE                             0x00000002
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A                              0x00000358
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_X_SHIFT                     0
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_X_MASK                      0x0000ffff
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_Y_SHIFT                     16
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_Y_MASK                      0xffff0000
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE(x)                               (0x00000380+((x)*16))
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE__SIZE                            0x00000002
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_W_SHIFT                         0
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_W_MASK                          0x0000ffff
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_H_SHIFT                         16
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_H_MASK                          0xffff0000
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC(x)                                    (0x00000384+((x)*16))
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC__SIZE                                 0x00000002
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_START_SHIFT                          0
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_START_MASK                           0x0000ffff
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_WIDTH_SHIFT                          16
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_WIDTH_MASK                           0x0fff0000
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_POLARITY_SHIFT                       28
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_POLARITY_MASK                                0xf0000000
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC(x)                                    (0x00000388+((x)*16))
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC__SIZE                                 0x00000002
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_START_SHIFT                          0
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_START_MASK                           0x0000ffff
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_WIDTH_SHIFT                          16
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_WIDTH_MASK                           0x0fff0000
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_POLARITY_SHIFT                       28
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_POLARITY_MASK                                0xf0000000
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE(x)                               (0x0000038c+((x)*16))
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE__SIZE                            0x00000002
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_WIDTH_SHIFT                     0
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_WIDTH_MASK                      0x0000ffff
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_HEIGHT_SHIFT                    16
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_HEIGHT_MASK                     0x0fff0000
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_NOTIFY_SHIFT                    28
+#define   NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_NOTIFY_MASK                     0xf0000000
+#define  NV03_VIDEO_LUT_CURSOR_DAC_SET_PIXEL_CLOCK                                     0x000003a0
+
+
+#define NV03_DX3_TEXTURED_TRIANGLE                                                     0x00000048
+
+#define  NV03_DX3_TEXTURED_TRIANGLE_NOP                                                        0x00000100
+#define  NV03_DX3_TEXTURED_TRIANGLE_NOTIFY                                             0x00000104
+#define  NV03_DX3_TEXTURED_TRIANGLE_PATCH                                              0x0000010c
+#define  NV03_DX3_TEXTURED_TRIANGLE_DMA_NOTIFY                                         0x00000180
+#define  NV03_DX3_TEXTURED_TRIANGLE_DMA_TEXTURE                                                0x00000184
+#define  NV03_DX3_TEXTURED_TRIANGLE_CLIP_RECTANGLE                                     0x00000188
+#define  NV03_DX3_TEXTURED_TRIANGLE_SURFACE                                            0x0000018c
+#define  NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_OFFSET                                     0x00000304
+#define  NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT                                     0x00000308
+#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_MASK_SHIFT               0
+#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_MASK_MASK                        0x0000ffff
+#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_ENABLE_SHIFT             16
+#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_ENABLE_MASK              0x000f0000
+#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_SHIFT                                20
+#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_MASK                         0x00f00000
+#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MIN_SHIFT                     24
+#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MIN_MASK                      0x0f000000
+#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MAX_SHIFT                     28
+#define   NV03_DX3_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MAX_MASK                      0xf0000000
+#define  NV03_DX3_TEXTURED_TRIANGLE_FILTER                                             0x0000030c
+#define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SPREAD_X_SHIFT                             0
+#define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SPREAD_X_MASK                              0x0000001f
+#define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SPREAD_Y_SHIFT                             8
+#define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SPREAD_Y_MASK                              0x00001f00
+#define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SIZE_ADJUST_SHIFT                          16
+#define   NV03_DX3_TEXTURED_TRIANGLE_FILTER_SIZE_ADJUST_MASK                           0x00ff0000
+#define  NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR                                          0x00000310
+#define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_B_SHIFT                                 0
+#define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_B_MASK                                  0x000000ff
+#define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_G_SHIFT                                 8
+#define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_G_MASK                                  0x0000ff00
+#define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_R_SHIFT                                 16
+#define   NV03_DX3_TEXTURED_TRIANGLE_FOG_COLOR_R_MASK                                  0x00ff0000
+#define  NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT                                                0x00000314
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_INTERPOLATOR_SHIFT                    0
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_INTERPOLATOR_MASK                     0x0000000f
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_U_SHIFT                          4
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_U_MASK                           0x00000030
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_V_SHIFT                          6
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_V_MASK                           0x000000c0
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_SOURCE_COLOR_SHIFT                    8
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_SOURCE_COLOR_MASK                     0x00000f00
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_CULLING_SHIFT                         12
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_CULLING_MASK                          0x00007000
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_PERSPECTIVE_ENABLE                  (1 << 15)
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_FUNC_SHIFT                          16
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_FUNC_MASK                           0x000f0000
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_WRITE_ENABLE_SHIFT                  20
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_Z_WRITE_ENABLE_MASK                   0x00f00000
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_COLOR_WRITE_ENABLE_SHIFT              24
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_COLOR_WRITE_ENABLE_MASK               0x07000000
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_ROP_SHIFT                             27
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_ROP_MASK                              0x18000000
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_BETA                                  (1 << 29)
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_DST_BLEND                             (1 << 30)
+#define   NV03_DX3_TEXTURED_TRIANGLE_CONTROL_OUT_SRC_BLEND                             (1 << 31)
+#define  NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL                                      0x00000318
+#define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_SHIFT                     0
+#define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_MASK                      0x000000ff
+#define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_SHIFT                    8
+#define   NV03_DX3_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_MASK                     0xffffff00
+#define  NV03_DX3_TEXTURED_TRIANGLE_SPECULAR(x)                                                (0x00001000+((x)*32))
+#define  NV03_DX3_TEXTURED_TRIANGLE_SPECULAR__SIZE                                     0x00000040
+#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I0_SHIFT                                 0
+#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I0_MASK                                  0x0000000f
+#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I1_SHIFT                                 4
+#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I1_MASK                                  0x000000f0
+#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I2_SHIFT                                 8
+#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I2_MASK                                  0x00000f00
+#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I3_SHIFT                                 12
+#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I3_MASK                                  0x0000f000
+#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I4_SHIFT                                 16
+#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I4_MASK                                  0x000f0000
+#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I5_SHIFT                                 20
+#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_I5_MASK                                  0x00f00000
+#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_FOG_SHIFT                                        24
+#define   NV03_DX3_TEXTURED_TRIANGLE_SPECULAR_FOG_MASK                                 0xff000000
+#define  NV03_DX3_TEXTURED_TRIANGLE_COLOR(x)                                           (0x00001004+((x)*32))
+#define  NV03_DX3_TEXTURED_TRIANGLE_COLOR__SIZE                                                0x00000040
+#define  NV03_DX3_TEXTURED_TRIANGLE_X(x)                                               (0x00001008+((x)*32))
+#define  NV03_DX3_TEXTURED_TRIANGLE_X__SIZE                                            0x00000040
+#define  NV03_DX3_TEXTURED_TRIANGLE_Y(x)                                               (0x0000100c+((x)*32))
+#define  NV03_DX3_TEXTURED_TRIANGLE_Y__SIZE                                            0x00000040
+#define  NV03_DX3_TEXTURED_TRIANGLE_Z(x)                                               (0x00001010+((x)*32))
+#define  NV03_DX3_TEXTURED_TRIANGLE_Z__SIZE                                            0x00000040
+#define  NV03_DX3_TEXTURED_TRIANGLE_M(x)                                               (0x00001014+((x)*32))
+#define  NV03_DX3_TEXTURED_TRIANGLE_M__SIZE                                            0x00000040
+#define  NV03_DX3_TEXTURED_TRIANGLE_U(x)                                               (0x00001018+((x)*32))
+#define  NV03_DX3_TEXTURED_TRIANGLE_U__SIZE                                            0x00000040
+#define  NV03_DX3_TEXTURED_TRIANGLE_V(x)                                               (0x0000101c+((x)*32))
+#define  NV03_DX3_TEXTURED_TRIANGLE_V__SIZE                                            0x00000040
+
+
+#define NV04_GDI_RECTANGLE_TEXT                                                                0x0000004a
+
+#define  NV04_GDI_RECTANGLE_TEXT_NOP                                                   0x00000100
+#define  NV04_GDI_RECTANGLE_TEXT_NOTIFY                                                        0x00000104
+#define  NV04_GDI_RECTANGLE_TEXT_PATCH                                                 0x0000010c
+#define  NV04_GDI_RECTANGLE_TEXT_PM_TRIGGER                                            0x00000140
+#define  NV04_GDI_RECTANGLE_TEXT_DMA_NOTIFY                                            0x00000180
+#define  NV04_GDI_RECTANGLE_TEXT_DMA_FONTS                                             0x00000184
+#define  NV04_GDI_RECTANGLE_TEXT_PATTERN                                               0x00000188
+#define  NV04_GDI_RECTANGLE_TEXT_ROP                                                   0x0000018c
+#define  NV04_GDI_RECTANGLE_TEXT_BETA1                                                 0x00000190
+#define  NV04_GDI_RECTANGLE_TEXT_BETA4                                                 0x00000194
+#define  NV04_GDI_RECTANGLE_TEXT_SURFACE                                               0x00000198
+#define  NV04_GDI_RECTANGLE_TEXT_OPERATION                                             0x000002fc
+#define   NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY_AND                                        0x00000000
+#define   NV04_GDI_RECTANGLE_TEXT_OPERATION_ROP_AND                                    0x00000001
+#define   NV04_GDI_RECTANGLE_TEXT_OPERATION_BLEND_AND                                  0x00000002
+#define   NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY                                    0x00000003
+#define   NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY_PREMULT                            0x00000004
+#define   NV04_GDI_RECTANGLE_TEXT_OPERATION_BLEND_PREMULT                              0x00000005
+#define  NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT                                          0x00000300
+#define   NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A16R5G6B5                               0x00000001
+#define   NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_X16A1R5G5B5                             0x00000002
+#define   NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A8R8G8B8                                        0x00000003
+#define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT                                     0x00000304
+#define   NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT_CGA6                               0x00000001
+#define   NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT_LE                                 0x00000002
+#define  NV04_GDI_RECTANGLE_TEXT_COLOR1_A                                              0x000003fc
+#define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT(x)                          (0x00000400+((x)*8))
+#define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT__SIZE                       0x00000020
+#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_SHIFT                    0
+#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_MASK                     0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_SHIFT                    16
+#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_MASK                     0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE(x)                           (0x00000404+((x)*8))
+#define  NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE__SIZE                                0x00000020
+#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_SHIFT                     0
+#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_MASK                      0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_SHIFT                     16
+#define   NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_MASK                      0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0                                         0x000005f4
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_L_SHIFT                                        0
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_L_MASK                                 0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_T_SHIFT                                        16
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_T_MASK                                 0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1                                         0x000005f8
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_R_SHIFT                                        0
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_R_MASK                                 0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_B_SHIFT                                        16
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_B_MASK                                 0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_COLOR1_B                                              0x000005fc
+#define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0(x)                          (0x00000600+((x)*8))
+#define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0__SIZE                       0x00000020
+#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_SHIFT                    0
+#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_MASK                     0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_SHIFT                    16
+#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_MASK                     0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1(x)                          (0x00000604+((x)*8))
+#define  NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1__SIZE                       0x00000020
+#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_SHIFT                    0
+#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_MASK                     0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_SHIFT                    16
+#define   NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_MASK                     0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0                                         0x000007ec
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_SHIFT                                        0
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_MASK                                 0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_SHIFT                                        16
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_MASK                                 0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1                                         0x000007f0
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_SHIFT                                        0
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_MASK                                 0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_SHIFT                                        16
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_MASK                                 0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_COLOR1_C                                              0x000007f4
+#define  NV04_GDI_RECTANGLE_TEXT_SIZE_C                                                        0x000007f8
+#define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_W_SHIFT                                       0
+#define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_W_MASK                                                0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_H_SHIFT                                       16
+#define   NV04_GDI_RECTANGLE_TEXT_SIZE_C_H_MASK                                                0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_POINT_C                                               0x000007fc
+#define   NV04_GDI_RECTANGLE_TEXT_POINT_C_X_SHIFT                                      0
+#define   NV04_GDI_RECTANGLE_TEXT_POINT_C_X_MASK                                       0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_POINT_C_Y_SHIFT                                      16
+#define   NV04_GDI_RECTANGLE_TEXT_POINT_C_Y_MASK                                       0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C(x)                                        (0x00000800+((x)*4))
+#define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C__SIZE                             0x00000080
+#define  NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0                                         0x00000be4
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_SHIFT                                        0
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_MASK                                 0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_SHIFT                                        16
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_MASK                                 0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1                                         0x00000be8
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_SHIFT                                        0
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_MASK                                 0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_SHIFT                                        16
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_MASK                                 0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_COLOR0_E                                              0x00000bec
+#define  NV04_GDI_RECTANGLE_TEXT_COLOR1_E                                              0x00000bf0
+#define  NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E                                             0x00000bf4
+#define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_SHIFT                                    0
+#define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_MASK                                     0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_SHIFT                                    16
+#define   NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_MASK                                     0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E                                            0x00000bf8
+#define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_SHIFT                                   0
+#define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_MASK                                    0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_SHIFT                                   16
+#define   NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_MASK                                    0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_POINT_E                                               0x00000bfc
+#define   NV04_GDI_RECTANGLE_TEXT_POINT_E_X_SHIFT                                      0
+#define   NV04_GDI_RECTANGLE_TEXT_POINT_E_X_MASK                                       0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_POINT_E_Y_SHIFT                                      16
+#define   NV04_GDI_RECTANGLE_TEXT_POINT_E_Y_MASK                                       0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E(x)                               (0x00000c00+((x)*4))
+#define  NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E__SIZE                            0x00000080
+#define  NV04_GDI_RECTANGLE_TEXT_FONT_F                                                        0x00000ff0
+#define   NV04_GDI_RECTANGLE_TEXT_FONT_F_OFFSET_SHIFT                                  0
+#define   NV04_GDI_RECTANGLE_TEXT_FONT_F_OFFSET_MASK                                   0x0fffffff
+#define   NV04_GDI_RECTANGLE_TEXT_FONT_F_PITCH_SHIFT                                   28
+#define   NV04_GDI_RECTANGLE_TEXT_FONT_F_PITCH_MASK                                    0xf0000000
+#define  NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0                                         0x00000ff4
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_L_SHIFT                                        0
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_L_MASK                                 0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_T_SHIFT                                        16
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_T_MASK                                 0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1                                         0x00000ff8
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_R_SHIFT                                        0
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_R_MASK                                 0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_B_SHIFT                                        16
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_B_MASK                                 0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_COLOR1_F                                              0x00000ffc
+#define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F(x)                                 (0x00001000+((x)*4))
+#define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F__SIZE                              0x00000100
+#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_INDEX_SHIFT                       0
+#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_INDEX_MASK                                0x000000ff
+#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_X_SHIFT                           8
+#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_X_MASK                            0x000fff00
+#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_Y_SHIFT                           20
+#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_Y_MASK                            0xfff00000
+#define  NV04_GDI_RECTANGLE_TEXT_FONT_G                                                        0x000017f0
+#define   NV04_GDI_RECTANGLE_TEXT_FONT_G_OFFSET_SHIFT                                  0
+#define   NV04_GDI_RECTANGLE_TEXT_FONT_G_OFFSET_MASK                                   0x0fffffff
+#define   NV04_GDI_RECTANGLE_TEXT_FONT_G_PITCH_SHIFT                                   28
+#define   NV04_GDI_RECTANGLE_TEXT_FONT_G_PITCH_MASK                                    0xf0000000
+#define  NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0                                         0x000017f4
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_L_SHIFT                                        0
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_L_MASK                                 0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_T_SHIFT                                        16
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_T_MASK                                 0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1                                         0x000017f8
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_R_SHIFT                                        0
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_R_MASK                                 0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_B_SHIFT                                        16
+#define   NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_B_MASK                                 0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_COLOR1_G                                              0x000017fc
+#define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT(x)                           (0x00001800+((x)*8))
+#define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT__SIZE                                0x00000100
+#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_X_SHIFT                     0
+#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_X_MASK                      0x0000ffff
+#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_Y_SHIFT                     16
+#define   NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_Y_MASK                      0xffff0000
+#define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_INDEX(x)                           (0x00001804+((x)*8))
+#define  NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_INDEX__SIZE                                0x00000100
+
+
+#define NV03_GDI_RECTANGLE_TEXT                                                                0x0000004b
+
+#define  NV03_GDI_RECTANGLE_TEXT_NOP                                                   0x00000100
+#define  NV03_GDI_RECTANGLE_TEXT_NOTIFY                                                        0x00000104
+#define  NV03_GDI_RECTANGLE_TEXT_DMA_NOTIFY                                            0x00000180
+#define  NV03_GDI_RECTANGLE_TEXT_PATTERN                                               0x00000184
+#define  NV03_GDI_RECTANGLE_TEXT_ROP                                                   0x00000188
+#define  NV03_GDI_RECTANGLE_TEXT_BETA1                                                 0x0000018c
+#define  NV03_GDI_RECTANGLE_TEXT_SURFACE                                               0x00000190
+#define  NV03_GDI_RECTANGLE_TEXT_OPERATION                                             0x000002fc
+#define  NV03_GDI_RECTANGLE_TEXT_COLOR_FORMAT                                          0x00000300
+#define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT                                     0x00000304
+#define  NV03_GDI_RECTANGLE_TEXT_COLOR1_A                                              0x000003fc
+#define  NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT                             0x00000400
+#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_SHIFT                    0
+#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_MASK                     0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_SHIFT                    16
+#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_MASK                     0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE                              0x00000404
+#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_SHIFT                     0
+#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_MASK                      0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_SHIFT                     16
+#define   NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_MASK                      0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B                                         0x000007f4
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_L_SHIFT                                        0
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_L_MASK                                 0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_T_SHIFT                                        16
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_T_MASK                                 0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B                                         0x000007f8
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_R_SHIFT                                        0
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_R_MASK                                 0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_B_SHIFT                                        16
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_B_MASK                                 0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_COLOR1_B                                              0x000007fc
+#define  NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0                             0x00000800
+#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_SHIFT                    0
+#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_MASK                     0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_SHIFT                    16
+#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_MASK                     0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1                             0x00000804
+#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_SHIFT                    0
+#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_MASK                     0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_SHIFT                    16
+#define   NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_MASK                     0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0                                         0x00000bec
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_SHIFT                                        0
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_MASK                                 0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_SHIFT                                        16
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_MASK                                 0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1                                         0x00000bf0
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_SHIFT                                        0
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_MASK                                 0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_SHIFT                                        16
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_MASK                                 0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_COLOR1_C                                              0x00000bf4
+#define  NV03_GDI_RECTANGLE_TEXT_SIZE_C                                                        0x00000bf8
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_W_SHIFT                                       0
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_W_MASK                                                0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_H_SHIFT                                       16
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_C_H_MASK                                                0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_POINT_C                                               0x00000bfc
+#define   NV03_GDI_RECTANGLE_TEXT_POINT_C_X_SHIFT                                      0
+#define   NV03_GDI_RECTANGLE_TEXT_POINT_C_X_MASK                                       0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_POINT_C_Y_SHIFT                                      16
+#define   NV03_GDI_RECTANGLE_TEXT_POINT_C_Y_MASK                                       0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C(x)                                        (0x00000c00+((x)*4))
+#define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C__SIZE                             0x00000020
+#define  NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0                                         0x00000fe8
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_L_SHIFT                                        0
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_L_MASK                                 0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_T_SHIFT                                        16
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_T_MASK                                 0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1                                         0x00000fec
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_R_SHIFT                                        0
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_R_MASK                                 0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_B_SHIFT                                        16
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_B_MASK                                 0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_COLOR1_D                                              0x00000ff0
+#define  NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D                                             0x00000ff4
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_W_SHIFT                                    0
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_W_MASK                                     0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_H_SHIFT                                    16
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_H_MASK                                     0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D                                            0x00000ff8
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_W_SHIFT                                   0
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_W_MASK                                    0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_H_SHIFT                                   16
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_H_MASK                                    0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_POINT_D                                               0x00000ffc
+#define   NV03_GDI_RECTANGLE_TEXT_POINT_D_X_SHIFT                                      0
+#define   NV03_GDI_RECTANGLE_TEXT_POINT_D_X_MASK                                       0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_POINT_D_Y_SHIFT                                      16
+#define   NV03_GDI_RECTANGLE_TEXT_POINT_D_Y_MASK                                       0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_D(x)                                        (0x00001000+((x)*4))
+#define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_D__SIZE                             0x00000020
+#define  NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0                                         0x000013e4
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_SHIFT                                        0
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_MASK                                 0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_SHIFT                                        16
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_MASK                                 0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1                                         0x000013e8
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_SHIFT                                        0
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_MASK                                 0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_SHIFT                                        16
+#define   NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_MASK                                 0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_COLOR0_E                                              0x000013ec
+#define  NV03_GDI_RECTANGLE_TEXT_COLOR1_E                                              0x000013f0
+#define  NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E                                             0x000013f4
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_SHIFT                                    0
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_MASK                                     0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_SHIFT                                    16
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_MASK                                     0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E                                            0x000013f8
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_SHIFT                                   0
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_MASK                                    0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_SHIFT                                   16
+#define   NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_MASK                                    0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_POINT_E                                               0x000013fc
+#define   NV03_GDI_RECTANGLE_TEXT_POINT_E_X_SHIFT                                      0
+#define   NV03_GDI_RECTANGLE_TEXT_POINT_E_X_MASK                                       0x0000ffff
+#define   NV03_GDI_RECTANGLE_TEXT_POINT_E_Y_SHIFT                                      16
+#define   NV03_GDI_RECTANGLE_TEXT_POINT_E_Y_MASK                                       0xffff0000
+#define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E(x)                               (0x00001400+((x)*4))
+#define  NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E__SIZE                            0x00000020
+
+
+#define NV04_SWIZZLED_SURFACE                                                          0x00000052
+
+#define  NV04_SWIZZLED_SURFACE_NOP                                                     0x00000100
+#define  NV04_SWIZZLED_SURFACE_NOTIFY                                                  0x00000104
+#define  NV04_SWIZZLED_SURFACE_DMA_NOTIFY                                              0x00000180
+#define  NV04_SWIZZLED_SURFACE_DMA_IMAGE                                               0x00000184
+#define  NV04_SWIZZLED_SURFACE_FORMAT                                                  0x00000300
+#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_SHIFT                                     0
+#define   NV04_SWIZZLED_SURFACE_FORMAT_COLOR_MASK                                      0x000000ff
+#define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y8                                       0x00000001
+#define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5                                0x00000002
+#define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1R5G5B5_X1R5G5B5                                0x00000003
+#define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_R5G6B5                                   0x00000004
+#define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y16                                      0x00000005
+#define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8                                0x00000006
+#define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X8R8G8B8_X8R8G8B8                                0x00000007
+#define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8                    0x00000008
+#define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8                    0x00000009
+#define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_A8R8G8B8                                 0x0000000a
+#define    NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y32                                      0x0000000b
+#define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_SHIFT                               16
+#define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_MASK                                        0x00ff0000
+#define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_V_SHIFT                               24
+#define   NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_V_MASK                                        0xff000000
+#define  NV04_SWIZZLED_SURFACE_OFFSET                                                  0x00000304
+
+
+#define NV04_CONTEXT_SURFACES_3D                                                       0x00000053
+
+#define  NV04_CONTEXT_SURFACES_3D_NOP                                                  0x00000100
+#define  NV04_CONTEXT_SURFACES_3D_NOTIFY                                               0x00000104
+#define  NV04_CONTEXT_SURFACES_3D_DMA_NOTIFY                                           0x00000180
+#define  NV04_CONTEXT_SURFACES_3D_DMA_COLOR                                            0x00000184
+#define  NV04_CONTEXT_SURFACES_3D_DMA_ZETA                                             0x00000188
+#define  NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL                                      0x000002f8
+#define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X_SHIFT                             0
+#define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X_MASK                              0x0000ffff
+#define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W_SHIFT                             16
+#define   NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W_MASK                              0xffff0000
+#define  NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL                                                0x000002fc
+#define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y_SHIFT                               0
+#define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y_MASK                                        0x0000ffff
+#define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H_SHIFT                               16
+#define   NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H_MASK                                        0xffff0000
+#define  NV04_CONTEXT_SURFACES_3D_FORMAT                                               0x00000300
+#define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_SHIFT                                  0
+#define   NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_MASK                                   0x000000ff
+#define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5                     0x00000001
+#define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_X1R5G5B5                     0x00000002
+#define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_R5G6B5                                        0x00000003
+#define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8                     0x00000004
+#define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_X8R8G8B8                     0x00000005
+#define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8                 0x00000006
+#define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8                 0x00000007
+#define    NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_A8R8G8B8                              0x00000008
+#define   NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SHIFT                                   8
+#define   NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_MASK                                    0x0000ff00
+#define    NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_PITCH                                  0x00000100
+#define    NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SWIZZLE                                        0x00000200
+#define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U_SHIFT                            16
+#define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U_MASK                             0x00ff0000
+#define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V_SHIFT                            24
+#define   NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V_MASK                             0xff000000
+#define  NV04_CONTEXT_SURFACES_3D_CLIP_SIZE                                            0x00000304
+#define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W_SHIFT                                   0
+#define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W_MASK                                    0x0000ffff
+#define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H_SHIFT                                   16
+#define   NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H_MASK                                    0xffff0000
+#define  NV04_CONTEXT_SURFACES_3D_PITCH                                                        0x00000308
+#define   NV04_CONTEXT_SURFACES_3D_PITCH_COLOR_SHIFT                                   0
+#define   NV04_CONTEXT_SURFACES_3D_PITCH_COLOR_MASK                                    0x0000ffff
+#define   NV04_CONTEXT_SURFACES_3D_PITCH_ZETA_SHIFT                                    16
+#define   NV04_CONTEXT_SURFACES_3D_PITCH_ZETA_MASK                                     0xffff0000
+#define  NV04_CONTEXT_SURFACES_3D_OFFSET_COLOR                                         0x0000030c
+#define  NV04_CONTEXT_SURFACES_3D_OFFSET_ZETA                                          0x00000310
+
+
+#define NV04_DX5_TEXTURED_TRIANGLE                                                     0x00000054
+
+#define  NV04_DX5_TEXTURED_TRIANGLE_NOP                                                        0x00000100
+#define  NV04_DX5_TEXTURED_TRIANGLE_NOTIFY                                             0x00000104
+#define  NV04_DX5_TEXTURED_TRIANGLE_DMA_NOTIFY                                         0x00000180
+#define  NV04_DX5_TEXTURED_TRIANGLE_DMA_A                                              0x00000184
+#define  NV04_DX5_TEXTURED_TRIANGLE_DMA_B                                              0x00000188
+#define  NV04_DX5_TEXTURED_TRIANGLE_SURFACE                                            0x0000018c
+#define  NV04_DX5_TEXTURED_TRIANGLE_COLORKEY                                           0x00000300
+#define  NV04_DX5_TEXTURED_TRIANGLE_OFFSET                                             0x00000304
+#define  NV04_DX5_TEXTURED_TRIANGLE_FORMAT                                             0x00000308
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_DMA_SHIFT                                  0
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_DMA_MASK                                   0x00000003
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_MATCH_SHIFT                      2
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_MATCH_MASK                       0x0000000c
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_SHIFT                           4
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_MASK                            0x00000030
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CENTER                         0x00000010
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CORNER                         0x00000020
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_SHIFT                           6
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_MASK                            0x000000c0
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CENTER                         0x00000040
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CORNER                         0x00000080
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_SHIFT                                        8
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_MASK                                 0x00000f00
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_Y8                                  0x00000100
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_A1R5G5B5                            0x00000200
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_X1R5G5B5                            0x00000300
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_A4R4G4B4                            0x00000400
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_R5G6B5                              0x00000500
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_A8R8G8B8                            0x00000600
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_COLOR_X8R8G8B8                            0x00000700
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS_SHIFT                                12
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS_MASK                         0x0000f000
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U_SHIFT                          16
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U_MASK                           0x000f0000
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V_SHIFT                          20
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V_MASK                           0x00f00000
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_SHIFT                             24
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MASK                              0x07000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_REPEAT                           0x01000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MIRRORED_REPEAT                  0x02000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_EDGE                    0x03000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_BORDER                  0x04000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP                            0x05000000
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_WRAPU                                      (1 << 27)
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_SHIFT                             28
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MASK                              0x70000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_REPEAT                           0x10000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MIRRORED_REPEAT                  0x20000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_EDGE                    0x30000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_BORDER                  0x40000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP                            0x50000000
+#define   NV04_DX5_TEXTURED_TRIANGLE_FORMAT_WRAPV                                      (1 << 31)
+#define  NV04_DX5_TEXTURED_TRIANGLE_FILTER                                             0x0000030c
+#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X_SHIFT                                0
+#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X_MASK                         0x000000ff
+#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y_SHIFT                                8
+#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y_MASK                         0x00007f00
+#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE                       (1 << 15)
+#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS_SHIFT                       16
+#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS_MASK                                0x00ff0000
+#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_SHIFT                               24
+#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_MASK                                        0x07000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST                            0x01000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR                             0x02000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST             0x03000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST              0x04000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR              0x05000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR               0x06000000
+#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE                  (1 << 27)
+#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_SHIFT                              28
+#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_MASK                               0x70000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST                           0x10000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR                            0x20000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST_MIPMAP_NEAREST            0x30000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR_MIPMAP_NEAREST             0x40000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST_MIPMAP_LINEAR             0x50000000
+#define    NV04_DX5_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR_MIPMAP_LINEAR              0x60000000
+#define   NV04_DX5_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE                 (1 << 31)
+#define  NV04_DX5_TEXTURED_TRIANGLE_BLEND                                              0x00000310
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_SHIFT                           0
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MASK                            0x0000000f
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_MASK_BIT_SHIFT                              4
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_MASK_BIT_MASK                               0x00000030
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_SHIFT                            6
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_MASK                             0x000000c0
+#define    NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_FLAT                            0x00000040
+#define    NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_GOURAUD                         0x00000080
+#define    NV04_DX5_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_PHONG                           0x000000c0
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE_SHIFT            8
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE_MASK             0x00000f00
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE_SHIFT                       12
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE_MASK                                0x0000f000
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_FOG_ENABLE_SHIFT                            16
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_FOG_ENABLE_MASK                             0x000f0000
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_ALPHA_ENABLE_SHIFT                          20
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_ALPHA_ENABLE_MASK                           0x00f00000
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SRC_SHIFT                                   24
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_SRC_MASK                                    0x0f000000
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_DST_SHIFT                                   28
+#define   NV04_DX5_TEXTURED_TRIANGLE_BLEND_DST_MASK                                    0xf0000000
+#define  NV04_DX5_TEXTURED_TRIANGLE_CONTROL                                            0x00000314
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF_SHIFT                           0
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF_MASK                            0x000000ff
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_SHIFT                          8
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_MASK                           0x00000f00
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ALPHA_TEST_ENABLE                         (1 << 12)
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_ORIGIN                                    (1 << 13)
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_ENABLE_SHIFT                            14
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_ENABLE_MASK                             0x0000c000
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_SHIFT                              16
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_MASK                               0x000f0000
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_SHIFT                           20
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_MASK                            0x00300000
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_DITHER_ENABLE                             (1 << 22)
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_PERSPECTIVE_ENABLE                      (1 << 23)
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_WRITE_ENABLE_SHIFT                      24
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_WRITE_ENABLE_MASK                       0x3f000000
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_SHIFT                            30
+#define   NV04_DX5_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_MASK                             0xc0000000
+#define  NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR                                           0x00000318
+#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_B_SHIFT                                  0
+#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_B_MASK                                   0x000000ff
+#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_G_SHIFT                                  8
+#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_G_MASK                                   0x0000ff00
+#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_R_SHIFT                                  16
+#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_R_MASK                                   0x00ff0000
+#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_A_SHIFT                                  24
+#define   NV04_DX5_TEXTURED_TRIANGLE_FOGCOLOR_A_MASK                                   0xff000000
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SX(x)                                     (0x00000400+((x)*32))
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SX__SIZE                                  0x00000010
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SY(x)                                     (0x00000404+((x)*32))
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SY__SIZE                                  0x00000010
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SZ(x)                                     (0x00000408+((x)*32))
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SZ__SIZE                                  0x00000010
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_RHW(x)                                    (0x0000040c+((x)*32))
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_RHW__SIZE                                 0x00000010
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR(x)                                  (0x00000410+((x)*32))
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR__SIZE                               0x00000010
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B_SHIFT                            0
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B_MASK                             0x000000ff
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G_SHIFT                            8
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G_MASK                             0x0000ff00
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R_SHIFT                            16
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R_MASK                             0x00ff0000
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A_SHIFT                            24
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A_MASK                             0xff000000
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(x)                               (0x00000414+((x)*32))
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR__SIZE                            0x00000010
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B_SHIFT                         0
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B_MASK                          0x000000ff
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G_SHIFT                         8
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G_MASK                          0x0000ff00
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R_SHIFT                         16
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R_MASK                          0x00ff0000
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_SHIFT                       24
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_MASK                                0xff000000
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_TU(x)                                     (0x00000418+((x)*32))
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_TU__SIZE                                  0x00000010
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_TV(x)                                     (0x0000041c+((x)*32))
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_TV__SIZE                                  0x00000010
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE(x)                          (0x00000600+((x)*4))
+#define  NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE__SIZE                       0x00000040
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I0_SHIFT                   0
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I0_MASK                    0x0000000f
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I1_SHIFT                   4
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I1_MASK                    0x000000f0
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I2_SHIFT                   8
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I2_MASK                    0x00000f00
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I3_SHIFT                   12
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I3_MASK                    0x0000f000
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I4_SHIFT                   16
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I4_MASK                    0x000f0000
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I5_SHIFT                   20
+#define   NV04_DX5_TEXTURED_TRIANGLE_TLVERTEX_DRAWPRIMITIVE_I5_MASK                    0x00f00000
+
+
+#define NV04_DX6_MULTITEX_TRIANGLE                                                     0x00000055
+
+#define  NV04_DX6_MULTITEX_TRIANGLE_NOP                                                        0x00000100
+#define  NV04_DX6_MULTITEX_TRIANGLE_NOTIFY                                             0x00000104
+#define  NV04_DX6_MULTITEX_TRIANGLE_DMA_NOTIFY                                         0x00000180
+#define  NV04_DX6_MULTITEX_TRIANGLE_DMA_A                                              0x00000184
+#define  NV04_DX6_MULTITEX_TRIANGLE_DMA_B                                              0x00000188
+#define  NV04_DX6_MULTITEX_TRIANGLE_SURFACE                                            0x0000018c
+#define  NV04_DX6_MULTITEX_TRIANGLE_OFFSET(x)                                          (0x00000308+((x)*4))
+#define  NV04_DX6_MULTITEX_TRIANGLE_OFFSET__SIZE                                       0x00000002
+#define  NV04_DX6_MULTITEX_TRIANGLE_FORMAT(x)                                          (0x00000310+((x)*4))
+#define  NV04_DX6_MULTITEX_TRIANGLE_FORMAT__SIZE                                       0x00000002
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_DMA_SHIFT                                  0
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_DMA_MASK                                   0x0000000f
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_SHIFT                           4
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_MASK                            0x00000030
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_SHIFT                           6
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_MASK                            0x000000c0
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_COLOR_SHIFT                                        8
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_COLOR_MASK                                 0x00000f00
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS_SHIFT                                12
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS_MASK                         0x0000f000
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U_SHIFT                          16
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U_MASK                           0x000f0000
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V_SHIFT                          20
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V_MASK                           0x00f00000
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_SHIFT                             24
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_MASK                              0x07000000
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_WRAPU                                      (1 << 27)
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_SHIFT                             28
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_MASK                              0x70000000
+#define   NV04_DX6_MULTITEX_TRIANGLE_FORMAT_WRAPV                                      (1 << 31)
+#define  NV04_DX6_MULTITEX_TRIANGLE_FILTER(x)                                          (0x00000318+((x)*4))
+#define  NV04_DX6_MULTITEX_TRIANGLE_FILTER__SIZE                                       0x00000002
+#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X_SHIFT                                0
+#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X_MASK                         0x000000ff
+#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y_SHIFT                                8
+#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y_MASK                         0x00007f00
+#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE                       (1 << 15)
+#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS_SHIFT                       16
+#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS_MASK                                0x00ff0000
+#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MINIFY_SHIFT                               24
+#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MINIFY_MASK                                        0x07000000
+#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE                  (1 << 27)
+#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MAGNIFY_SHIFT                              28
+#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_MAGNIFY_MASK                               0x70000000
+#define   NV04_DX6_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE                 (1 << 31)
+#define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA                                    0x00000320
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_INVERSE0                          (1 <<  0)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ALPHA0                            (1 <<  1)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT0_SHIFT                   2
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT0_MASK                    0x000000fc
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_INVERSE1                          (1 <<  8)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ALPHA1                            (1 <<  9)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT1_SHIFT                   10
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT1_MASK                    0x0000fc00
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_INVERSE2                          (1 << 16)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ALPHA2                            (1 << 17)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT2_SHIFT                   18
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT2_MASK                    0x00fc0000
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_INVERSE3                          (1 << 24)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ALPHA3                            (1 << 25)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT3_SHIFT                   26
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_ARGUMENT3_MASK                    0x1c000000
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_OPERATION_SHIFT                   29
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_ALPHA_OPERATION_MASK                    0xe0000000
+#define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR                                    0x00000324
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_INVERSE0                          (1 <<  0)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ALPHA0                            (1 <<  1)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT0_SHIFT                   2
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT0_MASK                    0x000000fc
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_INVERSE1                          (1 <<  8)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ALPHA1                            (1 <<  9)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT1_SHIFT                   10
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT1_MASK                    0x0000fc00
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_INVERSE2                          (1 << 16)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ALPHA2                            (1 << 17)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT2_SHIFT                   18
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT2_MASK                    0x00fc0000
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_INVERSE3                          (1 << 24)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ALPHA3                            (1 << 25)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT3_SHIFT                   26
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_ARGUMENT3_MASK                    0x1c000000
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_OPERATION_SHIFT                   29
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_0_COLOR_OPERATION_MASK                    0xe0000000
+#define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA                                    0x0000032c
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_INVERSE0                          (1 <<  0)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ALPHA0                            (1 <<  1)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT0_SHIFT                   2
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT0_MASK                    0x000000fc
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_INVERSE1                          (1 <<  8)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ALPHA1                            (1 <<  9)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT1_SHIFT                   10
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT1_MASK                    0x0000fc00
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_INVERSE2                          (1 << 16)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ALPHA2                            (1 << 17)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT2_SHIFT                   18
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT2_MASK                    0x00fc0000
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_INVERSE3                          (1 << 24)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ALPHA3                            (1 << 25)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT3_SHIFT                   26
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_ARGUMENT3_MASK                    0x1c000000
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_OPERATION_SHIFT                   29
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_ALPHA_OPERATION_MASK                    0xe0000000
+#define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR                                    0x00000330
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_INVERSE0                          (1 <<  0)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ALPHA0                            (1 <<  1)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT0_SHIFT                   2
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT0_MASK                    0x000000fc
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_INVERSE1                          (1 <<  8)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ALPHA1                            (1 <<  9)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT1_SHIFT                   10
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT1_MASK                    0x0000fc00
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_INVERSE2                          (1 << 16)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ALPHA2                            (1 << 17)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT2_SHIFT                   18
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT2_MASK                    0x00fc0000
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_INVERSE3                          (1 << 24)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ALPHA3                            (1 << 25)
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT3_SHIFT                   26
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_ARGUMENT3_MASK                    0x1c000000
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_OPERATION_SHIFT                   29
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_1_COLOR_OPERATION_MASK                    0xe0000000
+#define  NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR                                     0x00000334
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_B_SHIFT                            0
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_B_MASK                             0x000000ff
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_G_SHIFT                            8
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_G_MASK                             0x0000ff00
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_R_SHIFT                            16
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_R_MASK                             0x00ff0000
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_A_SHIFT                            24
+#define   NV04_DX6_MULTITEX_TRIANGLE_COMBINE_FACTOR_A_MASK                             0xff000000
+#define  NV04_DX6_MULTITEX_TRIANGLE_BLEND                                              0x00000338
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_MASK_BIT_SHIFT                              4
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_MASK_BIT_MASK                               0x00000030
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_SHIFT                            6
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_MASK                             0x000000c0
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE_SHIFT            8
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE_MASK             0x00000f00
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE_SHIFT                       12
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE_MASK                                0x0000f000
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_FOG_ENABLE_SHIFT                            16
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_FOG_ENABLE_MASK                             0x000f0000
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_ALPHA_ENABLE_SHIFT                          20
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_ALPHA_ENABLE_MASK                           0x00f00000
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SRC_SHIFT                                   24
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_SRC_MASK                                    0x0f000000
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_DST_SHIFT                                   28
+#define   NV04_DX6_MULTITEX_TRIANGLE_BLEND_DST_MASK                                    0xf0000000
+#define  NV04_DX6_MULTITEX_TRIANGLE_CONTROL0                                           0x0000033c
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF_SHIFT                          0
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF_MASK                           0x000000ff
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_SHIFT                         8
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_MASK                          0x00000f00
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_TEST_ENABLE                                (1 << 12)
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ORIGIN                                   (1 << 13)
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_ENABLE_SHIFT                           14
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_ENABLE_MASK                            0x0000c000
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_SHIFT                             16
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_MASK                              0x000f0000
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_SHIFT                          20
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_MASK                           0x00300000
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_DITHER_ENABLE                            (1 << 22)
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_PERSPECTIVE_ENABLE                     (1 << 23)
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_WRITE_ENABLE                           (1 << 24)
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_STENCIL_WRITE_ENABLE                     (1 << 25)
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_ALPHA_WRITE_ENABLE                       (1 << 26)
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_RED_WRITE_ENABLE                         (1 << 27)
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_GREEN_WRITE_ENABLE                       (1 << 28)
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_BLUE_WRITE_ENABLE                                (1 << 29)
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_SHIFT                           30
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_MASK                            0xc0000000
+#define  NV04_DX6_MULTITEX_TRIANGLE_CONTROL1                                           0x00000340
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_TEST_ENABLE_SHIFT                        0
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_TEST_ENABLE_MASK                 0x0000000f
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC_SHIFT                       4
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC_MASK                                0x000000f0
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF_SHIFT                                8
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF_MASK                         0x0000ff00
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ_SHIFT                  16
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ_MASK                   0x00ff0000
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE_SHIFT                 24
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE_MASK                  0xff000000
+#define  NV04_DX6_MULTITEX_TRIANGLE_CONTROL2                                           0x00000344
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL_SHIFT                    0
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL_MASK                     0x0000000f
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL_SHIFT                   4
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL_MASK                    0x000000f0
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS_SHIFT                   8
+#define   NV04_DX6_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS_MASK                    0x00000f00
+#define  NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR                                           0x00000348
+#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_B_SHIFT                                  0
+#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_B_MASK                                   0x000000ff
+#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_G_SHIFT                                  8
+#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_G_MASK                                   0x0000ff00
+#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_R_SHIFT                                  16
+#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_R_MASK                                   0x00ff0000
+#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_A_SHIFT                                  24
+#define   NV04_DX6_MULTITEX_TRIANGLE_FOGCOLOR_A_MASK                                   0xff000000
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SX(x)                                   (0x00000400+((x)*40))
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SX__SIZE                                        0x00000008
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SY(x)                                   (0x00000404+((x)*40))
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SY__SIZE                                        0x00000008
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SZ(x)                                   (0x00000408+((x)*40))
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SZ__SIZE                                        0x00000008
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_RHW(x)                                  (0x0000040c+((x)*40))
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_RHW__SIZE                               0x00000008
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR(x)                                        (0x00000410+((x)*40))
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR__SIZE                             0x00000008
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B_SHIFT                          0
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B_MASK                           0x000000ff
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G_SHIFT                          8
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G_MASK                           0x0000ff00
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R_SHIFT                          16
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R_MASK                           0x00ff0000
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A_SHIFT                          24
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A_MASK                           0xff000000
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR(x)                             (0x00000414+((x)*40))
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR__SIZE                          0x00000008
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B_SHIFT                       0
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B_MASK                                0x000000ff
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G_SHIFT                       8
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G_MASK                                0x0000ff00
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R_SHIFT                       16
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R_MASK                                0x00ff0000
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG_SHIFT                     24
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG_MASK                      0xff000000
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TU0(x)                                  (0x00000418+((x)*40))
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TU0__SIZE                               0x00000008
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TV0(x)                                  (0x0000041c+((x)*40))
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TV0__SIZE                               0x00000008
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TU1(x)                                  (0x00000420+((x)*40))
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TU1__SIZE                               0x00000008
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TV1(x)                                  (0x00000424+((x)*40))
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_TV1__SIZE                               0x00000008
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE(x)                                (0x00000540+((x)*4))
+#define  NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE__SIZE                     0x00000030
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I0_SHIFT                 0
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I0_MASK                  0x0000000f
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I1_SHIFT                 4
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I1_MASK                  0x000000f0
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I2_SHIFT                 8
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I2_MASK                  0x00000f00
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I3_SHIFT                 12
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I3_MASK                  0x0000f000
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I4_SHIFT                 16
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I4_MASK                  0x000f0000
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I5_SHIFT                 20
+#define   NV04_DX6_MULTITEX_TRIANGLE_TLMTVERTEX_DRAWPRIMITIVE_I5_MASK                  0x00f00000
+
+
+#define NV10_TCL_PRIMITIVE_3D                                                          0x00000056
+
+#define  NV10_TCL_PRIMITIVE_3D_NOP                                                     0x00000100
+#define  NV10_TCL_PRIMITIVE_3D_NOTIFY                                                  0x00000104
+#define  NV10_TCL_PRIMITIVE_3D_DMA_NOTIFY                                              0x00000180
+#define  NV10_TCL_PRIMITIVE_3D_DMA_IN_MEMORY0                                          0x00000184
+#define  NV10_TCL_PRIMITIVE_3D_DMA_IN_MEMORY1                                          0x00000188
+#define  NV10_TCL_PRIMITIVE_3D_DISPLAY_LIST                                            0x0000018c
+#define  NV10_TCL_PRIMITIVE_3D_DMA_IN_MEMORY2                                          0x00000194
+#define  NV10_TCL_PRIMITIVE_3D_DMA_IN_MEMORY3                                          0x00000198
+#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                                          0x00000200
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_X_SHIFT                                 0
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_X_MASK                                  0x0000ffff
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_W_SHIFT                                 16
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_W_MASK                                  0xffff0000
+#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT                                           0x00000204
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT_Y_SHIFT                                  0
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT_Y_MASK                                   0x0000ffff
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT_H_SHIFT                                  16
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_VERT_H_MASK                                   0xffff0000
+#define  NV10_TCL_PRIMITIVE_3D_BUFFER_FORMAT                                           0x00000208
+#define  NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH                                            0x0000020c
+#define   NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH_COLOR_PITCH_SHIFT                         0
+#define   NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH_COLOR_PITCH_MASK                          0x0000ffff
+#define   NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH_ZETA_PITCH_SHIFT                          16
+#define   NV10_TCL_PRIMITIVE_3D_BUFFER_PITCH_ZETA_PITCH_MASK                           0xffff0000
+#define  NV10_TCL_PRIMITIVE_3D_COLOR_OFFSET                                            0x00000210
+#define  NV10_TCL_PRIMITIVE_3D_ZETA_OFFSET                                             0x00000214
+#define  NV10_TCL_PRIMITIVE_3D_TX_OFFSET(x)                                            (0x00000218+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_TX_OFFSET__SIZE                                         0x00000002
+#define  NV10_TCL_PRIMITIVE_3D_TX_FORMAT(x)                                            (0x00000220+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_TX_FORMAT__SIZE                                         0x00000002
+#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_CUBE_MAP                                     (1 <<  2)
+#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_SHIFT                                 7
+#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_MASK                                  0x00000780
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8                                   0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8                                   0x00000080
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R5G5B5A1                             0x00000100
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8_RECT                              0x00000180
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R4G4B4A4                             0x00000200
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8A8                             0x00000300
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_X8R8G8B8                             0x00000380
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_INDEX8                               0x00000580
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT1                                 0x00000600
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT3                                 0x00000700
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT5                                 0x00000780
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R5G5B5A1_RECT                                0x00000800
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8A8_RECT                                0x00000900
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8_RECT                              0x00000980
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8A8                                 0x00000d00
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8_RECT2                             0x00000d80
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8_RECT                          0x00000f00
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R4G4B4A4_RECT                                0x00000e80
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8A8_RECT                            0x00001000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A16                                  0x00001900
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A16_RECT                             0x00001a80
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV                      0x00002500
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV                      0x00002580
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_R32_NV                         0x00002600
+#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_NPOT                                         (1 << 11)
+#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_SHIFT                          12
+#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_MASK                           0x0000f000
+#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_SHIFT                            16
+#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_MASK                             0x000f0000
+#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_SHIFT                            20
+#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_MASK                             0x00f00000
+#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_SHIFT                                 24
+#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_MASK                                  0x0f000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_REPEAT                               0x01000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_MIRRORED_REPEAT                      0x02000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_CLAMP_TO_EDGE                                0x03000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_CLAMP_TO_BORDER                      0x04000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_S_CLAMP                                        0x05000000
+#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_SHIFT                                 28
+#define   NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_MASK                                  0xf0000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_REPEAT                               0x10000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_MIRRORED_REPEAT                      0x20000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_CLAMP_TO_EDGE                                0x30000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_CLAMP_TO_BORDER                      0x40000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FORMAT_WRAP_T_CLAMP                                        0x50000000
+#define  NV10_TCL_PRIMITIVE_3D_TX_ENABLE(x)                                            (0x00000228+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_TX_ENABLE__SIZE                                         0x00000002
+#define   NV10_TCL_PRIMITIVE_3D_TX_ENABLE_ANISOTROPY_SHIFT                             4
+#define   NV10_TCL_PRIMITIVE_3D_TX_ENABLE_ANISOTROPY_MASK                              0x00000030
+#define   NV10_TCL_PRIMITIVE_3D_TX_ENABLE_ENABLE                                       (1 << 30)
+#define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH(x)                                                (0x00000230+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH__SIZE                                     0x00000002
+#define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH_PITCH_SHIFT                              16
+#define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_PITCH_PITCH_MASK                               0xffff0000
+#define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE(x)                                         (0x00000240+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE__SIZE                                      0x00000002
+#define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_SHIFT                                   0
+#define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_MASK                                    0x0000ffff
+#define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_SHIFT                                   16
+#define   NV10_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_MASK                                    0xffff0000
+#define  NV10_TCL_PRIMITIVE_3D_TX_FILTER(x)                                            (0x00000248+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_TX_FILTER__SIZE                                         0x00000002
+#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_SHIFT                                 24
+#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_MASK                                  0x0f000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST                              0x01000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR                               0x02000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST               0x03000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST                        0x04000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR                        0x05000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR                 0x06000000
+#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_SHIFT                                        28
+#define   NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_MASK                                 0xf0000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST                             0x10000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR                              0x20000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_NEAREST              0x30000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_NEAREST               0x40000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_LINEAR               0x50000000
+#define    NV10_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_LINEAR                        0x60000000
+#define  NV10_TCL_PRIMITIVE_3D_TX_PALETTE_OFFSET(x)                                    (0x00000250+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_TX_PALETTE_OFFSET__SIZE                                 0x00000002
+#define  NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA(x)                                          (0x00000260+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA__SIZE                                       0x00000002
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SHIFT                              0
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_MASK                               0x0000000f
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_ZERO                              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0_NV                        0x00000001
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1_NV                        0x00000002
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_FOG                               0x00000003
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR_NV                  0x00000004
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR_NV                        0x00000005
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_TEXTURE0_ARB                      0x00000008
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_TEXTURE1_ARB                      0x00000009
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SPARE0_NV                         0x0000000c
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SPARE1_NV                         0x0000000d
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV    0x0000000e
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_INPUT_E_TIMES_F_NV                      0x0000000f
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_COMPONENT_USAGE                          (1 <<  4)
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE                    0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA                   0x00000010
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_SHIFT                            5
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_MASK                             0x000000e0
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY_NV            0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT_NV              0x00000020
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL_NV                        0x00000040
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE_NV                        0x00000060
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL_NV             0x00000080
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE_NV             0x000000a0
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY_NV              0x000000c0
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE_NV                        0x000000e0
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SHIFT                              8
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_MASK                               0x00000f00
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_ZERO                              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0_NV                        0x00000100
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1_NV                        0x00000200
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_FOG                               0x00000300
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR_NV                  0x00000400
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR_NV                        0x00000500
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_TEXTURE0_ARB                      0x00000800
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_TEXTURE1_ARB                      0x00000900
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SPARE0_NV                         0x00000c00
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SPARE1_NV                         0x00000d00
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV    0x00000e00
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_INPUT_E_TIMES_F_NV                      0x00000f00
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_COMPONENT_USAGE                          (1 << 12)
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE                    0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA                   0x00001000
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_SHIFT                            13
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_MASK                             0x0000e000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY_NV            0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT_NV              0x00002000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL_NV                        0x00004000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE_NV                        0x00006000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL_NV             0x00008000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE_NV             0x0000a000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY_NV              0x0000c000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE_NV                        0x0000e000
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SHIFT                              16
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_MASK                               0x000f0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_ZERO                              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0_NV                        0x00010000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1_NV                        0x00020000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_FOG                               0x00030000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR_NV                  0x00040000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR_NV                        0x00050000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_TEXTURE0_ARB                      0x00080000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_TEXTURE1_ARB                      0x00090000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SPARE0_NV                         0x000c0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SPARE1_NV                         0x000d0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV    0x000e0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_INPUT_E_TIMES_F_NV                      0x000f0000
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_COMPONENT_USAGE                          (1 << 20)
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE                    0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA                   0x00100000
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_SHIFT                            21
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_MASK                             0x00e00000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY_NV            0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT_NV              0x00200000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL_NV                        0x00400000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE_NV                        0x00600000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL_NV             0x00800000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE_NV             0x00a00000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY_NV              0x00c00000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE_NV                        0x00e00000
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SHIFT                              24
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_MASK                               0x0f000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_ZERO                              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0_NV                        0x01000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1_NV                        0x02000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_FOG                               0x03000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR_NV                  0x04000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR_NV                        0x05000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_TEXTURE0_ARB                      0x08000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_TEXTURE1_ARB                      0x09000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SPARE0_NV                         0x0c000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SPARE1_NV                         0x0d000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV    0x0e000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_INPUT_E_TIMES_F_NV                      0x0f000000
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_COMPONENT_USAGE                          (1 << 28)
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE                    0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA                   0x10000000
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_SHIFT                            29
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_MASK                             0xe0000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY_NV            0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT_NV              0x20000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL_NV                        0x40000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE_NV                        0x60000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL_NV             0x80000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE_NV             0xa0000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY_NV              0xc0000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE_NV                        0xe0000000
+#define  NV10_TCL_PRIMITIVE_3D_RC_IN_RGB(x)                                            (0x00000268+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_RC_IN_RGB__SIZE                                         0x00000002
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SHIFT                                        0
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_MASK                                 0x0000000f
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_ZERO                                        0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0_NV                  0x00000001
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1_NV                  0x00000002
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_FOG                                 0x00000003
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_PRIMARY_COLOR_NV                    0x00000004
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SECONDARY_COLOR_NV                  0x00000005
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_TEXTURE0_ARB                                0x00000008
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_TEXTURE1_ARB                                0x00000009
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SPARE0_NV                           0x0000000c
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SPARE1_NV                           0x0000000d
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV      0x0000000e
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_INPUT_E_TIMES_F_NV                                0x0000000f
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_COMPONENT_USAGE                            (1 <<  4)
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_COMPONENT_USAGE_RGB                       0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA                     0x00000010
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_SHIFT                              5
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_MASK                               0x000000e0
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY_NV              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT_NV                        0x00000020
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL_NV                  0x00000040
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE_NV                  0x00000060
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL_NV               0x00000080
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE_NV               0x000000a0
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY_NV                        0x000000c0
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE_NV                  0x000000e0
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SHIFT                                        8
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_MASK                                 0x00000f00
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_ZERO                                        0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0_NV                  0x00000100
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1_NV                  0x00000200
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_FOG                                 0x00000300
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_PRIMARY_COLOR_NV                    0x00000400
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SECONDARY_COLOR_NV                  0x00000500
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_TEXTURE0_ARB                                0x00000800
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_TEXTURE1_ARB                                0x00000900
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SPARE0_NV                           0x00000c00
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SPARE1_NV                           0x00000d00
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV      0x00000e00
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_INPUT_E_TIMES_F_NV                                0x00000f00
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_COMPONENT_USAGE                            (1 << 12)
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_COMPONENT_USAGE_RGB                       0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA                     0x00001000
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_SHIFT                              13
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_MASK                               0x0000e000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY_NV              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT_NV                        0x00002000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL_NV                  0x00004000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE_NV                  0x00006000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL_NV               0x00008000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE_NV               0x0000a000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY_NV                        0x0000c000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE_NV                  0x0000e000
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SHIFT                                        16
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_MASK                                 0x000f0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_ZERO                                        0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0_NV                  0x00010000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1_NV                  0x00020000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_FOG                                 0x00030000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_PRIMARY_COLOR_NV                    0x00040000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SECONDARY_COLOR_NV                  0x00050000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_TEXTURE0_ARB                                0x00080000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_TEXTURE1_ARB                                0x00090000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SPARE0_NV                           0x000c0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SPARE1_NV                           0x000d0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV      0x000e0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_INPUT_E_TIMES_F_NV                                0x000f0000
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_COMPONENT_USAGE                            (1 << 20)
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_COMPONENT_USAGE_RGB                       0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA                     0x00100000
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_SHIFT                              21
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_MASK                               0x00e00000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY_NV              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT_NV                        0x00200000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL_NV                  0x00400000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE_NV                  0x00600000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL_NV               0x00800000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE_NV               0x00a00000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY_NV                        0x00c00000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE_NV                  0x00e00000
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SHIFT                                        24
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_MASK                                 0x0f000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_ZERO                                        0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0_NV                  0x01000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1_NV                  0x02000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_FOG                                 0x03000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_PRIMARY_COLOR_NV                    0x04000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SECONDARY_COLOR_NV                  0x05000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_TEXTURE0_ARB                                0x08000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_TEXTURE1_ARB                                0x09000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SPARE0_NV                           0x0c000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SPARE1_NV                           0x0d000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV      0x0e000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_INPUT_E_TIMES_F_NV                                0x0f000000
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_COMPONENT_USAGE                            (1 << 28)
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_COMPONENT_USAGE_RGB                       0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA                     0x10000000
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_SHIFT                              29
+#define   NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_MASK                               0xe0000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY_NV              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT_NV                        0x20000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL_NV                  0x40000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE_NV                  0x60000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL_NV               0x80000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE_NV               0xa0000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY_NV                        0xc0000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE_NV                  0xe0000000
+#define  NV10_TCL_PRIMITIVE_3D_RC_COLOR(x)                                             (0x00000270+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_RC_COLOR__SIZE                                          0x00000002
+#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_B_SHIFT                                       0
+#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_B_MASK                                                0x000000ff
+#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_G_SHIFT                                       8
+#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_G_MASK                                                0x0000ff00
+#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_R_SHIFT                                       16
+#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_R_MASK                                                0x00ff0000
+#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_A_SHIFT                                       24
+#define   NV10_TCL_PRIMITIVE_3D_RC_COLOR_A_MASK                                                0xff000000
+#define  NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(x)                                         (0x00000278+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA__SIZE                                      0x00000002
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SHIFT                           0
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_MASK                            0x0000000f
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_ZERO                           0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0_NV             0x00000001
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1_NV             0x00000002
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_FOG                            0x00000003
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR_NV               0x00000004
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR_NV             0x00000005
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0_ARB                   0x00000008
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1_ARB                   0x00000009
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_NV                      0x0000000c
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE1_NV                      0x0000000d
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV 0x0000000e
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F_NV                   0x0000000f
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SHIFT                           4
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_MASK                            0x000000f0
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_ZERO                           0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0_NV             0x00000010
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1_NV             0x00000020
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_FOG                            0x00000030
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR_NV               0x00000040
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR_NV             0x00000050
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0_ARB                   0x00000080
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1_ARB                   0x00000090
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_NV                      0x000000c0
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE1_NV                      0x000000d0
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV 0x000000e0
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F_NV                   0x000000f0
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT                          8
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_MASK                           0x00000f00
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_ZERO                          0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0_NV            0x00000100
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1_NV            0x00000200
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_FOG                           0x00000300
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR_NV              0x00000400
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR_NV            0x00000500
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0_ARB                  0x00000800
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1_ARB                  0x00000900
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_NV                     0x00000c00
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1_NV                     0x00000d00
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV        0x00000e00
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F_NV                  0x00000f00
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_CD_DOT_PRODUCT                            (1 << 12)
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_AB_DOT_PRODUCT                            (1 << 13)
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_MUX_SUM                                   (1 << 14)
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_BIAS                                      (1 << 15)
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_BIAS_NONE                                        0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF_NV                0x00008000
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SHIFT                               17
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_MASK                                        0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_NONE                               0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO_NV                    0x00020000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR_NV                   0x00040000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF_NV               0x00060000
+#define  NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB(x)                                           (0x00000280+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB__SIZE                                                0x00000002
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SHIFT                             0
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_MASK                              0x0000000f
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_ZERO                             0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0_NV               0x00000001
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1_NV               0x00000002
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_FOG                              0x00000003
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR_NV                 0x00000004
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR_NV               0x00000005
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE0_ARB                     0x00000008
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE1_ARB                     0x00000009
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0_NV                                0x0000000c
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SPARE1_NV                                0x0000000d
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV   0x0000000e
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F_NV                     0x0000000f
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SHIFT                             4
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_MASK                              0x000000f0
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_ZERO                             0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0_NV               0x00000010
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1_NV               0x00000020
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_FOG                              0x00000030
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR_NV                 0x00000040
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR_NV               0x00000050
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE0_ARB                     0x00000080
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE1_ARB                     0x00000090
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0_NV                                0x000000c0
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SPARE1_NV                                0x000000d0
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV   0x000000e0
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F_NV                     0x000000f0
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SHIFT                            8
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_MASK                             0x00000f00
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_ZERO                            0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0_NV              0x00000100
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1_NV              0x00000200
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_FOG                             0x00000300
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR_NV                        0x00000400
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR_NV              0x00000500
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0_ARB                    0x00000800
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1_ARB                    0x00000900
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0_NV                       0x00000c00
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE1_NV                       0x00000d00
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR_NV  0x00000e00
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F_NV                    0x00000f00
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_CD_DOT_PRODUCT                              (1 << 12)
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_AB_DOT_PRODUCT                              (1 << 13)
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_MUX_SUM                                     (1 << 14)
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_BIAS                                                (1 << 15)
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_BIAS_NONE                                  0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF_NV          0x00008000
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SHIFT                                 17
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_MASK                                  0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_NONE                                 0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SCALE_BY_TWO_NV                      0x00020000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SCALE_BY_FOUR_NV                     0x00040000
+#define    NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF_NV                 0x00060000
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_OPERATION_SHIFT                             27
+#define   NV10_TCL_PRIMITIVE_3D_RC_OUT_RGB_OPERATION_MASK                              0x38000000
+#define  NV10_TCL_PRIMITIVE_3D_RC_FINAL0                                               0x00000288
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SHIFT                                        0
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_MASK                                 0x0000000f
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_ZERO                                        0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR0_NV                  0x00000001
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR1_NV                  0x00000002
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_FOG                                 0x00000003
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_PRIMARY_COLOR_NV                    0x00000004
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SECONDARY_COLOR_NV                  0x00000005
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_TEXTURE0_ARB                                0x00000008
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_TEXTURE1_ARB                                0x00000009
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SPARE0_NV                           0x0000000c
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SPARE1_NV                           0x0000000d
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV      0x0000000e
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_INPUT_E_TIMES_F_NV                                0x0000000f
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_COMPONENT_USAGE                            (1 <<  4)
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_COMPONENT_USAGE_RGB                       0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_COMPONENT_USAGE_ALPHA                     0x00000010
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_SHIFT                              5
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_MASK                               0x000000e0
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY_NV              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT_NV                        0x00000020
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_EXPAND_NORMAL_NV                  0x00000040
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_EXPAND_NEGATE_NV                  0x00000060
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL_NV               0x00000080
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE_NV               0x000000a0
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY_NV                        0x000000c0
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_D_MAPPING_SIGNED_NEGATE_NV                  0x000000e0
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SHIFT                                        8
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_MASK                                 0x00000f00
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_ZERO                                        0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR0_NV                  0x00000100
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR1_NV                  0x00000200
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_FOG                                 0x00000300
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_PRIMARY_COLOR_NV                    0x00000400
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SECONDARY_COLOR_NV                  0x00000500
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_TEXTURE0_ARB                                0x00000800
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_TEXTURE1_ARB                                0x00000900
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SPARE0_NV                           0x00000c00
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SPARE1_NV                           0x00000d00
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV      0x00000e00
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_INPUT_E_TIMES_F_NV                                0x00000f00
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_COMPONENT_USAGE                            (1 << 12)
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_COMPONENT_USAGE_RGB                       0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_COMPONENT_USAGE_ALPHA                     0x00001000
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_SHIFT                              13
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_MASK                               0x0000e000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY_NV              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT_NV                        0x00002000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_EXPAND_NORMAL_NV                  0x00004000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_EXPAND_NEGATE_NV                  0x00006000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL_NV               0x00008000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE_NV               0x0000a000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY_NV                        0x0000c000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_C_MAPPING_SIGNED_NEGATE_NV                  0x0000e000
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SHIFT                                        16
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_MASK                                 0x000f0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_ZERO                                        0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR0_NV                  0x00010000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR1_NV                  0x00020000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_FOG                                 0x00030000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_PRIMARY_COLOR_NV                    0x00040000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SECONDARY_COLOR_NV                  0x00050000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_TEXTURE0_ARB                                0x00080000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_TEXTURE1_ARB                                0x00090000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SPARE0_NV                           0x000c0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SPARE1_NV                           0x000d0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV      0x000e0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_INPUT_E_TIMES_F_NV                                0x000f0000
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_COMPONENT_USAGE                            (1 << 20)
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_COMPONENT_USAGE_RGB                       0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_COMPONENT_USAGE_ALPHA                     0x00100000
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_SHIFT                              21
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_MASK                               0x00e00000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY_NV              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT_NV                        0x00200000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_EXPAND_NORMAL_NV                  0x00400000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_EXPAND_NEGATE_NV                  0x00600000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL_NV               0x00800000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE_NV               0x00a00000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY_NV                        0x00c00000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_B_MAPPING_SIGNED_NEGATE_NV                  0x00e00000
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SHIFT                                        24
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_MASK                                 0x0f000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_ZERO                                        0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR0_NV                  0x01000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR1_NV                  0x02000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_FOG                                 0x03000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_PRIMARY_COLOR_NV                    0x04000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SECONDARY_COLOR_NV                  0x05000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_TEXTURE0_ARB                                0x08000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_TEXTURE1_ARB                                0x09000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SPARE0_NV                           0x0c000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SPARE1_NV                           0x0d000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV      0x0e000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_INPUT_E_TIMES_F_NV                                0x0f000000
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_COMPONENT_USAGE                            (1 << 28)
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_COMPONENT_USAGE_RGB                       0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_COMPONENT_USAGE_ALPHA                     0x10000000
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_SHIFT                              29
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_MASK                               0xe0000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY_NV              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT_NV                        0x20000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_EXPAND_NORMAL_NV                  0x40000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_EXPAND_NEGATE_NV                  0x60000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL_NV               0x80000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE_NV               0xa0000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY_NV                        0xc0000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL0_A_MAPPING_SIGNED_NEGATE_NV                  0xe0000000
+#define  NV10_TCL_PRIMITIVE_3D_RC_FINAL1                                               0x0000028c
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_COLOR_SUM_CLAMP                              (1 <<  7)
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SHIFT                                        8
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_MASK                                 0x00000f00
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_ZERO                                        0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR0_NV                  0x00000100
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR1_NV                  0x00000200
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_FOG                                 0x00000300
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_PRIMARY_COLOR_NV                    0x00000400
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SECONDARY_COLOR_NV                  0x00000500
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_TEXTURE0_ARB                                0x00000800
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_TEXTURE1_ARB                                0x00000900
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SPARE0_NV                           0x00000c00
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SPARE1_NV                           0x00000d00
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV      0x00000e00
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_INPUT_E_TIMES_F_NV                                0x00000f00
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_COMPONENT_USAGE                            (1 << 12)
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_COMPONENT_USAGE_RGB                       0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_COMPONENT_USAGE_ALPHA                     0x00001000
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_SHIFT                              13
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_MASK                               0x0000e000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY_NV              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT_NV                        0x00002000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_EXPAND_NORMAL_NV                  0x00004000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_EXPAND_NEGATE_NV                  0x00006000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL_NV               0x00008000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE_NV               0x0000a000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY_NV                        0x0000c000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_G_MAPPING_SIGNED_NEGATE_NV                  0x0000e000
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SHIFT                                        16
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_MASK                                 0x000f0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_ZERO                                        0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR0_NV                  0x00010000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR1_NV                  0x00020000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_FOG                                 0x00030000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_PRIMARY_COLOR_NV                    0x00040000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SECONDARY_COLOR_NV                  0x00050000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_TEXTURE0_ARB                                0x00080000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_TEXTURE1_ARB                                0x00090000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SPARE0_NV                           0x000c0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SPARE1_NV                           0x000d0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV      0x000e0000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_INPUT_E_TIMES_F_NV                                0x000f0000
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_COMPONENT_USAGE                            (1 << 20)
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_COMPONENT_USAGE_RGB                       0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_COMPONENT_USAGE_ALPHA                     0x00100000
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_SHIFT                              21
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_MASK                               0x00e00000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY_NV              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT_NV                        0x00200000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_EXPAND_NORMAL_NV                  0x00400000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_EXPAND_NEGATE_NV                  0x00600000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL_NV               0x00800000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE_NV               0x00a00000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY_NV                        0x00c00000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_F_MAPPING_SIGNED_NEGATE_NV                  0x00e00000
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SHIFT                                        24
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_MASK                                 0x0f000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_ZERO                                        0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR0_NV                  0x01000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR1_NV                  0x02000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_FOG                                 0x03000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_PRIMARY_COLOR_NV                    0x04000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SECONDARY_COLOR_NV                  0x05000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_TEXTURE0_ARB                                0x08000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_TEXTURE1_ARB                                0x09000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SPARE0_NV                           0x0c000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SPARE1_NV                           0x0d000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR_NV      0x0e000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_INPUT_E_TIMES_F_NV                                0x0f000000
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_COMPONENT_USAGE                            (1 << 28)
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_COMPONENT_USAGE_RGB                       0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_COMPONENT_USAGE_ALPHA                     0x10000000
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_SHIFT                              29
+#define   NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_MASK                               0xe0000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY_NV              0x00000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT_NV                        0x20000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_EXPAND_NORMAL_NV                  0x40000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_EXPAND_NEGATE_NV                  0x60000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL_NV               0x80000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE_NV               0xa0000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY_NV                        0xc0000000
+#define    NV10_TCL_PRIMITIVE_3D_RC_FINAL1_E_MAPPING_SIGNED_NEGATE_NV                  0xe0000000
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL                                             0x00000294
+#define   NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_COLOR_CONTROL                              (1 <<  1)
+#define   NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_LOCAL_VIEWER                               (1 << 16)
+#define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE                                   0x00000298
+#define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_SPECULAR                         (1 <<  0)
+#define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_DIFFUSE                          (1 <<  1)
+#define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_AMBIENT                          (1 <<  2)
+#define   NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_ENABLE_EMISSION                         (1 <<  3)
+#define  NV10_TCL_PRIMITIVE_3D_FOG_MODE                                                        0x0000029c
+#define   NV10_TCL_PRIMITIVE_3D_FOG_MODE_EXP                                           0x00000800
+#define   NV10_TCL_PRIMITIVE_3D_FOG_MODE_EXP_2                                         0x00000802
+#define   NV10_TCL_PRIMITIVE_3D_FOG_MODE_EXP2                                          0x00000803
+#define   NV10_TCL_PRIMITIVE_3D_FOG_MODE_LINEAR                                                0x00000804
+#define   NV10_TCL_PRIMITIVE_3D_FOG_MODE_LINEAR_2                                      0x00002601
+#define  NV10_TCL_PRIMITIVE_3D_FOG_COORD_DIST                                          0x000002a0
+#define  NV10_TCL_PRIMITIVE_3D_FOG_ENABLE                                              0x000002a4
+#define  NV10_TCL_PRIMITIVE_3D_FOG_COLOR                                               0x000002a8
+#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_R_SHIFT                                      0
+#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_R_MASK                                       0x000000ff
+#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_G_SHIFT                                      8
+#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_G_MASK                                       0x0000ff00
+#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_B_SHIFT                                      16
+#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_B_MASK                                       0x00ff0000
+#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_A_SHIFT                                      24
+#define   NV10_TCL_PRIMITIVE_3D_FOG_COLOR_A_MASK                                       0xff000000
+#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_MODE                                      0x000002b4
+#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(x)                                  (0x000002c0+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ__SIZE                               0x00000008
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_L_SHIFT                       0
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_L_MASK                                0x000007ff
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_LEFT_ENABLE                   (1 << 11)
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_R_SHIFT                       16
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_R_MASK                                0x07ff0000
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ_CLIP_RIGHT_ENABLE                  (1 << 27)
+#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(x)                                   (0x000002e0+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT__SIZE                                        0x00000008
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_T_SHIFT                                0
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_T_MASK                         0x000007ff
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_TOP_ENABLE                     (1 << 11)
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_B_SHIFT                                16
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_B_MASK                         0x07ff0000
+#define   NV10_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT_CLIP_BOTTOM_ENABLE                  (1 << 27)
+#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE                                       0x00000300
+#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE                                       0x00000304
+#define  NV10_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                                                0x00000308
+#define  NV10_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                                       0x0000030c
+#define  NV10_TCL_PRIMITIVE_3D_DITHER_ENABLE                                           0x00000310
+#define  NV10_TCL_PRIMITIVE_3D_LIGHTING_ENABLE                                         0x00000314
+#define  NV10_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE                                 0x00000318
+#define  NV10_TCL_PRIMITIVE_3D_POINT_SMOOTH_ENABLE                                     0x0000031c
+#define  NV10_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                                      0x00000320
+#define  NV10_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE                                   0x00000324
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_WEIGHT_ENABLE                                    0x00000328
+#define  NV10_TCL_PRIMITIVE_3D_STENCIL_ENABLE                                          0x0000032c
+#define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE                             0x00000330
+#define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE                              0x00000334
+#define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE                              0x00000338
+#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                                         0x0000033c
+#define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NEVER                                  0x00000200
+#define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LESS                                   0x00000201
+#define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_EQUAL                                  0x00000202
+#define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LEQUAL                                 0x00000203
+#define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                                        0x00000204
+#define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                                        0x00000204
+#define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NOTEQUAL                               0x00000205
+#define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GEQUAL                                 0x00000206
+#define   NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_ALWAYS                                 0x00000207
+#define  NV10_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                                          0x00000340
+#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                                          0x00000344
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ZERO                                    0x00000000
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE                                     0x00000001
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_COLOR                               0x00000300
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR                     0x00000301
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA                               0x00000302
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA                     0x00000303
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_ALPHA                               0x00000304
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA                     0x00000305
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_COLOR                               0x00000306
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR                     0x00000307
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE                      0x00000308
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_COLOR                          0x00008001
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR                        0x00008002
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_ALPHA                          0x00008003
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA                        0x00008004
+#define  NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                                          0x00000348
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ZERO                                    0x00000000
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE                                     0x00000001
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_COLOR                               0x00000300
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR                     0x00000301
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA                               0x00000302
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA                     0x00000303
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_ALPHA                               0x00000304
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA                     0x00000305
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_COLOR                               0x00000306
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR                     0x00000307
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA_SATURATE                      0x00000308
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_COLOR                          0x00008001
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR                        0x00008002
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_ALPHA                          0x00008003
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA                        0x00008004
+#define  NV10_TCL_PRIMITIVE_3D_BLEND_COLOR                                             0x0000034c
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_B_SHIFT                                    0
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_B_MASK                                     0x000000ff
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_G_SHIFT                                    8
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_G_MASK                                     0x0000ff00
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_R_SHIFT                                    16
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_R_MASK                                     0x00ff0000
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_A_SHIFT                                    24
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_COLOR_A_MASK                                     0xff000000
+#define  NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION                                          0x00000350
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_ADD                                        0x00008006
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_MIN                                     0x00008007
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_MAX                                     0x00008008
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_SUBTRACT                           0x0000800a
+#define   NV10_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT                   0x0000800b
+#define  NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC                                              0x00000354
+#define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_NEVER                                       0x00000200
+#define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_LESS                                                0x00000201
+#define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_EQUAL                                       0x00000202
+#define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_LEQUAL                                      0x00000203
+#define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                                     0x00000204
+#define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                                     0x00000204
+#define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_NOTEQUAL                                    0x00000205
+#define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_GEQUAL                                      0x00000206
+#define   NV10_TCL_PRIMITIVE_3D_DEPTH_FUNC_ALWAYS                                      0x00000207
+#define  NV10_TCL_PRIMITIVE_3D_COLOR_MASK                                              0x00000358
+#define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_B                                           (1 <<  0)
+#define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_G                                           (1 <<  8)
+#define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_R                                           (1 << 16)
+#define   NV10_TCL_PRIMITIVE_3D_COLOR_MASK_A                                           (1 << 24)
+#define  NV10_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE                                      0x0000035c
+#define  NV10_TCL_PRIMITIVE_3D_STENCIL_MASK                                            0x00000360
+#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC                                       0x00000364
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NEVER                                        0x00000200
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LESS                                 0x00000201
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_EQUAL                                        0x00000202
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LEQUAL                               0x00000203
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                              0x00000204
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                              0x00000204
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NOTEQUAL                             0x00000205
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GEQUAL                               0x00000206
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_ALWAYS                               0x00000207
+#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_REF                                                0x00000368
+#define  NV10_TCL_PRIMITIVE_3D_STENCIL_FUNC_MASK                                       0x0000036c
+#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL                                         0x00000370
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_ZERO                                   0x00000000
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INVERT                                 0x0000150a
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_KEEP                                   0x00001e00
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_REPLACE                                        0x00001e01
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR                                   0x00001e02
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR                                   0x00001e03
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR_WRAP                              0x00008507
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR_WRAP                              0x00008508
+#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL                                                0x00000374
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_ZERO                                  0x00000000
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INVERT                                        0x0000150a
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_KEEP                                  0x00001e00
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_REPLACE                               0x00001e01
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR                                  0x00001e02
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR                                  0x00001e03
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR_WRAP                             0x00008507
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR_WRAP                             0x00008508
+#define  NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS                                                0x00000378
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_ZERO                                  0x00000000
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INVERT                                        0x0000150a
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_KEEP                                  0x00001e00
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_REPLACE                               0x00001e01
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR                                  0x00001e02
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR                                  0x00001e03
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR_WRAP                             0x00008507
+#define   NV10_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR_WRAP                             0x00008508
+#define  NV10_TCL_PRIMITIVE_3D_SHADE_MODEL                                             0x0000037c
+#define   NV10_TCL_PRIMITIVE_3D_SHADE_MODEL_FLAT                                       0x00001d00
+#define   NV10_TCL_PRIMITIVE_3D_SHADE_MODEL_SMOOTH                                     0x00001d01
+#define  NV10_TCL_PRIMITIVE_3D_LINE_WIDTH                                              0x00000380
+#define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR                                   0x00000384
+#define  NV10_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS                                    0x00000388
+#define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                                      0x0000038c
+#define   NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_POINT                               0x00001b00
+#define   NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_LINE                                        0x00001b01
+#define   NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_FILL                                        0x00001b02
+#define  NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                                       0x00000390
+#define   NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_POINT                                        0x00001b00
+#define   NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_LINE                                 0x00001b01
+#define   NV10_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_FILL                                 0x00001b02
+#define  NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                                                0x00000394
+#define  NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                                         0x00000398
+#define  NV10_TCL_PRIMITIVE_3D_CULL_FACE                                               0x0000039c
+#define   NV10_TCL_PRIMITIVE_3D_CULL_FACE_FRONT                                                0x00000404
+#define   NV10_TCL_PRIMITIVE_3D_CULL_FACE_BACK                                         0x00000405
+#define   NV10_TCL_PRIMITIVE_3D_CULL_FACE_FRONT_AND_BACK                               0x00000408
+#define  NV10_TCL_PRIMITIVE_3D_FRONT_FACE                                              0x000003a0
+#define   NV10_TCL_PRIMITIVE_3D_FRONT_FACE_CW                                          0x00000900
+#define   NV10_TCL_PRIMITIVE_3D_FRONT_FACE_CCW                                         0x00000901
+#define  NV10_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                                                0x000003a4
+#define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_R                                                0x000003a8
+#define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_G                                                0x000003ac
+#define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_B                                                0x000003b0
+#define  NV10_TCL_PRIMITIVE_3D_COLOR_MATERIAL_A                                                0x000003b4
+#define  NV10_TCL_PRIMITIVE_3D_COLOR_CONTROL                                           0x000003b8
+#define  NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS                                          0x000003bc
+#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT0                                  (1 <<  0)
+#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT1                                  (1 <<  2)
+#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT2                                  (1 <<  4)
+#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT3                                  (1 <<  6)
+#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT4                                  (1 <<  8)
+#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT5                                  (1 << 10)
+#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT6                                  (1 << 12)
+#define   NV10_TCL_PRIMITIVE_3D_ENABLED_LIGHTS_LIGHT7                                  (1 << 14)
+#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(x)                                    (0x000003c0+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE__SIZE                                 0x00000008
+#define   NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE_FALSE                                        0x00000000
+#define   NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE_EYE_LINEAR                           0x00002400
+#define   NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE_OBJECT_LINEAR                                0x00002401
+#define  NV10_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(x)                                     (0x000003e0+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE__SIZE                                  0x00000002
+#define  NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE                                      0x000003e8
+#define   NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE_MODELVIEW1                          (1 <<  0)
+#define   NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE_MODELVIEW0                          (1 <<  1)
+#define   NV10_TCL_PRIMITIVE_3D_VIEW_MATRIX_ENABLE_PROJECTION                          (1 <<  2)
+#define  NV10_TCL_PRIMITIVE_3D_POINT_SIZE                                              0x000003ec
+#define  NV10_TCL_PRIMITIVE_3D_MODELVIEW0_MATRIX(x)                                    (0x00000400+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_MODELVIEW0_MATRIX__SIZE                                 0x00000010
+#define  NV10_TCL_PRIMITIVE_3D_MODELVIEW1_MATRIX(x)                                    (0x00000440+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_MODELVIEW1_MATRIX__SIZE                                 0x00000010
+#define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW0_MATRIX(x)                            (0x00000480+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW0_MATRIX__SIZE                         0x00000010
+#define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW1_MATRIX(x)                            (0x000004c0+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_INVERSE_MODELVIEW1_MATRIX__SIZE                         0x00000010
+#define  NV10_TCL_PRIMITIVE_3D_PROJECTION_MATRIX(x)                                    (0x00000500+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_PROJECTION_MATRIX__SIZE                                 0x00000010
+#define  NV10_TCL_PRIMITIVE_3D_TX0_MATRIX(x)                                           (0x00000540+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_TX0_MATRIX__SIZE                                                0x00000010
+#define  NV10_TCL_PRIMITIVE_3D_TX1_MATRIX(x)                                           (0x00000580+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_TX1_MATRIX__SIZE                                                0x00000010
+#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_A(x)                                         (0x00000600+((x)*16))
+#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_A__SIZE                                      0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_B(x)                                         (0x00000604+((x)*16))
+#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_B__SIZE                                      0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_C(x)                                         (0x00000608+((x)*16))
+#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_C__SIZE                                      0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_D(x)                                         (0x0000060c+((x)*16))
+#define  NV10_TCL_PRIMITIVE_3D_CLIP_PLANE_D__SIZE                                      0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT                                   0x00000680
+#define  NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR                                     0x00000684
+#define  NV10_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC                                  0x00000688
+#define  NV10_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS(x)                             (0x000006a0+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS__SIZE                          0x00000006
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R  0x000006c4
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G  0x000006c8
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B  0x000006cc
+#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_X                                                0x000006e8
+#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_Y                                                0x000006ec
+#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_Z                                                0x000006f0
+#define  NV10_TCL_PRIMITIVE_3D_VIEWPORT_SCALE_W                                                0x000006f4
+#define  NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER(x)                                      (0x000006f8+((x)*4))
+#define  NV10_TCL_PRIMITIVE_3D_POINT_PARAMETER__SIZE                                   0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(x)                   (0x00000800+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R__SIZE                        0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(x)                   (0x00000804+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G__SIZE                        0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(x)                   (0x00000808+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B__SIZE                        0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(x)                   (0x0000080c+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R__SIZE                        0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(x)                   (0x00000810+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G__SIZE                        0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(x)                   (0x00000814+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B__SIZE                        0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(x)                  (0x00000818+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R__SIZE               0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(x)                  (0x0000081c+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G__SIZE               0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(x)                  (0x00000820+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B__SIZE               0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X(x)                                  (0x00000828+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X__SIZE                               0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y(x)                                  (0x0000082c+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y__SIZE                               0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z(x)                                  (0x00000830+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z__SIZE                               0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X(x)                                    (0x00000834+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X__SIZE                                 0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y(x)                                    (0x00000838+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y__SIZE                                 0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z(x)                                    (0x0000083c+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z__SIZE                                 0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A(x)                                  (0x00000840+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A__SIZE                               0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B(x)                                  (0x00000844+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B__SIZE                               0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C(x)                                  (0x00000848+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C__SIZE                               0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X(x)                                     (0x0000084c+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X__SIZE                                  0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y(x)                                     (0x00000850+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y__SIZE                                  0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z(x)                                     (0x00000854+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z__SIZE                                  0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D(x)                                  (0x00000858+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D__SIZE                               0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_X(x)                                     (0x0000085c+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_X__SIZE                                  0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y(x)                                     (0x00000860+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y__SIZE                                  0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z(x)                                     (0x00000864+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z__SIZE                                  0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT(x)                           (0x00000868+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT__SIZE                                0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR(x)                             (0x0000086c+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR__SIZE                          0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC(x)                          (0x00000870+((x)*128))
+#define  NV10_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC__SIZE                       0x00000008
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_X                                         0x00000c00
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Y                                         0x00000c04
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Z                                         0x00000c08
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_X                                         0x00000c18
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Y                                         0x00000c1c
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Z                                         0x00000c20
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_POS_4F_W                                         0x00000c24
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_X                                         0x00000c30
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Y                                         0x00000c34
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Z                                         0x00000c38
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                                                0x00000c40
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_SHIFT                               0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_MASK                                        0x0000ffff
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_SHIFT                               16
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_MASK                                        0xffff0000
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                                         0x00000c44
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_SHIFT                                        0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_MASK                                 0x0000ffff
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_R                                         0x00000c50
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_G                                         0x00000c54
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_B                                         0x00000c58
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4F_A                                         0x00000c5c
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_R                                         0x00000c60
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_G                                         0x00000c64
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_3F_B                                         0x00000c68
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I                                           0x00000c6c
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_SHIFT                                  0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_MASK                                   0x000000ff
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_SHIFT                                  8
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_MASK                                   0x0000ff00
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_SHIFT                                  16
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_MASK                                   0x00ff0000
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_SHIFT                                  24
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_MASK                                   0xff000000
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_R                                                0x00000c80
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_G                                                0x00000c84
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_B                                                0x00000c88
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I                                          0x00000c8c
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_R_SHIFT                                 0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_R_MASK                                  0x000000ff
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_G_SHIFT                                 8
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_G_MASK                                  0x0000ff00
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_B_SHIFT                                 16
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_COL2_3I_B_MASK                                  0x00ff0000
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S                                         0x00000c90
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T                                         0x00000c94
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I                                           0x00000c98
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_SHIFT                                  0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_MASK                                   0x0000ffff
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_SHIFT                                  16
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_MASK                                   0xffff0000
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_S                                         0x00000ca0
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_T                                         0x00000ca4
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_R                                         0x00000ca8
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_Q                                         0x00000cac
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST                                                0x00000cb0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_SHIFT                               0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_MASK                                        0x0000ffff
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_SHIFT                               16
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_MASK                                        0xffff0000
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ                                                0x00000cb4
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_SHIFT                               0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_MASK                                        0x0000ffff
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_SHIFT                               16
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_MASK                                        0xffff0000
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S                                         0x00000cb8
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T                                         0x00000cbc
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I                                           0x00000cc0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_SHIFT                                  0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_MASK                                   0x0000ffff
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_SHIFT                                  16
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_MASK                                   0xffff0000
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_S                                         0x00000cc8
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_T                                         0x00000ccc
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_R                                         0x00000cd0
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_Q                                         0x00000cd4
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST                                                0x00000cd8
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_SHIFT                               0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_MASK                                        0x0000ffff
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_SHIFT                               16
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_MASK                                        0xffff0000
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ                                                0x00000cdc
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_SHIFT                               0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_MASK                                        0x0000ffff
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_SHIFT                               16
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_MASK                                        0xffff0000
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_FOG_1F                                           0x00000ce0
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_WGH_1F                                           0x00000ce4
+#define  NV10_TCL_PRIMITIVE_3D_EDGEFLAG_ENABLE                                         0x00000cec
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_VALIDATE                                   0x00000cf0
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_POS                                 0x00000d00
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS                                 0x00000d04
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_TYPE_SHIFT                     0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_TYPE_MASK                      0x0000000f
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_FIELDS_SHIFT                   4
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_FIELDS_MASK                    0x000000f0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_STRIDE_SHIFT                   8
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_POS_STRIDE_MASK                    0x0000ff00
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_COL                                 0x00000d08
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL                                 0x00000d0c
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_TYPE_SHIFT                     0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_TYPE_MASK                      0x0000000f
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_FIELDS_SHIFT                   4
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_FIELDS_MASK                    0x000000f0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_STRIDE_SHIFT                   8
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL_STRIDE_MASK                    0x0000ff00
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_COL2                                        0x00000d10
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2                                        0x00000d14
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_TYPE_SHIFT                    0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_TYPE_MASK                     0x0000000f
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_FIELDS_SHIFT                  4
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_FIELDS_MASK                   0x000000f0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_STRIDE_SHIFT                  8
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_COL2_STRIDE_MASK                   0x0000ff00
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_TX0                                 0x00000d18
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0                                 0x00000d1c
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_TYPE_SHIFT                     0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_TYPE_MASK                      0x0000000f
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_FIELDS_SHIFT                   4
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_FIELDS_MASK                    0x000000f0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_STRIDE_SHIFT                   8
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX0_STRIDE_MASK                    0x0000ff00
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_TX1                                 0x00000d20
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1                                 0x00000d24
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_TYPE_SHIFT                     0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_TYPE_MASK                      0x0000000f
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_FIELDS_SHIFT                   4
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_FIELDS_MASK                    0x000000f0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_STRIDE_SHIFT                   8
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TX1_STRIDE_MASK                    0x0000ff00
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_NOR                                 0x00000d28
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR                                 0x00000d2c
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_TYPE_SHIFT                     0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_TYPE_MASK                      0x0000000f
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_FIELDS_SHIFT                   4
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_FIELDS_MASK                    0x000000f0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_STRIDE_SHIFT                   8
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_NOR_STRIDE_MASK                    0x0000ff00
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_WGH                                 0x00000d30
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH                                 0x00000d34
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_TYPE_SHIFT                     0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_TYPE_MASK                      0x0000000f
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_FIELDS_SHIFT                   4
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_FIELDS_MASK                    0x000000f0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_STRIDE_SHIFT                   8
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_WGH_STRIDE_MASK                    0x0000ff00
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_OFFSET_FOG                                 0x00000d38
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG                                 0x00000d3c
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_TYPE_SHIFT                     0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_TYPE_MASK                      0x0000000f
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_FIELDS_SHIFT                   4
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_FIELDS_MASK                    0x000000f0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_STRIDE_SHIFT                   8
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FOG_STRIDE_MASK                    0x0000ff00
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END                                                0x00000dfc
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_STOP                                  0x00000000
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POINTS                                        0x00000001
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINES                                 0x00000002
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_LOOP                             0x00000003
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_STRIP                            0x00000004
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLES                             0x00000005
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_STRIP                                0x00000006
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_FAN                          0x00000007
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUADS                                 0x00000008
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUAD_STRIP                            0x00000009
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POLYGON                               0x0000000a
+#define  NV10_TCL_PRIMITIVE_3D_DRAW_INDEX                                              0x00000e00
+#define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I0_SHIFT                                    0
+#define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I0_MASK                                     0x0000ffff
+#define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I1_SHIFT                                    24
+#define   NV10_TCL_PRIMITIVE_3D_DRAW_INDEX_I1_MASK                                     0xff000000
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END                                 0x000013fc
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_STOP                           0x00000000
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_POINTS                         0x00000001
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_LINES                          0x00000002
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_LINE_LOOP                      0x00000003
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_LINE_STRIP                     0x00000004
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_TRIANGLES                      0x00000005
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_TRIANGLE_STRIP                 0x00000006
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_TRIANGLE_FAN                   0x00000007
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_QUADS                          0x00000008
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_QUAD_STRIP                     0x00000009
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_BEGIN_END_POLYGON                                0x0000000a
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS                               0x00001400
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_SHIFT                  0
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_MASK                   0x0000ffff
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_LAST_SHIFT                   24
+#define   NV10_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS_LAST_MASK                    0xff000000
+#define  NV10_TCL_PRIMITIVE_3D_VERTEX_ARRAY_DATA                                       0x00001800
+
+
+#define NV04_CONTEXT_COLOR_KEY                                                         0x00000057
+
+
+
+#define NV03_CONTEXT_SURFACES_2D                                                       0x00000058
+
+#define  NV03_CONTEXT_SURFACES_2D_SYNCHRONIZE                                          0x00000100
+#define  NV03_CONTEXT_SURFACES_2D_DMA_NOTIFY                                           0x00000180
+#define  NV03_CONTEXT_SURFACES_2D_DMA_SOURCE                                           0x00000184
+#define  NV03_CONTEXT_SURFACES_2D_DMA_DESTIN                                           0x00000188
+#define  NV03_CONTEXT_SURFACES_2D_COLOR_FORMAT                                         0x00000300
+#define  NV03_CONTEXT_SURFACES_2D_PITCH                                                        0x00000304
+#define   NV03_CONTEXT_SURFACES_2D_PITCH_SOURCE_SHIFT                                  0
+#define   NV03_CONTEXT_SURFACES_2D_PITCH_SOURCE_MASK                                   0x0000ffff
+#define   NV03_CONTEXT_SURFACES_2D_PITCH_DESTIN_SHIFT                                  16
+#define   NV03_CONTEXT_SURFACES_2D_PITCH_DESTIN_MASK                                   0xffff0000
+#define  NV03_CONTEXT_SURFACES_2D_OFFSET_SOURCE                                                0x00000308
+#define  NV03_CONTEXT_SURFACES_2D_OFFSET_DESTIN                                                0x0000030c
+
+
+#define NV03_CONTEXT_SURFACES_3D                                                       0x0000005a
+
+#define  NV03_CONTEXT_SURFACES_3D_SYNCHRONIZE                                          0x00000100
+#define  NV03_CONTEXT_SURFACES_3D_DMA_NOTIFY                                           0x00000180
+#define  NV03_CONTEXT_SURFACES_3D_DMA_SURFACE                                          0x00000184
+#define  NV03_CONTEXT_SURFACES_3D_PITCH                                                        0x00000300
+#define  NV03_CONTEXT_SURFACES_3D_OFFSET_COLOR                                         0x00000304
+#define  NV03_CONTEXT_SURFACES_3D_OFFSET_ZETA                                          0x00000308
+
+
+#define NV04_RENDER_SOLID_LINE                                                         0x0000005c
+
+#define  NV04_RENDER_SOLID_LINE_SURFACE                                                        0x00000198
+
+
+#define NV04_RENDER_SOLID_TRIANGLE                                                     0x0000005d
+
+
+
+#define NV04_RENDER_SOLID_RECTANGLE                                                    0x0000005e
+
+#define  NV04_RENDER_SOLID_RECTANGLE_SURFACE                                           0x00000198
 
 
-#define NV05_SCALED_IMAGE_FROM_MEMORY                                          0x00000063
+#define NV_IMAGE_BLIT                                                                  0x0000005f
 
-#define  NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION                                0x000002fc
-#define  NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_DITHER                 0x00000000
-#define  NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_TRUNCATE               0x00000001
-#define  NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_SUBTR_TRUNCATE         0x00000002
+#define  NV_IMAGE_BLIT_NOP                                                             0x00000100
+#define  NV_IMAGE_BLIT_NOTIFY                                                          0x00000104
+#define  NV_IMAGE_BLIT_DMA_NOTIFY                                                      0x00000180
+#define  NV_IMAGE_BLIT_COLOR_KEY                                                       0x00000184
+#define  NV_IMAGE_BLIT_CLIP_RECTANGLE                                                  0x00000188
+#define  NV_IMAGE_BLIT_PATTERN                                                         0x0000018c
+#define  NV_IMAGE_BLIT_ROP                                                             0x00000190
+#define  NV_IMAGE_BLIT_BETA4                                                           0x00000198
+#define  NV_IMAGE_BLIT_SURFACE                                                         0x0000019c
+#define  NV_IMAGE_BLIT_OPERATION                                                       0x000002fc
+#define   NV_IMAGE_BLIT_OPERATION_SRCCOPY_AND                                          0x00000000
+#define   NV_IMAGE_BLIT_OPERATION_ROP_AND                                              0x00000001
+#define   NV_IMAGE_BLIT_OPERATION_BLEND_AND                                            0x00000002
+#define   NV_IMAGE_BLIT_OPERATION_SRCCOPY                                              0x00000003
+#define   NV_IMAGE_BLIT_OPERATION_SRCCOPY_PREMULT                                      0x00000004
+#define   NV_IMAGE_BLIT_OPERATION_BLEND_PREMULT                                                0x00000005
 
 
-#define NV01_IMAGE_SRCCOPY_AND                                                 0x00000064
+#define NV04_INDEXED_IMAGE_FROM_CPU                                                    0x00000060
 
-#define  NV01_IMAGE_SRCCOPY_AND_NOTIFY                                         0x00000104
-#define  NV01_IMAGE_SRCCOPY_AND_DMA_NOTIFY                                     0x00000180
-#define  NV01_IMAGE_SRCCOPY_AND_IMAGE_OUTPUT                                   0x00000200
-#define  NV01_IMAGE_SRCCOPY_AND_IMAGE_INPUT                                    0x00000204
+#define  NV04_INDEXED_IMAGE_FROM_CPU_NOP                                               0x00000100
+#define  NV04_INDEXED_IMAGE_FROM_CPU_NOTIFY                                            0x00000104
+#define  NV04_INDEXED_IMAGE_FROM_CPU_PATCH                                             0x0000010c
+#define  NV04_INDEXED_IMAGE_FROM_CPU_DMA_NOTIFY                                                0x00000180
+#define  NV04_INDEXED_IMAGE_FROM_CPU_DMA_LUT                                           0x00000184
+#define  NV04_INDEXED_IMAGE_FROM_CPU_COLOR_FORMAT                                      0x000003e8
+#define  NV04_INDEXED_IMAGE_FROM_CPU_INDEX_FORMAT                                      0x000003ec
+#define  NV04_INDEXED_IMAGE_FROM_CPU_LUT_OFFSET                                                0x000003f0
+#define  NV04_INDEXED_IMAGE_FROM_CPU_POINT                                             0x000003f4
+#define  NV04_INDEXED_IMAGE_FROM_CPU_SIZE_OUT                                          0x000003f8
+#define  NV04_INDEXED_IMAGE_FROM_CPU_SIZE_IN                                           0x000003fc
+#define  NV04_INDEXED_IMAGE_FROM_CPU_COLOR                                             0x00000400
 
 
-#define NV05_INDEXED_IMAGE_FROM_CPU                                            0x00000064
+#define NV_IMAGE_FROM_CPU                                                              0x00000061
 
-#define  NV05_INDEXED_IMAGE_FROM_CPU_NOP                                       0x00000100
-#define  NV05_INDEXED_IMAGE_FROM_CPU_NOTIFY                                    0x00000104
-#define  NV05_INDEXED_IMAGE_FROM_CPU_DMA_NOTIFY                                        0x00000180
-#define  NV05_INDEXED_IMAGE_FROM_CPU_DMA_LUT                                   0x00000184
-#define  NV05_INDEXED_IMAGE_FROM_CPU_COLOR_KEY                                 0x00000188
-#define  NV05_INDEXED_IMAGE_FROM_CPU_CLIP_RECTANGLE                            0x0000018c
-#define  NV05_INDEXED_IMAGE_FROM_CPU_PATTERN                                   0x00000190
-#define  NV05_INDEXED_IMAGE_FROM_CPU_ROP                                       0x00000194
-#define  NV05_INDEXED_IMAGE_FROM_CPU_BETA1                                     0x00000198
-#define  NV05_INDEXED_IMAGE_FROM_CPU_BETA4                                     0x0000019c
-#define  NV05_INDEXED_IMAGE_FROM_CPU_SURFACE                                   0x000001a0
-#define  NV05_INDEXED_IMAGE_FROM_CPU_COLOR_CONVERSION                          0x000003e0
-#define  NV05_INDEXED_IMAGE_FROM_CPU_OPERATION                                 0x000003e4
-#define  NV05_INDEXED_IMAGE_FROM_CPU_COLOR_FORMAT                              0x000003e8
-#define  NV05_INDEXED_IMAGE_FROM_CPU_INDEX_FORMAT                              0x000003ec
-#define  NV05_INDEXED_IMAGE_FROM_CPU_LUT_OFFSET                                        0x000003f0
-#define  NV05_INDEXED_IMAGE_FROM_CPU_POINT                                     0x000003f4
-#define  NV05_INDEXED_IMAGE_FROM_CPU_SIZE_OUT                                  0x000003f8
-#define  NV05_INDEXED_IMAGE_FROM_CPU_SIZE_IN                                   0x000003fc
-#define  NV05_INDEXED_IMAGE_FROM_CPU_INDICES                                   0x00000400
-
-
-#define NV05_IMAGE_FROM_CPU                                                    0x00000065
-
-#define  NV05_IMAGE_FROM_CPU_NOP                                               0x00000100
-#define  NV05_IMAGE_FROM_CPU_NOTIFY                                            0x00000104
-#define  NV05_IMAGE_FROM_CPU_DMA_NOTIFY                                                0x00000180
-#define  NV05_IMAGE_FROM_CPU_COLOR_KEY                                         0x00000184
-#define  NV05_IMAGE_FROM_CPU_CLIP_RECTANGLE                                    0x00000188
-#define  NV05_IMAGE_FROM_CPU_PATTERN                                           0x0000018c
-#define  NV05_IMAGE_FROM_CPU_ROP                                               0x00000190
-#define  NV05_IMAGE_FROM_CPU_BETA1                                             0x00000194
-#define  NV05_IMAGE_FROM_CPU_BETA4                                             0x00000198
-#define  NV05_IMAGE_FROM_CPU_SURFACE                                           0x0000019c
-#define  NV05_IMAGE_FROM_CPU_COLOR_CONVERSION                                  0x000002f8
-#define  NV05_IMAGE_FROM_CPU_OPERATION                                         0x000002fc
-#define  NV05_IMAGE_FROM_CPU_COLOR_FORMAT                                      0x00000300
-#define  NV05_IMAGE_FROM_CPU_POINT                                             0x00000304
-#define  NV05_IMAGE_FROM_CPU_SIZE_OUT                                          0x00000308
-#define  NV05_IMAGE_FROM_CPU_SIZE_IN                                           0x0000030c
-#define  NV05_IMAGE_FROM_CPU_COLOR                                             0x00000400
-
-
-#define NV05_STRETCHED_IMAGE_FROM_CPU                                          0x00000066
-
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_NOP                                     0x00000100
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_NOTIFY                                  0x00000104
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_DMA_NOTIFY                              0x00000180
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_COLOR_KEY                               0x00000184
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_PATTERN                                 0x00000188
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_ROP                                     0x0000018c
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_BETA1                                   0x00000190
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_BETA4                                   0x00000194
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_SURFACE                                 0x00000198
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_COLOR_CONVERSION                                0x000002f8
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_OPERATION                               0x000002fc
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_COLOR_FORMAT                            0x00000300
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_SIZE_IN                                 0x00000304
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_DELTA_DX_DU                             0x00000308
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_DELTA_DY_DV                             0x0000030c
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_CLIP_0                                  0x00000310
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_CLIP_1                                  0x00000314
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_POINT12D4                               0x00000318
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_COLOR                                   0x00000400
+#define  NV_IMAGE_FROM_CPU_BETA4                                                       0x00000198
+#define  NV_IMAGE_FROM_CPU_SURFACE                                                     0x0000019c
 
 
-#define NV04_IMAGE_BLEND_PREMULT                                               0x00000067
+#define NV10_CONTEXT_SURFACES_2D                                                       0x00000062
 
-#define  NV04_IMAGE_BLEND_PREMULT_NOP                                          0x00000100
-#define  NV04_IMAGE_BLEND_PREMULT_NOTIFY                                       0x00000104
-#define  NV04_IMAGE_BLEND_PREMULT_DMA_NOTIFY                                   0x00000180
-#define  NV04_IMAGE_BLEND_PREMULT_IMAGE_OUTPUT                                 0x00000200
-#define  NV04_IMAGE_BLEND_PREMULT_BETA_INPUT                                   0x00000204
-#define  NV04_IMAGE_BLEND_PREMULT_IMAGE_INPUT                                  0x00000208
 
 
-#define NV03_CHANNEL_PIO                                                       0x0000006a
+#define NV05_SCALED_IMAGE_FROM_MEMORY                                                  0x00000063
 
+#define  NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION                                        0x000002fc
+#define   NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_DITHER                                0x00000000
+#define   NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_TRUNCATE                      0x00000001
+#define   NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_SUBTR_TRUNCATE                        0x00000002
 
 
-#define NV03_CHANNEL_DMA                                                       0x0000006b
+#define NV01_IMAGE_SRCCOPY_AND                                                         0x00000064
 
+#define  NV01_IMAGE_SRCCOPY_AND_NOTIFY                                                 0x00000104
+#define  NV01_IMAGE_SRCCOPY_AND_DMA_NOTIFY                                             0x00000180
+#define  NV01_IMAGE_SRCCOPY_AND_IMAGE_OUTPUT                                           0x00000200
+#define  NV01_IMAGE_SRCCOPY_AND_IMAGE_INPUT                                            0x00000204
 
 
-#define NV04_BETA_SOLID                                                                0x00000072
+#define NV05_INDEXED_IMAGE_FROM_CPU                                                    0x00000064
 
-#define  NV04_BETA_SOLID_NOP                                                   0x00000100
-#define  NV04_BETA_SOLID_NOTIFY                                                        0x00000104
-#define  NV04_BETA_SOLID_DMA_NOTIFY                                            0x00000180
-#define  NV04_BETA_SOLID_BETA_OUTPUT                                           0x00000200
-#define  NV04_BETA_SOLID_BETA_FACTOR                                           0x00000300
+#define  NV05_INDEXED_IMAGE_FROM_CPU_COLOR_KEY                                         0x00000188
+#define  NV05_INDEXED_IMAGE_FROM_CPU_CLIP_RECTANGLE                                    0x0000018c
+#define  NV05_INDEXED_IMAGE_FROM_CPU_PATTERN                                           0x00000190
+#define  NV05_INDEXED_IMAGE_FROM_CPU_ROP                                               0x00000194
+#define  NV05_INDEXED_IMAGE_FROM_CPU_BETA1                                             0x00000198
+#define  NV05_INDEXED_IMAGE_FROM_CPU_BETA4                                             0x0000019c
+#define  NV05_INDEXED_IMAGE_FROM_CPU_SURFACE                                           0x000001a0
+#define  NV05_INDEXED_IMAGE_FROM_CPU_COLOR_CONVERSION                                  0x000003e0
+#define  NV05_INDEXED_IMAGE_FROM_CPU_OPERATION                                         0x000003e4
+#define  NV05_INDEXED_IMAGE_FROM_CPU_INDICES                                           0x00000400
 
 
-#define NV_STRETCHED_IMAGE_FROM_CPU                                            0x00000076
+#define NV05_IMAGE_FROM_CPU                                                            0x00000065
 
-#define  NV_STRETCHED_IMAGE_FROM_CPU_NOP                                       0x00000100
-#define  NV_STRETCHED_IMAGE_FROM_CPU_NOTIFY                                    0x00000104
-#define  NV_STRETCHED_IMAGE_FROM_CPU_PATCH                                     0x0000010c
-#define  NV_STRETCHED_IMAGE_FROM_CPU_DMA_NOTIFY                                        0x00000180
-#define  NV_STRETCHED_IMAGE_FROM_CPU_COLOR_FORMAT                              0x00000300
-#define  NV_STRETCHED_IMAGE_FROM_CPU_SIZE_IN                                   0x00000304
-#define  NV_STRETCHED_IMAGE_FROM_CPU_DELTA_DU_DX                               0x00000308
-#define  NV_STRETCHED_IMAGE_FROM_CPU_DELTA_DV_DY                               0x0000030c
-#define  NV_STRETCHED_IMAGE_FROM_CPU_CLIP_0                                    0x00000310
-#define  NV_STRETCHED_IMAGE_FROM_CPU_CLIP_1                                    0x00000314
-#define  NV_STRETCHED_IMAGE_FROM_CPU_POINT12D4                                 0x00000318
-#define  NV_STRETCHED_IMAGE_FROM_CPU_COLOR                                     0x00000400
+#define  NV05_IMAGE_FROM_CPU_BETA4                                                     0x00000198
+#define  NV05_IMAGE_FROM_CPU_SURFACE                                                   0x0000019c
 
 
-#define NV04_SCALED_IMAGE_FROM_MEMORY                                          0x00000077
+#define NV05_STRETCHED_IMAGE_FROM_CPU                                                  0x00000066
 
-#define  NV04_SCALED_IMAGE_FROM_MEMORY_BETA4                                   0x00000194
-#define  NV04_SCALED_IMAGE_FROM_MEMORY_SURFACE                                 0x00000198
+#define  NV05_STRETCHED_IMAGE_FROM_CPU_BETA4                                           0x00000194
+#define  NV05_STRETCHED_IMAGE_FROM_CPU_SURFACE                                         0x00000198
+#define  NV05_STRETCHED_IMAGE_FROM_CPU_COLOR_CONVERSION                                        0x000002f8
 
 
-#define NV10_TEXTURE_FROM_CPU                                                  0x0000007b
+#define NV04_IMAGE_BLEND_PREMULT                                                       0x00000067
 
-#define  NV10_TEXTURE_FROM_CPU_NOP                                             0x00000100
-#define  NV10_TEXTURE_FROM_CPU_NOTIFY                                          0x00000104
-#define  NV10_TEXTURE_FROM_CPU_WAIT_FOR_IDLE                                   0x00000108
-#define  NV10_TEXTURE_FROM_CPU_PM_TRIGGER                                      0x00000140
-#define  NV10_TEXTURE_FROM_CPU_DMA_NOTIFY                                      0x00000180
-#define  NV10_TEXTURE_FROM_CPU_SURFACE                                         0x00000184
-#define  NV10_TEXTURE_FROM_CPU_COLOR_FORMAT                                    0x00000300
-#define  NV10_TEXTURE_FROM_CPU_POINT                                           0x00000304
-#define   NV10_TEXTURE_FROM_CPU_POINT_X_SHIFT                                  0
-#define   NV10_TEXTURE_FROM_CPU_POINT_X_MASK                                   0x0000ffff
-#define   NV10_TEXTURE_FROM_CPU_POINT_Y_SHIFT                                  16
-#define   NV10_TEXTURE_FROM_CPU_POINT_Y_MASK                                   0xffff0000
-#define  NV10_TEXTURE_FROM_CPU_SIZE                                            0x00000308
-#define   NV10_TEXTURE_FROM_CPU_SIZE_W_SHIFT                                   0
-#define   NV10_TEXTURE_FROM_CPU_SIZE_W_MASK                                    0x0000ffff
-#define   NV10_TEXTURE_FROM_CPU_SIZE_H_SHIFT                                   16
-#define   NV10_TEXTURE_FROM_CPU_SIZE_H_MASK                                    0xffff0000
-#define  NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL                                 0x0000030c
-#define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_X_SHIFT                                0
-#define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_X_MASK                         0x0000ffff
-#define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_W_SHIFT                                16
-#define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_W_MASK                         0xffff0000
-#define  NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL                                   0x00000310
-#define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_Y_SHIFT                          0
-#define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_Y_MASK                           0x0000ffff
-#define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_H_SHIFT                          16
-#define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_H_MASK                           0xffff0000
-#define  NV10_TEXTURE_FROM_CPU_COLOR(x)                                                (0x00000400+((x)*4))
-#define  NV10_TEXTURE_FROM_CPU_COLOR__SIZE                                     0x00000100
-
-
-#define NV10_VIDEO_DISPLAY                                                     0x0000007c
-
-
-
-#define NV10_DVD_SUBPICTURE                                                    0x00000088
-
-
-
-#define NV10_SCALED_IMAGE_FROM_MEMORY                                          0x00000089
-
-#define  NV10_SCALED_IMAGE_FROM_MEMORY_WAIT_FOR_IDLE                           0x00000108
-
-
-#define NV10_IMAGE_FROM_CPU                                                    0x0000008a
-
-#define  NV10_IMAGE_FROM_CPU_BETA4                                             0x00000198
-#define  NV10_IMAGE_FROM_CPU_SURFACE                                           0x0000019c
-#define  NV10_IMAGE_FROM_CPU_COLOR_CONVERSION                                  0x000002f8
-
-
-#define NV10_CONTEXT_SURFACES_3D                                               0x00000093
-
-
-
-#define NV10_DX5_TEXTURE_TRIANGLE                                              0x00000094
-
-
-
-#define NV10_DX6_MULTI_TEXTURE_TRIANGLE                                                0x00000095
-
-
-
-#define NV11_TCL_PRIMITIVE_3D                                                  0x00000096
-
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE                           0x00000d40
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP                               0x00000d44
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_CLEAR                         0x00001500
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND                           0x00001501
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_REVERSE                   0x00001502
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY                          0x00001503
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_INVERTED                  0x00001504
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOOP                          0x00001505
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_XOR                           0x00001506
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR                            0x00001507
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOR                           0x00001508
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_EQUIV                         0x00001509
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_INVERT                                0x0000150a
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_REVERSE                    0x0000150b
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY_INVERTED                 0x0000150c
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_INVERTED                   0x0000150d
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NAND                          0x0000150e
-#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_SET                           0x0000150f
-
-
-#define NV20_TCL_PRIMITIVE_3D                                                  0x00000097
-
-#define  NV20_TCL_PRIMITIVE_3D_NOP                                             0x00000100
-#define  NV20_TCL_PRIMITIVE_3D_NOTIFY                                          0x00000104
-#define  NV20_TCL_PRIMITIVE_3D_DMA_NOTIFY                                      0x00000180
-#define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY0                                  0x00000184
-#define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY1                                  0x00000188
-#define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY2                                  0x00000194
-#define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY3                                  0x00000198
-#define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY6                                  0x000001a4
-#define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY7                                  0x000001a8
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                                  0x00000200
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_VERT                                   0x00000204
-#define  NV20_TCL_PRIMITIVE_3D_BUFFER_FORMAT                                   0x00000208
-#define  NV20_TCL_PRIMITIVE_3D_BUFFER_PITCH                                    0x0000020c
-#define  NV20_TCL_PRIMITIVE_3D_COLOR_OFFSET                                    0x00000210
-#define  NV20_TCL_PRIMITIVE_3D_ZETA_OFFSET                                     0x00000214
-#define  NV20_TCL_PRIMITIVE_3D_RC_IN_ALPHA(x)                                  (0x00000260+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_RC_IN_ALPHA__SIZE                               0x00000008
-#define  NV20_TCL_PRIMITIVE_3D_RC_FINAL0                                       0x00000288
-#define  NV20_TCL_PRIMITIVE_3D_RC_FINAL1                                       0x0000028c
-#define  NV20_TCL_PRIMITIVE_3D_LIGHT_CONTROL                                   0x00000294
-#define  NV20_TCL_PRIMITIVE_3D_FOG_MODE                                                0x0000029c
-#define  NV20_TCL_PRIMITIVE_3D_FOG_COORD_DIST                                  0x000002a0
-#define  NV20_TCL_PRIMITIVE_3D_FOG_ENABLE                                      0x000002a4
-#define  NV20_TCL_PRIMITIVE_3D_FOG_COLOR                                       0x000002a8
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_MODE                              0x000002b4
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(x)                          (0x000002c0+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ__SIZE                       0x00000008
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(x)                           (0x000002e0+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT__SIZE                                0x00000008
-#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE                               0x00000300
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE                               0x00000304
-#define  NV20_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                                        0x00000308
-#define  NV20_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                               0x0000030c
-#define  NV20_TCL_PRIMITIVE_3D_DITHER_ENABLE                                   0x00000310
-#define  NV20_TCL_PRIMITIVE_3D_LIGHTING_ENABLE                                 0x00000314
-#define  NV20_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE                         0x00000318
-#define  NV20_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                              0x00000320
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE                           0x00000324
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_ENABLE                                  0x0000032c
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE                     0x00000330
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE                      0x00000334
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE                      0x00000338
-#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                                 0x0000033c
-#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NEVER                           0x00000200
-#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LESS                            0x00000201
-#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_EQUAL                           0x00000202
-#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LEQUAL                          0x00000203
-#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                         0x00000204
-#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                         0x00000204
-#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NOTEQUAL                                0x00000205
-#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GEQUAL                          0x00000206
-#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_ALWAYS                          0x00000207
-#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                                  0x00000340
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                                  0x00000344
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ZERO                             0x00000000
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE                              0x00000001
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_COLOR                                0x00000300
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR              0x00000301
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA                                0x00000302
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA              0x00000303
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_ALPHA                                0x00000304
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA              0x00000305
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_COLOR                                0x00000306
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR              0x00000307
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE               0x00000308
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_COLOR                   0x00008001
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR         0x00008002
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_ALPHA                   0x00008003
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA         0x00008004
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                                  0x00000348
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ZERO                             0x00000000
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE                              0x00000001
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_COLOR                                0x00000300
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR              0x00000301
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA                                0x00000302
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA              0x00000303
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_ALPHA                                0x00000304
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA              0x00000305
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_COLOR                                0x00000306
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR              0x00000307
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA_SATURATE               0x00000308
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_COLOR                   0x00008001
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR         0x00008002
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_ALPHA                   0x00008003
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA         0x00008004
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_COLOR                                     0x0000034c
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION                                  0x00000350
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_ADD                         0x00008006
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_MIN                              0x00008007
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_MAX                              0x00008008
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_SUBTRACT                    0x0000800a
-#define  NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT            0x0000800b
-#define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC                                      0x00000354
-#define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_NEVER                                        0x00000200
-#define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_LESS                                 0x00000201
-#define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_EQUAL                                        0x00000202
-#define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_LEQUAL                               0x00000203
-#define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                              0x00000204
-#define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                              0x00000204
-#define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_NOTEQUAL                             0x00000205
-#define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_GEQUAL                               0x00000206
-#define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_ALWAYS                               0x00000207
-#define  NV20_TCL_PRIMITIVE_3D_COLOR_MASK                                      0x00000358
-#define  NV20_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE                              0x0000035c
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_MASK                                    0x00000360
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC                               0x00000364
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NEVER                         0x00000200
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LESS                          0x00000201
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_EQUAL                         0x00000202
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LEQUAL                                0x00000203
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                       0x00000204
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                       0x00000204
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NOTEQUAL                      0x00000205
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GEQUAL                                0x00000206
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_ALWAYS                                0x00000207
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_REF                                        0x00000368
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_MASK                               0x0000036c
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL                                 0x00000370
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_ZERO                            0x00000000
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INVERT                          0x0000150a
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_KEEP                            0x00001e00
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_REPLACE                         0x00001e01
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR                            0x00001e02
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR                            0x00001e03
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR_WRAP                       0x00008507
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR_WRAP                       0x00008508
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL                                        0x00000374
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_ZERO                           0x00000000
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INVERT                         0x0000150a
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_KEEP                           0x00001e00
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_REPLACE                                0x00001e01
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR                           0x00001e02
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR                           0x00001e03
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR_WRAP                      0x00008507
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR_WRAP                      0x00008508
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS                                        0x00000378
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_ZERO                           0x00000000
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INVERT                         0x0000150a
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_KEEP                           0x00001e00
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_REPLACE                                0x00001e01
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR                           0x00001e02
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR                           0x00001e03
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR_WRAP                      0x00008507
-#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR_WRAP                      0x00008508
-#define  NV20_TCL_PRIMITIVE_3D_SHADE_MODEL                                     0x0000037c
-#define  NV20_TCL_PRIMITIVE_3D_SHADE_MODEL_FLAT                                        0x00001d00
-#define  NV20_TCL_PRIMITIVE_3D_SHADE_MODEL_SMOOTH                              0x00001d01
-#define  NV20_TCL_PRIMITIVE_3D_LINE_WIDTH                                      0x00000380
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR                           0x00000384
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS                            0x00000388
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                              0x0000038c
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_POINT                                0x00001b00
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_LINE                         0x00001b01
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_FILL                         0x00001b02
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                               0x00000390
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_POINT                         0x00001b00
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_LINE                          0x00001b01
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_FILL                          0x00001b02
-#define  NV20_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                                        0x00000394
-#define  NV20_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                                 0x00000398
-#define  NV20_TCL_PRIMITIVE_3D_CULL_FACE                                       0x0000039c
-#define  NV20_TCL_PRIMITIVE_3D_CULL_FACE_FRONT                                 0x00000404
-#define  NV20_TCL_PRIMITIVE_3D_CULL_FACE_BACK                                  0x00000405
-#define  NV20_TCL_PRIMITIVE_3D_CULL_FACE_FRONT_AND_BACK                                0x00000408
-#define  NV20_TCL_PRIMITIVE_3D_FRONT_FACE                                      0x000003a0
-#define  NV20_TCL_PRIMITIVE_3D_FRONT_FACE_CW                                   0x00000900
-#define  NV20_TCL_PRIMITIVE_3D_FRONT_FACE_CCW                                  0x00000901
-#define  NV20_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                                        0x000003a4
-#define  NV20_TCL_PRIMITIVE_3D_SEPARATE_SPECULAR_ENABLE                                0x000003b8
-#define  NV20_TCL_PRIMITIVE_3D_ENABLED_LIGHTS                                  0x000003bc
-#define  NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(x)                            (0x000003c0+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE__SIZE                         0x00000010
-#define  NV20_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(x)                             (0x00000420+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE__SIZE                          0x00000004
-#define  NV20_TCL_PRIMITIVE_3D_POINT_SIZE                                      0x0000043c
-#define  NV20_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX(x)                             (0x00000480+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX__SIZE                          0x00000010
-#define  NV20_TCL_PRIMITIVE_3D_PROJECTION_MATRIX(x)                            (0x00000680+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_PROJECTION_MATRIX__SIZE                         0x00000010
-#define  NV20_TCL_PRIMITIVE_3D_TX0_MATRIX(x)                                   (0x000006c0+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_TX0_MATRIX__SIZE                                        0x00000010
-#define  NV20_TCL_PRIMITIVE_3D_TX1_MATRIX(x)                                   (0x00000700+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_TX1_MATRIX__SIZE                                        0x00000010
-#define  NV20_TCL_PRIMITIVE_3D_TX2_MATRIX(x)                                   (0x00000740+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_TX2_MATRIX__SIZE                                        0x00000010
-#define  NV20_TCL_PRIMITIVE_3D_TX3_MATRIX(x)                                   (0x00000780+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_TX3_MATRIX__SIZE                                        0x00000010
-#define  NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT                           0x000009c0
-#define  NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR                             0x000009c4
-#define  NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC                          0x000009c8
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_X                               0x00000a20
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Y                               0x00000a24
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Z                               0x00000a28
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_W                               0x00000a2c
-#define  NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER(x)                              (0x00000a30+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER__SIZE                           0x00000007
-#define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0(x)                           (0x00000a60+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0__SIZE                                0x00000008
-#define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1(x)                           (0x00000a80+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1__SIZE                                0x00000008
-#define  NV20_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(x)                                 (0x00000aa0+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_RC_OUT_ALPHA__SIZE                              0x00000008
-#define  NV20_TCL_PRIMITIVE_3D_RC_IN_RGB(x)                                    (0x00000ac0+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_RC_IN_RGB__SIZE                                 0x00000008
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_X                               0x00000af0
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Y                               0x00000af4
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Z                               0x00000af8
-#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_W                               0x00000afc
-#define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST(x)                               (0x00000b00+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST__SIZE                            0x00000004
-#define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST(x)                              (0x00000b80+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST__SIZE                           0x00000004
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_ENABLE                          0x0000147c
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN(x)                      (0x00001480+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN__SIZE                   0x00000020
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_X                                 0x00001500
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Y                                 0x00001504
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Z                                 0x00001508
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_X                                 0x00001518
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Y                                 0x0000151c
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Z                                 0x00001520
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY                                        0x00001528
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_X_SHIFT                       0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_X_MASK                                0x0000ffff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_Y_SHIFT                       16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_Y_MASK                                0xffff0000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_Z                                 0x0000152c
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_Z_Z_SHIFT                                0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_Z_Z_MASK                         0x0000ffff
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_X                                 0x00001530
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Y                                 0x00001534
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Z                                 0x00001538
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                                        0x00001540
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_SHIFT                       0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_MASK                                0x0000ffff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_SHIFT                       16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_MASK                                0xffff0000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                                 0x00001544
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_SHIFT                                0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_MASK                         0x0000ffff
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_X                                 0x00001550
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_Y                                 0x00001554
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_Z                                 0x00001558
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_W                                 0x0000155c
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_X                                 0x00001560
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_Y                                 0x00001564
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_Z                                 0x00001568
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I                                   0x0000156c
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_SHIFT                          0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_MASK                           0x000000ff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_SHIFT                          8
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_MASK                           0x0000ff00
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_SHIFT                          16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_MASK                           0x00ff0000
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_SHIFT                          24
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_MASK                           0xff000000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_X                                        0x00001580
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_Y                                        0x00001584
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_Z                                        0x00001588
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I                                  0x0000158c
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_R_SHIFT                         0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_R_MASK                          0x000000ff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_G_SHIFT                         8
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_G_MASK                          0x0000ff00
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_B_SHIFT                         16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_B_MASK                          0x00ff0000
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_A_SHIFT                         24
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_A_MASK                          0xff000000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S                                 0x00001590
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T                                 0x00001594
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I                                   0x00001598
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_SHIFT                          0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_MASK                           0x0000ffff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_SHIFT                          16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_MASK                           0xffff0000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_S                                 0x000015a0
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_T                                 0x000015a4
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_R                                 0x000015a8
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_Q                                 0x000015ac
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST                                        0x000015b0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_SHIFT                       0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_MASK                                0x0000ffff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_SHIFT                       16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_MASK                                0xffff0000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ                                        0x000015b4
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_SHIFT                       0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_MASK                                0x0000ffff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_SHIFT                       16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_MASK                                0xffff0000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S                                 0x000015b8
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T                                 0x000015bc
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I                                   0x000015c0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_SHIFT                          0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_MASK                           0x0000ffff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_SHIFT                          16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_MASK                           0xffff0000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_S                                 0x000015c8
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_T                                 0x000015cc
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_R                                 0x000015d0
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_Q                                 0x000015d4
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST                                        0x000015d8
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_SHIFT                       0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_MASK                                0x0000ffff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_SHIFT                       16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_MASK                                0xffff0000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ                                        0x000015dc
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_SHIFT                       0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_MASK                                0x0000ffff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_SHIFT                       16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_MASK                                0xffff0000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_S                                 0x000015e0
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_T                                 0x000015e4
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I                                   0x000015e8
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_S_SHIFT                          0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_S_MASK                           0x0000ffff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_T_SHIFT                          16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_T_MASK                           0xffff0000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_S                                 0x000015f0
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_T                                 0x000015f4
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_R                                 0x000015f8
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_Q                                 0x000015fc
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST                                        0x00001600
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_S_SHIFT                       0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_S_MASK                                0x0000ffff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_T_SHIFT                       16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_T_MASK                                0xffff0000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ                                        0x00001604
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_R_SHIFT                       0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_R_MASK                                0x0000ffff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_Q_SHIFT                       16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_Q_MASK                                0xffff0000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_S                                 0x00001608
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_T                                 0x0000160c
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I                                   0x00001610
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_S_SHIFT                          0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_S_MASK                           0x0000ffff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_T_SHIFT                          16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_T_MASK                           0xffff0000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_S                                 0x00001620
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_T                                 0x00001624
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_R                                 0x00001628
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_Q                                 0x0000162c
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST                                        0x00001630
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_S_SHIFT                       0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_S_MASK                                0x0000ffff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_T_SHIFT                       16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_T_MASK                                0xffff0000
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ                                        0x00001634
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_R_SHIFT                       0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_R_MASK                                0x0000ffff
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_Q_SHIFT                       16
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_Q_MASK                                0xffff0000
-#define  NV20_TCL_PRIMITIVE_3D_EDGEFLAG_ENABLE                                 0x000016bc
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR_OFFSET(x)                           (0x00001720+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR_OFFSET__SIZE                                0x00000010
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT(x)                          (0x00001760+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT__SIZE                       0x00000010
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_SHIFT                 0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_MASK                  0x0000000f
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_SHIFT               4
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_MASK                        0x000000f0
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_SHIFT               8
-#define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_MASK                        0x0000ff00
-#define  NV20_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE                           0x000017bc
-#define  NV20_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP                               0x000017c0
-#define  NV20_TCL_PRIMITIVE_3D_LIGHT_MODEL_TWO_SIDE_ENABLE                     0x000017c4
-#define  NV20_TCL_PRIMITIVE_3D_TX_SHADER_CULL_MODE                             0x000017f8
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END                                        0x000017fc
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS                       0x00001810
-#define  NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_DATA                               0x00001818
-#define  NV20_TCL_PRIMITIVE_3D_TX_OFFSET(x)                                    (0x00001b00+((x)*64))
-#define  NV20_TCL_PRIMITIVE_3D_TX_OFFSET__SIZE                                 0x00000004
-#define  NV20_TCL_PRIMITIVE_3D_TX_FORMAT(x)                                    (0x00001b04+((x)*64))
-#define  NV20_TCL_PRIMITIVE_3D_TX_FORMAT__SIZE                                 0x00000004
-#define  NV20_TCL_PRIMITIVE_3D_TX_WRAP(x)                                      (0x00001b08+((x)*64))
-#define  NV20_TCL_PRIMITIVE_3D_TX_WRAP__SIZE                                   0x00000004
-#define  NV20_TCL_PRIMITIVE_3D_TX_ENABLE(x)                                    (0x00001b0c+((x)*64))
-#define  NV20_TCL_PRIMITIVE_3D_TX_ENABLE__SIZE                                 0x00000004
-#define  NV20_TCL_PRIMITIVE_3D_TX_FILTER(x)                                    (0x00001b14+((x)*64))
-#define  NV20_TCL_PRIMITIVE_3D_TX_FILTER__SIZE                                 0x00000004
-#define  NV20_TCL_PRIMITIVE_3D_TX_BORDER_COLOR(x)                              (0x00001b24+((x)*64))
-#define  NV20_TCL_PRIMITIVE_3D_TX_BORDER_COLOR__SIZE                           0x00000004
-#define  NV20_TCL_PRIMITIVE_3D_SCISSOR_HORIZ                                   0x00001c30
-#define  NV20_TCL_PRIMITIVE_3D_SCISSOR_VERT                                    0x00001c50
-#define  NV20_TCL_PRIMITIVE_3D_CLEAR_VALUE                                     0x00001d90
-#define  NV20_TCL_PRIMITIVE_3D_CLEAR_BUFFERS                                   0x00001d94
-#define  NV20_TCL_PRIMITIVE_3D_RC_COLOR0                                       0x00001e20
-#define  NV20_TCL_PRIMITIVE_3D_RC_COLOR1                                       0x00001e24
-#define  NV20_TCL_PRIMITIVE_3D_RC_OUT_RGB(x)                                   (0x00001e40+((x)*4))
-#define  NV20_TCL_PRIMITIVE_3D_RC_OUT_RGB__SIZE                                        0x00000008
-#define  NV20_TCL_PRIMITIVE_3D_RC_ENABLE                                       0x00001e60
-#define  NV20_TCL_PRIMITIVE_3D_TX_SHADER_OP                                    0x00001e70
-#define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_ID                              0x00001ea4
-
-
-#define NV17_TCL_PRIMITIVE_3D                                                  0x00000099
-
-#define  NV17_TCL_PRIMITIVE_3D_DMA_IN_MEMORY4                                  0x000001ac
-#define  NV17_TCL_PRIMITIVE_3D_DMA_IN_MEMORY5                                  0x000001b0
-#define  NV17_TCL_PRIMITIVE_3D_COLOR_MASK_ENABLE                               0x000002bc
-#define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_PITCH                          0x00000d5c
-#define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_OFFSET                         0x00000d60
-#define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_FILL_VALUE                            0x00000d68
-#define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_CLEAR                          0x00000d6c
-#define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_ENABLE                                        0x00001658
-
-
-#define NV20_SWIZZLED_SURFACE                                                  0x0000009e
-
-
-
-#define NV12_IMAGE_BLIT                                                                0x0000009f
-
-#define  NV12_IMAGE_BLIT_BETA1                                                 0x00000194
-#define  NV12_IMAGE_BLIT_BETA4                                                 0x00000198
-
-
-#define NV30_CONTEXT_SURFACES_2D                                               0x00000362
-
-
-
-#define NV30_STRETCHED_IMAGE_FROM_CPU                                          0x00000366
-
-
-
-#define NV30_TEXTURE_FROM_CPU                                                  0x0000037b
-
-
-
-#define NV30_SCALED_IMAGE_FROM_MEMORY                                          0x00000389
-
-
-
-#define NV30_IMAGE_FROM_CPU                                                    0x0000038a
-
-
-
-#define NV30_TCL_PRIMITIVE_3D                                                  0x00000397
-
-
-
-#define NV30_SWIZZLED_SURFACE                                                  0x0000039e
-
-
-
-#define NV36_TCL_PRIMITIVE_3D                                                  0x00000497
-
-
-
-#define NV25_TCL_PRIMITIVE_3D                                                  0x00000597
-
-#define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY4                                  0x0000019c
-#define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY5                                  0x000001a0
-#define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY8                                  0x000001ac
-#define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY9                                  0x000001b0
-
-
-#define NV34_TCL_PRIMITIVE_3D                                                  0x00000697
-
-#define  NV34_TCL_PRIMITIVE_3D_NOP                                             0x00000100
-#define  NV34_TCL_PRIMITIVE_3D_NOTIFY                                          0x00000104
-#define  NV34_TCL_PRIMITIVE_3D_DMA_NOTIFY                                      0x00000180
-#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY0                                  0x00000184
-#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY1                                  0x00000188
-#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY2                                  0x0000018c
-#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY3                                  0x00000194
-#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY4                                  0x00000198
-#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY5                                  0x000001a4
-#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY6                                  0x000001a8
-#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY7                                  0x000001ac
-#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY8                                  0x000001b0
-#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                                  0x00000200
-#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_VERT                                   0x00000204
-#define  NV34_TCL_PRIMITIVE_3D_FORMAT                                          0x00000208
-#define  NV34_TCL_PRIMITIVE_3D_PITCH                                           0x0000020c
-#define   NV34_TCL_PRIMITIVE_3D_PITCH_COLOR_SHIFT                              0
-#define   NV34_TCL_PRIMITIVE_3D_PITCH_COLOR_MASK                               0x0000ffff
-#define   NV34_TCL_PRIMITIVE_3D_PITCH_ZETA_SHIFT                               16
-#define   NV34_TCL_PRIMITIVE_3D_PITCH_ZETA_MASK                                        0xffff0000
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_OFFSET                                    0x00000210
-#define  NV34_TCL_PRIMITIVE_3D_ZETA_OFFSET                                     0x00000214
-#define  NV34_TCL_PRIMITIVE_3D_COLOR1_OFFSET                                   0x00000218
-#define  NV34_TCL_PRIMITIVE_3D_COLOR1_PITCH                                    0x0000021c
-#define  NV34_TCL_PRIMITIVE_3D_LMA_DEPTH_PITCH                                 0x0000022c
-#define  NV34_TCL_PRIMITIVE_3D_LMA_DEPTH_OFFSET                                        0x00000230
-#define  NV34_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(x)                             (0x00000240+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE__SIZE                          0x00000004
-#define  NV34_TCL_PRIMITIVE_3D_UNK0250(x)                                      (0x00000250+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_UNK0250__SIZE                                   0x00000004
-#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(x)                          (0x000002c0+((x)*8))
-#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ__SIZE                       0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(x)                           (0x000002c4+((x)*8))
-#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT__SIZE                                0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE                               0x00000304
-#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                                 0x00000308
-#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NEVER                           0x00000200
-#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LESS                            0x00000201
-#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_EQUAL                           0x00000202
-#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LEQUAL                          0x00000203
-#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                         0x00000204
-#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                         0x00000204
-#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NOTEQUAL                                0x00000205
-#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GEQUAL                          0x00000206
-#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_ALWAYS                          0x00000207
-#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                                  0x0000030c
-#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE                               0x00000310
-#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                                  0x00000314
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SHIFT                       0
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_MASK                                0x0000ffff
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ZERO                                0x00000000
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE                         0x00000001
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_COLOR                   0x00000300
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR         0x00000301
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_ALPHA                   0x00000302
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA         0x00000303
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_DST_ALPHA                   0x00000304
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA         0x00000305
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_DST_COLOR                   0x00000306
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR         0x00000307
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE          0x00000308
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR              0x00008001
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR    0x00008002
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA              0x00008003
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA    0x00008004
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SHIFT                     16
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_MASK                      0xffff0000
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ZERO                      0x00000000
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE                       0x00000001
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                 0x00000300
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR       0x00000301
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                 0x00000302
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA       0x00000303
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                 0x00000304
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA       0x00000305
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_DST_COLOR                 0x00000306
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR       0x00000307
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                0x00000308
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR            0x00008001
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR  0x00008002
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA            0x00008003
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA  0x00008004
-#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                                  0x00000318
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SHIFT                       0
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_MASK                                0x0000ffff
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ZERO                                0x00000000
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE                         0x00000001
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_COLOR                   0x00000300
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR         0x00000301
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_ALPHA                   0x00000302
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA         0x00000303
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_DST_ALPHA                   0x00000304
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA         0x00000305
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_DST_COLOR                   0x00000306
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR         0x00000307
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE          0x00000308
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_CONSTANT_COLOR              0x00008001
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR    0x00008002
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA              0x00008003
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA    0x00008004
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SHIFT                     16
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_MASK                      0xffff0000
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ZERO                      0x00000000
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE                       0x00000001
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_COLOR                 0x00000300
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR       0x00000301
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                 0x00000302
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA       0x00000303
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_DST_ALPHA                 0x00000304
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA       0x00000305
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_DST_COLOR                 0x00000306
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR       0x00000307
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                0x00000308
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR            0x00008001
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR  0x00008002
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA            0x00008003
-#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA  0x00008004
-#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_COLOR                                        0x0000031c
-#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION                             0x00000320
-#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_FUNC_ADD                    0x00008006
-#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_MIN                         0x00008007
-#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_MAX                         0x00008008
-#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_FUNC_SUBTRACT               0x0000800a
-#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_FUNC_REVERSE_SUBTRACT       0x0000800b
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_MASK                                      0x00000324
-#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_B_SHIFT                             0
-#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_B_MASK                              0x000000ff
-#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_G_SHIFT                             8
-#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_G_MASK                              0x0000ff00
-#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_R_SHIFT                             16
-#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_R_MASK                              0x00ff0000
-#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_A_SHIFT                             24
-#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_A_MASK                              0xff000000
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_ENABLE                             0x00000328
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_MASK                               0x0000032c
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC                          0x00000330
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_NEVER                    0x00000200
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_LESS                     0x00000201
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_EQUAL                    0x00000202
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_LEQUAL                   0x00000203
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GREATER                  0x00000204
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GREATER                  0x00000204
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                 0x00000205
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GEQUAL                   0x00000206
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_ALWAYS                   0x00000207
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_REF                           0x00000334
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_MASK                          0x00000338
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL                            0x0000033c
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_ZERO                       0x00000000
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INVERT                     0x0000150a
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_KEEP                       0x00001e00
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_REPLACE                    0x00001e01
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INCR                       0x00001e02
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_DECR                       0x00001e03
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INCR_WRAP                  0x00008507
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_DECR_WRAP                  0x00008508
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL                           0x00000340
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_ZERO                      0x00000000
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INVERT                    0x0000150a
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_KEEP                      0x00001e00
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_REPLACE                   0x00001e01
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INCR                      0x00001e02
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_DECR                      0x00001e03
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                 0x00008507
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                 0x00008508
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS                           0x00000344
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_ZERO                      0x00000000
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INVERT                    0x0000150a
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_KEEP                      0x00001e00
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_REPLACE                   0x00001e01
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INCR                      0x00001e02
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_DECR                      0x00001e03
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INCR_WRAP                 0x00008507
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_DECR_WRAP                 0x00008508
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_ENABLE                            0x00000348
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_MASK                              0x0000034c
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC                         0x00000350
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_NEVER                   0x00000200
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_LESS                    0x00000201
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_EQUAL                   0x00000202
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_LEQUAL                  0x00000203
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GREATER                 0x00000204
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GREATER                 0x00000204
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                        0x00000205
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GEQUAL                  0x00000206
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_ALWAYS                  0x00000207
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_REF                          0x00000354
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_MASK                         0x00000358
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL                           0x0000035c
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_ZERO                      0x00000000
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INVERT                    0x0000150a
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_KEEP                      0x00001e00
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_REPLACE                   0x00001e01
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INCR                      0x00001e02
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_DECR                      0x00001e03
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INCR_WRAP                 0x00008507
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_DECR_WRAP                 0x00008508
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL                          0x00000360
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_ZERO                     0x00000000
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INVERT                   0x0000150a
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_KEEP                     0x00001e00
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_REPLACE                  0x00001e01
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INCR                     0x00001e02
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_DECR                     0x00001e03
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                        0x00008507
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                        0x00008508
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS                          0x00000364
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_ZERO                     0x00000000
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INVERT                   0x0000150a
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_KEEP                     0x00001e00
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_REPLACE                  0x00001e01
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INCR                     0x00001e02
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_DECR                     0x00001e03
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                        0x00008507
-#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                        0x00008508
-#define  NV34_TCL_PRIMITIVE_3D_SHADE_MODEL                                     0x00000368
-#define  NV34_TCL_PRIMITIVE_3D_SHADE_MODEL_FLAT                                        0x00001d00
-#define  NV34_TCL_PRIMITIVE_3D_SHADE_MODEL_SMOOTH                              0x00001d01
-#define  NV34_TCL_PRIMITIVE_3D_FOG_ENABLE                                      0x0000036c
-#define  NV34_TCL_PRIMITIVE_3D_FOG_COLOR                                       0x00000370
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE                           0x00000374
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP                               0x00000378
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_CLEAR                         0x00001500
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND                           0x00001501
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_REVERSE                   0x00001502
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY                          0x00001503
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_INVERTED                  0x00001504
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOOP                          0x00001505
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_XOR                           0x00001506
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR                            0x00001507
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOR                           0x00001508
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_EQUIV                         0x00001509
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_INVERT                                0x0000150a
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_REVERSE                    0x0000150b
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY_INVERTED                 0x0000150c
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_INVERTED                   0x0000150d
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NAND                          0x0000150e
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_SET                           0x0000150f
-#define  NV34_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                                        0x0000037c
-#define  NV34_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                                        0x00000394
-#define  NV34_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                                 0x00000398
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_R                          0x000003a0
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_G                          0x000003a4
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_B                          0x000003a8
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_A                          0x000003b4
-#define  NV34_TCL_PRIMITIVE_3D_LINE_WIDTH                                      0x000003b8
-#define  NV34_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                              0x000003bc
-#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(x)                            (0x00000400+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE__SIZE                         0x00000020
-#define  NV34_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX(x)                             (0x00000480+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX__SIZE                          0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_PROJECTION_MATRIX(x)                            (0x00000680+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_PROJECTION_MATRIX__SIZE                         0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_TX0_MATRIX(x)                                   (0x000006c0+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_TX0_MATRIX__SIZE                                        0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_TX1_MATRIX(x)                                   (0x00000700+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_TX1_MATRIX__SIZE                                        0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_TX2_MATRIX(x)                                   (0x00000740+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_TX2_MATRIX__SIZE                                        0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_TX3_MATRIX(x)                                   (0x00000780+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_TX3_MATRIX__SIZE                                        0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ                                   0x000008c0
-#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_X_SHIFT                          0
-#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_X_MASK                           0x0000ffff
-#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_W_SHIFT                          16
-#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_W_MASK                           0xffff0000
-#define  NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT                                    0x000008c4
-#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_Y_SHIFT                           0
-#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_Y_MASK                            0x0000ffff
-#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_H_SHIFT                           16
-#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_H_MASK                            0xffff0000
-#define  NV34_TCL_PRIMITIVE_3D_FOG_COORD_DIST                                  0x000008c8
-#define  NV34_TCL_PRIMITIVE_3D_FOG_MODE                                                0x000008cc
-#define  NV34_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT                           0x000008d0
-#define  NV34_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR                             0x000008d4
-#define  NV34_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC                          0x000008d8
-#define  NV34_TCL_PRIMITIVE_3D_RC_COLOR0                                       0x000008ec
-#define  NV34_TCL_PRIMITIVE_3D_RC_COLOR1                                       0x000008f0
-#define  NV34_TCL_PRIMITIVE_3D_RC_FINAL0                                       0x000008f4
-#define  NV34_TCL_PRIMITIVE_3D_RC_FINAL1                                       0x000008f8
-#define  NV34_TCL_PRIMITIVE_3D_RC_ENABLE                                       0x000008fc
-#define  NV34_TCL_PRIMITIVE_3D_RC_IN_ALPHA(x)                                  (0x00000900+((x)*32))
-#define  NV34_TCL_PRIMITIVE_3D_RC_IN_ALPHA__SIZE                               0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_RC_IN_RGB(x)                                    (0x00000904+((x)*32))
-#define  NV34_TCL_PRIMITIVE_3D_RC_IN_RGB__SIZE                                 0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0(x)                           (0x00000908+((x)*32))
-#define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0__SIZE                                0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1(x)                           (0x0000090c+((x)*32))
-#define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1__SIZE                                0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(x)                                 (0x00000910+((x)*32))
-#define  NV34_TCL_PRIMITIVE_3D_RC_OUT_ALPHA__SIZE                              0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_RC_OUT_RGB(x)                                   (0x00000914+((x)*32))
-#define  NV34_TCL_PRIMITIVE_3D_RC_OUT_RGB__SIZE                                        0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R0x00000a10
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G0x00000a14
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B0x00000a18
-#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_X                               0x00000a20
-#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Y                               0x00000a24
-#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Z                               0x00000a28
-#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_W                               0x00000a2c
-#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_X                               0x00000a30
-#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Y                               0x00000a34
-#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Z                               0x00000a38
-#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_W                               0x00000a3c
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE                      0x00000a60
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE                      0x00000a64
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE                     0x00000a68
-#define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC                                      0x00000a6c
-#define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_NEVER                                        0x00000200
-#define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_LESS                                 0x00000201
-#define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_EQUAL                                        0x00000202
-#define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_LEQUAL                               0x00000203
-#define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                              0x00000204
-#define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                              0x00000204
-#define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_NOTEQUAL                             0x00000205
-#define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_GEQUAL                               0x00000206
-#define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_ALWAYS                               0x00000207
-#define  NV34_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE                              0x00000a70
-#define  NV34_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                               0x00000a74
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR                           0x00000a78
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS                            0x00000a7c
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                                        0x00000a90
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_SHIFT                       0
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_MASK                                0x0000ffff
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_SHIFT                       16
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_MASK                                0xffff0000
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                                 0x00000a94
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_SHIFT                                0
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_MASK                         0x0000ffff
-#define  NV34_TCL_PRIMITIVE_3D_VP_UPLOAD_INST(x)                               (0x00000b80+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_VP_UPLOAD_INST__SIZE                            0x00000004
-#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_A(x)                                 (0x00000e00+((x)*16))
-#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_A__SIZE                              0x00000020
-#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_B(x)                                 (0x00000e04+((x)*16))
-#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_B__SIZE                              0x00000020
-#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_C(x)                                 (0x00000e08+((x)*16))
-#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_C__SIZE                              0x00000020
-#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_D(x)                                 (0x00000e0c+((x)*16))
-#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_D__SIZE                              0x00000020
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(x)           (0x00001000+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R__SIZE                0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(x)           (0x00001004+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G__SIZE                0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(x)           (0x00001008+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B__SIZE                0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(x)           (0x0000100c+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R__SIZE                0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(x)           (0x00001010+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G__SIZE                0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(x)           (0x00001014+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B__SIZE                0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(x)          (0x00001018+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R__SIZE       0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(x)          (0x0000101c+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G__SIZE       0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(x)          (0x00001020+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B__SIZE       0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X(x)                          (0x00001028+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X__SIZE                       0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y(x)                          (0x0000102c+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y__SIZE                       0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z(x)                          (0x00001030+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z__SIZE                       0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X(x)                            (0x00001034+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X__SIZE                         0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y(x)                            (0x00001038+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y__SIZE                         0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z(x)                            (0x0000103c+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z__SIZE                         0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A(x)                          (0x00001200+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A__SIZE                       0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B(x)                          (0x00001204+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B__SIZE                       0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C(x)                          (0x00001208+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C__SIZE                       0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X(x)                             (0x0000120c+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X__SIZE                          0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y(x)                             (0x00001210+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y__SIZE                          0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z(x)                             (0x00001214+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z__SIZE                          0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D(x)                          (0x00001218+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D__SIZE                       0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_X(x)                             (0x0000121c+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_X__SIZE                          0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y(x)                             (0x00001220+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y__SIZE                          0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z(x)                             (0x00001224+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z__SIZE                          0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT(x)                   (0x00001228+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT__SIZE                        0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR(x)                     (0x0000122c+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR__SIZE                  0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC(x)                  (0x00001230+((x)*64))
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC__SIZE               0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS(x)                     (0x00001400+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS__SIZE                  0x00000006
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_ENABLE                          0x0000147c
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN(x)                      (0x00001480+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN__SIZE                   0x00000020
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_X(x)                             (0x00001500+((x)*16))
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_X__SIZE                          0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Y(x)                             (0x00001504+((x)*16))
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Y__SIZE                          0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Z(x)                             (0x00001508+((x)*16))
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Z__SIZE                          0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT(x)                          (0x00001740+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT__SIZE                       0x0000000c
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_SHIFT                 0
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_MASK                  0x0000000f
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_SHIFT               4
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_MASK                        0x000000f0
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_SHIFT               8
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_MASK                        0x0000ff00
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R0x000017a0
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G0x000017a4
-#define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B0x000017a8
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_R                           0x000017b0
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_G                           0x000017b4
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_B                           0x000017b8
-#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_A                           0x000017c0
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END                                        0x00001808
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_STOP                           0x00000000
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POINTS                         0x00000001
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINES                          0x00000002
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_LOOP                      0x00000003
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_STRIP                     0x00000004
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLES                      0x00000005
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_STRIP                 0x00000006
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_FAN                   0x00000007
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUADS                          0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUAD_STRIP                     0x00000009
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POLYGON                                0x0000000a
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_DATA                                     0x00001818
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                              0x00001828
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_POINT                                0x00001b00
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_LINE                         0x00001b01
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_FILL                         0x00001b02
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                               0x0000182c
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_POINT                         0x00001b00
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_LINE                          0x00001b01
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_FILL                          0x00001b02
-#define  NV34_TCL_PRIMITIVE_3D_CULL_FACE                                       0x00001830
-#define  NV34_TCL_PRIMITIVE_3D_CULL_FACE_FRONT                                 0x00000404
-#define  NV34_TCL_PRIMITIVE_3D_CULL_FACE_BACK                                  0x00000405
-#define  NV34_TCL_PRIMITIVE_3D_CULL_FACE_FRONT_AND_BACK                                0x00000408
-#define  NV34_TCL_PRIMITIVE_3D_FRONT_FACE                                      0x00001834
-#define  NV34_TCL_PRIMITIVE_3D_FRONT_FACE_CW                                   0x00000900
-#define  NV34_TCL_PRIMITIVE_3D_FRONT_FACE_CCW                                  0x00000901
-#define  NV34_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE                           0x00001838
-#define  NV34_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                                        0x0000183c
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_X(x)                             (0x00001880+((x)*8))
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_X__SIZE                          0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_Y(x)                             (0x00001884+((x)*8))
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_Y__SIZE                          0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_2I_ST(x)                              (0x00001920+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_2I_ST__SIZE                           0x00000004
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_2I_ST_S_SHIFT                                0
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_2I_ST_S_MASK                         0x0000ffff
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_2I_ST_T_SHIFT                                16
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_2I_ST_T_MASK                         0xffff0000
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I(x)                                        (0x0000194c+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I__SIZE                             0x00000002
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_SHIFT                          0
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_MASK                           0x000000ff
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_SHIFT                          8
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_MASK                           0x0000ff00
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_SHIFT                          16
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_MASK                           0x00ff0000
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_SHIFT                          24
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_MASK                           0xff000000
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY                                        0x00001980
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_X_SHIFT                       0
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_X_MASK                                0x0000ffff
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_Y_SHIFT                       16
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_Y_MASK                                0xffff0000
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW                                        0x00001984
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_Z_SHIFT                       0
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_Z_MASK                                0x0000ffff
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_W_SHIFT                       16
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_W_MASK                                0xffff0000
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST(x)                              (0x000019c0+((x)*8))
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST__SIZE                           0x00000004
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_S_SHIFT                                0
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_S_MASK                         0x0000ffff
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_T_SHIFT                                16
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_T_MASK                         0xffff0000
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ(x)                              (0x000019c4+((x)*8))
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ__SIZE                           0x00000004
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_R_SHIFT                                0
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_R_MASK                         0x0000ffff
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_Q_SHIFT                                16
-#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_Q_MASK                         0xffff0000
-#define  NV34_TCL_PRIMITIVE_3D_TX_OFFSET(x)                                    (0x00001a00+((x)*32))
-#define  NV34_TCL_PRIMITIVE_3D_TX_OFFSET__SIZE                                 0x00000004
-#define  NV34_TCL_PRIMITIVE_3D_TX_FORMAT(x)                                    (0x00001a04+((x)*32))
-#define  NV34_TCL_PRIMITIVE_3D_TX_FORMAT__SIZE                                 0x00000004
-#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_CUBE_MAP                             (1 <<  2)
-#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_COMPONENTS_SHIFT                     4
-#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_COMPONENTS_MASK                      0x000000f0
-#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_SHIFT                  16
-#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_MASK                   0x000f0000
-#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_SHIFT                    20
-#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_MASK                     0x00f00000
-#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_SHIFT                    24
-#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_MASK                     0x0f000000
-#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_W_SHIFT                    28
-#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_W_MASK                     0xf0000000
-#define  NV34_TCL_PRIMITIVE_3D_TX_WRAP(x)                                      (0x00001a08+((x)*32))
-#define  NV34_TCL_PRIMITIVE_3D_TX_WRAP__SIZE                                   0x00000004
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_SHIFT                                        0
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_MASK                                 0x000000ff
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_REPEAT                               0x00000001
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_MIRRORED_REPEAT                      0x00000002
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_CLAMP_TO_EDGE                                0x00000003
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_CLAMP_TO_BORDER                      0x00000004
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_CLAMP                                        0x00000005
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_SHIFT                                        8
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_MASK                                 0x0000ff00
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_REPEAT                               0x00000001
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_MIRRORED_REPEAT                      0x00000002
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_CLAMP_TO_EDGE                                0x00000003
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_CLAMP_TO_BORDER                      0x00000004
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_CLAMP                                        0x00000005
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_SHIFT                                        16
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_MASK                                 0x00ff0000
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_REPEAT                               0x00000001
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_MIRRORED_REPEAT                      0x00000002
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_CLAMP_TO_EDGE                                0x00000003
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_CLAMP_TO_BORDER                      0x00000004
-#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_CLAMP                                        0x00000005
-#define  NV34_TCL_PRIMITIVE_3D_TX_ENABLE(x)                                    (0x00001a0c+((x)*32))
-#define  NV34_TCL_PRIMITIVE_3D_TX_ENABLE__SIZE                                 0x00000004
-#define   NV34_TCL_PRIMITIVE_3D_TX_ENABLE_ENABLE                               (1 << 30)
-#define  NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE(x)                                   (0x00001a10+((x)*32))
-#define  NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE__SIZE                                        0x00000004
-#define  NV34_TCL_PRIMITIVE_3D_TX_FILTER(x)                                    (0x00001a14+((x)*32))
-#define  NV34_TCL_PRIMITIVE_3D_TX_FILTER__SIZE                                 0x00000004
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_SHIFT                         16
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_MASK                          0x000f0000
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST                       0x00000001
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR                                0x00000002
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST                0x00000003
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST         0x00000004
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR         0x00000005
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR          0x00000006
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_SHIFT                                24
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_MASK                         0x0f000000
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST                      0x00000001
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR                       0x00000002
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_NEAREST       0x00000003
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_NEAREST                0x00000004
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_LINEAR                0x00000005
-#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_LINEAR         0x00000006
-#define  NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE(x)                                 (0x00001a18+((x)*32))
-#define  NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE__SIZE                              0x00000004
-#define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_SHIFT                           0
-#define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_MASK                            0x0000ffff
-#define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_SHIFT                           16
-#define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_MASK                            0xffff0000
-#define  NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR(x)                              (0x00001a1c+((x)*32))
-#define  NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR__SIZE                           0x00000004
-#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_B_SHIFT                                0
-#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_B_MASK                         0x000000ff
-#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_G_SHIFT                                8
-#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_G_MASK                         0x0000ff00
-#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_R_SHIFT                                16
-#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_R_MASK                         0x00ff0000
-#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_A_SHIFT                                24
-#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_A_MASK                         0xff000000
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_X(x)                             (0x00001c00+((x)*16))
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_X__SIZE                          0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Y(x)                             (0x00001c04+((x)*16))
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Y__SIZE                          0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Z(x)                             (0x00001c08+((x)*16))
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Z__SIZE                          0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_W(x)                             (0x00001c0c+((x)*16))
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_W__SIZE                          0x00000010
-#define  NV34_TCL_PRIMITIVE_3D_CLEAR_DEPTH_VALUE                               0x00001d8c
-#define  NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_ENABLE                             0x00001db4
-#define  NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN                            0x00001db8
-#define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_FACTOR_SHIFT              0
-#define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_FACTOR_MASK               0x0000ffff
-#define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_PATTERN_SHIFT             16
-#define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_PATTERN_MASK              0xffff0000
-#define  NV34_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS(x)                      (0x00001e20+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS__SIZE                   0x00000006
-#define  NV34_TCL_PRIMITIVE_3D_VERTEX_FOG_1F                                   0x00001e54
-#define  NV34_TCL_PRIMITIVE_3D_POINT_PARAMETERS(x)                             (0x00001ec0+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_POINT_PARAMETERS__SIZE                          0x00000008
-#define  NV34_TCL_PRIMITIVE_3D_POINT_SIZE                                      0x00001ee0
-#define  NV34_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE                         0x00001ee4
-#define  NV34_TCL_PRIMITIVE_3D_POINT_SPRITE                                    0x00001ee8
-#define  NV34_TCL_PRIMITIVE_3D_UNK1f80(x)                                      (0x00001f80+((x)*4))
-#define  NV34_TCL_PRIMITIVE_3D_UNK1f80__SIZE                                   0x00000010
-
-
-#define NV40_CONTEXT_SURFACES_2D                                               0x00003062
-
-
-
-#define NV40_STRETCHED_IMAGE_FROM_CPU                                          0x00003066
-
-
-
-#define NV40_TEXTURE_FROM_CPU                                                  0x0000307b
-
-
-
-#define NV40_SCALED_IMAGE_FROM_MEMORY                                          0x00003089
-
-
-
-#define NV40_IMAGE_FROM_CPU                                                    0x0000308a
-
-
-
-#define NV40_SWIZZLED_SURFACE                                                  0x0000309e
-
-
-
-#define NV40TCL                                                                        0x00004097
-
-#define  NV40TCL_REF_CNT                                                       0x00000050
-#define  NV40TCL_NOP                                                           0x00000100
-#define  NV40TCL_NOTIFY                                                                0x00000104
-#define  NV40TCL_DMA_NOTIFY                                                    0x00000180
-#define  NV40TCL_DMA_TEXTURE0                                                  0x00000184
-#define  NV40TCL_DMA_TEXTURE1                                                  0x00000188
-#define  NV40TCL_DMA_COLOR1                                                    0x0000018c
-#define  NV40TCL_DMA_COLOR0                                                    0x00000194
-#define  NV40TCL_DMA_ZETA                                                      0x00000198
-#define  NV40TCL_DMA_VTXBUF0                                                   0x0000019c
-#define  NV40TCL_DMA_VTXBUF1                                                   0x000001a0
-#define  NV40TCL_DMA_FENCE                                                     0x000001a4
-#define  NV40TCL_DMA_QUERY                                                     0x000001a8
-#define  NV40TCL_DMA_UNK01AC                                                   0x000001ac
-#define  NV40TCL_DMA_UNK01B0                                                   0x000001b0
-#define  NV40TCL_DMA_COLOR2                                                    0x000001b4
-#define  NV40TCL_DMA_COLOR3                                                    0x000001b8
-#define  NV40TCL_RT_HORIZ                                                      0x00000200
-#define   NV40TCL_RT_HORIZ_W_SHIFT                                             16
-#define   NV40TCL_RT_HORIZ_W_MASK                                              0xffff0000
-#define   NV40TCL_RT_HORIZ_X_SHIFT                                             0
-#define   NV40TCL_RT_HORIZ_X_MASK                                              0x0000ffff
-#define  NV40TCL_RT_VERT                                                       0x00000204
-#define   NV40TCL_RT_VERT_H_SHIFT                                              16
-#define   NV40TCL_RT_VERT_H_MASK                                               0xffff0000
-#define   NV40TCL_RT_VERT_Y_SHIFT                                              0
-#define   NV40TCL_RT_VERT_Y_MASK                                               0x0000ffff
-#define  NV40TCL_RT_FORMAT                                                     0x00000208
-#define   NV40TCL_RT_FORMAT_LOG2_HEIGHT_SHIFT                                  24
-#define   NV40TCL_RT_FORMAT_LOG2_HEIGHT_MASK                                   0xff000000
-#define   NV40TCL_RT_FORMAT_LOG2_WIDTH_SHIFT                                   16
-#define   NV40TCL_RT_FORMAT_LOG2_WIDTH_MASK                                    0x00ff0000
-#define   NV40TCL_RT_FORMAT_TYPE_SHIFT                                         8
-#define   NV40TCL_RT_FORMAT_TYPE_MASK                                          0x00000f00
-#define   NV40TCL_RT_FORMAT_TYPE_LINEAR                                                0x00000001
-#define   NV40TCL_RT_FORMAT_TYPE_SWIZZLED                                      0x00000002
-#define   NV40TCL_RT_FORMAT_DEPTH_SHIFT                                                5
-#define   NV40TCL_RT_FORMAT_DEPTH_MASK                                         0x000000e0
-#define   NV40TCL_RT_FORMAT_DEPTH_Z16                                          0x00000001
-#define   NV40TCL_RT_FORMAT_DEPTH_Z24S8                                                0x00000002
-#define   NV40TCL_RT_FORMAT_COLOR_SHIFT                                                0
-#define   NV40TCL_RT_FORMAT_COLOR_MASK                                         0x0000001f
-#define   NV40TCL_RT_FORMAT_COLOR_R5G6B5                                       0x00000003
-#define   NV40TCL_RT_FORMAT_COLOR_X8R8G8B8                                     0x00000005
-#define   NV40TCL_RT_FORMAT_COLOR_A8R8G8B8                                     0x00000008
-#define   NV40TCL_RT_FORMAT_COLOR_B8                                           0x00000009
-#define  NV40TCL_COLOR0_PITCH                                                  0x0000020c
-#define  NV40TCL_COLOR0_OFFSET                                                 0x00000210
-#define  NV40TCL_ZETA_OFFSET                                                   0x00000214
-#define  NV40TCL_COLOR1_OFFSET                                                 0x00000218
-#define  NV40TCL_COLOR1_PITCH                                                  0x0000021c
-#define  NV40TCL_RT_ENABLE                                                     0x00000220
-#define   NV40TCL_RT_ENABLE_MRT                                                        (1 <<  4)
-#define   NV40TCL_RT_ENABLE_COLOR3                                             (1 <<  3)
-#define   NV40TCL_RT_ENABLE_COLOR2                                             (1 <<  2)
-#define   NV40TCL_RT_ENABLE_COLOR1                                             (1 <<  1)
-#define   NV40TCL_RT_ENABLE_COLOR0                                             (1 <<  0)
-#define  NV40TCL_ZETA_PITCH                                                    0x0000022c
-#define  NV40TCL_COLOR2_PITCH                                                  0x00000280
-#define  NV40TCL_COLOR3_PITCH                                                  0x00000284
-#define  NV40TCL_COLOR2_OFFSET                                                 0x00000288
-#define  NV40TCL_COLOR3_OFFSET                                                 0x0000028c
-#define  NV40TCL_VIEWPORT_CLIP_HORIZ(x)                                                (0x000002c0+((x)*8))
-#define  NV40TCL_VIEWPORT_CLIP_HORIZ__SIZE                                     0x00000008
-#define  NV40TCL_VIEWPORT_CLIP_VERT(x)                                         (0x000002c4+((x)*8))
-#define  NV40TCL_VIEWPORT_CLIP_VERT__SIZE                                      0x00000008
-#define  NV40TCL_DITHER_ENABLE                                                 0x00000300
-#define  NV40TCL_ALPHA_TEST_ENABLE                                             0x00000304
-#define  NV40TCL_ALPHA_TEST_FUNC                                               0x00000308
-#define  NV40TCL_ALPHA_TEST_FUNC_NEVER                                         0x00000200
-#define  NV40TCL_ALPHA_TEST_FUNC_LESS                                          0x00000201
-#define  NV40TCL_ALPHA_TEST_FUNC_EQUAL                                         0x00000202
-#define  NV40TCL_ALPHA_TEST_FUNC_LEQUAL                                                0x00000203
-#define  NV40TCL_ALPHA_TEST_FUNC_GREATER                                       0x00000204
-#define  NV40TCL_ALPHA_TEST_FUNC_GREATER                                       0x00000204
-#define  NV40TCL_ALPHA_TEST_FUNC_NOTEQUAL                                      0x00000205
-#define  NV40TCL_ALPHA_TEST_FUNC_GEQUAL                                                0x00000206
-#define  NV40TCL_ALPHA_TEST_FUNC_ALWAYS                                                0x00000207
-#define  NV40TCL_ALPHA_TEST_REF                                                        0x0000030c
-#define  NV40TCL_BLEND_ENABLE                                                  0x00000310
-#define  NV40TCL_BLEND_FUNC_SRC                                                        0x00000314
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_SHIFT                                     0
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_MASK                                      0x0000ffff
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_ZERO                                      0x00000000
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_ONE                                       0x00000001
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR                                 0x00000300
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR                       0x00000301
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA                                 0x00000302
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA                       0x00000303
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA                                 0x00000304
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA                       0x00000305
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_DST_COLOR                                 0x00000306
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR                       0x00000307
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE                                0x00000308
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR                            0x00008001
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR                  0x00008002
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA                            0x00008003
-#define   NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA                  0x00008004
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_SHIFT                                   16
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_MASK                                    0xffff0000
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ZERO                                    0x00000000
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE                                     0x00000001
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                               0x00000300
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR                     0x00000301
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                               0x00000302
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA                     0x00000303
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                               0x00000304
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA                     0x00000305
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR                               0x00000306
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR                     0x00000307
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                      0x00000308
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR                          0x00008001
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR                        0x00008002
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA                          0x00008003
-#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA                        0x00008004
-#define  NV40TCL_BLEND_FUNC_DST                                                        0x00000318
-#define   NV40TCL_BLEND_FUNC_DST_RGB_SHIFT                                     0
-#define   NV40TCL_BLEND_FUNC_DST_RGB_MASK                                      0x0000ffff
-#define   NV40TCL_BLEND_FUNC_DST_RGB_ZERO                                      0x00000000
-#define   NV40TCL_BLEND_FUNC_DST_RGB_ONE                                       0x00000001
-#define   NV40TCL_BLEND_FUNC_DST_RGB_SRC_COLOR                                 0x00000300
-#define   NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR                       0x00000301
-#define   NV40TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA                                 0x00000302
-#define   NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA                       0x00000303
-#define   NV40TCL_BLEND_FUNC_DST_RGB_DST_ALPHA                                 0x00000304
-#define   NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA                       0x00000305
-#define   NV40TCL_BLEND_FUNC_DST_RGB_DST_COLOR                                 0x00000306
-#define   NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR                       0x00000307
-#define   NV40TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE                                0x00000308
-#define   NV40TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR                            0x00008001
-#define   NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR                  0x00008002
-#define   NV40TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA                            0x00008003
-#define   NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA                  0x00008004
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_SHIFT                                   16
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_MASK                                    0xffff0000
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_ZERO                                    0x00000000
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_ONE                                     0x00000001
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR                               0x00000300
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR                     0x00000301
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                               0x00000302
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA                     0x00000303
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA                               0x00000304
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA                     0x00000305
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR                               0x00000306
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR                     0x00000307
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                      0x00000308
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR                          0x00008001
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR                        0x00008002
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                          0x00008003
-#define   NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA                        0x00008004
-#define  NV40TCL_BLEND_COLOR                                                   0x0000031c
-#define  NV40TCL_BLEND_EQUATION                                                        0x00000320
-#define   NV40TCL_BLEND_EQUATION_RGB_SHIFT                                     0
-#define   NV40TCL_BLEND_EQUATION_RGB_MASK                                      0x0000ffff
-#define   NV40TCL_BLEND_EQUATION_RGB_FUNC_ADD                                  0x00008006
-#define   NV40TCL_BLEND_EQUATION_RGB_MIN                                       0x00008007
-#define   NV40TCL_BLEND_EQUATION_RGB_MAX                                       0x00008008
-#define   NV40TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT                             0x0000800a
-#define   NV40TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT                     0x0000800b
-#define   NV40TCL_BLEND_EQUATION_ALPHA_SHIFT                                   16
-#define   NV40TCL_BLEND_EQUATION_ALPHA_MASK                                    0xffff0000
-#define   NV40TCL_BLEND_EQUATION_ALPHA_FUNC_ADD                                        0x00008006
-#define   NV40TCL_BLEND_EQUATION_ALPHA_MIN                                     0x00008007
-#define   NV40TCL_BLEND_EQUATION_ALPHA_MAX                                     0x00008008
-#define   NV40TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT                           0x0000800a
-#define   NV40TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT                   0x0000800b
-#define  NV40TCL_COLOR_MASK                                                    0x00000324
-#define   NV40TCL_COLOR_MASK_BUFFER0_B_SHIFT                                   0
-#define   NV40TCL_COLOR_MASK_BUFFER0_B_MASK                                    0x000000ff
-#define   NV40TCL_COLOR_MASK_BUFFER0_G_SHIFT                                   8
-#define   NV40TCL_COLOR_MASK_BUFFER0_G_MASK                                    0x0000ff00
-#define   NV40TCL_COLOR_MASK_BUFFER0_R_SHIFT                                   16
-#define   NV40TCL_COLOR_MASK_BUFFER0_R_MASK                                    0x00ff0000
-#define   NV40TCL_COLOR_MASK_BUFFER0_A_SHIFT                                   24
-#define   NV40TCL_COLOR_MASK_BUFFER0_A_MASK                                    0xff000000
-#define  NV40TCL_STENCIL_BACK_ENABLE                                           0x00000328
-#define  NV40TCL_STENCIL_BACK_MASK                                             0x0000032c
-#define  NV40TCL_STENCIL_BACK_FUNC_FUNC                                                0x00000330
-#define  NV40TCL_STENCIL_BACK_FUNC_FUNC_NEVER                                  0x00000200
-#define  NV40TCL_STENCIL_BACK_FUNC_FUNC_LESS                                   0x00000201
-#define  NV40TCL_STENCIL_BACK_FUNC_FUNC_EQUAL                                  0x00000202
-#define  NV40TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL                                 0x00000203
-#define  NV40TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                        0x00000204
-#define  NV40TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                        0x00000204
-#define  NV40TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                               0x00000205
-#define  NV40TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL                                 0x00000206
-#define  NV40TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS                                 0x00000207
-#define  NV40TCL_STENCIL_BACK_FUNC_REF                                         0x00000334
-#define  NV40TCL_STENCIL_BACK_FUNC_MASK                                                0x00000338
-#define  NV40TCL_STENCIL_BACK_OP_FAIL                                          0x0000033c
-#define  NV40TCL_STENCIL_BACK_OP_FAIL_ZERO                                     0x00000000
-#define  NV40TCL_STENCIL_BACK_OP_FAIL_INVERT                                   0x0000150a
-#define  NV40TCL_STENCIL_BACK_OP_FAIL_KEEP                                     0x00001e00
-#define  NV40TCL_STENCIL_BACK_OP_FAIL_REPLACE                                  0x00001e01
-#define  NV40TCL_STENCIL_BACK_OP_FAIL_INCR                                     0x00001e02
-#define  NV40TCL_STENCIL_BACK_OP_FAIL_DECR                                     0x00001e03
-#define  NV40TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP                                        0x00008507
-#define  NV40TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP                                        0x00008508
-#define  NV40TCL_STENCIL_BACK_OP_ZFAIL                                         0x00000340
-#define  NV40TCL_STENCIL_BACK_OP_ZFAIL_ZERO                                    0x00000000
-#define  NV40TCL_STENCIL_BACK_OP_ZFAIL_INVERT                                  0x0000150a
-#define  NV40TCL_STENCIL_BACK_OP_ZFAIL_KEEP                                    0x00001e00
-#define  NV40TCL_STENCIL_BACK_OP_ZFAIL_REPLACE                                 0x00001e01
-#define  NV40TCL_STENCIL_BACK_OP_ZFAIL_INCR                                    0x00001e02
-#define  NV40TCL_STENCIL_BACK_OP_ZFAIL_DECR                                    0x00001e03
-#define  NV40TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                               0x00008507
-#define  NV40TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                               0x00008508
-#define  NV40TCL_STENCIL_BACK_OP_ZPASS                                         0x00000344
-#define  NV40TCL_STENCIL_BACK_OP_ZPASS_ZERO                                    0x00000000
-#define  NV40TCL_STENCIL_BACK_OP_ZPASS_INVERT                                  0x0000150a
-#define  NV40TCL_STENCIL_BACK_OP_ZPASS_KEEP                                    0x00001e00
-#define  NV40TCL_STENCIL_BACK_OP_ZPASS_REPLACE                                 0x00001e01
-#define  NV40TCL_STENCIL_BACK_OP_ZPASS_INCR                                    0x00001e02
-#define  NV40TCL_STENCIL_BACK_OP_ZPASS_DECR                                    0x00001e03
-#define  NV40TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP                               0x00008507
-#define  NV40TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP                               0x00008508
-#define  NV40TCL_STENCIL_FRONT_ENABLE                                          0x00000348
-#define  NV40TCL_STENCIL_FRONT_MASK                                            0x0000034c
-#define  NV40TCL_STENCIL_FRONT_FUNC_FUNC                                       0x00000350
-#define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_NEVER                                 0x00000200
-#define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_LESS                                  0x00000201
-#define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL                                 0x00000202
-#define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL                                        0x00000203
-#define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                               0x00000204
-#define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                               0x00000204
-#define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                              0x00000205
-#define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL                                        0x00000206
-#define  NV40TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS                                        0x00000207
-#define  NV40TCL_STENCIL_FRONT_FUNC_REF                                                0x00000354
-#define  NV40TCL_STENCIL_FRONT_FUNC_MASK                                       0x00000358
-#define  NV40TCL_STENCIL_FRONT_OP_FAIL                                         0x0000035c
-#define  NV40TCL_STENCIL_FRONT_OP_FAIL_ZERO                                    0x00000000
-#define  NV40TCL_STENCIL_FRONT_OP_FAIL_INVERT                                  0x0000150a
-#define  NV40TCL_STENCIL_FRONT_OP_FAIL_KEEP                                    0x00001e00
-#define  NV40TCL_STENCIL_FRONT_OP_FAIL_REPLACE                                 0x00001e01
-#define  NV40TCL_STENCIL_FRONT_OP_FAIL_INCR                                    0x00001e02
-#define  NV40TCL_STENCIL_FRONT_OP_FAIL_DECR                                    0x00001e03
-#define  NV40TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP                               0x00008507
-#define  NV40TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP                               0x00008508
-#define  NV40TCL_STENCIL_FRONT_OP_ZFAIL                                                0x00000360
-#define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_ZERO                                   0x00000000
-#define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_INVERT                                 0x0000150a
-#define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_KEEP                                   0x00001e00
-#define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE                                        0x00001e01
-#define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_INCR                                   0x00001e02
-#define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_DECR                                   0x00001e03
-#define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                              0x00008507
-#define  NV40TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                              0x00008508
-#define  NV40TCL_STENCIL_FRONT_OP_ZPASS                                                0x00000364
-#define  NV40TCL_STENCIL_FRONT_OP_ZPASS_ZERO                                   0x00000000
-#define  NV40TCL_STENCIL_FRONT_OP_ZPASS_INVERT                                 0x0000150a
-#define  NV40TCL_STENCIL_FRONT_OP_ZPASS_KEEP                                   0x00001e00
-#define  NV40TCL_STENCIL_FRONT_OP_ZPASS_REPLACE                                        0x00001e01
-#define  NV40TCL_STENCIL_FRONT_OP_ZPASS_INCR                                   0x00001e02
-#define  NV40TCL_STENCIL_FRONT_OP_ZPASS_DECR                                   0x00001e03
-#define  NV40TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                              0x00008507
-#define  NV40TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                              0x00008508
-#define  NV40TCL_SHADE_MODEL                                                   0x00000368
-#define  NV40TCL_SHADE_MODEL_FLAT                                              0x00001d00
-#define  NV40TCL_SHADE_MODEL_SMOOTH                                            0x00001d01
-#define  NV40TCL_MRT_COLOR_MASK                                                        0x00000370
-#define   NV40TCL_MRT_COLOR_MASK_BUFFER1_A                                     (1 <<  4)
-#define   NV40TCL_MRT_COLOR_MASK_BUFFER1_R                                     (1 <<  5)
-#define   NV40TCL_MRT_COLOR_MASK_BUFFER1_G                                     (1 <<  6)
-#define   NV40TCL_MRT_COLOR_MASK_BUFFER1_B                                     (1 <<  7)
-#define   NV40TCL_MRT_COLOR_MASK_BUFFER2_A                                     (1 <<  8)
-#define   NV40TCL_MRT_COLOR_MASK_BUFFER2_R                                     (1 <<  9)
-#define   NV40TCL_MRT_COLOR_MASK_BUFFER2_G                                     (1 << 10)
-#define   NV40TCL_MRT_COLOR_MASK_BUFFER2_B                                     (1 << 11)
-#define   NV40TCL_MRT_COLOR_MASK_BUFFER3_A                                     (1 << 12)
-#define   NV40TCL_MRT_COLOR_MASK_BUFFER3_R                                     (1 << 13)
-#define   NV40TCL_MRT_COLOR_MASK_BUFFER3_G                                     (1 << 14)
-#define   NV40TCL_MRT_COLOR_MASK_BUFFER3_B                                     (1 << 15)
-#define  NV40TCL_COLOR_LOGIC_OP_ENABLE                                         0x00000374
-#define  NV40TCL_COLOR_LOGIC_OP                                                        0x00000378
-#define  NV40TCL_COLOR_LOGIC_OP_CLEAR                                          0x00001500
-#define  NV40TCL_COLOR_LOGIC_OP_AND                                            0x00001501
-#define  NV40TCL_COLOR_LOGIC_OP_AND_REVERSE                                    0x00001502
-#define  NV40TCL_COLOR_LOGIC_OP_COPY                                           0x00001503
-#define  NV40TCL_COLOR_LOGIC_OP_AND_INVERTED                                   0x00001504
-#define  NV40TCL_COLOR_LOGIC_OP_NOOP                                           0x00001505
-#define  NV40TCL_COLOR_LOGIC_OP_XOR                                            0x00001506
-#define  NV40TCL_COLOR_LOGIC_OP_OR                                             0x00001507
-#define  NV40TCL_COLOR_LOGIC_OP_NOR                                            0x00001508
-#define  NV40TCL_COLOR_LOGIC_OP_EQUIV                                          0x00001509
-#define  NV40TCL_COLOR_LOGIC_OP_INVERT                                         0x0000150a
-#define  NV40TCL_COLOR_LOGIC_OP_OR_REVERSE                                     0x0000150b
-#define  NV40TCL_COLOR_LOGIC_OP_COPY_INVERTED                                  0x0000150c
-#define  NV40TCL_COLOR_LOGIC_OP_OR_INVERTED                                    0x0000150d
-#define  NV40TCL_COLOR_LOGIC_OP_NAND                                           0x0000150e
-#define  NV40TCL_COLOR_LOGIC_OP_SET                                            0x0000150f
-#define  NV40TCL_DEPTH_RANGE_NEAR                                              0x00000394
-#define  NV40TCL_DEPTH_RANGE_FAR                                               0x00000398
-#define  NV40TCL_LINE_WIDTH                                                    0x000003b8
-#define  NV40TCL_LINE_SMOOTH_ENABLE                                            0x000003bc
-#define  NV40TCL_UNK03C0(x)                                                    (0x000003c0+((x)*4))
-#define  NV40TCL_UNK03C0__SIZE                                                 0x00000010
-#define  NV40TCL_UNK0400(x)                                                    (0x00000400+((x)*4))
-#define  NV40TCL_UNK0400__SIZE                                                 0x00000010
-#define  NV40TCL_UNK0440(x)                                                    (0x00000440+((x)*4))
-#define  NV40TCL_UNK0440__SIZE                                                 0x00000020
-#define  NV40TCL_SCISSOR_HORIZ                                                 0x000008c0
-#define   NV40TCL_SCISSOR_HORIZ_X_SHIFT                                                0
-#define   NV40TCL_SCISSOR_HORIZ_X_MASK                                         0x0000ffff
-#define   NV40TCL_SCISSOR_HORIZ_W_SHIFT                                                16
-#define   NV40TCL_SCISSOR_HORIZ_W_MASK                                         0xffff0000
-#define  NV40TCL_SCISSOR_VERT                                                  0x000008c4
-#define   NV40TCL_SCISSOR_VERT_Y_SHIFT                                         0
-#define   NV40TCL_SCISSOR_VERT_Y_MASK                                          0x0000ffff
-#define   NV40TCL_SCISSOR_VERT_H_SHIFT                                         16
-#define   NV40TCL_SCISSOR_VERT_H_MASK                                          0xffff0000
-#define  NV40TCL_FOG_MODE                                                      0x000008cc
-#define  NV40TCL_FOG_EQUATION_CONSTANT                                         0x000008d0
-#define  NV40TCL_FOG_EQUATION_LINEAR                                           0x000008d4
-#define  NV40TCL_FOG_EQUATION_QUADRATIC                                                0x000008d8
-#define  NV40TCL_FP_ADDRESS                                                    0x000008e4
-#define   NV40TCL_FP_ADDRESS_OFFSET_SHIFT                                      8
-#define   NV40TCL_FP_ADDRESS_OFFSET_MASK                                       0xffffff00
-#define   NV40TCL_FP_ADDRESS_DMA1                                              (1 <<  1)
-#define   NV40TCL_FP_ADDRESS_DMA0                                              (1 <<  0)
-#define  NV40TCL_VIEWPORT_HORIZ                                                        0x00000a00
-#define   NV40TCL_VIEWPORT_HORIZ_W_SHIFT                                       16
-#define   NV40TCL_VIEWPORT_HORIZ_W_MASK                                                0xffff0000
-#define   NV40TCL_VIEWPORT_HORIZ_X_SHIFT                                       0
-#define   NV40TCL_VIEWPORT_HORIZ_X_MASK                                                0x0000ffff
-#define  NV40TCL_VIEWPORT_VERT                                                 0x00000a04
-#define   NV40TCL_VIEWPORT_VERT_H_SHIFT                                                16
-#define   NV40TCL_VIEWPORT_VERT_H_MASK                                         0xffff0000
-#define   NV40TCL_VIEWPORT_VERT_Y_SHIFT                                                0
-#define   NV40TCL_VIEWPORT_VERT_Y_MASK                                         0x0000ffff
-#define  NV40TCL_VIEWPORT_TRANSLATE_X                                          0x00000a20
-#define  NV40TCL_VIEWPORT_TRANSLATE_Y                                          0x00000a24
-#define  NV40TCL_VIEWPORT_TRANSLATE_Z                                          0x00000a28
-#define  NV40TCL_VIEWPORT_TRANSLATE_W                                          0x00000a2c
-#define  NV40TCL_VIEWPORT_SCALE_X                                              0x00000a30
-#define  NV40TCL_VIEWPORT_SCALE_Y                                              0x00000a34
-#define  NV40TCL_VIEWPORT_SCALE_Z                                              0x00000a38
-#define  NV40TCL_VIEWPORT_SCALE_W                                              0x00000a3c
-#define  NV40TCL_POLYGON_OFFSET_FILL_ENABLE                                    0x00000a60
-#define  NV40TCL_POLYGON_OFFSET_LINE_ENABLE                                    0x00000a64
-#define  NV40TCL_POLYGON_OFFSET_POINT_ENABLE                                   0x00000a68
-#define  NV40TCL_DEPTH_FUNC                                                    0x00000a6c
-#define  NV40TCL_DEPTH_FUNC_NEVER                                              0x00000200
-#define  NV40TCL_DEPTH_FUNC_LESS                                               0x00000201
-#define  NV40TCL_DEPTH_FUNC_EQUAL                                              0x00000202
-#define  NV40TCL_DEPTH_FUNC_LEQUAL                                             0x00000203
-#define  NV40TCL_DEPTH_FUNC_GREATER                                            0x00000204
-#define  NV40TCL_DEPTH_FUNC_GREATER                                            0x00000204
-#define  NV40TCL_DEPTH_FUNC_NOTEQUAL                                           0x00000205
-#define  NV40TCL_DEPTH_FUNC_GEQUAL                                             0x00000206
-#define  NV40TCL_DEPTH_FUNC_ALWAYS                                             0x00000207
-#define  NV40TCL_DEPTH_WRITE_ENABLE                                            0x00000a70
-#define  NV40TCL_DEPTH_TEST_ENABLE                                             0x00000a74
-#define  NV40TCL_POLYGON_OFFSET_FACTOR                                         0x00000a78
-#define  NV40TCL_POLYGON_OFFSET_UNITS                                          0x00000a7c
-#define  NV40TCL_UNK0B40(x)                                                    (0x00000b40+((x)*4))
-#define  NV40TCL_UNK0B40__SIZE                                                 0x00000008
-#define  NV40TCL_VP_UPLOAD_INST(x)                                             (0x00000b80+((x)*4))
-#define  NV40TCL_VP_UPLOAD_INST__SIZE                                          0x00000004
-#define  NV40TCL_CLIP_PLANE_ENABLE                                             0x00001478
-#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE0                                     (1 <<  2)
-#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE1                                     (1 <<  6)
-#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE2                                     (1 << 10)
-#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE3                                     (1 << 14)
-#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE4                                     (1 << 18)
-#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE5                                     (1 << 22)
-#define  NV40TCL_POLYGON_STIPPLE_ENABLE                                                0x0000147c
-#define  NV40TCL_POLYGON_STIPPLE_PATTERN(x)                                    (0x00001480+((x)*4))
-#define  NV40TCL_POLYGON_STIPPLE_PATTERN__SIZE                                 0x00000020
-#define  NV40TCL_VTX_ATTR_3F_X(x)                                              (0x00001500+((x)*16))
-#define  NV40TCL_VTX_ATTR_3F_X__SIZE                                           0x00000010
-#define  NV40TCL_VTX_ATTR_3F_Y(x)                                              (0x00001504+((x)*16))
-#define  NV40TCL_VTX_ATTR_3F_Y__SIZE                                           0x00000010
-#define  NV40TCL_VTX_ATTR_3F_Z(x)                                              (0x00001508+((x)*16))
-#define  NV40TCL_VTX_ATTR_3F_Z__SIZE                                           0x00000010
-#define  NV40TCL_VTXBUF_ADDRESS(x)                                             (0x00001680+((x)*4))
-#define  NV40TCL_VTXBUF_ADDRESS__SIZE                                          0x00000010
-#define   NV40TCL_VTXBUF_ADDRESS_DMA1                                          (1 << 31)
-#define   NV40TCL_VTXBUF_ADDRESS_OFFSET_SHIFT                                  0
-#define   NV40TCL_VTXBUF_ADDRESS_OFFSET_MASK                                   0x0fffffff
-#define  NV40TCL_VTX_CACHE_INVALIDATE                                          0x00001714
-#define  NV40TCL_VTXFMT(x)                                                     (0x00001740+((x)*4))
-#define  NV40TCL_VTXFMT__SIZE                                                  0x00000010
-#define   NV40TCL_VTXFMT_TYPE_SHIFT                                            0
-#define   NV40TCL_VTXFMT_TYPE_MASK                                             0x0000000f
-#define   NV40TCL_VTXFMT_TYPE_FLOAT                                            0x00000002
-#define   NV40TCL_VTXFMT_TYPE_UBYTE                                            0x00000004
-#define   NV40TCL_VTXFMT_SIZE_SHIFT                                            4
-#define   NV40TCL_VTXFMT_SIZE_MASK                                             0x000000f0
-#define   NV40TCL_VTXFMT_STRIDE_SHIFT                                          8
-#define   NV40TCL_VTXFMT_STRIDE_MASK                                           0x0000ff00
-#define  NV40TCL_QUERY_RESET                                                   0x000017c8
-#define  NV40TCL_QUERY_UNK17CC                                                 0x000017cc
-#define  NV40TCL_QUERY_GET                                                     0x00001800
-#define   NV40TCL_QUERY_GET_UNK24_SHIFT                                                24
-#define   NV40TCL_QUERY_GET_UNK24_MASK                                         0xff000000
-#define   NV40TCL_QUERY_GET_OFFSET_SHIFT                                       0
-#define   NV40TCL_QUERY_GET_OFFSET_MASK                                                0x00ffffff
-#define  NV40TCL_BEGIN_END                                                     0x00001808
-#define  NV40TCL_BEGIN_END_STOP                                                        0x00000000
-#define  NV40TCL_BEGIN_END_POINTS                                              0x00000001
-#define  NV40TCL_BEGIN_END_LINES                                               0x00000002
-#define  NV40TCL_BEGIN_END_LINE_LOOP                                           0x00000003
-#define  NV40TCL_BEGIN_END_LINE_STRIP                                          0x00000004
-#define  NV40TCL_BEGIN_END_TRIANGLES                                           0x00000005
-#define  NV40TCL_BEGIN_END_TRIANGLE_STRIP                                      0x00000006
-#define  NV40TCL_BEGIN_END_TRIANGLE_FAN                                                0x00000007
-#define  NV40TCL_BEGIN_END_QUADS                                               0x00000008
-#define  NV40TCL_BEGIN_END_QUAD_STRIP                                          0x00000009
-#define  NV40TCL_BEGIN_END_POLYGON                                             0x0000000a
-#define  NV40TCL_VB_ELEMENT_U16                                                        0x0000180c
-#define   NV40TCL_VB_ELEMENT_U16_1_SHIFT                                       16
-#define   NV40TCL_VB_ELEMENT_U16_1_MASK                                                0xffff0000
-#define   NV40TCL_VB_ELEMENT_U16_0_SHIFT                                       0
-#define   NV40TCL_VB_ELEMENT_U16_0_MASK                                                0x0000ffff
-#define  NV40TCL_VB_ELEMENT_U32                                                        0x00001810
-#define  NV40TCL_VB_VERTEX_BATCH                                               0x00001814
-#define   NV40TCL_VB_VERTEX_BATCH_COUNT_SHIFT                                  24
-#define   NV40TCL_VB_VERTEX_BATCH_COUNT_MASK                                   0xff000000
-#define   NV40TCL_VB_VERTEX_BATCH_START_SHIFT                                  0
-#define   NV40TCL_VB_VERTEX_BATCH_START_MASK                                   0x00ffffff
-#define  NV40TCL_VERTEX_DATA                                                   0x00001818
-#define  NV40TCL_POLYGON_MODE_FRONT                                            0x00001828
-#define  NV40TCL_POLYGON_MODE_FRONT_POINT                                      0x00001b00
-#define  NV40TCL_POLYGON_MODE_FRONT_LINE                                       0x00001b01
-#define  NV40TCL_POLYGON_MODE_FRONT_FILL                                       0x00001b02
-#define  NV40TCL_POLYGON_MODE_BACK                                             0x0000182c
-#define  NV40TCL_POLYGON_MODE_BACK_POINT                                       0x00001b00
-#define  NV40TCL_POLYGON_MODE_BACK_LINE                                                0x00001b01
-#define  NV40TCL_POLYGON_MODE_BACK_FILL                                                0x00001b02
-#define  NV40TCL_CULL_FACE                                                     0x00001830
-#define  NV40TCL_CULL_FACE_FRONT                                               0x00000404
-#define  NV40TCL_CULL_FACE_BACK                                                        0x00000405
-#define  NV40TCL_CULL_FACE_FRONT_AND_BACK                                      0x00000408
-#define  NV40TCL_FRONT_FACE                                                    0x00001834
-#define  NV40TCL_FRONT_FACE_CW                                                 0x00000900
-#define  NV40TCL_FRONT_FACE_CCW                                                        0x00000901
-#define  NV40TCL_POLYGON_SMOOTH_ENABLE                                         0x00001838
-#define  NV40TCL_CULL_FACE_ENABLE                                              0x0000183c
-#define  NV40TCL_TEX_SIZE1(x)                                                  (0x00001840+((x)*4))
-#define  NV40TCL_TEX_SIZE1__SIZE                                               0x00000008
-#define   NV40TCL_TEX_SIZE1_DEPTH_SHIFT                                                20
-#define   NV40TCL_TEX_SIZE1_DEPTH_MASK                                         0xfff00000
-#define   NV40TCL_TEX_SIZE1_PITCH_SHIFT                                                0
-#define   NV40TCL_TEX_SIZE1_PITCH_MASK                                         0x0000ffff
-#define  NV40TCL_VTX_ATTR_2F_X(x)                                              (0x00001880+((x)*8))
-#define  NV40TCL_VTX_ATTR_2F_X__SIZE                                           0x00000010
-#define  NV40TCL_VTX_ATTR_2F_Y(x)                                              (0x00001884+((x)*8))
-#define  NV40TCL_VTX_ATTR_2F_Y__SIZE                                           0x00000010
-#define  NV40TCL_VTX_ATTR_2I(x)                                                        (0x00001900+((x)*4))
-#define  NV40TCL_VTX_ATTR_2I__SIZE                                             0x00000010
-#define   NV40TCL_VTX_ATTR_2I_Y_SHIFT                                          16
-#define   NV40TCL_VTX_ATTR_2I_Y_MASK                                           0xffff0000
-#define   NV40TCL_VTX_ATTR_2I_X_SHIFT                                          0
-#define   NV40TCL_VTX_ATTR_2I_X_MASK                                           0x0000ffff
-#define  NV40TCL_VTX_ATTR_4I_0(x)                                              (0x00001900+((x)*8))
-#define  NV40TCL_VTX_ATTR_4I_0__SIZE                                           0x00000010
-#define   NV40TCL_VTX_ATTR_4I_0_Y_SHIFT                                                16
-#define   NV40TCL_VTX_ATTR_4I_0_Y_MASK                                         0xffff0000
-#define   NV40TCL_VTX_ATTR_4I_0_X_SHIFT                                                0
-#define   NV40TCL_VTX_ATTR_4I_0_X_MASK                                         0x0000ffff
-#define  NV40TCL_VTX_ATTR_4I_1(x)                                              (0x00001904+((x)*8))
-#define  NV40TCL_VTX_ATTR_4I_1__SIZE                                           0x00000010
-#define   NV40TCL_VTX_ATTR_4I_1_W_SHIFT                                                16
-#define   NV40TCL_VTX_ATTR_4I_1_W_MASK                                         0xffff0000
-#define   NV40TCL_VTX_ATTR_4I_1_Z_SHIFT                                                0
-#define   NV40TCL_VTX_ATTR_4I_1_Z_MASK                                         0x0000ffff
-#define  NV40TCL_TEX_OFFSET(x)                                                 (0x00001a00+((x)*32))
-#define  NV40TCL_TEX_OFFSET__SIZE                                              0x00000010
-#define  NV40TCL_TEX_FORMAT(x)                                                 (0x00001a04+((x)*32))
-#define  NV40TCL_TEX_FORMAT__SIZE                                              0x00000010
-#define   NV40TCL_TEX_FORMAT_MIPMAP_COUNT_SHIFT                                        16
-#define   NV40TCL_TEX_FORMAT_MIPMAP_COUNT_MASK                                 0x000f0000
-#define   NV40TCL_TEX_FORMAT_RECT                                              (1 << 14)
-#define   NV40TCL_TEX_FORMAT_LINEAR                                            (1 << 13)
-#define   NV40TCL_TEX_FORMAT_FORMAT_SHIFT                                      8
-#define   NV40TCL_TEX_FORMAT_FORMAT_MASK                                       0x00001f00
-#define   NV40TCL_TEX_FORMAT_FORMAT_L8                                         0x00000001
-#define   NV40TCL_TEX_FORMAT_FORMAT_A1R5G5B5                                   0x00000002
-#define   NV40TCL_TEX_FORMAT_FORMAT_A4R4G4B4                                   0x00000003
-#define   NV40TCL_TEX_FORMAT_FORMAT_R5G6B5                                     0x00000004
-#define   NV40TCL_TEX_FORMAT_FORMAT_A8R8G8B8                                   0x00000005
-#define   NV40TCL_TEX_FORMAT_FORMAT_DXT1                                       0x00000006
-#define   NV40TCL_TEX_FORMAT_FORMAT_DXT3                                       0x00000007
-#define   NV40TCL_TEX_FORMAT_FORMAT_DXT5                                       0x00000008
-#define   NV40TCL_TEX_FORMAT_FORMAT_A8L8                                       0x00000018
-#define   NV40TCL_TEX_FORMAT_DIMS_SHIFT                                                4
-#define   NV40TCL_TEX_FORMAT_DIMS_MASK                                         0x000000f0
-#define   NV40TCL_TEX_FORMAT_NO_BORDER                                         (1 <<  3)
-#define   NV40TCL_TEX_FORMAT_CUBIC                                             (1 <<  2)
-#define   NV40TCL_TEX_FORMAT_DMA1                                              (1 <<  1)
-#define   NV40TCL_TEX_FORMAT_DMA0                                              (1 <<  0)
-#define  NV40TCL_TEX_WRAP(x)                                                   (0x00001a08+((x)*32))
-#define  NV40TCL_TEX_WRAP__SIZE                                                        0x00000010
-#define   NV40TCL_TEX_WRAP_S_SHIFT                                             0
-#define   NV40TCL_TEX_WRAP_S_MASK                                              0x000000ff
-#define   NV40TCL_TEX_WRAP_S_REPEAT                                            0x00000001
-#define   NV40TCL_TEX_WRAP_S_MIRRORED_REPEAT                                   0x00000002
-#define   NV40TCL_TEX_WRAP_S_CLAMP_TO_EDGE                                     0x00000003
-#define   NV40TCL_TEX_WRAP_S_CLAMP_TO_BORDER                                   0x00000004
-#define   NV40TCL_TEX_WRAP_S_CLAMP                                             0x00000005
-#define   NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_EDGE                              0x00000006
-#define   NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_BORDER                            0x00000007
-#define   NV40TCL_TEX_WRAP_S_MIRROR_CLAMP                                      0x00000008
-#define   NV40TCL_TEX_WRAP_T_SHIFT                                             8
-#define   NV40TCL_TEX_WRAP_T_MASK                                              0x0000ff00
-#define   NV40TCL_TEX_WRAP_T_REPEAT                                            0x00000001
-#define   NV40TCL_TEX_WRAP_T_MIRRORED_REPEAT                                   0x00000002
-#define   NV40TCL_TEX_WRAP_T_CLAMP_TO_EDGE                                     0x00000003
-#define   NV40TCL_TEX_WRAP_T_CLAMP_TO_BORDER                                   0x00000004
-#define   NV40TCL_TEX_WRAP_T_CLAMP                                             0x00000005
-#define   NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_EDGE                              0x00000006
-#define   NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_BORDER                            0x00000007
-#define   NV40TCL_TEX_WRAP_T_MIRROR_CLAMP                                      0x00000008
-#define   NV40TCL_TEX_WRAP_R_SHIFT                                             16
-#define   NV40TCL_TEX_WRAP_R_MASK                                              0x00ff0000
-#define   NV40TCL_TEX_WRAP_R_REPEAT                                            0x00000001
-#define   NV40TCL_TEX_WRAP_R_MIRRORED_REPEAT                                   0x00000002
-#define   NV40TCL_TEX_WRAP_R_CLAMP_TO_EDGE                                     0x00000003
-#define   NV40TCL_TEX_WRAP_R_CLAMP_TO_BORDER                                   0x00000004
-#define   NV40TCL_TEX_WRAP_R_CLAMP                                             0x00000005
-#define   NV40TCL_TEX_WRAP_R_MIRROR_CLAMP_TO_EDGE                              0x00000006
-#define   NV40TCL_TEX_WRAP_R_MIRROR_CLAMP_TO_BORDER                            0x00000007
-#define   NV40TCL_TEX_WRAP_R_MIRROR_CLAMP                                      0x00000008
-#define  NV40TCL_TEX_ENABLE(x)                                                 (0x00001a0c+((x)*32))
-#define  NV40TCL_TEX_ENABLE__SIZE                                              0x00000010
-#define   NV40TCL_TEX_ENABLE_ENABLE                                            (1 << 31)
-#define  NV40TCL_TEX_SWIZZLE(x)                                                        (0x00001a10+((x)*32))
-#define  NV40TCL_TEX_SWIZZLE__SIZE                                             0x00000010
-#define   NV40TCL_TEX_SWIZZLE_S0_X_SHIFT                                       14
-#define   NV40TCL_TEX_SWIZZLE_S0_X_MASK                                                0x0000c000
-#define   NV40TCL_TEX_SWIZZLE_S0_X_ZERO                                                0x00000000
-#define   NV40TCL_TEX_SWIZZLE_S0_X_ONE                                         0x00000001
-#define   NV40TCL_TEX_SWIZZLE_S0_X_S1                                          0x00000002
-#define   NV40TCL_TEX_SWIZZLE_S0_Y_SHIFT                                       12
-#define   NV40TCL_TEX_SWIZZLE_S0_Y_MASK                                                0x00003000
-#define   NV40TCL_TEX_SWIZZLE_S0_Y_ZERO                                                0x00000000
-#define   NV40TCL_TEX_SWIZZLE_S0_Y_ONE                                         0x00000001
-#define   NV40TCL_TEX_SWIZZLE_S0_Y_S1                                          0x00000002
-#define   NV40TCL_TEX_SWIZZLE_S0_Z_SHIFT                                       10
-#define   NV40TCL_TEX_SWIZZLE_S0_Z_MASK                                                0x00000c00
-#define   NV40TCL_TEX_SWIZZLE_S0_Z_ZERO                                                0x00000000
-#define   NV40TCL_TEX_SWIZZLE_S0_Z_ONE                                         0x00000001
-#define   NV40TCL_TEX_SWIZZLE_S0_Z_S1                                          0x00000002
-#define   NV40TCL_TEX_SWIZZLE_S0_W_SHIFT                                       8
-#define   NV40TCL_TEX_SWIZZLE_S0_W_MASK                                                0x00000300
-#define   NV40TCL_TEX_SWIZZLE_S0_W_ZERO                                                0x00000000
-#define   NV40TCL_TEX_SWIZZLE_S0_W_ONE                                         0x00000001
-#define   NV40TCL_TEX_SWIZZLE_S0_W_S1                                          0x00000002
-#define   NV40TCL_TEX_SWIZZLE_S1_X_SHIFT                                       6
-#define   NV40TCL_TEX_SWIZZLE_S1_X_MASK                                                0x000000c0
-#define   NV40TCL_TEX_SWIZZLE_S1_X_W                                           0x00000000
-#define   NV40TCL_TEX_SWIZZLE_S1_X_Z                                           0x00000001
-#define   NV40TCL_TEX_SWIZZLE_S1_X_Y                                           0x00000002
-#define   NV40TCL_TEX_SWIZZLE_S1_X_X                                           0x00000003
-#define   NV40TCL_TEX_SWIZZLE_S1_Y_SHIFT                                       4
-#define   NV40TCL_TEX_SWIZZLE_S1_Y_MASK                                                0x00000030
-#define   NV40TCL_TEX_SWIZZLE_S1_Y_W                                           0x00000000
-#define   NV40TCL_TEX_SWIZZLE_S1_Y_Z                                           0x00000001
-#define   NV40TCL_TEX_SWIZZLE_S1_Y_Y                                           0x00000002
-#define   NV40TCL_TEX_SWIZZLE_S1_Y_X                                           0x00000003
-#define   NV40TCL_TEX_SWIZZLE_S1_Z_SHIFT                                       2
-#define   NV40TCL_TEX_SWIZZLE_S1_Z_MASK                                                0x0000000c
-#define   NV40TCL_TEX_SWIZZLE_S1_Z_W                                           0x00000000
-#define   NV40TCL_TEX_SWIZZLE_S1_Z_Z                                           0x00000001
-#define   NV40TCL_TEX_SWIZZLE_S1_Z_Y                                           0x00000002
-#define   NV40TCL_TEX_SWIZZLE_S1_Z_X                                           0x00000003
-#define   NV40TCL_TEX_SWIZZLE_S1_W_SHIFT                                       0
-#define   NV40TCL_TEX_SWIZZLE_S1_W_MASK                                                0x00000003
-#define   NV40TCL_TEX_SWIZZLE_S1_W_W                                           0x00000000
-#define   NV40TCL_TEX_SWIZZLE_S1_W_Z                                           0x00000001
-#define   NV40TCL_TEX_SWIZZLE_S1_W_Y                                           0x00000002
-#define   NV40TCL_TEX_SWIZZLE_S1_W_X                                           0x00000003
-#define  NV40TCL_TEX_FILTER(x)                                                 (0x00001a14+((x)*32))
-#define  NV40TCL_TEX_FILTER__SIZE                                              0x00000010
-#define   NV40TCL_TEX_FILTER_MIN_SHIFT                                         16
-#define   NV40TCL_TEX_FILTER_MIN_MASK                                          0x000f0000
-#define   NV40TCL_TEX_FILTER_MIN_NEAREST                                       0x00000001
-#define   NV40TCL_TEX_FILTER_MIN_LINEAR                                                0x00000002
-#define   NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_NEAREST                                0x00000003
-#define   NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_NEAREST                         0x00000004
-#define   NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_LINEAR                         0x00000005
-#define   NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_LINEAR                          0x00000006
-#define   NV40TCL_TEX_FILTER_MAG_SHIFT                                         24
-#define   NV40TCL_TEX_FILTER_MAG_MASK                                          0x0f000000
-#define   NV40TCL_TEX_FILTER_MAG_NEAREST                                       0x00000001
-#define   NV40TCL_TEX_FILTER_MAG_LINEAR                                                0x00000002
-#define   NV40TCL_TEX_FILTER_MAG_NEAREST_MIPMAP_NEAREST                                0x00000003
-#define   NV40TCL_TEX_FILTER_MAG_LINEAR_MIPMAP_NEAREST                         0x00000004
-#define   NV40TCL_TEX_FILTER_MAG_NEAREST_MIPMAP_LINEAR                         0x00000005
-#define   NV40TCL_TEX_FILTER_MAG_LINEAR_MIPMAP_LINEAR                          0x00000006
-#define  NV40TCL_TEX_SIZE0(x)                                                  (0x00001a18+((x)*32))
-#define  NV40TCL_TEX_SIZE0__SIZE                                               0x00000010
-#define   NV40TCL_TEX_SIZE0_H_SHIFT                                            0
-#define   NV40TCL_TEX_SIZE0_H_MASK                                             0x0000ffff
-#define   NV40TCL_TEX_SIZE0_W_SHIFT                                            16
-#define   NV40TCL_TEX_SIZE0_W_MASK                                             0xffff0000
-#define  NV40TCL_TEX_BORDER_COLOR(x)                                           (0x00001a1c+((x)*32))
-#define  NV40TCL_TEX_BORDER_COLOR__SIZE                                                0x00000010
-#define   NV40TCL_TEX_BORDER_COLOR_B_SHIFT                                     0
-#define   NV40TCL_TEX_BORDER_COLOR_B_MASK                                      0x000000ff
-#define   NV40TCL_TEX_BORDER_COLOR_G_SHIFT                                     8
-#define   NV40TCL_TEX_BORDER_COLOR_G_MASK                                      0x0000ff00
-#define   NV40TCL_TEX_BORDER_COLOR_R_SHIFT                                     16
-#define   NV40TCL_TEX_BORDER_COLOR_R_MASK                                      0x00ff0000
-#define   NV40TCL_TEX_BORDER_COLOR_A_SHIFT                                     24
-#define   NV40TCL_TEX_BORDER_COLOR_A_MASK                                      0xff000000
-#define  NV40TCL_VTX_ATTR_4F_X(x)                                              (0x00001c00+((x)*16))
-#define  NV40TCL_VTX_ATTR_4F_X__SIZE                                           0x00000010
-#define  NV40TCL_VTX_ATTR_4F_Y(x)                                              (0x00001c04+((x)*16))
-#define  NV40TCL_VTX_ATTR_4F_Y__SIZE                                           0x00000010
-#define  NV40TCL_VTX_ATTR_4F_Z(x)                                              (0x00001c08+((x)*16))
-#define  NV40TCL_VTX_ATTR_4F_Z__SIZE                                           0x00000010
-#define  NV40TCL_VTX_ATTR_4F_W(x)                                              (0x00001c0c+((x)*16))
-#define  NV40TCL_VTX_ATTR_4F_W__SIZE                                           0x00000010
-#define  NV40TCL_FP_CONTROL                                                    0x00001d60
-#define   NV40TCL_FP_CONTROL_TEMP_COUNT_SHIFT                                  24
-#define   NV40TCL_FP_CONTROL_TEMP_COUNT_MASK                                   0xff000000
-#define   NV40TCL_FP_CONTROL_KIL                                               (1 <<  7)
-#define  NV40TCL_CLEAR_VALUE_DEPTH                                             0x00001d8c
-#define  NV40TCL_CLEAR_VALUE_COLOR                                             0x00001d90
-#define  NV40TCL_CLEAR_BUFFERS                                                 0x00001d94
-#define   NV40TCL_CLEAR_BUFFERS_COLOR_A                                                (1 <<  7)
-#define   NV40TCL_CLEAR_BUFFERS_COLOR_B                                                (1 <<  6)
-#define   NV40TCL_CLEAR_BUFFERS_COLOR_G                                                (1 <<  5)
-#define   NV40TCL_CLEAR_BUFFERS_COLOR_R                                                (1 <<  4)
-#define   NV40TCL_CLEAR_BUFFERS_STENCIL                                                (1 <<  1)
-#define   NV40TCL_CLEAR_BUFFERS_DEPTH                                          (1 <<  0)
-#define  NV40TCL_LINE_STIPPLE_ENABLE                                           0x00001db4
-#define  NV40TCL_LINE_STIPPLE_PATTERN                                          0x00001db8
-#define   NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_SHIFT                            0
-#define   NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_MASK                             0x0000ffff
-#define   NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_SHIFT                           16
-#define   NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_MASK                            0xffff0000
-#define  NV40TCL_VP_UPLOAD_FROM_ID                                             0x00001e9c
-#define  NV40TCL_VP_START_FROM_ID                                              0x00001ea0
-#define  NV40TCL_POINT_SIZE                                                    0x00001ee0
-#define  NV40TCL_POINT_SPRITE                                                  0x00001ee8
-#define  NV40TCL_VP_UPLOAD_CONST_ID                                            0x00001efc
-#define  NV40TCL_VP_UPLOAD_CONST_X(x)                                          (0x00001f00+((x)*16))
-#define  NV40TCL_VP_UPLOAD_CONST_X__SIZE                                       0x00000004
-#define  NV40TCL_VP_UPLOAD_CONST_Y(x)                                          (0x00001f04+((x)*16))
-#define  NV40TCL_VP_UPLOAD_CONST_Y__SIZE                                       0x00000004
-#define  NV40TCL_VP_UPLOAD_CONST_Z(x)                                          (0x00001f08+((x)*16))
-#define  NV40TCL_VP_UPLOAD_CONST_Z__SIZE                                       0x00000004
-#define  NV40TCL_VP_UPLOAD_CONST_W(x)                                          (0x00001f0c+((x)*16))
-#define  NV40TCL_VP_UPLOAD_CONST_W__SIZE                                       0x00000004
-#define  NV40TCL_TEX_CACHE_CTL                                                 0x00001fd8
-#define  NV40TCL_VP_ATTRIB_EN                                                  0x00001ff0
-#define  NV40TCL_VP_RESULT_EN                                                  0x00001ff4
-
-
-#define NV44_TCL_PRIMITIVE_3D                                                  0x00004497
-
-
-
-#define NV50_PRIMITIVE_2D                                                      0x0000502d
-
-#define  NV50_PRIMITIVE_2D_DMA_NOTIFY                                          0x00000180
-#define  NV50_PRIMITIVE_2D_DMA_IN_MEMORY0                                      0x00000184
-#define  NV50_PRIMITIVE_2D_DMA_IN_MEMORY1                                      0x00000188
-#define  NV50_PRIMITIVE_2D_DMA_IN_MEMORY2                                      0x0000018c
-
-
-#define NV50_MEMORY_TO_MEMORY_FORMAT                                           0x00005039
-
-
-
-#define NV50_TCL_PRIMITIVE_3D                                                  0x00005097
-
-#define  NV50_TCL_PRIMITIVE_3D_NOP                                             0x00000100
-#define  NV50_TCL_PRIMITIVE_3D_NOTIFY                                          0x00000104
-#define  NV50_TCL_PRIMITIVE_3D_DMA_NOTIFY                                      0x00000180
-#define  NV50_TCL_PRIMITIVE_3D_DMA_IN_MEMORY0(x)                               (0x00000184+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_DMA_IN_MEMORY0__SIZE                            0x0000000b
-#define  NV50_TCL_PRIMITIVE_3D_DMA_IN_MEMORY1(x)                               (0x000001c0+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_DMA_IN_MEMORY1__SIZE                            0x00000008
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_FOG_1F                                   0x00000314
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_POS_2F(x)                                        (0x00000318+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_POS_2F__SIZE                             0x00000002
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX0_2F(x)                                        (0x000003c0+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX0_2F__SIZE                             0x00000002
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX1_2F(x)                                        (0x000003c8+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX1_2F__SIZE                             0x00000002
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX2_2F(x)                                        (0x000003d0+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX2_2F__SIZE                             0x00000002
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX3_2F(x)                                        (0x000003d8+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX3_2F__SIZE                             0x00000002
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_POS_3F(x)                                        (0x00000400+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_POS_3F__SIZE                             0x00000003
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_NOR_3F(x)                                        (0x00000420+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_NOR_3F__SIZE                             0x00000003
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_COL_3F(x)                                        (0x00000430+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_COL_3F__SIZE                             0x00000003
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_COL2_3F(x)                               (0x00000440+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_COL2_3F__SIZE                            0x00000003
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_X(x)                             (0x00000500+((x)*16))
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_X__SIZE                          0x00000010
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Y(x)                             (0x00000504+((x)*16))
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Y__SIZE                          0x00000010
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Z(x)                             (0x00000508+((x)*16))
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Z__SIZE                          0x00000010
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_W(x)                             (0x0000050c+((x)*16))
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_W__SIZE                          0x00000010
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX0_2I                                   0x000006a0
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX1_2I                                   0x000006a4
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX2_2I                                   0x000006a8
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX3_2I                                   0x000006ac
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY                                        0x00000700
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW                                        0x00000704
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST                                        0x00000740
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ                                        0x00000744
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST                                        0x00000748
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ                                        0x0000074c
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST                                        0x00000750
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ                                        0x00000754
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST                                        0x00000758
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ                                        0x0000075c
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                                        0x00000790
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                                 0x00000794
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_COL_4I                                   0x0000088c
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_COL2_3I                                  0x00000890
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT(x)                          (0x00000900+((x)*16))
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT__SIZE                       0x00000010
-#define  NV50_TCL_PRIMITIVE_3D_VIEWPORT_UNK0(x)                                        (0x00000a00+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_VIEWPORT_UNK0__SIZE                             0x00000003
-#define  NV50_TCL_PRIMITIVE_3D_VIEWPORT_UNK1(x)                                        (0x00000a0c+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_VIEWPORT_UNK1__SIZE                             0x00000003
-#define  NV50_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                                  0x00000c00
-#define   NV50_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_X_SHIFT                         0
-#define   NV50_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_X_MASK                          0x0000ffff
-#define   NV50_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_W_SHIFT                         16
-#define   NV50_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ_W_MASK                          0xffff0000
-#define  NV50_TCL_PRIMITIVE_3D_VIEWPORT_VERT                                   0x00000c04
-#define   NV50_TCL_PRIMITIVE_3D_VIEWPORT_VERT_Y_SHIFT                          0
-#define   NV50_TCL_PRIMITIVE_3D_VIEWPORT_VERT_Y_MASK                           0x0000ffff
-#define   NV50_TCL_PRIMITIVE_3D_VIEWPORT_VERT_H_SHIFT                          16
-#define   NV50_TCL_PRIMITIVE_3D_VIEWPORT_VERT_H_MASK                           0xffff0000
-#define  NV50_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                                        0x00000c08
-#define  NV50_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                                 0x00000c0c
-#define  NV50_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(x)                          (0x00000d00+((x)*8))
-#define  NV50_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ__SIZE                       0x00000008
-#define  NV50_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(x)                           (0x00000d04+((x)*8))
-#define  NV50_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT__SIZE                                0x00000008
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_BUFFER_FIRST                             0x00000d74
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_BUFFER_COUNT                             0x00000d78
-#define  NV50_TCL_PRIMITIVE_3D_CLEAR_COLOR(x)                                  (0x00000d80+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_CLEAR_COLOR__SIZE                               0x00000004
-#define  NV50_TCL_PRIMITIVE_3D_CLEAR_DEPTH                                     0x00000d90
-#define  NV50_TCL_PRIMITIVE_3D_CLEAR_STENCIL                                   0x00000da0
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                              0x00000dac
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_POINT                                0x00001b00
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_LINE                         0x00001b01
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_FILL                         0x00001b02
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                               0x00000db0
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_POINT                         0x00001b00
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_LINE                          0x00001b01
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_FILL                          0x00001b02
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE                           0x00000db4
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE                     0x00000dc0
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE                      0x00000dc4
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE                      0x00000dc8
-#define  NV50_TCL_PRIMITIVE_3D_SCISSOR_HORIZ                                   0x00000e04
-#define   NV50_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_L_SHIFT                          0
-#define   NV50_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_L_MASK                           0x0000ffff
-#define   NV50_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_R_SHIFT                          16
-#define   NV50_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_R_MASK                           0xffff0000
-#define  NV50_TCL_PRIMITIVE_3D_SCISSOR_VERT                                    0x00000e08
-#define   NV50_TCL_PRIMITIVE_3D_SCISSOR_VERT_T_SHIFT                           0
-#define   NV50_TCL_PRIMITIVE_3D_SCISSOR_VERT_T_MASK                            0x0000ffff
-#define   NV50_TCL_PRIMITIVE_3D_SCISSOR_VERT_B_SHIFT                           16
-#define   NV50_TCL_PRIMITIVE_3D_SCISSOR_VERT_B_MASK                            0xffff0000
-#define  NV50_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_ID                              0x00000f00
-#define  NV50_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST(x)                              (0x00000f04+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST__SIZE                           0x00000010
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_REF                          0x00000f54
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_MASK                              0x00000f58
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_MASK                         0x00000f5c
-#define  NV50_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                               0x000012cc
-#define  NV50_TCL_PRIMITIVE_3D_SHADE_MODEL                                     0x000012d4
-#define  NV50_TCL_PRIMITIVE_3D_SHADE_MODEL_FLAT                                        0x00001d00
-#define  NV50_TCL_PRIMITIVE_3D_SHADE_MODEL_SMOOTH                              0x00001d01
-#define  NV50_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE                              0x000012e8
-#define  NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE                               0x000012ec
-#define  NV50_TCL_PRIMITIVE_3D_DEPTH_FUNC                                      0x0000130c
-#define  NV50_TCL_PRIMITIVE_3D_DEPTH_FUNC_NEVER                                        0x00000200
-#define  NV50_TCL_PRIMITIVE_3D_DEPTH_FUNC_LESS                                 0x00000201
-#define  NV50_TCL_PRIMITIVE_3D_DEPTH_FUNC_EQUAL                                        0x00000202
-#define  NV50_TCL_PRIMITIVE_3D_DEPTH_FUNC_LEQUAL                               0x00000203
-#define  NV50_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                              0x00000204
-#define  NV50_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                              0x00000204
-#define  NV50_TCL_PRIMITIVE_3D_DEPTH_FUNC_NOTEQUAL                             0x00000205
-#define  NV50_TCL_PRIMITIVE_3D_DEPTH_FUNC_GEQUAL                               0x00000206
-#define  NV50_TCL_PRIMITIVE_3D_DEPTH_FUNC_ALWAYS                               0x00000207
-#define  NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                                  0x00001310
-#define  NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                                 0x00001314
-#define  NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NEVER                           0x00000200
-#define  NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LESS                            0x00000201
-#define  NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_EQUAL                           0x00000202
-#define  NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LEQUAL                          0x00000203
-#define  NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                         0x00000204
-#define  NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                         0x00000204
-#define  NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NOTEQUAL                                0x00000205
-#define  NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GEQUAL                          0x00000206
-#define  NV50_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_ALWAYS                          0x00000207
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_COLOR(x)                                  (0x0000131c+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_COLOR__SIZE                               0x00000004
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_EQUATION_RGB                              0x00001340
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_EQUATION_RGB_FUNC_ADD                     0x00008006
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_EQUATION_RGB_MIN                          0x00008007
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_EQUATION_RGB_MAX                          0x00008008
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_EQUATION_RGB_FUNC_SUBTRACT                        0x0000800a
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT                0x0000800b
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB                              0x00001344
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ZERO                         0x00000000
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE                          0x00000001
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_COLOR                    0x00000300
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR          0x00000301
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_ALPHA                    0x00000302
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA          0x00000303
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_DST_ALPHA                    0x00000304
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA          0x00000305
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_DST_COLOR                    0x00000306
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR          0x00000307
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE           0x00000308
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR               0x00008001
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR     0x00008002
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA               0x00008003
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA     0x00008004
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB                              0x00001348
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ZERO                         0x00000000
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE                          0x00000001
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_COLOR                    0x00000300
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR          0x00000301
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_ALPHA                    0x00000302
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA          0x00000303
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_DST_ALPHA                    0x00000304
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA          0x00000305
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_DST_COLOR                    0x00000306
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR          0x00000307
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE           0x00000308
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_CONSTANT_COLOR               0x00008001
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR     0x00008002
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA               0x00008003
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA     0x00008004
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_EQUATION_ALPHA                            0x0000134c
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_EQUATION_ALPHA_FUNC_ADD                   0x00008006
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_EQUATION_ALPHA_MIN                                0x00008007
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_EQUATION_ALPHA_MAX                                0x00008008
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT              0x0000800a
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT      0x0000800b
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA                            0x00001350
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ZERO                       0x00000000
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE                                0x00000001
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                  0x00000300
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR                0x00000301
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                  0x00000302
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA                0x00000303
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                  0x00000304
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA                0x00000305
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_DST_COLOR                  0x00000306
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR                0x00000307
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE         0x00000308
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR             0x00008001
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR   0x00008002
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA             0x00008003
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA   0x00008004
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA                            0x00001358
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ZERO                       0x00000000
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE                                0x00000001
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_COLOR                  0x00000300
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR                0x00000301
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                  0x00000302
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA                0x00000303
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_DST_ALPHA                  0x00000304
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA                0x00000305
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_DST_COLOR                  0x00000306
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR                0x00000307
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE         0x00000308
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR             0x00008001
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR   0x00008002
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA             0x00008003
-#define  NV50_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA   0x00008004
-#define  NV50_TCL_PRIMITIVE_3D_UNK1360(x)                                      (0x00001360+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_UNK1360__SIZE                                   0x00000008
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_ENABLE                             0x00001380
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL                            0x00001384
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_ZERO                       0x00000000
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INVERT                     0x0000150a
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_KEEP                       0x00001e00
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_REPLACE                    0x00001e01
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INCR                       0x00001e02
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_DECR                       0x00001e03
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INCR_WRAP                  0x00008507
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_DECR_WRAP                  0x00008508
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL                           0x00001388
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_ZERO                      0x00000000
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INVERT                    0x0000150a
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_KEEP                      0x00001e00
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_REPLACE                   0x00001e01
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INCR                      0x00001e02
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_DECR                      0x00001e03
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                 0x00008507
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                 0x00008508
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS                           0x0000138c
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_ZERO                      0x00000000
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INVERT                    0x0000150a
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_KEEP                      0x00001e00
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_REPLACE                   0x00001e01
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INCR                      0x00001e02
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_DECR                      0x00001e03
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INCR_WRAP                 0x00008507
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_DECR_WRAP                 0x00008508
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC                          0x00001390
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_NEVER                    0x00000200
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_LESS                     0x00000201
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_EQUAL                    0x00000202
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_LEQUAL                   0x00000203
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GREATER                  0x00000204
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GREATER                  0x00000204
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                 0x00000205
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GEQUAL                   0x00000206
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_ALWAYS                   0x00000207
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_REF                           0x00001394
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_MASK                               0x00001398
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_MASK                          0x0000139c
-#define  NV50_TCL_PRIMITIVE_3D_LINE_WIDTH                                      0x000013b0
-#define  NV50_TCL_PRIMITIVE_3D_VP_INST                                         0x0000140c
-#define  NV50_TCL_PRIMITIVE_3D_POINT_SIZE                                      0x00001518
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR                           0x0000156c
-#define  NV50_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                              0x00001570
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_ENABLE                            0x00001594
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL                           0x00001598
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_ZERO                      0x00000000
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INVERT                    0x0000150a
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_KEEP                      0x00001e00
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_REPLACE                   0x00001e01
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INCR                      0x00001e02
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_DECR                      0x00001e03
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INCR_WRAP                 0x00008507
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_DECR_WRAP                 0x00008508
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL                          0x0000159c
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_ZERO                     0x00000000
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INVERT                   0x0000150a
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_KEEP                     0x00001e00
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_REPLACE                  0x00001e01
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INCR                     0x00001e02
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_DECR                     0x00001e03
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                        0x00008507
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                        0x00008508
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS                          0x000015a0
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_ZERO                     0x00000000
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INVERT                   0x0000150a
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_KEEP                     0x00001e00
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_REPLACE                  0x00001e01
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INCR                     0x00001e02
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_DECR                     0x00001e03
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                        0x00008507
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                        0x00008508
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC                         0x000015a4
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_NEVER                   0x00000200
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_LESS                    0x00000201
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_EQUAL                   0x00000202
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_LEQUAL                  0x00000203
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GREATER                 0x00000204
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GREATER                 0x00000204
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                        0x00000205
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GEQUAL                  0x00000206
-#define  NV50_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_ALWAYS                  0x00000207
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS                            0x000015bc
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_BEGIN                                    0x000015dc
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_BEGIN_POINTS                             0x00000000
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_BEGIN_LINES                              0x00000001
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_BEGIN_LINE_LOOP                          0x00000002
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_BEGIN_LINE_STRIP                         0x00000003
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_BEGIN_TRIANGLES                          0x00000004
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_BEGIN_TRIANGLE_STRIP                     0x00000005
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_BEGIN_TRIANGLE_FAN                       0x00000006
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_BEGIN_QUADS                              0x00000007
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_BEGIN_QUAD_STRIP                         0x00000008
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_BEGIN_POLYGON                            0x00000009
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_END                                      0x000015e0
-#define  NV50_TCL_PRIMITIVE_3D_VERTEX_DATA                                     0x00001640
-#define  NV50_TCL_PRIMITIVE_3D_VP_INST_PARAMS(x)                               (0x00001650+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_VP_INST_PARAMS__SIZE                            0x00000002
-#define  NV50_TCL_PRIMITIVE_3D_LINE_STIPPLE_ENABLE                             0x0000166c
-#define  NV50_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN                            0x00001680
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_ENABLE                          0x0000168c
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN(x)                      (0x00001700+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN__SIZE                   0x00000020
-#define  NV50_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                                        0x00001918
-#define  NV50_TCL_PRIMITIVE_3D_FRONT_FACE                                      0x0000191c
-#define  NV50_TCL_PRIMITIVE_3D_FRONT_FACE_CW                                   0x00000900
-#define  NV50_TCL_PRIMITIVE_3D_FRONT_FACE_CCW                                  0x00000901
-#define  NV50_TCL_PRIMITIVE_3D_CULL_FACE                                       0x00001920
-#define  NV50_TCL_PRIMITIVE_3D_CULL_FACE_FRONT                                 0x00000404
-#define  NV50_TCL_PRIMITIVE_3D_CULL_FACE_BACK                                  0x00000405
-#define  NV50_TCL_PRIMITIVE_3D_CULL_FACE_FRONT_AND_BACK                                0x00000408
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_ENABLE                                 0x000019c4
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP                                     0x000019c8
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_CLEAR                               0x00001500
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_AND                                 0x00001501
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_AND_REVERSE                         0x00001502
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_COPY                                        0x00001503
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_AND_INVERTED                                0x00001504
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_NOOP                                        0x00001505
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_XOR                                 0x00001506
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_OR                                  0x00001507
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_NOR                                 0x00001508
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_EQUIV                               0x00001509
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_INVERT                              0x0000150a
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_OR_REVERSE                          0x0000150b
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_COPY_INVERTED                       0x0000150c
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_OR_INVERTED                         0x0000150d
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_NAND                                        0x0000150e
-#define  NV50_TCL_PRIMITIVE_3D_LOGIC_OP_OP_SET                                 0x0000150f
-#define  NV50_TCL_PRIMITIVE_3D_CLEAR_BUFFERS                                   0x000019d0
-#define  NV50_TCL_PRIMITIVE_3D_COLOR_MASK(x)                                   (0x00001a00+((x)*4))
-#define  NV50_TCL_PRIMITIVE_3D_COLOR_MASK__SIZE                                        0x00000008
-
-
-#define NV52_TCL_PRIMITIVE_3D                                                  0x00008297
+#define  NV04_IMAGE_BLEND_PREMULT_NOP                                                  0x00000100
+#define  NV04_IMAGE_BLEND_PREMULT_NOTIFY                                               0x00000104
+#define  NV04_IMAGE_BLEND_PREMULT_DMA_NOTIFY                                           0x00000180
+#define  NV04_IMAGE_BLEND_PREMULT_IMAGE_OUTPUT                                         0x00000200
+#define  NV04_IMAGE_BLEND_PREMULT_BETA_INPUT                                           0x00000204
+#define  NV04_IMAGE_BLEND_PREMULT_IMAGE_INPUT                                          0x00000208
+
+
+#define NV03_CHANNEL_PIO                                                               0x0000006a
+
+
+
+#define NV03_CHANNEL_DMA                                                               0x0000006b
+
+
+
+#define NV04_BETA_SOLID                                                                        0x00000072
+
+#define  NV04_BETA_SOLID_NOP                                                           0x00000100
+#define  NV04_BETA_SOLID_NOTIFY                                                                0x00000104
+#define  NV04_BETA_SOLID_DMA_NOTIFY                                                    0x00000180
+#define  NV04_BETA_SOLID_BETA_OUTPUT                                                   0x00000200
+#define  NV04_BETA_SOLID_BETA_FACTOR                                                   0x00000300
+
+
+#define NV04_STRETCHED_IMAGE_FROM_CPU                                                  0x00000076
+
+
+
+#define NV04_SCALED_IMAGE_FROM_MEMORY                                                  0x00000077
+
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_NOP                                             0x00000100
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_NOTIFY                                          0x00000104
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_DMA_NOTIFY                                      0x00000180
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_DMA_IMAGE                                       0x00000184
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_PATTERN                                         0x00000188
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_ROP                                             0x0000018c
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_BETA1                                           0x00000190
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_BETA4                                           0x00000194
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_SURFACE                                         0x00000198
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION                                        0x000002fc
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_DITHER                                0x00000000
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_TRUNCATE                      0x00000001
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_SUBTR_TRUNCATE                        0x00000002
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT                                    0x00000300
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A1R5G5B5                          0x00000001
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X1R5G5B5                          0x00000002
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A8R8G8B8                          0x00000003
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X8R8G8B8                          0x00000004
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_V8YB8U8YA8                                0x00000005
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_YB8V8YA8U8                                0x00000006
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_R5G6B5                            0x00000007
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_Y8                                        0x00000008
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_AY8                               0x00000009
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION                                       0x00000304
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_AND                          0x00000000
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_ROP_AND                              0x00000001
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_AND                            0x00000002
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY                              0x00000003
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_PREMULT                      0x00000004
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_PREMULT                                0x00000005
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT                                      0x00000308
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_SHIFT                             0
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_MASK                              0x0000ffff
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_SHIFT                             16
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_MASK                              0xffff0000
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE                                       0x0000030c
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_SHIFT                              0
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_MASK                               0x0000ffff
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_SHIFT                              16
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_MASK                               0xffff0000
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT                                       0x00000310
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_SHIFT                              0
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_MASK                               0x0000ffff
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_SHIFT                              16
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_MASK                               0xffff0000
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE                                                0x00000314
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_SHIFT                               0
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_MASK                                        0x0000ffff
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_SHIFT                               16
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_MASK                                        0xffff0000
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_DU_DX                                           0x00000318
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_DV_DY                                           0x0000031c
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_SIZE                                            0x00000400
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_SIZE_W_SHIFT                                   0
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_SIZE_W_MASK                                    0x0000ffff
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_SIZE_H_SHIFT                                   16
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_SIZE_H_MASK                                    0xffff0000
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT                                          0x00000404
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_SHIFT                             0
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_MASK                              0x0000ffff
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_SHIFT                            16
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_MASK                             0x00ff0000
+#define    NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CENTER                          0x00010000
+#define    NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CORNER                          0x00020000
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_SHIFT                            24
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_MASK                             0xff000000
+#define    NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_POINT_SAMPLE                    0x00000000
+#define    NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_BILINEAR                                0x01000000
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_ADDRESS                                         0x00000408
+#define  NV04_SCALED_IMAGE_FROM_MEMORY_POINT                                           0x0000040c
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_POINT_X_SHIFT                                  0
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_POINT_X_MASK                                   0x0000ffff
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_POINT_Y_SHIFT                                  16
+#define   NV04_SCALED_IMAGE_FROM_MEMORY_POINT_Y_MASK                                   0xffff0000
+
+
+#define NV10_TEXTURE_FROM_CPU                                                          0x0000007b
+
+#define  NV10_TEXTURE_FROM_CPU_NOP                                                     0x00000100
+#define  NV10_TEXTURE_FROM_CPU_NOTIFY                                                  0x00000104
+#define  NV10_TEXTURE_FROM_CPU_WAIT_FOR_IDLE                                           0x00000108
+#define  NV10_TEXTURE_FROM_CPU_PM_TRIGGER                                              0x00000140
+#define  NV10_TEXTURE_FROM_CPU_DMA_NOTIFY                                              0x00000180
+#define  NV10_TEXTURE_FROM_CPU_SURFACE                                                 0x00000184
+#define  NV10_TEXTURE_FROM_CPU_COLOR_FORMAT                                            0x00000300
+#define  NV10_TEXTURE_FROM_CPU_POINT                                                   0x00000304
+#define   NV10_TEXTURE_FROM_CPU_POINT_X_SHIFT                                          0
+#define   NV10_TEXTURE_FROM_CPU_POINT_X_MASK                                           0x0000ffff
+#define   NV10_TEXTURE_FROM_CPU_POINT_Y_SHIFT                                          16
+#define   NV10_TEXTURE_FROM_CPU_POINT_Y_MASK                                           0xffff0000
+#define  NV10_TEXTURE_FROM_CPU_SIZE                                                    0x00000308
+#define   NV10_TEXTURE_FROM_CPU_SIZE_W_SHIFT                                           0
+#define   NV10_TEXTURE_FROM_CPU_SIZE_W_MASK                                            0x0000ffff
+#define   NV10_TEXTURE_FROM_CPU_SIZE_H_SHIFT                                           16
+#define   NV10_TEXTURE_FROM_CPU_SIZE_H_MASK                                            0xffff0000
+#define  NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL                                         0x0000030c
+#define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_X_SHIFT                                        0
+#define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_X_MASK                                 0x0000ffff
+#define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_W_SHIFT                                        16
+#define   NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_W_MASK                                 0xffff0000
+#define  NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL                                           0x00000310
+#define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_Y_SHIFT                                  0
+#define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_Y_MASK                                   0x0000ffff
+#define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_H_SHIFT                                  16
+#define   NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_H_MASK                                   0xffff0000
+#define  NV10_TEXTURE_FROM_CPU_COLOR(x)                                                        (0x00000400+((x)*4))
+#define  NV10_TEXTURE_FROM_CPU_COLOR__SIZE                                             0x00000700
+
+
+#define NV10_VIDEO_DISPLAY                                                             0x0000007c
+
+
+
+#define NV10_DVD_SUBPICTURE                                                            0x00000088
+
+
+
+#define NV10_SCALED_IMAGE_FROM_MEMORY                                                  0x00000089
+
+#define  NV10_SCALED_IMAGE_FROM_MEMORY_WAIT_FOR_IDLE                                   0x00000108
+
+
+#define NV10_IMAGE_FROM_CPU                                                            0x0000008a
+
+#define  NV10_IMAGE_FROM_CPU_COLOR_CONVERSION                                          0x000002f8
+
+
+#define NV10_CONTEXT_SURFACES_3D                                                       0x00000093
+
+
+
+#define NV10_DX5_TEXTURE_TRIANGLE                                                      0x00000094
+
+
+
+#define NV10_DX6_MULTI_TEXTURE_TRIANGLE                                                        0x00000095
+
+
+
+#define NV11_TCL_PRIMITIVE_3D                                                          0x00000096
+
+#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE                                   0x00000d40
+#define  NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP                                       0x00000d44
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_CLEAR                                        0x00001500
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND                                  0x00001501
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_REVERSE                          0x00001502
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY                                 0x00001503
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_INVERTED                         0x00001504
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOOP                                 0x00001505
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_XOR                                  0x00001506
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR                                   0x00001507
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOR                                  0x00001508
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_EQUIV                                        0x00001509
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_INVERT                               0x0000150a
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_REVERSE                           0x0000150b
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY_INVERTED                                0x0000150c
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_INVERTED                          0x0000150d
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NAND                                 0x0000150e
+#define   NV11_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_SET                                  0x0000150f
+
+
+#define NV20_TCL_PRIMITIVE_3D                                                          0x00000097
+
+#define  NV20_TCL_PRIMITIVE_3D_NOP                                                     0x00000100
+#define  NV20_TCL_PRIMITIVE_3D_NOTIFY                                                  0x00000104
+#define  NV20_TCL_PRIMITIVE_3D_DMA_NOTIFY                                              0x00000180
+#define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY0                                          0x00000184
+#define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY1                                          0x00000188
+#define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY2                                          0x00000194
+#define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY3                                          0x00000198
+#define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY6                                          0x000001a4
+#define  NV20_TCL_PRIMITIVE_3D_DMA_IN_MEMORY7                                          0x000001a8
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                                          0x00000200
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_VERT                                           0x00000204
+#define  NV20_TCL_PRIMITIVE_3D_BUFFER_FORMAT                                           0x00000208
+#define  NV20_TCL_PRIMITIVE_3D_BUFFER_PITCH                                            0x0000020c
+#define  NV20_TCL_PRIMITIVE_3D_COLOR_OFFSET                                            0x00000210
+#define  NV20_TCL_PRIMITIVE_3D_ZETA_OFFSET                                             0x00000214
+#define  NV20_TCL_PRIMITIVE_3D_RC_IN_ALPHA(x)                                          (0x00000260+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_RC_IN_ALPHA__SIZE                                       0x00000008
+#define  NV20_TCL_PRIMITIVE_3D_RC_FINAL0                                               0x00000288
+#define  NV20_TCL_PRIMITIVE_3D_RC_FINAL1                                               0x0000028c
+#define  NV20_TCL_PRIMITIVE_3D_LIGHT_CONTROL                                           0x00000294
+#define  NV20_TCL_PRIMITIVE_3D_FOG_MODE                                                        0x0000029c
+#define  NV20_TCL_PRIMITIVE_3D_FOG_COORD_DIST                                          0x000002a0
+#define  NV20_TCL_PRIMITIVE_3D_FOG_ENABLE                                              0x000002a4
+#define  NV20_TCL_PRIMITIVE_3D_FOG_COLOR                                               0x000002a8
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_MODE                                      0x000002b4
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(x)                                  (0x000002c0+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ__SIZE                               0x00000008
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(x)                                   (0x000002e0+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT__SIZE                                        0x00000008
+#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE                                       0x00000300
+#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE                                       0x00000304
+#define  NV20_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                                                0x00000308
+#define  NV20_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                                       0x0000030c
+#define  NV20_TCL_PRIMITIVE_3D_DITHER_ENABLE                                           0x00000310
+#define  NV20_TCL_PRIMITIVE_3D_LIGHTING_ENABLE                                         0x00000314
+#define  NV20_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE                                 0x00000318
+#define  NV20_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                                      0x00000320
+#define  NV20_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE                                   0x00000324
+#define  NV20_TCL_PRIMITIVE_3D_STENCIL_ENABLE                                          0x0000032c
+#define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE                             0x00000330
+#define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE                              0x00000334
+#define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE                              0x00000338
+#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                                         0x0000033c
+#define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NEVER                                  0x00000200
+#define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LESS                                   0x00000201
+#define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_EQUAL                                  0x00000202
+#define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LEQUAL                                 0x00000203
+#define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                                        0x00000204
+#define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                                        0x00000204
+#define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NOTEQUAL                               0x00000205
+#define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GEQUAL                                 0x00000206
+#define   NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_ALWAYS                                 0x00000207
+#define  NV20_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                                          0x00000340
+#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                                          0x00000344
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ZERO                                    0x00000000
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE                                     0x00000001
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_COLOR                               0x00000300
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR                     0x00000301
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA                               0x00000302
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA                     0x00000303
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_ALPHA                               0x00000304
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA                     0x00000305
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_DST_COLOR                               0x00000306
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR                     0x00000307
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE                      0x00000308
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_COLOR                          0x00008001
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR                        0x00008002
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_CONSTANT_ALPHA                          0x00008003
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA                        0x00008004
+#define  NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                                          0x00000348
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ZERO                                    0x00000000
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE                                     0x00000001
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_COLOR                               0x00000300
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR                     0x00000301
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA                               0x00000302
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA                     0x00000303
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_ALPHA                               0x00000304
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA                     0x00000305
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_DST_COLOR                               0x00000306
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR                     0x00000307
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_SRC_ALPHA_SATURATE                      0x00000308
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_COLOR                          0x00008001
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR                        0x00008002
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_CONSTANT_ALPHA                          0x00008003
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA                        0x00008004
+#define  NV20_TCL_PRIMITIVE_3D_BLEND_COLOR                                             0x0000034c
+#define  NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION                                          0x00000350
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_ADD                                        0x00008006
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_MIN                                     0x00008007
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_MAX                                     0x00008008
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_SUBTRACT                           0x0000800a
+#define   NV20_TCL_PRIMITIVE_3D_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT                   0x0000800b
+#define  NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC                                              0x00000354
+#define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_NEVER                                       0x00000200
+#define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_LESS                                                0x00000201
+#define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_EQUAL                                       0x00000202
+#define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_LEQUAL                                      0x00000203
+#define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                                     0x00000204
+#define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                                     0x00000204
+#define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_NOTEQUAL                                    0x00000205
+#define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_GEQUAL                                      0x00000206
+#define   NV20_TCL_PRIMITIVE_3D_DEPTH_FUNC_ALWAYS                                      0x00000207
+#define  NV20_TCL_PRIMITIVE_3D_COLOR_MASK                                              0x00000358
+#define  NV20_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE                                      0x0000035c
+#define  NV20_TCL_PRIMITIVE_3D_STENCIL_MASK                                            0x00000360
+#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC                                       0x00000364
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NEVER                                        0x00000200
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LESS                                 0x00000201
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_EQUAL                                        0x00000202
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_LEQUAL                               0x00000203
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                              0x00000204
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GREATER                              0x00000204
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_NOTEQUAL                             0x00000205
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_GEQUAL                               0x00000206
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_FUNC_ALWAYS                               0x00000207
+#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_REF                                                0x00000368
+#define  NV20_TCL_PRIMITIVE_3D_STENCIL_FUNC_MASK                                       0x0000036c
+#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL                                         0x00000370
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_ZERO                                   0x00000000
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INVERT                                 0x0000150a
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_KEEP                                   0x00001e00
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_REPLACE                                        0x00001e01
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR                                   0x00001e02
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR                                   0x00001e03
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_INCR_WRAP                              0x00008507
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_FAIL_DECR_WRAP                              0x00008508
+#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL                                                0x00000374
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_ZERO                                  0x00000000
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INVERT                                        0x0000150a
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_KEEP                                  0x00001e00
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_REPLACE                               0x00001e01
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR                                  0x00001e02
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR                                  0x00001e03
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_INCR_WRAP                             0x00008507
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZFAIL_DECR_WRAP                             0x00008508
+#define  NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS                                                0x00000378
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_ZERO                                  0x00000000
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INVERT                                        0x0000150a
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_KEEP                                  0x00001e00
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_REPLACE                               0x00001e01
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR                                  0x00001e02
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR                                  0x00001e03
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_INCR_WRAP                             0x00008507
+#define   NV20_TCL_PRIMITIVE_3D_STENCIL_OP_ZPASS_DECR_WRAP                             0x00008508
+#define  NV20_TCL_PRIMITIVE_3D_SHADE_MODEL                                             0x0000037c
+#define   NV20_TCL_PRIMITIVE_3D_SHADE_MODEL_FLAT                                       0x00001d00
+#define   NV20_TCL_PRIMITIVE_3D_SHADE_MODEL_SMOOTH                                     0x00001d01
+#define  NV20_TCL_PRIMITIVE_3D_LINE_WIDTH                                              0x00000380
+#define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR                                   0x00000384
+#define  NV20_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS                                    0x00000388
+#define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                                      0x0000038c
+#define   NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_POINT                               0x00001b00
+#define   NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_LINE                                        0x00001b01
+#define   NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_FILL                                        0x00001b02
+#define  NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                                       0x00000390
+#define   NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_POINT                                        0x00001b00
+#define   NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_LINE                                 0x00001b01
+#define   NV20_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_FILL                                 0x00001b02
+#define  NV20_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                                                0x00000394
+#define  NV20_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                                         0x00000398
+#define  NV20_TCL_PRIMITIVE_3D_CULL_FACE                                               0x0000039c
+#define   NV20_TCL_PRIMITIVE_3D_CULL_FACE_FRONT                                                0x00000404
+#define   NV20_TCL_PRIMITIVE_3D_CULL_FACE_BACK                                         0x00000405
+#define   NV20_TCL_PRIMITIVE_3D_CULL_FACE_FRONT_AND_BACK                               0x00000408
+#define  NV20_TCL_PRIMITIVE_3D_FRONT_FACE                                              0x000003a0
+#define   NV20_TCL_PRIMITIVE_3D_FRONT_FACE_CW                                          0x00000900
+#define   NV20_TCL_PRIMITIVE_3D_FRONT_FACE_CCW                                         0x00000901
+#define  NV20_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                                                0x000003a4
+#define  NV20_TCL_PRIMITIVE_3D_SEPARATE_SPECULAR_ENABLE                                        0x000003b8
+#define  NV20_TCL_PRIMITIVE_3D_ENABLED_LIGHTS                                          0x000003bc
+#define  NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(x)                                    (0x000003c0+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE__SIZE                                 0x00000010
+#define  NV20_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(x)                                     (0x00000420+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE__SIZE                                  0x00000004
+#define  NV20_TCL_PRIMITIVE_3D_POINT_SIZE                                              0x0000043c
+#define  NV20_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX(x)                                     (0x00000480+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX__SIZE                                  0x00000010
+#define  NV20_TCL_PRIMITIVE_3D_PROJECTION_MATRIX(x)                                    (0x00000680+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_PROJECTION_MATRIX__SIZE                                 0x00000010
+#define  NV20_TCL_PRIMITIVE_3D_TX0_MATRIX(x)                                           (0x000006c0+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_TX0_MATRIX__SIZE                                                0x00000010
+#define  NV20_TCL_PRIMITIVE_3D_TX1_MATRIX(x)                                           (0x00000700+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_TX1_MATRIX__SIZE                                                0x00000010
+#define  NV20_TCL_PRIMITIVE_3D_TX2_MATRIX(x)                                           (0x00000740+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_TX2_MATRIX__SIZE                                                0x00000010
+#define  NV20_TCL_PRIMITIVE_3D_TX3_MATRIX(x)                                           (0x00000780+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_TX3_MATRIX__SIZE                                                0x00000010
+#define  NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT                                   0x000009c0
+#define  NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR                                     0x000009c4
+#define  NV20_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC                                  0x000009c8
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_X                                       0x00000a20
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Y                                       0x00000a24
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Z                                       0x00000a28
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_W                                       0x00000a2c
+#define  NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER(x)                                      (0x00000a30+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_POINT_PARAMETER__SIZE                                   0x00000007
+#define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0(x)                                   (0x00000a60+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0__SIZE                                        0x00000008
+#define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1(x)                                   (0x00000a80+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1__SIZE                                        0x00000008
+#define  NV20_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(x)                                         (0x00000aa0+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_RC_OUT_ALPHA__SIZE                                      0x00000008
+#define  NV20_TCL_PRIMITIVE_3D_RC_IN_RGB(x)                                            (0x00000ac0+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_RC_IN_RGB__SIZE                                         0x00000008
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_X                                       0x00000af0
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Y                                       0x00000af4
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Z                                       0x00000af8
+#define  NV20_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_W                                       0x00000afc
+#define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST(x)                                       (0x00000b00+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_INST__SIZE                                    0x00000004
+#define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST(x)                                      (0x00000b80+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST__SIZE                                   0x00000004
+#define  NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_ENABLE                                  0x0000147c
+#define  NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN(x)                              (0x00001480+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN__SIZE                           0x00000020
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_X                                         0x00001500
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Y                                         0x00001504
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3F_Z                                         0x00001508
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_X                                         0x00001518
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Y                                         0x0000151c
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_4F_Z                                         0x00001520
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY                                                0x00001528
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_X_SHIFT                               0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_X_MASK                                        0x0000ffff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_Y_SHIFT                               16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_XY_Y_MASK                                        0xffff0000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_Z                                         0x0000152c
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_Z_Z_SHIFT                                        0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_POS_3I_Z_Z_MASK                                 0x0000ffff
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_X                                         0x00001530
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Y                                         0x00001534
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3F_Z                                         0x00001538
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                                                0x00001540
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_SHIFT                               0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_MASK                                        0x0000ffff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_SHIFT                               16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_MASK                                        0xffff0000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                                         0x00001544
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_SHIFT                                        0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_MASK                                 0x0000ffff
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_X                                         0x00001550
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_Y                                         0x00001554
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_Z                                         0x00001558
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4F_W                                         0x0000155c
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_X                                         0x00001560
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_Y                                         0x00001564
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_3F_Z                                         0x00001568
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I                                           0x0000156c
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_SHIFT                                  0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_MASK                                   0x000000ff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_SHIFT                                  8
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_MASK                                   0x0000ff00
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_SHIFT                                  16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_MASK                                   0x00ff0000
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_SHIFT                                  24
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_MASK                                   0xff000000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_X                                                0x00001580
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_Y                                                0x00001584
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_3F_Z                                                0x00001588
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I                                          0x0000158c
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_R_SHIFT                                 0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_R_MASK                                  0x000000ff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_G_SHIFT                                 8
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_G_MASK                                  0x0000ff00
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_B_SHIFT                                 16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_B_MASK                                  0x00ff0000
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_A_SHIFT                                 24
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_COL2_4I_A_MASK                                  0xff000000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_S                                         0x00001590
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2F_T                                         0x00001594
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I                                           0x00001598
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_SHIFT                                  0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_S_MASK                                   0x0000ffff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_SHIFT                                  16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_2I_T_MASK                                   0xffff0000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_S                                         0x000015a0
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_T                                         0x000015a4
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_R                                         0x000015a8
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4F_Q                                         0x000015ac
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST                                                0x000015b0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_SHIFT                               0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_S_MASK                                        0x0000ffff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_SHIFT                               16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_ST_T_MASK                                        0xffff0000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ                                                0x000015b4
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_SHIFT                               0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_R_MASK                                        0x0000ffff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_SHIFT                               16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX0_4I_RQ_Q_MASK                                        0xffff0000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_S                                         0x000015b8
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2F_T                                         0x000015bc
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I                                           0x000015c0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_SHIFT                                  0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_S_MASK                                   0x0000ffff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_SHIFT                                  16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_2I_T_MASK                                   0xffff0000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_S                                         0x000015c8
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_T                                         0x000015cc
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_R                                         0x000015d0
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4F_Q                                         0x000015d4
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST                                                0x000015d8
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_SHIFT                               0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_S_MASK                                        0x0000ffff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_SHIFT                               16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_ST_T_MASK                                        0xffff0000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ                                                0x000015dc
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_SHIFT                               0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_R_MASK                                        0x0000ffff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_SHIFT                               16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX1_4I_RQ_Q_MASK                                        0xffff0000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_S                                         0x000015e0
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2F_T                                         0x000015e4
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I                                           0x000015e8
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_S_SHIFT                                  0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_S_MASK                                   0x0000ffff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_T_SHIFT                                  16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_2I_T_MASK                                   0xffff0000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_S                                         0x000015f0
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_T                                         0x000015f4
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_R                                         0x000015f8
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4F_Q                                         0x000015fc
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST                                                0x00001600
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_S_SHIFT                               0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_S_MASK                                        0x0000ffff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_T_SHIFT                               16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_ST_T_MASK                                        0xffff0000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ                                                0x00001604
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_R_SHIFT                               0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_R_MASK                                        0x0000ffff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_Q_SHIFT                               16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX2_4I_RQ_Q_MASK                                        0xffff0000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_S                                         0x00001608
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2F_T                                         0x0000160c
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I                                           0x00001610
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_S_SHIFT                                  0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_S_MASK                                   0x0000ffff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_T_SHIFT                                  16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_2I_T_MASK                                   0xffff0000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_S                                         0x00001620
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_T                                         0x00001624
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_R                                         0x00001628
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4F_Q                                         0x0000162c
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST                                                0x00001630
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_S_SHIFT                               0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_S_MASK                                        0x0000ffff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_T_SHIFT                               16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_ST_T_MASK                                        0xffff0000
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ                                                0x00001634
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_R_SHIFT                               0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_R_MASK                                        0x0000ffff
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_Q_SHIFT                               16
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_TX3_4I_RQ_Q_MASK                                        0xffff0000
+#define  NV20_TCL_PRIMITIVE_3D_EDGEFLAG_ENABLE                                         0x000016bc
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR_OFFSET(x)                                   (0x00001720+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_ATTR_OFFSET__SIZE                                        0x00000010
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT(x)                                  (0x00001760+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT__SIZE                               0x00000010
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_SHIFT                         0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_MASK                          0x0000000f
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_SHIFT                       4
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_MASK                                0x000000f0
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_SHIFT                       8
+#define   NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_MASK                                0x0000ff00
+#define  NV20_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE                                   0x000017bc
+#define  NV20_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP                                       0x000017c0
+#define  NV20_TCL_PRIMITIVE_3D_LIGHT_MODEL_TWO_SIDE_ENABLE                             0x000017c4
+#define  NV20_TCL_PRIMITIVE_3D_TX_SHADER_CULL_MODE                                     0x000017f8
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END                                                0x000017fc
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_BUFFER_DRAW_ARRAYS                               0x00001810
+#define  NV20_TCL_PRIMITIVE_3D_VERTEX_ARRAY_DATA                                       0x00001818
+#define  NV20_TCL_PRIMITIVE_3D_TX_OFFSET(x)                                            (0x00001b00+((x)*64))
+#define  NV20_TCL_PRIMITIVE_3D_TX_OFFSET__SIZE                                         0x00000004
+#define  NV20_TCL_PRIMITIVE_3D_TX_FORMAT(x)                                            (0x00001b04+((x)*64))
+#define  NV20_TCL_PRIMITIVE_3D_TX_FORMAT__SIZE                                         0x00000004
+#define  NV20_TCL_PRIMITIVE_3D_TX_WRAP(x)                                              (0x00001b08+((x)*64))
+#define  NV20_TCL_PRIMITIVE_3D_TX_WRAP__SIZE                                           0x00000004
+#define  NV20_TCL_PRIMITIVE_3D_TX_ENABLE(x)                                            (0x00001b0c+((x)*64))
+#define  NV20_TCL_PRIMITIVE_3D_TX_ENABLE__SIZE                                         0x00000004
+#define  NV20_TCL_PRIMITIVE_3D_TX_FILTER(x)                                            (0x00001b14+((x)*64))
+#define  NV20_TCL_PRIMITIVE_3D_TX_FILTER__SIZE                                         0x00000004
+#define  NV20_TCL_PRIMITIVE_3D_TX_BORDER_COLOR(x)                                      (0x00001b24+((x)*64))
+#define  NV20_TCL_PRIMITIVE_3D_TX_BORDER_COLOR__SIZE                                   0x00000004
+#define  NV20_TCL_PRIMITIVE_3D_SCISSOR_HORIZ                                           0x00001c30
+#define  NV20_TCL_PRIMITIVE_3D_SCISSOR_VERT                                            0x00001c50
+#define  NV20_TCL_PRIMITIVE_3D_CLEAR_VALUE                                             0x00001d90
+#define  NV20_TCL_PRIMITIVE_3D_CLEAR_BUFFERS                                           0x00001d94
+#define  NV20_TCL_PRIMITIVE_3D_RC_COLOR0                                               0x00001e20
+#define  NV20_TCL_PRIMITIVE_3D_RC_COLOR1                                               0x00001e24
+#define  NV20_TCL_PRIMITIVE_3D_RC_OUT_RGB(x)                                           (0x00001e40+((x)*4))
+#define  NV20_TCL_PRIMITIVE_3D_RC_OUT_RGB__SIZE                                                0x00000008
+#define  NV20_TCL_PRIMITIVE_3D_RC_ENABLE                                               0x00001e60
+#define  NV20_TCL_PRIMITIVE_3D_TX_SHADER_OP                                            0x00001e70
+#define  NV20_TCL_PRIMITIVE_3D_VP_UPLOAD_CONST_ID                                      0x00001ea4
+
+
+#define NV17_TCL_PRIMITIVE_3D                                                          0x00000099
+
+#define  NV17_TCL_PRIMITIVE_3D_DMA_IN_MEMORY4                                          0x000001ac
+#define  NV17_TCL_PRIMITIVE_3D_DMA_IN_MEMORY5                                          0x000001b0
+#define  NV17_TCL_PRIMITIVE_3D_COLOR_MASK_ENABLE                                       0x000002bc
+#define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_PITCH                                  0x00000d5c
+#define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_OFFSET                                 0x00000d60
+#define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_FILL_VALUE                                    0x00000d68
+#define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_BUFFER_CLEAR                                  0x00000d6c
+#define  NV17_TCL_PRIMITIVE_3D_LMA_DEPTH_ENABLE                                                0x00001658
+
+
+#define NV20_SWIZZLED_SURFACE                                                          0x0000009e
+
+
+
+#define NV12_IMAGE_BLIT                                                                        0x0000009f
+
+
+
+#define NV30_CONTEXT_SURFACES_2D                                                       0x00000362
+
+
+
+#define NV30_STRETCHED_IMAGE_FROM_CPU                                                  0x00000366
+
+
+
+#define NV30_TEXTURE_FROM_CPU                                                          0x0000037b
+
+
+
+#define NV30_SCALED_IMAGE_FROM_MEMORY                                                  0x00000389
+
+
+
+#define NV30_IMAGE_FROM_CPU                                                            0x0000038a
+
+
+
+#define NV30_TCL_PRIMITIVE_3D                                                          0x00000397
+
+
+
+#define NV30_SWIZZLED_SURFACE                                                          0x0000039e
+
+
+
+#define NV36_TCL_PRIMITIVE_3D                                                          0x00000497
+
+
+
+#define NV25_TCL_PRIMITIVE_3D                                                          0x00000597
+
+#define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY4                                          0x0000019c
+#define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY5                                          0x000001a0
+#define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY8                                          0x000001ac
+#define  NV25_TCL_PRIMITIVE_3D_DMA_IN_MEMORY9                                          0x000001b0
+
+
+#define NV34_TCL_PRIMITIVE_3D                                                          0x00000697
+
+#define  NV34_TCL_PRIMITIVE_3D_NOP                                                     0x00000100
+#define  NV34_TCL_PRIMITIVE_3D_NOTIFY                                                  0x00000104
+#define  NV34_TCL_PRIMITIVE_3D_DMA_NOTIFY                                              0x00000180
+#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY0                                          0x00000184
+#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY1                                          0x00000188
+#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY2                                          0x0000018c
+#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY3                                          0x00000194
+#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY4                                          0x00000198
+#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY5                                          0x000001a4
+#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY6                                          0x000001a8
+#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY7                                          0x000001ac
+#define  NV34_TCL_PRIMITIVE_3D_DMA_IN_MEMORY8                                          0x000001b0
+#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_HORIZ                                          0x00000200
+#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_VERT                                           0x00000204
+#define  NV34_TCL_PRIMITIVE_3D_FORMAT                                                  0x00000208
+#define  NV34_TCL_PRIMITIVE_3D_PITCH                                                   0x0000020c
+#define   NV34_TCL_PRIMITIVE_3D_PITCH_COLOR_SHIFT                                      0
+#define   NV34_TCL_PRIMITIVE_3D_PITCH_COLOR_MASK                                       0x0000ffff
+#define   NV34_TCL_PRIMITIVE_3D_PITCH_ZETA_SHIFT                                       16
+#define   NV34_TCL_PRIMITIVE_3D_PITCH_ZETA_MASK                                                0xffff0000
+#define  NV34_TCL_PRIMITIVE_3D_COLOR_OFFSET                                            0x00000210
+#define  NV34_TCL_PRIMITIVE_3D_ZETA_OFFSET                                             0x00000214
+#define  NV34_TCL_PRIMITIVE_3D_COLOR1_OFFSET                                           0x00000218
+#define  NV34_TCL_PRIMITIVE_3D_COLOR1_PITCH                                            0x0000021c
+#define  NV34_TCL_PRIMITIVE_3D_LMA_DEPTH_PITCH                                         0x0000022c
+#define  NV34_TCL_PRIMITIVE_3D_LMA_DEPTH_OFFSET                                                0x00000230
+#define  NV34_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE(x)                                     (0x00000240+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_TX_MATRIX_ENABLE__SIZE                                  0x00000004
+#define  NV34_TCL_PRIMITIVE_3D_UNK0250(x)                                              (0x00000250+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_UNK0250__SIZE                                           0x00000004
+#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ(x)                                  (0x000002c0+((x)*8))
+#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_HORIZ__SIZE                               0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT(x)                                   (0x000002c4+((x)*8))
+#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_CLIP_VERT__SIZE                                        0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_DITHER_ENABLE                                           0x00000300
+#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_ENABLE                                       0x00000304
+#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC                                         0x00000308
+#define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NEVER                                  0x00000200
+#define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LESS                                   0x00000201
+#define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_EQUAL                                  0x00000202
+#define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_LEQUAL                                 0x00000203
+#define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                                        0x00000204
+#define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GREATER                                        0x00000204
+#define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_NOTEQUAL                               0x00000205
+#define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_GEQUAL                                 0x00000206
+#define   NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_FUNC_ALWAYS                                 0x00000207
+#define  NV34_TCL_PRIMITIVE_3D_ALPHA_FUNC_REF                                          0x0000030c
+#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_ENABLE                                       0x00000310
+#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC                                          0x00000314
+#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SHIFT                               0
+#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_MASK                                        0x0000ffff
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ZERO                               0x00000000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE                                        0x00000001
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_COLOR                          0x00000300
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR                        0x00000301
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_ALPHA                          0x00000302
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA                        0x00000303
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_DST_ALPHA                          0x00000304
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA                        0x00000305
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_DST_COLOR                          0x00000306
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR                        0x00000307
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE                 0x00000308
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR                     0x00008001
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR           0x00008002
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA                     0x00008003
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA           0x00008004
+#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SHIFT                             16
+#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_MASK                              0xffff0000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ZERO                             0x00000000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE                              0x00010000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                                0x03000000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR              0x03010000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                                0x03020000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA              0x03030000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                                0x03040000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA              0x03050000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_DST_COLOR                                0x03060000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR              0x03070000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE               0x03080000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR                   0x80010000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR         0x80020000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA                   0x80030000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA         0x80040000
+#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST                                          0x00000318
+#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SHIFT                               0
+#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_MASK                                        0x0000ffff
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ZERO                               0x00000000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE                                        0x00000001
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_COLOR                          0x00000300
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR                        0x00000301
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_ALPHA                          0x00000302
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA                        0x00000303
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_DST_ALPHA                          0x00000304
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA                        0x00000305
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_DST_COLOR                          0x00000306
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR                        0x00000307
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE                 0x00000308
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_CONSTANT_COLOR                     0x00008001
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR           0x00008002
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA                     0x00008003
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA           0x00008004
+#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SHIFT                             16
+#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_MASK                              0xffff0000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ZERO                             0x00000000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE                              0x00010000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_COLOR                                0x03000000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR              0x03010000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                                0x03020000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA              0x03030000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_DST_ALPHA                                0x03040000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA              0x03050000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_DST_COLOR                                0x03060000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR              0x03070000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE               0x03080000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR                   0x80010000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR         0x80020000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                   0x80030000
+#define    NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA         0x80040000
+#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_COLOR                                                0x0000031c
+#define  NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION                                     0x00000320
+#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_FUNC_ADD                           0x00008006
+#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_MIN                                        0x00008007
+#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_MAX                                        0x00008008
+#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_FUNC_SUBTRACT                      0x0000800a
+#define   NV34_TCL_PRIMITIVE_3D_BLEND_FUNC_EQUATION_FUNC_REVERSE_SUBTRACT              0x0000800b
+#define  NV34_TCL_PRIMITIVE_3D_COLOR_MASK                                              0x00000324
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_B_SHIFT                                     0
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_B_MASK                                      0x000000ff
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_G_SHIFT                                     8
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_G_MASK                                      0x0000ff00
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_R_SHIFT                                     16
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_R_MASK                                      0x00ff0000
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_A_SHIFT                                     24
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_MASK_A_MASK                                      0xff000000
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_ENABLE                                     0x00000328
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_MASK                                       0x0000032c
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC                                  0x00000330
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_NEVER                           0x00000200
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_LESS                            0x00000201
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_EQUAL                           0x00000202
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_LEQUAL                          0x00000203
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GREATER                         0x00000204
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GREATER                         0x00000204
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                                0x00000205
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_GEQUAL                          0x00000206
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_FUNC_ALWAYS                          0x00000207
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_REF                                   0x00000334
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_FUNC_MASK                                  0x00000338
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL                                    0x0000033c
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_ZERO                              0x00000000
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INVERT                            0x0000150a
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_KEEP                              0x00001e00
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_REPLACE                           0x00001e01
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INCR                              0x00001e02
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_DECR                              0x00001e03
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_INCR_WRAP                         0x00008507
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_FAIL_DECR_WRAP                         0x00008508
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL                                   0x00000340
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_ZERO                             0x00000000
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INVERT                           0x0000150a
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_KEEP                             0x00001e00
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_REPLACE                          0x00001e01
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INCR                             0x00001e02
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_DECR                             0x00001e03
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                                0x00008507
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                                0x00008508
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS                                   0x00000344
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_ZERO                             0x00000000
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INVERT                           0x0000150a
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_KEEP                             0x00001e00
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_REPLACE                          0x00001e01
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INCR                             0x00001e02
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_DECR                             0x00001e03
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_INCR_WRAP                                0x00008507
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_BACK_OP_ZPASS_DECR_WRAP                                0x00008508
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_ENABLE                                    0x00000348
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_MASK                                      0x0000034c
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC                                 0x00000350
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_NEVER                          0x00000200
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_LESS                           0x00000201
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_EQUAL                          0x00000202
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_LEQUAL                         0x00000203
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GREATER                                0x00000204
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GREATER                                0x00000204
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                       0x00000205
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_GEQUAL                         0x00000206
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_FUNC_ALWAYS                         0x00000207
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_REF                                  0x00000354
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_FUNC_MASK                                 0x00000358
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL                                   0x0000035c
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_ZERO                             0x00000000
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INVERT                           0x0000150a
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_KEEP                             0x00001e00
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_REPLACE                          0x00001e01
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INCR                             0x00001e02
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_DECR                             0x00001e03
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_INCR_WRAP                                0x00008507
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_FAIL_DECR_WRAP                                0x00008508
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL                                  0x00000360
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_ZERO                            0x00000000
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INVERT                          0x0000150a
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_KEEP                            0x00001e00
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_REPLACE                         0x00001e01
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INCR                            0x00001e02
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_DECR                            0x00001e03
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                       0x00008507
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                       0x00008508
+#define  NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS                                  0x00000364
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_ZERO                            0x00000000
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INVERT                          0x0000150a
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_KEEP                            0x00001e00
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_REPLACE                         0x00001e01
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INCR                            0x00001e02
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_DECR                            0x00001e03
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                       0x00008507
+#define   NV34_TCL_PRIMITIVE_3D_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                       0x00008508
+#define  NV34_TCL_PRIMITIVE_3D_SHADE_MODEL                                             0x00000368
+#define   NV34_TCL_PRIMITIVE_3D_SHADE_MODEL_FLAT                                       0x00001d00
+#define   NV34_TCL_PRIMITIVE_3D_SHADE_MODEL_SMOOTH                                     0x00001d01
+#define  NV34_TCL_PRIMITIVE_3D_FOG_ENABLE                                              0x0000036c
+#define  NV34_TCL_PRIMITIVE_3D_FOG_COLOR                                               0x00000370
+#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_ENABLE                                   0x00000374
+#define  NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP                                       0x00000378
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_CLEAR                                        0x00001500
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND                                  0x00001501
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_REVERSE                          0x00001502
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY                                 0x00001503
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_AND_INVERTED                         0x00001504
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOOP                                 0x00001505
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_XOR                                  0x00001506
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR                                   0x00001507
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NOR                                  0x00001508
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_EQUIV                                        0x00001509
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_INVERT                               0x0000150a
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_REVERSE                           0x0000150b
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_COPY_INVERTED                                0x0000150c
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_OR_INVERTED                          0x0000150d
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_NAND                                 0x0000150e
+#define   NV34_TCL_PRIMITIVE_3D_COLOR_LOGIC_OP_OP_SET                                  0x0000150f
+#define  NV34_TCL_PRIMITIVE_3D_NORMALIZE_ENABLE                                                0x0000037c
+#define  NV34_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR                                                0x00000394
+#define  NV34_TCL_PRIMITIVE_3D_DEPTH_RANGE_FAR                                         0x00000398
+#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_R                                  0x000003a0
+#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_G                                  0x000003a4
+#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_B                                  0x000003a8
+#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_FRONT_A                                  0x000003b4
+#define  NV34_TCL_PRIMITIVE_3D_LINE_WIDTH                                              0x000003b8
+#define  NV34_TCL_PRIMITIVE_3D_LINE_SMOOTH_ENABLE                                      0x000003bc
+#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE(x)                                    (0x00000400+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_ENABLE__SIZE                                 0x00000020
+#define  NV34_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX(x)                                     (0x00000480+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_MODELVIEW_MATRIX__SIZE                                  0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_PROJECTION_MATRIX(x)                                    (0x00000680+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_PROJECTION_MATRIX__SIZE                                 0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_TX0_MATRIX(x)                                           (0x000006c0+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_TX0_MATRIX__SIZE                                                0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_TX1_MATRIX(x)                                           (0x00000700+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_TX1_MATRIX__SIZE                                                0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_TX2_MATRIX(x)                                           (0x00000740+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_TX2_MATRIX__SIZE                                                0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_TX3_MATRIX(x)                                           (0x00000780+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_TX3_MATRIX__SIZE                                                0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ                                           0x000008c0
+#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_X_SHIFT                                  0
+#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_X_MASK                                   0x0000ffff
+#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_W_SHIFT                                  16
+#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_HORIZ_W_MASK                                   0xffff0000
+#define  NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT                                            0x000008c4
+#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_Y_SHIFT                                   0
+#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_Y_MASK                                    0x0000ffff
+#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_H_SHIFT                                   16
+#define   NV34_TCL_PRIMITIVE_3D_SCISSOR_VERT_H_MASK                                    0xffff0000
+#define  NV34_TCL_PRIMITIVE_3D_FOG_COORD_DIST                                          0x000008c8
+#define  NV34_TCL_PRIMITIVE_3D_FOG_MODE                                                        0x000008cc
+#define  NV34_TCL_PRIMITIVE_3D_FOG_EQUATION_CONSTANT                                   0x000008d0
+#define  NV34_TCL_PRIMITIVE_3D_FOG_EQUATION_LINEAR                                     0x000008d4
+#define  NV34_TCL_PRIMITIVE_3D_FOG_EQUATION_QUADRATIC                                  0x000008d8
+#define  NV34_TCL_PRIMITIVE_3D_FP_ACTIVE_PROGRAM                                       0x000008e4
+#define  NV34_TCL_PRIMITIVE_3D_RC_COLOR0                                               0x000008ec
+#define  NV34_TCL_PRIMITIVE_3D_RC_COLOR1                                               0x000008f0
+#define  NV34_TCL_PRIMITIVE_3D_RC_FINAL0                                               0x000008f4
+#define  NV34_TCL_PRIMITIVE_3D_RC_FINAL1                                               0x000008f8
+#define  NV34_TCL_PRIMITIVE_3D_RC_ENABLE                                               0x000008fc
+#define  NV34_TCL_PRIMITIVE_3D_RC_IN_ALPHA(x)                                          (0x00000900+((x)*32))
+#define  NV34_TCL_PRIMITIVE_3D_RC_IN_ALPHA__SIZE                                       0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_RC_IN_RGB(x)                                            (0x00000904+((x)*32))
+#define  NV34_TCL_PRIMITIVE_3D_RC_IN_RGB__SIZE                                         0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0(x)                                   (0x00000908+((x)*32))
+#define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR0__SIZE                                        0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1(x)                                   (0x0000090c+((x)*32))
+#define  NV34_TCL_PRIMITIVE_3D_RC_CONSTANT_COLOR1__SIZE                                        0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_RC_OUT_ALPHA(x)                                         (0x00000910+((x)*32))
+#define  NV34_TCL_PRIMITIVE_3D_RC_OUT_ALPHA__SIZE                                      0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_RC_OUT_RGB(x)                                           (0x00000914+((x)*32))
+#define  NV34_TCL_PRIMITIVE_3D_RC_OUT_RGB__SIZE                                                0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R  0x00000a10
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G  0x00000a14
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B  0x00000a18
+#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_X                                       0x00000a20
+#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Y                                       0x00000a24
+#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_Z                                       0x00000a28
+#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE0_W                                       0x00000a2c
+#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_X                                       0x00000a30
+#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Y                                       0x00000a34
+#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_Z                                       0x00000a38
+#define  NV34_TCL_PRIMITIVE_3D_VIEWPORT_SCALE1_W                                       0x00000a3c
+#define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FILL_ENABLE                              0x00000a60
+#define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_LINE_ENABLE                              0x00000a64
+#define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_POINT_ENABLE                             0x00000a68
+#define  NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC                                              0x00000a6c
+#define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_NEVER                                       0x00000200
+#define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_LESS                                                0x00000201
+#define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_EQUAL                                       0x00000202
+#define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_LEQUAL                                      0x00000203
+#define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                                     0x00000204
+#define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_GREATER                                     0x00000204
+#define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_NOTEQUAL                                    0x00000205
+#define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_GEQUAL                                      0x00000206
+#define   NV34_TCL_PRIMITIVE_3D_DEPTH_FUNC_ALWAYS                                      0x00000207
+#define  NV34_TCL_PRIMITIVE_3D_DEPTH_WRITE_ENABLE                                      0x00000a70
+#define  NV34_TCL_PRIMITIVE_3D_DEPTH_TEST_ENABLE                                       0x00000a74
+#define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_FACTOR                                   0x00000a78
+#define  NV34_TCL_PRIMITIVE_3D_POLYGON_OFFSET_UNITS                                    0x00000a7c
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY                                                0x00000a90
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_SHIFT                               0
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_X_MASK                                        0x0000ffff
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_SHIFT                               16
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_XY_Y_MASK                                        0xffff0000
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z                                         0x00000a94
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_SHIFT                                        0
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_NOR_3I_Z_Z_MASK                                 0x0000ffff
+#define  NV34_TCL_PRIMITIVE_3D_VP_UPLOAD_INST(x)                                       (0x00000b80+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_VP_UPLOAD_INST__SIZE                                    0x00000004
+#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_A(x)                                         (0x00000e00+((x)*16))
+#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_A__SIZE                                      0x00000020
+#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_B(x)                                         (0x00000e04+((x)*16))
+#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_B__SIZE                                      0x00000020
+#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_C(x)                                         (0x00000e08+((x)*16))
+#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_C__SIZE                                      0x00000020
+#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_D(x)                                         (0x00000e0c+((x)*16))
+#define  NV34_TCL_PRIMITIVE_3D_CLIP_PLANE_D__SIZE                                      0x00000020
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(x)                   (0x00001000+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R__SIZE                        0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(x)                   (0x00001004+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G__SIZE                        0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(x)                   (0x00001008+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B__SIZE                        0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(x)                   (0x0000100c+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R__SIZE                        0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(x)                   (0x00001010+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G__SIZE                        0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(x)                   (0x00001014+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B__SIZE                        0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(x)                  (0x00001018+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R__SIZE               0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(x)                  (0x0000101c+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G__SIZE               0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(x)                  (0x00001020+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B__SIZE               0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X(x)                                  (0x00001028+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_X__SIZE                               0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y(x)                                  (0x0000102c+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Y__SIZE                               0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z(x)                                  (0x00001030+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_HALF_VECTOR_Z__SIZE                               0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X(x)                                    (0x00001034+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_X__SIZE                                 0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y(x)                                    (0x00001038+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Y__SIZE                                 0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z(x)                                    (0x0000103c+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_DIRECTION_Z__SIZE                                 0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A(x)                                  (0x00001200+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_A__SIZE                               0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B(x)                                  (0x00001204+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_B__SIZE                               0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C(x)                                  (0x00001208+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_C__SIZE                               0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X(x)                                     (0x0000120c+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_X__SIZE                                  0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y(x)                                     (0x00001210+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Y__SIZE                                  0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z(x)                                     (0x00001214+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_DIR_Z__SIZE                                  0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D(x)                                  (0x00001218+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_SPOT_CUTOFF_D__SIZE                               0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_X(x)                                     (0x0000121c+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_X__SIZE                                  0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y(x)                                     (0x00001220+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Y__SIZE                                  0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z(x)                                     (0x00001224+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_POSITION_Z__SIZE                                  0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT(x)                           (0x00001228+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_CONSTANT__SIZE                                0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR(x)                             (0x0000122c+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_LINEAR__SIZE                          0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC(x)                          (0x00001230+((x)*64))
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_ATTENUATION_QUADRATIC__SIZE                       0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS(x)                             (0x00001400+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_FRONT_MATERIAL_SHININESS__SIZE                          0x00000006
+#define  NV34_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_ENABLE                                  0x0000147c
+#define  NV34_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN(x)                              (0x00001480+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_POLYGON_STIPPLE_PATTERN__SIZE                           0x00000020
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_X(x)                                     (0x00001500+((x)*16))
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_X__SIZE                                  0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Y(x)                                     (0x00001504+((x)*16))
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Y__SIZE                                  0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Z(x)                                     (0x00001508+((x)*16))
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_3F_Z__SIZE                                  0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT(x)                                  (0x00001740+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT__SIZE                               0x0000000c
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_SHIFT                         0
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_TYPE_MASK                          0x0000000f
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_SHIFT                       4
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_FIELDS_MASK                                0x000000f0
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_SHIFT                       8
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ARRAY_FORMAT_STRIDE_MASK                                0x0000ff00
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R   0x000017a0
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G   0x000017a4
+#define  NV34_TCL_PRIMITIVE_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B   0x000017a8
+#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_R                                   0x000017b0
+#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_G                                   0x000017b4
+#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_B                                   0x000017b8
+#define  NV34_TCL_PRIMITIVE_3D_COLOR_MATERIAL_BACK_A                                   0x000017c0
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END                                                0x00001808
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_STOP                                  0x00000000
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POINTS                                        0x00000001
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINES                                 0x00000002
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_LOOP                             0x00000003
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_LINE_STRIP                            0x00000004
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLES                             0x00000005
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_STRIP                                0x00000006
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_TRIANGLE_FAN                          0x00000007
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUADS                                 0x00000008
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_QUAD_STRIP                            0x00000009
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_BEGIN_END_POLYGON                               0x0000000a
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_DATA                                             0x00001818
+#define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT                                      0x00001828
+#define   NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_POINT                               0x00001b00
+#define   NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_LINE                                        0x00001b01
+#define   NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_FRONT_FILL                                        0x00001b02
+#define  NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK                                       0x0000182c
+#define   NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_POINT                                        0x00001b00
+#define   NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_LINE                                 0x00001b01
+#define   NV34_TCL_PRIMITIVE_3D_POLYGON_MODE_BACK_FILL                                 0x00001b02
+#define  NV34_TCL_PRIMITIVE_3D_CULL_FACE                                               0x00001830
+#define   NV34_TCL_PRIMITIVE_3D_CULL_FACE_FRONT                                                0x00000404
+#define   NV34_TCL_PRIMITIVE_3D_CULL_FACE_BACK                                         0x00000405
+#define   NV34_TCL_PRIMITIVE_3D_CULL_FACE_FRONT_AND_BACK                               0x00000408
+#define  NV34_TCL_PRIMITIVE_3D_FRONT_FACE                                              0x00001834
+#define   NV34_TCL_PRIMITIVE_3D_FRONT_FACE_CW                                          0x00000900
+#define   NV34_TCL_PRIMITIVE_3D_FRONT_FACE_CCW                                         0x00000901
+#define  NV34_TCL_PRIMITIVE_3D_POLYGON_SMOOTH_ENABLE                                   0x00001838
+#define  NV34_TCL_PRIMITIVE_3D_CULL_FACE_ENABLE                                                0x0000183c
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_X(x)                                     (0x00001880+((x)*8))
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_X__SIZE                                  0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_Y(x)                                     (0x00001884+((x)*8))
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2F_Y__SIZE                                  0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I(x)                                       (0x00001900+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I__SIZE                                    0x00000010
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I_Y_SHIFT                                 16
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I_Y_MASK                                  0xffff0000
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I_X_SHIFT                                 0
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_2I_X_MASK                                  0x0000ffff
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I(x)                                                (0x0000194c+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I__SIZE                                     0x00000002
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_SHIFT                                  0
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_R_MASK                                   0x000000ff
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_SHIFT                                  8
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_G_MASK                                   0x0000ff00
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_SHIFT                                  16
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_B_MASK                                   0x00ff0000
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_SHIFT                                  24
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_COL_4I_A_MASK                                   0xff000000
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY                                                0x00001980
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_X_SHIFT                               0
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_X_MASK                                        0x0000ffff
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_Y_SHIFT                               16
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_XY_Y_MASK                                        0xffff0000
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW                                                0x00001984
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_Z_SHIFT                               0
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_Z_MASK                                        0x0000ffff
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_W_SHIFT                               16
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_POS_4I_ZW_W_MASK                                        0xffff0000
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST(x)                                      (0x000019c0+((x)*8))
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST__SIZE                                   0x00000004
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_S_SHIFT                                        0
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_S_MASK                                 0x0000ffff
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_T_SHIFT                                        16
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_ST_T_MASK                                 0xffff0000
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ(x)                                      (0x000019c4+((x)*8))
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ__SIZE                                   0x00000004
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_R_SHIFT                                        0
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_R_MASK                                 0x0000ffff
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_Q_SHIFT                                        16
+#define   NV34_TCL_PRIMITIVE_3D_VERTEX_TX_4I_RQ_Q_MASK                                 0xffff0000
+#define  NV34_TCL_PRIMITIVE_3D_TX_OFFSET(x)                                            (0x00001a00+((x)*32))
+#define  NV34_TCL_PRIMITIVE_3D_TX_OFFSET__SIZE                                         0x00000004
+#define  NV34_TCL_PRIMITIVE_3D_TX_FORMAT(x)                                            (0x00001a04+((x)*32))
+#define  NV34_TCL_PRIMITIVE_3D_TX_FORMAT__SIZE                                         0x00000004
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_CUBE_MAP                                     (1 <<  2)
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_COMPONENTS_SHIFT                             4
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_COMPONENTS_MASK                              0x000000f0
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_SHIFT                                 8
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_MASK                                  0x0000ff00
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8                                   0x00000000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8                                   0x00000100
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R5G5B5A1                             0x00000200
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8_RECT                              0x00000300
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R4G4B4A4                             0x00000400
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8A8                             0x00000600
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_X8R8G8B8                             0x00000700
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_INDEX8                               0x00000b00
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT1                                 0x00000c00
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT3                                 0x00000e00
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_DXT5                                 0x00000f00
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R5G5B5A1_RECT                                0x00001000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8A8_RECT                                0x00001200
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8_RECT                              0x00001300
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8A8                                 0x00001a00
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A8_RECT2                             0x00001b00
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R8G8B8_RECT                          0x00001e00
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_R4G4B4A4_RECT                                0x00001d00
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_L8A8_RECT                            0x00002000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A16                                  0x00003200
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_A16_RECT                             0x00003500
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV                      0x00004a00
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV                      0x00004b00
+#define    NV34_TCL_PRIMITIVE_3D_TX_FORMAT_FORMAT_FLOAT_R32_NV                         0x00004c00
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_NPOT                                         (1 << 12)
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_RECT                                         (1 << 14)
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_SHIFT                          16
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_MIPMAP_LEVELS_MASK                           0x000f0000
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_SHIFT                            20
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_U_MASK                             0x00f00000
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_SHIFT                            24
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_V_MASK                             0x0f000000
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_W_SHIFT                            28
+#define   NV34_TCL_PRIMITIVE_3D_TX_FORMAT_BASE_SIZE_W_MASK                             0xf0000000
+#define  NV34_TCL_PRIMITIVE_3D_TX_WRAP(x)                                              (0x00001a08+((x)*32))
+#define  NV34_TCL_PRIMITIVE_3D_TX_WRAP__SIZE                                           0x00000004
+#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_SHIFT                                                0
+#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_MASK                                         0x000000ff
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_REPEAT                                      0x00000001
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_MIRRORED_REPEAT                             0x00000002
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_CLAMP_TO_EDGE                               0x00000003
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_CLAMP_TO_BORDER                             0x00000004
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_S_CLAMP                                       0x00000005
+#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_SHIFT                                                8
+#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_MASK                                         0x0000ff00
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_REPEAT                                      0x00000100
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_MIRRORED_REPEAT                             0x00000200
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_CLAMP_TO_EDGE                               0x00000300
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_CLAMP_TO_BORDER                             0x00000400
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_T_CLAMP                                       0x00000500
+#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_SHIFT                                                16
+#define   NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_MASK                                         0x00ff0000
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_REPEAT                                      0x00010000
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_MIRRORED_REPEAT                             0x00020000
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_CLAMP_TO_EDGE                               0x00030000
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_CLAMP_TO_BORDER                             0x00040000
+#define    NV34_TCL_PRIMITIVE_3D_TX_WRAP_R_CLAMP                                       0x00050000
+#define  NV34_TCL_PRIMITIVE_3D_TX_ENABLE(x)                                            (0x00001a0c+((x)*32))
+#define  NV34_TCL_PRIMITIVE_3D_TX_ENABLE__SIZE                                         0x00000004
+#define   NV34_TCL_PRIMITIVE_3D_TX_ENABLE_ENABLE                                       (1 << 30)
+#define  NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE(x)                                           (0x00001a10+((x)*32))
+#define  NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE__SIZE                                                0x00000004
+#define   NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE_SWIZZLE_SHIFT                               0
+#define   NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE_SWIZZLE_MASK                                        0x0000ffff
+#define   NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE_RECT_PITCH_SHIFT                            16
+#define   NV34_TCL_PRIMITIVE_3D_TX_SWIZZLE_RECT_PITCH_MASK                             0xffff0000
+#define  NV34_TCL_PRIMITIVE_3D_TX_FILTER(x)                                            (0x00001a14+((x)*32))
+#define  NV34_TCL_PRIMITIVE_3D_TX_FILTER__SIZE                                         0x00000004
+#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_SHIFT                                 16
+#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_MASK                                  0x000f0000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST                              0x00010000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR                               0x00020000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST               0x00030000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST                        0x00040000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR                        0x00050000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR                 0x00060000
+#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_SHIFT                                        24
+#define   NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_MASK                                 0x0f000000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST                             0x01000000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR                              0x02000000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_NEAREST              0x03000000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_NEAREST               0x04000000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_NEAREST_MIPMAP_LINEAR               0x05000000
+#define    NV34_TCL_PRIMITIVE_3D_TX_FILTER_MAGNIFY_LINEAR_MIPMAP_LINEAR                        0x06000000
+#define  NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE(x)                                         (0x00001a18+((x)*32))
+#define  NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE__SIZE                                      0x00000004
+#define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_SHIFT                                   0
+#define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_H_MASK                                    0x0000ffff
+#define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_SHIFT                                   16
+#define   NV34_TCL_PRIMITIVE_3D_TX_NPOT_SIZE_W_MASK                                    0xffff0000
+#define  NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR(x)                                      (0x00001a1c+((x)*32))
+#define  NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR__SIZE                                   0x00000004
+#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_B_SHIFT                                        0
+#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_B_MASK                                 0x000000ff
+#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_G_SHIFT                                        8
+#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_G_MASK                                 0x0000ff00
+#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_R_SHIFT                                        16
+#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_R_MASK                                 0x00ff0000
+#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_A_SHIFT                                        24
+#define   NV34_TCL_PRIMITIVE_3D_TX_BORDER_COLOR_A_MASK                                 0xff000000
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_X(x)                                     (0x00001c00+((x)*16))
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_X__SIZE                                  0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Y(x)                                     (0x00001c04+((x)*16))
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Y__SIZE                                  0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Z(x)                                     (0x00001c08+((x)*16))
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_Z__SIZE                                  0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_W(x)                                     (0x00001c0c+((x)*16))
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_ATTR_4F_W__SIZE                                  0x00000010
+#define  NV34_TCL_PRIMITIVE_3D_CLEAR_DEPTH_VALUE                                       0x00001d8c
+#define  NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_ENABLE                                     0x00001db4
+#define  NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN                                    0x00001db8
+#define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_FACTOR_SHIFT                      0
+#define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_FACTOR_MASK                       0x0000ffff
+#define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_PATTERN_SHIFT                     16
+#define   NV34_TCL_PRIMITIVE_3D_LINE_STIPPLE_PATTERN_PATTERN_MASK                      0xffff0000
+#define  NV34_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS(x)                              (0x00001e20+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_BACK_MATERIAL_SHININESS__SIZE                           0x00000006
+#define  NV34_TCL_PRIMITIVE_3D_VERTEX_FOG_1F                                           0x00001e54
+#define  NV34_TCL_PRIMITIVE_3D_POINT_PARAMETERS(x)                                     (0x00001ec0+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_POINT_PARAMETERS__SIZE                                  0x00000008
+#define  NV34_TCL_PRIMITIVE_3D_POINT_SIZE                                              0x00001ee0
+#define  NV34_TCL_PRIMITIVE_3D_POINT_PARAMETERS_ENABLE                                 0x00001ee4
+#define  NV34_TCL_PRIMITIVE_3D_POINT_SPRITE                                            0x00001ee8
+#define  NV34_TCL_PRIMITIVE_3D_UNK1f80(x)                                              (0x00001f80+((x)*4))
+#define  NV34_TCL_PRIMITIVE_3D_UNK1f80__SIZE                                           0x00000010
+
+
+#define NV40_CONTEXT_SURFACES_2D                                                       0x00003062
+
+
+
+#define NV40_STRETCHED_IMAGE_FROM_CPU                                                  0x00003066
+
+
+
+#define NV40_TEXTURE_FROM_CPU                                                          0x0000307b
+
+
+
+#define NV40_SCALED_IMAGE_FROM_MEMORY                                                  0x00003089
+
+
+
+#define NV40_IMAGE_FROM_CPU                                                            0x0000308a
+
+
+
+#define NV40_SWIZZLED_SURFACE                                                          0x0000309e
+
+
+
+#define NV40TCL                                                                                0x00004097
+
+#define  NV40TCL_REF_CNT                                                               0x00000050
+#define  NV40TCL_NOP                                                                   0x00000100
+#define  NV40TCL_NOTIFY                                                                        0x00000104
+#define  NV40TCL_DMA_NOTIFY                                                            0x00000180
+#define  NV40TCL_DMA_TEXTURE0                                                          0x00000184
+#define  NV40TCL_DMA_TEXTURE1                                                          0x00000188
+#define  NV40TCL_DMA_COLOR1                                                            0x0000018c
+#define  NV40TCL_DMA_COLOR0                                                            0x00000194
+#define  NV40TCL_DMA_ZETA                                                              0x00000198
+#define  NV40TCL_DMA_VTXBUF0                                                           0x0000019c
+#define  NV40TCL_DMA_VTXBUF1                                                           0x000001a0
+#define  NV40TCL_DMA_FENCE                                                             0x000001a4
+#define  NV40TCL_DMA_QUERY                                                             0x000001a8
+#define  NV40TCL_DMA_UNK01AC                                                           0x000001ac
+#define  NV40TCL_DMA_UNK01B0                                                           0x000001b0
+#define  NV40TCL_DMA_COLOR2                                                            0x000001b4
+#define  NV40TCL_DMA_COLOR3                                                            0x000001b8
+#define  NV40TCL_RT_HORIZ                                                              0x00000200
+#define   NV40TCL_RT_HORIZ_W_SHIFT                                                     16
+#define   NV40TCL_RT_HORIZ_W_MASK                                                      0xffff0000
+#define   NV40TCL_RT_HORIZ_X_SHIFT                                                     0
+#define   NV40TCL_RT_HORIZ_X_MASK                                                      0x0000ffff
+#define  NV40TCL_RT_VERT                                                               0x00000204
+#define   NV40TCL_RT_VERT_H_SHIFT                                                      16
+#define   NV40TCL_RT_VERT_H_MASK                                                       0xffff0000
+#define   NV40TCL_RT_VERT_Y_SHIFT                                                      0
+#define   NV40TCL_RT_VERT_Y_MASK                                                       0x0000ffff
+#define  NV40TCL_RT_FORMAT                                                             0x00000208
+#define   NV40TCL_RT_FORMAT_LOG2_HEIGHT_SHIFT                                          24
+#define   NV40TCL_RT_FORMAT_LOG2_HEIGHT_MASK                                           0xff000000
+#define   NV40TCL_RT_FORMAT_LOG2_WIDTH_SHIFT                                           16
+#define   NV40TCL_RT_FORMAT_LOG2_WIDTH_MASK                                            0x00ff0000
+#define   NV40TCL_RT_FORMAT_TYPE_SHIFT                                                 8
+#define   NV40TCL_RT_FORMAT_TYPE_MASK                                                  0x00000f00
+#define    NV40TCL_RT_FORMAT_TYPE_LINEAR                                               0x00000100
+#define    NV40TCL_RT_FORMAT_TYPE_SWIZZLED                                             0x00000200
+#define   NV40TCL_RT_FORMAT_ZETA_SHIFT                                                 5
+#define   NV40TCL_RT_FORMAT_ZETA_MASK                                                  0x000000e0
+#define    NV40TCL_RT_FORMAT_ZETA_Z16                                                  0x00000020
+#define    NV40TCL_RT_FORMAT_ZETA_Z24S8                                                        0x00000040
+#define   NV40TCL_RT_FORMAT_COLOR_SHIFT                                                        0
+#define   NV40TCL_RT_FORMAT_COLOR_MASK                                                 0x0000001f
+#define    NV40TCL_RT_FORMAT_COLOR_R5G6B5                                              0x00000003
+#define    NV40TCL_RT_FORMAT_COLOR_X8R8G8B8                                            0x00000005
+#define    NV40TCL_RT_FORMAT_COLOR_A8R8G8B8                                            0x00000008
+#define    NV40TCL_RT_FORMAT_COLOR_B8                                                  0x00000009
+#define  NV40TCL_COLOR0_PITCH                                                          0x0000020c
+#define  NV40TCL_COLOR0_OFFSET                                                         0x00000210
+#define  NV40TCL_ZETA_OFFSET                                                           0x00000214
+#define  NV40TCL_COLOR1_OFFSET                                                         0x00000218
+#define  NV40TCL_COLOR1_PITCH                                                          0x0000021c
+#define  NV40TCL_RT_ENABLE                                                             0x00000220
+#define   NV40TCL_RT_ENABLE_MRT                                                                (1 <<  4)
+#define   NV40TCL_RT_ENABLE_COLOR3                                                     (1 <<  3)
+#define   NV40TCL_RT_ENABLE_COLOR2                                                     (1 <<  2)
+#define   NV40TCL_RT_ENABLE_COLOR1                                                     (1 <<  1)
+#define   NV40TCL_RT_ENABLE_COLOR0                                                     (1 <<  0)
+#define  NV40TCL_ZETA_PITCH                                                            0x0000022c
+#define  NV40TCL_COLOR2_PITCH                                                          0x00000280
+#define  NV40TCL_COLOR3_PITCH                                                          0x00000284
+#define  NV40TCL_COLOR2_OFFSET                                                         0x00000288
+#define  NV40TCL_COLOR3_OFFSET                                                         0x0000028c
+#define  NV40TCL_VIEWPORT_CLIP_HORIZ(x)                                                        (0x000002c0+((x)*8))
+#define  NV40TCL_VIEWPORT_CLIP_HORIZ__SIZE                                             0x00000008
+#define  NV40TCL_VIEWPORT_CLIP_VERT(x)                                                 (0x000002c4+((x)*8))
+#define  NV40TCL_VIEWPORT_CLIP_VERT__SIZE                                              0x00000008
+#define  NV40TCL_DITHER_ENABLE                                                         0x00000300
+#define  NV40TCL_ALPHA_TEST_ENABLE                                                     0x00000304
+#define  NV40TCL_ALPHA_TEST_FUNC                                                       0x00000308
+#define   NV40TCL_ALPHA_TEST_FUNC_NEVER                                                        0x00000200
+#define   NV40TCL_ALPHA_TEST_FUNC_LESS                                                 0x00000201
+#define   NV40TCL_ALPHA_TEST_FUNC_EQUAL                                                        0x00000202
+#define   NV40TCL_ALPHA_TEST_FUNC_LEQUAL                                               0x00000203
+#define   NV40TCL_ALPHA_TEST_FUNC_GREATER                                              0x00000204
+#define   NV40TCL_ALPHA_TEST_FUNC_GREATER                                              0x00000204
+#define   NV40TCL_ALPHA_TEST_FUNC_NOTEQUAL                                             0x00000205
+#define   NV40TCL_ALPHA_TEST_FUNC_GEQUAL                                               0x00000206
+#define   NV40TCL_ALPHA_TEST_FUNC_ALWAYS                                               0x00000207
+#define  NV40TCL_ALPHA_TEST_REF                                                                0x0000030c
+#define  NV40TCL_BLEND_ENABLE                                                          0x00000310
+#define  NV40TCL_BLEND_FUNC_SRC                                                                0x00000314
+#define   NV40TCL_BLEND_FUNC_SRC_RGB_SHIFT                                             0
+#define   NV40TCL_BLEND_FUNC_SRC_RGB_MASK                                              0x0000ffff
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_ZERO                                             0x00000000
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE                                              0x00000001
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR                                                0x00000300
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR                              0x00000301
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA                                                0x00000302
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA                              0x00000303
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA                                                0x00000304
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA                              0x00000305
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_DST_COLOR                                                0x00000306
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR                              0x00000307
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE                               0x00000308
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR                                   0x00008001
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR                         0x00008002
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA                                   0x00008003
+#define    NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA                         0x00008004
+#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_SHIFT                                           16
+#define   NV40TCL_BLEND_FUNC_SRC_ALPHA_MASK                                            0xffff0000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ZERO                                           0x00000000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE                                            0x00010000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR                                      0x03000000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR                            0x03010000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA                                      0x03020000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA                            0x03030000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA                                      0x03040000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA                            0x03050000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR                                      0x03060000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR                            0x03070000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE                             0x03080000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR                                 0x80010000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR                       0x80020000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA                                 0x80030000
+#define    NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA                       0x80040000
+#define  NV40TCL_BLEND_FUNC_DST                                                                0x00000318
+#define   NV40TCL_BLEND_FUNC_DST_RGB_SHIFT                                             0
+#define   NV40TCL_BLEND_FUNC_DST_RGB_MASK                                              0x0000ffff
+#define    NV40TCL_BLEND_FUNC_DST_RGB_ZERO                                             0x00000000
+#define    NV40TCL_BLEND_FUNC_DST_RGB_ONE                                              0x00000001
+#define    NV40TCL_BLEND_FUNC_DST_RGB_SRC_COLOR                                                0x00000300
+#define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR                              0x00000301
+#define    NV40TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA                                                0x00000302
+#define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA                              0x00000303
+#define    NV40TCL_BLEND_FUNC_DST_RGB_DST_ALPHA                                                0x00000304
+#define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA                              0x00000305
+#define    NV40TCL_BLEND_FUNC_DST_RGB_DST_COLOR                                                0x00000306
+#define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR                              0x00000307
+#define    NV40TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE                               0x00000308
+#define    NV40TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR                                   0x00008001
+#define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR                         0x00008002
+#define    NV40TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA                                   0x00008003
+#define    NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA                         0x00008004
+#define   NV40TCL_BLEND_FUNC_DST_ALPHA_SHIFT                                           16
+#define   NV40TCL_BLEND_FUNC_DST_ALPHA_MASK                                            0xffff0000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_ZERO                                           0x00000000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE                                            0x00010000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR                                      0x03000000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR                            0x03010000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA                                      0x03020000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA                            0x03030000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA                                      0x03040000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA                            0x03050000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR                                      0x03060000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR                            0x03070000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE                             0x03080000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR                                 0x80010000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR                       0x80020000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA                                 0x80030000
+#define    NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA                       0x80040000
+#define  NV40TCL_BLEND_COLOR                                                           0x0000031c
+#define  NV40TCL_BLEND_EQUATION                                                                0x00000320
+#define   NV40TCL_BLEND_EQUATION_RGB_SHIFT                                             0
+#define   NV40TCL_BLEND_EQUATION_RGB_MASK                                              0x0000ffff
+#define    NV40TCL_BLEND_EQUATION_RGB_FUNC_ADD                                         0x00008006
+#define    NV40TCL_BLEND_EQUATION_RGB_MIN                                              0x00008007
+#define    NV40TCL_BLEND_EQUATION_RGB_MAX                                              0x00008008
+#define    NV40TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT                                    0x0000800a
+#define    NV40TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT                            0x0000800b
+#define   NV40TCL_BLEND_EQUATION_ALPHA_SHIFT                                           16
+#define   NV40TCL_BLEND_EQUATION_ALPHA_MASK                                            0xffff0000
+#define    NV40TCL_BLEND_EQUATION_ALPHA_FUNC_ADD                                       0x80060000
+#define    NV40TCL_BLEND_EQUATION_ALPHA_MIN                                            0x80070000
+#define    NV40TCL_BLEND_EQUATION_ALPHA_MAX                                            0x80080000
+#define    NV40TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT                                  0x800a0000
+#define    NV40TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT                          0x800b0000
+#define  NV40TCL_COLOR_MASK                                                            0x00000324
+#define   NV40TCL_COLOR_MASK_BUFFER0_B_SHIFT                                           0
+#define   NV40TCL_COLOR_MASK_BUFFER0_B_MASK                                            0x000000ff
+#define   NV40TCL_COLOR_MASK_BUFFER0_G_SHIFT                                           8
+#define   NV40TCL_COLOR_MASK_BUFFER0_G_MASK                                            0x0000ff00
+#define   NV40TCL_COLOR_MASK_BUFFER0_R_SHIFT                                           16
+#define   NV40TCL_COLOR_MASK_BUFFER0_R_MASK                                            0x00ff0000
+#define   NV40TCL_COLOR_MASK_BUFFER0_A_SHIFT                                           24
+#define   NV40TCL_COLOR_MASK_BUFFER0_A_MASK                                            0xff000000
+#define  NV40TCL_STENCIL_BACK_ENABLE                                                   0x00000328
+#define  NV40TCL_STENCIL_BACK_MASK                                                     0x0000032c
+#define  NV40TCL_STENCIL_BACK_FUNC_FUNC                                                        0x00000330
+#define   NV40TCL_STENCIL_BACK_FUNC_FUNC_NEVER                                         0x00000200
+#define   NV40TCL_STENCIL_BACK_FUNC_FUNC_LESS                                          0x00000201
+#define   NV40TCL_STENCIL_BACK_FUNC_FUNC_EQUAL                                         0x00000202
+#define   NV40TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL                                                0x00000203
+#define   NV40TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                       0x00000204
+#define   NV40TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                       0x00000204
+#define   NV40TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                                      0x00000205
+#define   NV40TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL                                                0x00000206
+#define   NV40TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS                                                0x00000207
+#define  NV40TCL_STENCIL_BACK_FUNC_REF                                                 0x00000334
+#define  NV40TCL_STENCIL_BACK_FUNC_MASK                                                        0x00000338
+#define  NV40TCL_STENCIL_BACK_OP_FAIL                                                  0x0000033c
+#define   NV40TCL_STENCIL_BACK_OP_FAIL_ZERO                                            0x00000000
+#define   NV40TCL_STENCIL_BACK_OP_FAIL_INVERT                                          0x0000150a
+#define   NV40TCL_STENCIL_BACK_OP_FAIL_KEEP                                            0x00001e00
+#define   NV40TCL_STENCIL_BACK_OP_FAIL_REPLACE                                         0x00001e01
+#define   NV40TCL_STENCIL_BACK_OP_FAIL_INCR                                            0x00001e02
+#define   NV40TCL_STENCIL_BACK_OP_FAIL_DECR                                            0x00001e03
+#define   NV40TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP                                       0x00008507
+#define   NV40TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP                                       0x00008508
+#define  NV40TCL_STENCIL_BACK_OP_ZFAIL                                                 0x00000340
+#define   NV40TCL_STENCIL_BACK_OP_ZFAIL_ZERO                                           0x00000000
+#define   NV40TCL_STENCIL_BACK_OP_ZFAIL_INVERT                                         0x0000150a
+#define   NV40TCL_STENCIL_BACK_OP_ZFAIL_KEEP                                           0x00001e00
+#define   NV40TCL_STENCIL_BACK_OP_ZFAIL_REPLACE                                                0x00001e01
+#define   NV40TCL_STENCIL_BACK_OP_ZFAIL_INCR                                           0x00001e02
+#define   NV40TCL_STENCIL_BACK_OP_ZFAIL_DECR                                           0x00001e03
+#define   NV40TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                                      0x00008507
+#define   NV40TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                                      0x00008508
+#define  NV40TCL_STENCIL_BACK_OP_ZPASS                                                 0x00000344
+#define   NV40TCL_STENCIL_BACK_OP_ZPASS_ZERO                                           0x00000000
+#define   NV40TCL_STENCIL_BACK_OP_ZPASS_INVERT                                         0x0000150a
+#define   NV40TCL_STENCIL_BACK_OP_ZPASS_KEEP                                           0x00001e00
+#define   NV40TCL_STENCIL_BACK_OP_ZPASS_REPLACE                                                0x00001e01
+#define   NV40TCL_STENCIL_BACK_OP_ZPASS_INCR                                           0x00001e02
+#define   NV40TCL_STENCIL_BACK_OP_ZPASS_DECR                                           0x00001e03
+#define   NV40TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP                                      0x00008507
+#define   NV40TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP                                      0x00008508
+#define  NV40TCL_STENCIL_FRONT_ENABLE                                                  0x00000348
+#define  NV40TCL_STENCIL_FRONT_MASK                                                    0x0000034c
+#define  NV40TCL_STENCIL_FRONT_FUNC_FUNC                                               0x00000350
+#define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_NEVER                                                0x00000200
+#define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_LESS                                         0x00000201
+#define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL                                                0x00000202
+#define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL                                       0x00000203
+#define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                      0x00000204
+#define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                      0x00000204
+#define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                                     0x00000205
+#define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL                                       0x00000206
+#define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS                                       0x00000207
+#define  NV40TCL_STENCIL_FRONT_FUNC_REF                                                        0x00000354
+#define  NV40TCL_STENCIL_FRONT_FUNC_MASK                                               0x00000358
+#define  NV40TCL_STENCIL_FRONT_OP_FAIL                                                 0x0000035c
+#define   NV40TCL_STENCIL_FRONT_OP_FAIL_ZERO                                           0x00000000
+#define   NV40TCL_STENCIL_FRONT_OP_FAIL_INVERT                                         0x0000150a
+#define   NV40TCL_STENCIL_FRONT_OP_FAIL_KEEP                                           0x00001e00
+#define   NV40TCL_STENCIL_FRONT_OP_FAIL_REPLACE                                                0x00001e01
+#define   NV40TCL_STENCIL_FRONT_OP_FAIL_INCR                                           0x00001e02
+#define   NV40TCL_STENCIL_FRONT_OP_FAIL_DECR                                           0x00001e03
+#define   NV40TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP                                      0x00008507
+#define   NV40TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP                                      0x00008508
+#define  NV40TCL_STENCIL_FRONT_OP_ZFAIL                                                        0x00000360
+#define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_ZERO                                          0x00000000
+#define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_INVERT                                                0x0000150a
+#define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_KEEP                                          0x00001e00
+#define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE                                       0x00001e01
+#define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_INCR                                          0x00001e02
+#define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_DECR                                          0x00001e03
+#define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                                     0x00008507
+#define   NV40TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                                     0x00008508
+#define  NV40TCL_STENCIL_FRONT_OP_ZPASS                                                        0x00000364
+#define   NV40TCL_STENCIL_FRONT_OP_ZPASS_ZERO                                          0x00000000
+#define   NV40TCL_STENCIL_FRONT_OP_ZPASS_INVERT                                                0x0000150a
+#define   NV40TCL_STENCIL_FRONT_OP_ZPASS_KEEP                                          0x00001e00
+#define   NV40TCL_STENCIL_FRONT_OP_ZPASS_REPLACE                                       0x00001e01
+#define   NV40TCL_STENCIL_FRONT_OP_ZPASS_INCR                                          0x00001e02
+#define   NV40TCL_STENCIL_FRONT_OP_ZPASS_DECR                                          0x00001e03
+#define   NV40TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                                     0x00008507
+#define   NV40TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                                     0x00008508
+#define  NV40TCL_SHADE_MODEL                                                           0x00000368
+#define   NV40TCL_SHADE_MODEL_FLAT                                                     0x00001d00
+#define   NV40TCL_SHADE_MODEL_SMOOTH                                                   0x00001d01
+#define  NV40TCL_MRT_COLOR_MASK                                                                0x00000370
+#define   NV40TCL_MRT_COLOR_MASK_BUFFER1_A                                             (1 <<  4)
+#define   NV40TCL_MRT_COLOR_MASK_BUFFER1_R                                             (1 <<  5)
+#define   NV40TCL_MRT_COLOR_MASK_BUFFER1_G                                             (1 <<  6)
+#define   NV40TCL_MRT_COLOR_MASK_BUFFER1_B                                             (1 <<  7)
+#define   NV40TCL_MRT_COLOR_MASK_BUFFER2_A                                             (1 <<  8)
+#define   NV40TCL_MRT_COLOR_MASK_BUFFER2_R                                             (1 <<  9)
+#define   NV40TCL_MRT_COLOR_MASK_BUFFER2_G                                             (1 << 10)
+#define   NV40TCL_MRT_COLOR_MASK_BUFFER2_B                                             (1 << 11)
+#define   NV40TCL_MRT_COLOR_MASK_BUFFER3_A                                             (1 << 12)
+#define   NV40TCL_MRT_COLOR_MASK_BUFFER3_R                                             (1 << 13)
+#define   NV40TCL_MRT_COLOR_MASK_BUFFER3_G                                             (1 << 14)
+#define   NV40TCL_MRT_COLOR_MASK_BUFFER3_B                                             (1 << 15)
+#define  NV40TCL_COLOR_LOGIC_OP_ENABLE                                                 0x00000374
+#define  NV40TCL_COLOR_LOGIC_OP                                                                0x00000378
+#define   NV40TCL_COLOR_LOGIC_OP_CLEAR                                                 0x00001500
+#define   NV40TCL_COLOR_LOGIC_OP_AND                                                   0x00001501
+#define   NV40TCL_COLOR_LOGIC_OP_AND_REVERSE                                           0x00001502
+#define   NV40TCL_COLOR_LOGIC_OP_COPY                                                  0x00001503
+#define   NV40TCL_COLOR_LOGIC_OP_AND_INVERTED                                          0x00001504
+#define   NV40TCL_COLOR_LOGIC_OP_NOOP                                                  0x00001505
+#define   NV40TCL_COLOR_LOGIC_OP_XOR                                                   0x00001506
+#define   NV40TCL_COLOR_LOGIC_OP_OR                                                    0x00001507
+#define   NV40TCL_COLOR_LOGIC_OP_NOR                                                   0x00001508
+#define   NV40TCL_COLOR_LOGIC_OP_EQUIV                                                 0x00001509
+#define   NV40TCL_COLOR_LOGIC_OP_INVERT                                                        0x0000150a
+#define   NV40TCL_COLOR_LOGIC_OP_OR_REVERSE                                            0x0000150b
+#define   NV40TCL_COLOR_LOGIC_OP_COPY_INVERTED                                         0x0000150c
+#define   NV40TCL_COLOR_LOGIC_OP_OR_INVERTED                                           0x0000150d
+#define   NV40TCL_COLOR_LOGIC_OP_NAND                                                  0x0000150e
+#define   NV40TCL_COLOR_LOGIC_OP_SET                                                   0x0000150f
+#define  NV40TCL_DEPTH_RANGE_NEAR                                                      0x00000394
+#define  NV40TCL_DEPTH_RANGE_FAR                                                       0x00000398
+#define  NV40TCL_LINE_WIDTH                                                            0x000003b8
+#define  NV40TCL_LINE_SMOOTH_ENABLE                                                    0x000003bc
+#define  NV40TCL_UNK03C0(x)                                                            (0x000003c0+((x)*4))
+#define  NV40TCL_UNK03C0__SIZE                                                         0x00000010
+#define  NV40TCL_UNK0400(x)                                                            (0x00000400+((x)*4))
+#define  NV40TCL_UNK0400__SIZE                                                         0x00000010
+#define  NV40TCL_UNK0440(x)                                                            (0x00000440+((x)*4))
+#define  NV40TCL_UNK0440__SIZE                                                         0x00000020
+#define  NV40TCL_SCISSOR_HORIZ                                                         0x000008c0
+#define   NV40TCL_SCISSOR_HORIZ_X_SHIFT                                                        0
+#define   NV40TCL_SCISSOR_HORIZ_X_MASK                                                 0x0000ffff
+#define   NV40TCL_SCISSOR_HORIZ_W_SHIFT                                                        16
+#define   NV40TCL_SCISSOR_HORIZ_W_MASK                                                 0xffff0000
+#define  NV40TCL_SCISSOR_VERT                                                          0x000008c4
+#define   NV40TCL_SCISSOR_VERT_Y_SHIFT                                                 0
+#define   NV40TCL_SCISSOR_VERT_Y_MASK                                                  0x0000ffff
+#define   NV40TCL_SCISSOR_VERT_H_SHIFT                                                 16
+#define   NV40TCL_SCISSOR_VERT_H_MASK                                                  0xffff0000
+#define  NV40TCL_FOG_MODE                                                              0x000008cc
+#define  NV40TCL_FOG_EQUATION_CONSTANT                                                 0x000008d0
+#define  NV40TCL_FOG_EQUATION_LINEAR                                                   0x000008d4
+#define  NV40TCL_FOG_EQUATION_QUADRATIC                                                        0x000008d8
+#define  NV40TCL_FP_ADDRESS                                                            0x000008e4
+#define   NV40TCL_FP_ADDRESS_OFFSET_SHIFT                                              8
+#define   NV40TCL_FP_ADDRESS_OFFSET_MASK                                               0xffffff00
+#define   NV40TCL_FP_ADDRESS_DMA1                                                      (1 <<  1)
+#define   NV40TCL_FP_ADDRESS_DMA0                                                      (1 <<  0)
+#define  NV40TCL_VIEWPORT_HORIZ                                                                0x00000a00
+#define   NV40TCL_VIEWPORT_HORIZ_W_SHIFT                                               16
+#define   NV40TCL_VIEWPORT_HORIZ_W_MASK                                                        0xffff0000
+#define   NV40TCL_VIEWPORT_HORIZ_X_SHIFT                                               0
+#define   NV40TCL_VIEWPORT_HORIZ_X_MASK                                                        0x0000ffff
+#define  NV40TCL_VIEWPORT_VERT                                                         0x00000a04
+#define   NV40TCL_VIEWPORT_VERT_H_SHIFT                                                        16
+#define   NV40TCL_VIEWPORT_VERT_H_MASK                                                 0xffff0000
+#define   NV40TCL_VIEWPORT_VERT_Y_SHIFT                                                        0
+#define   NV40TCL_VIEWPORT_VERT_Y_MASK                                                 0x0000ffff
+#define  NV40TCL_VIEWPORT_TRANSLATE_X                                                  0x00000a20
+#define  NV40TCL_VIEWPORT_TRANSLATE_Y                                                  0x00000a24
+#define  NV40TCL_VIEWPORT_TRANSLATE_Z                                                  0x00000a28
+#define  NV40TCL_VIEWPORT_TRANSLATE_W                                                  0x00000a2c
+#define  NV40TCL_VIEWPORT_SCALE_X                                                      0x00000a30
+#define  NV40TCL_VIEWPORT_SCALE_Y                                                      0x00000a34
+#define  NV40TCL_VIEWPORT_SCALE_Z                                                      0x00000a38
+#define  NV40TCL_VIEWPORT_SCALE_W                                                      0x00000a3c
+#define  NV40TCL_POLYGON_OFFSET_FILL_ENABLE                                            0x00000a60
+#define  NV40TCL_POLYGON_OFFSET_LINE_ENABLE                                            0x00000a64
+#define  NV40TCL_POLYGON_OFFSET_POINT_ENABLE                                           0x00000a68
+#define  NV40TCL_DEPTH_FUNC                                                            0x00000a6c
+#define   NV40TCL_DEPTH_FUNC_NEVER                                                     0x00000200
+#define   NV40TCL_DEPTH_FUNC_LESS                                                      0x00000201
+#define   NV40TCL_DEPTH_FUNC_EQUAL                                                     0x00000202
+#define   NV40TCL_DEPTH_FUNC_LEQUAL                                                    0x00000203
+#define   NV40TCL_DEPTH_FUNC_GREATER                                                   0x00000204
+#define   NV40TCL_DEPTH_FUNC_GREATER                                                   0x00000204
+#define   NV40TCL_DEPTH_FUNC_NOTEQUAL                                                  0x00000205
+#define   NV40TCL_DEPTH_FUNC_GEQUAL                                                    0x00000206
+#define   NV40TCL_DEPTH_FUNC_ALWAYS                                                    0x00000207
+#define  NV40TCL_DEPTH_WRITE_ENABLE                                                    0x00000a70
+#define  NV40TCL_DEPTH_TEST_ENABLE                                                     0x00000a74
+#define  NV40TCL_POLYGON_OFFSET_FACTOR                                                 0x00000a78
+#define  NV40TCL_POLYGON_OFFSET_UNITS                                                  0x00000a7c
+#define  NV40TCL_UNK0B40(x)                                                            (0x00000b40+((x)*4))
+#define  NV40TCL_UNK0B40__SIZE                                                         0x00000008
+#define  NV40TCL_VP_UPLOAD_INST(x)                                                     (0x00000b80+((x)*4))
+#define  NV40TCL_VP_UPLOAD_INST__SIZE                                                  0x00000004
+#define  NV40TCL_CLIP_PLANE_ENABLE                                                     0x00001478
+#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE0                                             (1 <<  2)
+#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE1                                             (1 <<  6)
+#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE2                                             (1 << 10)
+#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE3                                             (1 << 14)
+#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE4                                             (1 << 18)
+#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE5                                             (1 << 22)
+#define  NV40TCL_POLYGON_STIPPLE_ENABLE                                                        0x0000147c
+#define  NV40TCL_POLYGON_STIPPLE_PATTERN(x)                                            (0x00001480+((x)*4))
+#define  NV40TCL_POLYGON_STIPPLE_PATTERN__SIZE                                         0x00000020
+#define  NV40TCL_VTX_ATTR_3F_X(x)                                                      (0x00001500+((x)*16))
+#define  NV40TCL_VTX_ATTR_3F_X__SIZE                                                   0x00000010
+#define  NV40TCL_VTX_ATTR_3F_Y(x)                                                      (0x00001504+((x)*16))
+#define  NV40TCL_VTX_ATTR_3F_Y__SIZE                                                   0x00000010
+#define  NV40TCL_VTX_ATTR_3F_Z(x)                                                      (0x00001508+((x)*16))
+#define  NV40TCL_VTX_ATTR_3F_Z__SIZE                                                   0x00000010
+#define  NV40TCL_VTXBUF_ADDRESS(x)                                                     (0x00001680+((x)*4))
+#define  NV40TCL_VTXBUF_ADDRESS__SIZE                                                  0x00000010
+#define   NV40TCL_VTXBUF_ADDRESS_DMA1                                                  (1 << 31)
+#define   NV40TCL_VTXBUF_ADDRESS_OFFSET_SHIFT                                          0
+#define   NV40TCL_VTXBUF_ADDRESS_OFFSET_MASK                                           0x0fffffff
+#define  NV40TCL_VTX_CACHE_INVALIDATE                                                  0x00001714
+#define  NV40TCL_VTXFMT(x)                                                             (0x00001740+((x)*4))
+#define  NV40TCL_VTXFMT__SIZE                                                          0x00000010
+#define   NV40TCL_VTXFMT_TYPE_SHIFT                                                    0
+#define   NV40TCL_VTXFMT_TYPE_MASK                                                     0x0000000f
+#define    NV40TCL_VTXFMT_TYPE_FLOAT                                                   0x00000002
+#define    NV40TCL_VTXFMT_TYPE_UBYTE                                                   0x00000004
+#define   NV40TCL_VTXFMT_SIZE_SHIFT                                                    4
+#define   NV40TCL_VTXFMT_SIZE_MASK                                                     0x000000f0
+#define   NV40TCL_VTXFMT_STRIDE_SHIFT                                                  8
+#define   NV40TCL_VTXFMT_STRIDE_MASK                                                   0x0000ff00
+#define  NV40TCL_QUERY_RESET                                                           0x000017c8
+#define  NV40TCL_QUERY_UNK17CC                                                         0x000017cc
+#define  NV40TCL_QUERY_GET                                                             0x00001800
+#define   NV40TCL_QUERY_GET_UNK24_SHIFT                                                        24
+#define   NV40TCL_QUERY_GET_UNK24_MASK                                                 0xff000000
+#define   NV40TCL_QUERY_GET_OFFSET_SHIFT                                               0
+#define   NV40TCL_QUERY_GET_OFFSET_MASK                                                        0x00ffffff
+#define  NV40TCL_BEGIN_END                                                             0x00001808
+#define   NV40TCL_BEGIN_END_STOP                                                       0x00000000
+#define   NV40TCL_BEGIN_END_POINTS                                                     0x00000001
+#define   NV40TCL_BEGIN_END_LINES                                                      0x00000002
+#define   NV40TCL_BEGIN_END_LINE_LOOP                                                  0x00000003
+#define   NV40TCL_BEGIN_END_LINE_STRIP                                                 0x00000004
+#define   NV40TCL_BEGIN_END_TRIANGLES                                                  0x00000005
+#define   NV40TCL_BEGIN_END_TRIANGLE_STRIP                                             0x00000006
+#define   NV40TCL_BEGIN_END_TRIANGLE_FAN                                               0x00000007
+#define   NV40TCL_BEGIN_END_QUADS                                                      0x00000008
+#define   NV40TCL_BEGIN_END_QUAD_STRIP                                                 0x00000009
+#define   NV40TCL_BEGIN_END_POLYGON                                                    0x0000000a
+#define  NV40TCL_VB_ELEMENT_U16                                                                0x0000180c
+#define   NV40TCL_VB_ELEMENT_U16_1_SHIFT                                               16
+#define   NV40TCL_VB_ELEMENT_U16_1_MASK                                                        0xffff0000
+#define   NV40TCL_VB_ELEMENT_U16_0_SHIFT                                               0
+#define   NV40TCL_VB_ELEMENT_U16_0_MASK                                                        0x0000ffff
+#define  NV40TCL_VB_ELEMENT_U32                                                                0x00001810
+#define  NV40TCL_VB_VERTEX_BATCH                                                       0x00001814
+#define   NV40TCL_VB_VERTEX_BATCH_COUNT_SHIFT                                          24
+#define   NV40TCL_VB_VERTEX_BATCH_COUNT_MASK                                           0xff000000
+#define   NV40TCL_VB_VERTEX_BATCH_START_SHIFT                                          0
+#define   NV40TCL_VB_VERTEX_BATCH_START_MASK                                           0x00ffffff
+#define  NV40TCL_VERTEX_DATA                                                           0x00001818
+#define  NV40TCL_POLYGON_MODE_FRONT                                                    0x00001828
+#define   NV40TCL_POLYGON_MODE_FRONT_POINT                                             0x00001b00
+#define   NV40TCL_POLYGON_MODE_FRONT_LINE                                              0x00001b01
+#define   NV40TCL_POLYGON_MODE_FRONT_FILL                                              0x00001b02
+#define  NV40TCL_POLYGON_MODE_BACK                                                     0x0000182c
+#define   NV40TCL_POLYGON_MODE_BACK_POINT                                              0x00001b00
+#define   NV40TCL_POLYGON_MODE_BACK_LINE                                               0x00001b01
+#define   NV40TCL_POLYGON_MODE_BACK_FILL                                               0x00001b02
+#define  NV40TCL_CULL_FACE                                                             0x00001830
+#define   NV40TCL_CULL_FACE_FRONT                                                      0x00000404
+#define   NV40TCL_CULL_FACE_BACK                                                       0x00000405
+#define   NV40TCL_CULL_FACE_FRONT_AND_BACK                                             0x00000408
+#define  NV40TCL_FRONT_FACE                                                            0x00001834
+#define   NV40TCL_FRONT_FACE_CW                                                                0x00000900
+#define   NV40TCL_FRONT_FACE_CCW                                                       0x00000901
+#define  NV40TCL_POLYGON_SMOOTH_ENABLE                                                 0x00001838
+#define  NV40TCL_CULL_FACE_ENABLE                                                      0x0000183c
+#define  NV40TCL_TEX_SIZE1(x)                                                          (0x00001840+((x)*4))
+#define  NV40TCL_TEX_SIZE1__SIZE                                                       0x00000008
+#define   NV40TCL_TEX_SIZE1_DEPTH_SHIFT                                                        20
+#define   NV40TCL_TEX_SIZE1_DEPTH_MASK                                                 0xfff00000
+#define   NV40TCL_TEX_SIZE1_PITCH_SHIFT                                                        0
+#define   NV40TCL_TEX_SIZE1_PITCH_MASK                                                 0x0000ffff
+#define  NV40TCL_VTX_ATTR_2F_X(x)                                                      (0x00001880+((x)*8))
+#define  NV40TCL_VTX_ATTR_2F_X__SIZE                                                   0x00000010
+#define  NV40TCL_VTX_ATTR_2F_Y(x)                                                      (0x00001884+((x)*8))
+#define  NV40TCL_VTX_ATTR_2F_Y__SIZE                                                   0x00000010
+#define  NV40TCL_VTX_ATTR_2I(x)                                                                (0x00001900+((x)*4))
+#define  NV40TCL_VTX_ATTR_2I__SIZE                                                     0x00000010
+#define   NV40TCL_VTX_ATTR_2I_Y_SHIFT                                                  16
+#define   NV40TCL_VTX_ATTR_2I_Y_MASK                                                   0xffff0000
+#define   NV40TCL_VTX_ATTR_2I_X_SHIFT                                                  0
+#define   NV40TCL_VTX_ATTR_2I_X_MASK                                                   0x0000ffff
+#define  NV40TCL_VTX_ATTR_4I_0(x)                                                      (0x00001900+((x)*8))
+#define  NV40TCL_VTX_ATTR_4I_0__SIZE                                                   0x00000010
+#define   NV40TCL_VTX_ATTR_4I_0_Y_SHIFT                                                        16
+#define   NV40TCL_VTX_ATTR_4I_0_Y_MASK                                                 0xffff0000
+#define   NV40TCL_VTX_ATTR_4I_0_X_SHIFT                                                        0
+#define   NV40TCL_VTX_ATTR_4I_0_X_MASK                                                 0x0000ffff
+#define  NV40TCL_VTX_ATTR_4I_1(x)                                                      (0x00001904+((x)*8))
+#define  NV40TCL_VTX_ATTR_4I_1__SIZE                                                   0x00000010
+#define   NV40TCL_VTX_ATTR_4I_1_W_SHIFT                                                        16
+#define   NV40TCL_VTX_ATTR_4I_1_W_MASK                                                 0xffff0000
+#define   NV40TCL_VTX_ATTR_4I_1_Z_SHIFT                                                        0
+#define   NV40TCL_VTX_ATTR_4I_1_Z_MASK                                                 0x0000ffff
+#define  NV40TCL_TEX_OFFSET(x)                                                         (0x00001a00+((x)*32))
+#define  NV40TCL_TEX_OFFSET__SIZE                                                      0x00000010
+#define  NV40TCL_TEX_FORMAT(x)                                                         (0x00001a04+((x)*32))
+#define  NV40TCL_TEX_FORMAT__SIZE                                                      0x00000010
+#define   NV40TCL_TEX_FORMAT_MIPMAP_COUNT_SHIFT                                                16
+#define   NV40TCL_TEX_FORMAT_MIPMAP_COUNT_MASK                                         0x000f0000
+#define   NV40TCL_TEX_FORMAT_RECT                                                      (1 << 14)
+#define   NV40TCL_TEX_FORMAT_LINEAR                                                    (1 << 13)
+#define   NV40TCL_TEX_FORMAT_FORMAT_SHIFT                                              8
+#define   NV40TCL_TEX_FORMAT_FORMAT_MASK                                               0x00001f00
+#define    NV40TCL_TEX_FORMAT_FORMAT_L8                                                        0x00000100
+#define    NV40TCL_TEX_FORMAT_FORMAT_A1R5G5B5                                          0x00000200
+#define    NV40TCL_TEX_FORMAT_FORMAT_A4R4G4B4                                          0x00000300
+#define    NV40TCL_TEX_FORMAT_FORMAT_R5G6B5                                            0x00000400
+#define    NV40TCL_TEX_FORMAT_FORMAT_A8R8G8B8                                          0x00000500
+#define    NV40TCL_TEX_FORMAT_FORMAT_DXT1                                              0x00000600
+#define    NV40TCL_TEX_FORMAT_FORMAT_DXT3                                              0x00000700
+#define    NV40TCL_TEX_FORMAT_FORMAT_DXT5                                              0x00000800
+#define    NV40TCL_TEX_FORMAT_FORMAT_A8L8                                              0x00001800
+#define   NV40TCL_TEX_FORMAT_DIMS_SHIFT                                                        4
+#define   NV40TCL_TEX_FORMAT_DIMS_MASK                                                 0x000000f0
+#define    NV40TCL_TEX_FORMAT_DIMS_1D                                                  0x00000010
+#define    NV40TCL_TEX_FORMAT_DIMS_2D                                                  0x00000020
+#define    NV40TCL_TEX_FORMAT_DIMS_3D                                                  0x00000030
+#define   NV40TCL_TEX_FORMAT_NO_BORDER                                                 (1 <<  3)
+#define   NV40TCL_TEX_FORMAT_CUBIC                                                     (1 <<  2)
+#define   NV40TCL_TEX_FORMAT_DMA1                                                      (1 <<  1)
+#define   NV40TCL_TEX_FORMAT_DMA0                                                      (1 <<  0)
+#define  NV40TCL_TEX_WRAP(x)                                                           (0x00001a08+((x)*32))
+#define  NV40TCL_TEX_WRAP__SIZE                                                                0x00000010
+#define   NV40TCL_TEX_WRAP_S_SHIFT                                                     0
+#define   NV40TCL_TEX_WRAP_S_MASK                                                      0x000000ff
+#define    NV40TCL_TEX_WRAP_S_REPEAT                                                   0x00000001
+#define    NV40TCL_TEX_WRAP_S_MIRRORED_REPEAT                                          0x00000002
+#define    NV40TCL_TEX_WRAP_S_CLAMP_TO_EDGE                                            0x00000003
+#define    NV40TCL_TEX_WRAP_S_CLAMP_TO_BORDER                                          0x00000004
+#define    NV40TCL_TEX_WRAP_S_CLAMP                                                    0x00000005
+#define    NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_EDGE                                     0x00000006
+#define    NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_BORDER                                   0x00000007
+#define    NV40TCL_TEX_WRAP_S_MIRROR_CLAMP                                             0x00000008
+#define   NV40TCL_TEX_WRAP_T_SHIFT                                                     8
+#define   NV40TCL_TEX_WRAP_T_MASK                                                      0x0000ff00
+#define    NV40TCL_TEX_WRAP_T_REPEAT                                                   0x00000100
+#define    NV40TCL_TEX_WRAP_T_MIRRORED_REPEAT                                          0x00000200
+#define    NV40TCL_TEX_WRAP_T_CLAMP_TO_EDGE                                            0x00000300
+#define    NV40TCL_TEX_WRAP_T_CLAMP_TO_BORDER                                          0x00000400
+#define    NV40TCL_TEX_WRAP_T_CLAMP                                                    0x00000500
+#define    NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_EDGE                                     0x00000600
+#define    NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_BORDER                                   0x00000700
+#define    NV40TCL_TEX_WRAP_T_MIRROR_CLAMP                                             0x00000800
+#define   NV40TCL_TEX_WRAP_R_SHIFT                                                     16
+#define   NV40TCL_TEX_WRAP_R_MASK                                                      0x00ff0000
+#define    NV40TCL_TEX_WRAP_R_REPEAT                                                   0x00010000
+#define    NV40TCL_TEX_WRAP_R_MIRRORED_REPEAT                                          0x00020000
+#define    NV40TCL_TEX_WRAP_R_CLAMP_TO_EDGE                                            0x00030000
+#define    NV40TCL_TEX_WRAP_R_CLAMP_TO_BORDER                                          0x00040000
+#define    NV40TCL_TEX_WRAP_R_CLAMP                                                    0x00050000
+#define    NV40TCL_TEX_WRAP_R_MIRROR_CLAMP_TO_EDGE                                     0x00060000
+#define    NV40TCL_TEX_WRAP_R_MIRROR_CLAMP_TO_BORDER                                   0x00070000
+#define    NV40TCL_TEX_WRAP_R_MIRROR_CLAMP                                             0x00080000
+#define  NV40TCL_TEX_ENABLE(x)                                                         (0x00001a0c+((x)*32))
+#define  NV40TCL_TEX_ENABLE__SIZE                                                      0x00000010
+#define   NV40TCL_TEX_ENABLE_ENABLE                                                    (1 << 31)
+#define  NV40TCL_TEX_SWIZZLE(x)                                                                (0x00001a10+((x)*32))
+#define  NV40TCL_TEX_SWIZZLE__SIZE                                                     0x00000010
+#define   NV40TCL_TEX_SWIZZLE_S0_X_SHIFT                                               14
+#define   NV40TCL_TEX_SWIZZLE_S0_X_MASK                                                        0x0000c000
+#define    NV40TCL_TEX_SWIZZLE_S0_X_ZERO                                               0x00000000
+#define    NV40TCL_TEX_SWIZZLE_S0_X_ONE                                                        0x00004000
+#define    NV40TCL_TEX_SWIZZLE_S0_X_S1                                                 0x00008000
+#define   NV40TCL_TEX_SWIZZLE_S0_Y_SHIFT                                               12
+#define   NV40TCL_TEX_SWIZZLE_S0_Y_MASK                                                        0x00003000
+#define    NV40TCL_TEX_SWIZZLE_S0_Y_ZERO                                               0x00000000
+#define    NV40TCL_TEX_SWIZZLE_S0_Y_ONE                                                        0x00001000
+#define    NV40TCL_TEX_SWIZZLE_S0_Y_S1                                                 0x00002000
+#define   NV40TCL_TEX_SWIZZLE_S0_Z_SHIFT                                               10
+#define   NV40TCL_TEX_SWIZZLE_S0_Z_MASK                                                        0x00000c00
+#define    NV40TCL_TEX_SWIZZLE_S0_Z_ZERO                                               0x00000000
+#define    NV40TCL_TEX_SWIZZLE_S0_Z_ONE                                                        0x00000400
+#define    NV40TCL_TEX_SWIZZLE_S0_Z_S1                                                 0x00000800
+#define   NV40TCL_TEX_SWIZZLE_S0_W_SHIFT                                               8
+#define   NV40TCL_TEX_SWIZZLE_S0_W_MASK                                                        0x00000300
+#define    NV40TCL_TEX_SWIZZLE_S0_W_ZERO                                               0x00000000
+#define    NV40TCL_TEX_SWIZZLE_S0_W_ONE                                                        0x00000100
+#define    NV40TCL_TEX_SWIZZLE_S0_W_S1                                                 0x00000200
+#define   NV40TCL_TEX_SWIZZLE_S1_X_SHIFT                                               6
+#define   NV40TCL_TEX_SWIZZLE_S1_X_MASK                                                        0x000000c0
+#define    NV40TCL_TEX_SWIZZLE_S1_X_W                                                  0x00000000
+#define    NV40TCL_TEX_SWIZZLE_S1_X_Z                                                  0x00000040
+#define    NV40TCL_TEX_SWIZZLE_S1_X_Y                                                  0x00000080
+#define    NV40TCL_TEX_SWIZZLE_S1_X_X                                                  0x000000c0
+#define   NV40TCL_TEX_SWIZZLE_S1_Y_SHIFT                                               4
+#define   NV40TCL_TEX_SWIZZLE_S1_Y_MASK                                                        0x00000030
+#define    NV40TCL_TEX_SWIZZLE_S1_Y_W                                                  0x00000000
+#define    NV40TCL_TEX_SWIZZLE_S1_Y_Z                                                  0x00000010
+#define    NV40TCL_TEX_SWIZZLE_S1_Y_Y                                                  0x00000020
+#define    NV40TCL_TEX_SWIZZLE_S1_Y_X                                                  0x00000030
+#define   NV40TCL_TEX_SWIZZLE_S1_Z_SHIFT                                               2
+#define   NV40TCL_TEX_SWIZZLE_S1_Z_MASK                                                        0x0000000c
+#define    NV40TCL_TEX_SWIZZLE_S1_Z_W                                                  0x00000000
+#define    NV40TCL_TEX_SWIZZLE_S1_Z_Z                                                  0x00000004
+#define    NV40TCL_TEX_SWIZZLE_S1_Z_Y                                                  0x00000008
+#define    NV40TCL_TEX_SWIZZLE_S1_Z_X                                                  0x0000000c
+#define   NV40TCL_TEX_SWIZZLE_S1_W_SHIFT                                               0
+#define   NV40TCL_TEX_SWIZZLE_S1_W_MASK                                                        0x00000003
+#define    NV40TCL_TEX_SWIZZLE_S1_W_W                                                  0x00000000
+#define    NV40TCL_TEX_SWIZZLE_S1_W_Z                                                  0x00000001
+#define    NV40TCL_TEX_SWIZZLE_S1_W_Y                                                  0x00000002
+#define    NV40TCL_TEX_SWIZZLE_S1_W_X                                                  0x00000003
+#define  NV40TCL_TEX_FILTER(x)                                                         (0x00001a14+((x)*32))
+#define  NV40TCL_TEX_FILTER__SIZE                                                      0x00000010
+#define   NV40TCL_TEX_FILTER_MIN_SHIFT                                                 16
+#define   NV40TCL_TEX_FILTER_MIN_MASK                                                  0x000f0000
+#define    NV40TCL_TEX_FILTER_MIN_NEAREST                                              0x00010000
+#define    NV40TCL_TEX_FILTER_MIN_LINEAR                                               0x00020000
+#define    NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_NEAREST                               0x00030000
+#define    NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_NEAREST                                        0x00040000
+#define    NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_LINEAR                                        0x00050000
+#define    NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_LINEAR                                 0x00060000
+#define   NV40TCL_TEX_FILTER_MAG_SHIFT                                                 24
+#define   NV40TCL_TEX_FILTER_MAG_MASK                                                  0x0f000000
+#define    NV40TCL_TEX_FILTER_MAG_NEAREST                                              0x01000000
+#define    NV40TCL_TEX_FILTER_MAG_LINEAR                                               0x02000000
+#define    NV40TCL_TEX_FILTER_MAG_NEAREST_MIPMAP_NEAREST                               0x03000000
+#define    NV40TCL_TEX_FILTER_MAG_LINEAR_MIPMAP_NEAREST                                        0x04000000
+#define    NV40TCL_TEX_FILTER_MAG_NEAREST_MIPMAP_LINEAR                                        0x05000000
+#define    NV40TCL_TEX_FILTER_MAG_LINEAR_MIPMAP_LINEAR                                 0x06000000
+#define  NV40TCL_TEX_SIZE0(x)                                                          (0x00001a18+((x)*32))
+#define  NV40TCL_TEX_SIZE0__SIZE                                                       0x00000010
+#define   NV40TCL_TEX_SIZE0_H_SHIFT                                                    0
+#define   NV40TCL_TEX_SIZE0_H_MASK                                                     0x0000ffff
+#define   NV40TCL_TEX_SIZE0_W_SHIFT                                                    16
+#define   NV40TCL_TEX_SIZE0_W_MASK                                                     0xffff0000
+#define  NV40TCL_TEX_BORDER_COLOR(x)                                                   (0x00001a1c+((x)*32))
+#define  NV40TCL_TEX_BORDER_COLOR__SIZE                                                        0x00000010
+#define   NV40TCL_TEX_BORDER_COLOR_B_SHIFT                                             0
+#define   NV40TCL_TEX_BORDER_COLOR_B_MASK                                              0x000000ff
+#define   NV40TCL_TEX_BORDER_COLOR_G_SHIFT                                             8
+#define   NV40TCL_TEX_BORDER_COLOR_G_MASK                                              0x0000ff00
+#define   NV40TCL_TEX_BORDER_COLOR_R_SHIFT                                             16
+#define   NV40TCL_TEX_BORDER_COLOR_R_MASK                                              0x00ff0000
+#define   NV40TCL_TEX_BORDER_COLOR_A_SHIFT                                             24
+#define   NV40TCL_TEX_BORDER_COLOR_A_MASK                                              0xff000000
+#define  NV40TCL_VTX_ATTR_4F_X(x)                                                      (0x00001c00+((x)*16))
+#define  NV40TCL_VTX_ATTR_4F_X__SIZE                                                   0x00000010
+#define  NV40TCL_VTX_ATTR_4F_Y(x)                                                      (0x00001c04+((x)*16))
+#define  NV40TCL_VTX_ATTR_4F_Y__SIZE                                                   0x00000010
+#define  NV40TCL_VTX_ATTR_4F_Z(x)                                                      (0x00001c08+((x)*16))
+#define  NV40TCL_VTX_ATTR_4F_Z__SIZE                                                   0x00000010
+#define  NV40TCL_VTX_ATTR_4F_W(x)                                                      (0x00001c0c+((x)*16))
+#define  NV40TCL_VTX_ATTR_4F_W__SIZE                                                   0x00000010
+#define  NV40TCL_FP_CONTROL                                                            0x00001d60
+#define   NV40TCL_FP_CONTROL_TEMP_COUNT_SHIFT                                          24
+#define   NV40TCL_FP_CONTROL_TEMP_COUNT_MASK                                           0xff000000
+#define   NV40TCL_FP_CONTROL_KIL                                                       (1 <<  7)
+#define  NV40TCL_FENCE_OFFSET                                                          0x00001d6c
+#define  NV40TCL_FENCE_VALUE                                                           0x00001d70
+#define  NV40TCL_CLEAR_VALUE_DEPTH                                                     0x00001d8c
+#define  NV40TCL_CLEAR_VALUE_COLOR                                                     0x00001d90
+#define  NV40TCL_CLEAR_BUFFERS                                                         0x00001d94
+#define   NV40TCL_CLEAR_BUFFERS_COLOR_A                                                        (1 <<  7)
+#define   NV40TCL_CLEAR_BUFFERS_COLOR_B                                                        (1 <<  6)
+#define   NV40TCL_CLEAR_BUFFERS_COLOR_G                                                        (1 <<  5)
+#define   NV40TCL_CLEAR_BUFFERS_COLOR_R                                                        (1 <<  4)
+#define   NV40TCL_CLEAR_BUFFERS_STENCIL                                                        (1 <<  1)
+#define   NV40TCL_CLEAR_BUFFERS_DEPTH                                                  (1 <<  0)
+#define  NV40TCL_LINE_STIPPLE_ENABLE                                                   0x00001db4
+#define  NV40TCL_LINE_STIPPLE_PATTERN                                                  0x00001db8
+#define   NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_SHIFT                                    0
+#define   NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_MASK                                     0x0000ffff
+#define   NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_SHIFT                                   16
+#define   NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_MASK                                    0xffff0000
+#define  NV40TCL_VP_UPLOAD_FROM_ID                                                     0x00001e9c
+#define  NV40TCL_VP_START_FROM_ID                                                      0x00001ea0
+#define  NV40TCL_POINT_SIZE                                                            0x00001ee0
+#define  NV40TCL_POINT_SPRITE                                                          0x00001ee8
+#define  NV40TCL_VP_UPLOAD_CONST_ID                                                    0x00001efc
+#define  NV40TCL_VP_UPLOAD_CONST_X(x)                                                  (0x00001f00+((x)*16))
+#define  NV40TCL_VP_UPLOAD_CONST_X__SIZE                                               0x00000004
+#define  NV40TCL_VP_UPLOAD_CONST_Y(x)                                                  (0x00001f04+((x)*16))
+#define  NV40TCL_VP_UPLOAD_CONST_Y__SIZE                                               0x00000004
+#define  NV40TCL_VP_UPLOAD_CONST_Z(x)                                                  (0x00001f08+((x)*16))
+#define  NV40TCL_VP_UPLOAD_CONST_Z__SIZE                                               0x00000004
+#define  NV40TCL_VP_UPLOAD_CONST_W(x)                                                  (0x00001f0c+((x)*16))
+#define  NV40TCL_VP_UPLOAD_CONST_W__SIZE                                               0x00000004
+#define  NV40TCL_TEX_CACHE_CTL                                                         0x00001fd8
+#define  NV40TCL_VP_ATTRIB_EN                                                          0x00001ff0
+#define  NV40TCL_VP_RESULT_EN                                                          0x00001ff4
+
+
+#define NV44TCL                                                                                0x00004497
+
+
+
+#define NV50_2D                                                                                0x0000502d
+
+#define  NV50_2D_NOP                                                                   0x00000100
+#define  NV50_2D_NOTIFY                                                                        0x00000104
+#define  NV50_2D_DMA_NOTIFY                                                            0x00000180
+#define  NV50_2D_DMA_IN_MEMORY0                                                                0x00000184
+#define  NV50_2D_DMA_IN_MEMORY1                                                                0x00000188
+#define  NV50_2D_DMA_IN_MEMORY2                                                                0x0000018c
+#define  NV50_2D_DST_FORMAT                                                            0x00000200
+#define   NV50_2D_DST_FORMAT_32BPP                                                     0x000000cf
+#define   NV50_2D_DST_FORMAT_24BPP                                                     0x000000e6
+#define   NV50_2D_DST_FORMAT_16BPP                                                     0x000000e8
+#define   NV50_2D_DST_FORMAT_8BPP                                                      0x000000f3
+#define   NV50_2D_DST_FORMAT_15BPP                                                     0x000000f8
+#define  NV50_2D_DST_PITCH                                                             0x00000214
+#define  NV50_2D_DST_WIDTH                                                             0x00000218
+#define  NV50_2D_DST_HEIGHT                                                            0x0000021c
+#define  NV50_2D_DST_ADDRESS_HIGH                                                      0x00000220
+#define  NV50_2D_DST_ADDRESS_LOW                                                       0x00000224
+#define  NV50_2D_SRC_FORMAT                                                            0x00000230
+#define   NV50_2D_SRC_FORMAT_32BPP                                                     0x000000cf
+#define   NV50_2D_SRC_FORMAT_24BPP                                                     0x000000e6
+#define   NV50_2D_SRC_FORMAT_16BPP                                                     0x000000e8
+#define   NV50_2D_SRC_FORMAT_8BPP                                                      0x000000f3
+#define   NV50_2D_SRC_FORMAT_15BPP                                                     0x000000f8
+#define  NV50_2D_SRC_PITCH                                                             0x00000244
+#define  NV50_2D_SRC_WIDTH                                                             0x00000248
+#define  NV50_2D_SRC_HEIGHT                                                            0x0000024c
+#define  NV50_2D_SRC_ADDRESS_HIGH                                                      0x00000250
+#define  NV50_2D_SRC_ADDRESS_LOW                                                       0x00000254
+#define  NV50_2D_CLIP_X                                                                        0x00000280
+#define  NV50_2D_CLIP_Y                                                                        0x00000284
+#define  NV50_2D_CLIP_Z                                                                        0x00000288
+#define  NV50_2D_CLIP_W                                                                        0x0000028c
+#define  NV50_2D_ROP                                                                   0x000002a0
+#define  NV50_2D_OPERATION                                                             0x000002ac
+#define   NV50_2D_OPERATION_SRCCOPY_AND                                                        0x00000000
+#define   NV50_2D_OPERATION_ROP_AND                                                    0x00000001
+#define   NV50_2D_OPERATION_BLEND_AND                                                  0x00000002
+#define   NV50_2D_OPERATION_SRCCOPY                                                    0x00000003
+#define   NV50_2D_OPERATION_SRCCOPY_PREMULT                                            0x00000004
+#define   NV50_2D_OPERATION_BLEND_PREMULT                                              0x00000005
+#define  NV50_2D_PATTERN_FORMAT                                                                0x000002e8
+#define   NV50_2D_PATTERN_FORMAT_16BPP                                                 0x00000000
+#define   NV50_2D_PATTERN_FORMAT_15BPP                                                 0x00000001
+#define   NV50_2D_PATTERN_FORMAT_32BPP                                                 0x00000002
+#define   NV50_2D_PATTERN_FORMAT_8BPP                                                  0x00000003
+#define  NV50_2D_PATTERN_COLOR(x)                                                      (0x000002f0+((x)*4))
+#define  NV50_2D_PATTERN_COLOR__SIZE                                                   0x00000002
+#define  NV50_2D_PATTERN_BITMAP(x)                                                     (0x000002f8+((x)*4))
+#define  NV50_2D_PATTERN_BITMAP__SIZE                                                  0x00000002
+#define  NV50_2D_RECT_FORMAT                                                           0x00000584
+#define   NV50_2D_RECT_FORMAT_32BPP                                                    0x000000cf
+#define   NV50_2D_RECT_FORMAT_24BPP                                                    0x000000e6
+#define   NV50_2D_RECT_FORMAT_16BPP                                                    0x000000e8
+#define   NV50_2D_RECT_FORMAT_8BPP                                                     0x000000f3
+#define   NV50_2D_RECT_FORMAT_15BPP                                                    0x000000f8
+#define  NV50_2D_RECT_COLOR                                                            0x00000588
+#define  NV50_2D_RECT_X1                                                               0x00000600
+#define  NV50_2D_RECT_Y1                                                               0x00000604
+#define  NV50_2D_RECT_X2                                                               0x00000608
+#define  NV50_2D_RECT_Y2                                                               0x0000060c
+#define  NV50_2D_BLIT_DST_X                                                            0x000008b0
+#define  NV50_2D_BLIT_DST_Y                                                            0x000008b4
+#define  NV50_2D_BLIT_DST_W                                                            0x000008b8
+#define  NV50_2D_BLIT_DST_H                                                            0x000008bc
+#define  NV50_2D_BLIT_SRC_X                                                            0x000008d4
+#define  NV50_2D_BLIT_SRC_Y                                                            0x000008dc
+
+
+#define NV50_MEMORY_TO_MEMORY_FORMAT                                                   0x00005039
+
+
+
+#define NV50TCL                                                                                0x00005097
+
+#define  NV50TCL_NOP                                                                   0x00000100
+#define  NV50TCL_NOTIFY                                                                        0x00000104
+#define  NV50TCL_DMA_NOTIFY                                                            0x00000180
+#define  NV50TCL_DMA_IN_MEMORY0(x)                                                     (0x00000184+((x)*4))
+#define  NV50TCL_DMA_IN_MEMORY0__SIZE                                                  0x0000000b
+#define  NV50TCL_DMA_IN_MEMORY1(x)                                                     (0x000001c0+((x)*4))
+#define  NV50TCL_DMA_IN_MEMORY1__SIZE                                                  0x00000008
+#define  NV50TCL_RT_ADDRESS_HIGH(x)                                                    (0x00000200+((x)*32))
+#define  NV50TCL_RT_ADDRESS_HIGH__SIZE                                                 0x00000008
+#define  NV50TCL_RT_ADDRESS_LOW(x)                                                     (0x00000204+((x)*32))
+#define  NV50TCL_RT_ADDRESS_LOW__SIZE                                                  0x00000008
+#define  NV50TCL_RT_FORMAT(x)                                                          (0x00000208+((x)*32))
+#define  NV50TCL_RT_FORMAT__SIZE                                                       0x00000008
+#define  NV50TCL_RT_UNK3(x)                                                            (0x0000020c+((x)*32))
+#define  NV50TCL_RT_UNK3__SIZE                                                         0x00000008
+#define  NV50TCL_RT_UNK4(x)                                                            (0x00000210+((x)*32))
+#define  NV50TCL_RT_UNK4__SIZE                                                         0x00000008
+#define  NV50TCL_VTX_ATTR_1F(x)                                                                (0x00000300+((x)*4))
+#define  NV50TCL_VTX_ATTR_1F__SIZE                                                     0x00000010
+#define  NV50TCL_VTX_ATTR_2F_X(x)                                                      (0x00000380+((x)*8))
+#define  NV50TCL_VTX_ATTR_2F_X__SIZE                                                   0x00000010
+#define  NV50TCL_VTX_ATTR_2F_Y(x)                                                      (0x00000384+((x)*8))
+#define  NV50TCL_VTX_ATTR_2F_Y__SIZE                                                   0x00000010
+#define  NV50TCL_VTX_ATTR_3F_X(x)                                                      (0x00000400+((x)*16))
+#define  NV50TCL_VTX_ATTR_3F_X__SIZE                                                   0x00000010
+#define  NV50TCL_VTX_ATTR_3F_Y(x)                                                      (0x00000404+((x)*16))
+#define  NV50TCL_VTX_ATTR_3F_Y__SIZE                                                   0x00000010
+#define  NV50TCL_VTX_ATTR_3F_Z(x)                                                      (0x00000408+((x)*16))
+#define  NV50TCL_VTX_ATTR_3F_Z__SIZE                                                   0x00000010
+#define  NV50TCL_VTX_ATTR_3F_W(x)                                                      (0x0000040c+((x)*16))
+#define  NV50TCL_VTX_ATTR_3F_W__SIZE                                                   0x00000010
+#define  NV50TCL_VTX_ATTR_4F_X(x)                                                      (0x00000500+((x)*16))
+#define  NV50TCL_VTX_ATTR_4F_X__SIZE                                                   0x00000010
+#define  NV50TCL_VTX_ATTR_4F_Y(x)                                                      (0x00000504+((x)*16))
+#define  NV50TCL_VTX_ATTR_4F_Y__SIZE                                                   0x00000010
+#define  NV50TCL_VTX_ATTR_4F_Z(x)                                                      (0x00000508+((x)*16))
+#define  NV50TCL_VTX_ATTR_4F_Z__SIZE                                                   0x00000010
+#define  NV50TCL_VTX_ATTR_4F_W(x)                                                      (0x0000050c+((x)*16))
+#define  NV50TCL_VTX_ATTR_4F_W__SIZE                                                   0x00000010
+#define  NV50TCL_VTX_ATTR_2I(x)                                                                (0x00000680+((x)*4))
+#define  NV50TCL_VTX_ATTR_2I__SIZE                                                     0x00000010
+#define   NV50TCL_VTX_ATTR_2I_X_SHIFT                                                  0
+#define   NV50TCL_VTX_ATTR_2I_X_MASK                                                   0x0000ffff
+#define   NV50TCL_VTX_ATTR_2I_Y_SHIFT                                                  16
+#define   NV50TCL_VTX_ATTR_2I_Y_MASK                                                   0xffff0000
+#define  NV50TCL_VTX_ATTR_4I_0(x)                                                      (0x00000700+((x)*8))
+#define  NV50TCL_VTX_ATTR_4I_0__SIZE                                                   0x00000010
+#define   NV50TCL_VTX_ATTR_4I_0_X_SHIFT                                                        0
+#define   NV50TCL_VTX_ATTR_4I_0_X_MASK                                                 0x0000ffff
+#define   NV50TCL_VTX_ATTR_4I_0_Y_SHIFT                                                        16
+#define   NV50TCL_VTX_ATTR_4I_0_Y_MASK                                                 0xffff0000
+#define  NV50TCL_VTX_ATTR_4I_1(x)                                                      (0x00000704+((x)*8))
+#define  NV50TCL_VTX_ATTR_4I_1__SIZE                                                   0x00000010
+#define   NV50TCL_VTX_ATTR_4I_1_Z_SHIFT                                                        0
+#define   NV50TCL_VTX_ATTR_4I_1_Z_MASK                                                 0x0000ffff
+#define   NV50TCL_VTX_ATTR_4I_1_W_SHIFT                                                        16
+#define   NV50TCL_VTX_ATTR_4I_1_W_MASK                                                 0xffff0000
+#define  NV50TCL_VTX_ATTR_4NI_0(x)                                                     (0x00000780+((x)*8))
+#define  NV50TCL_VTX_ATTR_4NI_0__SIZE                                                  0x00000010
+#define   NV50TCL_VTX_ATTR_4NI_0_X_SHIFT                                               0
+#define   NV50TCL_VTX_ATTR_4NI_0_X_MASK                                                        0x0000ffff
+#define   NV50TCL_VTX_ATTR_4NI_0_Y_SHIFT                                               16
+#define   NV50TCL_VTX_ATTR_4NI_0_Y_MASK                                                        0xffff0000
+#define  NV50TCL_VTX_ATTR_4NI_1(x)                                                     (0x00000784+((x)*8))
+#define  NV50TCL_VTX_ATTR_4NI_1__SIZE                                                  0x00000010
+#define   NV50TCL_VTX_ATTR_4NI_1_Z_SHIFT                                               0
+#define   NV50TCL_VTX_ATTR_4NI_1_Z_MASK                                                        0x0000ffff
+#define   NV50TCL_VTX_ATTR_4NI_1_W_SHIFT                                               16
+#define   NV50TCL_VTX_ATTR_4NI_1_W_MASK                                                        0xffff0000
+#define  NV50TCL_VERTEX_ARRAY_FORMAT(x)                                                        (0x00000900+((x)*16))
+#define  NV50TCL_VERTEX_ARRAY_FORMAT__SIZE                                             0x00000010
+#define  NV50TCL_VIEWPORT_UNK0(x)                                                      (0x00000a00+((x)*4))
+#define  NV50TCL_VIEWPORT_UNK0__SIZE                                                   0x00000003
+#define  NV50TCL_VIEWPORT_UNK1(x)                                                      (0x00000a0c+((x)*4))
+#define  NV50TCL_VIEWPORT_UNK1__SIZE                                                   0x00000003
+#define  NV50TCL_VIEWPORT_HORIZ                                                                0x00000c00
+#define   NV50TCL_VIEWPORT_HORIZ_X_SHIFT                                               0
+#define   NV50TCL_VIEWPORT_HORIZ_X_MASK                                                        0x0000ffff
+#define   NV50TCL_VIEWPORT_HORIZ_W_SHIFT                                               16
+#define   NV50TCL_VIEWPORT_HORIZ_W_MASK                                                        0xffff0000
+#define  NV50TCL_VIEWPORT_VERT                                                         0x00000c04
+#define   NV50TCL_VIEWPORT_VERT_Y_SHIFT                                                        0
+#define   NV50TCL_VIEWPORT_VERT_Y_MASK                                                 0x0000ffff
+#define   NV50TCL_VIEWPORT_VERT_H_SHIFT                                                        16
+#define   NV50TCL_VIEWPORT_VERT_H_MASK                                                 0xffff0000
+#define  NV50TCL_DEPTH_RANGE_NEAR                                                      0x00000c08
+#define  NV50TCL_DEPTH_RANGE_FAR                                                       0x00000c0c
+#define  NV50TCL_VIEWPORT_CLIP_HORIZ(x)                                                        (0x00000d00+((x)*8))
+#define  NV50TCL_VIEWPORT_CLIP_HORIZ__SIZE                                             0x00000008
+#define  NV50TCL_VIEWPORT_CLIP_VERT(x)                                                 (0x00000d04+((x)*8))
+#define  NV50TCL_VIEWPORT_CLIP_VERT__SIZE                                              0x00000008
+#define  NV50TCL_VERTEX_BUFFER_FIRST                                                   0x00000d74
+#define  NV50TCL_VERTEX_BUFFER_COUNT                                                   0x00000d78
+#define  NV50TCL_CLEAR_COLOR(x)                                                                (0x00000d80+((x)*4))
+#define  NV50TCL_CLEAR_COLOR__SIZE                                                     0x00000004
+#define  NV50TCL_CLEAR_DEPTH                                                           0x00000d90
+#define  NV50TCL_CLEAR_STENCIL                                                         0x00000da0
+#define  NV50TCL_POLYGON_MODE_FRONT                                                    0x00000dac
+#define   NV50TCL_POLYGON_MODE_FRONT_POINT                                             0x00001b00
+#define   NV50TCL_POLYGON_MODE_FRONT_LINE                                              0x00001b01
+#define   NV50TCL_POLYGON_MODE_FRONT_FILL                                              0x00001b02
+#define  NV50TCL_POLYGON_MODE_BACK                                                     0x00000db0
+#define   NV50TCL_POLYGON_MODE_BACK_POINT                                              0x00001b00
+#define   NV50TCL_POLYGON_MODE_BACK_LINE                                               0x00001b01
+#define   NV50TCL_POLYGON_MODE_BACK_FILL                                               0x00001b02
+#define  NV50TCL_POLYGON_SMOOTH_ENABLE                                                 0x00000db4
+#define  NV50TCL_POLYGON_OFFSET_POINT_ENABLE                                           0x00000dc0
+#define  NV50TCL_POLYGON_OFFSET_LINE_ENABLE                                            0x00000dc4
+#define  NV50TCL_POLYGON_OFFSET_FILL_ENABLE                                            0x00000dc8
+#define  NV50TCL_SCISSOR_HORIZ                                                         0x00000e04
+#define   NV50TCL_SCISSOR_HORIZ_L_SHIFT                                                        0
+#define   NV50TCL_SCISSOR_HORIZ_L_MASK                                                 0x0000ffff
+#define   NV50TCL_SCISSOR_HORIZ_R_SHIFT                                                        16
+#define   NV50TCL_SCISSOR_HORIZ_R_MASK                                                 0xffff0000
+#define  NV50TCL_SCISSOR_VERT                                                          0x00000e08
+#define   NV50TCL_SCISSOR_VERT_T_SHIFT                                                 0
+#define   NV50TCL_SCISSOR_VERT_T_MASK                                                  0x0000ffff
+#define   NV50TCL_SCISSOR_VERT_B_SHIFT                                                 16
+#define   NV50TCL_SCISSOR_VERT_B_MASK                                                  0xffff0000
+#define  NV50TCL_VP_UPLOAD_CONST_ID                                                    0x00000f00
+#define  NV50TCL_VP_UPLOAD_CONST(x)                                                    (0x00000f04+((x)*4))
+#define  NV50TCL_VP_UPLOAD_CONST__SIZE                                                 0x00000010
+#define  NV50TCL_STENCIL_FRONT_FUNC_REF                                                        0x00000f54
+#define  NV50TCL_STENCIL_FRONT_MASK                                                    0x00000f58
+#define  NV50TCL_STENCIL_FRONT_FUNC_MASK                                               0x00000f5c
+#define  NV50TCL_GP_ADDRESS_HIGH                                                       0x00000f70
+#define  NV50TCL_GP_ADDRESS_LOW                                                                0x00000f74
+#define  NV50TCL_VP_ADDRESS_HIGH                                                       0x00000f7c
+#define  NV50TCL_VP_ADDRESS_LOW                                                                0x00000f80
+#define  NV50TCL_FP_ADDRESS_HIGH                                                       0x00000fa4
+#define  NV50TCL_FP_ADDRESS_LOW                                                                0x00000fa8
+#define  NV50TCL_ZETA_ADDRESS_HIGH                                                     0x00000fe0
+#define  NV50TCL_ZETA_ADDRESS_LOW                                                      0x00000fe4
+#define  NV50TCL_UNKFF4                                                                        0x00000ff4
+#define   NV50TCL_UNKFF4_W_SHIFT                                                       16
+#define   NV50TCL_UNKFF4_W_MASK                                                                0xffff0000
+#define  NV50TCL_UNKFF8                                                                        0x00000ff8
+#define   NV50TCL_UNKFF8_H_SHIFT                                                       16
+#define   NV50TCL_UNKFF8_H_MASK                                                                0xffff0000
+#define  NV50TCL_RT_HORIZ(x)                                                           (0x00001240+((x)*8))
+#define  NV50TCL_RT_HORIZ__SIZE                                                                0x00000008
+#define  NV50TCL_RT_VERT(x)                                                            (0x00001244+((x)*8))
+#define  NV50TCL_RT_VERT__SIZE                                                         0x00000008
+#define  NV50TCL_DEPTH_TEST_ENABLE                                                     0x000012cc
+#define  NV50TCL_SHADE_MODEL                                                           0x000012d4
+#define   NV50TCL_SHADE_MODEL_FLAT                                                     0x00001d00
+#define   NV50TCL_SHADE_MODEL_SMOOTH                                                   0x00001d01
+#define  NV50TCL_DEPTH_WRITE_ENABLE                                                    0x000012e8
+#define  NV50TCL_ALPHA_TEST_ENABLE                                                     0x000012ec
+#define  NV50TCL_DEPTH_TEST_FUNC                                                       0x0000130c
+#define   NV50TCL_DEPTH_TEST_FUNC_NEVER                                                        0x00000200
+#define   NV50TCL_DEPTH_TEST_FUNC_LESS                                                 0x00000201
+#define   NV50TCL_DEPTH_TEST_FUNC_EQUAL                                                        0x00000202
+#define   NV50TCL_DEPTH_TEST_FUNC_LEQUAL                                               0x00000203
+#define   NV50TCL_DEPTH_TEST_FUNC_GREATER                                              0x00000204
+#define   NV50TCL_DEPTH_TEST_FUNC_GREATER                                              0x00000204
+#define   NV50TCL_DEPTH_TEST_FUNC_NOTEQUAL                                             0x00000205
+#define   NV50TCL_DEPTH_TEST_FUNC_GEQUAL                                               0x00000206
+#define   NV50TCL_DEPTH_TEST_FUNC_ALWAYS                                               0x00000207
+#define  NV50TCL_ALPHA_TEST_REF                                                                0x00001310
+#define  NV50TCL_ALPHA_TEST_FUNC                                                       0x00001314
+#define   NV50TCL_ALPHA_TEST_FUNC_NEVER                                                        0x00000200
+#define   NV50TCL_ALPHA_TEST_FUNC_LESS                                                 0x00000201
+#define   NV50TCL_ALPHA_TEST_FUNC_EQUAL                                                        0x00000202
+#define   NV50TCL_ALPHA_TEST_FUNC_LEQUAL                                               0x00000203
+#define   NV50TCL_ALPHA_TEST_FUNC_GREATER                                              0x00000204
+#define   NV50TCL_ALPHA_TEST_FUNC_GREATER                                              0x00000204
+#define   NV50TCL_ALPHA_TEST_FUNC_NOTEQUAL                                             0x00000205
+#define   NV50TCL_ALPHA_TEST_FUNC_GEQUAL                                               0x00000206
+#define   NV50TCL_ALPHA_TEST_FUNC_ALWAYS                                               0x00000207
+#define  NV50TCL_BLEND_COLOR(x)                                                                (0x0000131c+((x)*4))
+#define  NV50TCL_BLEND_COLOR__SIZE                                                     0x00000004
+#define  NV50TCL_BLEND_EQUATION_RGB                                                    0x00001340
+#define   NV50TCL_BLEND_EQUATION_RGB_FUNC_ADD                                          0x00008006
+#define   NV50TCL_BLEND_EQUATION_RGB_MIN                                               0x00008007
+#define   NV50TCL_BLEND_EQUATION_RGB_MAX                                               0x00008008
+#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_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_EQUATION_ALPHA                                                  0x0000134c
+#define   NV50TCL_BLEND_EQUATION_ALPHA_FUNC_ADD                                                0x00008006
+#define   NV50TCL_BLEND_EQUATION_ALPHA_MIN                                             0x00008007
+#define   NV50TCL_BLEND_EQUATION_ALPHA_MAX                                             0x00008008
+#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_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_ENABLE(x)                                                       (0x00001360+((x)*4))
+#define  NV50TCL_BLEND_ENABLE__SIZE                                                    0x00000008
+#define  NV50TCL_STENCIL_BACK_ENABLE                                                   0x00001380
+#define  NV50TCL_STENCIL_BACK_OP_FAIL                                                  0x00001384
+#define   NV50TCL_STENCIL_BACK_OP_FAIL_ZERO                                            0x00000000
+#define   NV50TCL_STENCIL_BACK_OP_FAIL_INVERT                                          0x0000150a
+#define   NV50TCL_STENCIL_BACK_OP_FAIL_KEEP                                            0x00001e00
+#define   NV50TCL_STENCIL_BACK_OP_FAIL_REPLACE                                         0x00001e01
+#define   NV50TCL_STENCIL_BACK_OP_FAIL_INCR                                            0x00001e02
+#define   NV50TCL_STENCIL_BACK_OP_FAIL_DECR                                            0x00001e03
+#define   NV50TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP                                       0x00008507
+#define   NV50TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP                                       0x00008508
+#define  NV50TCL_STENCIL_BACK_OP_ZFAIL                                                 0x00001388
+#define   NV50TCL_STENCIL_BACK_OP_ZFAIL_ZERO                                           0x00000000
+#define   NV50TCL_STENCIL_BACK_OP_ZFAIL_INVERT                                         0x0000150a
+#define   NV50TCL_STENCIL_BACK_OP_ZFAIL_KEEP                                           0x00001e00
+#define   NV50TCL_STENCIL_BACK_OP_ZFAIL_REPLACE                                                0x00001e01
+#define   NV50TCL_STENCIL_BACK_OP_ZFAIL_INCR                                           0x00001e02
+#define   NV50TCL_STENCIL_BACK_OP_ZFAIL_DECR                                           0x00001e03
+#define   NV50TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                                      0x00008507
+#define   NV50TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                                      0x00008508
+#define  NV50TCL_STENCIL_BACK_OP_ZPASS                                                 0x0000138c
+#define   NV50TCL_STENCIL_BACK_OP_ZPASS_ZERO                                           0x00000000
+#define   NV50TCL_STENCIL_BACK_OP_ZPASS_INVERT                                         0x0000150a
+#define   NV50TCL_STENCIL_BACK_OP_ZPASS_KEEP                                           0x00001e00
+#define   NV50TCL_STENCIL_BACK_OP_ZPASS_REPLACE                                                0x00001e01
+#define   NV50TCL_STENCIL_BACK_OP_ZPASS_INCR                                           0x00001e02
+#define   NV50TCL_STENCIL_BACK_OP_ZPASS_DECR                                           0x00001e03
+#define   NV50TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP                                      0x00008507
+#define   NV50TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP                                      0x00008508
+#define  NV50TCL_STENCIL_BACK_FUNC_FUNC                                                        0x00001390
+#define   NV50TCL_STENCIL_BACK_FUNC_FUNC_NEVER                                         0x00000200
+#define   NV50TCL_STENCIL_BACK_FUNC_FUNC_LESS                                          0x00000201
+#define   NV50TCL_STENCIL_BACK_FUNC_FUNC_EQUAL                                         0x00000202
+#define   NV50TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL                                                0x00000203
+#define   NV50TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                       0x00000204
+#define   NV50TCL_STENCIL_BACK_FUNC_FUNC_GREATER                                       0x00000204
+#define   NV50TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                                      0x00000205
+#define   NV50TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL                                                0x00000206
+#define   NV50TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS                                                0x00000207
+#define  NV50TCL_STENCIL_BACK_FUNC_REF                                                 0x00001394
+#define  NV50TCL_STENCIL_BACK_MASK                                                     0x00001398
+#define  NV50TCL_STENCIL_BACK_FUNC_MASK                                                        0x0000139c
+#define  NV50TCL_LINE_WIDTH                                                            0x000013b0
+#define  NV50TCL_VP_START_ID                                                           0x0000140c
+#define  NV50TCL_GP_START_ID                                                           0x00001410
+#define  NV50TCL_FP_START_ID                                                           0x00001414
+#define  NV50TCL_POINT_SIZE                                                            0x00001518
+#define  NV50TCL_TEX_CB0_ADDRESS_HIGH                                                  0x0000155c
+#define  NV50TCL_TEX_CB0_ADDRESS_LOW                                                   0x00001560
+#define  NV50TCL_POLYGON_OFFSET_FACTOR                                                 0x0000156c
+#define  NV50TCL_LINE_SMOOTH_ENABLE                                                    0x00001570
+#define  NV50TCL_TEX_CB1_ADDRESS_HIGH                                                  0x00001574
+#define  NV50TCL_TEX_CB1_ADDRESS_LOW                                                   0x00001578
+#define  NV50TCL_STENCIL_FRONT_ENABLE                                                  0x00001594
+#define  NV50TCL_STENCIL_FRONT_OP_FAIL                                                 0x00001598
+#define   NV50TCL_STENCIL_FRONT_OP_FAIL_ZERO                                           0x00000000
+#define   NV50TCL_STENCIL_FRONT_OP_FAIL_INVERT                                         0x0000150a
+#define   NV50TCL_STENCIL_FRONT_OP_FAIL_KEEP                                           0x00001e00
+#define   NV50TCL_STENCIL_FRONT_OP_FAIL_REPLACE                                                0x00001e01
+#define   NV50TCL_STENCIL_FRONT_OP_FAIL_INCR                                           0x00001e02
+#define   NV50TCL_STENCIL_FRONT_OP_FAIL_DECR                                           0x00001e03
+#define   NV50TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP                                      0x00008507
+#define   NV50TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP                                      0x00008508
+#define  NV50TCL_STENCIL_FRONT_OP_ZFAIL                                                        0x0000159c
+#define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_ZERO                                          0x00000000
+#define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_INVERT                                                0x0000150a
+#define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_KEEP                                          0x00001e00
+#define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE                                       0x00001e01
+#define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_INCR                                          0x00001e02
+#define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_DECR                                          0x00001e03
+#define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                                     0x00008507
+#define   NV50TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                                     0x00008508
+#define  NV50TCL_STENCIL_FRONT_OP_ZPASS                                                        0x000015a0
+#define   NV50TCL_STENCIL_FRONT_OP_ZPASS_ZERO                                          0x00000000
+#define   NV50TCL_STENCIL_FRONT_OP_ZPASS_INVERT                                                0x0000150a
+#define   NV50TCL_STENCIL_FRONT_OP_ZPASS_KEEP                                          0x00001e00
+#define   NV50TCL_STENCIL_FRONT_OP_ZPASS_REPLACE                                       0x00001e01
+#define   NV50TCL_STENCIL_FRONT_OP_ZPASS_INCR                                          0x00001e02
+#define   NV50TCL_STENCIL_FRONT_OP_ZPASS_DECR                                          0x00001e03
+#define   NV50TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                                     0x00008507
+#define   NV50TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                                     0x00008508
+#define  NV50TCL_STENCIL_FRONT_FUNC_FUNC                                               0x000015a4
+#define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_NEVER                                                0x00000200
+#define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_LESS                                         0x00000201
+#define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL                                                0x00000202
+#define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL                                       0x00000203
+#define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                      0x00000204
+#define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_GREATER                                      0x00000204
+#define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                                     0x00000205
+#define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL                                       0x00000206
+#define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS                                       0x00000207
+#define  NV50TCL_POLYGON_OFFSET_UNITS                                                  0x000015bc
+#define  NV50TCL_VERTEX_BEGIN                                                          0x000015dc
+#define   NV50TCL_VERTEX_BEGIN_POINTS                                                  0x00000000
+#define   NV50TCL_VERTEX_BEGIN_LINES                                                   0x00000001
+#define   NV50TCL_VERTEX_BEGIN_LINE_LOOP                                               0x00000002
+#define   NV50TCL_VERTEX_BEGIN_LINE_STRIP                                              0x00000003
+#define   NV50TCL_VERTEX_BEGIN_TRIANGLES                                               0x00000004
+#define   NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP                                          0x00000005
+#define   NV50TCL_VERTEX_BEGIN_TRIANGLE_FAN                                            0x00000006
+#define   NV50TCL_VERTEX_BEGIN_QUADS                                                   0x00000007
+#define   NV50TCL_VERTEX_BEGIN_QUAD_STRIP                                              0x00000008
+#define   NV50TCL_VERTEX_BEGIN_POLYGON                                                 0x00000009
+#define  NV50TCL_VERTEX_END                                                            0x000015e0
+#define  NV50TCL_VERTEX_DATA                                                           0x00001640
+#define  NV50TCL_VP_ATTR_EN_0                                                          0x00001650
+#define   NV50TCL_VP_ATTR_EN_0_7_SHIFT                                                 28
+#define   NV50TCL_VP_ATTR_EN_0_7_MASK                                                  0xf0000000
+#define    NV50TCL_VP_ATTR_EN_0_7_NONE                                                 0x00000000
+#define    NV50TCL_VP_ATTR_EN_0_7_XNNN                                                 0x10000000
+#define    NV50TCL_VP_ATTR_EN_0_7_NYNN                                                 0x20000000
+#define    NV50TCL_VP_ATTR_EN_0_7_XYNN                                                 0x30000000
+#define    NV50TCL_VP_ATTR_EN_0_7_NNZN                                                 0x40000000
+#define    NV50TCL_VP_ATTR_EN_0_7_XNZN                                                 0x50000000
+#define    NV50TCL_VP_ATTR_EN_0_7_NYZN                                                 0x60000000
+#define    NV50TCL_VP_ATTR_EN_0_7_XYZN                                                 0x70000000
+#define    NV50TCL_VP_ATTR_EN_0_7_NNNW                                                 0x80000000
+#define    NV50TCL_VP_ATTR_EN_0_7_XNNW                                                 0x90000000
+#define    NV50TCL_VP_ATTR_EN_0_7_NYNW                                                 0xa0000000
+#define    NV50TCL_VP_ATTR_EN_0_7_XYNW                                                 0xb0000000
+#define    NV50TCL_VP_ATTR_EN_0_7_NNZW                                                 0xc0000000
+#define    NV50TCL_VP_ATTR_EN_0_7_XNZW                                                 0xd0000000
+#define    NV50TCL_VP_ATTR_EN_0_7_NYZW                                                 0xe0000000
+#define    NV50TCL_VP_ATTR_EN_0_7_XYZW                                                 0xf0000000
+#define   NV50TCL_VP_ATTR_EN_0_6_SHIFT                                                 24
+#define   NV50TCL_VP_ATTR_EN_0_6_MASK                                                  0x0f000000
+#define    NV50TCL_VP_ATTR_EN_0_6_NONE                                                 0x00000000
+#define    NV50TCL_VP_ATTR_EN_0_6_XNNN                                                 0x01000000
+#define    NV50TCL_VP_ATTR_EN_0_6_NYNN                                                 0x02000000
+#define    NV50TCL_VP_ATTR_EN_0_6_XYNN                                                 0x03000000
+#define    NV50TCL_VP_ATTR_EN_0_6_NNZN                                                 0x04000000
+#define    NV50TCL_VP_ATTR_EN_0_6_XNZN                                                 0x05000000
+#define    NV50TCL_VP_ATTR_EN_0_6_NYZN                                                 0x06000000
+#define    NV50TCL_VP_ATTR_EN_0_6_XYZN                                                 0x07000000
+#define    NV50TCL_VP_ATTR_EN_0_6_NNNW                                                 0x08000000
+#define    NV50TCL_VP_ATTR_EN_0_6_XNNW                                                 0x09000000
+#define    NV50TCL_VP_ATTR_EN_0_6_NYNW                                                 0x0a000000
+#define    NV50TCL_VP_ATTR_EN_0_6_XYNW                                                 0x0b000000
+#define    NV50TCL_VP_ATTR_EN_0_6_NNZW                                                 0x0c000000
+#define    NV50TCL_VP_ATTR_EN_0_6_XNZW                                                 0x0d000000
+#define    NV50TCL_VP_ATTR_EN_0_6_NYZW                                                 0x0e000000
+#define    NV50TCL_VP_ATTR_EN_0_6_XYZW                                                 0x0f000000
+#define   NV50TCL_VP_ATTR_EN_0_5_SHIFT                                                 20
+#define   NV50TCL_VP_ATTR_EN_0_5_MASK                                                  0x00f00000
+#define    NV50TCL_VP_ATTR_EN_0_5_NONE                                                 0x00000000
+#define    NV50TCL_VP_ATTR_EN_0_5_XNNN                                                 0x00100000
+#define    NV50TCL_VP_ATTR_EN_0_5_NYNN                                                 0x00200000
+#define    NV50TCL_VP_ATTR_EN_0_5_XYNN                                                 0x00300000
+#define    NV50TCL_VP_ATTR_EN_0_5_NNZN                                                 0x00400000
+#define    NV50TCL_VP_ATTR_EN_0_5_XNZN                                                 0x00500000
+#define    NV50TCL_VP_ATTR_EN_0_5_NYZN                                                 0x00600000
+#define    NV50TCL_VP_ATTR_EN_0_5_XYZN                                                 0x00700000
+#define    NV50TCL_VP_ATTR_EN_0_5_NNNW                                                 0x00800000
+#define    NV50TCL_VP_ATTR_EN_0_5_XNNW                                                 0x00900000
+#define    NV50TCL_VP_ATTR_EN_0_5_NYNW                                                 0x00a00000
+#define    NV50TCL_VP_ATTR_EN_0_5_XYNW                                                 0x00b00000
+#define    NV50TCL_VP_ATTR_EN_0_5_NNZW                                                 0x00c00000
+#define    NV50TCL_VP_ATTR_EN_0_5_XNZW                                                 0x00d00000
+#define    NV50TCL_VP_ATTR_EN_0_5_NYZW                                                 0x00e00000
+#define    NV50TCL_VP_ATTR_EN_0_5_XYZW                                                 0x00f00000
+#define   NV50TCL_VP_ATTR_EN_0_4_SHIFT                                                 16
+#define   NV50TCL_VP_ATTR_EN_0_4_MASK                                                  0x000f0000
+#define    NV50TCL_VP_ATTR_EN_0_4_NONE                                                 0x00000000
+#define    NV50TCL_VP_ATTR_EN_0_4_XNNN                                                 0x00010000
+#define    NV50TCL_VP_ATTR_EN_0_4_NYNN                                                 0x00020000
+#define    NV50TCL_VP_ATTR_EN_0_4_XYNN                                                 0x00030000
+#define    NV50TCL_VP_ATTR_EN_0_4_NNZN                                                 0x00040000
+#define    NV50TCL_VP_ATTR_EN_0_4_XNZN                                                 0x00050000
+#define    NV50TCL_VP_ATTR_EN_0_4_NYZN                                                 0x00060000
+#define    NV50TCL_VP_ATTR_EN_0_4_XYZN                                                 0x00070000
+#define    NV50TCL_VP_ATTR_EN_0_4_NNNW                                                 0x00080000
+#define    NV50TCL_VP_ATTR_EN_0_4_XNNW                                                 0x00090000
+#define    NV50TCL_VP_ATTR_EN_0_4_NYNW                                                 0x000a0000
+#define    NV50TCL_VP_ATTR_EN_0_4_XYNW                                                 0x000b0000
+#define    NV50TCL_VP_ATTR_EN_0_4_NNZW                                                 0x000c0000
+#define    NV50TCL_VP_ATTR_EN_0_4_XNZW                                                 0x000d0000
+#define    NV50TCL_VP_ATTR_EN_0_4_NYZW                                                 0x000e0000
+#define    NV50TCL_VP_ATTR_EN_0_4_XYZW                                                 0x000f0000
+#define   NV50TCL_VP_ATTR_EN_0_3_SHIFT                                                 12
+#define   NV50TCL_VP_ATTR_EN_0_3_MASK                                                  0x0000f000
+#define    NV50TCL_VP_ATTR_EN_0_3_NONE                                                 0x00000000
+#define    NV50TCL_VP_ATTR_EN_0_3_XNNN                                                 0x00001000
+#define    NV50TCL_VP_ATTR_EN_0_3_NYNN                                                 0x00002000
+#define    NV50TCL_VP_ATTR_EN_0_3_XYNN                                                 0x00003000
+#define    NV50TCL_VP_ATTR_EN_0_3_NNZN                                                 0x00004000
+#define    NV50TCL_VP_ATTR_EN_0_3_XNZN                                                 0x00005000
+#define    NV50TCL_VP_ATTR_EN_0_3_NYZN                                                 0x00006000
+#define    NV50TCL_VP_ATTR_EN_0_3_XYZN                                                 0x00007000
+#define    NV50TCL_VP_ATTR_EN_0_3_NNNW                                                 0x00008000
+#define    NV50TCL_VP_ATTR_EN_0_3_XNNW                                                 0x00009000
+#define    NV50TCL_VP_ATTR_EN_0_3_NYNW                                                 0x0000a000
+#define    NV50TCL_VP_ATTR_EN_0_3_XYNW                                                 0x0000b000
+#define    NV50TCL_VP_ATTR_EN_0_3_NNZW                                                 0x0000c000
+#define    NV50TCL_VP_ATTR_EN_0_3_XNZW                                                 0x0000d000
+#define    NV50TCL_VP_ATTR_EN_0_3_NYZW                                                 0x0000e000
+#define    NV50TCL_VP_ATTR_EN_0_3_XYZW                                                 0x0000f000
+#define   NV50TCL_VP_ATTR_EN_0_2_SHIFT                                                 8
+#define   NV50TCL_VP_ATTR_EN_0_2_MASK                                                  0x00000f00
+#define    NV50TCL_VP_ATTR_EN_0_2_NONE                                                 0x00000000
+#define    NV50TCL_VP_ATTR_EN_0_2_XNNN                                                 0x00000100
+#define    NV50TCL_VP_ATTR_EN_0_2_NYNN                                                 0x00000200
+#define    NV50TCL_VP_ATTR_EN_0_2_XYNN                                                 0x00000300
+#define    NV50TCL_VP_ATTR_EN_0_2_NNZN                                                 0x00000400
+#define    NV50TCL_VP_ATTR_EN_0_2_XNZN                                                 0x00000500
+#define    NV50TCL_VP_ATTR_EN_0_2_NYZN                                                 0x00000600
+#define    NV50TCL_VP_ATTR_EN_0_2_XYZN                                                 0x00000700
+#define    NV50TCL_VP_ATTR_EN_0_2_NNNW                                                 0x00000800
+#define    NV50TCL_VP_ATTR_EN_0_2_XNNW                                                 0x00000900
+#define    NV50TCL_VP_ATTR_EN_0_2_NYNW                                                 0x00000a00
+#define    NV50TCL_VP_ATTR_EN_0_2_XYNW                                                 0x00000b00
+#define    NV50TCL_VP_ATTR_EN_0_2_NNZW                                                 0x00000c00
+#define    NV50TCL_VP_ATTR_EN_0_2_XNZW                                                 0x00000d00
+#define    NV50TCL_VP_ATTR_EN_0_2_NYZW                                                 0x00000e00
+#define    NV50TCL_VP_ATTR_EN_0_2_XYZW                                                 0x00000f00
+#define   NV50TCL_VP_ATTR_EN_0_1_SHIFT                                                 4
+#define   NV50TCL_VP_ATTR_EN_0_1_MASK                                                  0x000000f0
+#define    NV50TCL_VP_ATTR_EN_0_1_NONE                                                 0x00000000
+#define    NV50TCL_VP_ATTR_EN_0_1_XNNN                                                 0x00000010
+#define    NV50TCL_VP_ATTR_EN_0_1_NYNN                                                 0x00000020
+#define    NV50TCL_VP_ATTR_EN_0_1_XYNN                                                 0x00000030
+#define    NV50TCL_VP_ATTR_EN_0_1_NNZN                                                 0x00000040
+#define    NV50TCL_VP_ATTR_EN_0_1_XNZN                                                 0x00000050
+#define    NV50TCL_VP_ATTR_EN_0_1_NYZN                                                 0x00000060
+#define    NV50TCL_VP_ATTR_EN_0_1_XYZN                                                 0x00000070
+#define    NV50TCL_VP_ATTR_EN_0_1_NNNW                                                 0x00000080
+#define    NV50TCL_VP_ATTR_EN_0_1_XNNW                                                 0x00000090
+#define    NV50TCL_VP_ATTR_EN_0_1_NYNW                                                 0x000000a0
+#define    NV50TCL_VP_ATTR_EN_0_1_XYNW                                                 0x000000b0
+#define    NV50TCL_VP_ATTR_EN_0_1_NNZW                                                 0x000000c0
+#define    NV50TCL_VP_ATTR_EN_0_1_XNZW                                                 0x000000d0
+#define    NV50TCL_VP_ATTR_EN_0_1_NYZW                                                 0x000000e0
+#define    NV50TCL_VP_ATTR_EN_0_1_XYZW                                                 0x000000f0
+#define   NV50TCL_VP_ATTR_EN_0_0_SHIFT                                                 0
+#define   NV50TCL_VP_ATTR_EN_0_0_MASK                                                  0x0000000f
+#define    NV50TCL_VP_ATTR_EN_0_0_NONE                                                 0x00000000
+#define    NV50TCL_VP_ATTR_EN_0_0_XNNN                                                 0x00000001
+#define    NV50TCL_VP_ATTR_EN_0_0_NYNN                                                 0x00000002
+#define    NV50TCL_VP_ATTR_EN_0_0_XYNN                                                 0x00000003
+#define    NV50TCL_VP_ATTR_EN_0_0_NNZN                                                 0x00000004
+#define    NV50TCL_VP_ATTR_EN_0_0_XNZN                                                 0x00000005
+#define    NV50TCL_VP_ATTR_EN_0_0_NYZN                                                 0x00000006
+#define    NV50TCL_VP_ATTR_EN_0_0_XYZN                                                 0x00000007
+#define    NV50TCL_VP_ATTR_EN_0_0_NNNW                                                 0x00000008
+#define    NV50TCL_VP_ATTR_EN_0_0_XNNW                                                 0x00000009
+#define    NV50TCL_VP_ATTR_EN_0_0_NYNW                                                 0x0000000a
+#define    NV50TCL_VP_ATTR_EN_0_0_XYNW                                                 0x0000000b
+#define    NV50TCL_VP_ATTR_EN_0_0_NNZW                                                 0x0000000c
+#define    NV50TCL_VP_ATTR_EN_0_0_XNZW                                                 0x0000000d
+#define    NV50TCL_VP_ATTR_EN_0_0_NYZW                                                 0x0000000e
+#define    NV50TCL_VP_ATTR_EN_0_0_XYZW                                                 0x0000000f
+#define  NV50TCL_VP_ATTR_EN_1                                                          0x00001654
+#define   NV50TCL_VP_ATTR_EN_1_15_SHIFT                                                        28
+#define   NV50TCL_VP_ATTR_EN_1_15_MASK                                                 0xf0000000
+#define    NV50TCL_VP_ATTR_EN_1_15_NONE                                                        0x00000000
+#define    NV50TCL_VP_ATTR_EN_1_15_XNNN                                                        0x10000000
+#define    NV50TCL_VP_ATTR_EN_1_15_NYNN                                                        0x20000000
+#define    NV50TCL_VP_ATTR_EN_1_15_XYNN                                                        0x30000000
+#define    NV50TCL_VP_ATTR_EN_1_15_NNZN                                                        0x40000000
+#define    NV50TCL_VP_ATTR_EN_1_15_XNZN                                                        0x50000000
+#define    NV50TCL_VP_ATTR_EN_1_15_NYZN                                                        0x60000000
+#define    NV50TCL_VP_ATTR_EN_1_15_XYZN                                                        0x70000000
+#define    NV50TCL_VP_ATTR_EN_1_15_NNNW                                                        0x80000000
+#define    NV50TCL_VP_ATTR_EN_1_15_XNNW                                                        0x90000000
+#define    NV50TCL_VP_ATTR_EN_1_15_NYNW                                                        0xa0000000
+#define    NV50TCL_VP_ATTR_EN_1_15_XYNW                                                        0xb0000000
+#define    NV50TCL_VP_ATTR_EN_1_15_NNZW                                                        0xc0000000
+#define    NV50TCL_VP_ATTR_EN_1_15_XNZW                                                        0xd0000000
+#define    NV50TCL_VP_ATTR_EN_1_15_NYZW                                                        0xe0000000
+#define    NV50TCL_VP_ATTR_EN_1_15_XYZW                                                        0xf0000000
+#define   NV50TCL_VP_ATTR_EN_1_14_SHIFT                                                        24
+#define   NV50TCL_VP_ATTR_EN_1_14_MASK                                                 0x0f000000
+#define    NV50TCL_VP_ATTR_EN_1_14_NONE                                                        0x00000000
+#define    NV50TCL_VP_ATTR_EN_1_14_XNNN                                                        0x01000000
+#define    NV50TCL_VP_ATTR_EN_1_14_NYNN                                                        0x02000000
+#define    NV50TCL_VP_ATTR_EN_1_14_XYNN                                                        0x03000000
+#define    NV50TCL_VP_ATTR_EN_1_14_NNZN                                                        0x04000000
+#define    NV50TCL_VP_ATTR_EN_1_14_XNZN                                                        0x05000000
+#define    NV50TCL_VP_ATTR_EN_1_14_NYZN                                                        0x06000000
+#define    NV50TCL_VP_ATTR_EN_1_14_XYZN                                                        0x07000000
+#define    NV50TCL_VP_ATTR_EN_1_14_NNNW                                                        0x08000000
+#define    NV50TCL_VP_ATTR_EN_1_14_XNNW                                                        0x09000000
+#define    NV50TCL_VP_ATTR_EN_1_14_NYNW                                                        0x0a000000
+#define    NV50TCL_VP_ATTR_EN_1_14_XYNW                                                        0x0b000000
+#define    NV50TCL_VP_ATTR_EN_1_14_NNZW                                                        0x0c000000
+#define    NV50TCL_VP_ATTR_EN_1_14_XNZW                                                        0x0d000000
+#define    NV50TCL_VP_ATTR_EN_1_14_NYZW                                                        0x0e000000
+#define    NV50TCL_VP_ATTR_EN_1_14_XYZW                                                        0x0f000000
+#define   NV50TCL_VP_ATTR_EN_1_13_SHIFT                                                        20
+#define   NV50TCL_VP_ATTR_EN_1_13_MASK                                                 0x00f00000
+#define    NV50TCL_VP_ATTR_EN_1_13_NONE                                                        0x00000000
+#define    NV50TCL_VP_ATTR_EN_1_13_XNNN                                                        0x00100000
+#define    NV50TCL_VP_ATTR_EN_1_13_NYNN                                                        0x00200000
+#define    NV50TCL_VP_ATTR_EN_1_13_XYNN                                                        0x00300000
+#define    NV50TCL_VP_ATTR_EN_1_13_NNZN                                                        0x00400000
+#define    NV50TCL_VP_ATTR_EN_1_13_XNZN                                                        0x00500000
+#define    NV50TCL_VP_ATTR_EN_1_13_NYZN                                                        0x00600000
+#define    NV50TCL_VP_ATTR_EN_1_13_XYZN                                                        0x00700000
+#define    NV50TCL_VP_ATTR_EN_1_13_NNNW                                                        0x00800000
+#define    NV50TCL_VP_ATTR_EN_1_13_XNNW                                                        0x00900000
+#define    NV50TCL_VP_ATTR_EN_1_13_NYNW                                                        0x00a00000
+#define    NV50TCL_VP_ATTR_EN_1_13_XYNW                                                        0x00b00000
+#define    NV50TCL_VP_ATTR_EN_1_13_NNZW                                                        0x00c00000
+#define    NV50TCL_VP_ATTR_EN_1_13_XNZW                                                        0x00d00000
+#define    NV50TCL_VP_ATTR_EN_1_13_NYZW                                                        0x00e00000
+#define    NV50TCL_VP_ATTR_EN_1_13_XYZW                                                        0x00f00000
+#define   NV50TCL_VP_ATTR_EN_1_12_SHIFT                                                        16
+#define   NV50TCL_VP_ATTR_EN_1_12_MASK                                                 0x000f0000
+#define    NV50TCL_VP_ATTR_EN_1_12_NONE                                                        0x00000000
+#define    NV50TCL_VP_ATTR_EN_1_12_XNNN                                                        0x00010000
+#define    NV50TCL_VP_ATTR_EN_1_12_NYNN                                                        0x00020000
+#define    NV50TCL_VP_ATTR_EN_1_12_XYNN                                                        0x00030000
+#define    NV50TCL_VP_ATTR_EN_1_12_NNZN                                                        0x00040000
+#define    NV50TCL_VP_ATTR_EN_1_12_XNZN                                                        0x00050000
+#define    NV50TCL_VP_ATTR_EN_1_12_NYZN                                                        0x00060000
+#define    NV50TCL_VP_ATTR_EN_1_12_XYZN                                                        0x00070000
+#define    NV50TCL_VP_ATTR_EN_1_12_NNNW                                                        0x00080000
+#define    NV50TCL_VP_ATTR_EN_1_12_XNNW                                                        0x00090000
+#define    NV50TCL_VP_ATTR_EN_1_12_NYNW                                                        0x000a0000
+#define    NV50TCL_VP_ATTR_EN_1_12_XYNW                                                        0x000b0000
+#define    NV50TCL_VP_ATTR_EN_1_12_NNZW                                                        0x000c0000
+#define    NV50TCL_VP_ATTR_EN_1_12_XNZW                                                        0x000d0000
+#define    NV50TCL_VP_ATTR_EN_1_12_NYZW                                                        0x000e0000
+#define    NV50TCL_VP_ATTR_EN_1_12_XYZW                                                        0x000f0000
+#define   NV50TCL_VP_ATTR_EN_1_11_SHIFT                                                        12
+#define   NV50TCL_VP_ATTR_EN_1_11_MASK                                                 0x0000f000
+#define    NV50TCL_VP_ATTR_EN_1_11_NONE                                                        0x00000000
+#define    NV50TCL_VP_ATTR_EN_1_11_XNNN                                                        0x00001000
+#define    NV50TCL_VP_ATTR_EN_1_11_NYNN                                                        0x00002000
+#define    NV50TCL_VP_ATTR_EN_1_11_XYNN                                                        0x00003000
+#define    NV50TCL_VP_ATTR_EN_1_11_NNZN                                                        0x00004000
+#define    NV50TCL_VP_ATTR_EN_1_11_XNZN                                                        0x00005000
+#define    NV50TCL_VP_ATTR_EN_1_11_NYZN                                                        0x00006000
+#define    NV50TCL_VP_ATTR_EN_1_11_XYZN                                                        0x00007000
+#define    NV50TCL_VP_ATTR_EN_1_11_NNNW                                                        0x00008000
+#define    NV50TCL_VP_ATTR_EN_1_11_XNNW                                                        0x00009000
+#define    NV50TCL_VP_ATTR_EN_1_11_NYNW                                                        0x0000a000
+#define    NV50TCL_VP_ATTR_EN_1_11_XYNW                                                        0x0000b000
+#define    NV50TCL_VP_ATTR_EN_1_11_NNZW                                                        0x0000c000
+#define    NV50TCL_VP_ATTR_EN_1_11_XNZW                                                        0x0000d000
+#define    NV50TCL_VP_ATTR_EN_1_11_NYZW                                                        0x0000e000
+#define    NV50TCL_VP_ATTR_EN_1_11_XYZW                                                        0x0000f000
+#define   NV50TCL_VP_ATTR_EN_1_10_SHIFT                                                        8
+#define   NV50TCL_VP_ATTR_EN_1_10_MASK                                                 0x00000f00
+#define    NV50TCL_VP_ATTR_EN_1_10_NONE                                                        0x00000000
+#define    NV50TCL_VP_ATTR_EN_1_10_XNNN                                                        0x00000100
+#define    NV50TCL_VP_ATTR_EN_1_10_NYNN                                                        0x00000200
+#define    NV50TCL_VP_ATTR_EN_1_10_XYNN                                                        0x00000300
+#define    NV50TCL_VP_ATTR_EN_1_10_NNZN                                                        0x00000400
+#define    NV50TCL_VP_ATTR_EN_1_10_XNZN                                                        0x00000500
+#define    NV50TCL_VP_ATTR_EN_1_10_NYZN                                                        0x00000600
+#define    NV50TCL_VP_ATTR_EN_1_10_XYZN                                                        0x00000700
+#define    NV50TCL_VP_ATTR_EN_1_10_NNNW                                                        0x00000800
+#define    NV50TCL_VP_ATTR_EN_1_10_XNNW                                                        0x00000900
+#define    NV50TCL_VP_ATTR_EN_1_10_NYNW                                                        0x00000a00
+#define    NV50TCL_VP_ATTR_EN_1_10_XYNW                                                        0x00000b00
+#define    NV50TCL_VP_ATTR_EN_1_10_NNZW                                                        0x00000c00
+#define    NV50TCL_VP_ATTR_EN_1_10_XNZW                                                        0x00000d00
+#define    NV50TCL_VP_ATTR_EN_1_10_NYZW                                                        0x00000e00
+#define    NV50TCL_VP_ATTR_EN_1_10_XYZW                                                        0x00000f00
+#define   NV50TCL_VP_ATTR_EN_1_9_SHIFT                                                 4
+#define   NV50TCL_VP_ATTR_EN_1_9_MASK                                                  0x000000f0
+#define    NV50TCL_VP_ATTR_EN_1_9_NONE                                                 0x00000000
+#define    NV50TCL_VP_ATTR_EN_1_9_XNNN                                                 0x00000010
+#define    NV50TCL_VP_ATTR_EN_1_9_NYNN                                                 0x00000020
+#define    NV50TCL_VP_ATTR_EN_1_9_XYNN                                                 0x00000030
+#define    NV50TCL_VP_ATTR_EN_1_9_NNZN                                                 0x00000040
+#define    NV50TCL_VP_ATTR_EN_1_9_XNZN                                                 0x00000050
+#define    NV50TCL_VP_ATTR_EN_1_9_NYZN                                                 0x00000060
+#define    NV50TCL_VP_ATTR_EN_1_9_XYZN                                                 0x00000070
+#define    NV50TCL_VP_ATTR_EN_1_9_NNNW                                                 0x00000080
+#define    NV50TCL_VP_ATTR_EN_1_9_XNNW                                                 0x00000090
+#define    NV50TCL_VP_ATTR_EN_1_9_NYNW                                                 0x000000a0
+#define    NV50TCL_VP_ATTR_EN_1_9_XYNW                                                 0x000000b0
+#define    NV50TCL_VP_ATTR_EN_1_9_NNZW                                                 0x000000c0
+#define    NV50TCL_VP_ATTR_EN_1_9_XNZW                                                 0x000000d0
+#define    NV50TCL_VP_ATTR_EN_1_9_NYZW                                                 0x000000e0
+#define    NV50TCL_VP_ATTR_EN_1_9_XYZW                                                 0x000000f0
+#define   NV50TCL_VP_ATTR_EN_1_8_SHIFT                                                 0
+#define   NV50TCL_VP_ATTR_EN_1_8_MASK                                                  0x0000000f
+#define    NV50TCL_VP_ATTR_EN_1_8_NONE                                                 0x00000000
+#define    NV50TCL_VP_ATTR_EN_1_8_XNNN                                                 0x00000001
+#define    NV50TCL_VP_ATTR_EN_1_8_NYNN                                                 0x00000002
+#define    NV50TCL_VP_ATTR_EN_1_8_XYNN                                                 0x00000003
+#define    NV50TCL_VP_ATTR_EN_1_8_NNZN                                                 0x00000004
+#define    NV50TCL_VP_ATTR_EN_1_8_XNZN                                                 0x00000005
+#define    NV50TCL_VP_ATTR_EN_1_8_NYZN                                                 0x00000006
+#define    NV50TCL_VP_ATTR_EN_1_8_XYZN                                                 0x00000007
+#define    NV50TCL_VP_ATTR_EN_1_8_NNNW                                                 0x00000008
+#define    NV50TCL_VP_ATTR_EN_1_8_XNNW                                                 0x00000009
+#define    NV50TCL_VP_ATTR_EN_1_8_NYNW                                                 0x0000000a
+#define    NV50TCL_VP_ATTR_EN_1_8_XYNW                                                 0x0000000b
+#define    NV50TCL_VP_ATTR_EN_1_8_NNZW                                                 0x0000000c
+#define    NV50TCL_VP_ATTR_EN_1_8_XNZW                                                 0x0000000d
+#define    NV50TCL_VP_ATTR_EN_1_8_NYZW                                                 0x0000000e
+#define    NV50TCL_VP_ATTR_EN_1_8_XYZW                                                 0x0000000f
+#define  NV50TCL_LINE_STIPPLE_ENABLE                                                   0x0000166c
+#define  NV50TCL_LINE_STIPPLE_PATTERN                                                  0x00001680
+#define  NV50TCL_POLYGON_STIPPLE_ENABLE                                                        0x0000168c
+#define  NV50TCL_VP_REG_HPOS                                                           0x000016bc
+#define   NV50TCL_VP_REG_HPOS_X_SHIFT                                                  0
+#define   NV50TCL_VP_REG_HPOS_X_MASK                                                   0x000000ff
+#define   NV50TCL_VP_REG_HPOS_Y_SHIFT                                                  8
+#define   NV50TCL_VP_REG_HPOS_Y_MASK                                                   0x0000ff00
+#define   NV50TCL_VP_REG_HPOS_Z_SHIFT                                                  16
+#define   NV50TCL_VP_REG_HPOS_Z_MASK                                                   0x00ff0000
+#define   NV50TCL_VP_REG_HPOS_W_SHIFT                                                  24
+#define   NV50TCL_VP_REG_HPOS_W_MASK                                                   0xff000000
+#define  NV50TCL_VP_REG_COL0                                                           0x000016c0
+#define   NV50TCL_VP_REG_COL0_X_SHIFT                                                  0
+#define   NV50TCL_VP_REG_COL0_X_MASK                                                   0x000000ff
+#define   NV50TCL_VP_REG_COL0_Y_SHIFT                                                  8
+#define   NV50TCL_VP_REG_COL0_Y_MASK                                                   0x0000ff00
+#define   NV50TCL_VP_REG_COL0_Z_SHIFT                                                  16
+#define   NV50TCL_VP_REG_COL0_Z_MASK                                                   0x00ff0000
+#define   NV50TCL_VP_REG_COL0_W_SHIFT                                                  24
+#define   NV50TCL_VP_REG_COL0_W_MASK                                                   0xff000000
+#define  NV50TCL_POLYGON_STIPPLE_PATTERN(x)                                            (0x00001700+((x)*4))
+#define  NV50TCL_POLYGON_STIPPLE_PATTERN__SIZE                                         0x00000020
+#define  NV50TCL_CULL_FACE_ENABLE                                                      0x00001918
+#define  NV50TCL_FRONT_FACE                                                            0x0000191c
+#define   NV50TCL_FRONT_FACE_CW                                                                0x00000900
+#define   NV50TCL_FRONT_FACE_CCW                                                       0x00000901
+#define  NV50TCL_CULL_FACE                                                             0x00001920
+#define   NV50TCL_CULL_FACE_FRONT                                                      0x00000404
+#define   NV50TCL_CULL_FACE_BACK                                                       0x00000405
+#define   NV50TCL_CULL_FACE_FRONT_AND_BACK                                             0x00000408
+#define  NV50TCL_LOGIC_OP_ENABLE                                                       0x000019c4
+#define  NV50TCL_LOGIC_OP                                                              0x000019c8
+#define   NV50TCL_LOGIC_OP_CLEAR                                                       0x00001500
+#define   NV50TCL_LOGIC_OP_AND                                                         0x00001501
+#define   NV50TCL_LOGIC_OP_AND_REVERSE                                                 0x00001502
+#define   NV50TCL_LOGIC_OP_COPY                                                                0x00001503
+#define   NV50TCL_LOGIC_OP_AND_INVERTED                                                        0x00001504
+#define   NV50TCL_LOGIC_OP_NOOP                                                                0x00001505
+#define   NV50TCL_LOGIC_OP_XOR                                                         0x00001506
+#define   NV50TCL_LOGIC_OP_OR                                                          0x00001507
+#define   NV50TCL_LOGIC_OP_NOR                                                         0x00001508
+#define   NV50TCL_LOGIC_OP_EQUIV                                                       0x00001509
+#define   NV50TCL_LOGIC_OP_INVERT                                                      0x0000150a
+#define   NV50TCL_LOGIC_OP_OR_REVERSE                                                  0x0000150b
+#define   NV50TCL_LOGIC_OP_COPY_INVERTED                                               0x0000150c
+#define   NV50TCL_LOGIC_OP_OR_INVERTED                                                 0x0000150d
+#define   NV50TCL_LOGIC_OP_NAND                                                                0x0000150e
+#define   NV50TCL_LOGIC_OP_SET                                                         0x0000150f
+#define  NV50TCL_CLEAR_BUFFERS                                                         0x000019d0
+#define  NV50TCL_COLOR_MASK(x)                                                         (0x00001a00+((x)*4))
+#define  NV50TCL_COLOR_MASK__SIZE                                                      0x00000008
+
+
+#define NV54TCL                                                                                0x00008297
 
 
 
index e38a5ea534a070d45e6f38a46a3afc1088f5fd83..a9790484b9b159c2cc237a2392c5e219dc509845 100644 (file)
@@ -119,21 +119,101 @@ nv40_blend_state_delete(struct pipe_context *pipe, void *hwcso)
        free(hwcso);
 }
 
+
+static INLINE unsigned
+wrap_mode(unsigned wrap) {
+       unsigned ret;
+
+       switch (wrap) {
+       case PIPE_TEX_WRAP_REPEAT:
+               ret = NV40TCL_TEX_WRAP_S_REPEAT;
+               break;
+       case PIPE_TEX_WRAP_MIRROR_REPEAT:
+               ret = NV40TCL_TEX_WRAP_S_MIRRORED_REPEAT;
+               break;
+       case PIPE_TEX_WRAP_CLAMP_TO_EDGE:
+               ret = NV40TCL_TEX_WRAP_S_CLAMP_TO_EDGE;
+               break;
+       case PIPE_TEX_WRAP_CLAMP_TO_BORDER:
+               ret = NV40TCL_TEX_WRAP_S_CLAMP_TO_BORDER;
+               break;
+       case PIPE_TEX_WRAP_CLAMP:
+               ret = NV40TCL_TEX_WRAP_S_CLAMP;
+               break;
+       case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE:
+               ret = NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_EDGE;
+               break;
+       case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER:
+               ret = NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_BORDER;
+               break;
+       case PIPE_TEX_WRAP_MIRROR_CLAMP:
+               ret = NV40TCL_TEX_WRAP_S_MIRROR_CLAMP;
+               break;
+       default:
+               NOUVEAU_ERR("unknown wrap mode: %d\n", wrap);
+               ret = NV40TCL_TEX_WRAP_S_REPEAT;
+               break;
+       }
+
+       return ret >> NV40TCL_TEX_WRAP_S_SHIFT;
+}
+
 static void *
 nv40_sampler_state_create(struct pipe_context *pipe,
                          const struct pipe_sampler_state *cso)
 {
        struct nv40_sampler_state *ps;
-       
+       uint32_t filter = 0;
+
        ps = malloc(sizeof(struct nv40_sampler_state));
        
-       ps->wrap = ((nv40_tex_wrap_mode(cso->wrap_r) << 16) |
-                   (nv40_tex_wrap_mode(cso->wrap_t) <<  8) |
-                   (nv40_tex_wrap_mode(cso->wrap_s) <<  0));
-       ps->filt = ((nv40_tex_filter(cso->min_img_filter,
-                                    cso->min_mip_filter) << 16) |
-                   (nv40_tex_filter(cso->mag_img_filter,
-                                    PIPE_TEX_MIPFILTER_NONE) << 24));
+       switch (cso->mag_img_filter) {
+       case PIPE_TEX_FILTER_LINEAR:
+               filter |= NV40TCL_TEX_FILTER_MAG_LINEAR;
+               break;
+       case PIPE_TEX_FILTER_NEAREST:
+       default:
+               filter |= NV40TCL_TEX_FILTER_MAG_NEAREST;
+               break;
+       }
+
+       switch (cso->min_img_filter) {
+       case PIPE_TEX_FILTER_LINEAR:
+               switch (cso->min_mip_filter) {
+               case PIPE_TEX_MIPFILTER_NEAREST:
+                       filter |= NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_NEAREST;
+                       break;
+               case PIPE_TEX_MIPFILTER_LINEAR:
+                       filter |= NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_LINEAR;
+                       break;
+               case PIPE_TEX_MIPFILTER_NONE:
+               default:
+                       filter |= NV40TCL_TEX_FILTER_MIN_LINEAR;
+                       break;
+               }
+               break;
+       case PIPE_TEX_FILTER_NEAREST:
+       default:
+               switch (cso->min_mip_filter) {
+               case PIPE_TEX_MIPFILTER_NEAREST:
+                       filter |= NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_NEAREST;
+               break;
+               case PIPE_TEX_MIPFILTER_LINEAR:
+                       filter |= NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_LINEAR;
+                       break;
+               case PIPE_TEX_MIPFILTER_NONE:
+               default:
+                       filter |= NV40TCL_TEX_FILTER_MIN_NEAREST;
+                       break;
+               }
+               break;
+       }
+
+
+       ps->wrap = ((wrap_mode(cso->wrap_r) << NV40TCL_TEX_WRAP_S_SHIFT) |
+                   (wrap_mode(cso->wrap_t) << NV40TCL_TEX_WRAP_T_SHIFT) |
+                   (wrap_mode(cso->wrap_s) << NV40TCL_TEX_WRAP_R_SHIFT));
+       ps->filt = filter;
        ps->bcol = ((float_to_ubyte(cso->border_color[3]) << 24) |
                    (float_to_ubyte(cso->border_color[0]) << 16) |
                    (float_to_ubyte(cso->border_color[1]) <<  8) |
@@ -497,33 +577,23 @@ nv40_set_framebuffer_state(struct pipe_context *pipe,
        OUT_RING  (rt_enable);
 
        if (0) {
-#if 0
-               rt_format |= (log2width <<
-                             NV40TCL_RT_FORMAT_LOG2_WIDTH_SHIFT);
-               rt_format |= (log2height <<
-                             NV40TCL_RT_FORMAT_LOG2_HEIGHT_SHIFT);
-#endif
-               rt_format |= (NV40TCL_RT_FORMAT_TYPE_SWIZZLED <<
-                             NV40TCL_RT_FORMAT_TYPE_SHIFT);
+               rt_format |= (0 << NV40TCL_RT_FORMAT_LOG2_WIDTH_SHIFT);
+               rt_format |= (0 << NV40TCL_RT_FORMAT_LOG2_HEIGHT_SHIFT);
+               rt_format |= NV40TCL_RT_FORMAT_TYPE_SWIZZLED;
        } else {
-               rt_format |= (NV40TCL_RT_FORMAT_TYPE_LINEAR <<
-                             NV40TCL_RT_FORMAT_TYPE_SHIFT);
+               rt_format |= NV40TCL_RT_FORMAT_TYPE_LINEAR;
        }
 
        if (fb->cbufs[0]->format == PIPE_FORMAT_U_R5_G6_B5) {
-               rt_format |= (NV40TCL_RT_FORMAT_COLOR_R5G6B5 <<
-                             NV40TCL_RT_FORMAT_COLOR_SHIFT);
+               rt_format |= NV40TCL_RT_FORMAT_COLOR_R5G6B5;
        } else {
-               rt_format |= (NV40TCL_RT_FORMAT_COLOR_A8R8G8B8 <<
-                             NV40TCL_RT_FORMAT_COLOR_SHIFT);
+               rt_format |= NV40TCL_RT_FORMAT_COLOR_A8R8G8B8;
        }
 
        if (fb->zbuf && fb->zbuf->format == PIPE_FORMAT_U_Z16) {
-               rt_format |= (NV40TCL_RT_FORMAT_DEPTH_Z16 <<
-                             NV40TCL_RT_FORMAT_DEPTH_SHIFT);
+               rt_format |= NV40TCL_RT_FORMAT_ZETA_Z16;
        } else {
-               rt_format |= (NV40TCL_RT_FORMAT_DEPTH_Z24S8 <<
-                             NV40TCL_RT_FORMAT_DEPTH_SHIFT);
+               rt_format |= NV40TCL_RT_FORMAT_ZETA_Z24S8;
        }
 
        BEGIN_RING(curie, NV40TCL_RT_HORIZ, 3);
index 1535037f638a03d9d93ff44eb4cea40b7d5ef3fd..ae162b95cef1f4c6e1df64e1e01a29b31cc4e33d 100644 (file)
@@ -119,55 +119,4 @@ struct nv40_depth_stencil_state {
        } stencil;
 };
 
-static INLINE unsigned
-nv40_tex_wrap_mode(unsigned wrap) {
-       switch (wrap) {
-       case PIPE_TEX_WRAP_REPEAT:
-               return NV40TCL_TEX_WRAP_S_REPEAT;
-       case PIPE_TEX_WRAP_MIRROR_REPEAT:
-               return NV40TCL_TEX_WRAP_S_MIRRORED_REPEAT;
-       case PIPE_TEX_WRAP_CLAMP_TO_EDGE:
-               return NV40TCL_TEX_WRAP_S_CLAMP_TO_EDGE;
-       case PIPE_TEX_WRAP_CLAMP_TO_BORDER:
-               return NV40TCL_TEX_WRAP_S_CLAMP_TO_BORDER;
-       case PIPE_TEX_WRAP_CLAMP:
-               return NV40TCL_TEX_WRAP_S_CLAMP;
-       case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE:
-               return NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_EDGE;
-       case PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER:
-               return NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_BORDER;
-       case PIPE_TEX_WRAP_MIRROR_CLAMP:
-               return NV40TCL_TEX_WRAP_S_MIRROR_CLAMP;
-       default:
-               return NV40TCL_TEX_WRAP_S_REPEAT;
-       }
-}
-
-static INLINE unsigned
-nv40_tex_filter(unsigned f0, unsigned f1) {
-       switch (f0) {
-       case PIPE_TEX_FILTER_NEAREST:
-               switch (f1) {
-               case PIPE_TEX_MIPFILTER_NEAREST:
-                       return NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_NEAREST;
-               case PIPE_TEX_MIPFILTER_LINEAR:
-                       return NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_LINEAR;
-               case PIPE_TEX_MIPFILTER_NONE:
-               default:
-                       return NV40TCL_TEX_FILTER_MIN_NEAREST;
-               }
-       case PIPE_TEX_FILTER_LINEAR:
-       default:
-               switch (f1) {
-               case PIPE_TEX_MIPFILTER_NEAREST:
-                       return NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_NEAREST;
-               case PIPE_TEX_MIPFILTER_LINEAR:
-                       return NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_LINEAR;
-               case PIPE_TEX_MIPFILTER_NONE:
-               default:
-                       return NV40TCL_TEX_FILTER_MIN_LINEAR;
-               }
-       }
-}
-
 #endif
index a92d6250a20a3eb683d1a355a87681345a7b613d..4acf80c9cee503bb27301deae1bbb47fa167ccd6 100644 (file)
@@ -6,14 +6,10 @@
   TRUE,                                                                        \
   PIPE_FORMAT_##m,                                                             \
   NV40TCL_TEX_FORMAT_FORMAT_##tf,                                              \
-  (NV40TCL_TEX_SWIZZLE_S0_X_##ts0x << NV40TCL_TEX_SWIZZLE_S0_X_SHIFT) |        \
-  (NV40TCL_TEX_SWIZZLE_S0_X_##ts0y << NV40TCL_TEX_SWIZZLE_S0_Y_SHIFT) |        \
-  (NV40TCL_TEX_SWIZZLE_S0_X_##ts0z << NV40TCL_TEX_SWIZZLE_S0_Z_SHIFT) |        \
-  (NV40TCL_TEX_SWIZZLE_S0_X_##ts0w << NV40TCL_TEX_SWIZZLE_S0_W_SHIFT) |        \
-  (NV40TCL_TEX_SWIZZLE_S1_X_##ts1x << NV40TCL_TEX_SWIZZLE_S1_X_SHIFT) |        \
-  (NV40TCL_TEX_SWIZZLE_S1_X_##ts1y << NV40TCL_TEX_SWIZZLE_S1_Y_SHIFT) |        \
-  (NV40TCL_TEX_SWIZZLE_S1_X_##ts1z << NV40TCL_TEX_SWIZZLE_S1_Z_SHIFT) |        \
-  (NV40TCL_TEX_SWIZZLE_S1_X_##ts1w << NV40TCL_TEX_SWIZZLE_S1_W_SHIFT),         \
+  (NV40TCL_TEX_SWIZZLE_S0_X_##ts0x | NV40TCL_TEX_SWIZZLE_S0_Y_##ts0y |         \
+   NV40TCL_TEX_SWIZZLE_S0_Z_##ts0z | NV40TCL_TEX_SWIZZLE_S0_W_##ts0w |         \
+   NV40TCL_TEX_SWIZZLE_S1_X_##ts1x | NV40TCL_TEX_SWIZZLE_S1_Y_##ts1y |         \
+   NV40TCL_TEX_SWIZZLE_S1_Z_##ts1z | NV40TCL_TEX_SWIZZLE_S1_W_##ts1w),         \
 }
 
 struct nv40_texture_format {
@@ -53,20 +49,6 @@ nv40_tex_format(uint pipe_format)
        return NULL;
 }
 
-static INLINE int
-nv40_tex_dims(uint pipe_target)
-{
-       switch (pipe_target) {
-       case PIPE_TEXTURE_1D: return 1;
-       case PIPE_TEXTURE_2D: return 2;
-       case PIPE_TEXTURE_3D: return 3;
-       case PIPE_TEXTURE_CUBE: return 2;
-       default:
-               NOUVEAU_ERR("AII unknown pipe target: %d\n", pipe_target);
-               return 2;
-       }
-}
-
 static void
 nv40_tex_unit_enable(struct nv40_context *nv40, int unit)
 {
@@ -78,20 +60,33 @@ nv40_tex_unit_enable(struct nv40_context *nv40, int unit)
        int swizzled = 0; /*XXX: implement in region code? */
 
        tf = nv40_tex_format(mt->format);
-       if (!tf->defined) {
+       if (!tf || !tf->defined) {
                NOUVEAU_ERR("Unsupported texture format: 0x%x\n", mt->format);
                return;
        }
 
-       txf  = (tf->format | 0x80) << NV40TCL_TEX_FORMAT_FORMAT_SHIFT;
+       txf  = tf->format | 0x8000;
        txf |= ((mt->last_level - mt->first_level + 1) <<
                NV40TCL_TEX_FORMAT_MIPMAP_COUNT_SHIFT);
+
        if (1) /* XXX */
                txf |= NV40TCL_TEX_FORMAT_NO_BORDER;
 
-       txf |= (nv40_tex_dims(mt->target) << NV40TCL_TEX_FORMAT_DIMS_SHIFT);
-       if (0) /*XXX*/
-               txf |= NV40TCL_TEX_FORMAT_RECT;
+       switch (mt->target) {
+       case PIPE_TEXTURE_2D:
+       case PIPE_TEXTURE_CUBE:
+               txf |= NV40TCL_TEX_FORMAT_DIMS_2D;
+               break;
+       case PIPE_TEXTURE_3D:
+               txf |= NV40TCL_TEX_FORMAT_DIMS_3D;
+               break;
+       case PIPE_TEXTURE_1D:
+               txf |= NV40TCL_TEX_FORMAT_DIMS_1D;
+               break;
+       default:
+               NOUVEAU_ERR("Unknown target %d\n", mt->target);
+               return;
+       }
 
        if (swizzled) {
                txp = 0;