From 890932fc30c96d8130b959b5d10d9b9046f6a00a Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Thu, 21 Jul 2011 12:17:13 -0500
Subject: mesa: Bumped to latest. refs #772

---
 abs/core/mesa/PKGBUILD                     |  295 +-
 abs/core/mesa/__changelog                  |    1 -
 abs/core/mesa/gnome-shell-shader-fix.patch |  535 ++
 abs/core/mesa/mesa-6.5-apps-noglut.patch   |   17 -
 abs/core/mesa/mesa-7.1-link-shared.patch   |  102 -
 abs/core/mesa/nouveau-fix-header.patch     |   86 +
 abs/core/mesa/nouveau_class.h              | 9019 ----------------------------
 abs/core/mesa/python2.patch                |   25 -
 8 files changed, 866 insertions(+), 9214 deletions(-)
 delete mode 100644 abs/core/mesa/__changelog
 create mode 100644 abs/core/mesa/gnome-shell-shader-fix.patch
 delete mode 100644 abs/core/mesa/mesa-6.5-apps-noglut.patch
 delete mode 100644 abs/core/mesa/mesa-7.1-link-shared.patch
 create mode 100644 abs/core/mesa/nouveau-fix-header.patch
 delete mode 100644 abs/core/mesa/nouveau_class.h
 delete mode 100644 abs/core/mesa/python2.patch

diff --git a/abs/core/mesa/PKGBUILD b/abs/core/mesa/PKGBUILD
index 07f6c36..d1cc3e7 100644
--- a/abs/core/mesa/PKGBUILD
+++ b/abs/core/mesa/PKGBUILD
@@ -1,106 +1,246 @@
-# $Id: PKGBUILD 94675 2010-10-09 12:59:04Z andyrtr $
+# $Id$
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 # Maintainer: Andreas Radke <andyrtr@archlinux.org>
 
 pkgbase=mesa
-pkgname=('mesa' 'libgl' 'ati-dri' 'intel-dri' 'unichrome-dri' 'mach64-dri' 'mga-dri' 'r128-dri' 'savage-dri' 'sis-dri' 'tdfx-dri' 'nouveau-dri')
-pkgver=7.9
+pkgname=('mesa' 'libgl' 'libgles' 'libegl' 'ati-dri' 'intel-dri' 'unichrome-dri' 'mach64-dri' 'mga-dri' 'r128-dri' 'savage-dri' 'sis-dri' 'tdfx-dri' 'nouveau-dri') # 'llvm-dri')
+
+#_git=true
+_git=false
+
+if [ "${_git}" = "true" ]; then
+    pkgver=7.10.99.git20110612
+  else
+    pkgver=7.10.3
+fi
 pkgrel=1
 arch=('i686' 'x86_64')
-makedepends=('glproto>=1.4.12' 'pkgconfig' 'libdrm>=2.4.22' 'libxxf86vm>=1.1.0' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libx11>=1.3.5' 'libxt>=1.0.8' 
-             'gcc-libs>=4.5' 'dri2proto=2.3' 'python2' 'talloc' 'libxml2')
+makedepends=('glproto>=1.4.12' 'pkgconfig' 'libdrm>=2.4.25' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libx11>=1.4.3' 'libxt>=1.1.1' 
+             'gcc-libs>=4.5' 'dri2proto=2.3' 'python2' 'libxml2' 'imake' 'llvm')
 url="http://mesa3d.sourceforge.net"
 license=('custom')
-source=(ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2
-        ftp://ftp.archlinux.org/other/mesa/gl-manpages-1.0.1.tar.bz2
-        LICENSE)
-md5sums=('82c740c49d572baa6da2b1a1eee90bca'
-         '6ae05158e678f4594343f32c2ca50515'
-         '5c65a0fe315dd347e09b1f2826a1df5a')
+source=(LICENSE gnome-shell-shader-fix.patch nouveau-fix-header.patch)
+if [ "${_git}" = "true" ]; then
+	# mesa git shot from mastee (will become 7.11) branch - see for state: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a00dd974699e369b1eb292103fbde8bc6adfb87
+	source=(${source[@]} 'ftp://ftp.archlinux.org/other/mesa/mesa-9a00dd974699e369b1eb292103fbde8bc6adfb87.tar.bz2')
+  else
+	source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.zip"
+)
+fi
+md5sums=('5c65a0fe315dd347e09b1f2826a1df5a'
+         '3ec78f340f9387abd7a37b195e764cbf'
+         '67c87b77cc2236b52a3b47dad3fbb5d4'
+         '614d063ecd170940d9ae7b355d365d59')
 
 build() {
-  # python2 build fixes
-  sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
-         -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" $(find $srcdir -name '*.py')
-  sed -i -e "s|PYTHON2 = python|PYTHON2 = python2|" "${srcdir}/Mesa-${pkgver}"/configs/{default,autoconf.in}
-  sed -i -e "s|python|python2|" "${srcdir}/Mesa-${pkgver}"/src/gallium/auxiliary/Makefile
-
-  cd "${srcdir}/Mesa-${pkgver}"
-  ./configure --prefix=/usr \
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*   
+    autoreconf -vfi
+  else
+    cd "${srcdir}/Mesa-${pkgver}" 
+fi
+
+if [ "${_git}" != "true" ]; then
+#backport from master to fix gnome-shell shader
+#https://bugs.freedesktop.org/show_bug.cgi?id=35714
+patch -Np1 -i "${srcdir}/gnome-shell-shader-fix.patch"
+patch -Np1 -i "${srcdir}/nouveau-fix-header.patch"
+fi
+
+if [ "${_git}" = "true" ]; then
+    ./autogen.sh --prefix=/usr \
+    --with-dri-driverdir=/usr/lib/xorg/modules/dri \
+    --enable-gallium-r300 \
+    --enable-gallium-r600 \
+    --enable-gallium-nouveau \
+    --enable-gallium-llvm \
+    --enable-gallium-egl \
+    --enable-gallium-swrast \
+    --enable-glx-tls \
+    --with-driver=dri \
+    --enable-xcb \
+    --with-state-trackers=dri,glx,egl \
+    --disable-glut \
+    --enable-gles1 \
+    --enable-gles2 \
+    --enable-egl \
+    --enable-texture-float
+    #    --enable-gallium-svga \
+
+    # --enable-texture-float (enable floating-point textures and renderbuffers) - http://www.phoronix.com/scan.php?page=news_item&px=OTMzMg
+    #The source code to implement ARB_texture_float extension is included and can be toggled on at compile time only by those who purchased a license from SGI, or are in a country where the patent does not apply.
+
+    #--enable-shared-dricore - http://bugs.gentoo.org/show_bug.cgi?id=357177
+    
+  else
+    ./configure --prefix=/usr \
     --with-dri-driverdir=/usr/lib/xorg/modules/dri \
-    --disable-egl \
     --enable-gallium-radeon \
+    --enable-gallium-r600 \
     --enable-gallium-nouveau \
+    --enable-gallium-swrast \
     --enable-glx-tls \
     --with-driver=dri \
     --enable-xcb \
     --with-state-trackers=dri,glx \
-    --disable-glut
-  make
+    --disable-glut \
+    --enable-gles1 \
+    --enable-gles2 \
+    --enable-egl \
+    --disable-gallium-egl
+fi
 
-  cd "${srcdir}/gl-manpages-1.0.1"
-  ./configure --prefix=/usr
   make
 }
 
 package_libgl() {
-  depends=('libdrm>=2.4.22' 'libxxf86vm>=1.1.0' 'libxdamage>=1.1.3' 'expat>=2.0.1')
+  depends=('libdrm>=2.4.25' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1')
   pkgdesc="Mesa 3-D graphics library and DRI software rasterizer"
 
-  cd "${srcdir}/Mesa-${pkgver}"
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*   
+  else
+    cd "${srcdir}/Mesa-${pkgver}" 
+fi
   install -m755 -d "${pkgdir}/usr/lib"
   install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions"
 
   bin/minstall lib/libGL.so* "${pkgdir}/usr/lib/"
 
   cd src/mesa/drivers/dri
-  make -C swrast DESTDIR="${pkgdir}" install
+  #make -C swrast DESTDIR="${pkgdir}" install
+if [ "${_git}" = "true" ]; then
+    make -C ${srcdir}/mesa-*/src/gallium/targets/dri-swrast DESTDIR="${pkgdir}" install
+  else
+    make -C ${srcdir}/Mesa-${pkgver}/src/gallium/targets/dri-swrast DESTDIR="${pkgdir}" install
+fi
+  ln -s swrastg_dri.so "${pkgdir}/usr/lib/xorg/modules/dri/swrast_dri.so"
   ln -s libglx.xorg "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so"
 
   install -m755 -d "${pkgdir}/usr/share/licenses/libgl"
-  install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/"
+  install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/"
+}
+
+package_libgles() {
+  depends=('libgl')
+  pkgdesc="Mesa GLES libraries and headers"
+
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*   
+  else
+    cd "${srcdir}/Mesa-${pkgver}" 
+fi
+  install -m755 -d "${pkgdir}/usr/lib"
+  install -m755 -d "${pkgdir}/usr/lib/pkgconfig"
+  install -m755 -d "${pkgdir}/usr/include"
+  install -m755 -d "${pkgdir}/usr/include/GLES"
+  install -m755 -d "${pkgdir}/usr/include/GLES2"
+  bin/minstall lib/libGLESv* "${pkgdir}/usr/lib/"
+  bin/minstall src/mapi/es1api/glesv1_cm.pc "${pkgdir}/usr/lib/pkgconfig/"
+  bin/minstall src/mapi/es2api/glesv2.pc "${pkgdir}/usr/lib/pkgconfig/"
+  bin/minstall include/GLES/* "${pkgdir}/usr/include/GLES/"
+  bin/minstall include/GLES2/* "${pkgdir}/usr/include/GLES2/"
+  bin/minstall include/GLES2/* "${pkgdir}/usr/include/GLES2/"
+
+  install -m755 -d "${pkgdir}/usr/share/licenses/libgles"
+  install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgles/"
+}
+
+package_libegl() {
+  depends=('libgl')
+  pkgdesc="Mesa libEGL libraries and headers"
+
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*  
+    make -C src/gallium/targets/egl DESTDIR="${pkgdir}" install
+  else
+    cd "${srcdir}/Mesa-${pkgver}" 
+fi
+  install -m755 -d "${pkgdir}/usr/lib"
+  install -m755 -d "${pkgdir}/usr/lib/pkgconfig"
+  install -m755 -d "${pkgdir}/usr/include"
+  install -m755 -d "${pkgdir}/usr/include/"
+  install -m755 -d "${pkgdir}/usr/include/EGL"
+  install -m755 -d "${pkgdir}/usr/include/KHR"
+  install -m755 -d "${pkgdir}/usr/share"
+  install -m755 -d "${pkgdir}/usr/share/doc"
+  install -m755 -d "${pkgdir}/usr/share/doc/libegl"
+  bin/minstall lib/libEGL.so* "${pkgdir}/usr/lib/"
+if [ "${_git}" != "true" ]; then
+  install -m755 -d "${pkgdir}/usr/lib/egl"
+  bin/minstall lib/egl/* "${pkgdir}/usr/lib/egl/"
+fi
+  bin/minstall src/egl/main/egl.pc "${pkgdir}/usr/lib/pkgconfig/"
+  bin/minstall include/EGL/* "${pkgdir}/usr/include/EGL/"
+  bin/minstall include/KHR/khrplatform.h "${pkgdir}/usr/include/KHR/"
+  bin/minstall docs/egl.html "${pkgdir}/usr/share/doc/libegl/"
+
+  install -m755 -d "${pkgdir}/usr/share/licenses/libegl"
+  install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libegl/"
 }
 
 package_mesa() {
-  depends=('libgl' 'libx11>=1.3.5' 'libxt>=1.0.8' 'gcc-libs>=4.5' 'dri2proto=2.3' 'libdrm>=2.4.22' 'glproto>=1.4.12')
+  depends=('libgl' 'libx11>=1.4.3' 'libxt>=1.1.1' 'gcc-libs>=4.5' 'dri2proto=2.3' 'libdrm>=2.4.25' 'glproto>=1.4.12')
+  optdepends=('opengl-man-pages: for the OpenGL API man pages')
   pkgdesc="Mesa 3-D graphics libraries and include files"
 
-  cd "${srcdir}/Mesa-${pkgver}"
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*   
+  else
+    cd "${srcdir}/Mesa-${pkgver}" 
+fi
   make DESTDIR="${pkgdir}" install
 
   rm -f "${pkgdir}/usr/lib/libGL.so"*
+  rm -f "${pkgdir}/usr/lib/libGLESv"*
+  rm -f "${pkgdir}/usr/lib/libEGL"*
+  rm -rf "${pkgdir}/usr/lib/egl"
+  rm -f ${pkgdir}/usr/lib/pkgconfig/{glesv1_cm.pc,glesv2.pc,egl.pc}
   rm -rf "${pkgdir}/usr/lib/xorg"
   rm -f "${pkgdir}/usr/include/GL/glew.h"
   rm -f "${pkgdir}/usr/include/GL/glxew.h"
   rm -f "${pkgdir}/usr/include/GL/wglew.h"
-
-  cd "${srcdir}/gl-manpages-1.0.1"
-  make DESTDIR="${pkgdir}" install
+  rm -f "${pkgdir}/usr/include/GL/glut.h"
+  rm -rf ${pkgdir}/usr/include/{GLES,GLES2,EGL,KHR}
 
   install -m755 -d "${pkgdir}/usr/share/licenses/mesa"
-  install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/"
+  install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/"
 }
 
 package_ati-dri() {
   depends=("libgl=${pkgver}")
-  pkgdesc="Mesa DRI + Gallium3D r300 drivers for AMD/ATI Radeon"
+  pkgdesc="Mesa DRI radeon/r200 + Gallium3D r300,r600 drivers for AMD/ATI Radeon"
   conflicts=('xf86-video-ati<6.9.0-6')
 
-  cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*/src/mesa/drivers/dri
+  else
+    cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+fi
   make -C radeon DESTDIR="${pkgdir}" install
   make -C r200 DESTDIR="${pkgdir}" install
   # classic mesa driver for R300 r300_dri.so
-# make -C r300 DESTDIR="${pkgdir}" install  <------- depricated
+  #make -C r300 DESTDIR="${pkgdir}" install  <------- deprecated
   # gallium3D driver for R300 r300_dri.so
-  make -C ${srcdir}/Mesa-${pkgver}/src/gallium/targets/dri-r300 DESTDIR="${pkgdir}" install
-  make -C r600 DESTDIR="${pkgdir}" install
+if [ "${_git}" = "true" ]; then
+    make -C ${srcdir}/mesa-*/src/gallium/targets/dri-r300 DESTDIR="${pkgdir}" install
+    make -C ${srcdir}/mesa-*/src/gallium/targets/dri-r600 DESTDIR="${pkgdir}" install
+  else
+    make -C ${srcdir}/Mesa-${pkgver}/src/gallium/targets/dri-r300 DESTDIR="${pkgdir}" install
+    make -C ${srcdir}/Mesa-${pkgver}/src/gallium/targets/dri-r600 DESTDIR="${pkgdir}" install
+fi
+  #make -C r600 DESTDIR="${pkgdir}" install
 }
 
 package_intel-dri() {
   depends=("libgl=${pkgver}")
   pkgdesc="Mesa DRI drivers for Intel"
 
-  cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*/src/mesa/drivers/dri
+  else
+    cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+fi
   make -C i810 DESTDIR="${pkgdir}" install
   make -C i915 DESTDIR="${pkgdir}" install
   make -C i965 DESTDIR="${pkgdir}" install
@@ -110,7 +250,11 @@ package_unichrome-dri() {
   depends=("libgl=${pkgver}")
   pkgdesc="Mesa DRI drivers for S3 Graphics/VIA Unichrome"
 
-  cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*/src/mesa/drivers/dri
+  else
+    cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+fi
   make -C unichrome DESTDIR="${pkgdir}" install
 }
 
@@ -119,7 +263,11 @@ package_mach64-dri() {
   pkgdesc="Mesa DRI drivers for ATI Mach64"
   conflicts=('xf86-video-mach64<6.8.2')
 
-  cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*/src/mesa/drivers/dri
+  else
+    cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+fi
   make -C mach64 DESTDIR="${pkgdir}" install
 }
 
@@ -128,7 +276,11 @@ package_mga-dri() {
   pkgdesc="Mesa DRI drivers for Matrox"
   conflicts=('xf86-video-mga<1.4.11')
 
-  cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*/src/mesa/drivers/dri
+  else
+    cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+fi
   make -C mga DESTDIR="${pkgdir}" install
 }
 
@@ -137,7 +289,11 @@ package_r128-dri() {
   pkgdesc="Mesa DRI drivers for ATI Rage128"
   conflicts=('xf86-video-r128<6.8.1')
 
-  cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*/src/mesa/drivers/dri
+  else
+    cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+fi
   make -C r128 DESTDIR="${pkgdir}" install
 }
 
@@ -146,7 +302,11 @@ package_savage-dri() {
   pkgdesc="Mesa DRI drivers for S3 Sraphics/VIA Savage"
   conflicts=('xf86-video-savage<2.3.1')
 
-  cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*/src/mesa/drivers/dri
+  else
+    cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+fi
   make -C savage DESTDIR="${pkgdir}" install
 }
 
@@ -155,7 +315,11 @@ package_sis-dri() {
   pkgdesc="Mesa DRI drivers for SiS"
   conflicts=('xf86-video-sis<0.10.2')
 
-  cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*/src/mesa/drivers/dri
+  else
+    cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+fi
   make -C sis DESTDIR="${pkgdir}" install
 }
 
@@ -164,7 +328,11 @@ package_tdfx-dri() {
   pkgdesc="Mesa DRI drivers for 3dfx"
   conflicts=('xf86-video-tdfx<1.4.3')
 
-  cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*/src/mesa/drivers/dri
+  else
+    cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+fi
   make -C tdfx DESTDIR="${pkgdir}" install
 }
 
@@ -172,11 +340,38 @@ package_nouveau-dri() {
   depends=("libgl=${pkgver}")
   pkgdesc="Mesa classic DRI + Gallium3D drivers for Nouveau"
 
-  cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+if [ "${_git}" = "true" ]; then
+    cd ${srcdir}/mesa-*/src/mesa/drivers/dri
+  else
+    cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri"
+fi
+
   # classic mesa driver for nv10 , nv20 nouveau_vieux_dri.so
   make -C nouveau DESTDIR="${pkgdir}" install
+
   # gallium3D driver for nv30 - nv40 - nv50 nouveau_dri.so
-  make -C ${srcdir}/Mesa-${pkgver}/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install
+if [ "${_git}" = "true" ]; then
+    make -C ${srcdir}/mesa-*/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install
+  else
+    make -C ${srcdir}/Mesa-${pkgver}/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install
+fi
 }
 
-
+#package_llvm-dri() {
+#  depends=("libgl=${pkgver}")
+#  pkgdesc="Mesa common LLVM support"
+
+#if [ "${_git}" = "true" ]; then
+#    cd ${srcdir}/mesa-*/src/gallium
+#  else
+#    cd "${srcdir}/Mesa-${pkgver}/src/gallium"
+#fi
+
+  # gallium llvmpipe
+#if [ "${_git}" = "true" ]; then
+#    make -C drivers/llvmpipe DESTDIR="${pkgdir}" install
+#    #make -C targets/dri-swrast DESTDIR="${pkgdir}" install
+#  else
+#    make -C ${srcdir}/Mesa-${pkgver}/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install
+#fi
+#}
diff --git a/abs/core/mesa/__changelog b/abs/core/mesa/__changelog
deleted file mode 100644
index 8067bdd..0000000
--- a/abs/core/mesa/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-add patch for python2
diff --git a/abs/core/mesa/gnome-shell-shader-fix.patch b/abs/core/mesa/gnome-shell-shader-fix.patch
new file mode 100644
index 0000000..3b3f375
--- /dev/null
+++ b/abs/core/mesa/gnome-shell-shader-fix.patch
@@ -0,0 +1,535 @@
+From 3f625689acd570e4f14cc2ebaa43a425d13954ff Mon Sep 17 00:00:00 2001
+From: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu, 31 Mar 2011 13:49:33 +0000
+Subject: nv50: copy regalloc fixes from nvc0
+
+Should fix gnome-shell's fade shader.
+
+Unification of the shader backend which is supposed to remove the
+code duplication is still WIP.
+---
+diff --git a/src/gallium/drivers/nv50/nv50_pc.h b/src/gallium/drivers/nv50/nv50_pc.h
+index e6f3815..a9a3248 100644
+--- a/src/gallium/drivers/nv50/nv50_pc.h
++++ b/src/gallium/drivers/nv50/nv50_pc.h
+@@ -228,6 +228,8 @@ struct nv_ref {
+    ubyte flags; /* not used yet */
+ };
+ 
++#define NV_REF_FLAG_REGALLOC_PRIV (1 << 0)
++
+ struct nv_basic_block;
+ 
+ struct nv_instruction {
+@@ -263,6 +265,15 @@ struct nv_instruction {
+    ubyte quadop;
+ };
+ 
++static INLINE int
++nvi_vector_size(struct nv_instruction *nvi)
++{
++   int i;
++   assert(nvi);
++   for (i = 0; i < 4 && nvi->def[i]; ++i);
++   return i;
++}
++
+ #define CFG_EDGE_FORWARD     0
+ #define CFG_EDGE_BACK        1
+ #define CFG_EDGE_LOOP_ENTER  2
+diff --git a/src/gallium/drivers/nv50/nv50_pc_regalloc.c b/src/gallium/drivers/nv50/nv50_pc_regalloc.c
+index 39ae366..657df2c 100644
+--- a/src/gallium/drivers/nv50/nv50_pc_regalloc.c
++++ b/src/gallium/drivers/nv50/nv50_pc_regalloc.c
+@@ -32,14 +32,39 @@
+ #include "util/u_simple_list.h"
+ 
+ #define NUM_REGISTER_FILES 4
++#define MAX_REGISTER_COUNT 256
+ 
+ struct register_set {
+    struct nv_pc *pc;
+ 
+    uint32_t last[NUM_REGISTER_FILES];
+-   uint32_t bits[NUM_REGISTER_FILES][8];
++   uint32_t bits[NUM_REGISTER_FILES][(MAX_REGISTER_COUNT + 31) / 32];
+ };
+ 
++/* using OR because a set bit means occupied/unavailable, aliasing is allowed */
++static void
++intersect_register_sets(struct register_set *dst,
++                        struct register_set *src1, struct register_set *src2)
++{
++   int i, j;
++
++   for (i = 0; i < NUM_REGISTER_FILES; ++i) {
++      for (j = 0; j < (MAX_REGISTER_COUNT + 31) / 32; ++j)
++         dst->bits[i][j] = src1->bits[i][j] | src2->bits[i][j];
++   }
++}
++
++static void
++mask_register_set(struct register_set *set, uint32_t mask, uint32_t umask)
++{
++   int i, j;
++
++   for (i = 0; i < NUM_REGISTER_FILES; ++i) {
++      for (j = 0; j < (MAX_REGISTER_COUNT + 31) / 32; ++j)
++         set->bits[i][j] = (set->bits[i][j] | mask) & umask;
++   }
++}
++
+ struct nv_pc_pass {
+    struct nv_pc *pc;
+ 
+@@ -61,11 +86,15 @@ ranges_coalesce(struct nv_range *range)
+    }
+ }
+ 
++/* @return: TRUE if @new_range can be freed (i.e. was not reused) */
+ static boolean
+ add_range_ex(struct nv_value *val, int bgn, int end, struct nv_range *new_range)
+ {
+    struct nv_range *range, **nextp = &val->livei;
+ 
++   if (bgn == end) /* [a, a) is invalid / empty */
++      return TRUE;
++
+    for (range = val->livei; range; range = range->next) {
+       if (end < range->bgn)
+          break; /* insert before */
+@@ -251,6 +280,8 @@ reg_occupy(struct register_set *set, struct nv_value *val)
+    id <<= s;
+    m = (1 << (1 << s)) - 1;
+ 
++   assert(s >= 0); /* XXX: remove me */
++
+    set->bits[f][id / 32] |= m << (id % 32);
+ 
+    if (set->pc->max_reg[f] < id)
+@@ -286,15 +317,12 @@ join_allowed(struct nv_pc_pass *ctx, struct nv_value *a, struct nv_value *b)
+    if (a->join->reg.id == b->join->reg.id)
+       return TRUE;
+ 
+-#if 1
+    /* either a or b or both have been assigned */
+ 
+    if (a->join->reg.id >= 0 && b->join->reg.id >= 0)
+       return FALSE;
+    else
+    if (b->join->reg.id >= 0) {
+-      if (a->join->reg.id >= 0)
+-         return FALSE;
+       val = a;
+       a = b;
+       b = val;
+@@ -309,8 +337,6 @@ join_allowed(struct nv_pc_pass *ctx, struct nv_value *a, struct nv_value *b)
+          return FALSE;
+    }
+    return TRUE;
+-#endif
+-   return FALSE;
+ }
+ 
+ static INLINE void
+@@ -336,14 +362,14 @@ do_join_values(struct nv_pc_pass *ctx, struct nv_value *a, struct nv_value *b)
+    assert(b->join == a->join);
+ }
+ 
+-static INLINE void
++static INLINE boolean
+ try_join_values(struct nv_pc_pass *ctx, struct nv_value *a, struct nv_value *b)
+ {
+    if (!join_allowed(ctx, a, b)) {
+ #ifdef NV50_RA_DEBUG_JOIN
+       debug_printf("cannot join %i to %i: not allowed\n", b->n, a->n);
+ #endif
+-      return;
++      return FALSE;
+    }
+    if (livei_have_overlap(a->join, b->join)) {
+ #ifdef NV50_RA_DEBUG_JOIN
+@@ -351,10 +377,27 @@ try_join_values(struct nv_pc_pass *ctx, struct nv_value *a, struct nv_value *b)
+       livei_print(a);
+       livei_print(b);
+ #endif
+-      return;
++      return FALSE;
+    }
+ 
+    do_join_values(ctx, a, b);
++
++   return TRUE;
++}
++
++static void
++join_values_nofail(struct nv_pc_pass *ctx,
++                   struct nv_value *a, struct nv_value *b, boolean type_only)
++{
++   if (type_only) {
++      assert(join_allowed(ctx, a, b));
++      do_join_values(ctx, a, b);
++   } else {
++      boolean ok = try_join_values(ctx, a, b);
++      if (!ok) {
++         NOUVEAU_ERR("failed to coalesce values\n");
++      }
++   }
+ }
+ 
+ static INLINE boolean
+@@ -369,20 +412,32 @@ need_new_else_block(struct nv_basic_block *b, struct nv_basic_block *p)
+    return (b->num_in > 1) && (n == 2);
+ }
+ 
++/* Look for the @phi's operand whose definition reaches @b. */
+ static int
+ phi_opnd_for_bb(struct nv_instruction *phi, struct nv_basic_block *b,
+                 struct nv_basic_block *tb)
+ {
++   struct nv_ref *srci, *srcj;
+    int i, j;
+ 
+-   for (j = -1, i = 0; i < 4 && phi->src[i]; ++i) {
+-      if (!nvbb_reachable_by(b, phi->src[i]->value->insn->bb, tb))
++   for (j = -1, i = 0; i < 6 && phi->src[i]; ++i) {
++      srci = phi->src[i];
++      /* if already replaced, check with original source first */
++      if (srci->flags & NV_REF_FLAG_REGALLOC_PRIV)
++         srci = srci->value->insn->src[0];
++      if (!nvbb_reachable_by(b, srci->value->insn->bb, NULL))
+          continue;
+       /* NOTE: back-edges are ignored by the reachable-by check */
+-      if (j < 0 || !nvbb_reachable_by(phi->src[j]->value->insn->bb,
+-                                      phi->src[i]->value->insn->bb, tb))
++      if (j < 0 || !nvbb_reachable_by(srcj->value->insn->bb,
++                                      srci->value->insn->bb, NULL)) {
+          j = i;
++         srcj = srci;
++      }
+    }
++   if (j >= 0 && nvbb_reachable_by(b, phi->def[0]->insn->bb, NULL))
++      if (!nvbb_reachable_by(srcj->value->insn->bb,
++                             phi->def[0]->insn->bb, NULL))
++         j = -1;
+    return j;
+ }
+ 
+@@ -429,16 +484,21 @@ pass_generate_phi_movs(struct nv_pc_pass *ctx, struct nv_basic_block *b)
+       ctx->pc->current_block = pn;
+ 
+       for (i = b->phi; i && i->opcode == NV_OP_PHI; i = i->next) {
+-         if ((j = phi_opnd_for_bb(i, p, b)) < 0)
+-            continue;
+-         val = i->src[j]->value;
+-
+-         if (i->src[j]->flags) {
+-            val = val->insn->src[0]->value;
+-            while (j < 4 && i->src[j])
+-               ++j;
+-            assert(j < 4);
++         j = phi_opnd_for_bb(i, p, b);
++
++         if (j < 0) {
++            val = i->def[0];
++         } else {
++            val = i->src[j]->value;
++            if (i->src[j]->flags & NV_REF_FLAG_REGALLOC_PRIV) {
++               j = -1;
++               /* use original value, we already encountered & replaced it */
++               val = val->insn->src[0]->value;
++            }
+          }
++         if (j < 0) /* need an additional source ? */
++            for (j = 0; j < 5 && i->src[j] && i->src[j]->value != val; ++j);
++         assert(j < 5);
+ 
+          ni = new_instruction(ctx->pc, NV_OP_MOV);
+ 
+@@ -452,7 +512,7 @@ pass_generate_phi_movs(struct nv_pc_pass *ctx, struct nv_basic_block *b)
+ 
+          nv_reference(ctx->pc, &i->src[j], ni->def[0]);
+ 
+-         i->src[j]->flags = 1;
++         i->src[j]->flags |= NV_REF_FLAG_REGALLOC_PRIV;
+       }
+ 
+       if (pn != p && pn->exit) {
+@@ -470,45 +530,50 @@ pass_generate_phi_movs(struct nv_pc_pass *ctx, struct nv_basic_block *b)
+    return 0;
+ }
+ 
++#define JOIN_MASK_PHI    (1 << 0)
++#define JOIN_MASK_SELECT (1 << 1)
++#define JOIN_MASK_MOV    (1 << 2)
++#define JOIN_MASK_TEX    (1 << 3)
++
+ static int
+-pass_join_values(struct nv_pc_pass *ctx, int iter)
++pass_join_values(struct nv_pc_pass *ctx, unsigned mask)
+ {
+    int c, n;
+ 
+    for (n = 0; n < ctx->num_insns; ++n) {
+-      struct nv_instruction *i = ctx->insns[n];
++      struct nv_instruction *nvi, *i = ctx->insns[n];
+ 
+       switch (i->opcode) {
+       case NV_OP_PHI:
+-         if (iter != 2)
++         if (!(mask & JOIN_MASK_PHI))
+             break;
+-         for (c = 0; c < 4 && i->src[c]; ++c)
+-            try_join_values(ctx, i->def[0], i->src[c]->value);
++         for (c = 0; c < 5 && i->src[c]; ++c)
++            join_values_nofail(ctx, i->def[0], i->src[c]->value, FALSE);
+          break;
+       case NV_OP_MOV:
+-         if ((iter == 2) && i->src[0]->value->insn &&
+-             !nv_is_vector_op(i->src[0]->value->join->insn->opcode))
++         if (!(mask & JOIN_MASK_MOV))
++            break;
++         nvi = i->src[0]->value->join->insn;
++         if (nvi && !nv_is_vector_op(nvi->opcode))
+             try_join_values(ctx, i->def[0], i->src[0]->value);
+          break;
+       case NV_OP_SELECT:
+-         if (iter != 1)
++         if (!(mask & JOIN_MASK_SELECT))
+             break;
+-         for (c = 0; c < 4 && i->src[c]; ++c) {
+-            assert(join_allowed(ctx, i->def[0], i->src[c]->value));
+-            do_join_values(ctx, i->def[0], i->src[c]->value);
+-         }
++         for (c = 0; c < 5 && i->src[c]; ++c)
++            join_values_nofail(ctx, i->def[0], i->src[c]->value, TRUE);
+          break;
+       case NV_OP_TEX:
+       case NV_OP_TXB:
+       case NV_OP_TXL:
+       case NV_OP_TXQ:
+-         if (iter)
++         if (!(mask & JOIN_MASK_TEX))
+             break;
+-         for (c = 0; c < 4; ++c) {
+-            if (!i->src[c])
+-               break;
+-            do_join_values(ctx, i->def[c], i->src[c]->value);
+-         }
++         /* This should work without conflicts because we always generate
++          * extra MOVs for the sources of a TEX.
++          */
++         for (c = 0; c < 4 && i->src[c]; ++c)
++            join_values_nofail(ctx, i->def[c], i->src[c]->value, TRUE);
+          break;
+       default:
+          break;
+@@ -643,15 +708,15 @@ static void collect_live_values(struct nv_basic_block *b, const int n)
+ {
+    int i;
+ 
+-   if (b->out[0]) {
+-      if (b->out[1]) { /* what to do about back-edges ? */
++   if (b->out[0] && b->out_kind[0] != CFG_EDGE_FAKE) {
++      if (b->out[1] && b->out_kind[1] != CFG_EDGE_FAKE) {
+          for (i = 0; i < n; ++i)
+             b->live_set[i] = b->out[0]->live_set[i] | b->out[1]->live_set[i];
+       } else {
+          memcpy(b->live_set, b->out[0]->live_set, n * sizeof(uint32_t));
+       }
+    } else
+-   if (b->out[1]) {
++   if (b->out[1] && b->out_kind[1] != CFG_EDGE_FAKE) {
+       memcpy(b->live_set, b->out[1]->live_set, n * sizeof(uint32_t));
+    } else {
+       memset(b->live_set, 0, n * sizeof(uint32_t));
+@@ -770,8 +835,8 @@ insert_ordered_tail(struct nv_value *list, struct nv_value *nval)
+    struct nv_value *elem;
+ 
+    for (elem = list->prev;
+-	elem != list && elem->livei->bgn > nval->livei->bgn;
+-	elem = elem->prev);
++        elem != list && elem->livei->bgn > nval->livei->bgn;
++        elem = elem->prev);
+    /* now elem begins before or at the same time as val */
+ 
+    nval->prev = elem;
+@@ -780,44 +845,49 @@ insert_ordered_tail(struct nv_value *list, struct nv_value *nval)
+    elem->next = nval;
+ }
+ 
+-static int
+-pass_linear_scan(struct nv_pc_pass *ctx, int iter)
++static void
++collect_register_values(struct nv_pc_pass *ctx, struct nv_value *head,
++                        boolean assigned_only)
+ {
+-   struct nv_instruction *i;
+-   struct register_set f, free;
++   struct nv_value *val;
+    int k, n;
+-   struct nv_value *cur, *val, *tmp[2];
+-   struct nv_value active, inactive, handled, unhandled;
+ 
+-   make_empty_list(&active);
+-   make_empty_list(&inactive);
+-   make_empty_list(&handled);
+-   make_empty_list(&unhandled);
+-
+-   nv50_ctor_register_set(ctx->pc, &free);
++   make_empty_list(head);
+ 
+-   /* joined values should have range = NULL and thus not be added;
+-    * also, fixed memory values won't be added because they're not
+-    * def'd, just used
+-    */
+    for (n = 0; n < ctx->num_insns; ++n) {
+-      i = ctx->insns[n];
++      struct nv_instruction *i = ctx->insns[n];
+ 
++      /* for joined values, only the representative will have livei != NULL */
+       for (k = 0; k < 4; ++k) {
+          if (i->def[k] && i->def[k]->livei)
+-            insert_ordered_tail(&unhandled, i->def[k]);
+-         else
+-         if (0 && i->def[k])
+-            debug_printf("skipping def'd value %i: no livei\n", i->def[k]->n);
++            if (!assigned_only || i->def[k]->reg.id >= 0)
++               insert_ordered_tail(head, i->def[k]);
+       }
+       if (i->flags_def && i->flags_def->livei)
+-         insert_ordered_tail(&unhandled, i->flags_def);
++         if (!assigned_only || i->flags_def->reg.id >= 0)
++            insert_ordered_tail(head, i->flags_def);
+    }
+ 
+-   for (val = unhandled.next; val != unhandled.prev; val = val->next) {
++   for (val = head->next; val != head->prev; val = val->next) {
+       assert(val->join == val);
+       assert(val->livei->bgn <= val->next->livei->bgn);
+    }
++}
++
++static int
++pass_linear_scan(struct nv_pc_pass *ctx, int iter)
++{
++   struct register_set f, free;
++   struct nv_value *cur, *val, *tmp[2];
++   struct nv_value active, inactive, handled, unhandled;
++
++   make_empty_list(&active);
++   make_empty_list(&inactive);
++   make_empty_list(&handled);
++
++   nv50_ctor_register_set(ctx->pc, &free);
++
++   collect_register_values(ctx, &unhandled, FALSE);
+ 
+    foreach_s(cur, tmp[0], &unhandled) {
+       remove_from_list(cur);
+@@ -854,13 +924,7 @@ pass_linear_scan(struct nv_pc_pass *ctx, int iter)
+             reg_occupy(&f, val);
+ 
+       if (cur->reg.id < 0) {
+-         boolean mem = FALSE;
+-
+-         if (nv_is_vector_op(cur->insn->opcode))
+-            mem = !reg_assign(&f, &cur->insn->def[0], 4);
+-         else
+-         if (iter)
+-            mem = !reg_assign(&f, &cur, 1);
++         boolean mem = !reg_assign(&f, &cur, 1);
+ 
+          if (mem) {
+             NOUVEAU_ERR("out of registers\n");
+@@ -874,6 +938,67 @@ pass_linear_scan(struct nv_pc_pass *ctx, int iter)
+    return 0;
+ }
+ 
++/* Allocate values defined by instructions such as TEX, which have to be
++ * assigned to consecutive registers.
++ * Linear scan doesn't really work here since the values can have different
++ * live intervals.
++ */
++static int
++pass_allocate_constrained_values(struct nv_pc_pass *ctx)
++{
++   struct nv_value regvals, *val;
++   struct nv_instruction *i;
++   struct nv_value *defs[4];
++   struct register_set regs[4];
++   int n, vsize, c;
++   uint32_t mask;
++   boolean mem;
++
++   collect_register_values(ctx, &regvals, TRUE);
++
++   for (n = 0; n < ctx->num_insns; ++n) {
++      i = ctx->insns[n];
++      vsize = nvi_vector_size(i);
++      if (!(vsize > 1))
++         continue;
++      assert(vsize <= 4);
++      for (c = 0; c < vsize; ++c)
++         defs[c] = i->def[c]->join;
++
++      if (defs[0]->reg.id >= 0) {
++         for (c = 1; c < vsize; ++c)
++            assert(defs[c]->reg.id >= 0);
++         continue;
++      }
++
++      for (c = 0; c < vsize; ++c) {
++         nv50_ctor_register_set(ctx->pc, &regs[c]);
++
++         foreach(val, &regvals) {
++            if (val->reg.id >= 0 && livei_have_overlap(val, defs[c]))
++               reg_occupy(&regs[c], val);
++         }
++         mask = 0x11111111;
++         if (vsize == 2) /* granularity is 2 and not 4 */
++            mask |= 0x11111111 << 2;
++         mask_register_set(&regs[c], 0, mask << c);
++
++         if (defs[c]->livei)
++            insert_ordered_tail(&regvals, defs[c]);
++      }
++      for (c = 1; c < vsize; ++c)
++         intersect_register_sets(&regs[0], &regs[0], &regs[c]);
++
++      mem = !reg_assign(&regs[0], &defs[0], vsize);
++
++      if (mem) {
++         NOUVEAU_ERR("out of registers\n");
++         abort();
++      }
++   }
++   return 0;
++}
++
+ static int
+ nv_pc_pass1(struct nv_pc *pc, struct nv_basic_block *root)
+ {
+@@ -923,16 +1048,16 @@ nv_pc_pass1(struct nv_pc *pc, struct nv_basic_block *root)
+       livei_print(&pc->values[i]);
+ #endif
+ 
+-   ret = pass_join_values(ctx, 0);
++   ret = pass_join_values(ctx, JOIN_MASK_PHI);
+    if (ret)
+       goto out;
+-   ret = pass_linear_scan(ctx, 0);
++   ret = pass_join_values(ctx, JOIN_MASK_SELECT | JOIN_MASK_TEX);
+    if (ret)
+       goto out;
+-   ret = pass_join_values(ctx, 1);
++   ret = pass_join_values(ctx, JOIN_MASK_MOV);
+    if (ret)
+       goto out;
+-   ret = pass_join_values(ctx, 2);
++   ret = pass_allocate_constrained_values(ctx);
+    if (ret)
+       goto out;
+    ret = pass_linear_scan(ctx, 1);
+--
+cgit v0.8.3-6-g21f6
diff --git a/abs/core/mesa/mesa-6.5-apps-noglut.patch b/abs/core/mesa/mesa-6.5-apps-noglut.patch
deleted file mode 100644
index ac76a60..0000000
--- a/abs/core/mesa/mesa-6.5-apps-noglut.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- progs/xdemos/Makefile.dont-libglut-me-harder-ok-thx-bye	2006-07-25 05:27:36.000000000 -0400
-+++ progs/xdemos/Makefile	2006-07-25 05:33:57.000000000 -0400
-@@ -49,8 +49,13 @@
- 	-rm -f $(PROGS)
- 	-rm -f *.o *~
- 
--
- # special cases
-+glxgears:
-+	$(CC) $(CFLAGS) glxgears.c -lGL -o $@
-+
-+glxinfo:
-+	$(CC) $(CFLAGS) -I$(INCDIR) glxinfo.c -L$(TOP)/lib -L$(TOP)/lib64 -lGL -lGLU -o $@
-+
- pbinfo: pbinfo.o pbutil.o
- 	$(CC) $(CFLAGS) pbinfo.o pbutil.o $(APP_LIB_DEPS) -o $@
- 
diff --git a/abs/core/mesa/mesa-7.1-link-shared.patch b/abs/core/mesa/mesa-7.1-link-shared.patch
deleted file mode 100644
index 7fdbf14..0000000
--- a/abs/core/mesa/mesa-7.1-link-shared.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.dricore mesa-20080814/src/mesa/drivers/dri/Makefile
---- mesa-20080814/src/mesa/drivers/dri/Makefile.dricore	2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile	2008-08-14 16:18:20.000000000 +1000
-@@ -6,12 +6,17 @@ include $(TOP)/configs/current
- 
- 
- 
--default: $(TOP)/$(LIB_DIR) subdirs
-+default: $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/libdricore.so subdirs
- 
- 
- $(TOP)/$(LIB_DIR):
- 	-mkdir $(TOP)/$(LIB_DIR)
- 
-+libdricore.so:
-+	gcc -shared -o libdricore.so -Wl,--whole-archive ../../libmesa.a -Wl,--no-whole-archive -lm -lpthread -lc
-+
-+$(TOP)/$(LIB_DIR)/libdricore.so: $(TOP)/$(LIB_DIR) libdricore.so
-+	$(INSTALL) libdricore.so $(TOP)/$(LIB_DIR) 
- 
- subdirs:
- 	@for dir in $(DRI_DIRS) ; do \
-@@ -31,12 +36,14 @@ dri.pc: dri.pc.in
- 	$(pcedit) $< > $@
- 
- 
--install: dri.pc
-+install: dri.pc $(TOP)/$(LIB_DIR)/libdricore.so
- 	@for dir in $(DRI_DIRS) ; do \
- 		if [ -d $$dir ] ; then \
- 			(cd $$dir && $(MAKE) install) || exit 1 ; \
- 		fi \
- 	done
-+	$(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
-+	$(INSTALL) -m 755 $(TOP)/$(LIB_DIR)/libdricore.so $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
- 	$(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
- 	$(INSTALL) -m 0644 $(TOP)/include/GL/internal/dri_interface.h \
- 	  $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
-@@ -52,5 +59,6 @@ clean:
- 			(cd $$dir && $(MAKE) clean) ; \
- 		fi \
- 	done
-+	-rm -f libdricore.so $(TOP)/$(LIB_DIR)/libdricore.so
- 	-rm -f common/*.o
- 	-rm -f *.pc
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore mesa-20080814/src/mesa/drivers/dri/Makefile.template
---- mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore	2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile.template	2008-08-14 16:19:37.000000000 +1000
-@@ -1,6 +1,6 @@
- # -*-makefile-*-
- 
--MESA_MODULES = $(TOP)/src/mesa/libmesa.a
-+MESA_MODULES = $(TOP)/$(LIB_DIR)/libdricore.so
- 
- COMMON_SOURCES = \
-         ../common/utils.c \
-@@ -64,7 +64,9 @@ default: symlinks depend $(LIBNAME) $(TO
- 
- $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template
- 	$(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
--		$(OBJECTS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS)
-+		$(OBJECTS) $(WINOBJ) \
-+		-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore \
-+		$(DRI_LIB_DEPS)
- 
- 
- $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
-diff -up mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore mesa-20080814/src/mesa/x86/read_rgba_span_x86.S
---- mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore	2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/x86/read_rgba_span_x86.S	2008-08-14 16:16:49.000000000 +1000
-@@ -77,7 +77,6 @@
-  */
- 
- .globl _generic_read_RGBA_span_BGRA8888_REV_MMX
--.hidden _generic_read_RGBA_span_BGRA8888_REV_MMX
- 	.type	_generic_read_RGBA_span_BGRA8888_REV_MMX, @function
- _generic_read_RGBA_span_BGRA8888_REV_MMX:
- 	pushl	%ebx
-@@ -172,7 +171,6 @@ _generic_read_RGBA_span_BGRA8888_REV_MMX
-  */
- 
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE
- 	.type	_generic_read_RGBA_span_BGRA8888_REV_SSE, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE:
- 	pushl	%esi
-@@ -335,7 +333,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
- 
- 	.text
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE2
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE2
- 	.type	_generic_read_RGBA_span_BGRA8888_REV_SSE2, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE2:
- 	pushl	%esi
-@@ -494,7 +491,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
- 
- 	.text
- 	.globl	_generic_read_RGBA_span_RGB565_MMX
--        .hidden _generic_read_RGBA_span_RGB565_MMX
- 	.type	_generic_read_RGBA_span_RGB565_MMX, @function
- 
- _generic_read_RGBA_span_RGB565_MMX:
diff --git a/abs/core/mesa/nouveau-fix-header.patch b/abs/core/mesa/nouveau-fix-header.patch
new file mode 100644
index 0000000..38aa996
--- /dev/null
+++ b/abs/core/mesa/nouveau-fix-header.patch
@@ -0,0 +1,86 @@
+From 5c102dd94f435e97507213fbd128e50dd15f5f54 Mon Sep 17 00:00:00 2001
+From: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon, 20 Dec 2010 03:39:36 +0000
+Subject: nouveau: fix includes for latest libdrm
+
+Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+---
+diff --git a/src/gallium/drivers/nouveau/nouveau_winsys.h b/src/gallium/drivers/nouveau/nouveau_winsys.h
+index ab480ca..747b084 100644
+--- a/src/gallium/drivers/nouveau/nouveau_winsys.h
++++ b/src/gallium/drivers/nouveau/nouveau_winsys.h
+@@ -10,7 +10,7 @@
+ #include "nouveau/nouveau_grobj.h"
+ #include "nouveau/nouveau_notifier.h"
+ #include "nouveau/nouveau_resource.h"
+-#include "nouveau/nouveau_pushbuf.h"
++#include "nouveau/nv04_pushbuf.h"
+ 
+ #ifndef NV04_PFIFO_MAX_PACKET_LEN
+ #define NV04_PFIFO_MAX_PACKET_LEN 2047
+diff --git a/src/gallium/drivers/nv50/nv50_surface.c b/src/gallium/drivers/nv50/nv50_surface.c
+index ce48022..a99df76 100644
+--- a/src/gallium/drivers/nv50/nv50_surface.c
++++ b/src/gallium/drivers/nv50/nv50_surface.c
+@@ -22,7 +22,7 @@
+ 
+ #define __NOUVEAU_PUSH_H__
+ #include <stdint.h>
+-#include "nouveau/nouveau_pushbuf.h"
++#include "nouveau/nv04_pushbuf.h"
+ #include "nv50_context.h"
+ #include "nv50_resource.h"
+ #include "pipe/p_defines.h"
+diff --git a/src/gallium/drivers/nvfx/nv04_2d.c b/src/gallium/drivers/nvfx/nv04_2d.c
+index e0e65e7..e2fadd3 100644
+--- a/src/gallium/drivers/nvfx/nv04_2d.c
++++ b/src/gallium/drivers/nvfx/nv04_2d.c
+@@ -34,11 +34,11 @@
+ #include <stdio.h>
+ #include <stdint.h>
+ #include <nouveau/nouveau_device.h>
+-#include <nouveau/nouveau_pushbuf.h>
+ #include <nouveau/nouveau_channel.h>
+ #include <nouveau/nouveau_bo.h>
+ #include <nouveau/nouveau_notifier.h>
+ #include <nouveau/nouveau_grobj.h>
++#include <nouveau/nv04_pushbuf.h>
+ #include "nv04_2d.h"
+ 
+ #include "nouveau/nv_object.xml.h"
+diff --git a/src/gallium/drivers/nvfx/nvfx_vbo.c b/src/gallium/drivers/nvfx/nvfx_vbo.c
+index 597664e..339b317 100644
+--- a/src/gallium/drivers/nvfx/nvfx_vbo.c
++++ b/src/gallium/drivers/nvfx/nvfx_vbo.c
+@@ -9,8 +9,7 @@
+ #include "nvfx_resource.h"
+ 
+ #include "nouveau/nouveau_channel.h"
+-
+-#include "nouveau/nouveau_pushbuf.h"
++#include "nouveau/nv04_pushbuf.h"
+ 
+ static inline unsigned
+ util_guess_unique_indices_count(unsigned mode, unsigned indices)
+diff --git a/src/mesa/drivers/dri/nouveau/nouveau_driver.h b/src/mesa/drivers/dri/nouveau/nouveau_driver.h
+index 8036b18..c5ac128 100644
+--- a/src/mesa/drivers/dri/nouveau/nouveau_driver.h
++++ b/src/mesa/drivers/dri/nouveau/nouveau_driver.h
+@@ -38,7 +38,6 @@
+ #include <assert.h>
+ 
+ #include "nouveau_device.h"
+-#include "nouveau_pushbuf.h"
+ #include "nouveau_grobj.h"
+ #include "nouveau_channel.h"
+ #include "nouveau_bo.h"
+@@ -46,6 +45,7 @@
+ #include "nouveau_screen.h"
+ #include "nouveau_state.h"
+ #include "nouveau_surface.h"
++#include "nv04_pushbuf.h"
+ 
+ #define DRIVER_DATE	"20091015"
+ #define DRIVER_AUTHOR	"Nouveau"
+--
+cgit v0.8.3-6-g21f6
diff --git a/abs/core/mesa/nouveau_class.h b/abs/core/mesa/nouveau_class.h
deleted file mode 100644
index 0167cbc..0000000
--- a/abs/core/mesa/nouveau_class.h
+++ /dev/null
@@ -1,9019 +0,0 @@
-/*************************************************************************
-
-   Autogenerated file, do not edit !
-
-   This file was generated by renouveau-gen from renouveau.xml, the
-   XML database of nvidia objects and methods. renouveau-gen and
-   renouveau.xml can be found in CVS module renouveau of sourceforge.net
-   project nouveau:
-
-cvs -z3 -d:pserver:anonymous@nouveau.cvs.sourceforge.net:/cvsroot/nouveau co -P renouveau
-
-**************************************************************************
-
-   Copyright (C) 2006-2008 :
-   Dmitry Baryshkov,
-   Laurent Carlier,
-   Matthieu Castet,
-   Dawid Gajownik,
-   Jeremy Kolb,
-   Stephane Loeuillet,
-   Patrice Mandin,
-   Stephane Marchesin,
-   Serge Martin,
-   Sylvain Munaut,
-   Simon Raffeiner,
-   Ben Skeggs,
-   Erik Waling,
-   koala_br,
-
-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_CONTEXT_DMA								0x00000002
-
-
-
-#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_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_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 NV04_CONTEXT_COLOR_KEY								0x00000057
-
-
-
-#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 NV04_RENDER_SOLID_LINE								0x0000005c
-
-#define  NV04_RENDER_SOLID_LINE_BETA4							0x00000194
-#define  NV04_RENDER_SOLID_LINE_SURFACE							0x00000198
-
-
-#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 NV04_RENDER_SOLID_TRIANGLE							0x0000005d
-
-#define  NV04_RENDER_SOLID_TRIANGLE_BETA4						0x00000194
-#define  NV04_RENDER_SOLID_TRIANGLE_SURFACE						0x00000198
-
-
-#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 NV04_RENDER_SOLID_RECTANGLE							0x0000005e
-
-#define  NV04_RENDER_SOLID_RECTANGLE_BETA4						0x00000194
-#define  NV04_RENDER_SOLID_RECTANGLE_SURFACE						0x00000198
-
-
-#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_OPERATION_SRCCOPY_AND						0x00000000
-#define   NV01_IMAGE_BLIT_OPERATION_ROP_AND						0x00000001
-#define   NV01_IMAGE_BLIT_OPERATION_BLEND_AND						0x00000002
-#define   NV01_IMAGE_BLIT_OPERATION_SRCCOPY						0x00000003
-#define   NV01_IMAGE_BLIT_OPERATION_SRCCOPY_PREMULT					0x00000004
-#define   NV01_IMAGE_BLIT_OPERATION_BLEND_PREMULT					0x00000005
-#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 NV04_IMAGE_BLIT									0x0000005f
-
-#define  NV04_IMAGE_BLIT_ROP								0x00000190
-#define  NV04_IMAGE_BLIT_BETA4								0x00000198
-#define  NV04_IMAGE_BLIT_SURFACE							0x0000019c
-
-
-#define NV12_IMAGE_BLIT									0x0000009f
-
-#define  NV12_IMAGE_BLIT_WAIT_FOR_IDLE							0x00000108
-
-
-#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 NV04_IMAGE_FROM_CPU								0x00000061
-
-#define  NV04_IMAGE_FROM_CPU_BETA4							0x00000198
-#define  NV04_IMAGE_FROM_CPU_SURFACE							0x0000019c
-
-
-#define NV05_IMAGE_FROM_CPU								0x00000065
-
-#define  NV05_IMAGE_FROM_CPU_COLOR_CONVERSION						0x000002f8
-
-
-#define NV10_IMAGE_FROM_CPU								0x0000008a
-
-#define  NV10_IMAGE_FROM_CPU_WAIT_FOR_IDLE						0x00000108
-
-
-#define NV30_IMAGE_FROM_CPU								0x0000038a
-
-
-
-#define NV40_IMAGE_FROM_CPU								0x0000308a
-
-
-
-#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 NV04_STRETCHED_IMAGE_FROM_CPU							0x00000076
-
-#define  NV04_STRETCHED_IMAGE_FROM_CPU_BETA4						0x00000194
-#define  NV04_STRETCHED_IMAGE_FROM_CPU_SURFACE						0x00000198
-
-
-#define NV05_STRETCHED_IMAGE_FROM_CPU							0x00000066
-
-#define  NV05_STRETCHED_IMAGE_FROM_CPU_COLOR_CONVERSION					0x000002f8
-
-
-#define NV30_STRETCHED_IMAGE_FROM_CPU							0x00000366
-
-
-
-#define NV40_STRETCHED_IMAGE_FROM_CPU							0x00003066
-
-
-
-#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_OUT_POINT					0x00000310
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_SHIFT				0
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_MASK				0x0000ffff
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_SHIFT				16
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_MASK				0xffff0000
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE						0x00000314
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_SHIFT				0
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_MASK					0x0000ffff
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_SHIFT				16
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_MASK					0xffff0000
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_DU_DX						0x00000318
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_DV_DY						0x0000031c
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_SIZE						0x00000400
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_W_SHIFT					0
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_W_MASK					0x0000ffff
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_H_SHIFT					16
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_H_MASK					0xffff0000
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT						0x00000404
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_SHIFT				0
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_MASK				0x0000ffff
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_SHIFT				16
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_MASK				0x00ff0000
-#define    NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CENTER				0x00010000
-#define    NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CORNER				0x00020000
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_SHIFT				24
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_MASK				0xff000000
-#define    NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_POINT_SAMPLE			0x00000000
-#define    NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_BILINEAR				0x01000000
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_OFFSET						0x00000408
-#define  NV03_SCALED_IMAGE_FROM_MEMORY_POINT						0x0000040c
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_POINT_U_SHIFT					0
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_POINT_U_MASK					0x0000ffff
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_POINT_V_SHIFT					16
-#define   NV03_SCALED_IMAGE_FROM_MEMORY_POINT_V_MASK					0xffff0000
-
-
-#define NV04_SCALED_IMAGE_FROM_MEMORY							0x00000077
-
-#define  NV04_SCALED_IMAGE_FROM_MEMORY_BETA4						0x00000194
-#define  NV04_SCALED_IMAGE_FROM_MEMORY_SURFACE						0x00000198
-
-
-#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 NV10_SCALED_IMAGE_FROM_MEMORY							0x00000089
-
-#define  NV10_SCALED_IMAGE_FROM_MEMORY_WAIT_FOR_IDLE					0x00000108
-
-
-#define NV30_SCALED_IMAGE_FROM_MEMORY							0x00000389
-
-
-
-#define NV40_SCALED_IMAGE_FROM_MEMORY							0x00003089
-
-
-
-#define NV04_DVD_SUBPICTURE								0x00000038
-
-#define  NV04_DVD_SUBPICTURE_NOP							0x00000100
-#define  NV04_DVD_SUBPICTURE_NOTIFY							0x00000104
-#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 NV10_DVD_SUBPICTURE								0x00000088
-
-#define  NV10_DVD_SUBPICTURE_WAIT_FOR_IDLE						0x00000108
-
-
-#define NV04_MEMORY_TO_MEMORY_FORMAT							0x00000039
-
-#define  NV04_MEMORY_TO_MEMORY_FORMAT_NOP						0x00000100
-#define  NV04_MEMORY_TO_MEMORY_FORMAT_NOTIFY						0x00000104
-#define  NV04_MEMORY_TO_MEMORY_FORMAT_DMA_NOTIFY					0x00000180
-#define  NV04_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_IN					0x00000184
-#define  NV04_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_OUT					0x00000188
-#define  NV04_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN						0x0000030c
-#define  NV04_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT					0x00000310
-#define  NV04_MEMORY_TO_MEMORY_FORMAT_PITCH_IN						0x00000314
-#define  NV04_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT						0x00000318
-#define  NV04_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN					0x0000031c
-#define  NV04_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT					0x00000320
-#define  NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT						0x00000324
-#define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_SHIFT				0
-#define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_MASK				0x000000ff
-#define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_SHIFT				8
-#define   NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_MASK				0x0000ff00
-#define  NV04_MEMORY_TO_MEMORY_FORMAT_BUF_NOTIFY					0x00000328
-
-
-#define NV50_MEMORY_TO_MEMORY_FORMAT							0x00005039
-
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_SERIALIZE						0x00000110
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_LINEAR_IN						0x00000200
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_IN					0x00000204
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_IN					0x00000208
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_IN					0x0000020c
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_IN					0x00000210
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Z				0x00000214
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN				0x00000218
-#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X_SHIFT			0
-#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X_MASK			0x0000ffff
-#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y_SHIFT			16
-#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y_MASK			0xffff0000
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_LINEAR_OUT					0x0000021c
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_OUT					0x00000220
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_OUT					0x00000224
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_OUT					0x00000228
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_OUT					0x0000022c
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Z				0x00000230
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT				0x00000234
-#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X_SHIFT			0
-#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X_MASK			0x0000ffff
-#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y_SHIFT			16
-#define   NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y_MASK			0xffff0000
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_HIGH					0x00000238
-#define  NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH					0x0000023c
-
-
-#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 NV10_CONTEXT_SURFACES_2D							0x00000062
-
-
-
-#define NV30_CONTEXT_SURFACES_2D							0x00000362
-
-
-
-#define NV40_CONTEXT_SURFACES_2D							0x00003062
-
-
-
-#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_TEXTURED_TRIANGLE								0x00000048
-
-#define  NV03_TEXTURED_TRIANGLE_NOP							0x00000100
-#define  NV03_TEXTURED_TRIANGLE_NOTIFY							0x00000104
-#define  NV03_TEXTURED_TRIANGLE_PATCH							0x0000010c
-#define  NV03_TEXTURED_TRIANGLE_DMA_NOTIFY						0x00000180
-#define  NV03_TEXTURED_TRIANGLE_DMA_TEXTURE						0x00000184
-#define  NV03_TEXTURED_TRIANGLE_CLIP_RECTANGLE						0x00000188
-#define  NV03_TEXTURED_TRIANGLE_SURFACE							0x0000018c
-#define  NV03_TEXTURED_TRIANGLE_TEXTURE_OFFSET						0x00000304
-#define  NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT						0x00000308
-#define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_MASK_SHIFT			0
-#define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_MASK_MASK			0x0000ffff
-#define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_ENABLE_SHIFT			16
-#define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_ENABLE_MASK			0x000f0000
-#define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_SHIFT				20
-#define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_MASK				0x00f00000
-#define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MIN_SHIFT				24
-#define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MIN_MASK				0x0f000000
-#define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MAX_SHIFT				28
-#define   NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MAX_MASK				0xf0000000
-#define  NV03_TEXTURED_TRIANGLE_FILTER							0x0000030c
-#define   NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_X_SHIFT					0
-#define   NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_X_MASK					0x0000001f
-#define   NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_Y_SHIFT					8
-#define   NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_Y_MASK					0x00001f00
-#define   NV03_TEXTURED_TRIANGLE_FILTER_SIZE_ADJUST_SHIFT				16
-#define   NV03_TEXTURED_TRIANGLE_FILTER_SIZE_ADJUST_MASK				0x00ff0000
-#define  NV03_TEXTURED_TRIANGLE_FOG_COLOR						0x00000310
-#define   NV03_TEXTURED_TRIANGLE_FOG_COLOR_B_SHIFT					0
-#define   NV03_TEXTURED_TRIANGLE_FOG_COLOR_B_MASK					0x000000ff
-#define   NV03_TEXTURED_TRIANGLE_FOG_COLOR_G_SHIFT					8
-#define   NV03_TEXTURED_TRIANGLE_FOG_COLOR_G_MASK					0x0000ff00
-#define   NV03_TEXTURED_TRIANGLE_FOG_COLOR_R_SHIFT					16
-#define   NV03_TEXTURED_TRIANGLE_FOG_COLOR_R_MASK					0x00ff0000
-#define  NV03_TEXTURED_TRIANGLE_CONTROL_OUT						0x00000314
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_INTERPOLATOR_SHIFT				0
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_INTERPOLATOR_MASK				0x0000000f
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_U_SHIFT				4
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_U_MASK				0x00000030
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_V_SHIFT				6
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_V_MASK				0x000000c0
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_SOURCE_COLOR_SHIFT				8
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_SOURCE_COLOR_MASK				0x00000f00
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_CULLING_SHIFT				12
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_CULLING_MASK				0x00007000
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_PERSPECTIVE_ENABLE			(1 << 15)
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_FUNC_SHIFT				16
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_FUNC_MASK				0x000f0000
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_WRITE_ENABLE_SHIFT			20
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_WRITE_ENABLE_MASK			0x00f00000
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_COLOR_WRITE_ENABLE_SHIFT			24
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_COLOR_WRITE_ENABLE_MASK			0x07000000
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_ROP_SHIFT					27
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_ROP_MASK					0x18000000
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_BETA					(1 << 29)
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_DST_BLEND					(1 << 30)
-#define   NV03_TEXTURED_TRIANGLE_CONTROL_OUT_SRC_BLEND					(1 << 31)
-#define  NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL						0x00000318
-#define   NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_SHIFT				0
-#define   NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_MASK				0x000000ff
-#define   NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_SHIFT				8
-#define   NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_MASK				0xffffff00
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(x)					(0x00001000+((x)*32))
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR__SIZE					0x00000080
-#define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I0_SHIFT				0
-#define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I0_MASK				0x0000000f
-#define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I1_SHIFT				4
-#define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I1_MASK				0x000000f0
-#define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I2_SHIFT				8
-#define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I2_MASK				0x00000f00
-#define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I3_SHIFT				12
-#define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I3_MASK				0x0000f000
-#define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I4_SHIFT				16
-#define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I4_MASK				0x000f0000
-#define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I5_SHIFT				20
-#define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I5_MASK				0x00f00000
-#define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_SHIFT				24
-#define   NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_MASK				0xff000000
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_COLOR(x)					(0x00001004+((x)*32))
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_COLOR__SIZE					0x00000080
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SX(x)						(0x00001008+((x)*32))
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SX__SIZE					0x00000080
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SY(x)						(0x0000100c+((x)*32))
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SY__SIZE					0x00000080
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SZ(x)						(0x00001010+((x)*32))
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_SZ__SIZE					0x00000080
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_RHW(x)						(0x00001014+((x)*32))
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_RHW__SIZE					0x00000080
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_TU(x)						(0x00001018+((x)*32))
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_TU__SIZE					0x00000080
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_TV(x)						(0x0000101c+((x)*32))
-#define  NV03_TEXTURED_TRIANGLE_TLVERTEX_TV__SIZE					0x00000080
-
-
-#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 NV20_SWIZZLED_SURFACE								0x0000009e
-
-
-
-#define NV30_SWIZZLED_SURFACE								0x0000039e
-
-
-
-#define NV40_SWIZZLED_SURFACE								0x0000309e
-
-
-
-#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 NV10_CONTEXT_SURFACES_3D							0x00000093
-
-
-
-#define NV04_TEXTURED_TRIANGLE								0x00000054
-
-#define  NV04_TEXTURED_TRIANGLE_NOP							0x00000100
-#define  NV04_TEXTURED_TRIANGLE_NOTIFY							0x00000104
-#define  NV04_TEXTURED_TRIANGLE_DMA_NOTIFY						0x00000180
-#define  NV04_TEXTURED_TRIANGLE_DMA_A							0x00000184
-#define  NV04_TEXTURED_TRIANGLE_DMA_B							0x00000188
-#define  NV04_TEXTURED_TRIANGLE_SURFACE							0x0000018c
-#define  NV04_TEXTURED_TRIANGLE_COLORKEY						0x00000300
-#define  NV04_TEXTURED_TRIANGLE_OFFSET							0x00000304
-#define  NV04_TEXTURED_TRIANGLE_FORMAT							0x00000308
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_DMA_A						(1 <<  0)
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_DMA_B						(1 <<  1)
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_MATCH_SHIFT				2
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_MATCH_MASK				0x0000000c
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_SHIFT				4
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_MASK					0x00000030
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CENTER				0x00000010
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CORNER				0x00000020
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_SHIFT				6
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_MASK					0x000000c0
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CENTER				0x00000040
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CORNER				0x00000080
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_SHIFT					8
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_MASK					0x00000f00
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_Y8					0x00000100
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A1R5G5B5					0x00000200
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_X1R5G5B5					0x00000300
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A4R4G4B4					0x00000400
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_R5G6B5					0x00000500
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A8R8G8B8					0x00000600
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_X8R8G8B8					0x00000700
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS_SHIFT				12
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS_MASK				0x0000f000
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U_SHIFT				16
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U_MASK				0x000f0000
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V_SHIFT				20
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V_MASK				0x00f00000
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_SHIFT					24
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MASK					0x07000000
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_REPEAT				0x01000000
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MIRRORED_REPEAT			0x02000000
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_EDGE				0x03000000
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_BORDER			0x04000000
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP					0x05000000
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_WRAPU						(1 << 27)
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_SHIFT					28
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MASK					0x70000000
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_REPEAT				0x10000000
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MIRRORED_REPEAT			0x20000000
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_EDGE				0x30000000
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_BORDER			0x40000000
-#define    NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP					0x50000000
-#define   NV04_TEXTURED_TRIANGLE_FORMAT_WRAPV						(1 << 31)
-#define  NV04_TEXTURED_TRIANGLE_FILTER							0x0000030c
-#define   NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X_SHIFT				0
-#define   NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X_MASK				0x000000ff
-#define   NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y_SHIFT				8
-#define   NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y_MASK				0x00007f00
-#define   NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE				(1 << 15)
-#define   NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS_SHIFT				16
-#define   NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS_MASK				0x00ff0000
-#define   NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_SHIFT					24
-#define   NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_MASK					0x07000000
-#define    NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST					0x01000000
-#define    NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR					0x02000000
-#define    NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST			0x03000000
-#define    NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST			0x04000000
-#define    NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR			0x05000000
-#define    NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR			0x06000000
-#define   NV04_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE			(1 << 27)
-#define   NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_SHIFT					28
-#define   NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_MASK					0x70000000
-#define    NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST				0x10000000
-#define    NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR					0x20000000
-#define   NV04_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE			(1 << 31)
-#define  NV04_TEXTURED_TRIANGLE_BLEND							0x00000310
-#define   NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_SHIFT				0
-#define   NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MASK					0x0000000f
-#define   NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT_SHIFT					4
-#define   NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT_MASK					0x00000030
-#define   NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_SHIFT					6
-#define   NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_MASK					0x000000c0
-#define    NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_FLAT					0x00000040
-#define    NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_GOURAUD				0x00000080
-#define    NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_PHONG				0x000000c0
-#define   NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE			(1 <<  8)
-#define   NV04_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE					(1 << 12)
-#define   NV04_TEXTURED_TRIANGLE_BLEND_FOG_ENABLE					(1 << 16)
-#define   NV04_TEXTURED_TRIANGLE_BLEND_BLEND_ENABLE					(1 << 20)
-#define   NV04_TEXTURED_TRIANGLE_BLEND_SRC_SHIFT					24
-#define   NV04_TEXTURED_TRIANGLE_BLEND_SRC_MASK						0x0f000000
-#define   NV04_TEXTURED_TRIANGLE_BLEND_DST_SHIFT					28
-#define   NV04_TEXTURED_TRIANGLE_BLEND_DST_MASK						0xf0000000
-#define  NV04_TEXTURED_TRIANGLE_CONTROL							0x00000314
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF_SHIFT				0
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF_MASK					0x000000ff
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_SHIFT				8
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_MASK				0x00000f00
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_ENABLE					(1 << 12)
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN						(1 << 13)
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_Z_ENABLE					(1 << 14)
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_SHIFT					16
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_MASK					0x000f0000
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_SHIFT				20
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_MASK					0x00300000
-#define    NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_BOTH				0x00000000
-#define    NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_NONE				0x00100000
-#define    NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_CW					0x00200000
-#define    NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_CCW					0x00300000
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_DITHER_ENABLE					(1 << 22)
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_Z_PERSPECTIVE_ENABLE				(1 << 23)
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_Z_WRITE					(1 << 24)
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_SHIFT					30
-#define   NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_MASK					0xc0000000
-#define  NV04_TEXTURED_TRIANGLE_FOGCOLOR						0x00000318
-#define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_B_SHIFT					0
-#define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_B_MASK					0x000000ff
-#define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_G_SHIFT					8
-#define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_G_MASK					0x0000ff00
-#define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_R_SHIFT					16
-#define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_R_MASK					0x00ff0000
-#define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_A_SHIFT					24
-#define   NV04_TEXTURED_TRIANGLE_FOGCOLOR_A_MASK					0xff000000
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SX(x)						(0x00000400+((x)*32))
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SX__SIZE					0x00000010
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SY(x)						(0x00000404+((x)*32))
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SY__SIZE					0x00000010
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SZ(x)						(0x00000408+((x)*32))
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SZ__SIZE					0x00000010
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_RHW(x)						(0x0000040c+((x)*32))
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_RHW__SIZE					0x00000010
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR(x)					(0x00000410+((x)*32))
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR__SIZE					0x00000010
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B_SHIFT					0
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B_MASK					0x000000ff
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G_SHIFT					8
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G_MASK					0x0000ff00
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R_SHIFT					16
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R_MASK					0x00ff0000
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A_SHIFT					24
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A_MASK					0xff000000
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(x)					(0x00000414+((x)*32))
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR__SIZE					0x00000010
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B_SHIFT				0
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B_MASK				0x000000ff
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G_SHIFT				8
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G_MASK				0x0000ff00
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R_SHIFT				16
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R_MASK				0x00ff0000
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_SHIFT				24
-#define   NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_MASK				0xff000000
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_TU(x)						(0x00000418+((x)*32))
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_TU__SIZE					0x00000010
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_TV(x)						(0x0000041c+((x)*32))
-#define  NV04_TEXTURED_TRIANGLE_TLVERTEX_TV__SIZE					0x00000010
-#define  NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE(x)					(0x00000600+((x)*4))
-#define  NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE__SIZE					0x00000040
-#define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I0_SHIFT					0
-#define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I0_MASK					0x0000000f
-#define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I1_SHIFT					4
-#define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I1_MASK					0x000000f0
-#define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I2_SHIFT					8
-#define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I2_MASK					0x00000f00
-#define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I3_SHIFT					12
-#define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I3_MASK					0x0000f000
-#define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I4_SHIFT					16
-#define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I4_MASK					0x000f0000
-#define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I5_SHIFT					20
-#define   NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I5_MASK					0x00f00000
-
-
-#define NV10_TEXTURED_TRIANGLE								0x00000094
-
-
-
-#define NV04_MULTITEX_TRIANGLE								0x00000055
-
-#define  NV04_MULTITEX_TRIANGLE_NOP							0x00000100
-#define  NV04_MULTITEX_TRIANGLE_NOTIFY							0x00000104
-#define  NV04_MULTITEX_TRIANGLE_DMA_NOTIFY						0x00000180
-#define  NV04_MULTITEX_TRIANGLE_DMA_A							0x00000184
-#define  NV04_MULTITEX_TRIANGLE_DMA_B							0x00000188
-#define  NV04_MULTITEX_TRIANGLE_SURFACE							0x0000018c
-#define  NV04_MULTITEX_TRIANGLE_OFFSET(x)						(0x00000308+((x)*4))
-#define  NV04_MULTITEX_TRIANGLE_OFFSET__SIZE						0x00000002
-#define  NV04_MULTITEX_TRIANGLE_FORMAT(x)						(0x00000310+((x)*4))
-#define  NV04_MULTITEX_TRIANGLE_FORMAT__SIZE						0x00000002
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_DMA_A						(1 <<  0)
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_DMA_B						(1 <<  1)
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_SHIFT				4
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_MASK					0x00000030
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_SHIFT				6
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_MASK					0x000000c0
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_SHIFT					8
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_MASK					0x00000f00
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS_SHIFT				12
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS_MASK				0x0000f000
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U_SHIFT				16
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U_MASK				0x000f0000
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V_SHIFT				20
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V_MASK				0x00f00000
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_SHIFT					24
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_MASK					0x07000000
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_WRAPU						(1 << 27)
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_SHIFT					28
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_MASK					0x70000000
-#define   NV04_MULTITEX_TRIANGLE_FORMAT_WRAPV						(1 << 31)
-#define  NV04_MULTITEX_TRIANGLE_FILTER(x)						(0x00000318+((x)*4))
-#define  NV04_MULTITEX_TRIANGLE_FILTER__SIZE						0x00000002
-#define   NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X_SHIFT				0
-#define   NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X_MASK				0x000000ff
-#define   NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y_SHIFT				8
-#define   NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y_MASK				0x00007f00
-#define   NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE				(1 << 15)
-#define   NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS_SHIFT				16
-#define   NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS_MASK				0x00ff0000
-#define   NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_SHIFT					24
-#define   NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_MASK					0x07000000
-#define   NV04_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE			(1 << 27)
-#define   NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY_SHIFT					28
-#define   NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY_MASK					0x70000000
-#define   NV04_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE			(1 << 31)
-#define  NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA(x)					(0x00000320+((x)*12))
-#define  NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA__SIZE					0x00000002
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE0					(1 <<  0)
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_SHIFT				2
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_MASK				0x000000fc
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_ZERO				0x00000004
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_CONSTANT			0x00000008
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_PRIMARY_COLOR			0x0000000c
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_PREVIOUS			0x00000010
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURE0			0x00000014
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURE1			0x00000018
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE1					(1 <<  8)
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_SHIFT				10
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_MASK				0x0000fc00
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_ZERO				0x00000400
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_CONSTANT			0x00000800
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_PRIMARY_COLOR			0x00000c00
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_PREVIOUS			0x00001000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURE0			0x00001400
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURE1			0x00001800
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE2					(1 << 16)
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_SHIFT				18
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_MASK				0x00fc0000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_ZERO				0x00040000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_CONSTANT			0x00080000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_PRIMARY_COLOR			0x000c0000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_PREVIOUS			0x00100000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURE0			0x00140000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURE1			0x00180000
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE3					(1 << 24)
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_SHIFT				26
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_MASK				0x1c000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_ZERO				0x04000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_CONSTANT			0x08000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_PRIMARY_COLOR			0x0c000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_PREVIOUS			0x10000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURE0			0x14000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURE1			0x18000000
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SHIFT				29
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_MASK					0xe0000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_IDENTITY				0x20000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SCALE2				0x40000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SCALE4				0x60000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_BIAS				0x80000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_BIAS_SCALE2				0xe0000000
-#define  NV04_MULTITEX_TRIANGLE_COMBINE_COLOR(x)					(0x00000324+((x)*12))
-#define  NV04_MULTITEX_TRIANGLE_COMBINE_COLOR__SIZE					0x00000002
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE0					(1 <<  0)
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA0					(1 <<  1)
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_SHIFT				2
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_MASK				0x000000fc
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_ZERO				0x00000004
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_CONSTANT			0x00000008
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_PRIMARY_COLOR			0x0000000c
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_PREVIOUS			0x00000010
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURE0			0x00000014
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURE1			0x00000018
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE1					(1 <<  8)
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA1					(1 <<  9)
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_SHIFT				10
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_MASK				0x0000fc00
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_ZERO				0x00000400
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_CONSTANT			0x00000800
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_PRIMARY_COLOR			0x00000c00
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_PREVIOUS			0x00001000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURE0			0x00001400
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURE1			0x00001800
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE2					(1 << 16)
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA2					(1 << 17)
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_SHIFT				18
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_MASK				0x00fc0000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_ZERO				0x00040000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_CONSTANT			0x00080000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_PRIMARY_COLOR			0x000c0000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_PREVIOUS			0x00100000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURE0			0x00140000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURE1			0x00180000
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE3					(1 << 24)
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA3					(1 << 25)
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_SHIFT				26
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_MASK				0x1c000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_ZERO				0x04000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_CONSTANT			0x08000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_PRIMARY_COLOR			0x0c000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_PREVIOUS			0x10000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURE0			0x14000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURE1			0x18000000
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SHIFT				29
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_MASK					0xe0000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_IDENTITY				0x20000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SCALE2				0x40000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SCALE4				0x60000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_BIAS				0x80000000
-#define    NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_BIAS_SCALE2				0xe0000000
-#define  NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR						0x00000334
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_B_SHIFT					0
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_B_MASK					0x000000ff
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_G_SHIFT					8
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_G_MASK					0x0000ff00
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_R_SHIFT					16
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_R_MASK					0x00ff0000
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_A_SHIFT					24
-#define   NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_A_MASK					0xff000000
-#define  NV04_MULTITEX_TRIANGLE_BLEND							0x00000338
-#define   NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT_SHIFT					4
-#define   NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT_MASK					0x00000030
-#define   NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_SHIFT					6
-#define   NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_MASK					0x000000c0
-#define    NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_FLAT					0x00000040
-#define    NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_GOURAUD				0x00000080
-#define    NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_PHONG				0x000000c0
-#define   NV04_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE			(1 <<  8)
-#define   NV04_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE					(1 << 12)
-#define   NV04_MULTITEX_TRIANGLE_BLEND_FOG_ENABLE					(1 << 16)
-#define   NV04_MULTITEX_TRIANGLE_BLEND_BLEND_ENABLE					(1 << 20)
-#define   NV04_MULTITEX_TRIANGLE_BLEND_SRC_SHIFT					24
-#define   NV04_MULTITEX_TRIANGLE_BLEND_SRC_MASK						0x0f000000
-#define   NV04_MULTITEX_TRIANGLE_BLEND_DST_SHIFT					28
-#define   NV04_MULTITEX_TRIANGLE_BLEND_DST_MASK						0xf0000000
-#define  NV04_MULTITEX_TRIANGLE_CONTROL0						0x0000033c
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF_SHIFT				0
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF_MASK				0x000000ff
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_SHIFT				8
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_MASK				0x00000f00
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_ENABLE					(1 << 12)
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN					(1 << 13)
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_Z_ENABLE					(1 << 14)
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_SHIFT					16
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_MASK					0x000f0000
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_SHIFT				20
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_MASK				0x00300000
-#define    NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_BOTH				0x00000000
-#define    NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_NONE				0x00100000
-#define    NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_CW					0x00200000
-#define    NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_CCW				0x00300000
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_DITHER_ENABLE					(1 << 22)
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_Z_PERSPECTIVE_ENABLE				(1 << 23)
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_Z_WRITE					(1 << 24)
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_STENCIL_WRITE					(1 << 25)
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_WRITE					(1 << 26)
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_RED_WRITE					(1 << 27)
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_GREEN_WRITE					(1 << 28)
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_BLUE_WRITE					(1 << 29)
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_SHIFT				30
-#define   NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_MASK					0xc0000000
-#define  NV04_MULTITEX_TRIANGLE_CONTROL1						0x00000340
-#define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_ENABLE				(1 <<  0)
-#define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC_SHIFT				4
-#define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC_MASK				0x000000f0
-#define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF_SHIFT				8
-#define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF_MASK				0x0000ff00
-#define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ_SHIFT			16
-#define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ_MASK			0x00ff0000
-#define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE_SHIFT			24
-#define   NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE_MASK			0xff000000
-#define  NV04_MULTITEX_TRIANGLE_CONTROL2						0x00000344
-#define   NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL_SHIFT				0
-#define   NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL_MASK				0x0000000f
-#define   NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL_SHIFT			4
-#define   NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL_MASK				0x000000f0
-#define   NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS_SHIFT			8
-#define   NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS_MASK				0x00000f00
-#define  NV04_MULTITEX_TRIANGLE_FOGCOLOR						0x00000348
-#define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_B_SHIFT					0
-#define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_B_MASK					0x000000ff
-#define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_G_SHIFT					8
-#define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_G_MASK					0x0000ff00
-#define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_R_SHIFT					16
-#define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_R_MASK					0x00ff0000
-#define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_A_SHIFT					24
-#define   NV04_MULTITEX_TRIANGLE_FOGCOLOR_A_MASK					0xff000000
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SX(x)					(0x00000400+((x)*40))
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SX__SIZE					0x00000008
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SY(x)					(0x00000404+((x)*40))
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SY__SIZE					0x00000008
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SZ(x)					(0x00000408+((x)*40))
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SZ__SIZE					0x00000008
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_RHW(x)					(0x0000040c+((x)*40))
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_RHW__SIZE					0x00000008
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR(x)					(0x00000410+((x)*40))
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR__SIZE					0x00000008
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B_SHIFT				0
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B_MASK				0x000000ff
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G_SHIFT				8
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G_MASK				0x0000ff00
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R_SHIFT				16
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R_MASK				0x00ff0000
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A_SHIFT				24
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A_MASK				0xff000000
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR(x)					(0x00000414+((x)*40))
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR__SIZE				0x00000008
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B_SHIFT				0
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B_MASK				0x000000ff
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G_SHIFT				8
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G_MASK				0x0000ff00
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R_SHIFT				16
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R_MASK				0x00ff0000
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG_SHIFT				24
-#define   NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG_MASK				0xff000000
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU0(x)					(0x00000418+((x)*40))
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU0__SIZE					0x00000008
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV0(x)					(0x0000041c+((x)*40))
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV0__SIZE					0x00000008
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU1(x)					(0x00000420+((x)*40))
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU1__SIZE					0x00000008
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV1(x)					(0x00000424+((x)*40))
-#define  NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV1__SIZE					0x00000008
-#define  NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE(x)					(0x00000540+((x)*4))
-#define  NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE__SIZE					0x00000030
-#define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I0_SHIFT					0
-#define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I0_MASK					0x0000000f
-#define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I1_SHIFT					4
-#define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I1_MASK					0x000000f0
-#define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I2_SHIFT					8
-#define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I2_MASK					0x00000f00
-#define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I3_SHIFT					12
-#define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I3_MASK					0x0000f000
-#define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I4_SHIFT					16
-#define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I4_MASK					0x000f0000
-#define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I5_SHIFT					20
-#define   NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I5_MASK					0x00f00000
-
-
-#define NV10_MULTITEX_TRIANGLE								0x00000095
-
-
-
-#define NV10TCL										0x00000056
-
-#define  NV10TCL_NOP									0x00000100
-#define  NV10TCL_NOTIFY									0x00000104
-#define  NV10TCL_DMA_NOTIFY								0x00000180
-#define  NV10TCL_DMA_IN_MEMORY0								0x00000184
-#define  NV10TCL_DMA_IN_MEMORY1								0x00000188
-#define  NV10TCL_DMA_VTXBUF0								0x0000018c
-#define  NV10TCL_DMA_IN_MEMORY2								0x00000194
-#define  NV10TCL_DMA_IN_MEMORY3								0x00000198
-#define  NV10TCL_RT_HORIZ								0x00000200
-#define   NV10TCL_RT_HORIZ_X_SHIFT							0
-#define   NV10TCL_RT_HORIZ_X_MASK							0x0000ffff
-#define   NV10TCL_RT_HORIZ_W_SHIFT							16
-#define   NV10TCL_RT_HORIZ_W_MASK							0xffff0000
-#define  NV10TCL_RT_VERT								0x00000204
-#define   NV10TCL_RT_VERT_Y_SHIFT							0
-#define   NV10TCL_RT_VERT_Y_MASK							0x0000ffff
-#define   NV10TCL_RT_VERT_H_SHIFT							16
-#define   NV10TCL_RT_VERT_H_MASK							0xffff0000
-#define  NV10TCL_RT_FORMAT								0x00000208
-#define   NV10TCL_RT_FORMAT_TYPE_SHIFT							8
-#define   NV10TCL_RT_FORMAT_TYPE_MASK							0x00000f00
-#define    NV10TCL_RT_FORMAT_TYPE_LINEAR						0x00000100
-#define    NV10TCL_RT_FORMAT_TYPE_SWIZZLED						0x00000200
-#define   NV10TCL_RT_FORMAT_COLOR_SHIFT							0
-#define   NV10TCL_RT_FORMAT_COLOR_MASK							0x0000001f
-#define    NV10TCL_RT_FORMAT_COLOR_R5G6B5						0x00000003
-#define    NV10TCL_RT_FORMAT_COLOR_X8R8G8B8						0x00000005
-#define    NV10TCL_RT_FORMAT_COLOR_A8R8G8B8						0x00000008
-#define    NV10TCL_RT_FORMAT_COLOR_B8							0x00000009
-#define    NV10TCL_RT_FORMAT_COLOR_UNKNOWN						0x0000000d
-#define    NV10TCL_RT_FORMAT_COLOR_X8B8G8R8						0x0000000f
-#define    NV10TCL_RT_FORMAT_COLOR_A8B8G8R8						0x00000010
-#define  NV10TCL_RT_PITCH								0x0000020c
-#define   NV10TCL_RT_PITCH_COLOR_PITCH_SHIFT						0
-#define   NV10TCL_RT_PITCH_COLOR_PITCH_MASK						0x0000ffff
-#define   NV10TCL_RT_PITCH_ZETA_PITCH_SHIFT						16
-#define   NV10TCL_RT_PITCH_ZETA_PITCH_MASK						0xffff0000
-#define  NV10TCL_COLOR_OFFSET								0x00000210
-#define  NV10TCL_ZETA_OFFSET								0x00000214
-#define  NV10TCL_TX_OFFSET(x)								(0x00000218+((x)*4))
-#define  NV10TCL_TX_OFFSET__SIZE							0x00000002
-#define  NV10TCL_TX_FORMAT(x)								(0x00000220+((x)*4))
-#define  NV10TCL_TX_FORMAT__SIZE							0x00000002
-#define   NV10TCL_TX_FORMAT_DMA0							(1 <<  0)
-#define   NV10TCL_TX_FORMAT_DMA1							(1 <<  1)
-#define   NV10TCL_TX_FORMAT_CUBE_MAP							(1 <<  2)
-#define   NV10TCL_TX_FORMAT_FORMAT_SHIFT						7
-#define   NV10TCL_TX_FORMAT_FORMAT_MASK							0x00000f80
-#define    NV10TCL_TX_FORMAT_FORMAT_L8							0x00000000
-#define    NV10TCL_TX_FORMAT_FORMAT_A8							0x00000080
-#define    NV10TCL_TX_FORMAT_FORMAT_A1R5G5B5						0x00000100
-#define    NV10TCL_TX_FORMAT_FORMAT_A4R4G4B4						0x00000200
-#define    NV10TCL_TX_FORMAT_FORMAT_R5G6B5						0x00000280
-#define    NV10TCL_TX_FORMAT_FORMAT_A8R8G8B8						0x00000300
-#define    NV10TCL_TX_FORMAT_FORMAT_X8R8G8B8						0x00000380
-#define    NV10TCL_TX_FORMAT_FORMAT_INDEX8						0x00000580
-#define    NV10TCL_TX_FORMAT_FORMAT_DXT1						0x00000600
-#define    NV10TCL_TX_FORMAT_FORMAT_DXT3						0x00000700
-#define    NV10TCL_TX_FORMAT_FORMAT_DXT5						0x00000780
-#define    NV10TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT					0x00000800
-#define    NV10TCL_TX_FORMAT_FORMAT_R5G6B5_RECT						0x00000880
-#define    NV10TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT					0x00000900
-#define    NV10TCL_TX_FORMAT_FORMAT_A8_RECT						0x00000980
-#define   NV10TCL_TX_FORMAT_MIPMAP							(1 << 15)
-#define   NV10TCL_TX_FORMAT_BASE_SIZE_U_SHIFT						16
-#define   NV10TCL_TX_FORMAT_BASE_SIZE_U_MASK						0x000f0000
-#define   NV10TCL_TX_FORMAT_BASE_SIZE_V_SHIFT						20
-#define   NV10TCL_TX_FORMAT_BASE_SIZE_V_MASK						0x00f00000
-#define   NV10TCL_TX_FORMAT_WRAP_S_SHIFT						24
-#define   NV10TCL_TX_FORMAT_WRAP_S_MASK							0x0f000000
-#define    NV10TCL_TX_FORMAT_WRAP_S_REPEAT						0x01000000
-#define    NV10TCL_TX_FORMAT_WRAP_S_MIRRORED_REPEAT					0x02000000
-#define    NV10TCL_TX_FORMAT_WRAP_S_CLAMP_TO_EDGE					0x03000000
-#define    NV10TCL_TX_FORMAT_WRAP_S_CLAMP_TO_BORDER					0x04000000
-#define    NV10TCL_TX_FORMAT_WRAP_S_CLAMP						0x05000000
-#define   NV10TCL_TX_FORMAT_WRAP_T_SHIFT						28
-#define   NV10TCL_TX_FORMAT_WRAP_T_MASK							0xf0000000
-#define    NV10TCL_TX_FORMAT_WRAP_T_REPEAT						0x10000000
-#define    NV10TCL_TX_FORMAT_WRAP_T_MIRRORED_REPEAT					0x20000000
-#define    NV10TCL_TX_FORMAT_WRAP_T_CLAMP_TO_EDGE					0x30000000
-#define    NV10TCL_TX_FORMAT_WRAP_T_CLAMP_TO_BORDER					0x40000000
-#define    NV10TCL_TX_FORMAT_WRAP_T_CLAMP						0x50000000
-#define  NV10TCL_TX_ENABLE(x)								(0x00000228+((x)*4))
-#define  NV10TCL_TX_ENABLE__SIZE							0x00000002
-#define   NV10TCL_TX_ENABLE_CULL_SHIFT							0
-#define   NV10TCL_TX_ENABLE_CULL_MASK							0x0000000f
-#define    NV10TCL_TX_ENABLE_CULL_DISABLED						0x00000000
-#define    NV10TCL_TX_ENABLE_CULL_TEST_ALL						0x00000003
-#define    NV10TCL_TX_ENABLE_CULL_TEST_ALPHA						0x00000004
-#define   NV10TCL_TX_ENABLE_ANISOTROPY_SHIFT						4
-#define   NV10TCL_TX_ENABLE_ANISOTROPY_MASK						0x00000030
-#define   NV10TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT					14
-#define   NV10TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK						0x0003c000
-#define   NV10TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT					26
-#define   NV10TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK						0x3c000000
-#define   NV10TCL_TX_ENABLE_ENABLE							(1 << 30)
-#define  NV10TCL_TX_NPOT_PITCH(x)							(0x00000230+((x)*4))
-#define  NV10TCL_TX_NPOT_PITCH__SIZE							0x00000002
-#define   NV10TCL_TX_NPOT_PITCH_PITCH_SHIFT						16
-#define   NV10TCL_TX_NPOT_PITCH_PITCH_MASK						0xffff0000
-#define  NV10TCL_TX_NPOT_SIZE(x)							(0x00000240+((x)*4))
-#define  NV10TCL_TX_NPOT_SIZE__SIZE							0x00000002
-#define   NV10TCL_TX_NPOT_SIZE_H_SHIFT							0
-#define   NV10TCL_TX_NPOT_SIZE_H_MASK							0x0000ffff
-#define   NV10TCL_TX_NPOT_SIZE_W_SHIFT							16
-#define   NV10TCL_TX_NPOT_SIZE_W_MASK							0xffff0000
-#define  NV10TCL_TX_FILTER(x)								(0x00000248+((x)*4))
-#define  NV10TCL_TX_FILTER__SIZE							0x00000002
-#define   NV10TCL_TX_FILTER_LOD_BIAS_SHIFT						8
-#define   NV10TCL_TX_FILTER_LOD_BIAS_MASK						0x00000f00
-#define   NV10TCL_TX_FILTER_MINIFY_SHIFT						24
-#define   NV10TCL_TX_FILTER_MINIFY_MASK							0x0f000000
-#define    NV10TCL_TX_FILTER_MINIFY_NEAREST						0x01000000
-#define    NV10TCL_TX_FILTER_MINIFY_LINEAR						0x02000000
-#define    NV10TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST				0x03000000
-#define    NV10TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST				0x04000000
-#define    NV10TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR				0x05000000
-#define    NV10TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR				0x06000000
-#define   NV10TCL_TX_FILTER_MAGNIFY_SHIFT						28
-#define   NV10TCL_TX_FILTER_MAGNIFY_MASK						0xf0000000
-#define    NV10TCL_TX_FILTER_MAGNIFY_NEAREST						0x10000000
-#define    NV10TCL_TX_FILTER_MAGNIFY_LINEAR						0x20000000
-#define  NV10TCL_TX_PALETTE_OFFSET(x)							(0x00000250+((x)*4))
-#define  NV10TCL_TX_PALETTE_OFFSET__SIZE						0x00000002
-#define  NV10TCL_RC_IN_ALPHA(x)								(0x00000260+((x)*4))
-#define  NV10TCL_RC_IN_ALPHA__SIZE							0x00000002
-#define   NV10TCL_RC_IN_ALPHA_D_INPUT_SHIFT						0
-#define   NV10TCL_RC_IN_ALPHA_D_INPUT_MASK						0x0000000f
-#define    NV10TCL_RC_IN_ALPHA_D_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0					0x00000001
-#define    NV10TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1					0x00000002
-#define    NV10TCL_RC_IN_ALPHA_D_INPUT_FOG						0x00000003
-#define    NV10TCL_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR					0x00000004
-#define    NV10TCL_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR					0x00000005
-#define    NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE0						0x00000008
-#define    NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE1						0x00000009
-#define    NV10TCL_RC_IN_ALPHA_D_INPUT_SPARE0						0x0000000c
-#define    NV10TCL_RC_IN_ALPHA_D_INPUT_SPARE1						0x0000000d
-#define    NV10TCL_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV10TCL_RC_IN_ALPHA_D_INPUT_E_TIMES_F					0x0000000f
-#define    NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE2						0x0000000a
-#define    NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE3						0x0000000b
-#define   NV10TCL_RC_IN_ALPHA_D_COMPONENT_USAGE						(1 <<  4)
-#define    NV10TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE					0x00000000
-#define    NV10TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA					0x00000010
-#define   NV10TCL_RC_IN_ALPHA_D_MAPPING_SHIFT						5
-#define   NV10TCL_RC_IN_ALPHA_D_MAPPING_MASK						0x000000e0
-#define    NV10TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT				0x00000020
-#define    NV10TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL					0x00000040
-#define    NV10TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE					0x00000060
-#define    NV10TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL				0x00000080
-#define    NV10TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE				0x000000a0
-#define    NV10TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY				0x000000c0
-#define    NV10TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE					0x000000e0
-#define   NV10TCL_RC_IN_ALPHA_C_INPUT_SHIFT						8
-#define   NV10TCL_RC_IN_ALPHA_C_INPUT_MASK						0x00000f00
-#define    NV10TCL_RC_IN_ALPHA_C_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0					0x00000100
-#define    NV10TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1					0x00000200
-#define    NV10TCL_RC_IN_ALPHA_C_INPUT_FOG						0x00000300
-#define    NV10TCL_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR					0x00000400
-#define    NV10TCL_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR					0x00000500
-#define    NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE0						0x00000800
-#define    NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE1						0x00000900
-#define    NV10TCL_RC_IN_ALPHA_C_INPUT_SPARE0						0x00000c00
-#define    NV10TCL_RC_IN_ALPHA_C_INPUT_SPARE1						0x00000d00
-#define    NV10TCL_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV10TCL_RC_IN_ALPHA_C_INPUT_E_TIMES_F					0x00000f00
-#define    NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE2						0x00000a00
-#define    NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE3						0x00000b00
-#define   NV10TCL_RC_IN_ALPHA_C_COMPONENT_USAGE						(1 << 12)
-#define    NV10TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE					0x00000000
-#define    NV10TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA					0x00001000
-#define   NV10TCL_RC_IN_ALPHA_C_MAPPING_SHIFT						13
-#define   NV10TCL_RC_IN_ALPHA_C_MAPPING_MASK						0x0000e000
-#define    NV10TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT				0x00002000
-#define    NV10TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL					0x00004000
-#define    NV10TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE					0x00006000
-#define    NV10TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL				0x00008000
-#define    NV10TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE				0x0000a000
-#define    NV10TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY				0x0000c000
-#define    NV10TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE					0x0000e000
-#define   NV10TCL_RC_IN_ALPHA_B_INPUT_SHIFT						16
-#define   NV10TCL_RC_IN_ALPHA_B_INPUT_MASK						0x000f0000
-#define    NV10TCL_RC_IN_ALPHA_B_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0					0x00010000
-#define    NV10TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1					0x00020000
-#define    NV10TCL_RC_IN_ALPHA_B_INPUT_FOG						0x00030000
-#define    NV10TCL_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR					0x00040000
-#define    NV10TCL_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR					0x00050000
-#define    NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE0						0x00080000
-#define    NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE1						0x00090000
-#define    NV10TCL_RC_IN_ALPHA_B_INPUT_SPARE0						0x000c0000
-#define    NV10TCL_RC_IN_ALPHA_B_INPUT_SPARE1						0x000d0000
-#define    NV10TCL_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000e0000
-#define    NV10TCL_RC_IN_ALPHA_B_INPUT_E_TIMES_F					0x000f0000
-#define    NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE2						0x000a0000
-#define    NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE3						0x000b0000
-#define   NV10TCL_RC_IN_ALPHA_B_COMPONENT_USAGE						(1 << 20)
-#define    NV10TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE					0x00000000
-#define    NV10TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA					0x00100000
-#define   NV10TCL_RC_IN_ALPHA_B_MAPPING_SHIFT						21
-#define   NV10TCL_RC_IN_ALPHA_B_MAPPING_MASK						0x00e00000
-#define    NV10TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT				0x00200000
-#define    NV10TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL					0x00400000
-#define    NV10TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE					0x00600000
-#define    NV10TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL				0x00800000
-#define    NV10TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE				0x00a00000
-#define    NV10TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY				0x00c00000
-#define    NV10TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE					0x00e00000
-#define   NV10TCL_RC_IN_ALPHA_A_INPUT_SHIFT						24
-#define   NV10TCL_RC_IN_ALPHA_A_INPUT_MASK						0x0f000000
-#define    NV10TCL_RC_IN_ALPHA_A_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0					0x01000000
-#define    NV10TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1					0x02000000
-#define    NV10TCL_RC_IN_ALPHA_A_INPUT_FOG						0x03000000
-#define    NV10TCL_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR					0x04000000
-#define    NV10TCL_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR					0x05000000
-#define    NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE0						0x08000000
-#define    NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE1						0x09000000
-#define    NV10TCL_RC_IN_ALPHA_A_INPUT_SPARE0						0x0c000000
-#define    NV10TCL_RC_IN_ALPHA_A_INPUT_SPARE1						0x0d000000
-#define    NV10TCL_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0e000000
-#define    NV10TCL_RC_IN_ALPHA_A_INPUT_E_TIMES_F					0x0f000000
-#define    NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE2						0x0a000000
-#define    NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE3						0x0b000000
-#define   NV10TCL_RC_IN_ALPHA_A_COMPONENT_USAGE						(1 << 28)
-#define    NV10TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE					0x00000000
-#define    NV10TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA					0x10000000
-#define   NV10TCL_RC_IN_ALPHA_A_MAPPING_SHIFT						29
-#define   NV10TCL_RC_IN_ALPHA_A_MAPPING_MASK						0xe0000000
-#define    NV10TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT				0x20000000
-#define    NV10TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL					0x40000000
-#define    NV10TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE					0x60000000
-#define    NV10TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL				0x80000000
-#define    NV10TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE				0xa0000000
-#define    NV10TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY				0xc0000000
-#define    NV10TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE					0xe0000000
-#define  NV10TCL_RC_IN_RGB(x)								(0x00000268+((x)*4))
-#define  NV10TCL_RC_IN_RGB__SIZE							0x00000002
-#define   NV10TCL_RC_IN_RGB_D_INPUT_SHIFT						0
-#define   NV10TCL_RC_IN_RGB_D_INPUT_MASK						0x0000000f
-#define    NV10TCL_RC_IN_RGB_D_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0					0x00000001
-#define    NV10TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1					0x00000002
-#define    NV10TCL_RC_IN_RGB_D_INPUT_FOG						0x00000003
-#define    NV10TCL_RC_IN_RGB_D_INPUT_PRIMARY_COLOR					0x00000004
-#define    NV10TCL_RC_IN_RGB_D_INPUT_SECONDARY_COLOR					0x00000005
-#define    NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE0						0x00000008
-#define    NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE1						0x00000009
-#define    NV10TCL_RC_IN_RGB_D_INPUT_SPARE0						0x0000000c
-#define    NV10TCL_RC_IN_RGB_D_INPUT_SPARE1						0x0000000d
-#define    NV10TCL_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV10TCL_RC_IN_RGB_D_INPUT_E_TIMES_F						0x0000000f
-#define    NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE2						0x0000000a
-#define    NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE3						0x0000000b
-#define   NV10TCL_RC_IN_RGB_D_COMPONENT_USAGE						(1 <<  4)
-#define    NV10TCL_RC_IN_RGB_D_COMPONENT_USAGE_RGB					0x00000000
-#define    NV10TCL_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA					0x00000010
-#define   NV10TCL_RC_IN_RGB_D_MAPPING_SHIFT						5
-#define   NV10TCL_RC_IN_RGB_D_MAPPING_MASK						0x000000e0
-#define    NV10TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT					0x00000020
-#define    NV10TCL_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL					0x00000040
-#define    NV10TCL_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE					0x00000060
-#define    NV10TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL					0x00000080
-#define    NV10TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE					0x000000a0
-#define    NV10TCL_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY					0x000000c0
-#define    NV10TCL_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE					0x000000e0
-#define   NV10TCL_RC_IN_RGB_C_INPUT_SHIFT						8
-#define   NV10TCL_RC_IN_RGB_C_INPUT_MASK						0x00000f00
-#define    NV10TCL_RC_IN_RGB_C_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0					0x00000100
-#define    NV10TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1					0x00000200
-#define    NV10TCL_RC_IN_RGB_C_INPUT_FOG						0x00000300
-#define    NV10TCL_RC_IN_RGB_C_INPUT_PRIMARY_COLOR					0x00000400
-#define    NV10TCL_RC_IN_RGB_C_INPUT_SECONDARY_COLOR					0x00000500
-#define    NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE0						0x00000800
-#define    NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE1						0x00000900
-#define    NV10TCL_RC_IN_RGB_C_INPUT_SPARE0						0x00000c00
-#define    NV10TCL_RC_IN_RGB_C_INPUT_SPARE1						0x00000d00
-#define    NV10TCL_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV10TCL_RC_IN_RGB_C_INPUT_E_TIMES_F						0x00000f00
-#define    NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE2						0x00000a00
-#define    NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE3						0x00000b00
-#define   NV10TCL_RC_IN_RGB_C_COMPONENT_USAGE						(1 << 12)
-#define    NV10TCL_RC_IN_RGB_C_COMPONENT_USAGE_RGB					0x00000000
-#define    NV10TCL_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA					0x00001000
-#define   NV10TCL_RC_IN_RGB_C_MAPPING_SHIFT						13
-#define   NV10TCL_RC_IN_RGB_C_MAPPING_MASK						0x0000e000
-#define    NV10TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT					0x00002000
-#define    NV10TCL_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL					0x00004000
-#define    NV10TCL_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE					0x00006000
-#define    NV10TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL					0x00008000
-#define    NV10TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE					0x0000a000
-#define    NV10TCL_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY					0x0000c000
-#define    NV10TCL_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE					0x0000e000
-#define   NV10TCL_RC_IN_RGB_B_INPUT_SHIFT						16
-#define   NV10TCL_RC_IN_RGB_B_INPUT_MASK						0x000f0000
-#define    NV10TCL_RC_IN_RGB_B_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0					0x00010000
-#define    NV10TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1					0x00020000
-#define    NV10TCL_RC_IN_RGB_B_INPUT_FOG						0x00030000
-#define    NV10TCL_RC_IN_RGB_B_INPUT_PRIMARY_COLOR					0x00040000
-#define    NV10TCL_RC_IN_RGB_B_INPUT_SECONDARY_COLOR					0x00050000
-#define    NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE0						0x00080000
-#define    NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE1						0x00090000
-#define    NV10TCL_RC_IN_RGB_B_INPUT_SPARE0						0x000c0000
-#define    NV10TCL_RC_IN_RGB_B_INPUT_SPARE1						0x000d0000
-#define    NV10TCL_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000e0000
-#define    NV10TCL_RC_IN_RGB_B_INPUT_E_TIMES_F						0x000f0000
-#define    NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE2						0x000a0000
-#define    NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE3						0x000b0000
-#define   NV10TCL_RC_IN_RGB_B_COMPONENT_USAGE						(1 << 20)
-#define    NV10TCL_RC_IN_RGB_B_COMPONENT_USAGE_RGB					0x00000000
-#define    NV10TCL_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA					0x00100000
-#define   NV10TCL_RC_IN_RGB_B_MAPPING_SHIFT						21
-#define   NV10TCL_RC_IN_RGB_B_MAPPING_MASK						0x00e00000
-#define    NV10TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT					0x00200000
-#define    NV10TCL_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL					0x00400000
-#define    NV10TCL_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE					0x00600000
-#define    NV10TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL					0x00800000
-#define    NV10TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE					0x00a00000
-#define    NV10TCL_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY					0x00c00000
-#define    NV10TCL_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE					0x00e00000
-#define   NV10TCL_RC_IN_RGB_A_INPUT_SHIFT						24
-#define   NV10TCL_RC_IN_RGB_A_INPUT_MASK						0x0f000000
-#define    NV10TCL_RC_IN_RGB_A_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0					0x01000000
-#define    NV10TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1					0x02000000
-#define    NV10TCL_RC_IN_RGB_A_INPUT_FOG						0x03000000
-#define    NV10TCL_RC_IN_RGB_A_INPUT_PRIMARY_COLOR					0x04000000
-#define    NV10TCL_RC_IN_RGB_A_INPUT_SECONDARY_COLOR					0x05000000
-#define    NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE0						0x08000000
-#define    NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE1						0x09000000
-#define    NV10TCL_RC_IN_RGB_A_INPUT_SPARE0						0x0c000000
-#define    NV10TCL_RC_IN_RGB_A_INPUT_SPARE1						0x0d000000
-#define    NV10TCL_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0e000000
-#define    NV10TCL_RC_IN_RGB_A_INPUT_E_TIMES_F						0x0f000000
-#define    NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE2						0x0a000000
-#define    NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE3						0x0b000000
-#define   NV10TCL_RC_IN_RGB_A_COMPONENT_USAGE						(1 << 28)
-#define    NV10TCL_RC_IN_RGB_A_COMPONENT_USAGE_RGB					0x00000000
-#define    NV10TCL_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA					0x10000000
-#define   NV10TCL_RC_IN_RGB_A_MAPPING_SHIFT						29
-#define   NV10TCL_RC_IN_RGB_A_MAPPING_MASK						0xe0000000
-#define    NV10TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT					0x20000000
-#define    NV10TCL_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL					0x40000000
-#define    NV10TCL_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE					0x60000000
-#define    NV10TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL					0x80000000
-#define    NV10TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE					0xa0000000
-#define    NV10TCL_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY					0xc0000000
-#define    NV10TCL_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE					0xe0000000
-#define  NV10TCL_RC_COLOR(x)								(0x00000270+((x)*4))
-#define  NV10TCL_RC_COLOR__SIZE								0x00000002
-#define   NV10TCL_RC_COLOR_B_SHIFT							0
-#define   NV10TCL_RC_COLOR_B_MASK							0x000000ff
-#define   NV10TCL_RC_COLOR_G_SHIFT							8
-#define   NV10TCL_RC_COLOR_G_MASK							0x0000ff00
-#define   NV10TCL_RC_COLOR_R_SHIFT							16
-#define   NV10TCL_RC_COLOR_R_MASK							0x00ff0000
-#define   NV10TCL_RC_COLOR_A_SHIFT							24
-#define   NV10TCL_RC_COLOR_A_MASK							0xff000000
-#define  NV10TCL_RC_OUT_ALPHA(x)							(0x00000278+((x)*4))
-#define  NV10TCL_RC_OUT_ALPHA__SIZE							0x00000002
-#define   NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SHIFT						0
-#define   NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_MASK						0x0000000f
-#define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_ZERO						0x00000000
-#define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0				0x00000001
-#define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1				0x00000002
-#define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_FOG						0x00000003
-#define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR					0x00000004
-#define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR				0x00000005
-#define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0					0x00000008
-#define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1					0x00000009
-#define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0					0x0000000c
-#define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE1					0x0000000d
-#define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F					0x0000000f
-#define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2					0x0000000a
-#define    NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3					0x0000000b
-#define   NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SHIFT						4
-#define   NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_MASK						0x000000f0
-#define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_ZERO						0x00000000
-#define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0				0x00000010
-#define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1				0x00000020
-#define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_FOG						0x00000030
-#define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR					0x00000040
-#define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR				0x00000050
-#define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0					0x00000080
-#define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1					0x00000090
-#define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0					0x000000c0
-#define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE1					0x000000d0
-#define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000000e0
-#define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F					0x000000f0
-#define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2					0x000000a0
-#define    NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3					0x000000b0
-#define   NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT						8
-#define   NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_MASK						0x00000f00
-#define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_ZERO						0x00000000
-#define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0				0x00000100
-#define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1				0x00000200
-#define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_FOG						0x00000300
-#define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR				0x00000400
-#define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR				0x00000500
-#define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0					0x00000800
-#define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1					0x00000900
-#define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0					0x00000c00
-#define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1					0x00000d00
-#define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F					0x00000f00
-#define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2					0x00000a00
-#define    NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3					0x00000b00
-#define   NV10TCL_RC_OUT_ALPHA_CD_DOT_PRODUCT						(1 << 12)
-#define   NV10TCL_RC_OUT_ALPHA_AB_DOT_PRODUCT						(1 << 13)
-#define   NV10TCL_RC_OUT_ALPHA_MUX_SUM							(1 << 14)
-#define   NV10TCL_RC_OUT_ALPHA_BIAS							(1 << 15)
-#define    NV10TCL_RC_OUT_ALPHA_BIAS_NONE						0x00000000
-#define    NV10TCL_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF				0x00008000
-#define   NV10TCL_RC_OUT_ALPHA_SCALE_SHIFT						17
-#define   NV10TCL_RC_OUT_ALPHA_SCALE_MASK						0x00000000
-#define    NV10TCL_RC_OUT_ALPHA_SCALE_NONE						0x00000000
-#define    NV10TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO					0x00020000
-#define    NV10TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR					0x00040000
-#define    NV10TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF					0x00060000
-#define  NV10TCL_RC_OUT_RGB(x)								(0x00000280+((x)*4))
-#define  NV10TCL_RC_OUT_RGB__SIZE							0x00000002
-#define   NV10TCL_RC_OUT_RGB_CD_OUTPUT_SHIFT						0
-#define   NV10TCL_RC_OUT_RGB_CD_OUTPUT_MASK						0x0000000f
-#define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_ZERO						0x00000000
-#define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0					0x00000001
-#define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1					0x00000002
-#define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_FOG						0x00000003
-#define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR					0x00000004
-#define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR					0x00000005
-#define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE0					0x00000008
-#define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE1					0x00000009
-#define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0						0x0000000c
-#define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_SPARE1						0x0000000d
-#define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F					0x0000000f
-#define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE2					0x0000000a
-#define    NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE3					0x0000000b
-#define   NV10TCL_RC_OUT_RGB_AB_OUTPUT_SHIFT						4
-#define   NV10TCL_RC_OUT_RGB_AB_OUTPUT_MASK						0x000000f0
-#define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_ZERO						0x00000000
-#define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0					0x00000010
-#define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1					0x00000020
-#define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_FOG						0x00000030
-#define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR					0x00000040
-#define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR					0x00000050
-#define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE0					0x00000080
-#define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE1					0x00000090
-#define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0						0x000000c0
-#define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_SPARE1						0x000000d0
-#define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000000e0
-#define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F					0x000000f0
-#define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE2					0x000000a0
-#define    NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE3					0x000000b0
-#define   NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SHIFT						8
-#define   NV10TCL_RC_OUT_RGB_SUM_OUTPUT_MASK						0x00000f00
-#define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_ZERO						0x00000000
-#define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0				0x00000100
-#define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1				0x00000200
-#define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_FOG						0x00000300
-#define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR					0x00000400
-#define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR				0x00000500
-#define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0					0x00000800
-#define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1					0x00000900
-#define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0						0x00000c00
-#define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE1						0x00000d00
-#define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F					0x00000f00
-#define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2					0x00000a00
-#define    NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3					0x00000b00
-#define   NV10TCL_RC_OUT_RGB_CD_DOT_PRODUCT						(1 << 12)
-#define   NV10TCL_RC_OUT_RGB_AB_DOT_PRODUCT						(1 << 13)
-#define   NV10TCL_RC_OUT_RGB_MUX_SUM							(1 << 14)
-#define   NV10TCL_RC_OUT_RGB_BIAS							(1 << 15)
-#define    NV10TCL_RC_OUT_RGB_BIAS_NONE							0x00000000
-#define    NV10TCL_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF				0x00008000
-#define   NV10TCL_RC_OUT_RGB_SCALE_SHIFT						17
-#define   NV10TCL_RC_OUT_RGB_SCALE_MASK							0x00000000
-#define    NV10TCL_RC_OUT_RGB_SCALE_NONE						0x00000000
-#define    NV10TCL_RC_OUT_RGB_SCALE_SCALE_BY_TWO					0x00020000
-#define    NV10TCL_RC_OUT_RGB_SCALE_SCALE_BY_FOUR					0x00040000
-#define    NV10TCL_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF					0x00060000
-#define   NV10TCL_RC_OUT_RGB_OPERATION_SHIFT						27
-#define   NV10TCL_RC_OUT_RGB_OPERATION_MASK						0x38000000
-#define  NV10TCL_RC_FINAL0								0x00000288
-#define   NV10TCL_RC_FINAL0_D_INPUT_SHIFT						0
-#define   NV10TCL_RC_FINAL0_D_INPUT_MASK						0x0000000f
-#define    NV10TCL_RC_FINAL0_D_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR0					0x00000001
-#define    NV10TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR1					0x00000002
-#define    NV10TCL_RC_FINAL0_D_INPUT_FOG						0x00000003
-#define    NV10TCL_RC_FINAL0_D_INPUT_PRIMARY_COLOR					0x00000004
-#define    NV10TCL_RC_FINAL0_D_INPUT_SECONDARY_COLOR					0x00000005
-#define    NV10TCL_RC_FINAL0_D_INPUT_TEXTURE0						0x00000008
-#define    NV10TCL_RC_FINAL0_D_INPUT_TEXTURE1						0x00000009
-#define    NV10TCL_RC_FINAL0_D_INPUT_SPARE0						0x0000000c
-#define    NV10TCL_RC_FINAL0_D_INPUT_SPARE1						0x0000000d
-#define    NV10TCL_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV10TCL_RC_FINAL0_D_INPUT_E_TIMES_F						0x0000000f
-#define    NV10TCL_RC_FINAL0_D_INPUT_TEXTURE2						0x0000000a
-#define    NV10TCL_RC_FINAL0_D_INPUT_TEXTURE3						0x0000000b
-#define   NV10TCL_RC_FINAL0_D_COMPONENT_USAGE						(1 <<  4)
-#define    NV10TCL_RC_FINAL0_D_COMPONENT_USAGE_RGB					0x00000000
-#define    NV10TCL_RC_FINAL0_D_COMPONENT_USAGE_ALPHA					0x00000010
-#define   NV10TCL_RC_FINAL0_D_MAPPING_SHIFT						5
-#define   NV10TCL_RC_FINAL0_D_MAPPING_MASK						0x000000e0
-#define    NV10TCL_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT					0x00000020
-#define    NV10TCL_RC_FINAL0_D_MAPPING_EXPAND_NORMAL					0x00000040
-#define    NV10TCL_RC_FINAL0_D_MAPPING_EXPAND_NEGATE					0x00000060
-#define    NV10TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL					0x00000080
-#define    NV10TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE					0x000000a0
-#define    NV10TCL_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY					0x000000c0
-#define    NV10TCL_RC_FINAL0_D_MAPPING_SIGNED_NEGATE					0x000000e0
-#define   NV10TCL_RC_FINAL0_C_INPUT_SHIFT						8
-#define   NV10TCL_RC_FINAL0_C_INPUT_MASK						0x00000f00
-#define    NV10TCL_RC_FINAL0_C_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR0					0x00000100
-#define    NV10TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR1					0x00000200
-#define    NV10TCL_RC_FINAL0_C_INPUT_FOG						0x00000300
-#define    NV10TCL_RC_FINAL0_C_INPUT_PRIMARY_COLOR					0x00000400
-#define    NV10TCL_RC_FINAL0_C_INPUT_SECONDARY_COLOR					0x00000500
-#define    NV10TCL_RC_FINAL0_C_INPUT_TEXTURE0						0x00000800
-#define    NV10TCL_RC_FINAL0_C_INPUT_TEXTURE1						0x00000900
-#define    NV10TCL_RC_FINAL0_C_INPUT_SPARE0						0x00000c00
-#define    NV10TCL_RC_FINAL0_C_INPUT_SPARE1						0x00000d00
-#define    NV10TCL_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV10TCL_RC_FINAL0_C_INPUT_E_TIMES_F						0x00000f00
-#define    NV10TCL_RC_FINAL0_C_INPUT_TEXTURE2						0x00000a00
-#define    NV10TCL_RC_FINAL0_C_INPUT_TEXTURE3						0x00000b00
-#define   NV10TCL_RC_FINAL0_C_COMPONENT_USAGE						(1 << 12)
-#define    NV10TCL_RC_FINAL0_C_COMPONENT_USAGE_RGB					0x00000000
-#define    NV10TCL_RC_FINAL0_C_COMPONENT_USAGE_ALPHA					0x00001000
-#define   NV10TCL_RC_FINAL0_C_MAPPING_SHIFT						13
-#define   NV10TCL_RC_FINAL0_C_MAPPING_MASK						0x0000e000
-#define    NV10TCL_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT					0x00002000
-#define    NV10TCL_RC_FINAL0_C_MAPPING_EXPAND_NORMAL					0x00004000
-#define    NV10TCL_RC_FINAL0_C_MAPPING_EXPAND_NEGATE					0x00006000
-#define    NV10TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL					0x00008000
-#define    NV10TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE					0x0000a000
-#define    NV10TCL_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY					0x0000c000
-#define    NV10TCL_RC_FINAL0_C_MAPPING_SIGNED_NEGATE					0x0000e000
-#define   NV10TCL_RC_FINAL0_B_INPUT_SHIFT						16
-#define   NV10TCL_RC_FINAL0_B_INPUT_MASK						0x000f0000
-#define    NV10TCL_RC_FINAL0_B_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR0					0x00010000
-#define    NV10TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR1					0x00020000
-#define    NV10TCL_RC_FINAL0_B_INPUT_FOG						0x00030000
-#define    NV10TCL_RC_FINAL0_B_INPUT_PRIMARY_COLOR					0x00040000
-#define    NV10TCL_RC_FINAL0_B_INPUT_SECONDARY_COLOR					0x00050000
-#define    NV10TCL_RC_FINAL0_B_INPUT_TEXTURE0						0x00080000
-#define    NV10TCL_RC_FINAL0_B_INPUT_TEXTURE1						0x00090000
-#define    NV10TCL_RC_FINAL0_B_INPUT_SPARE0						0x000c0000
-#define    NV10TCL_RC_FINAL0_B_INPUT_SPARE1						0x000d0000
-#define    NV10TCL_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000e0000
-#define    NV10TCL_RC_FINAL0_B_INPUT_E_TIMES_F						0x000f0000
-#define    NV10TCL_RC_FINAL0_B_INPUT_TEXTURE2						0x000a0000
-#define    NV10TCL_RC_FINAL0_B_INPUT_TEXTURE3						0x000b0000
-#define   NV10TCL_RC_FINAL0_B_COMPONENT_USAGE						(1 << 20)
-#define    NV10TCL_RC_FINAL0_B_COMPONENT_USAGE_RGB					0x00000000
-#define    NV10TCL_RC_FINAL0_B_COMPONENT_USAGE_ALPHA					0x00100000
-#define   NV10TCL_RC_FINAL0_B_MAPPING_SHIFT						21
-#define   NV10TCL_RC_FINAL0_B_MAPPING_MASK						0x00e00000
-#define    NV10TCL_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT					0x00200000
-#define    NV10TCL_RC_FINAL0_B_MAPPING_EXPAND_NORMAL					0x00400000
-#define    NV10TCL_RC_FINAL0_B_MAPPING_EXPAND_NEGATE					0x00600000
-#define    NV10TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL					0x00800000
-#define    NV10TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE					0x00a00000
-#define    NV10TCL_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY					0x00c00000
-#define    NV10TCL_RC_FINAL0_B_MAPPING_SIGNED_NEGATE					0x00e00000
-#define   NV10TCL_RC_FINAL0_A_INPUT_SHIFT						24
-#define   NV10TCL_RC_FINAL0_A_INPUT_MASK						0x0f000000
-#define    NV10TCL_RC_FINAL0_A_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR0					0x01000000
-#define    NV10TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR1					0x02000000
-#define    NV10TCL_RC_FINAL0_A_INPUT_FOG						0x03000000
-#define    NV10TCL_RC_FINAL0_A_INPUT_PRIMARY_COLOR					0x04000000
-#define    NV10TCL_RC_FINAL0_A_INPUT_SECONDARY_COLOR					0x05000000
-#define    NV10TCL_RC_FINAL0_A_INPUT_TEXTURE0						0x08000000
-#define    NV10TCL_RC_FINAL0_A_INPUT_TEXTURE1						0x09000000
-#define    NV10TCL_RC_FINAL0_A_INPUT_SPARE0						0x0c000000
-#define    NV10TCL_RC_FINAL0_A_INPUT_SPARE1						0x0d000000
-#define    NV10TCL_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0e000000
-#define    NV10TCL_RC_FINAL0_A_INPUT_E_TIMES_F						0x0f000000
-#define    NV10TCL_RC_FINAL0_A_INPUT_TEXTURE2						0x0a000000
-#define    NV10TCL_RC_FINAL0_A_INPUT_TEXTURE3						0x0b000000
-#define   NV10TCL_RC_FINAL0_A_COMPONENT_USAGE						(1 << 28)
-#define    NV10TCL_RC_FINAL0_A_COMPONENT_USAGE_RGB					0x00000000
-#define    NV10TCL_RC_FINAL0_A_COMPONENT_USAGE_ALPHA					0x10000000
-#define   NV10TCL_RC_FINAL0_A_MAPPING_SHIFT						29
-#define   NV10TCL_RC_FINAL0_A_MAPPING_MASK						0xe0000000
-#define    NV10TCL_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT					0x20000000
-#define    NV10TCL_RC_FINAL0_A_MAPPING_EXPAND_NORMAL					0x40000000
-#define    NV10TCL_RC_FINAL0_A_MAPPING_EXPAND_NEGATE					0x60000000
-#define    NV10TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL					0x80000000
-#define    NV10TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE					0xa0000000
-#define    NV10TCL_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY					0xc0000000
-#define    NV10TCL_RC_FINAL0_A_MAPPING_SIGNED_NEGATE					0xe0000000
-#define  NV10TCL_RC_FINAL1								0x0000028c
-#define   NV10TCL_RC_FINAL1_COLOR_SUM_CLAMP						(1 <<  7)
-#define   NV10TCL_RC_FINAL1_G_INPUT_SHIFT						8
-#define   NV10TCL_RC_FINAL1_G_INPUT_MASK						0x00000f00
-#define    NV10TCL_RC_FINAL1_G_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR0					0x00000100
-#define    NV10TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR1					0x00000200
-#define    NV10TCL_RC_FINAL1_G_INPUT_FOG						0x00000300
-#define    NV10TCL_RC_FINAL1_G_INPUT_PRIMARY_COLOR					0x00000400
-#define    NV10TCL_RC_FINAL1_G_INPUT_SECONDARY_COLOR					0x00000500
-#define    NV10TCL_RC_FINAL1_G_INPUT_TEXTURE0						0x00000800
-#define    NV10TCL_RC_FINAL1_G_INPUT_TEXTURE1						0x00000900
-#define    NV10TCL_RC_FINAL1_G_INPUT_SPARE0						0x00000c00
-#define    NV10TCL_RC_FINAL1_G_INPUT_SPARE1						0x00000d00
-#define    NV10TCL_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV10TCL_RC_FINAL1_G_INPUT_E_TIMES_F						0x00000f00
-#define    NV10TCL_RC_FINAL1_G_INPUT_TEXTURE2						0x00000a00
-#define    NV10TCL_RC_FINAL1_G_INPUT_TEXTURE3						0x00000b00
-#define   NV10TCL_RC_FINAL1_G_COMPONENT_USAGE						(1 << 12)
-#define    NV10TCL_RC_FINAL1_G_COMPONENT_USAGE_RGB					0x00000000
-#define    NV10TCL_RC_FINAL1_G_COMPONENT_USAGE_ALPHA					0x00001000
-#define   NV10TCL_RC_FINAL1_G_MAPPING_SHIFT						13
-#define   NV10TCL_RC_FINAL1_G_MAPPING_MASK						0x0000e000
-#define    NV10TCL_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT					0x00002000
-#define    NV10TCL_RC_FINAL1_G_MAPPING_EXPAND_NORMAL					0x00004000
-#define    NV10TCL_RC_FINAL1_G_MAPPING_EXPAND_NEGATE					0x00006000
-#define    NV10TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL					0x00008000
-#define    NV10TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE					0x0000a000
-#define    NV10TCL_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY					0x0000c000
-#define    NV10TCL_RC_FINAL1_G_MAPPING_SIGNED_NEGATE					0x0000e000
-#define   NV10TCL_RC_FINAL1_F_INPUT_SHIFT						16
-#define   NV10TCL_RC_FINAL1_F_INPUT_MASK						0x000f0000
-#define    NV10TCL_RC_FINAL1_F_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR0					0x00010000
-#define    NV10TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR1					0x00020000
-#define    NV10TCL_RC_FINAL1_F_INPUT_FOG						0x00030000
-#define    NV10TCL_RC_FINAL1_F_INPUT_PRIMARY_COLOR					0x00040000
-#define    NV10TCL_RC_FINAL1_F_INPUT_SECONDARY_COLOR					0x00050000
-#define    NV10TCL_RC_FINAL1_F_INPUT_TEXTURE0						0x00080000
-#define    NV10TCL_RC_FINAL1_F_INPUT_TEXTURE1						0x00090000
-#define    NV10TCL_RC_FINAL1_F_INPUT_SPARE0						0x000c0000
-#define    NV10TCL_RC_FINAL1_F_INPUT_SPARE1						0x000d0000
-#define    NV10TCL_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000e0000
-#define    NV10TCL_RC_FINAL1_F_INPUT_E_TIMES_F						0x000f0000
-#define    NV10TCL_RC_FINAL1_F_INPUT_TEXTURE2						0x000a0000
-#define    NV10TCL_RC_FINAL1_F_INPUT_TEXTURE3						0x000b0000
-#define   NV10TCL_RC_FINAL1_F_COMPONENT_USAGE						(1 << 20)
-#define    NV10TCL_RC_FINAL1_F_COMPONENT_USAGE_RGB					0x00000000
-#define    NV10TCL_RC_FINAL1_F_COMPONENT_USAGE_ALPHA					0x00100000
-#define   NV10TCL_RC_FINAL1_F_MAPPING_SHIFT						21
-#define   NV10TCL_RC_FINAL1_F_MAPPING_MASK						0x00e00000
-#define    NV10TCL_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT					0x00200000
-#define    NV10TCL_RC_FINAL1_F_MAPPING_EXPAND_NORMAL					0x00400000
-#define    NV10TCL_RC_FINAL1_F_MAPPING_EXPAND_NEGATE					0x00600000
-#define    NV10TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL					0x00800000
-#define    NV10TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE					0x00a00000
-#define    NV10TCL_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY					0x00c00000
-#define    NV10TCL_RC_FINAL1_F_MAPPING_SIGNED_NEGATE					0x00e00000
-#define   NV10TCL_RC_FINAL1_E_INPUT_SHIFT						24
-#define   NV10TCL_RC_FINAL1_E_INPUT_MASK						0x0f000000
-#define    NV10TCL_RC_FINAL1_E_INPUT_ZERO						0x00000000
-#define    NV10TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR0					0x01000000
-#define    NV10TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR1					0x02000000
-#define    NV10TCL_RC_FINAL1_E_INPUT_FOG						0x03000000
-#define    NV10TCL_RC_FINAL1_E_INPUT_PRIMARY_COLOR					0x04000000
-#define    NV10TCL_RC_FINAL1_E_INPUT_SECONDARY_COLOR					0x05000000
-#define    NV10TCL_RC_FINAL1_E_INPUT_TEXTURE0						0x08000000
-#define    NV10TCL_RC_FINAL1_E_INPUT_TEXTURE1						0x09000000
-#define    NV10TCL_RC_FINAL1_E_INPUT_SPARE0						0x0c000000
-#define    NV10TCL_RC_FINAL1_E_INPUT_SPARE1						0x0d000000
-#define    NV10TCL_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0e000000
-#define    NV10TCL_RC_FINAL1_E_INPUT_E_TIMES_F						0x0f000000
-#define    NV10TCL_RC_FINAL1_E_INPUT_TEXTURE2						0x0a000000
-#define    NV10TCL_RC_FINAL1_E_INPUT_TEXTURE3						0x0b000000
-#define   NV10TCL_RC_FINAL1_E_COMPONENT_USAGE						(1 << 28)
-#define    NV10TCL_RC_FINAL1_E_COMPONENT_USAGE_RGB					0x00000000
-#define    NV10TCL_RC_FINAL1_E_COMPONENT_USAGE_ALPHA					0x10000000
-#define   NV10TCL_RC_FINAL1_E_MAPPING_SHIFT						29
-#define   NV10TCL_RC_FINAL1_E_MAPPING_MASK						0xe0000000
-#define    NV10TCL_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV10TCL_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT					0x20000000
-#define    NV10TCL_RC_FINAL1_E_MAPPING_EXPAND_NORMAL					0x40000000
-#define    NV10TCL_RC_FINAL1_E_MAPPING_EXPAND_NEGATE					0x60000000
-#define    NV10TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL					0x80000000
-#define    NV10TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE					0xa0000000
-#define    NV10TCL_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY					0xc0000000
-#define    NV10TCL_RC_FINAL1_E_MAPPING_SIGNED_NEGATE					0xe0000000
-#define  NV10TCL_LIGHT_MODEL								0x00000294
-#define   NV10TCL_LIGHT_MODEL_VERTEX_SPECULAR						(1 <<  0)
-#define   NV10TCL_LIGHT_MODEL_SEPARATE_SPECULAR						(1 <<  1)
-#define   NV10TCL_LIGHT_MODEL_LOCAL_VIEWER						(1 << 16)
-#define  NV10TCL_COLOR_MATERIAL								0x00000298
-#define   NV10TCL_COLOR_MATERIAL_EMISSION						(1 <<  0)
-#define   NV10TCL_COLOR_MATERIAL_AMBIENT						(1 <<  1)
-#define   NV10TCL_COLOR_MATERIAL_DIFFUSE						(1 <<  2)
-#define   NV10TCL_COLOR_MATERIAL_SPECULAR						(1 <<  3)
-#define  NV10TCL_FOG_MODE								0x0000029c
-#define   NV10TCL_FOG_MODE_LINEAR							0x00002601
-#define   NV10TCL_FOG_MODE_EXP								0x00000800
-#define   NV10TCL_FOG_MODE_EXP_ABS							0x00000802
-#define   NV10TCL_FOG_MODE_EXP2								0x00000803
-#define  NV10TCL_FOG_COORD								0x000002a0
-#define   NV10TCL_FOG_COORD_FOG								0x00000000
-#define   NV10TCL_FOG_COORD_DIST_RADIAL							0x00000001
-#define   NV10TCL_FOG_COORD_DIST_ORTHOGONAL						0x00000002
-#define   NV10TCL_FOG_COORD_DIST_ORTHOGONAL_ABS						0x00000003
-#define  NV10TCL_FOG_ENABLE								0x000002a4
-#define  NV10TCL_FOG_COLOR								0x000002a8
-#define   NV10TCL_FOG_COLOR_R_SHIFT							0
-#define   NV10TCL_FOG_COLOR_R_MASK							0x000000ff
-#define   NV10TCL_FOG_COLOR_G_SHIFT							8
-#define   NV10TCL_FOG_COLOR_G_MASK							0x0000ff00
-#define   NV10TCL_FOG_COLOR_B_SHIFT							16
-#define   NV10TCL_FOG_COLOR_B_MASK							0x00ff0000
-#define   NV10TCL_FOG_COLOR_A_SHIFT							24
-#define   NV10TCL_FOG_COLOR_A_MASK							0xff000000
-#define  NV10TCL_VIEWPORT_CLIP_MODE							0x000002b4
-#define  NV10TCL_VIEWPORT_CLIP_HORIZ(x)							(0x000002c0+((x)*4))
-#define  NV10TCL_VIEWPORT_CLIP_HORIZ__SIZE						0x00000008
-#define   NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_L_SHIFT					0
-#define   NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_L_MASK					0x000007ff
-#define   NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_LEFT_ENABLE					(1 << 11)
-#define   NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_R_SHIFT					16
-#define   NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_R_MASK					0x07ff0000
-#define   NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_RIGHT_ENABLE					(1 << 27)
-#define  NV10TCL_VIEWPORT_CLIP_VERT(x)							(0x000002e0+((x)*4))
-#define  NV10TCL_VIEWPORT_CLIP_VERT__SIZE						0x00000008
-#define   NV10TCL_VIEWPORT_CLIP_VERT_CLIP_T_SHIFT					0
-#define   NV10TCL_VIEWPORT_CLIP_VERT_CLIP_T_MASK					0x000007ff
-#define   NV10TCL_VIEWPORT_CLIP_VERT_CLIP_TOP_ENABLE					(1 << 11)
-#define   NV10TCL_VIEWPORT_CLIP_VERT_CLIP_B_SHIFT					16
-#define   NV10TCL_VIEWPORT_CLIP_VERT_CLIP_B_MASK					0x07ff0000
-#define   NV10TCL_VIEWPORT_CLIP_VERT_CLIP_BOTTOM_ENABLE					(1 << 27)
-#define  NV10TCL_ALPHA_FUNC_ENABLE							0x00000300
-#define  NV10TCL_BLEND_FUNC_ENABLE							0x00000304
-#define  NV10TCL_CULL_FACE_ENABLE							0x00000308
-#define  NV10TCL_DEPTH_TEST_ENABLE							0x0000030c
-#define  NV10TCL_DITHER_ENABLE								0x00000310
-#define  NV10TCL_LIGHTING_ENABLE							0x00000314
-#define  NV10TCL_POINT_PARAMETERS_ENABLE						0x00000318
-#define  NV10TCL_POINT_SMOOTH_ENABLE							0x0000031c
-#define  NV10TCL_LINE_SMOOTH_ENABLE							0x00000320
-#define  NV10TCL_POLYGON_SMOOTH_ENABLE							0x00000324
-#define  NV10TCL_VERTEX_WEIGHT_ENABLE							0x00000328
-#define  NV10TCL_STENCIL_ENABLE								0x0000032c
-#define  NV10TCL_POLYGON_OFFSET_POINT_ENABLE						0x00000330
-#define  NV10TCL_POLYGON_OFFSET_LINE_ENABLE						0x00000334
-#define  NV10TCL_POLYGON_OFFSET_FILL_ENABLE						0x00000338
-#define  NV10TCL_ALPHA_FUNC_FUNC							0x0000033c
-#define   NV10TCL_ALPHA_FUNC_FUNC_NEVER							0x00000200
-#define   NV10TCL_ALPHA_FUNC_FUNC_LESS							0x00000201
-#define   NV10TCL_ALPHA_FUNC_FUNC_EQUAL							0x00000202
-#define   NV10TCL_ALPHA_FUNC_FUNC_LEQUAL						0x00000203
-#define   NV10TCL_ALPHA_FUNC_FUNC_GREATER						0x00000204
-#define   NV10TCL_ALPHA_FUNC_FUNC_NOTEQUAL						0x00000205
-#define   NV10TCL_ALPHA_FUNC_FUNC_GEQUAL						0x00000206
-#define   NV10TCL_ALPHA_FUNC_FUNC_ALWAYS						0x00000207
-#define  NV10TCL_ALPHA_FUNC_REF								0x00000340
-#define  NV10TCL_BLEND_FUNC_SRC								0x00000344
-#define   NV10TCL_BLEND_FUNC_SRC_ZERO							0x00000000
-#define   NV10TCL_BLEND_FUNC_SRC_ONE							0x00000001
-#define   NV10TCL_BLEND_FUNC_SRC_SRC_COLOR						0x00000300
-#define   NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR					0x00000301
-#define   NV10TCL_BLEND_FUNC_SRC_SRC_ALPHA						0x00000302
-#define   NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA					0x00000303
-#define   NV10TCL_BLEND_FUNC_SRC_DST_ALPHA						0x00000304
-#define   NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA					0x00000305
-#define   NV10TCL_BLEND_FUNC_SRC_DST_COLOR						0x00000306
-#define   NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR					0x00000307
-#define   NV10TCL_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE					0x00000308
-#define   NV10TCL_BLEND_FUNC_SRC_CONSTANT_COLOR						0x00008001
-#define   NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR				0x00008002
-#define   NV10TCL_BLEND_FUNC_SRC_CONSTANT_ALPHA						0x00008003
-#define   NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA				0x00008004
-#define  NV10TCL_BLEND_FUNC_DST								0x00000348
-#define   NV10TCL_BLEND_FUNC_DST_ZERO							0x00000000
-#define   NV10TCL_BLEND_FUNC_DST_ONE							0x00000001
-#define   NV10TCL_BLEND_FUNC_DST_SRC_COLOR						0x00000300
-#define   NV10TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR					0x00000301
-#define   NV10TCL_BLEND_FUNC_DST_SRC_ALPHA						0x00000302
-#define   NV10TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA					0x00000303
-#define   NV10TCL_BLEND_FUNC_DST_DST_ALPHA						0x00000304
-#define   NV10TCL_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA					0x00000305
-#define   NV10TCL_BLEND_FUNC_DST_DST_COLOR						0x00000306
-#define   NV10TCL_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR					0x00000307
-#define   NV10TCL_BLEND_FUNC_DST_SRC_ALPHA_SATURATE					0x00000308
-#define   NV10TCL_BLEND_FUNC_DST_CONSTANT_COLOR						0x00008001
-#define   NV10TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR				0x00008002
-#define   NV10TCL_BLEND_FUNC_DST_CONSTANT_ALPHA						0x00008003
-#define   NV10TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA				0x00008004
-#define  NV10TCL_BLEND_COLOR								0x0000034c
-#define   NV10TCL_BLEND_COLOR_B_SHIFT							0
-#define   NV10TCL_BLEND_COLOR_B_MASK							0x000000ff
-#define   NV10TCL_BLEND_COLOR_G_SHIFT							8
-#define   NV10TCL_BLEND_COLOR_G_MASK							0x0000ff00
-#define   NV10TCL_BLEND_COLOR_R_SHIFT							16
-#define   NV10TCL_BLEND_COLOR_R_MASK							0x00ff0000
-#define   NV10TCL_BLEND_COLOR_A_SHIFT							24
-#define   NV10TCL_BLEND_COLOR_A_MASK							0xff000000
-#define  NV10TCL_BLEND_EQUATION								0x00000350
-#define   NV10TCL_BLEND_EQUATION_FUNC_ADD						0x00008006
-#define   NV10TCL_BLEND_EQUATION_MIN							0x00008007
-#define   NV10TCL_BLEND_EQUATION_MAX							0x00008008
-#define   NV10TCL_BLEND_EQUATION_FUNC_SUBTRACT						0x0000800a
-#define   NV10TCL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT					0x0000800b
-#define  NV10TCL_DEPTH_FUNC								0x00000354
-#define   NV10TCL_DEPTH_FUNC_NEVER							0x00000200
-#define   NV10TCL_DEPTH_FUNC_LESS							0x00000201
-#define   NV10TCL_DEPTH_FUNC_EQUAL							0x00000202
-#define   NV10TCL_DEPTH_FUNC_LEQUAL							0x00000203
-#define   NV10TCL_DEPTH_FUNC_GREATER							0x00000204
-#define   NV10TCL_DEPTH_FUNC_NOTEQUAL							0x00000205
-#define   NV10TCL_DEPTH_FUNC_GEQUAL							0x00000206
-#define   NV10TCL_DEPTH_FUNC_ALWAYS							0x00000207
-#define  NV10TCL_COLOR_MASK								0x00000358
-#define   NV10TCL_COLOR_MASK_B								(1 <<  0)
-#define   NV10TCL_COLOR_MASK_G								(1 <<  8)
-#define   NV10TCL_COLOR_MASK_R								(1 << 16)
-#define   NV10TCL_COLOR_MASK_A								(1 << 24)
-#define  NV10TCL_DEPTH_WRITE_ENABLE							0x0000035c
-#define  NV10TCL_STENCIL_MASK								0x00000360
-#define  NV10TCL_STENCIL_FUNC_FUNC							0x00000364
-#define   NV10TCL_STENCIL_FUNC_FUNC_NEVER						0x00000200
-#define   NV10TCL_STENCIL_FUNC_FUNC_LESS						0x00000201
-#define   NV10TCL_STENCIL_FUNC_FUNC_EQUAL						0x00000202
-#define   NV10TCL_STENCIL_FUNC_FUNC_LEQUAL						0x00000203
-#define   NV10TCL_STENCIL_FUNC_FUNC_GREATER						0x00000204
-#define   NV10TCL_STENCIL_FUNC_FUNC_NOTEQUAL						0x00000205
-#define   NV10TCL_STENCIL_FUNC_FUNC_GEQUAL						0x00000206
-#define   NV10TCL_STENCIL_FUNC_FUNC_ALWAYS						0x00000207
-#define  NV10TCL_STENCIL_FUNC_REF							0x00000368
-#define  NV10TCL_STENCIL_FUNC_MASK							0x0000036c
-#define  NV10TCL_STENCIL_OP_FAIL							0x00000370
-#define   NV10TCL_STENCIL_OP_FAIL_ZERO							0x00000000
-#define   NV10TCL_STENCIL_OP_FAIL_INVERT						0x0000150a
-#define   NV10TCL_STENCIL_OP_FAIL_KEEP							0x00001e00
-#define   NV10TCL_STENCIL_OP_FAIL_REPLACE						0x00001e01
-#define   NV10TCL_STENCIL_OP_FAIL_INCR							0x00001e02
-#define   NV10TCL_STENCIL_OP_FAIL_DECR							0x00001e03
-#define   NV10TCL_STENCIL_OP_FAIL_INCR_WRAP						0x00008507
-#define   NV10TCL_STENCIL_OP_FAIL_DECR_WRAP						0x00008508
-#define  NV10TCL_STENCIL_OP_ZFAIL							0x00000374
-#define   NV10TCL_STENCIL_OP_ZFAIL_ZERO							0x00000000
-#define   NV10TCL_STENCIL_OP_ZFAIL_INVERT						0x0000150a
-#define   NV10TCL_STENCIL_OP_ZFAIL_KEEP							0x00001e00
-#define   NV10TCL_STENCIL_OP_ZFAIL_REPLACE						0x00001e01
-#define   NV10TCL_STENCIL_OP_ZFAIL_INCR							0x00001e02
-#define   NV10TCL_STENCIL_OP_ZFAIL_DECR							0x00001e03
-#define   NV10TCL_STENCIL_OP_ZFAIL_INCR_WRAP						0x00008507
-#define   NV10TCL_STENCIL_OP_ZFAIL_DECR_WRAP						0x00008508
-#define  NV10TCL_STENCIL_OP_ZPASS							0x00000378
-#define   NV10TCL_STENCIL_OP_ZPASS_ZERO							0x00000000
-#define   NV10TCL_STENCIL_OP_ZPASS_INVERT						0x0000150a
-#define   NV10TCL_STENCIL_OP_ZPASS_KEEP							0x00001e00
-#define   NV10TCL_STENCIL_OP_ZPASS_REPLACE						0x00001e01
-#define   NV10TCL_STENCIL_OP_ZPASS_INCR							0x00001e02
-#define   NV10TCL_STENCIL_OP_ZPASS_DECR							0x00001e03
-#define   NV10TCL_STENCIL_OP_ZPASS_INCR_WRAP						0x00008507
-#define   NV10TCL_STENCIL_OP_ZPASS_DECR_WRAP						0x00008508
-#define  NV10TCL_SHADE_MODEL								0x0000037c
-#define   NV10TCL_SHADE_MODEL_FLAT							0x00001d00
-#define   NV10TCL_SHADE_MODEL_SMOOTH							0x00001d01
-#define  NV10TCL_LINE_WIDTH								0x00000380
-#define  NV10TCL_POLYGON_OFFSET_FACTOR							0x00000384
-#define  NV10TCL_POLYGON_OFFSET_UNITS							0x00000388
-#define  NV10TCL_POLYGON_MODE_FRONT							0x0000038c
-#define   NV10TCL_POLYGON_MODE_FRONT_POINT						0x00001b00
-#define   NV10TCL_POLYGON_MODE_FRONT_LINE						0x00001b01
-#define   NV10TCL_POLYGON_MODE_FRONT_FILL						0x00001b02
-#define  NV10TCL_POLYGON_MODE_BACK							0x00000390
-#define   NV10TCL_POLYGON_MODE_BACK_POINT						0x00001b00
-#define   NV10TCL_POLYGON_MODE_BACK_LINE						0x00001b01
-#define   NV10TCL_POLYGON_MODE_BACK_FILL						0x00001b02
-#define  NV10TCL_DEPTH_RANGE_NEAR							0x00000394
-#define  NV10TCL_DEPTH_RANGE_FAR							0x00000398
-#define  NV10TCL_CULL_FACE								0x0000039c
-#define   NV10TCL_CULL_FACE_FRONT							0x00000404
-#define   NV10TCL_CULL_FACE_BACK							0x00000405
-#define   NV10TCL_CULL_FACE_FRONT_AND_BACK						0x00000408
-#define  NV10TCL_FRONT_FACE								0x000003a0
-#define   NV10TCL_FRONT_FACE_CW								0x00000900
-#define   NV10TCL_FRONT_FACE_CCW							0x00000901
-#define  NV10TCL_NORMALIZE_ENABLE							0x000003a4
-#define  NV10TCL_MATERIAL_FACTOR_R							0x000003a8
-#define  NV10TCL_MATERIAL_FACTOR_G							0x000003ac
-#define  NV10TCL_MATERIAL_FACTOR_B							0x000003b0
-#define  NV10TCL_MATERIAL_FACTOR_A							0x000003b4
-#define  NV10TCL_SEPARATE_SPECULAR_ENABLE						0x000003b8
-#define  NV10TCL_ENABLED_LIGHTS								0x000003bc
-#define   NV10TCL_ENABLED_LIGHTS_0_SHIFT						0
-#define   NV10TCL_ENABLED_LIGHTS_0_MASK							0x00000003
-#define    NV10TCL_ENABLED_LIGHTS_0_DISABLED						0x00000000
-#define    NV10TCL_ENABLED_LIGHTS_0_NONPOSITIONAL					0x00000001
-#define    NV10TCL_ENABLED_LIGHTS_0_POSITIONAL						0x00000002
-#define    NV10TCL_ENABLED_LIGHTS_0_DIRECTIONAL						0x00000003
-#define   NV10TCL_ENABLED_LIGHTS_1_SHIFT						2
-#define   NV10TCL_ENABLED_LIGHTS_1_MASK							0x0000000c
-#define    NV10TCL_ENABLED_LIGHTS_1_DISABLED						0x00000000
-#define    NV10TCL_ENABLED_LIGHTS_1_NONPOSITIONAL					0x00000004
-#define    NV10TCL_ENABLED_LIGHTS_1_POSITIONAL						0x00000008
-#define    NV10TCL_ENABLED_LIGHTS_1_DIRECTIONAL						0x0000000c
-#define   NV10TCL_ENABLED_LIGHTS_2_SHIFT						4
-#define   NV10TCL_ENABLED_LIGHTS_2_MASK							0x00000030
-#define    NV10TCL_ENABLED_LIGHTS_2_DISABLED						0x00000000
-#define    NV10TCL_ENABLED_LIGHTS_2_NONPOSITIONAL					0x00000010
-#define    NV10TCL_ENABLED_LIGHTS_2_POSITIONAL						0x00000020
-#define    NV10TCL_ENABLED_LIGHTS_2_DIRECTIONAL						0x00000030
-#define   NV10TCL_ENABLED_LIGHTS_3_SHIFT						6
-#define   NV10TCL_ENABLED_LIGHTS_3_MASK							0x000000c0
-#define    NV10TCL_ENABLED_LIGHTS_3_DISABLED						0x00000000
-#define    NV10TCL_ENABLED_LIGHTS_3_NONPOSITIONAL					0x00000040
-#define    NV10TCL_ENABLED_LIGHTS_3_POSITIONAL						0x00000080
-#define    NV10TCL_ENABLED_LIGHTS_3_DIRECTIONAL						0x000000c0
-#define   NV10TCL_ENABLED_LIGHTS_4_SHIFT						8
-#define   NV10TCL_ENABLED_LIGHTS_4_MASK							0x00000300
-#define    NV10TCL_ENABLED_LIGHTS_4_DISABLED						0x00000000
-#define    NV10TCL_ENABLED_LIGHTS_4_NONPOSITIONAL					0x00000100
-#define    NV10TCL_ENABLED_LIGHTS_4_POSITIONAL						0x00000200
-#define    NV10TCL_ENABLED_LIGHTS_4_DIRECTIONAL						0x00000300
-#define   NV10TCL_ENABLED_LIGHTS_5_SHIFT						10
-#define   NV10TCL_ENABLED_LIGHTS_5_MASK							0x00000c00
-#define    NV10TCL_ENABLED_LIGHTS_5_DISABLED						0x00000000
-#define    NV10TCL_ENABLED_LIGHTS_5_NONPOSITIONAL					0x00000400
-#define    NV10TCL_ENABLED_LIGHTS_5_POSITIONAL						0x00000800
-#define    NV10TCL_ENABLED_LIGHTS_5_DIRECTIONAL						0x00000c00
-#define   NV10TCL_ENABLED_LIGHTS_6_SHIFT						12
-#define   NV10TCL_ENABLED_LIGHTS_6_MASK							0x00003000
-#define    NV10TCL_ENABLED_LIGHTS_6_DISABLED						0x00000000
-#define    NV10TCL_ENABLED_LIGHTS_6_NONPOSITIONAL					0x00001000
-#define    NV10TCL_ENABLED_LIGHTS_6_POSITIONAL						0x00002000
-#define    NV10TCL_ENABLED_LIGHTS_6_DIRECTIONAL						0x00003000
-#define   NV10TCL_ENABLED_LIGHTS_7_SHIFT						14
-#define   NV10TCL_ENABLED_LIGHTS_7_MASK							0x0000c000
-#define    NV10TCL_ENABLED_LIGHTS_7_DISABLED						0x00000000
-#define    NV10TCL_ENABLED_LIGHTS_7_NONPOSITIONAL					0x00004000
-#define    NV10TCL_ENABLED_LIGHTS_7_POSITIONAL						0x00008000
-#define    NV10TCL_ENABLED_LIGHTS_7_DIRECTIONAL						0x0000c000
-#define  NV10TCL_TX_GEN_MODE_S(x)							(0x000003c0+((x)*16))
-#define  NV10TCL_TX_GEN_MODE_S__SIZE							0x00000002
-#define   NV10TCL_TX_GEN_MODE_S_FALSE							0x00000000
-#define   NV10TCL_TX_GEN_MODE_S_EYE_LINEAR						0x00002400
-#define   NV10TCL_TX_GEN_MODE_S_OBJECT_LINEAR						0x00002401
-#define   NV10TCL_TX_GEN_MODE_S_SPHERE_MAP						0x00002402
-#define   NV10TCL_TX_GEN_MODE_S_NORMAL_MAP						0x00008511
-#define   NV10TCL_TX_GEN_MODE_S_REFLECTION_MAP						0x00008512
-#define  NV10TCL_TX_GEN_MODE_T(x)							(0x000003c4+((x)*16))
-#define  NV10TCL_TX_GEN_MODE_T__SIZE							0x00000002
-#define   NV10TCL_TX_GEN_MODE_T_FALSE							0x00000000
-#define   NV10TCL_TX_GEN_MODE_T_EYE_LINEAR						0x00002400
-#define   NV10TCL_TX_GEN_MODE_T_OBJECT_LINEAR						0x00002401
-#define   NV10TCL_TX_GEN_MODE_T_SPHERE_MAP						0x00002402
-#define   NV10TCL_TX_GEN_MODE_T_NORMAL_MAP						0x00008511
-#define   NV10TCL_TX_GEN_MODE_T_REFLECTION_MAP						0x00008512
-#define  NV10TCL_TX_GEN_MODE_R(x)							(0x000003c8+((x)*16))
-#define  NV10TCL_TX_GEN_MODE_R__SIZE							0x00000002
-#define   NV10TCL_TX_GEN_MODE_R_FALSE							0x00000000
-#define   NV10TCL_TX_GEN_MODE_R_EYE_LINEAR						0x00002400
-#define   NV10TCL_TX_GEN_MODE_R_OBJECT_LINEAR						0x00002401
-#define   NV10TCL_TX_GEN_MODE_R_SPHERE_MAP						0x00002402
-#define   NV10TCL_TX_GEN_MODE_R_NORMAL_MAP						0x00008511
-#define   NV10TCL_TX_GEN_MODE_R_REFLECTION_MAP						0x00008512
-#define  NV10TCL_TX_GEN_MODE_Q(x)							(0x000003cc+((x)*16))
-#define  NV10TCL_TX_GEN_MODE_Q__SIZE							0x00000002
-#define   NV10TCL_TX_GEN_MODE_Q_FALSE							0x00000000
-#define   NV10TCL_TX_GEN_MODE_Q_EYE_LINEAR						0x00002400
-#define   NV10TCL_TX_GEN_MODE_Q_OBJECT_LINEAR						0x00002401
-#define   NV10TCL_TX_GEN_MODE_Q_SPHERE_MAP						0x00002402
-#define   NV10TCL_TX_GEN_MODE_Q_NORMAL_MAP						0x00008511
-#define   NV10TCL_TX_GEN_MODE_Q_REFLECTION_MAP						0x00008512
-#define  NV10TCL_TX_MATRIX_ENABLE(x)							(0x000003e0+((x)*4))
-#define  NV10TCL_TX_MATRIX_ENABLE__SIZE							0x00000002
-#define  NV10TCL_VIEW_MATRIX_ENABLE							0x000003e8
-#define   NV10TCL_VIEW_MATRIX_ENABLE_MODELVIEW1						(1 <<  0)
-#define   NV10TCL_VIEW_MATRIX_ENABLE_MODELVIEW0						(1 <<  1)
-#define   NV10TCL_VIEW_MATRIX_ENABLE_PROJECTION						(1 <<  2)
-#define  NV10TCL_POINT_SIZE								0x000003ec
-#define  NV10TCL_MODELVIEW0_MATRIX(x)							(0x00000400+((x)*4))
-#define  NV10TCL_MODELVIEW0_MATRIX__SIZE						0x00000010
-#define  NV10TCL_MODELVIEW1_MATRIX(x)							(0x00000440+((x)*4))
-#define  NV10TCL_MODELVIEW1_MATRIX__SIZE						0x00000010
-#define  NV10TCL_INVERSE_MODELVIEW0_MATRIX(x)						(0x00000480+((x)*4))
-#define  NV10TCL_INVERSE_MODELVIEW0_MATRIX__SIZE					0x00000010
-#define  NV10TCL_INVERSE_MODELVIEW1_MATRIX(x)						(0x000004c0+((x)*4))
-#define  NV10TCL_INVERSE_MODELVIEW1_MATRIX__SIZE					0x00000010
-#define  NV10TCL_PROJECTION_MATRIX(x)							(0x00000500+((x)*4))
-#define  NV10TCL_PROJECTION_MATRIX__SIZE						0x00000010
-#define  NV10TCL_TX0_MATRIX(x)								(0x00000540+((x)*4))
-#define  NV10TCL_TX0_MATRIX__SIZE							0x00000010
-#define  NV10TCL_TX1_MATRIX(x)								(0x00000580+((x)*4))
-#define  NV10TCL_TX1_MATRIX__SIZE							0x00000010
-#define  NV10TCL_TX_GEN_COEFF_S_A(x)							(0x00000600+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_S_A__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_S_B(x)							(0x00000604+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_S_B__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_S_C(x)							(0x00000608+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_S_C__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_S_D(x)							(0x0000060c+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_S_D__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_T_A(x)							(0x00000610+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_T_A__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_T_B(x)							(0x00000614+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_T_B__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_T_C(x)							(0x00000618+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_T_C__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_T_D(x)							(0x0000061c+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_T_D__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_R_A(x)							(0x00000620+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_R_A__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_R_B(x)							(0x00000624+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_R_B__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_R_C(x)							(0x00000628+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_R_C__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_R_D(x)							(0x0000062c+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_R_D__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_Q_A(x)							(0x00000630+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_Q_A__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_Q_B(x)							(0x00000634+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_Q_B__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_Q_C(x)							(0x00000638+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_Q_C__SIZE							0x00000002
-#define  NV10TCL_TX_GEN_COEFF_Q_D(x)							(0x0000063c+((x)*64))
-#define  NV10TCL_TX_GEN_COEFF_Q_D__SIZE							0x00000002
-#define  NV10TCL_FOG_EQUATION_CONSTANT							0x00000680
-#define  NV10TCL_FOG_EQUATION_LINEAR							0x00000684
-#define  NV10TCL_FOG_EQUATION_QUADRATIC							0x00000688
-#define  NV10TCL_MATERIAL_SHININESS(x)							(0x000006a0+((x)*4))
-#define  NV10TCL_MATERIAL_SHININESS__SIZE						0x00000006
-#define  NV10TCL_LIGHT_MODEL_AMBIENT_R							0x000006c4
-#define  NV10TCL_LIGHT_MODEL_AMBIENT_G							0x000006c8
-#define  NV10TCL_LIGHT_MODEL_AMBIENT_B							0x000006cc
-#define  NV10TCL_VIEWPORT_TRANSLATE_X							0x000006e8
-#define  NV10TCL_VIEWPORT_TRANSLATE_Y							0x000006ec
-#define  NV10TCL_VIEWPORT_TRANSLATE_Z							0x000006f0
-#define  NV10TCL_VIEWPORT_TRANSLATE_W							0x000006f4
-#define  NV10TCL_POINT_PARAMETER(x)							(0x000006f8+((x)*4))
-#define  NV10TCL_POINT_PARAMETER__SIZE							0x00000008
-#define  NV10TCL_LIGHT_AMBIENT_R(x)							(0x00000800+((x)*128))
-#define  NV10TCL_LIGHT_AMBIENT_R__SIZE							0x00000008
-#define  NV10TCL_LIGHT_AMBIENT_G(x)							(0x00000804+((x)*128))
-#define  NV10TCL_LIGHT_AMBIENT_G__SIZE							0x00000008
-#define  NV10TCL_LIGHT_AMBIENT_B(x)							(0x00000808+((x)*128))
-#define  NV10TCL_LIGHT_AMBIENT_B__SIZE							0x00000008
-#define  NV10TCL_LIGHT_DIFFUSE_R(x)							(0x0000080c+((x)*128))
-#define  NV10TCL_LIGHT_DIFFUSE_R__SIZE							0x00000008
-#define  NV10TCL_LIGHT_DIFFUSE_G(x)							(0x00000810+((x)*128))
-#define  NV10TCL_LIGHT_DIFFUSE_G__SIZE							0x00000008
-#define  NV10TCL_LIGHT_DIFFUSE_B(x)							(0x00000814+((x)*128))
-#define  NV10TCL_LIGHT_DIFFUSE_B__SIZE							0x00000008
-#define  NV10TCL_LIGHT_SPECULAR_R(x)							(0x00000818+((x)*128))
-#define  NV10TCL_LIGHT_SPECULAR_R__SIZE							0x00000008
-#define  NV10TCL_LIGHT_SPECULAR_G(x)							(0x0000081c+((x)*128))
-#define  NV10TCL_LIGHT_SPECULAR_G__SIZE							0x00000008
-#define  NV10TCL_LIGHT_SPECULAR_B(x)							(0x00000820+((x)*128))
-#define  NV10TCL_LIGHT_SPECULAR_B__SIZE							0x00000008
-#define  NV10TCL_LIGHT_HALF_VECTOR_X(x)							(0x00000828+((x)*128))
-#define  NV10TCL_LIGHT_HALF_VECTOR_X__SIZE						0x00000008
-#define  NV10TCL_LIGHT_HALF_VECTOR_Y(x)							(0x0000082c+((x)*128))
-#define  NV10TCL_LIGHT_HALF_VECTOR_Y__SIZE						0x00000008
-#define  NV10TCL_LIGHT_HALF_VECTOR_Z(x)							(0x00000830+((x)*128))
-#define  NV10TCL_LIGHT_HALF_VECTOR_Z__SIZE						0x00000008
-#define  NV10TCL_LIGHT_DIRECTION_X(x)							(0x00000834+((x)*128))
-#define  NV10TCL_LIGHT_DIRECTION_X__SIZE						0x00000008
-#define  NV10TCL_LIGHT_DIRECTION_Y(x)							(0x00000838+((x)*128))
-#define  NV10TCL_LIGHT_DIRECTION_Y__SIZE						0x00000008
-#define  NV10TCL_LIGHT_DIRECTION_Z(x)							(0x0000083c+((x)*128))
-#define  NV10TCL_LIGHT_DIRECTION_Z__SIZE						0x00000008
-#define  NV10TCL_LIGHT_SPOT_CUTOFF_A(x)							(0x00000840+((x)*128))
-#define  NV10TCL_LIGHT_SPOT_CUTOFF_A__SIZE						0x00000008
-#define  NV10TCL_LIGHT_SPOT_CUTOFF_B(x)							(0x00000844+((x)*128))
-#define  NV10TCL_LIGHT_SPOT_CUTOFF_B__SIZE						0x00000008
-#define  NV10TCL_LIGHT_SPOT_CUTOFF_C(x)							(0x00000848+((x)*128))
-#define  NV10TCL_LIGHT_SPOT_CUTOFF_C__SIZE						0x00000008
-#define  NV10TCL_LIGHT_SPOT_DIR_X(x)							(0x0000084c+((x)*128))
-#define  NV10TCL_LIGHT_SPOT_DIR_X__SIZE							0x00000008
-#define  NV10TCL_LIGHT_SPOT_DIR_Y(x)							(0x00000850+((x)*128))
-#define  NV10TCL_LIGHT_SPOT_DIR_Y__SIZE							0x00000008
-#define  NV10TCL_LIGHT_SPOT_DIR_Z(x)							(0x00000854+((x)*128))
-#define  NV10TCL_LIGHT_SPOT_DIR_Z__SIZE							0x00000008
-#define  NV10TCL_LIGHT_SPOT_CUTOFF_D(x)							(0x00000858+((x)*128))
-#define  NV10TCL_LIGHT_SPOT_CUTOFF_D__SIZE						0x00000008
-#define  NV10TCL_LIGHT_POSITION_X(x)							(0x0000085c+((x)*128))
-#define  NV10TCL_LIGHT_POSITION_X__SIZE							0x00000008
-#define  NV10TCL_LIGHT_POSITION_Y(x)							(0x00000860+((x)*128))
-#define  NV10TCL_LIGHT_POSITION_Y__SIZE							0x00000008
-#define  NV10TCL_LIGHT_POSITION_Z(x)							(0x00000864+((x)*128))
-#define  NV10TCL_LIGHT_POSITION_Z__SIZE							0x00000008
-#define  NV10TCL_LIGHT_ATTENUATION_CONSTANT(x)						(0x00000868+((x)*128))
-#define  NV10TCL_LIGHT_ATTENUATION_CONSTANT__SIZE					0x00000008
-#define  NV10TCL_LIGHT_ATTENUATION_LINEAR(x)						(0x0000086c+((x)*128))
-#define  NV10TCL_LIGHT_ATTENUATION_LINEAR__SIZE						0x00000008
-#define  NV10TCL_LIGHT_ATTENUATION_QUADRATIC(x)						(0x00000870+((x)*128))
-#define  NV10TCL_LIGHT_ATTENUATION_QUADRATIC__SIZE					0x00000008
-#define  NV10TCL_VERTEX_POS_3F_X							0x00000c00
-#define  NV10TCL_VERTEX_POS_3F_Y							0x00000c04
-#define  NV10TCL_VERTEX_POS_3F_Z							0x00000c08
-#define  NV10TCL_VERTEX_POS_4F_X							0x00000c18
-#define  NV10TCL_VERTEX_POS_4F_Y							0x00000c1c
-#define  NV10TCL_VERTEX_POS_4F_Z							0x00000c20
-#define  NV10TCL_VERTEX_POS_4F_W							0x00000c24
-#define  NV10TCL_VERTEX_NOR_3F_X							0x00000c30
-#define  NV10TCL_VERTEX_NOR_3F_Y							0x00000c34
-#define  NV10TCL_VERTEX_NOR_3F_Z							0x00000c38
-#define  NV10TCL_VERTEX_NOR_3I_XY							0x00000c40
-#define   NV10TCL_VERTEX_NOR_3I_XY_X_SHIFT						0
-#define   NV10TCL_VERTEX_NOR_3I_XY_X_MASK						0x0000ffff
-#define   NV10TCL_VERTEX_NOR_3I_XY_Y_SHIFT						16
-#define   NV10TCL_VERTEX_NOR_3I_XY_Y_MASK						0xffff0000
-#define  NV10TCL_VERTEX_NOR_3I_Z							0x00000c44
-#define   NV10TCL_VERTEX_NOR_3I_Z_Z_SHIFT						0
-#define   NV10TCL_VERTEX_NOR_3I_Z_Z_MASK						0x0000ffff
-#define  NV10TCL_VERTEX_COL_4F_R							0x00000c50
-#define  NV10TCL_VERTEX_COL_4F_G							0x00000c54
-#define  NV10TCL_VERTEX_COL_4F_B							0x00000c58
-#define  NV10TCL_VERTEX_COL_4F_A							0x00000c5c
-#define  NV10TCL_VERTEX_COL_3F_R							0x00000c60
-#define  NV10TCL_VERTEX_COL_3F_G							0x00000c64
-#define  NV10TCL_VERTEX_COL_3F_B							0x00000c68
-#define  NV10TCL_VERTEX_COL_4I								0x00000c6c
-#define   NV10TCL_VERTEX_COL_4I_R_SHIFT							0
-#define   NV10TCL_VERTEX_COL_4I_R_MASK							0x000000ff
-#define   NV10TCL_VERTEX_COL_4I_G_SHIFT							8
-#define   NV10TCL_VERTEX_COL_4I_G_MASK							0x0000ff00
-#define   NV10TCL_VERTEX_COL_4I_B_SHIFT							16
-#define   NV10TCL_VERTEX_COL_4I_B_MASK							0x00ff0000
-#define   NV10TCL_VERTEX_COL_4I_A_SHIFT							24
-#define   NV10TCL_VERTEX_COL_4I_A_MASK							0xff000000
-#define  NV10TCL_VERTEX_COL2_3F_R							0x00000c80
-#define  NV10TCL_VERTEX_COL2_3F_G							0x00000c84
-#define  NV10TCL_VERTEX_COL2_3F_B							0x00000c88
-#define  NV10TCL_VERTEX_COL2_3I								0x00000c8c
-#define   NV10TCL_VERTEX_COL2_3I_R_SHIFT						0
-#define   NV10TCL_VERTEX_COL2_3I_R_MASK							0x000000ff
-#define   NV10TCL_VERTEX_COL2_3I_G_SHIFT						8
-#define   NV10TCL_VERTEX_COL2_3I_G_MASK							0x0000ff00
-#define   NV10TCL_VERTEX_COL2_3I_B_SHIFT						16
-#define   NV10TCL_VERTEX_COL2_3I_B_MASK							0x00ff0000
-#define  NV10TCL_VERTEX_TX0_2F_S							0x00000c90
-#define  NV10TCL_VERTEX_TX0_2F_T							0x00000c94
-#define  NV10TCL_VERTEX_TX0_2I								0x00000c98
-#define   NV10TCL_VERTEX_TX0_2I_S_SHIFT							0
-#define   NV10TCL_VERTEX_TX0_2I_S_MASK							0x0000ffff
-#define   NV10TCL_VERTEX_TX0_2I_T_SHIFT							16
-#define   NV10TCL_VERTEX_TX0_2I_T_MASK							0xffff0000
-#define  NV10TCL_VERTEX_TX0_4F_S							0x00000ca0
-#define  NV10TCL_VERTEX_TX0_4F_T							0x00000ca4
-#define  NV10TCL_VERTEX_TX0_4F_R							0x00000ca8
-#define  NV10TCL_VERTEX_TX0_4F_Q							0x00000cac
-#define  NV10TCL_VERTEX_TX0_4I_ST							0x00000cb0
-#define   NV10TCL_VERTEX_TX0_4I_ST_S_SHIFT						0
-#define   NV10TCL_VERTEX_TX0_4I_ST_S_MASK						0x0000ffff
-#define   NV10TCL_VERTEX_TX0_4I_ST_T_SHIFT						16
-#define   NV10TCL_VERTEX_TX0_4I_ST_T_MASK						0xffff0000
-#define  NV10TCL_VERTEX_TX0_4I_RQ							0x00000cb4
-#define   NV10TCL_VERTEX_TX0_4I_RQ_R_SHIFT						0
-#define   NV10TCL_VERTEX_TX0_4I_RQ_R_MASK						0x0000ffff
-#define   NV10TCL_VERTEX_TX0_4I_RQ_Q_SHIFT						16
-#define   NV10TCL_VERTEX_TX0_4I_RQ_Q_MASK						0xffff0000
-#define  NV10TCL_VERTEX_TX1_2F_S							0x00000cb8
-#define  NV10TCL_VERTEX_TX1_2F_T							0x00000cbc
-#define  NV10TCL_VERTEX_TX1_2I								0x00000cc0
-#define   NV10TCL_VERTEX_TX1_2I_S_SHIFT							0
-#define   NV10TCL_VERTEX_TX1_2I_S_MASK							0x0000ffff
-#define   NV10TCL_VERTEX_TX1_2I_T_SHIFT							16
-#define   NV10TCL_VERTEX_TX1_2I_T_MASK							0xffff0000
-#define  NV10TCL_VERTEX_TX1_4F_S							0x00000cc8
-#define  NV10TCL_VERTEX_TX1_4F_T							0x00000ccc
-#define  NV10TCL_VERTEX_TX1_4F_R							0x00000cd0
-#define  NV10TCL_VERTEX_TX1_4F_Q							0x00000cd4
-#define  NV10TCL_VERTEX_TX1_4I_ST							0x00000cd8
-#define   NV10TCL_VERTEX_TX1_4I_ST_S_SHIFT						0
-#define   NV10TCL_VERTEX_TX1_4I_ST_S_MASK						0x0000ffff
-#define   NV10TCL_VERTEX_TX1_4I_ST_T_SHIFT						16
-#define   NV10TCL_VERTEX_TX1_4I_ST_T_MASK						0xffff0000
-#define  NV10TCL_VERTEX_TX1_4I_RQ							0x00000cdc
-#define   NV10TCL_VERTEX_TX1_4I_RQ_R_SHIFT						0
-#define   NV10TCL_VERTEX_TX1_4I_RQ_R_MASK						0x0000ffff
-#define   NV10TCL_VERTEX_TX1_4I_RQ_Q_SHIFT						16
-#define   NV10TCL_VERTEX_TX1_4I_RQ_Q_MASK						0xffff0000
-#define  NV10TCL_VERTEX_FOG_1F								0x00000ce0
-#define  NV10TCL_VERTEX_WGH_1F								0x00000ce4
-#define  NV10TCL_EDGEFLAG_ENABLE							0x00000cec
-#define  NV10TCL_VERTEX_ARRAY_VALIDATE							0x00000cf0
-#define  NV10TCL_VTXBUF_ADDRESS(x)							(0x00000d00+((x)*8))
-#define  NV10TCL_VTXBUF_ADDRESS__SIZE							0x00000008
-#define  NV10TCL_VTXFMT(x)								(0x00000d04+((x)*8))
-#define  NV10TCL_VTXFMT__SIZE								0x00000008
-#define   NV10TCL_VTXFMT_TYPE_SHIFT							0
-#define   NV10TCL_VTXFMT_TYPE_MASK							0x0000000f
-#define    NV10TCL_VTXFMT_TYPE_BYTE_BGRA						0x00000000
-#define    NV10TCL_VTXFMT_TYPE_SHORT							0x00000001
-#define    NV10TCL_VTXFMT_TYPE_FLOAT							0x00000002
-#define    NV10TCL_VTXFMT_TYPE_BYTE_RGBA						0x00000004
-#define   NV10TCL_VTXFMT_FIELDS_SHIFT							4
-#define   NV10TCL_VTXFMT_FIELDS_MASK							0x000000f0
-#define   NV10TCL_VTXFMT_STRIDE_SHIFT							8
-#define   NV10TCL_VTXFMT_STRIDE_MASK							0x0000ff00
-#define   NV10TCL_VTXFMT_POS_HOMOGENEOUS						(1 << 24)
-#define  NV10TCL_VERTEX_BEGIN_END							0x00000dfc
-#define   NV10TCL_VERTEX_BEGIN_END_STOP							0x00000000
-#define   NV10TCL_VERTEX_BEGIN_END_POINTS						0x00000001
-#define   NV10TCL_VERTEX_BEGIN_END_LINES						0x00000002
-#define   NV10TCL_VERTEX_BEGIN_END_LINE_LOOP						0x00000003
-#define   NV10TCL_VERTEX_BEGIN_END_LINE_STRIP						0x00000004
-#define   NV10TCL_VERTEX_BEGIN_END_TRIANGLES						0x00000005
-#define   NV10TCL_VERTEX_BEGIN_END_TRIANGLE_STRIP					0x00000006
-#define   NV10TCL_VERTEX_BEGIN_END_TRIANGLE_FAN						0x00000007
-#define   NV10TCL_VERTEX_BEGIN_END_QUADS						0x00000008
-#define   NV10TCL_VERTEX_BEGIN_END_QUAD_STRIP						0x00000009
-#define   NV10TCL_VERTEX_BEGIN_END_POLYGON						0x0000000a
-#define  NV10TCL_VB_ELEMENT_U16								0x00000e00
-#define   NV10TCL_VB_ELEMENT_U16_I0_SHIFT						0
-#define   NV10TCL_VB_ELEMENT_U16_I0_MASK						0x0000ffff
-#define   NV10TCL_VB_ELEMENT_U16_I1_SHIFT						16
-#define   NV10TCL_VB_ELEMENT_U16_I1_MASK						0xffff0000
-#define  NV10TCL_VB_ELEMENT_U32								0x00001100
-#define  NV10TCL_VERTEX_BUFFER_BEGIN_END						0x000013fc
-#define   NV10TCL_VERTEX_BUFFER_BEGIN_END_STOP						0x00000000
-#define   NV10TCL_VERTEX_BUFFER_BEGIN_END_POINTS					0x00000001
-#define   NV10TCL_VERTEX_BUFFER_BEGIN_END_LINES						0x00000002
-#define   NV10TCL_VERTEX_BUFFER_BEGIN_END_LINE_LOOP					0x00000003
-#define   NV10TCL_VERTEX_BUFFER_BEGIN_END_LINE_STRIP					0x00000004
-#define   NV10TCL_VERTEX_BUFFER_BEGIN_END_TRIANGLES					0x00000005
-#define   NV10TCL_VERTEX_BUFFER_BEGIN_END_TRIANGLE_STRIP				0x00000006
-#define   NV10TCL_VERTEX_BUFFER_BEGIN_END_TRIANGLE_FAN					0x00000007
-#define   NV10TCL_VERTEX_BUFFER_BEGIN_END_QUADS						0x00000008
-#define   NV10TCL_VERTEX_BUFFER_BEGIN_END_QUAD_STRIP					0x00000009
-#define   NV10TCL_VERTEX_BUFFER_BEGIN_END_POLYGON					0x0000000a
-#define  NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS						0x00001400
-#define   NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_SHIFT					0
-#define   NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_MASK					0x0000ffff
-#define   NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_LAST_SHIFT					24
-#define   NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_LAST_MASK					0xff000000
-#define  NV10TCL_VERTEX_ARRAY_DATA							0x00001800
-
-
-#define NV11TCL										0x00000096
-
-#define  NV11TCL_COLOR_LOGIC_OP_ENABLE							0x00000d40
-#define  NV11TCL_COLOR_LOGIC_OP_OP							0x00000d44
-#define   NV11TCL_COLOR_LOGIC_OP_OP_CLEAR						0x00001500
-#define   NV11TCL_COLOR_LOGIC_OP_OP_AND							0x00001501
-#define   NV11TCL_COLOR_LOGIC_OP_OP_AND_REVERSE						0x00001502
-#define   NV11TCL_COLOR_LOGIC_OP_OP_COPY						0x00001503
-#define   NV11TCL_COLOR_LOGIC_OP_OP_AND_INVERTED					0x00001504
-#define   NV11TCL_COLOR_LOGIC_OP_OP_NOOP						0x00001505
-#define   NV11TCL_COLOR_LOGIC_OP_OP_XOR							0x00001506
-#define   NV11TCL_COLOR_LOGIC_OP_OP_OR							0x00001507
-#define   NV11TCL_COLOR_LOGIC_OP_OP_NOR							0x00001508
-#define   NV11TCL_COLOR_LOGIC_OP_OP_EQUIV						0x00001509
-#define   NV11TCL_COLOR_LOGIC_OP_OP_INVERT						0x0000150a
-#define   NV11TCL_COLOR_LOGIC_OP_OP_OR_REVERSE						0x0000150b
-#define   NV11TCL_COLOR_LOGIC_OP_OP_COPY_INVERTED					0x0000150c
-#define   NV11TCL_COLOR_LOGIC_OP_OP_OR_INVERTED						0x0000150d
-#define   NV11TCL_COLOR_LOGIC_OP_OP_NAND						0x0000150e
-#define   NV11TCL_COLOR_LOGIC_OP_OP_SET							0x0000150f
-
-
-#define NV17TCL										0x00000099
-
-#define  NV17TCL_DMA_IN_MEMORY4								0x000001ac
-#define  NV17TCL_DMA_IN_MEMORY5								0x000001b0
-#define  NV17TCL_COLOR_MASK_ENABLE							0x000002bc
-#define  NV17TCL_LMA_DEPTH_BUFFER_PITCH							0x00000d5c
-#define  NV17TCL_LMA_DEPTH_BUFFER_OFFSET						0x00000d60
-#define  NV17TCL_LMA_DEPTH_FILL_VALUE							0x00000d68
-#define  NV17TCL_LMA_DEPTH_BUFFER_CLEAR							0x00000d6c
-#define  NV17TCL_LMA_DEPTH_WINDOW_X							0x00001638
-#define  NV17TCL_LMA_DEPTH_WINDOW_Y							0x0000163c
-#define  NV17TCL_LMA_DEPTH_WINDOW_Z							0x00001640
-#define  NV17TCL_LMA_DEPTH_WINDOW_W							0x00001644
-#define  NV17TCL_LMA_DEPTH_ENABLE							0x00001658
-
-
-#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_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_KEY						0x00000188
-#define  NV04_INDEXED_IMAGE_FROM_CPU_CLIP_RECTANGLE					0x0000018c
-#define  NV04_INDEXED_IMAGE_FROM_CPU_PATTERN						0x00000190
-#define  NV04_INDEXED_IMAGE_FROM_CPU_ROP						0x00000194
-#define  NV04_INDEXED_IMAGE_FROM_CPU_BETA1						0x00000198
-#define  NV04_INDEXED_IMAGE_FROM_CPU_BETA4						0x0000019c
-#define  NV04_INDEXED_IMAGE_FROM_CPU_SURFACE						0x000001a0
-#define  NV04_INDEXED_IMAGE_FROM_CPU_OPERATION						0x000003e4
-#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(x)						(0x00000400+((x)*4))
-#define  NV04_INDEXED_IMAGE_FROM_CPU_COLOR__SIZE					0x00000700
-
-
-#define NV05_INDEXED_IMAGE_FROM_CPU							0x00000064
-
-#define  NV05_INDEXED_IMAGE_FROM_CPU_COLOR_CONVERSION					0x000003e0
-
-
-#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 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 NV30_TEXTURE_FROM_CPU								0x0000037b
-
-
-
-#define NV40_TEXTURE_FROM_CPU								0x0000307b
-
-
-
-#define NV10_VIDEO_DISPLAY								0x0000007c
-
-
-
-#define NV20TCL										0x00000097
-
-#define  NV20TCL_NOP									0x00000100
-#define  NV20TCL_NOTIFY									0x00000104
-#define  NV20TCL_DMA_NOTIFY								0x00000180
-#define  NV20TCL_DMA_TEXTURE0								0x00000184
-#define  NV20TCL_DMA_TEXTURE1								0x00000188
-#define  NV20TCL_DMA_COLOR								0x00000194
-#define  NV20TCL_DMA_ZETA								0x00000198
-#define  NV20TCL_DMA_VTXBUF0								0x0000019c
-#define  NV20TCL_DMA_VTXBUF1								0x000001a0
-#define  NV20TCL_DMA_FENCE								0x000001a4
-#define  NV20TCL_DMA_QUERY								0x000001a8
-#define  NV20TCL_RT_HORIZ								0x00000200
-#define   NV20TCL_RT_HORIZ_X_SHIFT							0
-#define   NV20TCL_RT_HORIZ_X_MASK							0x0000ffff
-#define   NV20TCL_RT_HORIZ_W_SHIFT							16
-#define   NV20TCL_RT_HORIZ_W_MASK							0xffff0000
-#define  NV20TCL_RT_VERT								0x00000204
-#define   NV20TCL_RT_VERT_Y_SHIFT							0
-#define   NV20TCL_RT_VERT_Y_MASK							0x0000ffff
-#define   NV20TCL_RT_VERT_H_SHIFT							16
-#define   NV20TCL_RT_VERT_H_MASK							0xffff0000
-#define  NV20TCL_RT_FORMAT								0x00000208
-#define   NV20TCL_RT_FORMAT_TYPE_SHIFT							8
-#define   NV20TCL_RT_FORMAT_TYPE_MASK							0x00000f00
-#define    NV20TCL_RT_FORMAT_TYPE_LINEAR						0x00000100
-#define    NV20TCL_RT_FORMAT_TYPE_SWIZZLED						0x00000200
-#define   NV20TCL_RT_FORMAT_COLOR_SHIFT							0
-#define   NV20TCL_RT_FORMAT_COLOR_MASK							0x0000001f
-#define    NV20TCL_RT_FORMAT_COLOR_R5G6B5						0x00000003
-#define    NV20TCL_RT_FORMAT_COLOR_X8R8G8B8						0x00000005
-#define    NV20TCL_RT_FORMAT_COLOR_A8R8G8B8						0x00000008
-#define    NV20TCL_RT_FORMAT_COLOR_B8							0x00000009
-#define    NV20TCL_RT_FORMAT_COLOR_UNKNOWN						0x0000000d
-#define    NV20TCL_RT_FORMAT_COLOR_X8B8G8R8						0x0000000f
-#define    NV20TCL_RT_FORMAT_COLOR_A8B8G8R8						0x00000010
-#define  NV20TCL_RT_PITCH								0x0000020c
-#define   NV20TCL_RT_PITCH_COLOR_PITCH_SHIFT						0
-#define   NV20TCL_RT_PITCH_COLOR_PITCH_MASK						0x0000ffff
-#define   NV20TCL_RT_PITCH_ZETA_PITCH_SHIFT						16
-#define   NV20TCL_RT_PITCH_ZETA_PITCH_MASK						0xffff0000
-#define  NV20TCL_COLOR_OFFSET								0x00000210
-#define  NV20TCL_ZETA_OFFSET								0x00000214
-#define  NV20TCL_RC_IN_ALPHA(x)								(0x00000260+((x)*4))
-#define  NV20TCL_RC_IN_ALPHA__SIZE							0x00000008
-#define   NV20TCL_RC_IN_ALPHA_D_INPUT_SHIFT						0
-#define   NV20TCL_RC_IN_ALPHA_D_INPUT_MASK						0x0000000f
-#define    NV20TCL_RC_IN_ALPHA_D_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0					0x00000001
-#define    NV20TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1					0x00000002
-#define    NV20TCL_RC_IN_ALPHA_D_INPUT_FOG						0x00000003
-#define    NV20TCL_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR					0x00000004
-#define    NV20TCL_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR					0x00000005
-#define    NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE0						0x00000008
-#define    NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE1						0x00000009
-#define    NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE0						0x0000000c
-#define    NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE1						0x0000000d
-#define    NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV20TCL_RC_IN_ALPHA_D_INPUT_E_TIMES_F					0x0000000f
-#define    NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE2						0x0000000a
-#define    NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE3						0x0000000b
-#define   NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE						(1 <<  4)
-#define    NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE					0x00000000
-#define    NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA					0x00000010
-#define   NV20TCL_RC_IN_ALPHA_D_MAPPING_SHIFT						5
-#define   NV20TCL_RC_IN_ALPHA_D_MAPPING_MASK						0x000000e0
-#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT				0x00000020
-#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL					0x00000040
-#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE					0x00000060
-#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL				0x00000080
-#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE				0x000000a0
-#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY				0x000000c0
-#define    NV20TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE					0x000000e0
-#define   NV20TCL_RC_IN_ALPHA_C_INPUT_SHIFT						8
-#define   NV20TCL_RC_IN_ALPHA_C_INPUT_MASK						0x00000f00
-#define    NV20TCL_RC_IN_ALPHA_C_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0					0x00000100
-#define    NV20TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1					0x00000200
-#define    NV20TCL_RC_IN_ALPHA_C_INPUT_FOG						0x00000300
-#define    NV20TCL_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR					0x00000400
-#define    NV20TCL_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR					0x00000500
-#define    NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE0						0x00000800
-#define    NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE1						0x00000900
-#define    NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE0						0x00000c00
-#define    NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE1						0x00000d00
-#define    NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV20TCL_RC_IN_ALPHA_C_INPUT_E_TIMES_F					0x00000f00
-#define    NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE2						0x00000a00
-#define    NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE3						0x00000b00
-#define   NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE						(1 << 12)
-#define    NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE					0x00000000
-#define    NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA					0x00001000
-#define   NV20TCL_RC_IN_ALPHA_C_MAPPING_SHIFT						13
-#define   NV20TCL_RC_IN_ALPHA_C_MAPPING_MASK						0x0000e000
-#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT				0x00002000
-#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL					0x00004000
-#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE					0x00006000
-#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL				0x00008000
-#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE				0x0000a000
-#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY				0x0000c000
-#define    NV20TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE					0x0000e000
-#define   NV20TCL_RC_IN_ALPHA_B_INPUT_SHIFT						16
-#define   NV20TCL_RC_IN_ALPHA_B_INPUT_MASK						0x000f0000
-#define    NV20TCL_RC_IN_ALPHA_B_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0					0x00010000
-#define    NV20TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1					0x00020000
-#define    NV20TCL_RC_IN_ALPHA_B_INPUT_FOG						0x00030000
-#define    NV20TCL_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR					0x00040000
-#define    NV20TCL_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR					0x00050000
-#define    NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE0						0x00080000
-#define    NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE1						0x00090000
-#define    NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE0						0x000c0000
-#define    NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE1						0x000d0000
-#define    NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000e0000
-#define    NV20TCL_RC_IN_ALPHA_B_INPUT_E_TIMES_F					0x000f0000
-#define    NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE2						0x000a0000
-#define    NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE3						0x000b0000
-#define   NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE						(1 << 20)
-#define    NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE					0x00000000
-#define    NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA					0x00100000
-#define   NV20TCL_RC_IN_ALPHA_B_MAPPING_SHIFT						21
-#define   NV20TCL_RC_IN_ALPHA_B_MAPPING_MASK						0x00e00000
-#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT				0x00200000
-#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL					0x00400000
-#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE					0x00600000
-#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL				0x00800000
-#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE				0x00a00000
-#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY				0x00c00000
-#define    NV20TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE					0x00e00000
-#define   NV20TCL_RC_IN_ALPHA_A_INPUT_SHIFT						24
-#define   NV20TCL_RC_IN_ALPHA_A_INPUT_MASK						0x0f000000
-#define    NV20TCL_RC_IN_ALPHA_A_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0					0x01000000
-#define    NV20TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1					0x02000000
-#define    NV20TCL_RC_IN_ALPHA_A_INPUT_FOG						0x03000000
-#define    NV20TCL_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR					0x04000000
-#define    NV20TCL_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR					0x05000000
-#define    NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE0						0x08000000
-#define    NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE1						0x09000000
-#define    NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE0						0x0c000000
-#define    NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE1						0x0d000000
-#define    NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0e000000
-#define    NV20TCL_RC_IN_ALPHA_A_INPUT_E_TIMES_F					0x0f000000
-#define    NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE2						0x0a000000
-#define    NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE3						0x0b000000
-#define   NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE						(1 << 28)
-#define    NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE					0x00000000
-#define    NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA					0x10000000
-#define   NV20TCL_RC_IN_ALPHA_A_MAPPING_SHIFT						29
-#define   NV20TCL_RC_IN_ALPHA_A_MAPPING_MASK						0xe0000000
-#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT				0x20000000
-#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL					0x40000000
-#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE					0x60000000
-#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL				0x80000000
-#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE				0xa0000000
-#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY				0xc0000000
-#define    NV20TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE					0xe0000000
-#define  NV20TCL_RC_FINAL0								0x00000288
-#define   NV20TCL_RC_FINAL0_D_INPUT_SHIFT						0
-#define   NV20TCL_RC_FINAL0_D_INPUT_MASK						0x0000000f
-#define    NV20TCL_RC_FINAL0_D_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR0					0x00000001
-#define    NV20TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR1					0x00000002
-#define    NV20TCL_RC_FINAL0_D_INPUT_FOG						0x00000003
-#define    NV20TCL_RC_FINAL0_D_INPUT_PRIMARY_COLOR					0x00000004
-#define    NV20TCL_RC_FINAL0_D_INPUT_SECONDARY_COLOR					0x00000005
-#define    NV20TCL_RC_FINAL0_D_INPUT_TEXTURE0						0x00000008
-#define    NV20TCL_RC_FINAL0_D_INPUT_TEXTURE1						0x00000009
-#define    NV20TCL_RC_FINAL0_D_INPUT_SPARE0						0x0000000c
-#define    NV20TCL_RC_FINAL0_D_INPUT_SPARE1						0x0000000d
-#define    NV20TCL_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV20TCL_RC_FINAL0_D_INPUT_E_TIMES_F						0x0000000f
-#define    NV20TCL_RC_FINAL0_D_INPUT_TEXTURE2						0x0000000a
-#define    NV20TCL_RC_FINAL0_D_INPUT_TEXTURE3						0x0000000b
-#define   NV20TCL_RC_FINAL0_D_COMPONENT_USAGE						(1 <<  4)
-#define    NV20TCL_RC_FINAL0_D_COMPONENT_USAGE_RGB					0x00000000
-#define    NV20TCL_RC_FINAL0_D_COMPONENT_USAGE_ALPHA					0x00000010
-#define   NV20TCL_RC_FINAL0_D_MAPPING_SHIFT						5
-#define   NV20TCL_RC_FINAL0_D_MAPPING_MASK						0x000000e0
-#define    NV20TCL_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT					0x00000020
-#define    NV20TCL_RC_FINAL0_D_MAPPING_EXPAND_NORMAL					0x00000040
-#define    NV20TCL_RC_FINAL0_D_MAPPING_EXPAND_NEGATE					0x00000060
-#define    NV20TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL					0x00000080
-#define    NV20TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE					0x000000a0
-#define    NV20TCL_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY					0x000000c0
-#define    NV20TCL_RC_FINAL0_D_MAPPING_SIGNED_NEGATE					0x000000e0
-#define   NV20TCL_RC_FINAL0_C_INPUT_SHIFT						8
-#define   NV20TCL_RC_FINAL0_C_INPUT_MASK						0x00000f00
-#define    NV20TCL_RC_FINAL0_C_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR0					0x00000100
-#define    NV20TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR1					0x00000200
-#define    NV20TCL_RC_FINAL0_C_INPUT_FOG						0x00000300
-#define    NV20TCL_RC_FINAL0_C_INPUT_PRIMARY_COLOR					0x00000400
-#define    NV20TCL_RC_FINAL0_C_INPUT_SECONDARY_COLOR					0x00000500
-#define    NV20TCL_RC_FINAL0_C_INPUT_TEXTURE0						0x00000800
-#define    NV20TCL_RC_FINAL0_C_INPUT_TEXTURE1						0x00000900
-#define    NV20TCL_RC_FINAL0_C_INPUT_SPARE0						0x00000c00
-#define    NV20TCL_RC_FINAL0_C_INPUT_SPARE1						0x00000d00
-#define    NV20TCL_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV20TCL_RC_FINAL0_C_INPUT_E_TIMES_F						0x00000f00
-#define    NV20TCL_RC_FINAL0_C_INPUT_TEXTURE2						0x00000a00
-#define    NV20TCL_RC_FINAL0_C_INPUT_TEXTURE3						0x00000b00
-#define   NV20TCL_RC_FINAL0_C_COMPONENT_USAGE						(1 << 12)
-#define    NV20TCL_RC_FINAL0_C_COMPONENT_USAGE_RGB					0x00000000
-#define    NV20TCL_RC_FINAL0_C_COMPONENT_USAGE_ALPHA					0x00001000
-#define   NV20TCL_RC_FINAL0_C_MAPPING_SHIFT						13
-#define   NV20TCL_RC_FINAL0_C_MAPPING_MASK						0x0000e000
-#define    NV20TCL_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT					0x00002000
-#define    NV20TCL_RC_FINAL0_C_MAPPING_EXPAND_NORMAL					0x00004000
-#define    NV20TCL_RC_FINAL0_C_MAPPING_EXPAND_NEGATE					0x00006000
-#define    NV20TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL					0x00008000
-#define    NV20TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE					0x0000a000
-#define    NV20TCL_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY					0x0000c000
-#define    NV20TCL_RC_FINAL0_C_MAPPING_SIGNED_NEGATE					0x0000e000
-#define   NV20TCL_RC_FINAL0_B_INPUT_SHIFT						16
-#define   NV20TCL_RC_FINAL0_B_INPUT_MASK						0x000f0000
-#define    NV20TCL_RC_FINAL0_B_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR0					0x00010000
-#define    NV20TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR1					0x00020000
-#define    NV20TCL_RC_FINAL0_B_INPUT_FOG						0x00030000
-#define    NV20TCL_RC_FINAL0_B_INPUT_PRIMARY_COLOR					0x00040000
-#define    NV20TCL_RC_FINAL0_B_INPUT_SECONDARY_COLOR					0x00050000
-#define    NV20TCL_RC_FINAL0_B_INPUT_TEXTURE0						0x00080000
-#define    NV20TCL_RC_FINAL0_B_INPUT_TEXTURE1						0x00090000
-#define    NV20TCL_RC_FINAL0_B_INPUT_SPARE0						0x000c0000
-#define    NV20TCL_RC_FINAL0_B_INPUT_SPARE1						0x000d0000
-#define    NV20TCL_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000e0000
-#define    NV20TCL_RC_FINAL0_B_INPUT_E_TIMES_F						0x000f0000
-#define    NV20TCL_RC_FINAL0_B_INPUT_TEXTURE2						0x000a0000
-#define    NV20TCL_RC_FINAL0_B_INPUT_TEXTURE3						0x000b0000
-#define   NV20TCL_RC_FINAL0_B_COMPONENT_USAGE						(1 << 20)
-#define    NV20TCL_RC_FINAL0_B_COMPONENT_USAGE_RGB					0x00000000
-#define    NV20TCL_RC_FINAL0_B_COMPONENT_USAGE_ALPHA					0x00100000
-#define   NV20TCL_RC_FINAL0_B_MAPPING_SHIFT						21
-#define   NV20TCL_RC_FINAL0_B_MAPPING_MASK						0x00e00000
-#define    NV20TCL_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT					0x00200000
-#define    NV20TCL_RC_FINAL0_B_MAPPING_EXPAND_NORMAL					0x00400000
-#define    NV20TCL_RC_FINAL0_B_MAPPING_EXPAND_NEGATE					0x00600000
-#define    NV20TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL					0x00800000
-#define    NV20TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE					0x00a00000
-#define    NV20TCL_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY					0x00c00000
-#define    NV20TCL_RC_FINAL0_B_MAPPING_SIGNED_NEGATE					0x00e00000
-#define   NV20TCL_RC_FINAL0_A_INPUT_SHIFT						24
-#define   NV20TCL_RC_FINAL0_A_INPUT_MASK						0x0f000000
-#define    NV20TCL_RC_FINAL0_A_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR0					0x01000000
-#define    NV20TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR1					0x02000000
-#define    NV20TCL_RC_FINAL0_A_INPUT_FOG						0x03000000
-#define    NV20TCL_RC_FINAL0_A_INPUT_PRIMARY_COLOR					0x04000000
-#define    NV20TCL_RC_FINAL0_A_INPUT_SECONDARY_COLOR					0x05000000
-#define    NV20TCL_RC_FINAL0_A_INPUT_TEXTURE0						0x08000000
-#define    NV20TCL_RC_FINAL0_A_INPUT_TEXTURE1						0x09000000
-#define    NV20TCL_RC_FINAL0_A_INPUT_SPARE0						0x0c000000
-#define    NV20TCL_RC_FINAL0_A_INPUT_SPARE1						0x0d000000
-#define    NV20TCL_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0e000000
-#define    NV20TCL_RC_FINAL0_A_INPUT_E_TIMES_F						0x0f000000
-#define    NV20TCL_RC_FINAL0_A_INPUT_TEXTURE2						0x0a000000
-#define    NV20TCL_RC_FINAL0_A_INPUT_TEXTURE3						0x0b000000
-#define   NV20TCL_RC_FINAL0_A_COMPONENT_USAGE						(1 << 28)
-#define    NV20TCL_RC_FINAL0_A_COMPONENT_USAGE_RGB					0x00000000
-#define    NV20TCL_RC_FINAL0_A_COMPONENT_USAGE_ALPHA					0x10000000
-#define   NV20TCL_RC_FINAL0_A_MAPPING_SHIFT						29
-#define   NV20TCL_RC_FINAL0_A_MAPPING_MASK						0xe0000000
-#define    NV20TCL_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT					0x20000000
-#define    NV20TCL_RC_FINAL0_A_MAPPING_EXPAND_NORMAL					0x40000000
-#define    NV20TCL_RC_FINAL0_A_MAPPING_EXPAND_NEGATE					0x60000000
-#define    NV20TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL					0x80000000
-#define    NV20TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE					0xa0000000
-#define    NV20TCL_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY					0xc0000000
-#define    NV20TCL_RC_FINAL0_A_MAPPING_SIGNED_NEGATE					0xe0000000
-#define  NV20TCL_RC_FINAL1								0x0000028c
-#define   NV20TCL_RC_FINAL1_COLOR_SUM_CLAMP						(1 <<  7)
-#define   NV20TCL_RC_FINAL1_G_INPUT_SHIFT						8
-#define   NV20TCL_RC_FINAL1_G_INPUT_MASK						0x00000f00
-#define    NV20TCL_RC_FINAL1_G_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR0					0x00000100
-#define    NV20TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR1					0x00000200
-#define    NV20TCL_RC_FINAL1_G_INPUT_FOG						0x00000300
-#define    NV20TCL_RC_FINAL1_G_INPUT_PRIMARY_COLOR					0x00000400
-#define    NV20TCL_RC_FINAL1_G_INPUT_SECONDARY_COLOR					0x00000500
-#define    NV20TCL_RC_FINAL1_G_INPUT_TEXTURE0						0x00000800
-#define    NV20TCL_RC_FINAL1_G_INPUT_TEXTURE1						0x00000900
-#define    NV20TCL_RC_FINAL1_G_INPUT_SPARE0						0x00000c00
-#define    NV20TCL_RC_FINAL1_G_INPUT_SPARE1						0x00000d00
-#define    NV20TCL_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV20TCL_RC_FINAL1_G_INPUT_E_TIMES_F						0x00000f00
-#define    NV20TCL_RC_FINAL1_G_INPUT_TEXTURE2						0x00000a00
-#define    NV20TCL_RC_FINAL1_G_INPUT_TEXTURE3						0x00000b00
-#define   NV20TCL_RC_FINAL1_G_COMPONENT_USAGE						(1 << 12)
-#define    NV20TCL_RC_FINAL1_G_COMPONENT_USAGE_RGB					0x00000000
-#define    NV20TCL_RC_FINAL1_G_COMPONENT_USAGE_ALPHA					0x00001000
-#define   NV20TCL_RC_FINAL1_G_MAPPING_SHIFT						13
-#define   NV20TCL_RC_FINAL1_G_MAPPING_MASK						0x0000e000
-#define    NV20TCL_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT					0x00002000
-#define    NV20TCL_RC_FINAL1_G_MAPPING_EXPAND_NORMAL					0x00004000
-#define    NV20TCL_RC_FINAL1_G_MAPPING_EXPAND_NEGATE					0x00006000
-#define    NV20TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL					0x00008000
-#define    NV20TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE					0x0000a000
-#define    NV20TCL_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY					0x0000c000
-#define    NV20TCL_RC_FINAL1_G_MAPPING_SIGNED_NEGATE					0x0000e000
-#define   NV20TCL_RC_FINAL1_F_INPUT_SHIFT						16
-#define   NV20TCL_RC_FINAL1_F_INPUT_MASK						0x000f0000
-#define    NV20TCL_RC_FINAL1_F_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR0					0x00010000
-#define    NV20TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR1					0x00020000
-#define    NV20TCL_RC_FINAL1_F_INPUT_FOG						0x00030000
-#define    NV20TCL_RC_FINAL1_F_INPUT_PRIMARY_COLOR					0x00040000
-#define    NV20TCL_RC_FINAL1_F_INPUT_SECONDARY_COLOR					0x00050000
-#define    NV20TCL_RC_FINAL1_F_INPUT_TEXTURE0						0x00080000
-#define    NV20TCL_RC_FINAL1_F_INPUT_TEXTURE1						0x00090000
-#define    NV20TCL_RC_FINAL1_F_INPUT_SPARE0						0x000c0000
-#define    NV20TCL_RC_FINAL1_F_INPUT_SPARE1						0x000d0000
-#define    NV20TCL_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000e0000
-#define    NV20TCL_RC_FINAL1_F_INPUT_E_TIMES_F						0x000f0000
-#define    NV20TCL_RC_FINAL1_F_INPUT_TEXTURE2						0x000a0000
-#define    NV20TCL_RC_FINAL1_F_INPUT_TEXTURE3						0x000b0000
-#define   NV20TCL_RC_FINAL1_F_COMPONENT_USAGE						(1 << 20)
-#define    NV20TCL_RC_FINAL1_F_COMPONENT_USAGE_RGB					0x00000000
-#define    NV20TCL_RC_FINAL1_F_COMPONENT_USAGE_ALPHA					0x00100000
-#define   NV20TCL_RC_FINAL1_F_MAPPING_SHIFT						21
-#define   NV20TCL_RC_FINAL1_F_MAPPING_MASK						0x00e00000
-#define    NV20TCL_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT					0x00200000
-#define    NV20TCL_RC_FINAL1_F_MAPPING_EXPAND_NORMAL					0x00400000
-#define    NV20TCL_RC_FINAL1_F_MAPPING_EXPAND_NEGATE					0x00600000
-#define    NV20TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL					0x00800000
-#define    NV20TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE					0x00a00000
-#define    NV20TCL_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY					0x00c00000
-#define    NV20TCL_RC_FINAL1_F_MAPPING_SIGNED_NEGATE					0x00e00000
-#define   NV20TCL_RC_FINAL1_E_INPUT_SHIFT						24
-#define   NV20TCL_RC_FINAL1_E_INPUT_MASK						0x0f000000
-#define    NV20TCL_RC_FINAL1_E_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR0					0x01000000
-#define    NV20TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR1					0x02000000
-#define    NV20TCL_RC_FINAL1_E_INPUT_FOG						0x03000000
-#define    NV20TCL_RC_FINAL1_E_INPUT_PRIMARY_COLOR					0x04000000
-#define    NV20TCL_RC_FINAL1_E_INPUT_SECONDARY_COLOR					0x05000000
-#define    NV20TCL_RC_FINAL1_E_INPUT_TEXTURE0						0x08000000
-#define    NV20TCL_RC_FINAL1_E_INPUT_TEXTURE1						0x09000000
-#define    NV20TCL_RC_FINAL1_E_INPUT_SPARE0						0x0c000000
-#define    NV20TCL_RC_FINAL1_E_INPUT_SPARE1						0x0d000000
-#define    NV20TCL_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0e000000
-#define    NV20TCL_RC_FINAL1_E_INPUT_E_TIMES_F						0x0f000000
-#define    NV20TCL_RC_FINAL1_E_INPUT_TEXTURE2						0x0a000000
-#define    NV20TCL_RC_FINAL1_E_INPUT_TEXTURE3						0x0b000000
-#define   NV20TCL_RC_FINAL1_E_COMPONENT_USAGE						(1 << 28)
-#define    NV20TCL_RC_FINAL1_E_COMPONENT_USAGE_RGB					0x00000000
-#define    NV20TCL_RC_FINAL1_E_COMPONENT_USAGE_ALPHA					0x10000000
-#define   NV20TCL_RC_FINAL1_E_MAPPING_SHIFT						29
-#define   NV20TCL_RC_FINAL1_E_MAPPING_MASK						0xe0000000
-#define    NV20TCL_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT					0x20000000
-#define    NV20TCL_RC_FINAL1_E_MAPPING_EXPAND_NORMAL					0x40000000
-#define    NV20TCL_RC_FINAL1_E_MAPPING_EXPAND_NEGATE					0x60000000
-#define    NV20TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL					0x80000000
-#define    NV20TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE					0xa0000000
-#define    NV20TCL_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY					0xc0000000
-#define    NV20TCL_RC_FINAL1_E_MAPPING_SIGNED_NEGATE					0xe0000000
-#define  NV20TCL_LIGHT_MODEL								0x00000294
-#define   NV20TCL_LIGHT_MODEL_VIEWER_SHIFT						16
-#define   NV20TCL_LIGHT_MODEL_VIEWER_MASK						0x00030000
-#define    NV20TCL_LIGHT_MODEL_VIEWER_NONLOCAL						0x00020000
-#define    NV20TCL_LIGHT_MODEL_VIEWER_LOCAL						0x00030000
-#define   NV20TCL_LIGHT_MODEL_SEPARATE_SPECULAR						(1 <<  0)
-#define  NV20TCL_COLOR_MATERIAL								0x00000298
-#define   NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_SHIFT					0
-#define   NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_MASK					0x00000003
-#define    NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_OFF					0x00000000
-#define    NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_COL1					0x00000001
-#define    NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_COL2					0x00000002
-#define   NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_SHIFT					2
-#define   NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_MASK					0x0000000c
-#define    NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_OFF					0x00000000
-#define    NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_COL1					0x00000004
-#define    NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_COL2					0x00000008
-#define   NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_SHIFT					4
-#define   NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_MASK					0x00000030
-#define    NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_OFF					0x00000000
-#define    NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_COL1					0x00000010
-#define    NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_COL2					0x00000020
-#define   NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_SHIFT					6
-#define   NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_MASK					0x000000c0
-#define    NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_OFF					0x00000000
-#define    NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_COL1					0x00000040
-#define    NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_COL2					0x00000080
-#define   NV20TCL_COLOR_MATERIAL_BACK_EMISSION_SHIFT					8
-#define   NV20TCL_COLOR_MATERIAL_BACK_EMISSION_MASK					0x00000300
-#define    NV20TCL_COLOR_MATERIAL_BACK_EMISSION_OFF					0x00000000
-#define    NV20TCL_COLOR_MATERIAL_BACK_EMISSION_COL1					0x00000100
-#define    NV20TCL_COLOR_MATERIAL_BACK_EMISSION_COL2					0x00000200
-#define   NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_SHIFT					10
-#define   NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_MASK					0x00000c00
-#define    NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_OFF					0x00000000
-#define    NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_COL1					0x00000400
-#define    NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_COL2					0x00000800
-#define   NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_SHIFT					12
-#define   NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_MASK					0x00003000
-#define    NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_OFF					0x00000000
-#define    NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_COL1					0x00001000
-#define    NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_COL2					0x00002000
-#define   NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_SHIFT					14
-#define   NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_MASK					0x0000c000
-#define    NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_OFF					0x00000000
-#define    NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_COL1					0x00004000
-#define    NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_COL2					0x00008000
-#define  NV20TCL_FOG_MODE								0x0000029c
-#define   NV20TCL_FOG_MODE_LINEAR_UNSIGNED						0x00000804
-#define   NV20TCL_FOG_MODE_LINEAR_SIGNED						0x00002601
-#define   NV20TCL_FOG_MODE_EXP_UNSIGNED							0x00000802
-#define   NV20TCL_FOG_MODE_EXP_SIGNED							0x00000800
-#define   NV20TCL_FOG_MODE_EXP2_UNSIGNED						0x00000803
-#define   NV20TCL_FOG_MODE_EXP2_SIGNED							0x00000801
-#define  NV20TCL_FOG_COORD								0x000002a0
-#define   NV20TCL_FOG_COORD_DIST_RADIAL							0x00000001
-#define   NV20TCL_FOG_COORD_DIST_ORTHOGONAL						0x00000002
-#define   NV20TCL_FOG_COORD_DIST_ORTHOGONAL_ABS						0x00000003
-#define   NV20TCL_FOG_COORD_FOG								0x00000006
-#define  NV20TCL_FOG_ENABLE								0x000002a4
-#define  NV20TCL_FOG_COLOR								0x000002a8
-#define   NV20TCL_FOG_COLOR_R_SHIFT							0
-#define   NV20TCL_FOG_COLOR_R_MASK							0x000000ff
-#define   NV20TCL_FOG_COLOR_G_SHIFT							8
-#define   NV20TCL_FOG_COLOR_G_MASK							0x0000ff00
-#define   NV20TCL_FOG_COLOR_B_SHIFT							16
-#define   NV20TCL_FOG_COLOR_B_MASK							0x00ff0000
-#define   NV20TCL_FOG_COLOR_A_SHIFT							24
-#define   NV20TCL_FOG_COLOR_A_MASK							0xff000000
-#define  NV20TCL_VIEWPORT_CLIP_MODE							0x000002b4
-#define  NV20TCL_VIEWPORT_CLIP_HORIZ(x)							(0x000002c0+((x)*4))
-#define  NV20TCL_VIEWPORT_CLIP_HORIZ__SIZE						0x00000008
-#define  NV20TCL_VIEWPORT_CLIP_VERT(x)							(0x000002e0+((x)*4))
-#define  NV20TCL_VIEWPORT_CLIP_VERT__SIZE						0x00000008
-#define  NV20TCL_ALPHA_FUNC_ENABLE							0x00000300
-#define  NV20TCL_BLEND_FUNC_ENABLE							0x00000304
-#define  NV20TCL_CULL_FACE_ENABLE							0x00000308
-#define  NV20TCL_DEPTH_TEST_ENABLE							0x0000030c
-#define  NV20TCL_DITHER_ENABLE								0x00000310
-#define  NV20TCL_LIGHTING_ENABLE							0x00000314
-#define  NV20TCL_POINT_PARAMETERS_ENABLE						0x00000318
-#define  NV20TCL_POINT_SMOOTH_ENABLE							0x0000031c
-#define  NV20TCL_LINE_SMOOTH_ENABLE							0x00000320
-#define  NV20TCL_POLYGON_SMOOTH_ENABLE							0x00000324
-#define  NV20TCL_STENCIL_ENABLE								0x0000032c
-#define  NV20TCL_POLYGON_OFFSET_POINT_ENABLE						0x00000330
-#define  NV20TCL_POLYGON_OFFSET_LINE_ENABLE						0x00000334
-#define  NV20TCL_POLYGON_OFFSET_FILL_ENABLE						0x00000338
-#define  NV20TCL_ALPHA_FUNC_FUNC							0x0000033c
-#define   NV20TCL_ALPHA_FUNC_FUNC_NEVER							0x00000200
-#define   NV20TCL_ALPHA_FUNC_FUNC_LESS							0x00000201
-#define   NV20TCL_ALPHA_FUNC_FUNC_EQUAL							0x00000202
-#define   NV20TCL_ALPHA_FUNC_FUNC_LEQUAL						0x00000203
-#define   NV20TCL_ALPHA_FUNC_FUNC_GREATER						0x00000204
-#define   NV20TCL_ALPHA_FUNC_FUNC_NOTEQUAL						0x00000205
-#define   NV20TCL_ALPHA_FUNC_FUNC_GEQUAL						0x00000206
-#define   NV20TCL_ALPHA_FUNC_FUNC_ALWAYS						0x00000207
-#define  NV20TCL_ALPHA_FUNC_REF								0x00000340
-#define  NV20TCL_BLEND_FUNC_SRC								0x00000344
-#define   NV20TCL_BLEND_FUNC_SRC_ZERO							0x00000000
-#define   NV20TCL_BLEND_FUNC_SRC_ONE							0x00000001
-#define   NV20TCL_BLEND_FUNC_SRC_SRC_COLOR						0x00000300
-#define   NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR					0x00000301
-#define   NV20TCL_BLEND_FUNC_SRC_SRC_ALPHA						0x00000302
-#define   NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA					0x00000303
-#define   NV20TCL_BLEND_FUNC_SRC_DST_ALPHA						0x00000304
-#define   NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA					0x00000305
-#define   NV20TCL_BLEND_FUNC_SRC_DST_COLOR						0x00000306
-#define   NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR					0x00000307
-#define   NV20TCL_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE					0x00000308
-#define   NV20TCL_BLEND_FUNC_SRC_CONSTANT_COLOR						0x00008001
-#define   NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR				0x00008002
-#define   NV20TCL_BLEND_FUNC_SRC_CONSTANT_ALPHA						0x00008003
-#define   NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA				0x00008004
-#define  NV20TCL_BLEND_FUNC_DST								0x00000348
-#define   NV20TCL_BLEND_FUNC_DST_ZERO							0x00000000
-#define   NV20TCL_BLEND_FUNC_DST_ONE							0x00000001
-#define   NV20TCL_BLEND_FUNC_DST_SRC_COLOR						0x00000300
-#define   NV20TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR					0x00000301
-#define   NV20TCL_BLEND_FUNC_DST_SRC_ALPHA						0x00000302
-#define   NV20TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA					0x00000303
-#define   NV20TCL_BLEND_FUNC_DST_DST_ALPHA						0x00000304
-#define   NV20TCL_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA					0x00000305
-#define   NV20TCL_BLEND_FUNC_DST_DST_COLOR						0x00000306
-#define   NV20TCL_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR					0x00000307
-#define   NV20TCL_BLEND_FUNC_DST_SRC_ALPHA_SATURATE					0x00000308
-#define   NV20TCL_BLEND_FUNC_DST_CONSTANT_COLOR						0x00008001
-#define   NV20TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR				0x00008002
-#define   NV20TCL_BLEND_FUNC_DST_CONSTANT_ALPHA						0x00008003
-#define   NV20TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA				0x00008004
-#define  NV20TCL_BLEND_COLOR								0x0000034c
-#define   NV20TCL_BLEND_COLOR_B_SHIFT							0
-#define   NV20TCL_BLEND_COLOR_B_MASK							0x000000ff
-#define   NV20TCL_BLEND_COLOR_G_SHIFT							8
-#define   NV20TCL_BLEND_COLOR_G_MASK							0x0000ff00
-#define   NV20TCL_BLEND_COLOR_R_SHIFT							16
-#define   NV20TCL_BLEND_COLOR_R_MASK							0x00ff0000
-#define   NV20TCL_BLEND_COLOR_A_SHIFT							24
-#define   NV20TCL_BLEND_COLOR_A_MASK							0xff000000
-#define  NV20TCL_BLEND_EQUATION								0x00000350
-#define   NV20TCL_BLEND_EQUATION_FUNC_ADD						0x00008006
-#define   NV20TCL_BLEND_EQUATION_MIN							0x00008007
-#define   NV20TCL_BLEND_EQUATION_MAX							0x00008008
-#define   NV20TCL_BLEND_EQUATION_FUNC_SUBTRACT						0x0000800a
-#define   NV20TCL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT					0x0000800b
-#define  NV20TCL_DEPTH_FUNC								0x00000354
-#define   NV20TCL_DEPTH_FUNC_NEVER							0x00000200
-#define   NV20TCL_DEPTH_FUNC_LESS							0x00000201
-#define   NV20TCL_DEPTH_FUNC_EQUAL							0x00000202
-#define   NV20TCL_DEPTH_FUNC_LEQUAL							0x00000203
-#define   NV20TCL_DEPTH_FUNC_GREATER							0x00000204
-#define   NV20TCL_DEPTH_FUNC_NOTEQUAL							0x00000205
-#define   NV20TCL_DEPTH_FUNC_GEQUAL							0x00000206
-#define   NV20TCL_DEPTH_FUNC_ALWAYS							0x00000207
-#define  NV20TCL_COLOR_MASK								0x00000358
-#define   NV20TCL_COLOR_MASK_B								(1 <<  0)
-#define   NV20TCL_COLOR_MASK_G								(1 <<  8)
-#define   NV20TCL_COLOR_MASK_R								(1 << 16)
-#define   NV20TCL_COLOR_MASK_A								(1 << 24)
-#define  NV20TCL_DEPTH_WRITE_ENABLE							0x0000035c
-#define  NV20TCL_STENCIL_MASK								0x00000360
-#define  NV20TCL_STENCIL_FUNC_FUNC							0x00000364
-#define   NV20TCL_STENCIL_FUNC_FUNC_NEVER						0x00000200
-#define   NV20TCL_STENCIL_FUNC_FUNC_LESS						0x00000201
-#define   NV20TCL_STENCIL_FUNC_FUNC_EQUAL						0x00000202
-#define   NV20TCL_STENCIL_FUNC_FUNC_LEQUAL						0x00000203
-#define   NV20TCL_STENCIL_FUNC_FUNC_GREATER						0x00000204
-#define   NV20TCL_STENCIL_FUNC_FUNC_NOTEQUAL						0x00000205
-#define   NV20TCL_STENCIL_FUNC_FUNC_GEQUAL						0x00000206
-#define   NV20TCL_STENCIL_FUNC_FUNC_ALWAYS						0x00000207
-#define  NV20TCL_STENCIL_FUNC_REF							0x00000368
-#define  NV20TCL_STENCIL_FUNC_MASK							0x0000036c
-#define  NV20TCL_STENCIL_OP_FAIL							0x00000370
-#define   NV20TCL_STENCIL_OP_FAIL_ZERO							0x00000000
-#define   NV20TCL_STENCIL_OP_FAIL_INVERT						0x0000150a
-#define   NV20TCL_STENCIL_OP_FAIL_KEEP							0x00001e00
-#define   NV20TCL_STENCIL_OP_FAIL_REPLACE						0x00001e01
-#define   NV20TCL_STENCIL_OP_FAIL_INCR							0x00001e02
-#define   NV20TCL_STENCIL_OP_FAIL_DECR							0x00001e03
-#define   NV20TCL_STENCIL_OP_FAIL_INCR_WRAP						0x00008507
-#define   NV20TCL_STENCIL_OP_FAIL_DECR_WRAP						0x00008508
-#define  NV20TCL_STENCIL_OP_ZFAIL							0x00000374
-#define   NV20TCL_STENCIL_OP_ZFAIL_ZERO							0x00000000
-#define   NV20TCL_STENCIL_OP_ZFAIL_INVERT						0x0000150a
-#define   NV20TCL_STENCIL_OP_ZFAIL_KEEP							0x00001e00
-#define   NV20TCL_STENCIL_OP_ZFAIL_REPLACE						0x00001e01
-#define   NV20TCL_STENCIL_OP_ZFAIL_INCR							0x00001e02
-#define   NV20TCL_STENCIL_OP_ZFAIL_DECR							0x00001e03
-#define   NV20TCL_STENCIL_OP_ZFAIL_INCR_WRAP						0x00008507
-#define   NV20TCL_STENCIL_OP_ZFAIL_DECR_WRAP						0x00008508
-#define  NV20TCL_STENCIL_OP_ZPASS							0x00000378
-#define   NV20TCL_STENCIL_OP_ZPASS_ZERO							0x00000000
-#define   NV20TCL_STENCIL_OP_ZPASS_INVERT						0x0000150a
-#define   NV20TCL_STENCIL_OP_ZPASS_KEEP							0x00001e00
-#define   NV20TCL_STENCIL_OP_ZPASS_REPLACE						0x00001e01
-#define   NV20TCL_STENCIL_OP_ZPASS_INCR							0x00001e02
-#define   NV20TCL_STENCIL_OP_ZPASS_DECR							0x00001e03
-#define   NV20TCL_STENCIL_OP_ZPASS_INCR_WRAP						0x00008507
-#define   NV20TCL_STENCIL_OP_ZPASS_DECR_WRAP						0x00008508
-#define  NV20TCL_SHADE_MODEL								0x0000037c
-#define   NV20TCL_SHADE_MODEL_FLAT							0x00001d00
-#define   NV20TCL_SHADE_MODEL_SMOOTH							0x00001d01
-#define  NV20TCL_LINE_WIDTH								0x00000380
-#define  NV20TCL_POLYGON_OFFSET_FACTOR							0x00000384
-#define  NV20TCL_POLYGON_OFFSET_UNITS							0x00000388
-#define  NV20TCL_POLYGON_MODE_FRONT							0x0000038c
-#define   NV20TCL_POLYGON_MODE_FRONT_POINT						0x00001b00
-#define   NV20TCL_POLYGON_MODE_FRONT_LINE						0x00001b01
-#define   NV20TCL_POLYGON_MODE_FRONT_FILL						0x00001b02
-#define  NV20TCL_POLYGON_MODE_BACK							0x00000390
-#define   NV20TCL_POLYGON_MODE_BACK_POINT						0x00001b00
-#define   NV20TCL_POLYGON_MODE_BACK_LINE						0x00001b01
-#define   NV20TCL_POLYGON_MODE_BACK_FILL						0x00001b02
-#define  NV20TCL_DEPTH_RANGE_NEAR							0x00000394
-#define  NV20TCL_DEPTH_RANGE_FAR							0x00000398
-#define  NV20TCL_CULL_FACE								0x0000039c
-#define   NV20TCL_CULL_FACE_FRONT							0x00000404
-#define   NV20TCL_CULL_FACE_BACK							0x00000405
-#define   NV20TCL_CULL_FACE_FRONT_AND_BACK						0x00000408
-#define  NV20TCL_FRONT_FACE								0x000003a0
-#define   NV20TCL_FRONT_FACE_CW								0x00000900
-#define   NV20TCL_FRONT_FACE_CCW							0x00000901
-#define  NV20TCL_NORMALIZE_ENABLE							0x000003a4
-#define  NV20TCL_MATERIAL_FACTOR_FRONT_R						0x000003a8
-#define  NV20TCL_MATERIAL_FACTOR_FRONT_G						0x000003ac
-#define  NV20TCL_MATERIAL_FACTOR_FRONT_B						0x000003b0
-#define  NV20TCL_MATERIAL_FACTOR_FRONT_A						0x000003b4
-#define  NV20TCL_SEPARATE_SPECULAR_ENABLE						0x000003b8
-#define  NV20TCL_ENABLED_LIGHTS								0x000003bc
-#define   NV20TCL_ENABLED_LIGHTS_0_SHIFT						0
-#define   NV20TCL_ENABLED_LIGHTS_0_MASK							0x00000003
-#define    NV20TCL_ENABLED_LIGHTS_0_DISABLED						0x00000000
-#define    NV20TCL_ENABLED_LIGHTS_0_NONPOSITIONAL					0x00000001
-#define    NV20TCL_ENABLED_LIGHTS_0_POSITIONAL						0x00000002
-#define    NV20TCL_ENABLED_LIGHTS_0_DIRECTIONAL						0x00000003
-#define   NV20TCL_ENABLED_LIGHTS_1_SHIFT						2
-#define   NV20TCL_ENABLED_LIGHTS_1_MASK							0x0000000c
-#define    NV20TCL_ENABLED_LIGHTS_1_DISABLED						0x00000000
-#define    NV20TCL_ENABLED_LIGHTS_1_NONPOSITIONAL					0x00000004
-#define    NV20TCL_ENABLED_LIGHTS_1_POSITIONAL						0x00000008
-#define    NV20TCL_ENABLED_LIGHTS_1_DIRECTIONAL						0x0000000c
-#define   NV20TCL_ENABLED_LIGHTS_2_SHIFT						4
-#define   NV20TCL_ENABLED_LIGHTS_2_MASK							0x00000030
-#define    NV20TCL_ENABLED_LIGHTS_2_DISABLED						0x00000000
-#define    NV20TCL_ENABLED_LIGHTS_2_NONPOSITIONAL					0x00000010
-#define    NV20TCL_ENABLED_LIGHTS_2_POSITIONAL						0x00000020
-#define    NV20TCL_ENABLED_LIGHTS_2_DIRECTIONAL						0x00000030
-#define   NV20TCL_ENABLED_LIGHTS_3_SHIFT						6
-#define   NV20TCL_ENABLED_LIGHTS_3_MASK							0x000000c0
-#define    NV20TCL_ENABLED_LIGHTS_3_DISABLED						0x00000000
-#define    NV20TCL_ENABLED_LIGHTS_3_NONPOSITIONAL					0x00000040
-#define    NV20TCL_ENABLED_LIGHTS_3_POSITIONAL						0x00000080
-#define    NV20TCL_ENABLED_LIGHTS_3_DIRECTIONAL						0x000000c0
-#define   NV20TCL_ENABLED_LIGHTS_4_SHIFT						8
-#define   NV20TCL_ENABLED_LIGHTS_4_MASK							0x00000300
-#define    NV20TCL_ENABLED_LIGHTS_4_DISABLED						0x00000000
-#define    NV20TCL_ENABLED_LIGHTS_4_NONPOSITIONAL					0x00000100
-#define    NV20TCL_ENABLED_LIGHTS_4_POSITIONAL						0x00000200
-#define    NV20TCL_ENABLED_LIGHTS_4_DIRECTIONAL						0x00000300
-#define   NV20TCL_ENABLED_LIGHTS_5_SHIFT						10
-#define   NV20TCL_ENABLED_LIGHTS_5_MASK							0x00000c00
-#define    NV20TCL_ENABLED_LIGHTS_5_DISABLED						0x00000000
-#define    NV20TCL_ENABLED_LIGHTS_5_NONPOSITIONAL					0x00000400
-#define    NV20TCL_ENABLED_LIGHTS_5_POSITIONAL						0x00000800
-#define    NV20TCL_ENABLED_LIGHTS_5_DIRECTIONAL						0x00000c00
-#define   NV20TCL_ENABLED_LIGHTS_6_SHIFT						12
-#define   NV20TCL_ENABLED_LIGHTS_6_MASK							0x00003000
-#define    NV20TCL_ENABLED_LIGHTS_6_DISABLED						0x00000000
-#define    NV20TCL_ENABLED_LIGHTS_6_NONPOSITIONAL					0x00001000
-#define    NV20TCL_ENABLED_LIGHTS_6_POSITIONAL						0x00002000
-#define    NV20TCL_ENABLED_LIGHTS_6_DIRECTIONAL						0x00003000
-#define   NV20TCL_ENABLED_LIGHTS_7_SHIFT						14
-#define   NV20TCL_ENABLED_LIGHTS_7_MASK							0x0000c000
-#define    NV20TCL_ENABLED_LIGHTS_7_DISABLED						0x00000000
-#define    NV20TCL_ENABLED_LIGHTS_7_NONPOSITIONAL					0x00004000
-#define    NV20TCL_ENABLED_LIGHTS_7_POSITIONAL						0x00008000
-#define    NV20TCL_ENABLED_LIGHTS_7_DIRECTIONAL						0x0000c000
-#define  NV20TCL_TX_GEN_MODE_S(x)							(0x000003c0+((x)*16))
-#define  NV20TCL_TX_GEN_MODE_S__SIZE							0x00000004
-#define   NV20TCL_TX_GEN_MODE_S_FALSE							0x00000000
-#define   NV20TCL_TX_GEN_MODE_S_EYE_LINEAR						0x00002400
-#define   NV20TCL_TX_GEN_MODE_S_OBJECT_LINEAR						0x00002401
-#define   NV20TCL_TX_GEN_MODE_S_SPHERE_MAP						0x00002402
-#define   NV20TCL_TX_GEN_MODE_S_NORMAL_MAP						0x00008511
-#define   NV20TCL_TX_GEN_MODE_S_REFLECTION_MAP						0x00008512
-#define  NV20TCL_TX_GEN_MODE_T(x)							(0x000003c4+((x)*16))
-#define  NV20TCL_TX_GEN_MODE_T__SIZE							0x00000004
-#define   NV20TCL_TX_GEN_MODE_T_FALSE							0x00000000
-#define   NV20TCL_TX_GEN_MODE_T_EYE_LINEAR						0x00002400
-#define   NV20TCL_TX_GEN_MODE_T_OBJECT_LINEAR						0x00002401
-#define   NV20TCL_TX_GEN_MODE_T_SPHERE_MAP						0x00002402
-#define   NV20TCL_TX_GEN_MODE_T_NORMAL_MAP						0x00008511
-#define   NV20TCL_TX_GEN_MODE_T_REFLECTION_MAP						0x00008512
-#define  NV20TCL_TX_GEN_MODE_R(x)							(0x000003c8+((x)*16))
-#define  NV20TCL_TX_GEN_MODE_R__SIZE							0x00000004
-#define   NV20TCL_TX_GEN_MODE_R_FALSE							0x00000000
-#define   NV20TCL_TX_GEN_MODE_R_EYE_LINEAR						0x00002400
-#define   NV20TCL_TX_GEN_MODE_R_OBJECT_LINEAR						0x00002401
-#define   NV20TCL_TX_GEN_MODE_R_SPHERE_MAP						0x00002402
-#define   NV20TCL_TX_GEN_MODE_R_NORMAL_MAP						0x00008511
-#define   NV20TCL_TX_GEN_MODE_R_REFLECTION_MAP						0x00008512
-#define  NV20TCL_TX_GEN_MODE_Q(x)							(0x000003cc+((x)*16))
-#define  NV20TCL_TX_GEN_MODE_Q__SIZE							0x00000004
-#define   NV20TCL_TX_GEN_MODE_Q_FALSE							0x00000000
-#define   NV20TCL_TX_GEN_MODE_Q_EYE_LINEAR						0x00002400
-#define   NV20TCL_TX_GEN_MODE_Q_OBJECT_LINEAR						0x00002401
-#define   NV20TCL_TX_GEN_MODE_Q_SPHERE_MAP						0x00002402
-#define   NV20TCL_TX_GEN_MODE_Q_NORMAL_MAP						0x00008511
-#define   NV20TCL_TX_GEN_MODE_Q_REFLECTION_MAP						0x00008512
-#define  NV20TCL_TX_MATRIX_ENABLE(x)							(0x00000420+((x)*4))
-#define  NV20TCL_TX_MATRIX_ENABLE__SIZE							0x00000004
-#define  NV20TCL_POINT_SIZE								0x0000043c
-#define  NV20TCL_MODELVIEW0_MATRIX(x)							(0x00000480+((x)*4))
-#define  NV20TCL_MODELVIEW0_MATRIX__SIZE						0x00000010
-#define  NV20TCL_MODELVIEW1_MATRIX(x)							(0x000004c0+((x)*4))
-#define  NV20TCL_MODELVIEW1_MATRIX__SIZE						0x00000010
-#define  NV20TCL_MODELVIEW2_MATRIX(x)							(0x00000500+((x)*4))
-#define  NV20TCL_MODELVIEW2_MATRIX__SIZE						0x00000010
-#define  NV20TCL_MODELVIEW3_MATRIX(x)							(0x00000540+((x)*4))
-#define  NV20TCL_MODELVIEW3_MATRIX__SIZE						0x00000010
-#define  NV20TCL_INVERSE_MODELVIEW0_MATRIX(x)						(0x00000580+((x)*4))
-#define  NV20TCL_INVERSE_MODELVIEW0_MATRIX__SIZE					0x00000010
-#define  NV20TCL_INVERSE_MODELVIEW1_MATRIX(x)						(0x000005c0+((x)*4))
-#define  NV20TCL_INVERSE_MODELVIEW1_MATRIX__SIZE					0x00000010
-#define  NV20TCL_INVERSE_MODELVIEW2_MATRIX(x)						(0x00000600+((x)*4))
-#define  NV20TCL_INVERSE_MODELVIEW2_MATRIX__SIZE					0x00000010
-#define  NV20TCL_INVERSE_MODELVIEW3_MATRIX(x)						(0x00000640+((x)*4))
-#define  NV20TCL_INVERSE_MODELVIEW3_MATRIX__SIZE					0x00000010
-#define  NV20TCL_PROJECTION_MATRIX(x)							(0x00000680+((x)*4))
-#define  NV20TCL_PROJECTION_MATRIX__SIZE						0x00000010
-#define  NV20TCL_TX0_MATRIX(x)								(0x000006c0+((x)*4))
-#define  NV20TCL_TX0_MATRIX__SIZE							0x00000010
-#define  NV20TCL_TX1_MATRIX(x)								(0x00000700+((x)*4))
-#define  NV20TCL_TX1_MATRIX__SIZE							0x00000010
-#define  NV20TCL_TX2_MATRIX(x)								(0x00000740+((x)*4))
-#define  NV20TCL_TX2_MATRIX__SIZE							0x00000010
-#define  NV20TCL_TX3_MATRIX(x)								(0x00000780+((x)*4))
-#define  NV20TCL_TX3_MATRIX__SIZE							0x00000010
-#define  NV20TCL_TX_GEN_COEFF_S_A(x)							(0x00000840+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_S_A__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_S_B(x)							(0x00000844+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_S_B__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_S_C(x)							(0x00000848+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_S_C__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_S_D(x)							(0x0000084c+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_S_D__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_T_A(x)							(0x00000850+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_T_A__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_T_B(x)							(0x00000854+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_T_B__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_T_C(x)							(0x00000858+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_T_C__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_T_D(x)							(0x0000085c+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_T_D__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_R_A(x)							(0x00000860+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_R_A__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_R_B(x)							(0x00000864+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_R_B__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_R_C(x)							(0x00000868+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_R_C__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_R_D(x)							(0x0000086c+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_R_D__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_Q_A(x)							(0x00000870+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_Q_A__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_Q_B(x)							(0x00000874+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_Q_B__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_Q_C(x)							(0x00000878+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_Q_C__SIZE							0x00000004
-#define  NV20TCL_TX_GEN_COEFF_Q_D(x)							(0x0000087c+((x)*64))
-#define  NV20TCL_TX_GEN_COEFF_Q_D__SIZE							0x00000004
-#define  NV20TCL_FOG_EQUATION_CONSTANT							0x000009c0
-#define  NV20TCL_FOG_EQUATION_LINEAR							0x000009c4
-#define  NV20TCL_FOG_EQUATION_QUADRATIC							0x000009c8
-#define  NV20TCL_FRONT_MATERIAL_SHININESS(x)						(0x000009e0+((x)*4))
-#define  NV20TCL_FRONT_MATERIAL_SHININESS__SIZE						0x00000006
-#define  NV20TCL_LIGHT_MODEL_FRONT_AMBIENT_R						0x00000a10
-#define  NV20TCL_LIGHT_MODEL_FRONT_AMBIENT_G						0x00000a14
-#define  NV20TCL_LIGHT_MODEL_FRONT_AMBIENT_B						0x00000a18
-#define  NV20TCL_VIEWPORT_TRANSLATE_X							0x00000a20
-#define  NV20TCL_VIEWPORT_TRANSLATE_Y							0x00000a24
-#define  NV20TCL_VIEWPORT_TRANSLATE_Z							0x00000a28
-#define  NV20TCL_VIEWPORT_TRANSLATE_W							0x00000a2c
-#define  NV20TCL_POINT_PARAMETER(x)							(0x00000a30+((x)*4))
-#define  NV20TCL_POINT_PARAMETER__SIZE							0x00000008
-#define  NV20TCL_RC_CONSTANT_COLOR0(x)							(0x00000a60+((x)*4))
-#define  NV20TCL_RC_CONSTANT_COLOR0__SIZE						0x00000008
-#define   NV20TCL_RC_CONSTANT_COLOR0_B_SHIFT						0
-#define   NV20TCL_RC_CONSTANT_COLOR0_B_MASK						0x000000ff
-#define   NV20TCL_RC_CONSTANT_COLOR0_G_SHIFT						8
-#define   NV20TCL_RC_CONSTANT_COLOR0_G_MASK						0x0000ff00
-#define   NV20TCL_RC_CONSTANT_COLOR0_R_SHIFT						16
-#define   NV20TCL_RC_CONSTANT_COLOR0_R_MASK						0x00ff0000
-#define   NV20TCL_RC_CONSTANT_COLOR0_A_SHIFT						24
-#define   NV20TCL_RC_CONSTANT_COLOR0_A_MASK						0xff000000
-#define  NV20TCL_RC_CONSTANT_COLOR1(x)							(0x00000a80+((x)*4))
-#define  NV20TCL_RC_CONSTANT_COLOR1__SIZE						0x00000008
-#define   NV20TCL_RC_CONSTANT_COLOR1_B_SHIFT						0
-#define   NV20TCL_RC_CONSTANT_COLOR1_B_MASK						0x000000ff
-#define   NV20TCL_RC_CONSTANT_COLOR1_G_SHIFT						8
-#define   NV20TCL_RC_CONSTANT_COLOR1_G_MASK						0x0000ff00
-#define   NV20TCL_RC_CONSTANT_COLOR1_R_SHIFT						16
-#define   NV20TCL_RC_CONSTANT_COLOR1_R_MASK						0x00ff0000
-#define   NV20TCL_RC_CONSTANT_COLOR1_A_SHIFT						24
-#define   NV20TCL_RC_CONSTANT_COLOR1_A_MASK						0xff000000
-#define  NV20TCL_RC_OUT_ALPHA(x)							(0x00000aa0+((x)*4))
-#define  NV20TCL_RC_OUT_ALPHA__SIZE							0x00000008
-#define   NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SHIFT						0
-#define   NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_MASK						0x0000000f
-#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_ZERO						0x00000000
-#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0				0x00000001
-#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1				0x00000002
-#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_FOG						0x00000003
-#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR					0x00000004
-#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR				0x00000005
-#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0					0x00000008
-#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1					0x00000009
-#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0					0x0000000c
-#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE1					0x0000000d
-#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F					0x0000000f
-#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2					0x0000000a
-#define    NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3					0x0000000b
-#define   NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SHIFT						4
-#define   NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_MASK						0x000000f0
-#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_ZERO						0x00000000
-#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0				0x00000010
-#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1				0x00000020
-#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_FOG						0x00000030
-#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR					0x00000040
-#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR				0x00000050
-#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0					0x00000080
-#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1					0x00000090
-#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0					0x000000c0
-#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE1					0x000000d0
-#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000000e0
-#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F					0x000000f0
-#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2					0x000000a0
-#define    NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3					0x000000b0
-#define   NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT						8
-#define   NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_MASK						0x00000f00
-#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_ZERO						0x00000000
-#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0				0x00000100
-#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1				0x00000200
-#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_FOG						0x00000300
-#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR				0x00000400
-#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR				0x00000500
-#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0					0x00000800
-#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1					0x00000900
-#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0					0x00000c00
-#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1					0x00000d00
-#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F					0x00000f00
-#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2					0x00000a00
-#define    NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3					0x00000b00
-#define   NV20TCL_RC_OUT_ALPHA_CD_DOT_PRODUCT						(1 << 12)
-#define   NV20TCL_RC_OUT_ALPHA_AB_DOT_PRODUCT						(1 << 13)
-#define   NV20TCL_RC_OUT_ALPHA_MUX_SUM							(1 << 14)
-#define   NV20TCL_RC_OUT_ALPHA_BIAS							(1 << 15)
-#define    NV20TCL_RC_OUT_ALPHA_BIAS_NONE						0x00000000
-#define    NV20TCL_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF				0x00008000
-#define   NV20TCL_RC_OUT_ALPHA_SCALE_SHIFT						17
-#define   NV20TCL_RC_OUT_ALPHA_SCALE_MASK						0x00000000
-#define    NV20TCL_RC_OUT_ALPHA_SCALE_NONE						0x00000000
-#define    NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO					0x00020000
-#define    NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR					0x00040000
-#define    NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF					0x00060000
-#define  NV20TCL_RC_IN_RGB(x)								(0x00000ac0+((x)*4))
-#define  NV20TCL_RC_IN_RGB__SIZE							0x00000008
-#define   NV20TCL_RC_IN_RGB_D_INPUT_SHIFT						0
-#define   NV20TCL_RC_IN_RGB_D_INPUT_MASK						0x0000000f
-#define    NV20TCL_RC_IN_RGB_D_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0					0x00000001
-#define    NV20TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1					0x00000002
-#define    NV20TCL_RC_IN_RGB_D_INPUT_FOG						0x00000003
-#define    NV20TCL_RC_IN_RGB_D_INPUT_PRIMARY_COLOR					0x00000004
-#define    NV20TCL_RC_IN_RGB_D_INPUT_SECONDARY_COLOR					0x00000005
-#define    NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE0						0x00000008
-#define    NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE1						0x00000009
-#define    NV20TCL_RC_IN_RGB_D_INPUT_SPARE0						0x0000000c
-#define    NV20TCL_RC_IN_RGB_D_INPUT_SPARE1						0x0000000d
-#define    NV20TCL_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV20TCL_RC_IN_RGB_D_INPUT_E_TIMES_F						0x0000000f
-#define    NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE2						0x0000000a
-#define    NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE3						0x0000000b
-#define   NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE						(1 <<  4)
-#define    NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE_RGB					0x00000000
-#define    NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA					0x00000010
-#define   NV20TCL_RC_IN_RGB_D_MAPPING_SHIFT						5
-#define   NV20TCL_RC_IN_RGB_D_MAPPING_MASK						0x000000e0
-#define    NV20TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT					0x00000020
-#define    NV20TCL_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL					0x00000040
-#define    NV20TCL_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE					0x00000060
-#define    NV20TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL					0x00000080
-#define    NV20TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE					0x000000a0
-#define    NV20TCL_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY					0x000000c0
-#define    NV20TCL_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE					0x000000e0
-#define   NV20TCL_RC_IN_RGB_C_INPUT_SHIFT						8
-#define   NV20TCL_RC_IN_RGB_C_INPUT_MASK						0x00000f00
-#define    NV20TCL_RC_IN_RGB_C_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0					0x00000100
-#define    NV20TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1					0x00000200
-#define    NV20TCL_RC_IN_RGB_C_INPUT_FOG						0x00000300
-#define    NV20TCL_RC_IN_RGB_C_INPUT_PRIMARY_COLOR					0x00000400
-#define    NV20TCL_RC_IN_RGB_C_INPUT_SECONDARY_COLOR					0x00000500
-#define    NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE0						0x00000800
-#define    NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE1						0x00000900
-#define    NV20TCL_RC_IN_RGB_C_INPUT_SPARE0						0x00000c00
-#define    NV20TCL_RC_IN_RGB_C_INPUT_SPARE1						0x00000d00
-#define    NV20TCL_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV20TCL_RC_IN_RGB_C_INPUT_E_TIMES_F						0x00000f00
-#define    NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE2						0x00000a00
-#define    NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE3						0x00000b00
-#define   NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE						(1 << 12)
-#define    NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE_RGB					0x00000000
-#define    NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA					0x00001000
-#define   NV20TCL_RC_IN_RGB_C_MAPPING_SHIFT						13
-#define   NV20TCL_RC_IN_RGB_C_MAPPING_MASK						0x0000e000
-#define    NV20TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT					0x00002000
-#define    NV20TCL_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL					0x00004000
-#define    NV20TCL_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE					0x00006000
-#define    NV20TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL					0x00008000
-#define    NV20TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE					0x0000a000
-#define    NV20TCL_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY					0x0000c000
-#define    NV20TCL_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE					0x0000e000
-#define   NV20TCL_RC_IN_RGB_B_INPUT_SHIFT						16
-#define   NV20TCL_RC_IN_RGB_B_INPUT_MASK						0x000f0000
-#define    NV20TCL_RC_IN_RGB_B_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0					0x00010000
-#define    NV20TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1					0x00020000
-#define    NV20TCL_RC_IN_RGB_B_INPUT_FOG						0x00030000
-#define    NV20TCL_RC_IN_RGB_B_INPUT_PRIMARY_COLOR					0x00040000
-#define    NV20TCL_RC_IN_RGB_B_INPUT_SECONDARY_COLOR					0x00050000
-#define    NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE0						0x00080000
-#define    NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE1						0x00090000
-#define    NV20TCL_RC_IN_RGB_B_INPUT_SPARE0						0x000c0000
-#define    NV20TCL_RC_IN_RGB_B_INPUT_SPARE1						0x000d0000
-#define    NV20TCL_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000e0000
-#define    NV20TCL_RC_IN_RGB_B_INPUT_E_TIMES_F						0x000f0000
-#define    NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE2						0x000a0000
-#define    NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE3						0x000b0000
-#define   NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE						(1 << 20)
-#define    NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE_RGB					0x00000000
-#define    NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA					0x00100000
-#define   NV20TCL_RC_IN_RGB_B_MAPPING_SHIFT						21
-#define   NV20TCL_RC_IN_RGB_B_MAPPING_MASK						0x00e00000
-#define    NV20TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT					0x00200000
-#define    NV20TCL_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL					0x00400000
-#define    NV20TCL_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE					0x00600000
-#define    NV20TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL					0x00800000
-#define    NV20TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE					0x00a00000
-#define    NV20TCL_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY					0x00c00000
-#define    NV20TCL_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE					0x00e00000
-#define   NV20TCL_RC_IN_RGB_A_INPUT_SHIFT						24
-#define   NV20TCL_RC_IN_RGB_A_INPUT_MASK						0x0f000000
-#define    NV20TCL_RC_IN_RGB_A_INPUT_ZERO						0x00000000
-#define    NV20TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0					0x01000000
-#define    NV20TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1					0x02000000
-#define    NV20TCL_RC_IN_RGB_A_INPUT_FOG						0x03000000
-#define    NV20TCL_RC_IN_RGB_A_INPUT_PRIMARY_COLOR					0x04000000
-#define    NV20TCL_RC_IN_RGB_A_INPUT_SECONDARY_COLOR					0x05000000
-#define    NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE0						0x08000000
-#define    NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE1						0x09000000
-#define    NV20TCL_RC_IN_RGB_A_INPUT_SPARE0						0x0c000000
-#define    NV20TCL_RC_IN_RGB_A_INPUT_SPARE1						0x0d000000
-#define    NV20TCL_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0e000000
-#define    NV20TCL_RC_IN_RGB_A_INPUT_E_TIMES_F						0x0f000000
-#define    NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE2						0x0a000000
-#define    NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE3						0x0b000000
-#define   NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE						(1 << 28)
-#define    NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE_RGB					0x00000000
-#define    NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA					0x10000000
-#define   NV20TCL_RC_IN_RGB_A_MAPPING_SHIFT						29
-#define   NV20TCL_RC_IN_RGB_A_MAPPING_MASK						0xe0000000
-#define    NV20TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV20TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT					0x20000000
-#define    NV20TCL_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL					0x40000000
-#define    NV20TCL_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE					0x60000000
-#define    NV20TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL					0x80000000
-#define    NV20TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE					0xa0000000
-#define    NV20TCL_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY					0xc0000000
-#define    NV20TCL_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE					0xe0000000
-#define  NV20TCL_VIEWPORT_SCALE_X							0x00000af0
-#define  NV20TCL_VIEWPORT_SCALE_Y							0x00000af4
-#define  NV20TCL_VIEWPORT_SCALE_Z							0x00000af8
-#define  NV20TCL_VIEWPORT_SCALE_W							0x00000afc
-#define  NV20TCL_VP_UPLOAD_INST(x)							(0x00000b00+((x)*4))
-#define  NV20TCL_VP_UPLOAD_INST__SIZE							0x00000004
-#define  NV20TCL_VP_UPLOAD_CONST(x)							(0x00000b80+((x)*4))
-#define  NV20TCL_VP_UPLOAD_CONST__SIZE							0x00000004
-#define  NV20TCL_LIGHT_BACK_AMBIENT_R(x)						(0x00000c00+((x)*64))
-#define  NV20TCL_LIGHT_BACK_AMBIENT_R__SIZE						0x00000008
-#define  NV20TCL_LIGHT_BACK_AMBIENT_G(x)						(0x00000c04+((x)*64))
-#define  NV20TCL_LIGHT_BACK_AMBIENT_G__SIZE						0x00000008
-#define  NV20TCL_LIGHT_BACK_AMBIENT_B(x)						(0x00000c08+((x)*64))
-#define  NV20TCL_LIGHT_BACK_AMBIENT_B__SIZE						0x00000008
-#define  NV20TCL_LIGHT_BACK_DIFFUSE_R(x)						(0x00000c0c+((x)*64))
-#define  NV20TCL_LIGHT_BACK_DIFFUSE_R__SIZE						0x00000008
-#define  NV20TCL_LIGHT_BACK_DIFFUSE_G(x)						(0x00000c10+((x)*64))
-#define  NV20TCL_LIGHT_BACK_DIFFUSE_G__SIZE						0x00000008
-#define  NV20TCL_LIGHT_BACK_DIFFUSE_B(x)						(0x00000c14+((x)*64))
-#define  NV20TCL_LIGHT_BACK_DIFFUSE_B__SIZE						0x00000008
-#define  NV20TCL_LIGHT_BACK_SPECULAR_R(x)						(0x00000c18+((x)*64))
-#define  NV20TCL_LIGHT_BACK_SPECULAR_R__SIZE						0x00000008
-#define  NV20TCL_LIGHT_BACK_SPECULAR_G(x)						(0x00000c1c+((x)*64))
-#define  NV20TCL_LIGHT_BACK_SPECULAR_G__SIZE						0x00000008
-#define  NV20TCL_LIGHT_BACK_SPECULAR_B(x)						(0x00000c20+((x)*64))
-#define  NV20TCL_LIGHT_BACK_SPECULAR_B__SIZE						0x00000008
-#define  NV20TCL_LIGHT_FRONT_AMBIENT_R(x)						(0x00001000+((x)*128))
-#define  NV20TCL_LIGHT_FRONT_AMBIENT_R__SIZE						0x00000008
-#define  NV20TCL_LIGHT_FRONT_AMBIENT_G(x)						(0x00001004+((x)*128))
-#define  NV20TCL_LIGHT_FRONT_AMBIENT_G__SIZE						0x00000008
-#define  NV20TCL_LIGHT_FRONT_AMBIENT_B(x)						(0x00001008+((x)*128))
-#define  NV20TCL_LIGHT_FRONT_AMBIENT_B__SIZE						0x00000008
-#define  NV20TCL_LIGHT_FRONT_DIFFUSE_R(x)						(0x0000100c+((x)*128))
-#define  NV20TCL_LIGHT_FRONT_DIFFUSE_R__SIZE						0x00000008
-#define  NV20TCL_LIGHT_FRONT_DIFFUSE_G(x)						(0x00001010+((x)*128))
-#define  NV20TCL_LIGHT_FRONT_DIFFUSE_G__SIZE						0x00000008
-#define  NV20TCL_LIGHT_FRONT_DIFFUSE_B(x)						(0x00001014+((x)*128))
-#define  NV20TCL_LIGHT_FRONT_DIFFUSE_B__SIZE						0x00000008
-#define  NV20TCL_LIGHT_FRONT_SPECULAR_R(x)						(0x00001018+((x)*128))
-#define  NV20TCL_LIGHT_FRONT_SPECULAR_R__SIZE						0x00000008
-#define  NV20TCL_LIGHT_FRONT_SPECULAR_G(x)						(0x0000101c+((x)*128))
-#define  NV20TCL_LIGHT_FRONT_SPECULAR_G__SIZE						0x00000008
-#define  NV20TCL_LIGHT_FRONT_SPECULAR_B(x)						(0x00001020+((x)*128))
-#define  NV20TCL_LIGHT_FRONT_SPECULAR_B__SIZE						0x00000008
-#define  NV20TCL_LIGHT_HALF_VECTOR_X(x)							(0x00001028+((x)*128))
-#define  NV20TCL_LIGHT_HALF_VECTOR_X__SIZE						0x00000008
-#define  NV20TCL_LIGHT_HALF_VECTOR_Y(x)							(0x0000102c+((x)*128))
-#define  NV20TCL_LIGHT_HALF_VECTOR_Y__SIZE						0x00000008
-#define  NV20TCL_LIGHT_HALF_VECTOR_Z(x)							(0x00001030+((x)*128))
-#define  NV20TCL_LIGHT_HALF_VECTOR_Z__SIZE						0x00000008
-#define  NV20TCL_LIGHT_DIRECTION_X(x)							(0x00001034+((x)*128))
-#define  NV20TCL_LIGHT_DIRECTION_X__SIZE						0x00000008
-#define  NV20TCL_LIGHT_DIRECTION_Y(x)							(0x00001038+((x)*128))
-#define  NV20TCL_LIGHT_DIRECTION_Y__SIZE						0x00000008
-#define  NV20TCL_LIGHT_DIRECTION_Z(x)							(0x0000103c+((x)*128))
-#define  NV20TCL_LIGHT_DIRECTION_Z__SIZE						0x00000008
-#define  NV20TCL_LIGHT_SPOT_CUTOFF_A(x)							(0x00001040+((x)*128))
-#define  NV20TCL_LIGHT_SPOT_CUTOFF_A__SIZE						0x00000008
-#define  NV20TCL_LIGHT_SPOT_CUTOFF_B(x)							(0x00001044+((x)*128))
-#define  NV20TCL_LIGHT_SPOT_CUTOFF_B__SIZE						0x00000008
-#define  NV20TCL_LIGHT_SPOT_CUTOFF_C(x)							(0x00001048+((x)*128))
-#define  NV20TCL_LIGHT_SPOT_CUTOFF_C__SIZE						0x00000008
-#define  NV20TCL_LIGHT_SPOT_DIR_X(x)							(0x0000104c+((x)*128))
-#define  NV20TCL_LIGHT_SPOT_DIR_X__SIZE							0x00000008
-#define  NV20TCL_LIGHT_SPOT_DIR_Y(x)							(0x00001050+((x)*128))
-#define  NV20TCL_LIGHT_SPOT_DIR_Y__SIZE							0x00000008
-#define  NV20TCL_LIGHT_SPOT_DIR_Z(x)							(0x00001054+((x)*128))
-#define  NV20TCL_LIGHT_SPOT_DIR_Z__SIZE							0x00000008
-#define  NV20TCL_LIGHT_SPOT_CUTOFF_D(x)							(0x00001058+((x)*128))
-#define  NV20TCL_LIGHT_SPOT_CUTOFF_D__SIZE						0x00000008
-#define  NV20TCL_LIGHT_POSITION_X(x)							(0x0000105c+((x)*128))
-#define  NV20TCL_LIGHT_POSITION_X__SIZE							0x00000008
-#define  NV20TCL_LIGHT_POSITION_Y(x)							(0x00001060+((x)*128))
-#define  NV20TCL_LIGHT_POSITION_Y__SIZE							0x00000008
-#define  NV20TCL_LIGHT_POSITION_Z(x)							(0x00001064+((x)*128))
-#define  NV20TCL_LIGHT_POSITION_Z__SIZE							0x00000008
-#define  NV20TCL_LIGHT_ATTENUATION_CONSTANT(x)						(0x00001068+((x)*128))
-#define  NV20TCL_LIGHT_ATTENUATION_CONSTANT__SIZE					0x00000008
-#define  NV20TCL_LIGHT_ATTENUATION_LINEAR(x)						(0x0000106c+((x)*128))
-#define  NV20TCL_LIGHT_ATTENUATION_LINEAR__SIZE						0x00000008
-#define  NV20TCL_LIGHT_ATTENUATION_QUADRATIC(x)						(0x00001070+((x)*128))
-#define  NV20TCL_LIGHT_ATTENUATION_QUADRATIC__SIZE					0x00000008
-#define  NV20TCL_POLYGON_STIPPLE_ENABLE							0x0000147c
-#define  NV20TCL_POLYGON_STIPPLE_PATTERN(x)						(0x00001480+((x)*4))
-#define  NV20TCL_POLYGON_STIPPLE_PATTERN__SIZE						0x00000020
-#define  NV20TCL_VERTEX_POS_3F_X							0x00001500
-#define  NV20TCL_VERTEX_POS_3F_Y							0x00001504
-#define  NV20TCL_VERTEX_POS_3F_Z							0x00001508
-#define  NV20TCL_VERTEX_POS_4F_X							0x00001518
-#define  NV20TCL_VERTEX_POS_4F_Y							0x0000151c
-#define  NV20TCL_VERTEX_POS_4F_Z							0x00001520
-#define  NV20TCL_VERTEX_POS_3I_XY							0x00001528
-#define   NV20TCL_VERTEX_POS_3I_XY_X_SHIFT						0
-#define   NV20TCL_VERTEX_POS_3I_XY_X_MASK						0x0000ffff
-#define   NV20TCL_VERTEX_POS_3I_XY_Y_SHIFT						16
-#define   NV20TCL_VERTEX_POS_3I_XY_Y_MASK						0xffff0000
-#define  NV20TCL_VERTEX_POS_3I_Z							0x0000152c
-#define   NV20TCL_VERTEX_POS_3I_Z_Z_SHIFT						0
-#define   NV20TCL_VERTEX_POS_3I_Z_Z_MASK						0x0000ffff
-#define  NV20TCL_VERTEX_NOR_3F_X							0x00001530
-#define  NV20TCL_VERTEX_NOR_3F_Y							0x00001534
-#define  NV20TCL_VERTEX_NOR_3F_Z							0x00001538
-#define  NV20TCL_VERTEX_NOR_3I_XY							0x00001540
-#define   NV20TCL_VERTEX_NOR_3I_XY_X_SHIFT						0
-#define   NV20TCL_VERTEX_NOR_3I_XY_X_MASK						0x0000ffff
-#define   NV20TCL_VERTEX_NOR_3I_XY_Y_SHIFT						16
-#define   NV20TCL_VERTEX_NOR_3I_XY_Y_MASK						0xffff0000
-#define  NV20TCL_VERTEX_NOR_3I_Z							0x00001544
-#define   NV20TCL_VERTEX_NOR_3I_Z_Z_SHIFT						0
-#define   NV20TCL_VERTEX_NOR_3I_Z_Z_MASK						0x0000ffff
-#define  NV20TCL_VERTEX_COL_4F_X							0x00001550
-#define  NV20TCL_VERTEX_COL_4F_Y							0x00001554
-#define  NV20TCL_VERTEX_COL_4F_Z							0x00001558
-#define  NV20TCL_VERTEX_COL_4F_W							0x0000155c
-#define  NV20TCL_VERTEX_COL_3F_X							0x00001560
-#define  NV20TCL_VERTEX_COL_3F_Y							0x00001564
-#define  NV20TCL_VERTEX_COL_3F_Z							0x00001568
-#define  NV20TCL_VERTEX_COL_4I								0x0000156c
-#define   NV20TCL_VERTEX_COL_4I_R_SHIFT							0
-#define   NV20TCL_VERTEX_COL_4I_R_MASK							0x000000ff
-#define   NV20TCL_VERTEX_COL_4I_G_SHIFT							8
-#define   NV20TCL_VERTEX_COL_4I_G_MASK							0x0000ff00
-#define   NV20TCL_VERTEX_COL_4I_B_SHIFT							16
-#define   NV20TCL_VERTEX_COL_4I_B_MASK							0x00ff0000
-#define   NV20TCL_VERTEX_COL_4I_A_SHIFT							24
-#define   NV20TCL_VERTEX_COL_4I_A_MASK							0xff000000
-#define  NV20TCL_VERTEX_COL2_3F_X							0x00001580
-#define  NV20TCL_VERTEX_COL2_3F_Y							0x00001584
-#define  NV20TCL_VERTEX_COL2_3F_Z							0x00001588
-#define  NV20TCL_VERTEX_COL2_4I								0x0000158c
-#define   NV20TCL_VERTEX_COL2_4I_R_SHIFT						0
-#define   NV20TCL_VERTEX_COL2_4I_R_MASK							0x000000ff
-#define   NV20TCL_VERTEX_COL2_4I_G_SHIFT						8
-#define   NV20TCL_VERTEX_COL2_4I_G_MASK							0x0000ff00
-#define   NV20TCL_VERTEX_COL2_4I_B_SHIFT						16
-#define   NV20TCL_VERTEX_COL2_4I_B_MASK							0x00ff0000
-#define   NV20TCL_VERTEX_COL2_4I_A_SHIFT						24
-#define   NV20TCL_VERTEX_COL2_4I_A_MASK							0xff000000
-#define  NV20TCL_VERTEX_TX0_2F_S							0x00001590
-#define  NV20TCL_VERTEX_TX0_2F_T							0x00001594
-#define  NV20TCL_VERTEX_TX0_2I								0x00001598
-#define   NV20TCL_VERTEX_TX0_2I_S_SHIFT							0
-#define   NV20TCL_VERTEX_TX0_2I_S_MASK							0x0000ffff
-#define   NV20TCL_VERTEX_TX0_2I_T_SHIFT							16
-#define   NV20TCL_VERTEX_TX0_2I_T_MASK							0xffff0000
-#define  NV20TCL_VERTEX_TX0_4F_S							0x000015a0
-#define  NV20TCL_VERTEX_TX0_4F_T							0x000015a4
-#define  NV20TCL_VERTEX_TX0_4F_R							0x000015a8
-#define  NV20TCL_VERTEX_TX0_4F_Q							0x000015ac
-#define  NV20TCL_VERTEX_TX0_4I_ST							0x000015b0
-#define   NV20TCL_VERTEX_TX0_4I_ST_S_SHIFT						0
-#define   NV20TCL_VERTEX_TX0_4I_ST_S_MASK						0x0000ffff
-#define   NV20TCL_VERTEX_TX0_4I_ST_T_SHIFT						16
-#define   NV20TCL_VERTEX_TX0_4I_ST_T_MASK						0xffff0000
-#define  NV20TCL_VERTEX_TX0_4I_RQ							0x000015b4
-#define   NV20TCL_VERTEX_TX0_4I_RQ_R_SHIFT						0
-#define   NV20TCL_VERTEX_TX0_4I_RQ_R_MASK						0x0000ffff
-#define   NV20TCL_VERTEX_TX0_4I_RQ_Q_SHIFT						16
-#define   NV20TCL_VERTEX_TX0_4I_RQ_Q_MASK						0xffff0000
-#define  NV20TCL_VERTEX_TX1_2F_S							0x000015b8
-#define  NV20TCL_VERTEX_TX1_2F_T							0x000015bc
-#define  NV20TCL_VERTEX_TX1_2I								0x000015c0
-#define   NV20TCL_VERTEX_TX1_2I_S_SHIFT							0
-#define   NV20TCL_VERTEX_TX1_2I_S_MASK							0x0000ffff
-#define   NV20TCL_VERTEX_TX1_2I_T_SHIFT							16
-#define   NV20TCL_VERTEX_TX1_2I_T_MASK							0xffff0000
-#define  NV20TCL_VERTEX_TX1_4F_S							0x000015c8
-#define  NV20TCL_VERTEX_TX1_4F_T							0x000015cc
-#define  NV20TCL_VERTEX_TX1_4F_R							0x000015d0
-#define  NV20TCL_VERTEX_TX1_4F_Q							0x000015d4
-#define  NV20TCL_VERTEX_TX1_4I_ST							0x000015d8
-#define   NV20TCL_VERTEX_TX1_4I_ST_S_SHIFT						0
-#define   NV20TCL_VERTEX_TX1_4I_ST_S_MASK						0x0000ffff
-#define   NV20TCL_VERTEX_TX1_4I_ST_T_SHIFT						16
-#define   NV20TCL_VERTEX_TX1_4I_ST_T_MASK						0xffff0000
-#define  NV20TCL_VERTEX_TX1_4I_RQ							0x000015dc
-#define   NV20TCL_VERTEX_TX1_4I_RQ_R_SHIFT						0
-#define   NV20TCL_VERTEX_TX1_4I_RQ_R_MASK						0x0000ffff
-#define   NV20TCL_VERTEX_TX1_4I_RQ_Q_SHIFT						16
-#define   NV20TCL_VERTEX_TX1_4I_RQ_Q_MASK						0xffff0000
-#define  NV20TCL_VERTEX_TX2_2F_S							0x000015e0
-#define  NV20TCL_VERTEX_TX2_2F_T							0x000015e4
-#define  NV20TCL_VERTEX_TX2_2I								0x000015e8
-#define   NV20TCL_VERTEX_TX2_2I_S_SHIFT							0
-#define   NV20TCL_VERTEX_TX2_2I_S_MASK							0x0000ffff
-#define   NV20TCL_VERTEX_TX2_2I_T_SHIFT							16
-#define   NV20TCL_VERTEX_TX2_2I_T_MASK							0xffff0000
-#define  NV20TCL_VERTEX_TX2_4F_S							0x000015f0
-#define  NV20TCL_VERTEX_TX2_4F_T							0x000015f4
-#define  NV20TCL_VERTEX_TX2_4F_R							0x000015f8
-#define  NV20TCL_VERTEX_TX2_4F_Q							0x000015fc
-#define  NV20TCL_VERTEX_TX2_4I_ST							0x00001600
-#define   NV20TCL_VERTEX_TX2_4I_ST_S_SHIFT						0
-#define   NV20TCL_VERTEX_TX2_4I_ST_S_MASK						0x0000ffff
-#define   NV20TCL_VERTEX_TX2_4I_ST_T_SHIFT						16
-#define   NV20TCL_VERTEX_TX2_4I_ST_T_MASK						0xffff0000
-#define  NV20TCL_VERTEX_TX2_4I_RQ							0x00001604
-#define   NV20TCL_VERTEX_TX2_4I_RQ_R_SHIFT						0
-#define   NV20TCL_VERTEX_TX2_4I_RQ_R_MASK						0x0000ffff
-#define   NV20TCL_VERTEX_TX2_4I_RQ_Q_SHIFT						16
-#define   NV20TCL_VERTEX_TX2_4I_RQ_Q_MASK						0xffff0000
-#define  NV20TCL_VERTEX_TX3_2F_S							0x00001608
-#define  NV20TCL_VERTEX_TX3_2F_T							0x0000160c
-#define  NV20TCL_VERTEX_TX3_2I								0x00001610
-#define   NV20TCL_VERTEX_TX3_2I_S_SHIFT							0
-#define   NV20TCL_VERTEX_TX3_2I_S_MASK							0x0000ffff
-#define   NV20TCL_VERTEX_TX3_2I_T_SHIFT							16
-#define   NV20TCL_VERTEX_TX3_2I_T_MASK							0xffff0000
-#define  NV20TCL_VERTEX_TX3_4F_S							0x00001620
-#define  NV20TCL_VERTEX_TX3_4F_T							0x00001624
-#define  NV20TCL_VERTEX_TX3_4F_R							0x00001628
-#define  NV20TCL_VERTEX_TX3_4F_Q							0x0000162c
-#define  NV20TCL_VERTEX_TX3_4I_ST							0x00001630
-#define   NV20TCL_VERTEX_TX3_4I_ST_S_SHIFT						0
-#define   NV20TCL_VERTEX_TX3_4I_ST_S_MASK						0x0000ffff
-#define   NV20TCL_VERTEX_TX3_4I_ST_T_SHIFT						16
-#define   NV20TCL_VERTEX_TX3_4I_ST_T_MASK						0xffff0000
-#define  NV20TCL_VERTEX_TX3_4I_RQ							0x00001634
-#define   NV20TCL_VERTEX_TX3_4I_RQ_R_SHIFT						0
-#define   NV20TCL_VERTEX_TX3_4I_RQ_R_MASK						0x0000ffff
-#define   NV20TCL_VERTEX_TX3_4I_RQ_Q_SHIFT						16
-#define   NV20TCL_VERTEX_TX3_4I_RQ_Q_MASK						0xffff0000
-#define  NV20TCL_VERTEX_FOG_1F								0x00001698
-#define  NV20TCL_EDGEFLAG_ENABLE							0x000016bc
-#define  NV20TCL_VTX_CACHE_INVALIDATE							0x00001710
-#define  NV20TCL_VTXBUF_ADDRESS(x)							(0x00001720+((x)*4))
-#define  NV20TCL_VTXBUF_ADDRESS__SIZE							0x00000010
-#define   NV20TCL_VTXBUF_ADDRESS_DMA1							(1 << 31)
-#define   NV20TCL_VTXBUF_ADDRESS_OFFSET_SHIFT						0
-#define   NV20TCL_VTXBUF_ADDRESS_OFFSET_MASK						0x0fffffff
-#define  NV20TCL_VTXFMT(x)								(0x00001760+((x)*4))
-#define  NV20TCL_VTXFMT__SIZE								0x00000010
-#define   NV20TCL_VTXFMT_TYPE_SHIFT							0
-#define   NV20TCL_VTXFMT_TYPE_MASK							0x0000000f
-#define    NV20TCL_VTXFMT_TYPE_FLOAT							0x00000002
-#define    NV20TCL_VTXFMT_TYPE_UBYTE							0x00000004
-#define    NV20TCL_VTXFMT_TYPE_USHORT							0x00000005
-#define   NV20TCL_VTXFMT_SIZE_SHIFT							4
-#define   NV20TCL_VTXFMT_SIZE_MASK							0x000000f0
-#define   NV20TCL_VTXFMT_STRIDE_SHIFT							8
-#define   NV20TCL_VTXFMT_STRIDE_MASK							0x0000ff00
-#define  NV20TCL_LIGHT_MODEL_BACK_AMBIENT_R						0x000017a0
-#define  NV20TCL_LIGHT_MODEL_BACK_AMBIENT_G						0x000017a4
-#define  NV20TCL_LIGHT_MODEL_BACK_AMBIENT_B						0x000017a8
-#define  NV20TCL_MATERIAL_FACTOR_BACK_A							0x000017ac
-#define  NV20TCL_MATERIAL_FACTOR_BACK_R							0x000017b0
-#define  NV20TCL_MATERIAL_FACTOR_BACK_G							0x000017b4
-#define  NV20TCL_MATERIAL_FACTOR_BACK_B							0x000017b8
-#define  NV20TCL_COLOR_LOGIC_OP_ENABLE							0x000017bc
-#define  NV20TCL_COLOR_LOGIC_OP_OP							0x000017c0
-#define   NV20TCL_COLOR_LOGIC_OP_OP_CLEAR						0x00001500
-#define   NV20TCL_COLOR_LOGIC_OP_OP_AND							0x00001501
-#define   NV20TCL_COLOR_LOGIC_OP_OP_AND_REVERSE						0x00001502
-#define   NV20TCL_COLOR_LOGIC_OP_OP_COPY						0x00001503
-#define   NV20TCL_COLOR_LOGIC_OP_OP_AND_INVERTED					0x00001504
-#define   NV20TCL_COLOR_LOGIC_OP_OP_NOOP						0x00001505
-#define   NV20TCL_COLOR_LOGIC_OP_OP_XOR							0x00001506
-#define   NV20TCL_COLOR_LOGIC_OP_OP_OR							0x00001507
-#define   NV20TCL_COLOR_LOGIC_OP_OP_NOR							0x00001508
-#define   NV20TCL_COLOR_LOGIC_OP_OP_EQUIV						0x00001509
-#define   NV20TCL_COLOR_LOGIC_OP_OP_INVERT						0x0000150a
-#define   NV20TCL_COLOR_LOGIC_OP_OP_OR_REVERSE						0x0000150b
-#define   NV20TCL_COLOR_LOGIC_OP_OP_COPY_INVERTED					0x0000150c
-#define   NV20TCL_COLOR_LOGIC_OP_OP_OR_INVERTED						0x0000150d
-#define   NV20TCL_COLOR_LOGIC_OP_OP_NAND						0x0000150e
-#define   NV20TCL_COLOR_LOGIC_OP_OP_SET							0x0000150f
-#define  NV20TCL_LIGHT_MODEL_TWO_SIDE_ENABLE						0x000017c4
-#define  NV20TCL_TX_SHADER_CULL_MODE							0x000017f8
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX0_S						(1 <<  0)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_S_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_S_LESS					0x00000001
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX0_T						(1 <<  1)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_T_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_T_LESS					0x00000002
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX0_R						(1 <<  2)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_R_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_R_LESS					0x00000004
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX0_Q						(1 <<  3)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_Q_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX0_Q_LESS					0x00000008
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX1_S						(1 <<  4)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_S_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_S_LESS					0x00000010
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX1_T						(1 <<  5)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_T_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_T_LESS					0x00000020
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX1_R						(1 <<  6)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_R_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_R_LESS					0x00000040
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX1_Q						(1 <<  7)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_Q_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX1_Q_LESS					0x00000080
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX2_S						(1 <<  8)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_S_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_S_LESS					0x00000100
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX2_T						(1 <<  9)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_T_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_T_LESS					0x00000200
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX2_R						(1 << 10)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_R_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_R_LESS					0x00000400
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX2_Q						(1 << 11)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_Q_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX2_Q_LESS					0x00000800
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX3_S						(1 << 12)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_S_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_S_LESS					0x00001000
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX3_T						(1 << 13)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_T_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_T_LESS					0x00002000
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX3_R						(1 << 14)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_R_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_R_LESS					0x00004000
-#define   NV20TCL_TX_SHADER_CULL_MODE_TX3_Q						(1 << 15)
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_Q_GEQUAL					0x00000000
-#define    NV20TCL_TX_SHADER_CULL_MODE_TX3_Q_LESS					0x00008000
-#define  NV20TCL_VERTEX_BEGIN_END							0x000017fc
-#define   NV20TCL_VERTEX_BEGIN_END_STOP							0x00000000
-#define   NV20TCL_VERTEX_BEGIN_END_POINTS						0x00000001
-#define   NV20TCL_VERTEX_BEGIN_END_LINES						0x00000002
-#define   NV20TCL_VERTEX_BEGIN_END_LINE_LOOP						0x00000003
-#define   NV20TCL_VERTEX_BEGIN_END_LINE_STRIP						0x00000004
-#define   NV20TCL_VERTEX_BEGIN_END_TRIANGLES						0x00000005
-#define   NV20TCL_VERTEX_BEGIN_END_TRIANGLE_STRIP					0x00000006
-#define   NV20TCL_VERTEX_BEGIN_END_TRIANGLE_FAN						0x00000007
-#define   NV20TCL_VERTEX_BEGIN_END_QUADS						0x00000008
-#define   NV20TCL_VERTEX_BEGIN_END_QUAD_STRIP						0x00000009
-#define   NV20TCL_VERTEX_BEGIN_END_POLYGON						0x0000000a
-#define  NV20TCL_VB_ELEMENT_U16								0x00001800
-#define   NV20TCL_VB_ELEMENT_U16_I0_SHIFT						0
-#define   NV20TCL_VB_ELEMENT_U16_I0_MASK						0x0000ffff
-#define   NV20TCL_VB_ELEMENT_U16_I1_SHIFT						16
-#define   NV20TCL_VB_ELEMENT_U16_I1_MASK						0xffff0000
-#define  NV20TCL_VB_ELEMENT_U32								0x00001808
-#define  NV20TCL_VB_VERTEX_BATCH							0x00001810
-#define   NV20TCL_VB_VERTEX_BATCH_OFFSET_SHIFT						0
-#define   NV20TCL_VB_VERTEX_BATCH_OFFSET_MASK						0x00ffffff
-#define   NV20TCL_VB_VERTEX_BATCH_COUNT_SHIFT						24
-#define   NV20TCL_VB_VERTEX_BATCH_COUNT_MASK						0xff000000
-#define  NV20TCL_VERTEX_DATA								0x00001818
-#define  NV20TCL_TX_SHADER_CONST_EYE_X							0x0000181c
-#define  NV20TCL_TX_SHADER_CONST_EYE_Y							0x00001820
-#define  NV20TCL_TX_SHADER_CONST_EYE_Z							0x00001824
-#define  NV20TCL_VTX_ATTR_4F_X(x)							(0x00001a00+((x)*16))
-#define  NV20TCL_VTX_ATTR_4F_X__SIZE							0x00000010
-#define  NV20TCL_VTX_ATTR_4F_Y(x)							(0x00001a04+((x)*16))
-#define  NV20TCL_VTX_ATTR_4F_Y__SIZE							0x00000010
-#define  NV20TCL_VTX_ATTR_4F_Z(x)							(0x00001a08+((x)*16))
-#define  NV20TCL_VTX_ATTR_4F_Z__SIZE							0x00000010
-#define  NV20TCL_VTX_ATTR_4F_W(x)							(0x00001a0c+((x)*16))
-#define  NV20TCL_VTX_ATTR_4F_W__SIZE							0x00000010
-#define  NV20TCL_TX_OFFSET(x)								(0x00001b00+((x)*64))
-#define  NV20TCL_TX_OFFSET__SIZE							0x00000004
-#define  NV20TCL_TX_FORMAT(x)								(0x00001b04+((x)*64))
-#define  NV20TCL_TX_FORMAT__SIZE							0x00000004
-#define   NV20TCL_TX_FORMAT_DMA0							(1 <<  0)
-#define   NV20TCL_TX_FORMAT_DMA1							(1 <<  1)
-#define   NV20TCL_TX_FORMAT_CUBIC							(1 <<  2)
-#define   NV20TCL_TX_FORMAT_NO_BORDER							(1 <<  3)
-#define   NV20TCL_TX_FORMAT_DIMS_SHIFT							4
-#define   NV20TCL_TX_FORMAT_DIMS_MASK							0x000000f0
-#define    NV20TCL_TX_FORMAT_DIMS_1D							0x00000010
-#define    NV20TCL_TX_FORMAT_DIMS_2D							0x00000020
-#define    NV20TCL_TX_FORMAT_DIMS_3D							0x00000030
-#define   NV20TCL_TX_FORMAT_FORMAT_SHIFT						8
-#define   NV20TCL_TX_FORMAT_FORMAT_MASK							0x0000ff00
-#define    NV20TCL_TX_FORMAT_FORMAT_L8							0x00000000
-#define    NV20TCL_TX_FORMAT_FORMAT_A8							0x00000100
-#define    NV20TCL_TX_FORMAT_FORMAT_A1R5G5B5						0x00000200
-#define    NV20TCL_TX_FORMAT_FORMAT_A4R4G4B4						0x00000400
-#define    NV20TCL_TX_FORMAT_FORMAT_R5G6B5						0x00000500
-#define    NV20TCL_TX_FORMAT_FORMAT_A8R8G8B8						0x00000600
-#define    NV20TCL_TX_FORMAT_FORMAT_X8R8G8B8						0x00000700
-#define    NV20TCL_TX_FORMAT_FORMAT_INDEX8						0x00000b00
-#define    NV20TCL_TX_FORMAT_FORMAT_DXT1						0x00000c00
-#define    NV20TCL_TX_FORMAT_FORMAT_DXT3						0x00000e00
-#define    NV20TCL_TX_FORMAT_FORMAT_DXT5						0x00000f00
-#define    NV20TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT					0x00001000
-#define    NV20TCL_TX_FORMAT_FORMAT_R5G6B5_RECT						0x00001100
-#define    NV20TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT					0x00001200
-#define    NV20TCL_TX_FORMAT_FORMAT_L8_RECT						0x00001300
-#define    NV20TCL_TX_FORMAT_FORMAT_DSDT8_RECT						0x00001700
-#define    NV20TCL_TX_FORMAT_FORMAT_A8L8						0x00001a00
-#define    NV20TCL_TX_FORMAT_FORMAT_A8_RECT						0x00001b00
-#define    NV20TCL_TX_FORMAT_FORMAT_A4R4G4B4_RECT					0x00001d00
-#define    NV20TCL_TX_FORMAT_FORMAT_R8G8B8_RECT						0x00001e00
-#define    NV20TCL_TX_FORMAT_FORMAT_A8L8_RECT						0x00002000
-#define    NV20TCL_TX_FORMAT_FORMAT_DSDT8						0x00002800
-#define    NV20TCL_TX_FORMAT_FORMAT_HILO16						0x00003300
-#define    NV20TCL_TX_FORMAT_FORMAT_HILO16_RECT						0x00003600
-#define    NV20TCL_TX_FORMAT_FORMAT_HILO8						0x00004400
-#define    NV20TCL_TX_FORMAT_FORMAT_SIGNED_HILO8					0x00004500
-#define    NV20TCL_TX_FORMAT_FORMAT_HILO8_RECT						0x00004600
-#define    NV20TCL_TX_FORMAT_FORMAT_SIGNED_HILO8_RECT					0x00004700
-#define    NV20TCL_TX_FORMAT_FORMAT_A16							0x00003200
-#define    NV20TCL_TX_FORMAT_FORMAT_A16_RECT						0x00003500
-#define    NV20TCL_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV					0x00004a00
-#define    NV20TCL_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV					0x00004b00
-#define    NV20TCL_TX_FORMAT_FORMAT_FLOAT_R32_NV					0x00004c00
-#define   NV20TCL_TX_FORMAT_MIPMAP							(1 << 19)
-#define   NV20TCL_TX_FORMAT_BASE_SIZE_U_SHIFT						20
-#define   NV20TCL_TX_FORMAT_BASE_SIZE_U_MASK						0x00f00000
-#define   NV20TCL_TX_FORMAT_BASE_SIZE_V_SHIFT						24
-#define   NV20TCL_TX_FORMAT_BASE_SIZE_V_MASK						0x0f000000
-#define   NV20TCL_TX_FORMAT_BASE_SIZE_W_SHIFT						28
-#define   NV20TCL_TX_FORMAT_BASE_SIZE_W_MASK						0xf0000000
-#define  NV20TCL_TX_WRAP(x)								(0x00001b08+((x)*64))
-#define  NV20TCL_TX_WRAP__SIZE								0x00000004
-#define   NV20TCL_TX_WRAP_S_SHIFT							0
-#define   NV20TCL_TX_WRAP_S_MASK							0x000000ff
-#define    NV20TCL_TX_WRAP_S_REPEAT							0x00000001
-#define    NV20TCL_TX_WRAP_S_MIRRORED_REPEAT						0x00000002
-#define    NV20TCL_TX_WRAP_S_CLAMP_TO_EDGE						0x00000003
-#define    NV20TCL_TX_WRAP_S_CLAMP_TO_BORDER						0x00000004
-#define    NV20TCL_TX_WRAP_S_CLAMP							0x00000005
-#define   NV20TCL_TX_WRAP_T_SHIFT							8
-#define   NV20TCL_TX_WRAP_T_MASK							0x00000f00
-#define    NV20TCL_TX_WRAP_T_REPEAT							0x00000100
-#define    NV20TCL_TX_WRAP_T_MIRRORED_REPEAT						0x00000200
-#define    NV20TCL_TX_WRAP_T_CLAMP_TO_EDGE						0x00000300
-#define    NV20TCL_TX_WRAP_T_CLAMP_TO_BORDER						0x00000400
-#define    NV20TCL_TX_WRAP_T_CLAMP							0x00000500
-#define   NV20TCL_TX_WRAP_R_SHIFT							16
-#define   NV20TCL_TX_WRAP_R_MASK							0x000f0000
-#define    NV20TCL_TX_WRAP_R_REPEAT							0x00010000
-#define    NV20TCL_TX_WRAP_R_MIRRORED_REPEAT						0x00020000
-#define    NV20TCL_TX_WRAP_R_CLAMP_TO_EDGE						0x00030000
-#define    NV20TCL_TX_WRAP_R_CLAMP_TO_BORDER						0x00040000
-#define    NV20TCL_TX_WRAP_R_CLAMP							0x00050000
-#define  NV20TCL_TX_ENABLE(x)								(0x00001b0c+((x)*64))
-#define  NV20TCL_TX_ENABLE__SIZE							0x00000004
-#define   NV20TCL_TX_ENABLE_ANISO_SHIFT							4
-#define   NV20TCL_TX_ENABLE_ANISO_MASK							0x00000030
-#define    NV20TCL_TX_ENABLE_ANISO_NONE							0x00000000
-#define    NV20TCL_TX_ENABLE_ANISO_2X							0x00000010
-#define    NV20TCL_TX_ENABLE_ANISO_4X							0x00000020
-#define    NV20TCL_TX_ENABLE_ANISO_8X							0x00000030
-#define   NV20TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT					14
-#define   NV20TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK						0x0003c000
-#define   NV20TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT					26
-#define   NV20TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK						0x3c000000
-#define   NV20TCL_TX_ENABLE_ENABLE							(1 << 30)
-#define  NV20TCL_TX_NPOT_PITCH(x)							(0x00001b10+((x)*64))
-#define  NV20TCL_TX_NPOT_PITCH__SIZE							0x00000004
-#define   NV20TCL_TX_NPOT_PITCH_PITCH_SHIFT						16
-#define   NV20TCL_TX_NPOT_PITCH_PITCH_MASK						0xffff0000
-#define  NV20TCL_TX_FILTER(x)								(0x00001b14+((x)*64))
-#define  NV20TCL_TX_FILTER__SIZE							0x00000004
-#define   NV20TCL_TX_FILTER_LOD_BIAS_SHIFT						8
-#define   NV20TCL_TX_FILTER_LOD_BIAS_MASK						0x00000f00
-#define   NV20TCL_TX_FILTER_MINIFY_SHIFT						16
-#define   NV20TCL_TX_FILTER_MINIFY_MASK							0x000f0000
-#define    NV20TCL_TX_FILTER_MINIFY_NEAREST						0x00010000
-#define    NV20TCL_TX_FILTER_MINIFY_LINEAR						0x00020000
-#define    NV20TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST				0x00030000
-#define    NV20TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST				0x00040000
-#define    NV20TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR				0x00050000
-#define    NV20TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR				0x00060000
-#define   NV20TCL_TX_FILTER_MAGNIFY_SHIFT						24
-#define   NV20TCL_TX_FILTER_MAGNIFY_MASK						0x0f000000
-#define    NV20TCL_TX_FILTER_MAGNIFY_NEAREST						0x01000000
-#define    NV20TCL_TX_FILTER_MAGNIFY_LINEAR						0x02000000
-#define  NV20TCL_TX_NPOT_SIZE(x)							(0x00001b1c+((x)*64))
-#define  NV20TCL_TX_NPOT_SIZE__SIZE							0x00000004
-#define   NV20TCL_TX_NPOT_SIZE_H_SHIFT							0
-#define   NV20TCL_TX_NPOT_SIZE_H_MASK							0x0000ffff
-#define   NV20TCL_TX_NPOT_SIZE_W_SHIFT							16
-#define   NV20TCL_TX_NPOT_SIZE_W_MASK							0xffff0000
-#define  NV20TCL_TX_PALETTE_OFFSET(x)							(0x00001b20+((x)*64))
-#define  NV20TCL_TX_PALETTE_OFFSET__SIZE						0x00000004
-#define  NV20TCL_TX_BORDER_COLOR(x)							(0x00001b24+((x)*64))
-#define  NV20TCL_TX_BORDER_COLOR__SIZE							0x00000004
-#define   NV20TCL_TX_BORDER_COLOR_B_SHIFT						0
-#define   NV20TCL_TX_BORDER_COLOR_B_MASK						0x000000ff
-#define   NV20TCL_TX_BORDER_COLOR_G_SHIFT						8
-#define   NV20TCL_TX_BORDER_COLOR_G_MASK						0x0000ff00
-#define   NV20TCL_TX_BORDER_COLOR_R_SHIFT						16
-#define   NV20TCL_TX_BORDER_COLOR_R_MASK						0x00ff0000
-#define   NV20TCL_TX_BORDER_COLOR_A_SHIFT						24
-#define   NV20TCL_TX_BORDER_COLOR_A_MASK						0xff000000
-#define  NV20TCL_TX_SHADER_OFFSET_MATRIX00(x)						(0x00001b28+((x)*64))
-#define  NV20TCL_TX_SHADER_OFFSET_MATRIX00__SIZE					0x00000004
-#define  NV20TCL_TX_SHADER_OFFSET_MATRIX01(x)						(0x00001b2c+((x)*64))
-#define  NV20TCL_TX_SHADER_OFFSET_MATRIX01__SIZE					0x00000004
-#define  NV20TCL_TX_SHADER_OFFSET_MATRIX11(x)						(0x00001b30+((x)*64))
-#define  NV20TCL_TX_SHADER_OFFSET_MATRIX11__SIZE					0x00000004
-#define  NV20TCL_TX_SHADER_OFFSET_MATRIX10(x)						(0x00001b34+((x)*64))
-#define  NV20TCL_TX_SHADER_OFFSET_MATRIX10__SIZE					0x00000004
-#define  NV20TCL_DEPTH_UNK17D8								0x00001d78
-#define   NV20TCL_DEPTH_UNK17D8_CLAMP_SHIFT						4
-#define   NV20TCL_DEPTH_UNK17D8_CLAMP_MASK						0x000000f0
-#define  NV20TCL_MULTISAMPLE_CONTROL							0x00001d7c
-#define  NV20TCL_CLEAR_DEPTH_VALUE							0x00001d8c
-#define  NV20TCL_CLEAR_VALUE								0x00001d90
-#define  NV20TCL_CLEAR_BUFFERS								0x00001d94
-#define   NV20TCL_CLEAR_BUFFERS_COLOR_A							(1 <<  7)
-#define   NV20TCL_CLEAR_BUFFERS_COLOR_B							(1 <<  6)
-#define   NV20TCL_CLEAR_BUFFERS_COLOR_G							(1 <<  5)
-#define   NV20TCL_CLEAR_BUFFERS_COLOR_R							(1 <<  4)
-#define   NV20TCL_CLEAR_BUFFERS_STENCIL							(1 <<  1)
-#define   NV20TCL_CLEAR_BUFFERS_DEPTH							(1 <<  0)
-#define  NV20TCL_RC_COLOR0								0x00001e20
-#define   NV20TCL_RC_COLOR0_B_SHIFT							0
-#define   NV20TCL_RC_COLOR0_B_MASK							0x000000ff
-#define   NV20TCL_RC_COLOR0_G_SHIFT							8
-#define   NV20TCL_RC_COLOR0_G_MASK							0x0000ff00
-#define   NV20TCL_RC_COLOR0_R_SHIFT							16
-#define   NV20TCL_RC_COLOR0_R_MASK							0x00ff0000
-#define   NV20TCL_RC_COLOR0_A_SHIFT							24
-#define   NV20TCL_RC_COLOR0_A_MASK							0xff000000
-#define  NV20TCL_RC_COLOR1								0x00001e24
-#define   NV20TCL_RC_COLOR1_B_SHIFT							0
-#define   NV20TCL_RC_COLOR1_B_MASK							0x000000ff
-#define   NV20TCL_RC_COLOR1_G_SHIFT							8
-#define   NV20TCL_RC_COLOR1_G_MASK							0x0000ff00
-#define   NV20TCL_RC_COLOR1_R_SHIFT							16
-#define   NV20TCL_RC_COLOR1_R_MASK							0x00ff0000
-#define   NV20TCL_RC_COLOR1_A_SHIFT							24
-#define   NV20TCL_RC_COLOR1_A_MASK							0xff000000
-#define  NV20TCL_BACK_MATERIAL_SHININESS(x)						(0x00001e28+((x)*4))
-#define  NV20TCL_BACK_MATERIAL_SHININESS__SIZE						0x00000006
-#define  NV20TCL_RC_OUT_RGB(x)								(0x00001e40+((x)*4))
-#define  NV20TCL_RC_OUT_RGB__SIZE							0x00000008
-#define   NV20TCL_RC_OUT_RGB_CD_OUTPUT_SHIFT						0
-#define   NV20TCL_RC_OUT_RGB_CD_OUTPUT_MASK						0x0000000f
-#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_ZERO						0x00000000
-#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0					0x00000001
-#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1					0x00000002
-#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_FOG						0x00000003
-#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR					0x00000004
-#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR					0x00000005
-#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE0					0x00000008
-#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE1					0x00000009
-#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0						0x0000000c
-#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE1						0x0000000d
-#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F					0x0000000f
-#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE2					0x0000000a
-#define    NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE3					0x0000000b
-#define   NV20TCL_RC_OUT_RGB_AB_OUTPUT_SHIFT						4
-#define   NV20TCL_RC_OUT_RGB_AB_OUTPUT_MASK						0x000000f0
-#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_ZERO						0x00000000
-#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0					0x00000010
-#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1					0x00000020
-#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_FOG						0x00000030
-#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR					0x00000040
-#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR					0x00000050
-#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE0					0x00000080
-#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE1					0x00000090
-#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0						0x000000c0
-#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE1						0x000000d0
-#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000000e0
-#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F					0x000000f0
-#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE2					0x000000a0
-#define    NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE3					0x000000b0
-#define   NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SHIFT						8
-#define   NV20TCL_RC_OUT_RGB_SUM_OUTPUT_MASK						0x00000f00
-#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_ZERO						0x00000000
-#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0				0x00000100
-#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1				0x00000200
-#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_FOG						0x00000300
-#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR					0x00000400
-#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR				0x00000500
-#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0					0x00000800
-#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1					0x00000900
-#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0						0x00000c00
-#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE1						0x00000d00
-#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F					0x00000f00
-#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2					0x00000a00
-#define    NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3					0x00000b00
-#define   NV20TCL_RC_OUT_RGB_CD_DOT_PRODUCT						(1 << 12)
-#define   NV20TCL_RC_OUT_RGB_AB_DOT_PRODUCT						(1 << 13)
-#define   NV20TCL_RC_OUT_RGB_MUX_SUM							(1 << 14)
-#define   NV20TCL_RC_OUT_RGB_BIAS							(1 << 15)
-#define    NV20TCL_RC_OUT_RGB_BIAS_NONE							0x00000000
-#define    NV20TCL_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF				0x00008000
-#define   NV20TCL_RC_OUT_RGB_SCALE_SHIFT						17
-#define   NV20TCL_RC_OUT_RGB_SCALE_MASK							0x00000000
-#define    NV20TCL_RC_OUT_RGB_SCALE_NONE						0x00000000
-#define    NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_TWO					0x00020000
-#define    NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_FOUR					0x00040000
-#define    NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF					0x00060000
-#define  NV20TCL_RC_ENABLE								0x00001e60
-#define   NV20TCL_RC_ENABLE_NUM_COMBINERS_SHIFT						0
-#define   NV20TCL_RC_ENABLE_NUM_COMBINERS_MASK						0x0000000f
-#define  NV20TCL_TX_RCOMP								0x00001e6c
-#define   NV20TCL_TX_RCOMP_NEVER							0x00000000
-#define   NV20TCL_TX_RCOMP_GREATER							0x00000001
-#define   NV20TCL_TX_RCOMP_EQUAL							0x00000002
-#define   NV20TCL_TX_RCOMP_GEQUAL							0x00000003
-#define   NV20TCL_TX_RCOMP_LESS								0x00000004
-#define   NV20TCL_TX_RCOMP_NOTEQUAL							0x00000005
-#define   NV20TCL_TX_RCOMP_LEQUAL							0x00000006
-#define   NV20TCL_TX_RCOMP_ALWAYS							0x00000007
-#define  NV20TCL_TX_SHADER_OP								0x00001e70
-#define   NV20TCL_TX_SHADER_OP_TX0_SHIFT						0
-#define   NV20TCL_TX_SHADER_OP_TX0_MASK							0x0000001f
-#define    NV20TCL_TX_SHADER_OP_TX0_NONE						0x00000000
-#define    NV20TCL_TX_SHADER_OP_TX0_TEXTURE_2D						0x00000001
-#define    NV20TCL_TX_SHADER_OP_TX0_PASS_THROUGH					0x00000004
-#define    NV20TCL_TX_SHADER_OP_TX0_CULL_FRAGMENT					0x00000005
-#define    NV20TCL_TX_SHADER_OP_TX0_OFFSET_TEXTURE_2D					0x00000006
-#define    NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT_TEXTURE_2D				0x00000009
-#define    NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT_DEPTH_REPLACE				0x0000000a
-#define    NV20TCL_TX_SHADER_OP_TX0_DEPENDANT_AR_TEXTURE_2D				0x0000000f
-#define    NV20TCL_TX_SHADER_OP_TX0_DEPENDANT_GB_TEXTURE_2D				0x00000010
-#define    NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT						0x00000011
-#define   NV20TCL_TX_SHADER_OP_TX1_SHIFT						5
-#define   NV20TCL_TX_SHADER_OP_TX1_MASK							0x000003e0
-#define    NV20TCL_TX_SHADER_OP_TX1_NONE						0x00000000
-#define    NV20TCL_TX_SHADER_OP_TX1_TEXTURE_2D						0x00000020
-#define    NV20TCL_TX_SHADER_OP_TX1_PASS_THROUGH					0x00000080
-#define    NV20TCL_TX_SHADER_OP_TX1_CULL_FRAGMENT					0x000000a0
-#define    NV20TCL_TX_SHADER_OP_TX1_OFFSET_TEXTURE_2D					0x000000c0
-#define    NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT_TEXTURE_2D				0x00000120
-#define    NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT_DEPTH_REPLACE				0x00000140
-#define    NV20TCL_TX_SHADER_OP_TX1_DEPENDANT_AR_TEXTURE_2D				0x000001e0
-#define    NV20TCL_TX_SHADER_OP_TX1_DEPENDANT_GB_TEXTURE_2D				0x00000200
-#define    NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT						0x00000220
-#define   NV20TCL_TX_SHADER_OP_TX2_SHIFT						10
-#define   NV20TCL_TX_SHADER_OP_TX2_MASK							0x00007c00
-#define    NV20TCL_TX_SHADER_OP_TX2_NONE						0x00000000
-#define    NV20TCL_TX_SHADER_OP_TX2_TEXTURE_2D						0x00000400
-#define    NV20TCL_TX_SHADER_OP_TX2_PASS_THROUGH					0x00001000
-#define    NV20TCL_TX_SHADER_OP_TX2_CULL_FRAGMENT					0x00001400
-#define    NV20TCL_TX_SHADER_OP_TX2_OFFSET_TEXTURE_2D					0x00001800
-#define    NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT_TEXTURE_2D				0x00002400
-#define    NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT_DEPTH_REPLACE				0x00002800
-#define    NV20TCL_TX_SHADER_OP_TX2_DEPENDANT_AR_TEXTURE_2D				0x00003c00
-#define    NV20TCL_TX_SHADER_OP_TX2_DEPENDANT_GB_TEXTURE_2D				0x00004000
-#define    NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT						0x00004400
-#define   NV20TCL_TX_SHADER_OP_TX3_SHIFT						15
-#define   NV20TCL_TX_SHADER_OP_TX3_MASK							0x000f8000
-#define    NV20TCL_TX_SHADER_OP_TX3_NONE						0x00000000
-#define    NV20TCL_TX_SHADER_OP_TX3_TEXTURE_2D						0x00008000
-#define    NV20TCL_TX_SHADER_OP_TX3_PASS_THROUGH					0x00020000
-#define    NV20TCL_TX_SHADER_OP_TX3_CULL_FRAGMENT					0x00028000
-#define    NV20TCL_TX_SHADER_OP_TX3_OFFSET_TEXTURE_2D					0x00030000
-#define    NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT_TEXTURE_2D				0x00048000
-#define    NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT_DEPTH_REPLACE				0x00050000
-#define    NV20TCL_TX_SHADER_OP_TX3_DEPENDANT_AR_TEXTURE_2D				0x00078000
-#define    NV20TCL_TX_SHADER_OP_TX3_DEPENDANT_GB_TEXTURE_2D				0x00080000
-#define    NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT						0x00088000
-#define  NV20TCL_TX_SHADER_DOTMAPPING							0x00001e74
-#define   NV20TCL_TX_SHADER_DOTMAPPING_TX0_SHIFT					0
-#define   NV20TCL_TX_SHADER_DOTMAPPING_TX0_MASK						0x0000000f
-#define   NV20TCL_TX_SHADER_DOTMAPPING_TX1_SHIFT					4
-#define   NV20TCL_TX_SHADER_DOTMAPPING_TX1_MASK						0x000000f0
-#define   NV20TCL_TX_SHADER_DOTMAPPING_TX2_SHIFT					8
-#define   NV20TCL_TX_SHADER_DOTMAPPING_TX2_MASK						0x00000f00
-#define   NV20TCL_TX_SHADER_DOTMAPPING_TX3_SHIFT					12
-#define   NV20TCL_TX_SHADER_DOTMAPPING_TX3_MASK						0x0000f000
-#define  NV20TCL_TX_SHADER_PREVIOUS							0x00001e78
-#define   NV20TCL_TX_SHADER_PREVIOUS_TX0_SHIFT						8
-#define   NV20TCL_TX_SHADER_PREVIOUS_TX0_MASK						0x00000f00
-#define   NV20TCL_TX_SHADER_PREVIOUS_TX1_SHIFT						12
-#define   NV20TCL_TX_SHADER_PREVIOUS_TX1_MASK						0x0000f000
-#define   NV20TCL_TX_SHADER_PREVIOUS_TX2_SHIFT						16
-#define   NV20TCL_TX_SHADER_PREVIOUS_TX2_MASK						0x00030000
-#define   NV20TCL_TX_SHADER_PREVIOUS_TX3_SHIFT						20
-#define   NV20TCL_TX_SHADER_PREVIOUS_TX3_MASK						0x00300000
-#define  NV20TCL_ENGINE									0x00001e94
-#define   NV20TCL_ENGINE_VP								(1 <<  1)
-#define   NV20TCL_ENGINE_FIXED								(1 <<  2)
-#define  NV20TCL_VP_UPLOAD_FROM_ID							0x00001e9c
-#define  NV20TCL_VP_START_FROM_ID							0x00001ea0
-#define  NV20TCL_VP_UPLOAD_CONST_ID							0x00001ea4
-
-
-#define NV25TCL										0x00000597
-
-#define  NV25TCL_DMA_IN_MEMORY4								0x0000019c
-#define  NV25TCL_DMA_IN_MEMORY5								0x000001a0
-#define  NV25TCL_DMA_IN_MEMORY8								0x000001ac
-#define  NV25TCL_DMA_IN_MEMORY9								0x000001b0
-
-
-#define NV30TCL										0x00000397
-
-
-
-#define NV35TCL										0x00000497
-
-
-
-#define NV34TCL										0x00000697
-
-#define  NV34TCL_NOP									0x00000100
-#define  NV34TCL_NOTIFY									0x00000104
-#define  NV34TCL_DMA_NOTIFY								0x00000180
-#define  NV34TCL_DMA_TEXTURE0								0x00000184
-#define  NV34TCL_DMA_TEXTURE1								0x00000188
-#define  NV34TCL_DMA_COLOR1								0x0000018c
-#define  NV34TCL_DMA_COLOR0								0x00000194
-#define  NV34TCL_DMA_ZETA								0x00000198
-#define  NV34TCL_DMA_VTXBUF0								0x0000019c
-#define  NV34TCL_DMA_VTXBUF1								0x000001a0
-#define  NV34TCL_DMA_FENCE								0x000001a4
-#define  NV34TCL_DMA_QUERY								0x000001a8
-#define  NV34TCL_DMA_IN_MEMORY7								0x000001ac
-#define  NV34TCL_DMA_IN_MEMORY8								0x000001b0
-#define  NV34TCL_RT_HORIZ								0x00000200
-#define   NV34TCL_RT_HORIZ_X_SHIFT							0
-#define   NV34TCL_RT_HORIZ_X_MASK							0x0000ffff
-#define   NV34TCL_RT_HORIZ_W_SHIFT							16
-#define   NV34TCL_RT_HORIZ_W_MASK							0xffff0000
-#define  NV34TCL_RT_VERT								0x00000204
-#define   NV34TCL_RT_VERT_Y_SHIFT							0
-#define   NV34TCL_RT_VERT_Y_MASK							0x0000ffff
-#define   NV34TCL_RT_VERT_H_SHIFT							16
-#define   NV34TCL_RT_VERT_H_MASK							0xffff0000
-#define  NV34TCL_RT_FORMAT								0x00000208
-#define   NV34TCL_RT_FORMAT_LOG2_HEIGHT_SHIFT						24
-#define   NV34TCL_RT_FORMAT_LOG2_HEIGHT_MASK						0xff000000
-#define   NV34TCL_RT_FORMAT_LOG2_WIDTH_SHIFT						16
-#define   NV34TCL_RT_FORMAT_LOG2_WIDTH_MASK						0x00ff0000
-#define   NV34TCL_RT_FORMAT_TYPE_SHIFT							8
-#define   NV34TCL_RT_FORMAT_TYPE_MASK							0x00000f00
-#define    NV34TCL_RT_FORMAT_TYPE_LINEAR						0x00000100
-#define    NV34TCL_RT_FORMAT_TYPE_SWIZZLED						0x00000200
-#define   NV34TCL_RT_FORMAT_ZETA_SHIFT							5
-#define   NV34TCL_RT_FORMAT_ZETA_MASK							0x000000e0
-#define    NV34TCL_RT_FORMAT_ZETA_Z16							0x00000020
-#define    NV34TCL_RT_FORMAT_ZETA_Z24S8							0x00000040
-#define   NV34TCL_RT_FORMAT_COLOR_SHIFT							0
-#define   NV34TCL_RT_FORMAT_COLOR_MASK							0x0000001f
-#define    NV34TCL_RT_FORMAT_COLOR_R5G6B5						0x00000003
-#define    NV34TCL_RT_FORMAT_COLOR_X8R8G8B8						0x00000005
-#define    NV34TCL_RT_FORMAT_COLOR_A8R8G8B8						0x00000008
-#define    NV34TCL_RT_FORMAT_COLOR_B8							0x00000009
-#define    NV34TCL_RT_FORMAT_COLOR_UNKNOWN						0x0000000d
-#define    NV34TCL_RT_FORMAT_COLOR_X8B8G8R8						0x0000000f
-#define    NV34TCL_RT_FORMAT_COLOR_A8B8G8R8						0x00000010
-#define  NV34TCL_COLOR0_PITCH								0x0000020c
-#define   NV34TCL_COLOR0_PITCH_COLOR0_SHIFT						0
-#define   NV34TCL_COLOR0_PITCH_COLOR0_MASK						0x0000ffff
-#define   NV34TCL_COLOR0_PITCH_ZETA_SHIFT						16
-#define   NV34TCL_COLOR0_PITCH_ZETA_MASK						0xffff0000
-#define  NV34TCL_COLOR0_OFFSET								0x00000210
-#define  NV34TCL_ZETA_OFFSET								0x00000214
-#define  NV34TCL_COLOR1_OFFSET								0x00000218
-#define  NV34TCL_COLOR1_PITCH								0x0000021c
-#define  NV34TCL_RT_ENABLE								0x00000220
-#define   NV34TCL_RT_ENABLE_MRT								(1 <<  4)
-#define   NV34TCL_RT_ENABLE_COLOR1							(1 <<  1)
-#define   NV34TCL_RT_ENABLE_COLOR0							(1 <<  0)
-#define  NV34TCL_LMA_DEPTH_PITCH							0x0000022c
-#define  NV34TCL_LMA_DEPTH_OFFSET							0x00000230
-#define  NV34TCL_TX_UNITS_ENABLE							0x0000023c
-#define   NV34TCL_TX_UNITS_ENABLE_TX0							(1 <<  0)
-#define   NV34TCL_TX_UNITS_ENABLE_TX1							(1 <<  1)
-#define   NV34TCL_TX_UNITS_ENABLE_TX2							(1 <<  2)
-#define   NV34TCL_TX_UNITS_ENABLE_TX3							(1 <<  3)
-#define   NV34TCL_TX_UNITS_ENABLE_TX4							(1 <<  4)
-#define   NV34TCL_TX_UNITS_ENABLE_TX5							(1 <<  5)
-#define   NV34TCL_TX_UNITS_ENABLE_TX6							(1 <<  6)
-#define   NV34TCL_TX_UNITS_ENABLE_TX7							(1 <<  7)
-#define  NV34TCL_TX_MATRIX_ENABLE(x)							(0x00000240+((x)*4))
-#define  NV34TCL_TX_MATRIX_ENABLE__SIZE							0x00000008
-#define  NV34TCL_VIEWPORT_TX_ORIGIN							0x000002b8
-#define   NV34TCL_VIEWPORT_TX_ORIGIN_X_SHIFT						0
-#define   NV34TCL_VIEWPORT_TX_ORIGIN_X_MASK						0x0000ffff
-#define   NV34TCL_VIEWPORT_TX_ORIGIN_Y_SHIFT						16
-#define   NV34TCL_VIEWPORT_TX_ORIGIN_Y_MASK						0xffff0000
-#define  NV34TCL_VIEWPORT_CLIP_MODE							0x000002bc
-#define  NV34TCL_VIEWPORT_CLIP_HORIZ(x)							(0x000002c0+((x)*8))
-#define  NV34TCL_VIEWPORT_CLIP_HORIZ__SIZE						0x00000008
-#define   NV34TCL_VIEWPORT_CLIP_HORIZ_L_SHIFT						0
-#define   NV34TCL_VIEWPORT_CLIP_HORIZ_L_MASK						0x0000ffff
-#define   NV34TCL_VIEWPORT_CLIP_HORIZ_R_SHIFT						16
-#define   NV34TCL_VIEWPORT_CLIP_HORIZ_R_MASK						0xffff0000
-#define  NV34TCL_VIEWPORT_CLIP_VERT(x)							(0x000002c4+((x)*8))
-#define  NV34TCL_VIEWPORT_CLIP_VERT__SIZE						0x00000008
-#define   NV34TCL_VIEWPORT_CLIP_VERT_T_SHIFT						0
-#define   NV34TCL_VIEWPORT_CLIP_VERT_T_MASK						0x0000ffff
-#define   NV34TCL_VIEWPORT_CLIP_VERT_D_SHIFT						16
-#define   NV34TCL_VIEWPORT_CLIP_VERT_D_MASK						0xffff0000
-#define  NV34TCL_DITHER_ENABLE								0x00000300
-#define  NV34TCL_ALPHA_FUNC_ENABLE							0x00000304
-#define  NV34TCL_ALPHA_FUNC_FUNC							0x00000308
-#define   NV34TCL_ALPHA_FUNC_FUNC_NEVER							0x00000200
-#define   NV34TCL_ALPHA_FUNC_FUNC_LESS							0x00000201
-#define   NV34TCL_ALPHA_FUNC_FUNC_EQUAL							0x00000202
-#define   NV34TCL_ALPHA_FUNC_FUNC_LEQUAL						0x00000203
-#define   NV34TCL_ALPHA_FUNC_FUNC_GREATER						0x00000204
-#define   NV34TCL_ALPHA_FUNC_FUNC_NOTEQUAL						0x00000205
-#define   NV34TCL_ALPHA_FUNC_FUNC_GEQUAL						0x00000206
-#define   NV34TCL_ALPHA_FUNC_FUNC_ALWAYS						0x00000207
-#define  NV34TCL_ALPHA_FUNC_REF								0x0000030c
-#define  NV34TCL_BLEND_FUNC_ENABLE							0x00000310
-#define  NV34TCL_BLEND_FUNC_SRC								0x00000314
-#define   NV34TCL_BLEND_FUNC_SRC_RGB_SHIFT						0
-#define   NV34TCL_BLEND_FUNC_SRC_RGB_MASK						0x0000ffff
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_ZERO						0x00000000
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_ONE						0x00000001
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR						0x00000300
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR				0x00000301
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA						0x00000302
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA				0x00000303
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA						0x00000304
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA				0x00000305
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_DST_COLOR						0x00000306
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR				0x00000307
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE				0x00000308
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR					0x00008001
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR				0x00008002
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA					0x00008003
-#define    NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA				0x00008004
-#define   NV34TCL_BLEND_FUNC_SRC_ALPHA_SHIFT						16
-#define   NV34TCL_BLEND_FUNC_SRC_ALPHA_MASK						0xffff0000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ZERO						0x00000000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE						0x00010000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR					0x03000000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR				0x03010000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA					0x03020000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA				0x03030000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA					0x03040000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA				0x03050000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR					0x03060000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR				0x03070000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE				0x03080000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR					0x80010000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR			0x80020000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA					0x80030000
-#define    NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA			0x80040000
-#define  NV34TCL_BLEND_FUNC_DST								0x00000318
-#define   NV34TCL_BLEND_FUNC_DST_RGB_SHIFT						0
-#define   NV34TCL_BLEND_FUNC_DST_RGB_MASK						0x0000ffff
-#define    NV34TCL_BLEND_FUNC_DST_RGB_ZERO						0x00000000
-#define    NV34TCL_BLEND_FUNC_DST_RGB_ONE						0x00000001
-#define    NV34TCL_BLEND_FUNC_DST_RGB_SRC_COLOR						0x00000300
-#define    NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR				0x00000301
-#define    NV34TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA						0x00000302
-#define    NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA				0x00000303
-#define    NV34TCL_BLEND_FUNC_DST_RGB_DST_ALPHA						0x00000304
-#define    NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA				0x00000305
-#define    NV34TCL_BLEND_FUNC_DST_RGB_DST_COLOR						0x00000306
-#define    NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR				0x00000307
-#define    NV34TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE				0x00000308
-#define    NV34TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR					0x00008001
-#define    NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR				0x00008002
-#define    NV34TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA					0x00008003
-#define    NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA				0x00008004
-#define   NV34TCL_BLEND_FUNC_DST_ALPHA_SHIFT						16
-#define   NV34TCL_BLEND_FUNC_DST_ALPHA_MASK						0xffff0000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_ZERO						0x00000000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE						0x00010000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR					0x03000000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR				0x03010000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA					0x03020000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA				0x03030000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA					0x03040000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA				0x03050000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR					0x03060000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR				0x03070000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE				0x03080000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR					0x80010000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR			0x80020000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA					0x80030000
-#define    NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA			0x80040000
-#define  NV34TCL_BLEND_COLOR								0x0000031c
-#define   NV34TCL_BLEND_COLOR_B_SHIFT							0
-#define   NV34TCL_BLEND_COLOR_B_MASK							0x000000ff
-#define   NV34TCL_BLEND_COLOR_G_SHIFT							8
-#define   NV34TCL_BLEND_COLOR_G_MASK							0x0000ff00
-#define   NV34TCL_BLEND_COLOR_R_SHIFT							16
-#define   NV34TCL_BLEND_COLOR_R_MASK							0x00ff0000
-#define   NV34TCL_BLEND_COLOR_A_SHIFT							24
-#define   NV34TCL_BLEND_COLOR_A_MASK							0xff000000
-#define  NV34TCL_BLEND_EQUATION								0x00000320
-#define   NV34TCL_BLEND_EQUATION_FUNC_ADD						0x00008006
-#define   NV34TCL_BLEND_EQUATION_MIN							0x00008007
-#define   NV34TCL_BLEND_EQUATION_MAX							0x00008008
-#define   NV34TCL_BLEND_EQUATION_FUNC_SUBTRACT						0x0000800a
-#define   NV34TCL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT					0x0000800b
-#define  NV34TCL_COLOR_MASK								0x00000324
-#define   NV34TCL_COLOR_MASK_B_SHIFT							0
-#define   NV34TCL_COLOR_MASK_B_MASK							0x000000ff
-#define   NV34TCL_COLOR_MASK_G_SHIFT							8
-#define   NV34TCL_COLOR_MASK_G_MASK							0x0000ff00
-#define   NV34TCL_COLOR_MASK_R_SHIFT							16
-#define   NV34TCL_COLOR_MASK_R_MASK							0x00ff0000
-#define   NV34TCL_COLOR_MASK_A_SHIFT							24
-#define   NV34TCL_COLOR_MASK_A_MASK							0xff000000
-#define  NV34TCL_STENCIL_FRONT_ENABLE							0x00000328
-#define  NV34TCL_STENCIL_FRONT_MASK							0x0000032c
-#define  NV34TCL_STENCIL_FRONT_FUNC_FUNC						0x00000330
-#define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_NEVER						0x00000200
-#define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_LESS						0x00000201
-#define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL						0x00000202
-#define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL					0x00000203
-#define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_GREATER					0x00000204
-#define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL					0x00000205
-#define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL					0x00000206
-#define   NV34TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS					0x00000207
-#define  NV34TCL_STENCIL_FRONT_FUNC_REF							0x00000334
-#define  NV34TCL_STENCIL_FRONT_FUNC_MASK						0x00000338
-#define  NV34TCL_STENCIL_FRONT_OP_FAIL							0x0000033c
-#define   NV34TCL_STENCIL_FRONT_OP_FAIL_ZERO						0x00000000
-#define   NV34TCL_STENCIL_FRONT_OP_FAIL_INVERT						0x0000150a
-#define   NV34TCL_STENCIL_FRONT_OP_FAIL_KEEP						0x00001e00
-#define   NV34TCL_STENCIL_FRONT_OP_FAIL_REPLACE						0x00001e01
-#define   NV34TCL_STENCIL_FRONT_OP_FAIL_INCR						0x00001e02
-#define   NV34TCL_STENCIL_FRONT_OP_FAIL_DECR						0x00001e03
-#define   NV34TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP					0x00008507
-#define   NV34TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP					0x00008508
-#define  NV34TCL_STENCIL_FRONT_OP_ZFAIL							0x00000340
-#define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_ZERO						0x00000000
-#define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_INVERT						0x0000150a
-#define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_KEEP						0x00001e00
-#define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE					0x00001e01
-#define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_INCR						0x00001e02
-#define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_DECR						0x00001e03
-#define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP					0x00008507
-#define   NV34TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP					0x00008508
-#define  NV34TCL_STENCIL_FRONT_OP_ZPASS							0x00000344
-#define   NV34TCL_STENCIL_FRONT_OP_ZPASS_ZERO						0x00000000
-#define   NV34TCL_STENCIL_FRONT_OP_ZPASS_INVERT						0x0000150a
-#define   NV34TCL_STENCIL_FRONT_OP_ZPASS_KEEP						0x00001e00
-#define   NV34TCL_STENCIL_FRONT_OP_ZPASS_REPLACE					0x00001e01
-#define   NV34TCL_STENCIL_FRONT_OP_ZPASS_INCR						0x00001e02
-#define   NV34TCL_STENCIL_FRONT_OP_ZPASS_DECR						0x00001e03
-#define   NV34TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP					0x00008507
-#define   NV34TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP					0x00008508
-#define  NV34TCL_STENCIL_BACK_ENABLE							0x00000348
-#define  NV34TCL_STENCIL_BACK_MASK							0x0000034c
-#define  NV34TCL_STENCIL_BACK_FUNC_FUNC							0x00000350
-#define   NV34TCL_STENCIL_BACK_FUNC_FUNC_NEVER						0x00000200
-#define   NV34TCL_STENCIL_BACK_FUNC_FUNC_LESS						0x00000201
-#define   NV34TCL_STENCIL_BACK_FUNC_FUNC_EQUAL						0x00000202
-#define   NV34TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL						0x00000203
-#define   NV34TCL_STENCIL_BACK_FUNC_FUNC_GREATER					0x00000204
-#define   NV34TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL					0x00000205
-#define   NV34TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL						0x00000206
-#define   NV34TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS						0x00000207
-#define  NV34TCL_STENCIL_BACK_FUNC_REF							0x00000354
-#define  NV34TCL_STENCIL_BACK_FUNC_MASK							0x00000358
-#define  NV34TCL_STENCIL_BACK_OP_FAIL							0x0000035c
-#define   NV34TCL_STENCIL_BACK_OP_FAIL_ZERO						0x00000000
-#define   NV34TCL_STENCIL_BACK_OP_FAIL_INVERT						0x0000150a
-#define   NV34TCL_STENCIL_BACK_OP_FAIL_KEEP						0x00001e00
-#define   NV34TCL_STENCIL_BACK_OP_FAIL_REPLACE						0x00001e01
-#define   NV34TCL_STENCIL_BACK_OP_FAIL_INCR						0x00001e02
-#define   NV34TCL_STENCIL_BACK_OP_FAIL_DECR						0x00001e03
-#define   NV34TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP					0x00008507
-#define   NV34TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP					0x00008508
-#define  NV34TCL_STENCIL_BACK_OP_ZFAIL							0x00000360
-#define   NV34TCL_STENCIL_BACK_OP_ZFAIL_ZERO						0x00000000
-#define   NV34TCL_STENCIL_BACK_OP_ZFAIL_INVERT						0x0000150a
-#define   NV34TCL_STENCIL_BACK_OP_ZFAIL_KEEP						0x00001e00
-#define   NV34TCL_STENCIL_BACK_OP_ZFAIL_REPLACE						0x00001e01
-#define   NV34TCL_STENCIL_BACK_OP_ZFAIL_INCR						0x00001e02
-#define   NV34TCL_STENCIL_BACK_OP_ZFAIL_DECR						0x00001e03
-#define   NV34TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP					0x00008507
-#define   NV34TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP					0x00008508
-#define  NV34TCL_STENCIL_BACK_OP_ZPASS							0x00000364
-#define   NV34TCL_STENCIL_BACK_OP_ZPASS_ZERO						0x00000000
-#define   NV34TCL_STENCIL_BACK_OP_ZPASS_INVERT						0x0000150a
-#define   NV34TCL_STENCIL_BACK_OP_ZPASS_KEEP						0x00001e00
-#define   NV34TCL_STENCIL_BACK_OP_ZPASS_REPLACE						0x00001e01
-#define   NV34TCL_STENCIL_BACK_OP_ZPASS_INCR						0x00001e02
-#define   NV34TCL_STENCIL_BACK_OP_ZPASS_DECR						0x00001e03
-#define   NV34TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP					0x00008507
-#define   NV34TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP					0x00008508
-#define  NV34TCL_SHADE_MODEL								0x00000368
-#define   NV34TCL_SHADE_MODEL_FLAT							0x00001d00
-#define   NV34TCL_SHADE_MODEL_SMOOTH							0x00001d01
-#define  NV34TCL_FOG_ENABLE								0x0000036c
-#define  NV34TCL_FOG_COLOR								0x00000370
-#define   NV34TCL_FOG_COLOR_R_SHIFT							0
-#define   NV34TCL_FOG_COLOR_R_MASK							0x000000ff
-#define   NV34TCL_FOG_COLOR_G_SHIFT							8
-#define   NV34TCL_FOG_COLOR_G_MASK							0x0000ff00
-#define   NV34TCL_FOG_COLOR_B_SHIFT							16
-#define   NV34TCL_FOG_COLOR_B_MASK							0x00ff0000
-#define   NV34TCL_FOG_COLOR_A_SHIFT							24
-#define   NV34TCL_FOG_COLOR_A_MASK							0xff000000
-#define  NV34TCL_COLOR_LOGIC_OP_ENABLE							0x00000374
-#define  NV34TCL_COLOR_LOGIC_OP_OP							0x00000378
-#define   NV34TCL_COLOR_LOGIC_OP_OP_CLEAR						0x00001500
-#define   NV34TCL_COLOR_LOGIC_OP_OP_AND							0x00001501
-#define   NV34TCL_COLOR_LOGIC_OP_OP_AND_REVERSE						0x00001502
-#define   NV34TCL_COLOR_LOGIC_OP_OP_COPY						0x00001503
-#define   NV34TCL_COLOR_LOGIC_OP_OP_AND_INVERTED					0x00001504
-#define   NV34TCL_COLOR_LOGIC_OP_OP_NOOP						0x00001505
-#define   NV34TCL_COLOR_LOGIC_OP_OP_XOR							0x00001506
-#define   NV34TCL_COLOR_LOGIC_OP_OP_OR							0x00001507
-#define   NV34TCL_COLOR_LOGIC_OP_OP_NOR							0x00001508
-#define   NV34TCL_COLOR_LOGIC_OP_OP_EQUIV						0x00001509
-#define   NV34TCL_COLOR_LOGIC_OP_OP_INVERT						0x0000150a
-#define   NV34TCL_COLOR_LOGIC_OP_OP_OR_REVERSE						0x0000150b
-#define   NV34TCL_COLOR_LOGIC_OP_OP_COPY_INVERTED					0x0000150c
-#define   NV34TCL_COLOR_LOGIC_OP_OP_OR_INVERTED						0x0000150d
-#define   NV34TCL_COLOR_LOGIC_OP_OP_NAND						0x0000150e
-#define   NV34TCL_COLOR_LOGIC_OP_OP_SET							0x0000150f
-#define  NV34TCL_NORMALIZE_ENABLE							0x0000037c
-#define  NV34TCL_COLOR_MATERIAL								0x00000390
-#define   NV34TCL_COLOR_MATERIAL_FRONT_EMISSION_ENABLE					(1 <<  0)
-#define   NV34TCL_COLOR_MATERIAL_FRONT_AMBIENT_ENABLE					(1 <<  2)
-#define   NV34TCL_COLOR_MATERIAL_FRONT_DIFFUSE_ENABLE					(1 <<  4)
-#define   NV34TCL_COLOR_MATERIAL_FRONT_SPECULAR_ENABLE					(1 <<  6)
-#define   NV34TCL_COLOR_MATERIAL_BACK_EMISSION_ENABLE					(1 <<  8)
-#define   NV34TCL_COLOR_MATERIAL_BACK_AMBIENT_ENABLE					(1 << 10)
-#define   NV34TCL_COLOR_MATERIAL_BACK_DIFFUSE_ENABLE					(1 << 12)
-#define   NV34TCL_COLOR_MATERIAL_BACK_SPECULAR_ENABLE					(1 << 14)
-#define  NV34TCL_DEPTH_RANGE_NEAR							0x00000394
-#define  NV34TCL_DEPTH_RANGE_FAR							0x00000398
-#define  NV34TCL_COLOR_MATERIAL_FRONT_R							0x000003a0
-#define  NV34TCL_COLOR_MATERIAL_FRONT_G							0x000003a4
-#define  NV34TCL_COLOR_MATERIAL_FRONT_B							0x000003a8
-#define  NV34TCL_COLOR_MATERIAL_FRONT_A							0x000003b4
-#define  NV34TCL_LINE_WIDTH								0x000003b8
-#define  NV34TCL_LINE_SMOOTH_ENABLE							0x000003bc
-#define  NV34TCL_TX_GEN_S(x)								(0x00000400+((x)*16))
-#define  NV34TCL_TX_GEN_S__SIZE								0x00000008
-#define   NV34TCL_TX_GEN_S_FALSE							0x00000000
-#define   NV34TCL_TX_GEN_S_EYE_LINEAR							0x00002400
-#define   NV34TCL_TX_GEN_S_OBJECT_LINEAR						0x00002401
-#define   NV34TCL_TX_GEN_S_SPHERE_MAP							0x00002402
-#define   NV34TCL_TX_GEN_S_NORMAL_MAP							0x00008511
-#define   NV34TCL_TX_GEN_S_REFLECTION_MAP						0x00008512
-#define  NV34TCL_TX_GEN_T(x)								(0x00000404+((x)*16))
-#define  NV34TCL_TX_GEN_T__SIZE								0x00000008
-#define   NV34TCL_TX_GEN_T_FALSE							0x00000000
-#define   NV34TCL_TX_GEN_T_EYE_LINEAR							0x00002400
-#define   NV34TCL_TX_GEN_T_OBJECT_LINEAR						0x00002401
-#define   NV34TCL_TX_GEN_T_SPHERE_MAP							0x00002402
-#define   NV34TCL_TX_GEN_T_NORMAL_MAP							0x00008511
-#define   NV34TCL_TX_GEN_T_REFLECTION_MAP						0x00008512
-#define  NV34TCL_TX_GEN_R(x)								(0x00000408+((x)*16))
-#define  NV34TCL_TX_GEN_R__SIZE								0x00000008
-#define   NV34TCL_TX_GEN_R_FALSE							0x00000000
-#define   NV34TCL_TX_GEN_R_EYE_LINEAR							0x00002400
-#define   NV34TCL_TX_GEN_R_OBJECT_LINEAR						0x00002401
-#define   NV34TCL_TX_GEN_R_SPHERE_MAP							0x00002402
-#define   NV34TCL_TX_GEN_R_NORMAL_MAP							0x00008511
-#define   NV34TCL_TX_GEN_R_REFLECTION_MAP						0x00008512
-#define  NV34TCL_TX_GEN_Q(x)								(0x0000040c+((x)*16))
-#define  NV34TCL_TX_GEN_Q__SIZE								0x00000008
-#define   NV34TCL_TX_GEN_Q_FALSE							0x00000000
-#define   NV34TCL_TX_GEN_Q_EYE_LINEAR							0x00002400
-#define   NV34TCL_TX_GEN_Q_OBJECT_LINEAR						0x00002401
-#define   NV34TCL_TX_GEN_Q_SPHERE_MAP							0x00002402
-#define   NV34TCL_TX_GEN_Q_NORMAL_MAP							0x00008511
-#define   NV34TCL_TX_GEN_Q_REFLECTION_MAP						0x00008512
-#define  NV34TCL_MODELVIEW_MATRIX(x)							(0x00000480+((x)*4))
-#define  NV34TCL_MODELVIEW_MATRIX__SIZE							0x00000010
-#define  NV34TCL_INVERSE_MODELVIEW_MATRIX(x)						(0x00000580+((x)*4))
-#define  NV34TCL_INVERSE_MODELVIEW_MATRIX__SIZE						0x0000000c
-#define  NV34TCL_PROJECTION_MATRIX(x)							(0x00000680+((x)*4))
-#define  NV34TCL_PROJECTION_MATRIX__SIZE						0x00000010
-#define  NV34TCL_TX0_MATRIX(x)								(0x000006c0+((x)*4))
-#define  NV34TCL_TX0_MATRIX__SIZE							0x00000010
-#define  NV34TCL_TX1_MATRIX(x)								(0x00000700+((x)*4))
-#define  NV34TCL_TX1_MATRIX__SIZE							0x00000010
-#define  NV34TCL_TX2_MATRIX(x)								(0x00000740+((x)*4))
-#define  NV34TCL_TX2_MATRIX__SIZE							0x00000010
-#define  NV34TCL_TX3_MATRIX(x)								(0x00000780+((x)*4))
-#define  NV34TCL_TX3_MATRIX__SIZE							0x00000010
-#define  NV34TCL_TX4_MATRIX(x)								(0x000007c0+((x)*4))
-#define  NV34TCL_TX4_MATRIX__SIZE							0x00000010
-#define  NV34TCL_TX5_MATRIX(x)								(0x00000800+((x)*4))
-#define  NV34TCL_TX5_MATRIX__SIZE							0x00000010
-#define  NV34TCL_TX6_MATRIX(x)								(0x00000840+((x)*4))
-#define  NV34TCL_TX6_MATRIX__SIZE							0x00000010
-#define  NV34TCL_TX7_MATRIX(x)								(0x00000880+((x)*4))
-#define  NV34TCL_TX7_MATRIX__SIZE							0x00000010
-#define  NV34TCL_SCISSOR_HORIZ								0x000008c0
-#define   NV34TCL_SCISSOR_HORIZ_X_SHIFT							0
-#define   NV34TCL_SCISSOR_HORIZ_X_MASK							0x0000ffff
-#define   NV34TCL_SCISSOR_HORIZ_W_SHIFT							16
-#define   NV34TCL_SCISSOR_HORIZ_W_MASK							0xffff0000
-#define  NV34TCL_SCISSOR_VERT								0x000008c4
-#define   NV34TCL_SCISSOR_VERT_Y_SHIFT							0
-#define   NV34TCL_SCISSOR_VERT_Y_MASK							0x0000ffff
-#define   NV34TCL_SCISSOR_VERT_H_SHIFT							16
-#define   NV34TCL_SCISSOR_VERT_H_MASK							0xffff0000
-#define  NV34TCL_FOG_COORD_DIST								0x000008c8
-#define  NV34TCL_FOG_MODE								0x000008cc
-#define  NV34TCL_FOG_EQUATION_CONSTANT							0x000008d0
-#define  NV34TCL_FOG_EQUATION_LINEAR							0x000008d4
-#define  NV34TCL_FOG_EQUATION_QUADRATIC							0x000008d8
-#define  NV34TCL_FP_ACTIVE_PROGRAM							0x000008e4
-#define   NV34TCL_FP_ACTIVE_PROGRAM_DMA0						(1 <<  0)
-#define   NV34TCL_FP_ACTIVE_PROGRAM_DMA1						(1 <<  1)
-#define   NV34TCL_FP_ACTIVE_PROGRAM_OFFSET_SHIFT					2
-#define   NV34TCL_FP_ACTIVE_PROGRAM_OFFSET_MASK						0xfffffffc
-#define  NV34TCL_RC_COLOR0								0x000008ec
-#define   NV34TCL_RC_COLOR0_B_SHIFT							0
-#define   NV34TCL_RC_COLOR0_B_MASK							0x000000ff
-#define   NV34TCL_RC_COLOR0_G_SHIFT							8
-#define   NV34TCL_RC_COLOR0_G_MASK							0x0000ff00
-#define   NV34TCL_RC_COLOR0_R_SHIFT							16
-#define   NV34TCL_RC_COLOR0_R_MASK							0x00ff0000
-#define   NV34TCL_RC_COLOR0_A_SHIFT							24
-#define   NV34TCL_RC_COLOR0_A_MASK							0xff000000
-#define  NV34TCL_RC_COLOR1								0x000008f0
-#define   NV34TCL_RC_COLOR1_B_SHIFT							0
-#define   NV34TCL_RC_COLOR1_B_MASK							0x000000ff
-#define   NV34TCL_RC_COLOR1_G_SHIFT							8
-#define   NV34TCL_RC_COLOR1_G_MASK							0x0000ff00
-#define   NV34TCL_RC_COLOR1_R_SHIFT							16
-#define   NV34TCL_RC_COLOR1_R_MASK							0x00ff0000
-#define   NV34TCL_RC_COLOR1_A_SHIFT							24
-#define   NV34TCL_RC_COLOR1_A_MASK							0xff000000
-#define  NV34TCL_RC_FINAL0								0x000008f4
-#define   NV34TCL_RC_FINAL0_D_INPUT_SHIFT						0
-#define   NV34TCL_RC_FINAL0_D_INPUT_MASK						0x0000000f
-#define    NV34TCL_RC_FINAL0_D_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR0					0x00000001
-#define    NV34TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR1					0x00000002
-#define    NV34TCL_RC_FINAL0_D_INPUT_FOG						0x00000003
-#define    NV34TCL_RC_FINAL0_D_INPUT_PRIMARY_COLOR					0x00000004
-#define    NV34TCL_RC_FINAL0_D_INPUT_SECONDARY_COLOR					0x00000005
-#define    NV34TCL_RC_FINAL0_D_INPUT_TEXTURE0						0x00000008
-#define    NV34TCL_RC_FINAL0_D_INPUT_TEXTURE1						0x00000009
-#define    NV34TCL_RC_FINAL0_D_INPUT_SPARE0						0x0000000c
-#define    NV34TCL_RC_FINAL0_D_INPUT_SPARE1						0x0000000d
-#define    NV34TCL_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV34TCL_RC_FINAL0_D_INPUT_E_TIMES_F						0x0000000f
-#define    NV34TCL_RC_FINAL0_D_INPUT_TEXTURE2						0x0000000a
-#define    NV34TCL_RC_FINAL0_D_INPUT_TEXTURE3						0x0000000b
-#define   NV34TCL_RC_FINAL0_D_COMPONENT_USAGE						(1 <<  4)
-#define    NV34TCL_RC_FINAL0_D_COMPONENT_USAGE_RGB					0x00000000
-#define    NV34TCL_RC_FINAL0_D_COMPONENT_USAGE_ALPHA					0x00000010
-#define   NV34TCL_RC_FINAL0_D_MAPPING_SHIFT						5
-#define   NV34TCL_RC_FINAL0_D_MAPPING_MASK						0x000000e0
-#define    NV34TCL_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT					0x00000020
-#define    NV34TCL_RC_FINAL0_D_MAPPING_EXPAND_NORMAL					0x00000040
-#define    NV34TCL_RC_FINAL0_D_MAPPING_EXPAND_NEGATE					0x00000060
-#define    NV34TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL					0x00000080
-#define    NV34TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE					0x000000a0
-#define    NV34TCL_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY					0x000000c0
-#define    NV34TCL_RC_FINAL0_D_MAPPING_SIGNED_NEGATE					0x000000e0
-#define   NV34TCL_RC_FINAL0_C_INPUT_SHIFT						8
-#define   NV34TCL_RC_FINAL0_C_INPUT_MASK						0x00000f00
-#define    NV34TCL_RC_FINAL0_C_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR0					0x00000100
-#define    NV34TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR1					0x00000200
-#define    NV34TCL_RC_FINAL0_C_INPUT_FOG						0x00000300
-#define    NV34TCL_RC_FINAL0_C_INPUT_PRIMARY_COLOR					0x00000400
-#define    NV34TCL_RC_FINAL0_C_INPUT_SECONDARY_COLOR					0x00000500
-#define    NV34TCL_RC_FINAL0_C_INPUT_TEXTURE0						0x00000800
-#define    NV34TCL_RC_FINAL0_C_INPUT_TEXTURE1						0x00000900
-#define    NV34TCL_RC_FINAL0_C_INPUT_SPARE0						0x00000c00
-#define    NV34TCL_RC_FINAL0_C_INPUT_SPARE1						0x00000d00
-#define    NV34TCL_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV34TCL_RC_FINAL0_C_INPUT_E_TIMES_F						0x00000f00
-#define    NV34TCL_RC_FINAL0_C_INPUT_TEXTURE2						0x00000a00
-#define    NV34TCL_RC_FINAL0_C_INPUT_TEXTURE3						0x00000b00
-#define   NV34TCL_RC_FINAL0_C_COMPONENT_USAGE						(1 << 12)
-#define    NV34TCL_RC_FINAL0_C_COMPONENT_USAGE_RGB					0x00000000
-#define    NV34TCL_RC_FINAL0_C_COMPONENT_USAGE_ALPHA					0x00001000
-#define   NV34TCL_RC_FINAL0_C_MAPPING_SHIFT						13
-#define   NV34TCL_RC_FINAL0_C_MAPPING_MASK						0x0000e000
-#define    NV34TCL_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT					0x00002000
-#define    NV34TCL_RC_FINAL0_C_MAPPING_EXPAND_NORMAL					0x00004000
-#define    NV34TCL_RC_FINAL0_C_MAPPING_EXPAND_NEGATE					0x00006000
-#define    NV34TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL					0x00008000
-#define    NV34TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE					0x0000a000
-#define    NV34TCL_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY					0x0000c000
-#define    NV34TCL_RC_FINAL0_C_MAPPING_SIGNED_NEGATE					0x0000e000
-#define   NV34TCL_RC_FINAL0_B_INPUT_SHIFT						16
-#define   NV34TCL_RC_FINAL0_B_INPUT_MASK						0x000f0000
-#define    NV34TCL_RC_FINAL0_B_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR0					0x00010000
-#define    NV34TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR1					0x00020000
-#define    NV34TCL_RC_FINAL0_B_INPUT_FOG						0x00030000
-#define    NV34TCL_RC_FINAL0_B_INPUT_PRIMARY_COLOR					0x00040000
-#define    NV34TCL_RC_FINAL0_B_INPUT_SECONDARY_COLOR					0x00050000
-#define    NV34TCL_RC_FINAL0_B_INPUT_TEXTURE0						0x00080000
-#define    NV34TCL_RC_FINAL0_B_INPUT_TEXTURE1						0x00090000
-#define    NV34TCL_RC_FINAL0_B_INPUT_SPARE0						0x000c0000
-#define    NV34TCL_RC_FINAL0_B_INPUT_SPARE1						0x000d0000
-#define    NV34TCL_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000e0000
-#define    NV34TCL_RC_FINAL0_B_INPUT_E_TIMES_F						0x000f0000
-#define    NV34TCL_RC_FINAL0_B_INPUT_TEXTURE2						0x000a0000
-#define    NV34TCL_RC_FINAL0_B_INPUT_TEXTURE3						0x000b0000
-#define   NV34TCL_RC_FINAL0_B_COMPONENT_USAGE						(1 << 20)
-#define    NV34TCL_RC_FINAL0_B_COMPONENT_USAGE_RGB					0x00000000
-#define    NV34TCL_RC_FINAL0_B_COMPONENT_USAGE_ALPHA					0x00100000
-#define   NV34TCL_RC_FINAL0_B_MAPPING_SHIFT						21
-#define   NV34TCL_RC_FINAL0_B_MAPPING_MASK						0x00e00000
-#define    NV34TCL_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT					0x00200000
-#define    NV34TCL_RC_FINAL0_B_MAPPING_EXPAND_NORMAL					0x00400000
-#define    NV34TCL_RC_FINAL0_B_MAPPING_EXPAND_NEGATE					0x00600000
-#define    NV34TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL					0x00800000
-#define    NV34TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE					0x00a00000
-#define    NV34TCL_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY					0x00c00000
-#define    NV34TCL_RC_FINAL0_B_MAPPING_SIGNED_NEGATE					0x00e00000
-#define   NV34TCL_RC_FINAL0_A_INPUT_SHIFT						24
-#define   NV34TCL_RC_FINAL0_A_INPUT_MASK						0x0f000000
-#define    NV34TCL_RC_FINAL0_A_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR0					0x01000000
-#define    NV34TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR1					0x02000000
-#define    NV34TCL_RC_FINAL0_A_INPUT_FOG						0x03000000
-#define    NV34TCL_RC_FINAL0_A_INPUT_PRIMARY_COLOR					0x04000000
-#define    NV34TCL_RC_FINAL0_A_INPUT_SECONDARY_COLOR					0x05000000
-#define    NV34TCL_RC_FINAL0_A_INPUT_TEXTURE0						0x08000000
-#define    NV34TCL_RC_FINAL0_A_INPUT_TEXTURE1						0x09000000
-#define    NV34TCL_RC_FINAL0_A_INPUT_SPARE0						0x0c000000
-#define    NV34TCL_RC_FINAL0_A_INPUT_SPARE1						0x0d000000
-#define    NV34TCL_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0e000000
-#define    NV34TCL_RC_FINAL0_A_INPUT_E_TIMES_F						0x0f000000
-#define    NV34TCL_RC_FINAL0_A_INPUT_TEXTURE2						0x0a000000
-#define    NV34TCL_RC_FINAL0_A_INPUT_TEXTURE3						0x0b000000
-#define   NV34TCL_RC_FINAL0_A_COMPONENT_USAGE						(1 << 28)
-#define    NV34TCL_RC_FINAL0_A_COMPONENT_USAGE_RGB					0x00000000
-#define    NV34TCL_RC_FINAL0_A_COMPONENT_USAGE_ALPHA					0x10000000
-#define   NV34TCL_RC_FINAL0_A_MAPPING_SHIFT						29
-#define   NV34TCL_RC_FINAL0_A_MAPPING_MASK						0xe0000000
-#define    NV34TCL_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT					0x20000000
-#define    NV34TCL_RC_FINAL0_A_MAPPING_EXPAND_NORMAL					0x40000000
-#define    NV34TCL_RC_FINAL0_A_MAPPING_EXPAND_NEGATE					0x60000000
-#define    NV34TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL					0x80000000
-#define    NV34TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE					0xa0000000
-#define    NV34TCL_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY					0xc0000000
-#define    NV34TCL_RC_FINAL0_A_MAPPING_SIGNED_NEGATE					0xe0000000
-#define  NV34TCL_RC_FINAL1								0x000008f8
-#define   NV34TCL_RC_FINAL1_COLOR_SUM_CLAMP						(1 <<  7)
-#define   NV34TCL_RC_FINAL1_G_INPUT_SHIFT						8
-#define   NV34TCL_RC_FINAL1_G_INPUT_MASK						0x00000f00
-#define    NV34TCL_RC_FINAL1_G_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR0					0x00000100
-#define    NV34TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR1					0x00000200
-#define    NV34TCL_RC_FINAL1_G_INPUT_FOG						0x00000300
-#define    NV34TCL_RC_FINAL1_G_INPUT_PRIMARY_COLOR					0x00000400
-#define    NV34TCL_RC_FINAL1_G_INPUT_SECONDARY_COLOR					0x00000500
-#define    NV34TCL_RC_FINAL1_G_INPUT_TEXTURE0						0x00000800
-#define    NV34TCL_RC_FINAL1_G_INPUT_TEXTURE1						0x00000900
-#define    NV34TCL_RC_FINAL1_G_INPUT_SPARE0						0x00000c00
-#define    NV34TCL_RC_FINAL1_G_INPUT_SPARE1						0x00000d00
-#define    NV34TCL_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV34TCL_RC_FINAL1_G_INPUT_E_TIMES_F						0x00000f00
-#define    NV34TCL_RC_FINAL1_G_INPUT_TEXTURE2						0x00000a00
-#define    NV34TCL_RC_FINAL1_G_INPUT_TEXTURE3						0x00000b00
-#define   NV34TCL_RC_FINAL1_G_COMPONENT_USAGE						(1 << 12)
-#define    NV34TCL_RC_FINAL1_G_COMPONENT_USAGE_RGB					0x00000000
-#define    NV34TCL_RC_FINAL1_G_COMPONENT_USAGE_ALPHA					0x00001000
-#define   NV34TCL_RC_FINAL1_G_MAPPING_SHIFT						13
-#define   NV34TCL_RC_FINAL1_G_MAPPING_MASK						0x0000e000
-#define    NV34TCL_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT					0x00002000
-#define    NV34TCL_RC_FINAL1_G_MAPPING_EXPAND_NORMAL					0x00004000
-#define    NV34TCL_RC_FINAL1_G_MAPPING_EXPAND_NEGATE					0x00006000
-#define    NV34TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL					0x00008000
-#define    NV34TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE					0x0000a000
-#define    NV34TCL_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY					0x0000c000
-#define    NV34TCL_RC_FINAL1_G_MAPPING_SIGNED_NEGATE					0x0000e000
-#define   NV34TCL_RC_FINAL1_F_INPUT_SHIFT						16
-#define   NV34TCL_RC_FINAL1_F_INPUT_MASK						0x000f0000
-#define    NV34TCL_RC_FINAL1_F_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR0					0x00010000
-#define    NV34TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR1					0x00020000
-#define    NV34TCL_RC_FINAL1_F_INPUT_FOG						0x00030000
-#define    NV34TCL_RC_FINAL1_F_INPUT_PRIMARY_COLOR					0x00040000
-#define    NV34TCL_RC_FINAL1_F_INPUT_SECONDARY_COLOR					0x00050000
-#define    NV34TCL_RC_FINAL1_F_INPUT_TEXTURE0						0x00080000
-#define    NV34TCL_RC_FINAL1_F_INPUT_TEXTURE1						0x00090000
-#define    NV34TCL_RC_FINAL1_F_INPUT_SPARE0						0x000c0000
-#define    NV34TCL_RC_FINAL1_F_INPUT_SPARE1						0x000d0000
-#define    NV34TCL_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000e0000
-#define    NV34TCL_RC_FINAL1_F_INPUT_E_TIMES_F						0x000f0000
-#define    NV34TCL_RC_FINAL1_F_INPUT_TEXTURE2						0x000a0000
-#define    NV34TCL_RC_FINAL1_F_INPUT_TEXTURE3						0x000b0000
-#define   NV34TCL_RC_FINAL1_F_COMPONENT_USAGE						(1 << 20)
-#define    NV34TCL_RC_FINAL1_F_COMPONENT_USAGE_RGB					0x00000000
-#define    NV34TCL_RC_FINAL1_F_COMPONENT_USAGE_ALPHA					0x00100000
-#define   NV34TCL_RC_FINAL1_F_MAPPING_SHIFT						21
-#define   NV34TCL_RC_FINAL1_F_MAPPING_MASK						0x00e00000
-#define    NV34TCL_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT					0x00200000
-#define    NV34TCL_RC_FINAL1_F_MAPPING_EXPAND_NORMAL					0x00400000
-#define    NV34TCL_RC_FINAL1_F_MAPPING_EXPAND_NEGATE					0x00600000
-#define    NV34TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL					0x00800000
-#define    NV34TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE					0x00a00000
-#define    NV34TCL_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY					0x00c00000
-#define    NV34TCL_RC_FINAL1_F_MAPPING_SIGNED_NEGATE					0x00e00000
-#define   NV34TCL_RC_FINAL1_E_INPUT_SHIFT						24
-#define   NV34TCL_RC_FINAL1_E_INPUT_MASK						0x0f000000
-#define    NV34TCL_RC_FINAL1_E_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR0					0x01000000
-#define    NV34TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR1					0x02000000
-#define    NV34TCL_RC_FINAL1_E_INPUT_FOG						0x03000000
-#define    NV34TCL_RC_FINAL1_E_INPUT_PRIMARY_COLOR					0x04000000
-#define    NV34TCL_RC_FINAL1_E_INPUT_SECONDARY_COLOR					0x05000000
-#define    NV34TCL_RC_FINAL1_E_INPUT_TEXTURE0						0x08000000
-#define    NV34TCL_RC_FINAL1_E_INPUT_TEXTURE1						0x09000000
-#define    NV34TCL_RC_FINAL1_E_INPUT_SPARE0						0x0c000000
-#define    NV34TCL_RC_FINAL1_E_INPUT_SPARE1						0x0d000000
-#define    NV34TCL_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0e000000
-#define    NV34TCL_RC_FINAL1_E_INPUT_E_TIMES_F						0x0f000000
-#define    NV34TCL_RC_FINAL1_E_INPUT_TEXTURE2						0x0a000000
-#define    NV34TCL_RC_FINAL1_E_INPUT_TEXTURE3						0x0b000000
-#define   NV34TCL_RC_FINAL1_E_COMPONENT_USAGE						(1 << 28)
-#define    NV34TCL_RC_FINAL1_E_COMPONENT_USAGE_RGB					0x00000000
-#define    NV34TCL_RC_FINAL1_E_COMPONENT_USAGE_ALPHA					0x10000000
-#define   NV34TCL_RC_FINAL1_E_MAPPING_SHIFT						29
-#define   NV34TCL_RC_FINAL1_E_MAPPING_MASK						0xe0000000
-#define    NV34TCL_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT					0x20000000
-#define    NV34TCL_RC_FINAL1_E_MAPPING_EXPAND_NORMAL					0x40000000
-#define    NV34TCL_RC_FINAL1_E_MAPPING_EXPAND_NEGATE					0x60000000
-#define    NV34TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL					0x80000000
-#define    NV34TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE					0xa0000000
-#define    NV34TCL_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY					0xc0000000
-#define    NV34TCL_RC_FINAL1_E_MAPPING_SIGNED_NEGATE					0xe0000000
-#define  NV34TCL_RC_ENABLE								0x000008fc
-#define   NV34TCL_RC_ENABLE_NUM_COMBINERS_SHIFT						0
-#define   NV34TCL_RC_ENABLE_NUM_COMBINERS_MASK						0x0000000f
-#define   NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR0_SHIFT					12
-#define   NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR0_MASK					0x0000f000
-#define   NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR1_SHIFT					16
-#define   NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR1_MASK					0x000f0000
-#define  NV34TCL_RC_IN_ALPHA(x)								(0x00000900+((x)*32))
-#define  NV34TCL_RC_IN_ALPHA__SIZE							0x00000008
-#define   NV34TCL_RC_IN_ALPHA_D_INPUT_SHIFT						0
-#define   NV34TCL_RC_IN_ALPHA_D_INPUT_MASK						0x0000000f
-#define    NV34TCL_RC_IN_ALPHA_D_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0					0x00000001
-#define    NV34TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1					0x00000002
-#define    NV34TCL_RC_IN_ALPHA_D_INPUT_FOG						0x00000003
-#define    NV34TCL_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR					0x00000004
-#define    NV34TCL_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR					0x00000005
-#define    NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE0						0x00000008
-#define    NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE1						0x00000009
-#define    NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE0						0x0000000c
-#define    NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE1						0x0000000d
-#define    NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV34TCL_RC_IN_ALPHA_D_INPUT_E_TIMES_F					0x0000000f
-#define    NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE2						0x0000000a
-#define    NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE3						0x0000000b
-#define   NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE						(1 <<  4)
-#define    NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE					0x00000000
-#define    NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA					0x00000010
-#define   NV34TCL_RC_IN_ALPHA_D_MAPPING_SHIFT						5
-#define   NV34TCL_RC_IN_ALPHA_D_MAPPING_MASK						0x000000e0
-#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT				0x00000020
-#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL					0x00000040
-#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE					0x00000060
-#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL				0x00000080
-#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE				0x000000a0
-#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY				0x000000c0
-#define    NV34TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE					0x000000e0
-#define   NV34TCL_RC_IN_ALPHA_C_INPUT_SHIFT						8
-#define   NV34TCL_RC_IN_ALPHA_C_INPUT_MASK						0x00000f00
-#define    NV34TCL_RC_IN_ALPHA_C_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0					0x00000100
-#define    NV34TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1					0x00000200
-#define    NV34TCL_RC_IN_ALPHA_C_INPUT_FOG						0x00000300
-#define    NV34TCL_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR					0x00000400
-#define    NV34TCL_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR					0x00000500
-#define    NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE0						0x00000800
-#define    NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE1						0x00000900
-#define    NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE0						0x00000c00
-#define    NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE1						0x00000d00
-#define    NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV34TCL_RC_IN_ALPHA_C_INPUT_E_TIMES_F					0x00000f00
-#define    NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE2						0x00000a00
-#define    NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE3						0x00000b00
-#define   NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE						(1 << 12)
-#define    NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE					0x00000000
-#define    NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA					0x00001000
-#define   NV34TCL_RC_IN_ALPHA_C_MAPPING_SHIFT						13
-#define   NV34TCL_RC_IN_ALPHA_C_MAPPING_MASK						0x0000e000
-#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT				0x00002000
-#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL					0x00004000
-#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE					0x00006000
-#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL				0x00008000
-#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE				0x0000a000
-#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY				0x0000c000
-#define    NV34TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE					0x0000e000
-#define   NV34TCL_RC_IN_ALPHA_B_INPUT_SHIFT						16
-#define   NV34TCL_RC_IN_ALPHA_B_INPUT_MASK						0x000f0000
-#define    NV34TCL_RC_IN_ALPHA_B_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0					0x00010000
-#define    NV34TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1					0x00020000
-#define    NV34TCL_RC_IN_ALPHA_B_INPUT_FOG						0x00030000
-#define    NV34TCL_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR					0x00040000
-#define    NV34TCL_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR					0x00050000
-#define    NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE0						0x00080000
-#define    NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE1						0x00090000
-#define    NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE0						0x000c0000
-#define    NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE1						0x000d0000
-#define    NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000e0000
-#define    NV34TCL_RC_IN_ALPHA_B_INPUT_E_TIMES_F					0x000f0000
-#define    NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE2						0x000a0000
-#define    NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE3						0x000b0000
-#define   NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE						(1 << 20)
-#define    NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE					0x00000000
-#define    NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA					0x00100000
-#define   NV34TCL_RC_IN_ALPHA_B_MAPPING_SHIFT						21
-#define   NV34TCL_RC_IN_ALPHA_B_MAPPING_MASK						0x00e00000
-#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT				0x00200000
-#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL					0x00400000
-#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE					0x00600000
-#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL				0x00800000
-#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE				0x00a00000
-#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY				0x00c00000
-#define    NV34TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE					0x00e00000
-#define   NV34TCL_RC_IN_ALPHA_A_INPUT_SHIFT						24
-#define   NV34TCL_RC_IN_ALPHA_A_INPUT_MASK						0x0f000000
-#define    NV34TCL_RC_IN_ALPHA_A_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0					0x01000000
-#define    NV34TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1					0x02000000
-#define    NV34TCL_RC_IN_ALPHA_A_INPUT_FOG						0x03000000
-#define    NV34TCL_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR					0x04000000
-#define    NV34TCL_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR					0x05000000
-#define    NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE0						0x08000000
-#define    NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE1						0x09000000
-#define    NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE0						0x0c000000
-#define    NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE1						0x0d000000
-#define    NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0e000000
-#define    NV34TCL_RC_IN_ALPHA_A_INPUT_E_TIMES_F					0x0f000000
-#define    NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE2						0x0a000000
-#define    NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE3						0x0b000000
-#define   NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE						(1 << 28)
-#define    NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE					0x00000000
-#define    NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA					0x10000000
-#define   NV34TCL_RC_IN_ALPHA_A_MAPPING_SHIFT						29
-#define   NV34TCL_RC_IN_ALPHA_A_MAPPING_MASK						0xe0000000
-#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT				0x20000000
-#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL					0x40000000
-#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE					0x60000000
-#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL				0x80000000
-#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE				0xa0000000
-#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY				0xc0000000
-#define    NV34TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE					0xe0000000
-#define  NV34TCL_RC_IN_RGB(x)								(0x00000904+((x)*32))
-#define  NV34TCL_RC_IN_RGB__SIZE							0x00000008
-#define   NV34TCL_RC_IN_RGB_D_INPUT_SHIFT						0
-#define   NV34TCL_RC_IN_RGB_D_INPUT_MASK						0x0000000f
-#define    NV34TCL_RC_IN_RGB_D_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0					0x00000001
-#define    NV34TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1					0x00000002
-#define    NV34TCL_RC_IN_RGB_D_INPUT_FOG						0x00000003
-#define    NV34TCL_RC_IN_RGB_D_INPUT_PRIMARY_COLOR					0x00000004
-#define    NV34TCL_RC_IN_RGB_D_INPUT_SECONDARY_COLOR					0x00000005
-#define    NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE0						0x00000008
-#define    NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE1						0x00000009
-#define    NV34TCL_RC_IN_RGB_D_INPUT_SPARE0						0x0000000c
-#define    NV34TCL_RC_IN_RGB_D_INPUT_SPARE1						0x0000000d
-#define    NV34TCL_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV34TCL_RC_IN_RGB_D_INPUT_E_TIMES_F						0x0000000f
-#define    NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE2						0x0000000a
-#define    NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE3						0x0000000b
-#define   NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE						(1 <<  4)
-#define    NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE_RGB					0x00000000
-#define    NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA					0x00000010
-#define   NV34TCL_RC_IN_RGB_D_MAPPING_SHIFT						5
-#define   NV34TCL_RC_IN_RGB_D_MAPPING_MASK						0x000000e0
-#define    NV34TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT					0x00000020
-#define    NV34TCL_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL					0x00000040
-#define    NV34TCL_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE					0x00000060
-#define    NV34TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL					0x00000080
-#define    NV34TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE					0x000000a0
-#define    NV34TCL_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY					0x000000c0
-#define    NV34TCL_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE					0x000000e0
-#define   NV34TCL_RC_IN_RGB_C_INPUT_SHIFT						8
-#define   NV34TCL_RC_IN_RGB_C_INPUT_MASK						0x00000f00
-#define    NV34TCL_RC_IN_RGB_C_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0					0x00000100
-#define    NV34TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1					0x00000200
-#define    NV34TCL_RC_IN_RGB_C_INPUT_FOG						0x00000300
-#define    NV34TCL_RC_IN_RGB_C_INPUT_PRIMARY_COLOR					0x00000400
-#define    NV34TCL_RC_IN_RGB_C_INPUT_SECONDARY_COLOR					0x00000500
-#define    NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE0						0x00000800
-#define    NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE1						0x00000900
-#define    NV34TCL_RC_IN_RGB_C_INPUT_SPARE0						0x00000c00
-#define    NV34TCL_RC_IN_RGB_C_INPUT_SPARE1						0x00000d00
-#define    NV34TCL_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV34TCL_RC_IN_RGB_C_INPUT_E_TIMES_F						0x00000f00
-#define    NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE2						0x00000a00
-#define    NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE3						0x00000b00
-#define   NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE						(1 << 12)
-#define    NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE_RGB					0x00000000
-#define    NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA					0x00001000
-#define   NV34TCL_RC_IN_RGB_C_MAPPING_SHIFT						13
-#define   NV34TCL_RC_IN_RGB_C_MAPPING_MASK						0x0000e000
-#define    NV34TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT					0x00002000
-#define    NV34TCL_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL					0x00004000
-#define    NV34TCL_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE					0x00006000
-#define    NV34TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL					0x00008000
-#define    NV34TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE					0x0000a000
-#define    NV34TCL_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY					0x0000c000
-#define    NV34TCL_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE					0x0000e000
-#define   NV34TCL_RC_IN_RGB_B_INPUT_SHIFT						16
-#define   NV34TCL_RC_IN_RGB_B_INPUT_MASK						0x000f0000
-#define    NV34TCL_RC_IN_RGB_B_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0					0x00010000
-#define    NV34TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1					0x00020000
-#define    NV34TCL_RC_IN_RGB_B_INPUT_FOG						0x00030000
-#define    NV34TCL_RC_IN_RGB_B_INPUT_PRIMARY_COLOR					0x00040000
-#define    NV34TCL_RC_IN_RGB_B_INPUT_SECONDARY_COLOR					0x00050000
-#define    NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE0						0x00080000
-#define    NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE1						0x00090000
-#define    NV34TCL_RC_IN_RGB_B_INPUT_SPARE0						0x000c0000
-#define    NV34TCL_RC_IN_RGB_B_INPUT_SPARE1						0x000d0000
-#define    NV34TCL_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000e0000
-#define    NV34TCL_RC_IN_RGB_B_INPUT_E_TIMES_F						0x000f0000
-#define    NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE2						0x000a0000
-#define    NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE3						0x000b0000
-#define   NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE						(1 << 20)
-#define    NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE_RGB					0x00000000
-#define    NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA					0x00100000
-#define   NV34TCL_RC_IN_RGB_B_MAPPING_SHIFT						21
-#define   NV34TCL_RC_IN_RGB_B_MAPPING_MASK						0x00e00000
-#define    NV34TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT					0x00200000
-#define    NV34TCL_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL					0x00400000
-#define    NV34TCL_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE					0x00600000
-#define    NV34TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL					0x00800000
-#define    NV34TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE					0x00a00000
-#define    NV34TCL_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY					0x00c00000
-#define    NV34TCL_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE					0x00e00000
-#define   NV34TCL_RC_IN_RGB_A_INPUT_SHIFT						24
-#define   NV34TCL_RC_IN_RGB_A_INPUT_MASK						0x0f000000
-#define    NV34TCL_RC_IN_RGB_A_INPUT_ZERO						0x00000000
-#define    NV34TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0					0x01000000
-#define    NV34TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1					0x02000000
-#define    NV34TCL_RC_IN_RGB_A_INPUT_FOG						0x03000000
-#define    NV34TCL_RC_IN_RGB_A_INPUT_PRIMARY_COLOR					0x04000000
-#define    NV34TCL_RC_IN_RGB_A_INPUT_SECONDARY_COLOR					0x05000000
-#define    NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE0						0x08000000
-#define    NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE1						0x09000000
-#define    NV34TCL_RC_IN_RGB_A_INPUT_SPARE0						0x0c000000
-#define    NV34TCL_RC_IN_RGB_A_INPUT_SPARE1						0x0d000000
-#define    NV34TCL_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0e000000
-#define    NV34TCL_RC_IN_RGB_A_INPUT_E_TIMES_F						0x0f000000
-#define    NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE2						0x0a000000
-#define    NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE3						0x0b000000
-#define   NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE						(1 << 28)
-#define    NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE_RGB					0x00000000
-#define    NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA					0x10000000
-#define   NV34TCL_RC_IN_RGB_A_MAPPING_SHIFT						29
-#define   NV34TCL_RC_IN_RGB_A_MAPPING_MASK						0xe0000000
-#define    NV34TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY				0x00000000
-#define    NV34TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT					0x20000000
-#define    NV34TCL_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL					0x40000000
-#define    NV34TCL_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE					0x60000000
-#define    NV34TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL					0x80000000
-#define    NV34TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE					0xa0000000
-#define    NV34TCL_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY					0xc0000000
-#define    NV34TCL_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE					0xe0000000
-#define  NV34TCL_RC_CONSTANT_COLOR0(x)							(0x00000908+((x)*32))
-#define  NV34TCL_RC_CONSTANT_COLOR0__SIZE						0x00000008
-#define   NV34TCL_RC_CONSTANT_COLOR0_B_SHIFT						0
-#define   NV34TCL_RC_CONSTANT_COLOR0_B_MASK						0x000000ff
-#define   NV34TCL_RC_CONSTANT_COLOR0_G_SHIFT						8
-#define   NV34TCL_RC_CONSTANT_COLOR0_G_MASK						0x0000ff00
-#define   NV34TCL_RC_CONSTANT_COLOR0_R_SHIFT						16
-#define   NV34TCL_RC_CONSTANT_COLOR0_R_MASK						0x00ff0000
-#define   NV34TCL_RC_CONSTANT_COLOR0_A_SHIFT						24
-#define   NV34TCL_RC_CONSTANT_COLOR0_A_MASK						0xff000000
-#define  NV34TCL_RC_CONSTANT_COLOR1(x)							(0x0000090c+((x)*32))
-#define  NV34TCL_RC_CONSTANT_COLOR1__SIZE						0x00000008
-#define   NV34TCL_RC_CONSTANT_COLOR1_B_SHIFT						0
-#define   NV34TCL_RC_CONSTANT_COLOR1_B_MASK						0x000000ff
-#define   NV34TCL_RC_CONSTANT_COLOR1_G_SHIFT						8
-#define   NV34TCL_RC_CONSTANT_COLOR1_G_MASK						0x0000ff00
-#define   NV34TCL_RC_CONSTANT_COLOR1_R_SHIFT						16
-#define   NV34TCL_RC_CONSTANT_COLOR1_R_MASK						0x00ff0000
-#define   NV34TCL_RC_CONSTANT_COLOR1_A_SHIFT						24
-#define   NV34TCL_RC_CONSTANT_COLOR1_A_MASK						0xff000000
-#define  NV34TCL_RC_OUT_ALPHA(x)							(0x00000910+((x)*32))
-#define  NV34TCL_RC_OUT_ALPHA__SIZE							0x00000008
-#define   NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SHIFT						0
-#define   NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_MASK						0x0000000f
-#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_ZERO						0x00000000
-#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0				0x00000001
-#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1				0x00000002
-#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_FOG						0x00000003
-#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR					0x00000004
-#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR				0x00000005
-#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0					0x00000008
-#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1					0x00000009
-#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0					0x0000000c
-#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE1					0x0000000d
-#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F					0x0000000f
-#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2					0x0000000a
-#define    NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3					0x0000000b
-#define   NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SHIFT						4
-#define   NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_MASK						0x000000f0
-#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_ZERO						0x00000000
-#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0				0x00000010
-#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1				0x00000020
-#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_FOG						0x00000030
-#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR					0x00000040
-#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR				0x00000050
-#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0					0x00000080
-#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1					0x00000090
-#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0					0x000000c0
-#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE1					0x000000d0
-#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000000e0
-#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F					0x000000f0
-#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2					0x000000a0
-#define    NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3					0x000000b0
-#define   NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT						8
-#define   NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_MASK						0x00000f00
-#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_ZERO						0x00000000
-#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0				0x00000100
-#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1				0x00000200
-#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_FOG						0x00000300
-#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR				0x00000400
-#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR				0x00000500
-#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0					0x00000800
-#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1					0x00000900
-#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0					0x00000c00
-#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1					0x00000d00
-#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F					0x00000f00
-#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2					0x00000a00
-#define    NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3					0x00000b00
-#define   NV34TCL_RC_OUT_ALPHA_CD_DOT_PRODUCT						(1 << 12)
-#define   NV34TCL_RC_OUT_ALPHA_AB_DOT_PRODUCT						(1 << 13)
-#define   NV34TCL_RC_OUT_ALPHA_MUX_SUM							(1 << 14)
-#define   NV34TCL_RC_OUT_ALPHA_BIAS							(1 << 15)
-#define    NV34TCL_RC_OUT_ALPHA_BIAS_NONE						0x00000000
-#define    NV34TCL_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF				0x00008000
-#define   NV34TCL_RC_OUT_ALPHA_SCALE_SHIFT						17
-#define   NV34TCL_RC_OUT_ALPHA_SCALE_MASK						0x00000000
-#define    NV34TCL_RC_OUT_ALPHA_SCALE_NONE						0x00000000
-#define    NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO					0x00020000
-#define    NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR					0x00040000
-#define    NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF					0x00060000
-#define  NV34TCL_RC_OUT_RGB(x)								(0x00000914+((x)*32))
-#define  NV34TCL_RC_OUT_RGB__SIZE							0x00000008
-#define   NV34TCL_RC_OUT_RGB_CD_OUTPUT_SHIFT						0
-#define   NV34TCL_RC_OUT_RGB_CD_OUTPUT_MASK						0x0000000f
-#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_ZERO						0x00000000
-#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0					0x00000001
-#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1					0x00000002
-#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_FOG						0x00000003
-#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR					0x00000004
-#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR					0x00000005
-#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE0					0x00000008
-#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE1					0x00000009
-#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0						0x0000000c
-#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE1						0x0000000d
-#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x0000000e
-#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F					0x0000000f
-#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE2					0x0000000a
-#define    NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE3					0x0000000b
-#define   NV34TCL_RC_OUT_RGB_AB_OUTPUT_SHIFT						4
-#define   NV34TCL_RC_OUT_RGB_AB_OUTPUT_MASK						0x000000f0
-#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_ZERO						0x00000000
-#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0					0x00000010
-#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1					0x00000020
-#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_FOG						0x00000030
-#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR					0x00000040
-#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR					0x00000050
-#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE0					0x00000080
-#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE1					0x00000090
-#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0						0x000000c0
-#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE1						0x000000d0
-#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x000000e0
-#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F					0x000000f0
-#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE2					0x000000a0
-#define    NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE3					0x000000b0
-#define   NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SHIFT						8
-#define   NV34TCL_RC_OUT_RGB_SUM_OUTPUT_MASK						0x00000f00
-#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_ZERO						0x00000000
-#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0				0x00000100
-#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1				0x00000200
-#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_FOG						0x00000300
-#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR					0x00000400
-#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR				0x00000500
-#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0					0x00000800
-#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1					0x00000900
-#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0						0x00000c00
-#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE1						0x00000d00
-#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR			0x00000e00
-#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F					0x00000f00
-#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2					0x00000a00
-#define    NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3					0x00000b00
-#define   NV34TCL_RC_OUT_RGB_CD_DOT_PRODUCT						(1 << 12)
-#define   NV34TCL_RC_OUT_RGB_AB_DOT_PRODUCT						(1 << 13)
-#define   NV34TCL_RC_OUT_RGB_MUX_SUM							(1 << 14)
-#define   NV34TCL_RC_OUT_RGB_BIAS							(1 << 15)
-#define    NV34TCL_RC_OUT_RGB_BIAS_NONE							0x00000000
-#define    NV34TCL_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF				0x00008000
-#define   NV34TCL_RC_OUT_RGB_SCALE_SHIFT						17
-#define   NV34TCL_RC_OUT_RGB_SCALE_MASK							0x00000000
-#define    NV34TCL_RC_OUT_RGB_SCALE_NONE						0x00000000
-#define    NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_TWO					0x00020000
-#define    NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_FOUR					0x00040000
-#define    NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF					0x00060000
-#define  NV34TCL_VIEWPORT_HORIZ								0x00000a00
-#define   NV34TCL_VIEWPORT_HORIZ_X_SHIFT						0
-#define   NV34TCL_VIEWPORT_HORIZ_X_MASK							0x0000ffff
-#define   NV34TCL_VIEWPORT_HORIZ_W_SHIFT						16
-#define   NV34TCL_VIEWPORT_HORIZ_W_MASK							0xffff0000
-#define  NV34TCL_VIEWPORT_VERT								0x00000a04
-#define   NV34TCL_VIEWPORT_VERT_Y_SHIFT							0
-#define   NV34TCL_VIEWPORT_VERT_Y_MASK							0x0000ffff
-#define   NV34TCL_VIEWPORT_VERT_H_SHIFT							16
-#define   NV34TCL_VIEWPORT_VERT_H_MASK							0xffff0000
-#define  NV34TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R			0x00000a10
-#define  NV34TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G			0x00000a14
-#define  NV34TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B			0x00000a18
-#define  NV34TCL_VIEWPORT_TRANSLATE_X							0x00000a20
-#define  NV34TCL_VIEWPORT_TRANSLATE_Y							0x00000a24
-#define  NV34TCL_VIEWPORT_TRANSLATE_Z							0x00000a28
-#define  NV34TCL_VIEWPORT_TRANSLATE_W							0x00000a2c
-#define  NV34TCL_VIEWPORT_SCALE_X							0x00000a30
-#define  NV34TCL_VIEWPORT_SCALE_Y							0x00000a34
-#define  NV34TCL_VIEWPORT_SCALE_Z							0x00000a38
-#define  NV34TCL_VIEWPORT_SCALE_W							0x00000a3c
-#define  NV34TCL_POLYGON_OFFSET_POINT_ENABLE						0x00000a60
-#define  NV34TCL_POLYGON_OFFSET_LINE_ENABLE						0x00000a64
-#define  NV34TCL_POLYGON_OFFSET_FILL_ENABLE						0x00000a68
-#define  NV34TCL_DEPTH_FUNC								0x00000a6c
-#define   NV34TCL_DEPTH_FUNC_NEVER							0x00000200
-#define   NV34TCL_DEPTH_FUNC_LESS							0x00000201
-#define   NV34TCL_DEPTH_FUNC_EQUAL							0x00000202
-#define   NV34TCL_DEPTH_FUNC_LEQUAL							0x00000203
-#define   NV34TCL_DEPTH_FUNC_GREATER							0x00000204
-#define   NV34TCL_DEPTH_FUNC_NOTEQUAL							0x00000205
-#define   NV34TCL_DEPTH_FUNC_GEQUAL							0x00000206
-#define   NV34TCL_DEPTH_FUNC_ALWAYS							0x00000207
-#define  NV34TCL_DEPTH_WRITE_ENABLE							0x00000a70
-#define  NV34TCL_DEPTH_TEST_ENABLE							0x00000a74
-#define  NV34TCL_POLYGON_OFFSET_FACTOR							0x00000a78
-#define  NV34TCL_POLYGON_OFFSET_UNITS							0x00000a7c
-#define  NV34TCL_VTX_ATTR_3I_XY(x)							(0x00000a80+((x)*8))
-#define  NV34TCL_VTX_ATTR_3I_XY__SIZE							0x00000010
-#define   NV34TCL_VTX_ATTR_3I_XY_X_SHIFT						0
-#define   NV34TCL_VTX_ATTR_3I_XY_X_MASK							0x0000ffff
-#define   NV34TCL_VTX_ATTR_3I_XY_Y_SHIFT						16
-#define   NV34TCL_VTX_ATTR_3I_XY_Y_MASK							0xffff0000
-#define  NV34TCL_VTX_ATTR_3I_Z(x)							(0x00000a84+((x)*8))
-#define  NV34TCL_VTX_ATTR_3I_Z__SIZE							0x00000010
-#define   NV34TCL_VTX_ATTR_3I_Z_Z_SHIFT							0
-#define   NV34TCL_VTX_ATTR_3I_Z_Z_MASK							0x0000ffff
-#define  NV34TCL_VP_UPLOAD_INST(x)							(0x00000b80+((x)*4))
-#define  NV34TCL_VP_UPLOAD_INST__SIZE							0x00000004
-#define  NV34TCL_TX0_CLIP_PLANE_A(x)							(0x00000e00+((x)*16))
-#define  NV34TCL_TX0_CLIP_PLANE_A__SIZE							0x00000004
-#define  NV34TCL_TX0_CLIP_PLANE_B(x)							(0x00000e04+((x)*16))
-#define  NV34TCL_TX0_CLIP_PLANE_B__SIZE							0x00000004
-#define  NV34TCL_TX0_CLIP_PLANE_C(x)							(0x00000e08+((x)*16))
-#define  NV34TCL_TX0_CLIP_PLANE_C__SIZE							0x00000004
-#define  NV34TCL_TX0_CLIP_PLANE_D(x)							(0x00000e0c+((x)*16))
-#define  NV34TCL_TX0_CLIP_PLANE_D__SIZE							0x00000004
-#define  NV34TCL_TX1_CLIP_PLANE_A(x)							(0x00000e40+((x)*16))
-#define  NV34TCL_TX1_CLIP_PLANE_A__SIZE							0x00000004
-#define  NV34TCL_TX1_CLIP_PLANE_B(x)							(0x00000e44+((x)*16))
-#define  NV34TCL_TX1_CLIP_PLANE_B__SIZE							0x00000004
-#define  NV34TCL_TX1_CLIP_PLANE_C(x)							(0x00000e48+((x)*16))
-#define  NV34TCL_TX1_CLIP_PLANE_C__SIZE							0x00000004
-#define  NV34TCL_TX1_CLIP_PLANE_D(x)							(0x00000e4c+((x)*16))
-#define  NV34TCL_TX1_CLIP_PLANE_D__SIZE							0x00000004
-#define  NV34TCL_TX2_CLIP_PLANE_A(x)							(0x00000e80+((x)*16))
-#define  NV34TCL_TX2_CLIP_PLANE_A__SIZE							0x00000004
-#define  NV34TCL_TX2_CLIP_PLANE_B(x)							(0x00000e84+((x)*16))
-#define  NV34TCL_TX2_CLIP_PLANE_B__SIZE							0x00000004
-#define  NV34TCL_TX2_CLIP_PLANE_C(x)							(0x00000e88+((x)*16))
-#define  NV34TCL_TX2_CLIP_PLANE_C__SIZE							0x00000004
-#define  NV34TCL_TX2_CLIP_PLANE_D(x)							(0x00000e8c+((x)*16))
-#define  NV34TCL_TX2_CLIP_PLANE_D__SIZE							0x00000004
-#define  NV34TCL_TX3_CLIP_PLANE_A(x)							(0x00000ec0+((x)*16))
-#define  NV34TCL_TX3_CLIP_PLANE_A__SIZE							0x00000004
-#define  NV34TCL_TX3_CLIP_PLANE_B(x)							(0x00000ec4+((x)*16))
-#define  NV34TCL_TX3_CLIP_PLANE_B__SIZE							0x00000004
-#define  NV34TCL_TX3_CLIP_PLANE_C(x)							(0x00000ec8+((x)*16))
-#define  NV34TCL_TX3_CLIP_PLANE_C__SIZE							0x00000004
-#define  NV34TCL_TX3_CLIP_PLANE_D(x)							(0x00000ecc+((x)*16))
-#define  NV34TCL_TX3_CLIP_PLANE_D__SIZE							0x00000004
-#define  NV34TCL_TX4_CLIP_PLANE_A(x)							(0x00000f00+((x)*16))
-#define  NV34TCL_TX4_CLIP_PLANE_A__SIZE							0x00000004
-#define  NV34TCL_TX4_CLIP_PLANE_B(x)							(0x00000f04+((x)*16))
-#define  NV34TCL_TX4_CLIP_PLANE_B__SIZE							0x00000004
-#define  NV34TCL_TX4_CLIP_PLANE_C(x)							(0x00000f08+((x)*16))
-#define  NV34TCL_TX4_CLIP_PLANE_C__SIZE							0x00000004
-#define  NV34TCL_TX4_CLIP_PLANE_D(x)							(0x00000f0c+((x)*16))
-#define  NV34TCL_TX4_CLIP_PLANE_D__SIZE							0x00000004
-#define  NV34TCL_TX5_CLIP_PLANE_A(x)							(0x00000f40+((x)*16))
-#define  NV34TCL_TX5_CLIP_PLANE_A__SIZE							0x00000004
-#define  NV34TCL_TX5_CLIP_PLANE_B(x)							(0x00000f44+((x)*16))
-#define  NV34TCL_TX5_CLIP_PLANE_B__SIZE							0x00000004
-#define  NV34TCL_TX5_CLIP_PLANE_C(x)							(0x00000f48+((x)*16))
-#define  NV34TCL_TX5_CLIP_PLANE_C__SIZE							0x00000004
-#define  NV34TCL_TX5_CLIP_PLANE_D(x)							(0x00000f4c+((x)*16))
-#define  NV34TCL_TX5_CLIP_PLANE_D__SIZE							0x00000004
-#define  NV34TCL_TX6_CLIP_PLANE_A(x)							(0x00000f80+((x)*16))
-#define  NV34TCL_TX6_CLIP_PLANE_A__SIZE							0x00000004
-#define  NV34TCL_TX6_CLIP_PLANE_B(x)							(0x00000f84+((x)*16))
-#define  NV34TCL_TX6_CLIP_PLANE_B__SIZE							0x00000004
-#define  NV34TCL_TX6_CLIP_PLANE_C(x)							(0x00000f88+((x)*16))
-#define  NV34TCL_TX6_CLIP_PLANE_C__SIZE							0x00000004
-#define  NV34TCL_TX6_CLIP_PLANE_D(x)							(0x00000f8c+((x)*16))
-#define  NV34TCL_TX6_CLIP_PLANE_D__SIZE							0x00000004
-#define  NV34TCL_TX7_CLIP_PLANE_A(x)							(0x00000fc0+((x)*16))
-#define  NV34TCL_TX7_CLIP_PLANE_A__SIZE							0x00000004
-#define  NV34TCL_TX7_CLIP_PLANE_B(x)							(0x00000fc4+((x)*16))
-#define  NV34TCL_TX7_CLIP_PLANE_B__SIZE							0x00000004
-#define  NV34TCL_TX7_CLIP_PLANE_C(x)							(0x00000fc8+((x)*16))
-#define  NV34TCL_TX7_CLIP_PLANE_C__SIZE							0x00000004
-#define  NV34TCL_TX7_CLIP_PLANE_D(x)							(0x00000fcc+((x)*16))
-#define  NV34TCL_TX7_CLIP_PLANE_D__SIZE							0x00000004
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(x)					(0x00001000+((x)*64))
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R__SIZE				0x00000008
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(x)					(0x00001004+((x)*64))
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G__SIZE				0x00000008
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(x)					(0x00001008+((x)*64))
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B__SIZE				0x00000008
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(x)					(0x0000100c+((x)*64))
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R__SIZE				0x00000008
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(x)					(0x00001010+((x)*64))
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G__SIZE				0x00000008
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(x)					(0x00001014+((x)*64))
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B__SIZE				0x00000008
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(x)					(0x00001018+((x)*64))
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R__SIZE				0x00000008
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(x)					(0x0000101c+((x)*64))
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G__SIZE				0x00000008
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(x)					(0x00001020+((x)*64))
-#define  NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B__SIZE				0x00000008
-#define  NV34TCL_LIGHT_HALF_VECTOR_X(x)							(0x00001028+((x)*64))
-#define  NV34TCL_LIGHT_HALF_VECTOR_X__SIZE						0x00000008
-#define  NV34TCL_LIGHT_HALF_VECTOR_Y(x)							(0x0000102c+((x)*64))
-#define  NV34TCL_LIGHT_HALF_VECTOR_Y__SIZE						0x00000008
-#define  NV34TCL_LIGHT_HALF_VECTOR_Z(x)							(0x00001030+((x)*64))
-#define  NV34TCL_LIGHT_HALF_VECTOR_Z__SIZE						0x00000008
-#define  NV34TCL_LIGHT_DIRECTION_X(x)							(0x00001034+((x)*64))
-#define  NV34TCL_LIGHT_DIRECTION_X__SIZE						0x00000008
-#define  NV34TCL_LIGHT_DIRECTION_Y(x)							(0x00001038+((x)*64))
-#define  NV34TCL_LIGHT_DIRECTION_Y__SIZE						0x00000008
-#define  NV34TCL_LIGHT_DIRECTION_Z(x)							(0x0000103c+((x)*64))
-#define  NV34TCL_LIGHT_DIRECTION_Z__SIZE						0x00000008
-#define  NV34TCL_LIGHT_SPOT_CUTOFF_A(x)							(0x00001200+((x)*64))
-#define  NV34TCL_LIGHT_SPOT_CUTOFF_A__SIZE						0x00000008
-#define  NV34TCL_LIGHT_SPOT_CUTOFF_B(x)							(0x00001204+((x)*64))
-#define  NV34TCL_LIGHT_SPOT_CUTOFF_B__SIZE						0x00000008
-#define  NV34TCL_LIGHT_SPOT_CUTOFF_C(x)							(0x00001208+((x)*64))
-#define  NV34TCL_LIGHT_SPOT_CUTOFF_C__SIZE						0x00000008
-#define  NV34TCL_LIGHT_SPOT_DIR_X(x)							(0x0000120c+((x)*64))
-#define  NV34TCL_LIGHT_SPOT_DIR_X__SIZE							0x00000008
-#define  NV34TCL_LIGHT_SPOT_DIR_Y(x)							(0x00001210+((x)*64))
-#define  NV34TCL_LIGHT_SPOT_DIR_Y__SIZE							0x00000008
-#define  NV34TCL_LIGHT_SPOT_DIR_Z(x)							(0x00001214+((x)*64))
-#define  NV34TCL_LIGHT_SPOT_DIR_Z__SIZE							0x00000008
-#define  NV34TCL_LIGHT_SPOT_CUTOFF_D(x)							(0x00001218+((x)*64))
-#define  NV34TCL_LIGHT_SPOT_CUTOFF_D__SIZE						0x00000008
-#define  NV34TCL_LIGHT_POSITION_X(x)							(0x0000121c+((x)*64))
-#define  NV34TCL_LIGHT_POSITION_X__SIZE							0x00000008
-#define  NV34TCL_LIGHT_POSITION_Y(x)							(0x00001220+((x)*64))
-#define  NV34TCL_LIGHT_POSITION_Y__SIZE							0x00000008
-#define  NV34TCL_LIGHT_POSITION_Z(x)							(0x00001224+((x)*64))
-#define  NV34TCL_LIGHT_POSITION_Z__SIZE							0x00000008
-#define  NV34TCL_LIGHT_ATTENUATION_CONSTANT(x)						(0x00001228+((x)*64))
-#define  NV34TCL_LIGHT_ATTENUATION_CONSTANT__SIZE					0x00000008
-#define  NV34TCL_LIGHT_ATTENUATION_LINEAR(x)						(0x0000122c+((x)*64))
-#define  NV34TCL_LIGHT_ATTENUATION_LINEAR__SIZE						0x00000008
-#define  NV34TCL_LIGHT_ATTENUATION_QUADRATIC(x)						(0x00001230+((x)*64))
-#define  NV34TCL_LIGHT_ATTENUATION_QUADRATIC__SIZE					0x00000008
-#define  NV34TCL_FRONT_MATERIAL_SHININESS(x)						(0x00001400+((x)*4))
-#define  NV34TCL_FRONT_MATERIAL_SHININESS__SIZE						0x00000006
-#define  NV34TCL_ENABLED_LIGHTS								0x00001420
-#define  NV34TCL_VERTEX_TWO_SIDE_ENABLE							0x0000142c
-#define  NV34TCL_FP_REG_CONTROL								0x00001450
-#define   NV34TCL_FP_REG_CONTROL_UNK1_SHIFT						16
-#define   NV34TCL_FP_REG_CONTROL_UNK1_MASK						0xffff0000
-#define   NV34TCL_FP_REG_CONTROL_UNK0_SHIFT						0
-#define   NV34TCL_FP_REG_CONTROL_UNK0_MASK						0x0000ffff
-#define  NV34TCL_VP_CLIP_PLANES_ENABLE							0x00001478
-#define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE0						(1 <<  1)
-#define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE1						(1 <<  5)
-#define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE2						(1 <<  9)
-#define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE3						(1 << 13)
-#define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE4						(1 << 17)
-#define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE5						(1 << 21)
-#define  NV34TCL_POLYGON_STIPPLE_ENABLE							0x0000147c
-#define  NV34TCL_POLYGON_STIPPLE_PATTERN(x)						(0x00001480+((x)*4))
-#define  NV34TCL_POLYGON_STIPPLE_PATTERN__SIZE						0x00000020
-#define  NV34TCL_VTX_ATTR_3F_X(x)							(0x00001500+((x)*16))
-#define  NV34TCL_VTX_ATTR_3F_X__SIZE							0x00000010
-#define  NV34TCL_VTX_ATTR_3F_Y(x)							(0x00001504+((x)*16))
-#define  NV34TCL_VTX_ATTR_3F_Y__SIZE							0x00000010
-#define  NV34TCL_VTX_ATTR_3F_Z(x)							(0x00001508+((x)*16))
-#define  NV34TCL_VTX_ATTR_3F_Z__SIZE							0x00000010
-#define  NV34TCL_VP_CLIP_PLANE_A(x)							(0x00001600+((x)*16))
-#define  NV34TCL_VP_CLIP_PLANE_A__SIZE							0x00000006
-#define  NV34TCL_VP_CLIP_PLANE_B(x)							(0x00001604+((x)*16))
-#define  NV34TCL_VP_CLIP_PLANE_B__SIZE							0x00000006
-#define  NV34TCL_VP_CLIP_PLANE_C(x)							(0x00001608+((x)*16))
-#define  NV34TCL_VP_CLIP_PLANE_C__SIZE							0x00000006
-#define  NV34TCL_VP_CLIP_PLANE_D(x)							(0x0000160c+((x)*16))
-#define  NV34TCL_VP_CLIP_PLANE_D__SIZE							0x00000006
-#define  NV34TCL_VTXBUF_ADDRESS(x)							(0x00001680+((x)*4))
-#define  NV34TCL_VTXBUF_ADDRESS__SIZE							0x00000010
-#define   NV34TCL_VTXBUF_ADDRESS_DMA1							(1 << 31)
-#define   NV34TCL_VTXBUF_ADDRESS_OFFSET_SHIFT						0
-#define   NV34TCL_VTXBUF_ADDRESS_OFFSET_MASK						0x0fffffff
-#define  NV34TCL_VTXFMT(x)								(0x00001740+((x)*4))
-#define  NV34TCL_VTXFMT__SIZE								0x00000010
-#define   NV34TCL_VTXFMT_TYPE_SHIFT							0
-#define   NV34TCL_VTXFMT_TYPE_MASK							0x0000000f
-#define    NV34TCL_VTXFMT_TYPE_FLOAT							0x00000002
-#define    NV34TCL_VTXFMT_TYPE_UBYTE							0x00000004
-#define    NV34TCL_VTXFMT_TYPE_USHORT							0x00000005
-#define   NV34TCL_VTXFMT_SIZE_SHIFT							4
-#define   NV34TCL_VTXFMT_SIZE_MASK							0x000000f0
-#define   NV34TCL_VTXFMT_STRIDE_SHIFT							8
-#define   NV34TCL_VTXFMT_STRIDE_MASK							0x0000ff00
-#define  NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R			0x000017a0
-#define  NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G			0x000017a4
-#define  NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B			0x000017a8
-#define  NV34TCL_COLOR_MATERIAL_BACK_R							0x000017b0
-#define  NV34TCL_COLOR_MATERIAL_BACK_G							0x000017b4
-#define  NV34TCL_COLOR_MATERIAL_BACK_B							0x000017b8
-#define  NV34TCL_COLOR_MATERIAL_BACK_A							0x000017c0
-#define  NV34TCL_QUERY_RESET								0x000017c8
-#define  NV34TCL_QUERY_UNK17CC								0x000017cc
-#define  NV34TCL_QUERY_GET								0x00001800
-#define   NV34TCL_QUERY_GET_UNK24_SHIFT							24
-#define   NV34TCL_QUERY_GET_UNK24_MASK							0xff000000
-#define   NV34TCL_QUERY_GET_OFFSET_SHIFT						0
-#define   NV34TCL_QUERY_GET_OFFSET_MASK							0x00ffffff
-#define  NV34TCL_VERTEX_BEGIN_END							0x00001808
-#define   NV34TCL_VERTEX_BEGIN_END_STOP							0x00000000
-#define   NV34TCL_VERTEX_BEGIN_END_POINTS						0x00000001
-#define   NV34TCL_VERTEX_BEGIN_END_LINES						0x00000002
-#define   NV34TCL_VERTEX_BEGIN_END_LINE_LOOP						0x00000003
-#define   NV34TCL_VERTEX_BEGIN_END_LINE_STRIP						0x00000004
-#define   NV34TCL_VERTEX_BEGIN_END_TRIANGLES						0x00000005
-#define   NV34TCL_VERTEX_BEGIN_END_TRIANGLE_STRIP					0x00000006
-#define   NV34TCL_VERTEX_BEGIN_END_TRIANGLE_FAN						0x00000007
-#define   NV34TCL_VERTEX_BEGIN_END_QUADS						0x00000008
-#define   NV34TCL_VERTEX_BEGIN_END_QUAD_STRIP						0x00000009
-#define   NV34TCL_VERTEX_BEGIN_END_POLYGON						0x0000000a
-#define  NV34TCL_VB_ELEMENT_U16								0x0000180c
-#define   NV34TCL_VB_ELEMENT_U16_I0_SHIFT						0
-#define   NV34TCL_VB_ELEMENT_U16_I0_MASK						0x0000ffff
-#define   NV34TCL_VB_ELEMENT_U16_I1_SHIFT						16
-#define   NV34TCL_VB_ELEMENT_U16_I1_MASK						0xffff0000
-#define  NV34TCL_VB_ELEMENT_U32								0x00001810
-#define  NV34TCL_VB_VERTEX_BATCH							0x00001814
-#define   NV34TCL_VB_VERTEX_BATCH_OFFSET_SHIFT						0
-#define   NV34TCL_VB_VERTEX_BATCH_OFFSET_MASK						0x00ffffff
-#define   NV34TCL_VB_VERTEX_BATCH_COUNT_SHIFT						24
-#define   NV34TCL_VB_VERTEX_BATCH_COUNT_MASK						0xff000000
-#define  NV34TCL_VERTEX_DATA								0x00001818
-#define  NV34TCL_IDXBUF_ADDRESS								0x0000181c
-#define  NV34TCL_IDXBUF_FORMAT								0x00001820
-#define   NV34TCL_IDXBUF_FORMAT_TYPE_SHIFT						4
-#define   NV34TCL_IDXBUF_FORMAT_TYPE_MASK						0x000000f0
-#define    NV34TCL_IDXBUF_FORMAT_TYPE_U32						0x00000000
-#define    NV34TCL_IDXBUF_FORMAT_TYPE_U16						0x00000010
-#define   NV34TCL_IDXBUF_FORMAT_DMA1							(1 <<  0)
-#define  NV34TCL_VB_INDEX_BATCH								0x00001824
-#define   NV34TCL_VB_INDEX_BATCH_COUNT_SHIFT						24
-#define   NV34TCL_VB_INDEX_BATCH_COUNT_MASK						0xff000000
-#define   NV34TCL_VB_INDEX_BATCH_START_SHIFT						0
-#define   NV34TCL_VB_INDEX_BATCH_START_MASK						0x00ffffff
-#define  NV34TCL_POLYGON_MODE_FRONT							0x00001828
-#define   NV34TCL_POLYGON_MODE_FRONT_POINT						0x00001b00
-#define   NV34TCL_POLYGON_MODE_FRONT_LINE						0x00001b01
-#define   NV34TCL_POLYGON_MODE_FRONT_FILL						0x00001b02
-#define  NV34TCL_POLYGON_MODE_BACK							0x0000182c
-#define   NV34TCL_POLYGON_MODE_BACK_POINT						0x00001b00
-#define   NV34TCL_POLYGON_MODE_BACK_LINE						0x00001b01
-#define   NV34TCL_POLYGON_MODE_BACK_FILL						0x00001b02
-#define  NV34TCL_CULL_FACE								0x00001830
-#define   NV34TCL_CULL_FACE_FRONT							0x00000404
-#define   NV34TCL_CULL_FACE_BACK							0x00000405
-#define   NV34TCL_CULL_FACE_FRONT_AND_BACK						0x00000408
-#define  NV34TCL_FRONT_FACE								0x00001834
-#define   NV34TCL_FRONT_FACE_CW								0x00000900
-#define   NV34TCL_FRONT_FACE_CCW							0x00000901
-#define  NV34TCL_POLYGON_SMOOTH_ENABLE							0x00001838
-#define  NV34TCL_CULL_FACE_ENABLE							0x0000183c
-#define  NV34TCL_TX_PALETTE_OFFSET(x)							(0x00001840+((x)*4))
-#define  NV34TCL_TX_PALETTE_OFFSET__SIZE						0x00000008
-#define  NV34TCL_VTX_ATTR_2F_X(x)							(0x00001880+((x)*8))
-#define  NV34TCL_VTX_ATTR_2F_X__SIZE							0x00000010
-#define  NV34TCL_VTX_ATTR_2F_Y(x)							(0x00001884+((x)*8))
-#define  NV34TCL_VTX_ATTR_2F_Y__SIZE							0x00000010
-#define  NV34TCL_VTX_ATTR_2I(x)								(0x00001900+((x)*4))
-#define  NV34TCL_VTX_ATTR_2I__SIZE							0x00000010
-#define   NV34TCL_VTX_ATTR_2I_X_SHIFT							0
-#define   NV34TCL_VTX_ATTR_2I_X_MASK							0x0000ffff
-#define   NV34TCL_VTX_ATTR_2I_Y_SHIFT							16
-#define   NV34TCL_VTX_ATTR_2I_Y_MASK							0xffff0000
-#define  NV34TCL_VTX_ATTR_4UB(x)							(0x00001940+((x)*4))
-#define  NV34TCL_VTX_ATTR_4UB__SIZE							0x00000010
-#define   NV34TCL_VTX_ATTR_4UB_X_SHIFT							0
-#define   NV34TCL_VTX_ATTR_4UB_X_MASK							0x000000ff
-#define   NV34TCL_VTX_ATTR_4UB_Y_SHIFT							8
-#define   NV34TCL_VTX_ATTR_4UB_Y_MASK							0x0000ff00
-#define   NV34TCL_VTX_ATTR_4UB_Z_SHIFT							16
-#define   NV34TCL_VTX_ATTR_4UB_Z_MASK							0x00ff0000
-#define   NV34TCL_VTX_ATTR_4UB_W_SHIFT							24
-#define   NV34TCL_VTX_ATTR_4UB_W_MASK							0xff000000
-#define  NV34TCL_VTX_ATTR_4I_XY(x)							(0x00001980+((x)*8))
-#define  NV34TCL_VTX_ATTR_4I_XY__SIZE							0x00000010
-#define   NV34TCL_VTX_ATTR_4I_XY_X_SHIFT						0
-#define   NV34TCL_VTX_ATTR_4I_XY_X_MASK							0x0000ffff
-#define   NV34TCL_VTX_ATTR_4I_XY_Y_SHIFT						16
-#define   NV34TCL_VTX_ATTR_4I_XY_Y_MASK							0xffff0000
-#define  NV34TCL_VTX_ATTR_4I_ZW(x)							(0x00001984+((x)*8))
-#define  NV34TCL_VTX_ATTR_4I_ZW__SIZE							0x00000010
-#define   NV34TCL_VTX_ATTR_4I_ZW_Z_SHIFT						0
-#define   NV34TCL_VTX_ATTR_4I_ZW_Z_MASK							0x0000ffff
-#define   NV34TCL_VTX_ATTR_4I_ZW_W_SHIFT						16
-#define   NV34TCL_VTX_ATTR_4I_ZW_W_MASK							0xffff0000
-#define  NV34TCL_TX_OFFSET(x)								(0x00001a00+((x)*32))
-#define  NV34TCL_TX_OFFSET__SIZE							0x00000008
-#define  NV34TCL_TX_FORMAT(x)								(0x00001a04+((x)*32))
-#define  NV34TCL_TX_FORMAT__SIZE							0x00000008
-#define   NV34TCL_TX_FORMAT_DMA0							(1 <<  0)
-#define   NV34TCL_TX_FORMAT_DMA1							(1 <<  1)
-#define   NV34TCL_TX_FORMAT_CUBIC							(1 <<  2)
-#define   NV34TCL_TX_FORMAT_NO_BORDER							(1 <<  3)
-#define   NV34TCL_TX_FORMAT_DIMS_SHIFT							4
-#define   NV34TCL_TX_FORMAT_DIMS_MASK							0x000000f0
-#define    NV34TCL_TX_FORMAT_DIMS_1D							0x00000010
-#define    NV34TCL_TX_FORMAT_DIMS_2D							0x00000020
-#define    NV34TCL_TX_FORMAT_DIMS_3D							0x00000030
-#define   NV34TCL_TX_FORMAT_FORMAT_SHIFT						8
-#define   NV34TCL_TX_FORMAT_FORMAT_MASK							0x0000ff00
-#define    NV34TCL_TX_FORMAT_FORMAT_L8							0x00000000
-#define    NV34TCL_TX_FORMAT_FORMAT_A8							0x00000100
-#define    NV34TCL_TX_FORMAT_FORMAT_A1R5G5B5						0x00000200
-#define    NV34TCL_TX_FORMAT_FORMAT_A4R4G4B4						0x00000400
-#define    NV34TCL_TX_FORMAT_FORMAT_R5G6B5						0x00000500
-#define    NV34TCL_TX_FORMAT_FORMAT_A8R8G8B8						0x00000600
-#define    NV34TCL_TX_FORMAT_FORMAT_X8R8G8B8						0x00000700
-#define    NV34TCL_TX_FORMAT_FORMAT_INDEX8						0x00000b00
-#define    NV34TCL_TX_FORMAT_FORMAT_DXT1						0x00000c00
-#define    NV34TCL_TX_FORMAT_FORMAT_DXT3						0x00000e00
-#define    NV34TCL_TX_FORMAT_FORMAT_DXT5						0x00000f00
-#define    NV34TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT					0x00001000
-#define    NV34TCL_TX_FORMAT_FORMAT_R5G6B5_RECT						0x00001100
-#define    NV34TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT					0x00001200
-#define    NV34TCL_TX_FORMAT_FORMAT_L8_RECT						0x00001300
-#define    NV34TCL_TX_FORMAT_FORMAT_DSDT8_RECT						0x00001700
-#define    NV34TCL_TX_FORMAT_FORMAT_A8L8						0x00001a00
-#define    NV34TCL_TX_FORMAT_FORMAT_A8_RECT						0x00001b00
-#define    NV34TCL_TX_FORMAT_FORMAT_A4R4G4B4_RECT					0x00001d00
-#define    NV34TCL_TX_FORMAT_FORMAT_R8G8B8_RECT						0x00001e00
-#define    NV34TCL_TX_FORMAT_FORMAT_A8L8_RECT						0x00002000
-#define    NV34TCL_TX_FORMAT_FORMAT_DSDT8						0x00002800
-#define    NV34TCL_TX_FORMAT_FORMAT_HILO16						0x00003300
-#define    NV34TCL_TX_FORMAT_FORMAT_HILO16_RECT						0x00003600
-#define    NV34TCL_TX_FORMAT_FORMAT_HILO8						0x00004400
-#define    NV34TCL_TX_FORMAT_FORMAT_SIGNED_HILO8					0x00004500
-#define    NV34TCL_TX_FORMAT_FORMAT_HILO8_RECT						0x00004600
-#define    NV34TCL_TX_FORMAT_FORMAT_SIGNED_HILO8_RECT					0x00004700
-#define    NV34TCL_TX_FORMAT_FORMAT_A16							0x00003200
-#define    NV34TCL_TX_FORMAT_FORMAT_A16_RECT						0x00003500
-#define    NV34TCL_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV					0x00004a00
-#define    NV34TCL_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV					0x00004b00
-#define    NV34TCL_TX_FORMAT_FORMAT_FLOAT_R32_NV					0x00004c00
-#define   NV34TCL_TX_FORMAT_MIPMAP							(1 << 19)
-#define   NV34TCL_TX_FORMAT_BASE_SIZE_U_SHIFT						20
-#define   NV34TCL_TX_FORMAT_BASE_SIZE_U_MASK						0x00f00000
-#define   NV34TCL_TX_FORMAT_BASE_SIZE_V_SHIFT						24
-#define   NV34TCL_TX_FORMAT_BASE_SIZE_V_MASK						0x0f000000
-#define   NV34TCL_TX_FORMAT_BASE_SIZE_W_SHIFT						28
-#define   NV34TCL_TX_FORMAT_BASE_SIZE_W_MASK						0xf0000000
-#define  NV34TCL_TX_WRAP(x)								(0x00001a08+((x)*32))
-#define  NV34TCL_TX_WRAP__SIZE								0x00000008
-#define   NV34TCL_TX_WRAP_S_SHIFT							0
-#define   NV34TCL_TX_WRAP_S_MASK							0x000000ff
-#define    NV34TCL_TX_WRAP_S_REPEAT							0x00000001
-#define    NV34TCL_TX_WRAP_S_MIRRORED_REPEAT						0x00000002
-#define    NV34TCL_TX_WRAP_S_CLAMP_TO_EDGE						0x00000003
-#define    NV34TCL_TX_WRAP_S_CLAMP_TO_BORDER						0x00000004
-#define    NV34TCL_TX_WRAP_S_CLAMP							0x00000005
-#define   NV34TCL_TX_WRAP_T_SHIFT							8
-#define   NV34TCL_TX_WRAP_T_MASK							0x00000f00
-#define    NV34TCL_TX_WRAP_T_REPEAT							0x00000100
-#define    NV34TCL_TX_WRAP_T_MIRRORED_REPEAT						0x00000200
-#define    NV34TCL_TX_WRAP_T_CLAMP_TO_EDGE						0x00000300
-#define    NV34TCL_TX_WRAP_T_CLAMP_TO_BORDER						0x00000400
-#define    NV34TCL_TX_WRAP_T_CLAMP							0x00000500
-#define   NV34TCL_TX_WRAP_EXPAND_NORMAL_SHIFT						12
-#define   NV34TCL_TX_WRAP_EXPAND_NORMAL_MASK						0x0000f000
-#define   NV34TCL_TX_WRAP_R_SHIFT							16
-#define   NV34TCL_TX_WRAP_R_MASK							0x000f0000
-#define    NV34TCL_TX_WRAP_R_REPEAT							0x00010000
-#define    NV34TCL_TX_WRAP_R_MIRRORED_REPEAT						0x00020000
-#define    NV34TCL_TX_WRAP_R_CLAMP_TO_EDGE						0x00030000
-#define    NV34TCL_TX_WRAP_R_CLAMP_TO_BORDER						0x00040000
-#define    NV34TCL_TX_WRAP_R_CLAMP							0x00050000
-#define   NV34TCL_TX_WRAP_RCOMP_SHIFT							28
-#define   NV34TCL_TX_WRAP_RCOMP_MASK							0xf0000000
-#define    NV34TCL_TX_WRAP_RCOMP_NEVER							0x00000000
-#define    NV34TCL_TX_WRAP_RCOMP_GREATER						0x10000000
-#define    NV34TCL_TX_WRAP_RCOMP_EQUAL							0x20000000
-#define    NV34TCL_TX_WRAP_RCOMP_GEQUAL							0x30000000
-#define    NV34TCL_TX_WRAP_RCOMP_LESS							0x40000000
-#define    NV34TCL_TX_WRAP_RCOMP_NOTEQUAL						0x50000000
-#define    NV34TCL_TX_WRAP_RCOMP_LEQUAL							0x60000000
-#define    NV34TCL_TX_WRAP_RCOMP_ALWAYS							0x70000000
-#define  NV34TCL_TX_ENABLE(x)								(0x00001a0c+((x)*32))
-#define  NV34TCL_TX_ENABLE__SIZE							0x00000008
-#define   NV34TCL_TX_ENABLE_ANISO_SHIFT							4
-#define   NV34TCL_TX_ENABLE_ANISO_MASK							0x00000030
-#define    NV34TCL_TX_ENABLE_ANISO_NONE							0x00000000
-#define    NV34TCL_TX_ENABLE_ANISO_2X							0x00000010
-#define    NV34TCL_TX_ENABLE_ANISO_4X							0x00000020
-#define    NV34TCL_TX_ENABLE_ANISO_8X							0x00000030
-#define   NV34TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT					14
-#define   NV34TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK						0x0003c000
-#define   NV34TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT					26
-#define   NV34TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK						0x3c000000
-#define   NV34TCL_TX_ENABLE_ENABLE							(1 << 30)
-#define  NV34TCL_TX_SWIZZLE(x)								(0x00001a10+((x)*32))
-#define  NV34TCL_TX_SWIZZLE__SIZE							0x00000008
-#define   NV34TCL_TX_SWIZZLE_S0_X_SHIFT							14
-#define   NV34TCL_TX_SWIZZLE_S0_X_MASK							0x0000c000
-#define    NV34TCL_TX_SWIZZLE_S0_X_ZERO							0x00000000
-#define    NV34TCL_TX_SWIZZLE_S0_X_ONE							0x00004000
-#define    NV34TCL_TX_SWIZZLE_S0_X_S1							0x00008000
-#define   NV34TCL_TX_SWIZZLE_S0_Y_SHIFT							12
-#define   NV34TCL_TX_SWIZZLE_S0_Y_MASK							0x00003000
-#define    NV34TCL_TX_SWIZZLE_S0_Y_ZERO							0x00000000
-#define    NV34TCL_TX_SWIZZLE_S0_Y_ONE							0x00001000
-#define    NV34TCL_TX_SWIZZLE_S0_Y_S1							0x00002000
-#define   NV34TCL_TX_SWIZZLE_S0_Z_SHIFT							10
-#define   NV34TCL_TX_SWIZZLE_S0_Z_MASK							0x00000c00
-#define    NV34TCL_TX_SWIZZLE_S0_Z_ZERO							0x00000000
-#define    NV34TCL_TX_SWIZZLE_S0_Z_ONE							0x00000400
-#define    NV34TCL_TX_SWIZZLE_S0_Z_S1							0x00000800
-#define   NV34TCL_TX_SWIZZLE_S0_W_SHIFT							8
-#define   NV34TCL_TX_SWIZZLE_S0_W_MASK							0x00000300
-#define    NV34TCL_TX_SWIZZLE_S0_W_ZERO							0x00000000
-#define    NV34TCL_TX_SWIZZLE_S0_W_ONE							0x00000100
-#define    NV34TCL_TX_SWIZZLE_S0_W_S1							0x00000200
-#define   NV34TCL_TX_SWIZZLE_S1_X_SHIFT							6
-#define   NV34TCL_TX_SWIZZLE_S1_X_MASK							0x000000c0
-#define    NV34TCL_TX_SWIZZLE_S1_X_W							0x00000000
-#define    NV34TCL_TX_SWIZZLE_S1_X_Z							0x00000040
-#define    NV34TCL_TX_SWIZZLE_S1_X_Y							0x00000080
-#define    NV34TCL_TX_SWIZZLE_S1_X_X							0x000000c0
-#define   NV34TCL_TX_SWIZZLE_S1_Y_SHIFT							4
-#define   NV34TCL_TX_SWIZZLE_S1_Y_MASK							0x00000030
-#define    NV34TCL_TX_SWIZZLE_S1_Y_W							0x00000000
-#define    NV34TCL_TX_SWIZZLE_S1_Y_Z							0x00000010
-#define    NV34TCL_TX_SWIZZLE_S1_Y_Y							0x00000020
-#define    NV34TCL_TX_SWIZZLE_S1_Y_X							0x00000030
-#define   NV34TCL_TX_SWIZZLE_S1_Z_SHIFT							2
-#define   NV34TCL_TX_SWIZZLE_S1_Z_MASK							0x0000000c
-#define    NV34TCL_TX_SWIZZLE_S1_Z_W							0x00000000
-#define    NV34TCL_TX_SWIZZLE_S1_Z_Z							0x00000004
-#define    NV34TCL_TX_SWIZZLE_S1_Z_Y							0x00000008
-#define    NV34TCL_TX_SWIZZLE_S1_Z_X							0x0000000c
-#define   NV34TCL_TX_SWIZZLE_S1_W_SHIFT							0
-#define   NV34TCL_TX_SWIZZLE_S1_W_MASK							0x00000003
-#define    NV34TCL_TX_SWIZZLE_S1_W_W							0x00000000
-#define    NV34TCL_TX_SWIZZLE_S1_W_Z							0x00000001
-#define    NV34TCL_TX_SWIZZLE_S1_W_Y							0x00000002
-#define    NV34TCL_TX_SWIZZLE_S1_W_X							0x00000003
-#define   NV34TCL_TX_SWIZZLE_RECT_PITCH_SHIFT						16
-#define   NV34TCL_TX_SWIZZLE_RECT_PITCH_MASK						0xffff0000
-#define  NV34TCL_TX_FILTER(x)								(0x00001a14+((x)*32))
-#define  NV34TCL_TX_FILTER__SIZE							0x00000008
-#define   NV34TCL_TX_FILTER_LOD_BIAS_SHIFT						8
-#define   NV34TCL_TX_FILTER_LOD_BIAS_MASK						0x00000f00
-#define   NV34TCL_TX_FILTER_MINIFY_SHIFT						16
-#define   NV34TCL_TX_FILTER_MINIFY_MASK							0x000f0000
-#define    NV34TCL_TX_FILTER_MINIFY_NEAREST						0x00010000
-#define    NV34TCL_TX_FILTER_MINIFY_LINEAR						0x00020000
-#define    NV34TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST				0x00030000
-#define    NV34TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST				0x00040000
-#define    NV34TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR				0x00050000
-#define    NV34TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR				0x00060000
-#define   NV34TCL_TX_FILTER_MAGNIFY_SHIFT						24
-#define   NV34TCL_TX_FILTER_MAGNIFY_MASK						0x0f000000
-#define    NV34TCL_TX_FILTER_MAGNIFY_NEAREST						0x01000000
-#define    NV34TCL_TX_FILTER_MAGNIFY_LINEAR						0x02000000
-#define   NV34TCL_TX_FILTER_SIGNED_BLUE							(1 << 28)
-#define   NV34TCL_TX_FILTER_SIGNED_GREEN						(1 << 29)
-#define   NV34TCL_TX_FILTER_SIGNED_RED							(1 << 30)
-#define   NV34TCL_TX_FILTER_SIGNED_ALPHA						(1 << 31)
-#define  NV34TCL_TX_NPOT_SIZE(x)							(0x00001a18+((x)*32))
-#define  NV34TCL_TX_NPOT_SIZE__SIZE							0x00000008
-#define   NV34TCL_TX_NPOT_SIZE_H_SHIFT							0
-#define   NV34TCL_TX_NPOT_SIZE_H_MASK							0x0000ffff
-#define   NV34TCL_TX_NPOT_SIZE_W_SHIFT							16
-#define   NV34TCL_TX_NPOT_SIZE_W_MASK							0xffff0000
-#define  NV34TCL_TX_BORDER_COLOR(x)							(0x00001a1c+((x)*32))
-#define  NV34TCL_TX_BORDER_COLOR__SIZE							0x00000008
-#define   NV34TCL_TX_BORDER_COLOR_B_SHIFT						0
-#define   NV34TCL_TX_BORDER_COLOR_B_MASK						0x000000ff
-#define   NV34TCL_TX_BORDER_COLOR_G_SHIFT						8
-#define   NV34TCL_TX_BORDER_COLOR_G_MASK						0x0000ff00
-#define   NV34TCL_TX_BORDER_COLOR_R_SHIFT						16
-#define   NV34TCL_TX_BORDER_COLOR_R_MASK						0x00ff0000
-#define   NV34TCL_TX_BORDER_COLOR_A_SHIFT						24
-#define   NV34TCL_TX_BORDER_COLOR_A_MASK						0xff000000
-#define  NV34TCL_VTX_ATTR_4F_X(x)							(0x00001c00+((x)*16))
-#define  NV34TCL_VTX_ATTR_4F_X__SIZE							0x00000010
-#define  NV34TCL_VTX_ATTR_4F_Y(x)							(0x00001c04+((x)*16))
-#define  NV34TCL_VTX_ATTR_4F_Y__SIZE							0x00000010
-#define  NV34TCL_VTX_ATTR_4F_Z(x)							(0x00001c08+((x)*16))
-#define  NV34TCL_VTX_ATTR_4F_Z__SIZE							0x00000010
-#define  NV34TCL_VTX_ATTR_4F_W(x)							(0x00001c0c+((x)*16))
-#define  NV34TCL_VTX_ATTR_4F_W__SIZE							0x00000010
-#define  NV34TCL_FP_CONTROL								0x00001d60
-#define   NV34TCL_FP_CONTROL_USES_KIL							(1 <<  7)
-#define   NV34TCL_FP_CONTROL_USED_REGS_MINUS1_DIV2_SHIFT				0
-#define   NV34TCL_FP_CONTROL_USED_REGS_MINUS1_DIV2_MASK					0x0000000f
-#define  NV34TCL_DEPTH_UNK17D8								0x00001d78
-#define   NV34TCL_DEPTH_UNK17D8_CLAMP_SHIFT						4
-#define   NV34TCL_DEPTH_UNK17D8_CLAMP_MASK						0x000000f0
-#define  NV34TCL_MULTISAMPLE_CONTROL							0x00001d7c
-#define   NV34TCL_MULTISAMPLE_CONTROL_ENABLE						(1 <<  0)
-#define   NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_ALPHA_TO_COVERAGE				(1 <<  4)
-#define   NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_ALPHA_TO_ONE				(1 <<  8)
-#define   NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_COVERAGE_SHIFT				16
-#define   NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_COVERAGE_MASK				0xffff0000
-#define  NV34TCL_CLEAR_DEPTH_VALUE							0x00001d8c
-#define  NV34TCL_CLEAR_COLOR_VALUE							0x00001d90
-#define   NV34TCL_CLEAR_COLOR_VALUE_B_SHIFT						0
-#define   NV34TCL_CLEAR_COLOR_VALUE_B_MASK						0x000000ff
-#define   NV34TCL_CLEAR_COLOR_VALUE_G_SHIFT						8
-#define   NV34TCL_CLEAR_COLOR_VALUE_G_MASK						0x0000ff00
-#define   NV34TCL_CLEAR_COLOR_VALUE_R_SHIFT						16
-#define   NV34TCL_CLEAR_COLOR_VALUE_R_MASK						0x00ff0000
-#define   NV34TCL_CLEAR_COLOR_VALUE_A_SHIFT						24
-#define   NV34TCL_CLEAR_COLOR_VALUE_A_MASK						0xff000000
-#define  NV34TCL_CLEAR_BUFFERS								0x00001d94
-#define   NV34TCL_CLEAR_BUFFERS_COLOR_A							(1 <<  7)
-#define   NV34TCL_CLEAR_BUFFERS_COLOR_B							(1 <<  6)
-#define   NV34TCL_CLEAR_BUFFERS_COLOR_G							(1 <<  5)
-#define   NV34TCL_CLEAR_BUFFERS_COLOR_R							(1 <<  4)
-#define   NV34TCL_CLEAR_BUFFERS_STENCIL							(1 <<  1)
-#define   NV34TCL_CLEAR_BUFFERS_DEPTH							(1 <<  0)
-#define  NV34TCL_DO_VERTICES								0x00001dac
-#define  NV34TCL_LINE_STIPPLE_ENABLE							0x00001db4
-#define  NV34TCL_LINE_STIPPLE_PATTERN							0x00001db8
-#define   NV34TCL_LINE_STIPPLE_PATTERN_FACTOR_SHIFT					0
-#define   NV34TCL_LINE_STIPPLE_PATTERN_FACTOR_MASK					0x0000ffff
-#define   NV34TCL_LINE_STIPPLE_PATTERN_PATTERN_SHIFT					16
-#define   NV34TCL_LINE_STIPPLE_PATTERN_PATTERN_MASK					0xffff0000
-#define  NV34TCL_BACK_MATERIAL_SHININESS(x)						(0x00001e20+((x)*4))
-#define  NV34TCL_BACK_MATERIAL_SHININESS__SIZE						0x00000006
-#define  NV34TCL_VTX_ATTR_1F(x)								(0x00001e40+((x)*4))
-#define  NV34TCL_VTX_ATTR_1F__SIZE							0x00000010
-#define  NV34TCL_ENGINE									0x00001e94
-#define   NV34TCL_ENGINE_FP								(1 <<  0)
-#define   NV34TCL_ENGINE_VP								(1 <<  1)
-#define   NV34TCL_ENGINE_FIXED								(1 <<  2)
-#define  NV34TCL_VP_UPLOAD_FROM_ID							0x00001e9c
-#define  NV34TCL_VP_START_FROM_ID							0x00001ea0
-#define  NV34TCL_POINT_PARAMETERS(x)							(0x00001ec0+((x)*4))
-#define  NV34TCL_POINT_PARAMETERS__SIZE							0x00000008
-#define  NV34TCL_POINT_SIZE								0x00001ee0
-#define  NV34TCL_POINT_PARAMETERS_ENABLE						0x00001ee4
-#define  NV34TCL_POINT_SPRITE								0x00001ee8
-#define   NV34TCL_POINT_SPRITE_ENABLE							(1 <<  0)
-#define   NV34TCL_POINT_SPRITE_R_MODE_SHIFT						1
-#define   NV34TCL_POINT_SPRITE_R_MODE_MASK						0x00000006
-#define    NV34TCL_POINT_SPRITE_R_MODE_ZERO						0x00000000
-#define    NV34TCL_POINT_SPRITE_R_MODE_R						0x00000002
-#define    NV34TCL_POINT_SPRITE_R_MODE_S						0x00000004
-#define   NV34TCL_POINT_SPRITE_COORD_REPLACE_0						(1 <<  8)
-#define   NV34TCL_POINT_SPRITE_COORD_REPLACE_1						(1 <<  9)
-#define   NV34TCL_POINT_SPRITE_COORD_REPLACE_2						(1 << 10)
-#define   NV34TCL_POINT_SPRITE_COORD_REPLACE_3						(1 << 11)
-#define   NV34TCL_POINT_SPRITE_COORD_REPLACE_4						(1 << 12)
-#define   NV34TCL_POINT_SPRITE_COORD_REPLACE_5						(1 << 13)
-#define   NV34TCL_POINT_SPRITE_COORD_REPLACE_6						(1 << 14)
-#define   NV34TCL_POINT_SPRITE_COORD_REPLACE_7						(1 << 15)
-#define  NV34TCL_VP_UPLOAD_CONST_ID							0x00001efc
-#define  NV34TCL_VP_UPLOAD_CONST_X(x)							(0x00001f00+((x)*16))
-#define  NV34TCL_VP_UPLOAD_CONST_X__SIZE						0x00000004
-#define  NV34TCL_VP_UPLOAD_CONST_Y(x)							(0x00001f04+((x)*16))
-#define  NV34TCL_VP_UPLOAD_CONST_Y__SIZE						0x00000004
-#define  NV34TCL_VP_UPLOAD_CONST_Z(x)							(0x00001f08+((x)*16))
-#define  NV34TCL_VP_UPLOAD_CONST_Z__SIZE						0x00000004
-#define  NV34TCL_VP_UPLOAD_CONST_W(x)							(0x00001f0c+((x)*16))
-#define  NV34TCL_VP_UPLOAD_CONST_W__SIZE						0x00000004
-#define  NV34TCL_UNK1f80(x)								(0x00001f80+((x)*4))
-#define  NV34TCL_UNK1f80__SIZE								0x00000010
-
-
-#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_RT_FORMAT_COLOR_UNKNOWN						0x0000000d
-#define    NV40TCL_RT_FORMAT_COLOR_X8B8G8R8						0x0000000f
-#define    NV40TCL_RT_FORMAT_COLOR_A8B8G8R8						0x00000010
-#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_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_COLOR_B_SHIFT							0
-#define   NV40TCL_BLEND_COLOR_B_MASK							0x000000ff
-#define   NV40TCL_BLEND_COLOR_G_SHIFT							8
-#define   NV40TCL_BLEND_COLOR_G_MASK							0x0000ff00
-#define   NV40TCL_BLEND_COLOR_R_SHIFT							16
-#define   NV40TCL_BLEND_COLOR_R_MASK							0x00ff0000
-#define   NV40TCL_BLEND_COLOR_A_SHIFT							24
-#define   NV40TCL_BLEND_COLOR_A_MASK							0xff000000
-#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_FRONT_ENABLE							0x00000328
-#define  NV40TCL_STENCIL_FRONT_MASK							0x0000032c
-#define  NV40TCL_STENCIL_FRONT_FUNC_FUNC						0x00000330
-#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_NOTEQUAL					0x00000205
-#define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL					0x00000206
-#define   NV40TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS					0x00000207
-#define  NV40TCL_STENCIL_FRONT_FUNC_REF							0x00000334
-#define  NV40TCL_STENCIL_FRONT_FUNC_MASK						0x00000338
-#define  NV40TCL_STENCIL_FRONT_OP_FAIL							0x0000033c
-#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							0x00000340
-#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							0x00000344
-#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_STENCIL_BACK_ENABLE							0x00000348
-#define  NV40TCL_STENCIL_BACK_MASK							0x0000034c
-#define  NV40TCL_STENCIL_BACK_FUNC_FUNC							0x00000350
-#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_NOTEQUAL					0x00000205
-#define   NV40TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL						0x00000206
-#define   NV40TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS						0x00000207
-#define  NV40TCL_STENCIL_BACK_FUNC_REF							0x00000354
-#define  NV40TCL_STENCIL_BACK_FUNC_MASK							0x00000358
-#define  NV40TCL_STENCIL_BACK_OP_FAIL							0x0000035c
-#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							0x00000360
-#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							0x00000364
-#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_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_POINT_ENABLE						0x00000a60
-#define  NV40TCL_POLYGON_OFFSET_LINE_ENABLE						0x00000a64
-#define  NV40TCL_POLYGON_OFFSET_FILL_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_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_VTX_ATTR_3I_XY(x)							(0x00000a80+((x)*8))
-#define  NV40TCL_VTX_ATTR_3I_XY__SIZE							0x00000010
-#define   NV40TCL_VTX_ATTR_3I_XY_X_SHIFT						0
-#define   NV40TCL_VTX_ATTR_3I_XY_X_MASK							0x0000ffff
-#define   NV40TCL_VTX_ATTR_3I_XY_Y_SHIFT						16
-#define   NV40TCL_VTX_ATTR_3I_XY_Y_MASK							0xffff0000
-#define  NV40TCL_VTX_ATTR_3I_Z(x)							(0x00000a84+((x)*8))
-#define  NV40TCL_VTX_ATTR_3I_Z__SIZE							0x00000010
-#define   NV40TCL_VTX_ATTR_3I_Z_Z_SHIFT							0
-#define   NV40TCL_VTX_ATTR_3I_Z_Z_MASK							0x0000ffff
-#define  NV40TCL_TEX_FILTER_OPTIMIZATION						0x00000b00
-#define   NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_SHIFT				0
-#define   NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_MASK				0x0000001f
-#define    NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_OFF				0x00000000
-#define    NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_HIGH_QUALITY			0x00000004
-#define    NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_QUALITY				0x00000006
-#define    NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_PERFORMANCE			0x00000008
-#define    NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_HIGH_PERFORMANCE			0x00000018
-#define   NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_SHIFT				6
-#define   NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_MASK				0x000001c0
-#define    NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_OFF				0x00000000
-#define    NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_HIGH_QUALITY			0x000000c0
-#define    NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_QUALITY				0x000001c0
-#define    NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_PERFORMANCE			0x00000140
-#define   NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_SHIFT					10
-#define   NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_MASK					0x00007c00
-#define    NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_OFF					0x00000000
-#define    NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_PARTIAL				0x00002c00
-#define    NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_FULL					0x00007c00
-#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_VERTEX_TWO_SIDE_ENABLE							0x0000142c
-#define  NV40TCL_CLIP_PLANE_ENABLE							0x00001478
-#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE0						(1 <<  1)
-#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE1						(1 <<  5)
-#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE2						(1 <<  9)
-#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE3						(1 << 13)
-#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE4						(1 << 17)
-#define   NV40TCL_CLIP_PLANE_ENABLE_PLANE5						(1 << 21)
-#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_TYPE_USHORT							0x00000005
-#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_IDXBUF_ADDRESS								0x0000181c
-#define  NV40TCL_IDXBUF_FORMAT								0x00001820
-#define   NV40TCL_IDXBUF_FORMAT_TYPE_SHIFT						4
-#define   NV40TCL_IDXBUF_FORMAT_TYPE_MASK						0x000000f0
-#define    NV40TCL_IDXBUF_FORMAT_TYPE_U32						0x00000000
-#define    NV40TCL_IDXBUF_FORMAT_TYPE_U16						0x00000010
-#define   NV40TCL_IDXBUF_FORMAT_DMA1							(1 <<  0)
-#define  NV40TCL_VB_INDEX_BATCH								0x00001824
-#define   NV40TCL_VB_INDEX_BATCH_COUNT_SHIFT						24
-#define   NV40TCL_VB_INDEX_BATCH_COUNT_MASK						0xff000000
-#define   NV40TCL_VB_INDEX_BATCH_START_SHIFT						0
-#define   NV40TCL_VB_INDEX_BATCH_START_MASK						0x00ffffff
-#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_X_SHIFT							0
-#define   NV40TCL_VTX_ATTR_2I_X_MASK							0x0000ffff
-#define   NV40TCL_VTX_ATTR_2I_Y_SHIFT							16
-#define   NV40TCL_VTX_ATTR_2I_Y_MASK							0xffff0000
-#define  NV40TCL_VTX_ATTR_4UB(x)							(0x00001940+((x)*4))
-#define  NV40TCL_VTX_ATTR_4UB__SIZE							0x00000010
-#define   NV40TCL_VTX_ATTR_4UB_X_SHIFT							0
-#define   NV40TCL_VTX_ATTR_4UB_X_MASK							0x000000ff
-#define   NV40TCL_VTX_ATTR_4UB_Y_SHIFT							8
-#define   NV40TCL_VTX_ATTR_4UB_Y_MASK							0x0000ff00
-#define   NV40TCL_VTX_ATTR_4UB_Z_SHIFT							16
-#define   NV40TCL_VTX_ATTR_4UB_Z_MASK							0x00ff0000
-#define   NV40TCL_VTX_ATTR_4UB_W_SHIFT							24
-#define   NV40TCL_VTX_ATTR_4UB_W_MASK							0xff000000
-#define  NV40TCL_VTX_ATTR_4I_XY(x)							(0x00001980+((x)*8))
-#define  NV40TCL_VTX_ATTR_4I_XY__SIZE							0x00000010
-#define   NV40TCL_VTX_ATTR_4I_XY_X_SHIFT						0
-#define   NV40TCL_VTX_ATTR_4I_XY_X_MASK							0x0000ffff
-#define   NV40TCL_VTX_ATTR_4I_XY_Y_SHIFT						16
-#define   NV40TCL_VTX_ATTR_4I_XY_Y_MASK							0xffff0000
-#define  NV40TCL_VTX_ATTR_4I_ZW(x)							(0x00001984+((x)*8))
-#define  NV40TCL_VTX_ATTR_4I_ZW__SIZE							0x00000010
-#define   NV40TCL_VTX_ATTR_4I_ZW_Z_SHIFT						0
-#define   NV40TCL_VTX_ATTR_4I_ZW_Z_MASK							0x0000ffff
-#define   NV40TCL_VTX_ATTR_4I_ZW_W_SHIFT						16
-#define   NV40TCL_VTX_ATTR_4I_ZW_W_MASK							0xffff0000
-#define  NV40TCL_TEX_OFFSET(x)								(0x00001a00+((x)*32))
-#define  NV40TCL_TEX_OFFSET__SIZE							0x00000010
-#define  NV40TCL_TEX_FORMAT(x)								(0x00001a04+((x)*32))
-#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						0x00000b00
-#define    NV40TCL_TEX_FORMAT_FORMAT_Z24						0x00001000
-#define    NV40TCL_TEX_FORMAT_FORMAT_Z16						0x00001200
-#define    NV40TCL_TEX_FORMAT_FORMAT_A16						0x00001400
-#define    NV40TCL_TEX_FORMAT_FORMAT_A16L16						0x00001500
-#define    NV40TCL_TEX_FORMAT_FORMAT_HILO8						0x00001800
-#define    NV40TCL_TEX_FORMAT_FORMAT_RGBA16F						0x00001a00
-#define    NV40TCL_TEX_FORMAT_FORMAT_RGBA32F						0x00001b00
-#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							0x0000000f
-#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_ANISO_MIP_FILTER_OPTIMIZATION_SHIFT				4
-#define   NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_MASK				0x00000070
-#define    NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_OFF				0x00000000
-#define    NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_QUALITY			0x00000020
-#define    NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_PERFORMANCE			0x00000030
-#define    NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_HIGH_PERFORMANCE		0x00000070
-#define   NV40TCL_TEX_WRAP_T_SHIFT							8
-#define   NV40TCL_TEX_WRAP_T_MASK							0x00000f00
-#define    NV40TCL_TEX_WRAP_T_REPEAT							0x00000100
-#define    NV40TCL_TEX_WRAP_T_MIRRORED_REPEAT						0x00000200
-#define    NV40TCL_TEX_WRAP_T_CLAMP_TO_EDGE						0x00000300
-#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_EXPAND_NORMAL_SHIFT						12
-#define   NV40TCL_TEX_WRAP_EXPAND_NORMAL_MASK						0x0000f000
-#define   NV40TCL_TEX_WRAP_R_SHIFT							16
-#define   NV40TCL_TEX_WRAP_R_MASK							0x000f0000
-#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_WRAP_GAMMA_DECREASE_FILTER_SHIFT					20
-#define   NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_MASK					0x00f00000
-#define    NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_NONE					0x00000000
-#define    NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_RED					0x00100000
-#define    NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_GREEN					0x00200000
-#define    NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_BLUE					0x00400000
-#define    NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_ALL					0x00f00000
-#define   NV40TCL_TEX_WRAP_RCOMP_SHIFT							28
-#define   NV40TCL_TEX_WRAP_RCOMP_MASK							0xf0000000
-#define    NV40TCL_TEX_WRAP_RCOMP_NEVER							0x00000000
-#define    NV40TCL_TEX_WRAP_RCOMP_GREATER						0x10000000
-#define    NV40TCL_TEX_WRAP_RCOMP_EQUAL							0x20000000
-#define    NV40TCL_TEX_WRAP_RCOMP_GEQUAL						0x30000000
-#define    NV40TCL_TEX_WRAP_RCOMP_LESS							0x40000000
-#define    NV40TCL_TEX_WRAP_RCOMP_NOTEQUAL						0x50000000
-#define    NV40TCL_TEX_WRAP_RCOMP_LEQUAL						0x60000000
-#define    NV40TCL_TEX_WRAP_RCOMP_ALWAYS						0x70000000
-#define  NV40TCL_TEX_ENABLE(x)								(0x00001a0c+((x)*32))
-#define  NV40TCL_TEX_ENABLE__SIZE							0x00000010
-#define   NV40TCL_TEX_ENABLE_ENABLE							(1 << 31)
-#define   NV40TCL_TEX_ENABLE_MIPMAP_MIN_LOD_SHIFT					27
-#define   NV40TCL_TEX_ENABLE_MIPMAP_MIN_LOD_MASK					0x38000000
-#define   NV40TCL_TEX_ENABLE_MIPMAP_MAX_LOD_SHIFT					15
-#define   NV40TCL_TEX_ENABLE_MIPMAP_MAX_LOD_MASK					0x00038000
-#define   NV40TCL_TEX_ENABLE_ANISO_SHIFT						4
-#define   NV40TCL_TEX_ENABLE_ANISO_MASK							0x000000f0
-#define    NV40TCL_TEX_ENABLE_ANISO_NONE						0x00000000
-#define    NV40TCL_TEX_ENABLE_ANISO_2X							0x00000010
-#define    NV40TCL_TEX_ENABLE_ANISO_4X							0x00000020
-#define    NV40TCL_TEX_ENABLE_ANISO_6X							0x00000030
-#define    NV40TCL_TEX_ENABLE_ANISO_8X							0x00000040
-#define    NV40TCL_TEX_ENABLE_ANISO_10X							0x00000050
-#define    NV40TCL_TEX_ENABLE_ANISO_12X							0x00000060
-#define    NV40TCL_TEX_ENABLE_ANISO_16X							0x00000070
-#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_SIGNED_ALPHA						(1 << 31)
-#define   NV40TCL_TEX_FILTER_SIGNED_RED							(1 << 30)
-#define   NV40TCL_TEX_FILTER_SIGNED_GREEN						(1 << 29)
-#define   NV40TCL_TEX_FILTER_SIGNED_BLUE						(1 << 28)
-#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_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_MULTISAMPLE_CONTROL							0x00001d7c
-#define  NV40TCL_CLEAR_VALUE_DEPTH							0x00001d8c
-#define  NV40TCL_CLEAR_VALUE_COLOR							0x00001d90
-#define   NV40TCL_CLEAR_VALUE_COLOR_B_SHIFT						0
-#define   NV40TCL_CLEAR_VALUE_COLOR_B_MASK						0x000000ff
-#define   NV40TCL_CLEAR_VALUE_COLOR_G_SHIFT						8
-#define   NV40TCL_CLEAR_VALUE_COLOR_G_MASK						0x0000ff00
-#define   NV40TCL_CLEAR_VALUE_COLOR_R_SHIFT						16
-#define   NV40TCL_CLEAR_VALUE_COLOR_R_MASK						0x00ff0000
-#define   NV40TCL_CLEAR_VALUE_COLOR_A_SHIFT						24
-#define   NV40TCL_CLEAR_VALUE_COLOR_A_MASK						0xff000000
-#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_VTX_ATTR_1F(x)								(0x00001e40+((x)*4))
-#define  NV40TCL_VTX_ATTR_1F__SIZE							0x00000010
-#define  NV40TCL_VP_UPLOAD_FROM_ID							0x00001e9c
-#define  NV40TCL_VP_START_FROM_ID							0x00001ea0
-#define  NV40TCL_POINT_SIZE								0x00001ee0
-#define  NV40TCL_POINT_SPRITE								0x00001ee8
-#define   NV40TCL_POINT_SPRITE_ENABLE							(1 <<  0)
-#define   NV40TCL_POINT_SPRITE_R_MODE_SHIFT						1
-#define   NV40TCL_POINT_SPRITE_R_MODE_MASK						0x00000006
-#define    NV40TCL_POINT_SPRITE_R_MODE_ZERO						0x00000000
-#define    NV40TCL_POINT_SPRITE_R_MODE_R						0x00000002
-#define    NV40TCL_POINT_SPRITE_R_MODE_S						0x00000004
-#define   NV40TCL_POINT_SPRITE_COORD_REPLACE_0						(1 <<  8)
-#define   NV40TCL_POINT_SPRITE_COORD_REPLACE_1						(1 <<  9)
-#define   NV40TCL_POINT_SPRITE_COORD_REPLACE_2						(1 << 10)
-#define   NV40TCL_POINT_SPRITE_COORD_REPLACE_3						(1 << 11)
-#define   NV40TCL_POINT_SPRITE_COORD_REPLACE_4						(1 << 12)
-#define   NV40TCL_POINT_SPRITE_COORD_REPLACE_5						(1 << 13)
-#define   NV40TCL_POINT_SPRITE_COORD_REPLACE_6						(1 << 14)
-#define   NV40TCL_POINT_SPRITE_COORD_REPLACE_7						(1 << 15)
-#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_SERIALIZE								0x00000110
-#define  NV50_2D_DMA_NOTIFY								0x00000180
-#define  NV50_2D_DMA_DST								0x00000184
-#define  NV50_2D_DMA_SRC								0x00000188
-#define  NV50_2D_DMA_COND								0x0000018c
-#define  NV50_2D_DST_FORMAT								0x00000200
-#define   NV50_2D_DST_FORMAT_R32G32B32A32_FLOAT						0x000000c0
-#define   NV50_2D_DST_FORMAT_R32G32B32A32_SINT						0x000000c1
-#define   NV50_2D_DST_FORMAT_R32G32B32A32_UINT						0x000000c2
-#define   NV50_2D_DST_FORMAT_R32G32B32X32_FLOAT						0x000000c3
-#define   NV50_2D_DST_FORMAT_R16G16B16A16_UNORM						0x000000c6
-#define   NV50_2D_DST_FORMAT_R16G16B16A16_SNORM						0x000000c7
-#define   NV50_2D_DST_FORMAT_R16G16B16A16_SINT						0x000000c8
-#define   NV50_2D_DST_FORMAT_R16G16B16A16_UINT						0x000000c9
-#define   NV50_2D_DST_FORMAT_R16G16B16A16_FLOAT						0x000000ca
-#define   NV50_2D_DST_FORMAT_R32G32_FLOAT						0x000000cb
-#define   NV50_2D_DST_FORMAT_R32G32_SINT						0x000000cc
-#define   NV50_2D_DST_FORMAT_R32G32_UINT						0x000000cd
-#define   NV50_2D_DST_FORMAT_R16G16B16X16_FLOAT						0x000000ce
-#define   NV50_2D_DST_FORMAT_A8R8G8B8_UNORM						0x000000cf
-#define   NV50_2D_DST_FORMAT_A8R8G8B8_SRGB						0x000000d0
-#define   NV50_2D_DST_FORMAT_A2B10G10R10_UNORM						0x000000d1
-#define   NV50_2D_DST_FORMAT_A2B10G10R10_UINT						0x000000d2
-#define   NV50_2D_DST_FORMAT_A8B8G8R8_UNORM						0x000000d5
-#define   NV50_2D_DST_FORMAT_A8B8G8R8_SRGB						0x000000d6
-#define   NV50_2D_DST_FORMAT_A8B8G8R8_SNORM						0x000000d7
-#define   NV50_2D_DST_FORMAT_A8B8G8R8_SINT						0x000000d8
-#define   NV50_2D_DST_FORMAT_A8B8G8R8_UINT						0x000000d9
-#define   NV50_2D_DST_FORMAT_R16G16_UNORM						0x000000da
-#define   NV50_2D_DST_FORMAT_R16G16_SNORM						0x000000db
-#define   NV50_2D_DST_FORMAT_R16G16_SINT						0x000000dc
-#define   NV50_2D_DST_FORMAT_R16G16_UINT						0x000000dd
-#define   NV50_2D_DST_FORMAT_R16G16_FLOAT						0x000000de
-#define   NV50_2D_DST_FORMAT_A2R10G10B10_UNORM						0x000000df
-#define   NV50_2D_DST_FORMAT_B10G11R11_FLOAT						0x000000e0
-#define   NV50_2D_DST_FORMAT_R32_FLOAT							0x000000e5
-#define   NV50_2D_DST_FORMAT_X8R8G8B8_UNORM						0x000000e6
-#define   NV50_2D_DST_FORMAT_X8R8G8B8_SRGB						0x000000e7
-#define   NV50_2D_DST_FORMAT_R5G6B5_UNORM						0x000000e8
-#define   NV50_2D_DST_FORMAT_A1R5G5B5_UNORM						0x000000e9
-#define   NV50_2D_DST_FORMAT_R8G8_UNORM							0x000000ea
-#define   NV50_2D_DST_FORMAT_R8G8_SNORM							0x000000eb
-#define   NV50_2D_DST_FORMAT_R8G8_SINT							0x000000ec
-#define   NV50_2D_DST_FORMAT_R8G8_UINT							0x000000ed
-#define   NV50_2D_DST_FORMAT_R16_UNORM							0x000000ee
-#define   NV50_2D_DST_FORMAT_R16_SNORM							0x000000ef
-#define   NV50_2D_DST_FORMAT_R16_SINT							0x000000f0
-#define   NV50_2D_DST_FORMAT_R16_UINT							0x000000f1
-#define   NV50_2D_DST_FORMAT_R16_FLOAT							0x000000f2
-#define   NV50_2D_DST_FORMAT_R8_UNORM							0x000000f3
-#define   NV50_2D_DST_FORMAT_R8_SNORM							0x000000f4
-#define   NV50_2D_DST_FORMAT_R8_SINT							0x000000f5
-#define   NV50_2D_DST_FORMAT_R8_UINT							0x000000f6
-#define   NV50_2D_DST_FORMAT_A8_UNORM							0x000000f7
-#define   NV50_2D_DST_FORMAT_X1R5G5B5_UNORM						0x000000f8
-#define   NV50_2D_DST_FORMAT_X8B8G8R8_UNORM						0x000000f9
-#define   NV50_2D_DST_FORMAT_X8B8G8R8_SRGB						0x000000fa
-#define  NV50_2D_DST_LINEAR								0x00000204
-#define  NV50_2D_DST_TILE_MODE								0x00000208
-#define  NV50_2D_DST_DEPTH								0x0000020c
-#define  NV50_2D_DST_LAYER								0x00000210
-#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_R32G32B32A32_FLOAT						0x000000c0
-#define   NV50_2D_SRC_FORMAT_R32G32B32A32_SINT						0x000000c1
-#define   NV50_2D_SRC_FORMAT_R32G32B32A32_UINT						0x000000c2
-#define   NV50_2D_SRC_FORMAT_R32G32B32X32_FLOAT						0x000000c3
-#define   NV50_2D_SRC_FORMAT_R16G16B16A16_UNORM						0x000000c6
-#define   NV50_2D_SRC_FORMAT_R16G16B16A16_SNORM						0x000000c7
-#define   NV50_2D_SRC_FORMAT_R16G16B16A16_SINT						0x000000c8
-#define   NV50_2D_SRC_FORMAT_R16G16B16A16_UINT						0x000000c9
-#define   NV50_2D_SRC_FORMAT_R16G16B16A16_FLOAT						0x000000ca
-#define   NV50_2D_SRC_FORMAT_R32G32_FLOAT						0x000000cb
-#define   NV50_2D_SRC_FORMAT_R32G32_SINT						0x000000cc
-#define   NV50_2D_SRC_FORMAT_R32G32_UINT						0x000000cd
-#define   NV50_2D_SRC_FORMAT_R16G16B16X16_FLOAT						0x000000ce
-#define   NV50_2D_SRC_FORMAT_A8R8G8B8_UNORM						0x000000cf
-#define   NV50_2D_SRC_FORMAT_A8R8G8B8_SRGB						0x000000d0
-#define   NV50_2D_SRC_FORMAT_A2B10G10R10_UNORM						0x000000d1
-#define   NV50_2D_SRC_FORMAT_A2B10G10R10_UINT						0x000000d2
-#define   NV50_2D_SRC_FORMAT_A8B8G8R8_UNORM						0x000000d5
-#define   NV50_2D_SRC_FORMAT_A8B8G8R8_SRGB						0x000000d6
-#define   NV50_2D_SRC_FORMAT_A8B8G8R8_SNORM						0x000000d7
-#define   NV50_2D_SRC_FORMAT_A8B8G8R8_SINT						0x000000d8
-#define   NV50_2D_SRC_FORMAT_A8B8G8R8_UINT						0x000000d9
-#define   NV50_2D_SRC_FORMAT_R16G16_UNORM						0x000000da
-#define   NV50_2D_SRC_FORMAT_R16G16_SNORM						0x000000db
-#define   NV50_2D_SRC_FORMAT_R16G16_SINT						0x000000dc
-#define   NV50_2D_SRC_FORMAT_R16G16_UINT						0x000000dd
-#define   NV50_2D_SRC_FORMAT_R16G16_FLOAT						0x000000de
-#define   NV50_2D_SRC_FORMAT_A2R10G10B10_UNORM						0x000000df
-#define   NV50_2D_SRC_FORMAT_B10G11R11_FLOAT						0x000000e0
-#define   NV50_2D_SRC_FORMAT_R32_FLOAT							0x000000e5
-#define   NV50_2D_SRC_FORMAT_X8R8G8B8_UNORM						0x000000e6
-#define   NV50_2D_SRC_FORMAT_X8R8G8B8_SRGB						0x000000e7
-#define   NV50_2D_SRC_FORMAT_R5G6B5_UNORM						0x000000e8
-#define   NV50_2D_SRC_FORMAT_A1R5G5B5_UNORM						0x000000e9
-#define   NV50_2D_SRC_FORMAT_R8G8_UNORM							0x000000ea
-#define   NV50_2D_SRC_FORMAT_R8G8_SNORM							0x000000eb
-#define   NV50_2D_SRC_FORMAT_R8G8_SINT							0x000000ec
-#define   NV50_2D_SRC_FORMAT_R8G8_UINT							0x000000ed
-#define   NV50_2D_SRC_FORMAT_R16_UNORM							0x000000ee
-#define   NV50_2D_SRC_FORMAT_R16_SNORM							0x000000ef
-#define   NV50_2D_SRC_FORMAT_R16_SINT							0x000000f0
-#define   NV50_2D_SRC_FORMAT_R16_UINT							0x000000f1
-#define   NV50_2D_SRC_FORMAT_R16_FLOAT							0x000000f2
-#define   NV50_2D_SRC_FORMAT_R8_UNORM							0x000000f3
-#define   NV50_2D_SRC_FORMAT_R8_SNORM							0x000000f4
-#define   NV50_2D_SRC_FORMAT_R8_SINT							0x000000f5
-#define   NV50_2D_SRC_FORMAT_R8_UINT							0x000000f6
-#define   NV50_2D_SRC_FORMAT_A8_UNORM							0x000000f7
-#define   NV50_2D_SRC_FORMAT_X1R5G5B5_UNORM						0x000000f8
-#define   NV50_2D_SRC_FORMAT_X8B8G8R8_UNORM						0x000000f9
-#define   NV50_2D_SRC_FORMAT_X8B8G8R8_SRGB						0x000000fa
-#define  NV50_2D_SRC_LINEAR								0x00000234
-#define  NV50_2D_SRC_TILE_MODE								0x00000238
-#define  NV50_2D_SRC_DEPTH								0x0000023c
-#define  NV50_2D_SRC_LAYER								0x00000240
-#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_COND_ADDRESS_HIGH							0x00000264
-#define  NV50_2D_COND_ADDRESS_LOW							0x00000268
-#define  NV50_2D_COND_MODE								0x0000026c
-#define   NV50_2D_COND_MODE_NEVER							0x00000000
-#define   NV50_2D_COND_MODE_ALWAYS							0x00000001
-#define   NV50_2D_COND_MODE_RES								0x00000002
-#define   NV50_2D_COND_MODE_NOT_RES_AND_NOT_ID						0x00000003
-#define   NV50_2D_COND_MODE_RES_OR_ID							0x00000004
-#define  NV50_2D_CLIP_X									0x00000280
-#define  NV50_2D_CLIP_Y									0x00000284
-#define  NV50_2D_CLIP_W									0x00000288
-#define  NV50_2D_CLIP_H									0x0000028c
-#define  NV50_2D_CLIP_ENABLE								0x00000290
-#define  NV50_2D_COLOR_KEY_FORMAT							0x00000294
-#define   NV50_2D_COLOR_KEY_FORMAT_16BPP						0x00000000
-#define   NV50_2D_COLOR_KEY_FORMAT_15BPP						0x00000001
-#define   NV50_2D_COLOR_KEY_FORMAT_24BPP						0x00000002
-#define   NV50_2D_COLOR_KEY_FORMAT_30BPP						0x00000003
-#define   NV50_2D_COLOR_KEY_FORMAT_8BPP							0x00000004
-#define   NV50_2D_COLOR_KEY_FORMAT_16BPP2						0x00000005
-#define   NV50_2D_COLOR_KEY_FORMAT_32BPP						0x00000006
-#define  NV50_2D_COLOR_KEY								0x00000298
-#define  NV50_2D_COLOR_KEY_ENABLE							0x0000029c
-#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_DRAW_SHAPE								0x00000580
-#define   NV50_2D_DRAW_SHAPE_POINTS							0x00000000
-#define   NV50_2D_DRAW_SHAPE_LINES							0x00000001
-#define   NV50_2D_DRAW_SHAPE_LINE_STRIP							0x00000002
-#define   NV50_2D_DRAW_SHAPE_TRIANGLES							0x00000003
-#define   NV50_2D_DRAW_SHAPE_RECTANGLES							0x00000004
-#define  NV50_2D_DRAW_COLOR_FORMAT							0x00000584
-#define   NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_FLOAT					0x000000c0
-#define   NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_SINT					0x000000c1
-#define   NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_UINT					0x000000c2
-#define   NV50_2D_DRAW_COLOR_FORMAT_R32G32B32X32_FLOAT					0x000000c3
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_UNORM					0x000000c6
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_SNORM					0x000000c7
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_SINT					0x000000c8
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_UINT					0x000000c9
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_FLOAT					0x000000ca
-#define   NV50_2D_DRAW_COLOR_FORMAT_R32G32_FLOAT					0x000000cb
-#define   NV50_2D_DRAW_COLOR_FORMAT_R32G32_SINT						0x000000cc
-#define   NV50_2D_DRAW_COLOR_FORMAT_R32G32_UINT						0x000000cd
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16B16X16_FLOAT					0x000000ce
-#define   NV50_2D_DRAW_COLOR_FORMAT_A8R8G8B8_UNORM					0x000000cf
-#define   NV50_2D_DRAW_COLOR_FORMAT_A8R8G8B8_SRGB					0x000000d0
-#define   NV50_2D_DRAW_COLOR_FORMAT_A2B10G10R10_UNORM					0x000000d1
-#define   NV50_2D_DRAW_COLOR_FORMAT_A2B10G10R10_UINT					0x000000d2
-#define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_UNORM					0x000000d5
-#define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SRGB					0x000000d6
-#define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SNORM					0x000000d7
-#define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SINT					0x000000d8
-#define   NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_UINT					0x000000d9
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_UNORM					0x000000da
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_SNORM					0x000000db
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_SINT						0x000000dc
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_UINT						0x000000dd
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16G16_FLOAT					0x000000de
-#define   NV50_2D_DRAW_COLOR_FORMAT_A2R10G10B10_UNORM					0x000000df
-#define   NV50_2D_DRAW_COLOR_FORMAT_B10G11R11_FLOAT					0x000000e0
-#define   NV50_2D_DRAW_COLOR_FORMAT_R32_FLOAT						0x000000e5
-#define   NV50_2D_DRAW_COLOR_FORMAT_X8R8G8B8_UNORM					0x000000e6
-#define   NV50_2D_DRAW_COLOR_FORMAT_X8R8G8B8_SRGB					0x000000e7
-#define   NV50_2D_DRAW_COLOR_FORMAT_R5G6B5_UNORM					0x000000e8
-#define   NV50_2D_DRAW_COLOR_FORMAT_A1R5G5B5_UNORM					0x000000e9
-#define   NV50_2D_DRAW_COLOR_FORMAT_R8G8_UNORM						0x000000ea
-#define   NV50_2D_DRAW_COLOR_FORMAT_R8G8_SNORM						0x000000eb
-#define   NV50_2D_DRAW_COLOR_FORMAT_R8G8_SINT						0x000000ec
-#define   NV50_2D_DRAW_COLOR_FORMAT_R8G8_UINT						0x000000ed
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16_UNORM						0x000000ee
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16_SNORM						0x000000ef
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16_SINT						0x000000f0
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16_UINT						0x000000f1
-#define   NV50_2D_DRAW_COLOR_FORMAT_R16_FLOAT						0x000000f2
-#define   NV50_2D_DRAW_COLOR_FORMAT_R8_UNORM						0x000000f3
-#define   NV50_2D_DRAW_COLOR_FORMAT_R8_SNORM						0x000000f4
-#define   NV50_2D_DRAW_COLOR_FORMAT_R8_SINT						0x000000f5
-#define   NV50_2D_DRAW_COLOR_FORMAT_R8_UINT						0x000000f6
-#define   NV50_2D_DRAW_COLOR_FORMAT_A8_UNORM						0x000000f7
-#define   NV50_2D_DRAW_COLOR_FORMAT_X1R5G5B5_UNORM					0x000000f8
-#define   NV50_2D_DRAW_COLOR_FORMAT_X8B8G8R8_UNORM					0x000000f9
-#define   NV50_2D_DRAW_COLOR_FORMAT_X8B8G8R8_SRGB					0x000000fa
-#define  NV50_2D_DRAW_COLOR								0x00000588
-#define  NV50_2D_DRAW_POINT16								0x000005e0
-#define   NV50_2D_DRAW_POINT16_X_SHIFT							0
-#define   NV50_2D_DRAW_POINT16_X_MASK							0x0000ffff
-#define   NV50_2D_DRAW_POINT16_Y_SHIFT							16
-#define   NV50_2D_DRAW_POINT16_Y_MASK							0xffff0000
-#define  NV50_2D_DRAW_POINT32_X(x)							(0x00000600+((x)*8))
-#define  NV50_2D_DRAW_POINT32_X__SIZE							0x00000040
-#define  NV50_2D_DRAW_POINT32_Y(x)							(0x00000604+((x)*8))
-#define  NV50_2D_DRAW_POINT32_Y__SIZE							0x00000040
-#define  NV50_2D_SIFC_BITMAP_ENABLE							0x00000800
-#define  NV50_2D_SIFC_FORMAT								0x00000804
-#define   NV50_2D_SIFC_FORMAT_R32G32B32A32_FLOAT					0x000000c0
-#define   NV50_2D_SIFC_FORMAT_R32G32B32A32_SINT						0x000000c1
-#define   NV50_2D_SIFC_FORMAT_R32G32B32A32_UINT						0x000000c2
-#define   NV50_2D_SIFC_FORMAT_R32G32B32X32_FLOAT					0x000000c3
-#define   NV50_2D_SIFC_FORMAT_R16G16B16A16_UNORM					0x000000c6
-#define   NV50_2D_SIFC_FORMAT_R16G16B16A16_SNORM					0x000000c7
-#define   NV50_2D_SIFC_FORMAT_R16G16B16A16_SINT						0x000000c8
-#define   NV50_2D_SIFC_FORMAT_R16G16B16A16_UINT						0x000000c9
-#define   NV50_2D_SIFC_FORMAT_R16G16B16A16_FLOAT					0x000000ca
-#define   NV50_2D_SIFC_FORMAT_R32G32_FLOAT						0x000000cb
-#define   NV50_2D_SIFC_FORMAT_R32G32_SINT						0x000000cc
-#define   NV50_2D_SIFC_FORMAT_R32G32_UINT						0x000000cd
-#define   NV50_2D_SIFC_FORMAT_R16G16B16X16_FLOAT					0x000000ce
-#define   NV50_2D_SIFC_FORMAT_A8R8G8B8_UNORM						0x000000cf
-#define   NV50_2D_SIFC_FORMAT_A8R8G8B8_SRGB						0x000000d0
-#define   NV50_2D_SIFC_FORMAT_A2B10G10R10_UNORM						0x000000d1
-#define   NV50_2D_SIFC_FORMAT_A2B10G10R10_UINT						0x000000d2
-#define   NV50_2D_SIFC_FORMAT_A8B8G8R8_UNORM						0x000000d5
-#define   NV50_2D_SIFC_FORMAT_A8B8G8R8_SRGB						0x000000d6
-#define   NV50_2D_SIFC_FORMAT_A8B8G8R8_SNORM						0x000000d7
-#define   NV50_2D_SIFC_FORMAT_A8B8G8R8_SINT						0x000000d8
-#define   NV50_2D_SIFC_FORMAT_A8B8G8R8_UINT						0x000000d9
-#define   NV50_2D_SIFC_FORMAT_R16G16_UNORM						0x000000da
-#define   NV50_2D_SIFC_FORMAT_R16G16_SNORM						0x000000db
-#define   NV50_2D_SIFC_FORMAT_R16G16_SINT						0x000000dc
-#define   NV50_2D_SIFC_FORMAT_R16G16_UINT						0x000000dd
-#define   NV50_2D_SIFC_FORMAT_R16G16_FLOAT						0x000000de
-#define   NV50_2D_SIFC_FORMAT_A2R10G10B10_UNORM						0x000000df
-#define   NV50_2D_SIFC_FORMAT_B10G11R11_FLOAT						0x000000e0
-#define   NV50_2D_SIFC_FORMAT_R32_FLOAT							0x000000e5
-#define   NV50_2D_SIFC_FORMAT_X8R8G8B8_UNORM						0x000000e6
-#define   NV50_2D_SIFC_FORMAT_X8R8G8B8_SRGB						0x000000e7
-#define   NV50_2D_SIFC_FORMAT_R5G6B5_UNORM						0x000000e8
-#define   NV50_2D_SIFC_FORMAT_A1R5G5B5_UNORM						0x000000e9
-#define   NV50_2D_SIFC_FORMAT_R8G8_UNORM						0x000000ea
-#define   NV50_2D_SIFC_FORMAT_R8G8_SNORM						0x000000eb
-#define   NV50_2D_SIFC_FORMAT_R8G8_SINT							0x000000ec
-#define   NV50_2D_SIFC_FORMAT_R8G8_UINT							0x000000ed
-#define   NV50_2D_SIFC_FORMAT_R16_UNORM							0x000000ee
-#define   NV50_2D_SIFC_FORMAT_R16_SNORM							0x000000ef
-#define   NV50_2D_SIFC_FORMAT_R16_SINT							0x000000f0
-#define   NV50_2D_SIFC_FORMAT_R16_UINT							0x000000f1
-#define   NV50_2D_SIFC_FORMAT_R16_FLOAT							0x000000f2
-#define   NV50_2D_SIFC_FORMAT_R8_UNORM							0x000000f3
-#define   NV50_2D_SIFC_FORMAT_R8_SNORM							0x000000f4
-#define   NV50_2D_SIFC_FORMAT_R8_SINT							0x000000f5
-#define   NV50_2D_SIFC_FORMAT_R8_UINT							0x000000f6
-#define   NV50_2D_SIFC_FORMAT_A8_UNORM							0x000000f7
-#define   NV50_2D_SIFC_FORMAT_X1R5G5B5_UNORM						0x000000f8
-#define   NV50_2D_SIFC_FORMAT_X8B8G8R8_UNORM						0x000000f9
-#define   NV50_2D_SIFC_FORMAT_X8B8G8R8_SRGB						0x000000fa
-#define  NV50_2D_SIFC_BITMAP_UNK808							0x00000808
-#define  NV50_2D_SIFC_BITMAP_LSB_FIRST							0x0000080c
-#define  NV50_2D_SIFC_BITMAP_LINE_PACK_MODE						0x00000810
-#define   NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_PACKED					0x00000000
-#define   NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_BYTE					0x00000001
-#define   NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_WORD					0x00000002
-#define  NV50_2D_SIFC_BITMAP_COLOR_BIT0							0x00000814
-#define  NV50_2D_SIFC_BITMAP_COLOR_BIT1							0x00000818
-#define  NV50_2D_SIFC_BITMAP_WRITE_BIT0_ENABLE						0x0000081c
-#define  NV50_2D_SIFC_WIDTH								0x00000838
-#define  NV50_2D_SIFC_HEIGHT								0x0000083c
-#define  NV50_2D_SIFC_DX_DU_FRACT							0x00000840
-#define  NV50_2D_SIFC_DX_DU_INT								0x00000844
-#define  NV50_2D_SIFC_DY_DV_FRACT							0x00000848
-#define  NV50_2D_SIFC_DY_DV_INT								0x0000084c
-#define  NV50_2D_SIFC_DST_X_FRACT							0x00000850
-#define  NV50_2D_SIFC_DST_X_INT								0x00000854
-#define  NV50_2D_SIFC_DST_Y_FRACT							0x00000858
-#define  NV50_2D_SIFC_DST_Y_INT								0x0000085c
-#define  NV50_2D_SIFC_DATA								0x00000860
-#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_DU_DX_FRACT							0x000008c0
-#define  NV50_2D_BLIT_DU_DX_INT								0x000008c4
-#define  NV50_2D_BLIT_DV_DY_FRACT							0x000008c8
-#define  NV50_2D_BLIT_DV_DY_INT								0x000008cc
-#define  NV50_2D_BLIT_SRC_X_FRACT							0x000008d0
-#define  NV50_2D_BLIT_SRC_X_INT								0x000008d4
-#define  NV50_2D_BLIT_SRC_Y_FRACT							0x000008d8
-#define  NV50_2D_BLIT_SRC_Y_INT								0x000008dc
-
-
-#define NV50TCL										0x00005097
-
-#define  NV50TCL_NOP									0x00000100
-#define  NV50TCL_NOTIFY									0x00000104
-#define  NV50TCL_SERIALIZE								0x00000110
-#define  NV50TCL_DMA_NOTIFY								0x00000180
-#define  NV50TCL_DMA_ZETA								0x00000184
-#define  NV50TCL_DMA_QUERY								0x00000188
-#define  NV50TCL_DMA_VTXBUF0								0x0000018c
-#define  NV50TCL_DMA_LOCAL								0x00000190
-#define  NV50TCL_DMA_STACK								0x00000194
-#define  NV50TCL_DMA_CODE_CB								0x00000198
-#define  NV50TCL_DMA_TSC								0x0000019c
-#define  NV50TCL_DMA_TIC								0x000001a0
-#define  NV50TCL_DMA_TEXTURE								0x000001a4
-#define  NV50TCL_DMA_STRMOUT								0x000001a8
-#define  NV50TCL_DMA_UNK01AC								0x000001ac
-#define  NV50TCL_DMA_COLOR(x)								(0x000001c0+((x)*4))
-#define  NV50TCL_DMA_COLOR__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_FORMAT_R32G32B32A32_FLOAT						0x000000c0
-#define   NV50TCL_RT_FORMAT_R32G32B32A32_SINT						0x000000c1
-#define   NV50TCL_RT_FORMAT_R32G32B32A32_UINT						0x000000c2
-#define   NV50TCL_RT_FORMAT_R32G32B32X32_FLOAT						0x000000c3
-#define   NV50TCL_RT_FORMAT_R16G16B16A16_UNORM						0x000000c6
-#define   NV50TCL_RT_FORMAT_R16G16B16A16_SNORM						0x000000c7
-#define   NV50TCL_RT_FORMAT_R16G16B16A16_SINT						0x000000c8
-#define   NV50TCL_RT_FORMAT_R16G16B16A16_UINT						0x000000c9
-#define   NV50TCL_RT_FORMAT_R16G16B16A16_FLOAT						0x000000ca
-#define   NV50TCL_RT_FORMAT_R32G32_FLOAT						0x000000cb
-#define   NV50TCL_RT_FORMAT_R32G32_SINT							0x000000cc
-#define   NV50TCL_RT_FORMAT_R32G32_UINT							0x000000cd
-#define   NV50TCL_RT_FORMAT_R16G16B16X16_FLOAT						0x000000ce
-#define   NV50TCL_RT_FORMAT_A8R8G8B8_UNORM						0x000000cf
-#define   NV50TCL_RT_FORMAT_A8R8G8B8_SRGB						0x000000d0
-#define   NV50TCL_RT_FORMAT_A2B10G10R10_UNORM						0x000000d1
-#define   NV50TCL_RT_FORMAT_A2B10G10R10_UINT						0x000000d2
-#define   NV50TCL_RT_FORMAT_A8B8G8R8_UNORM						0x000000d5
-#define   NV50TCL_RT_FORMAT_A8B8G8R8_SRGB						0x000000d6
-#define   NV50TCL_RT_FORMAT_A8B8G8R8_SNORM						0x000000d7
-#define   NV50TCL_RT_FORMAT_A8B8G8R8_SINT						0x000000d8
-#define   NV50TCL_RT_FORMAT_A8B8G8R8_UINT						0x000000d9
-#define   NV50TCL_RT_FORMAT_R16G16_UNORM						0x000000da
-#define   NV50TCL_RT_FORMAT_R16G16_SNORM						0x000000db
-#define   NV50TCL_RT_FORMAT_R16G16_SINT							0x000000dc
-#define   NV50TCL_RT_FORMAT_R16G16_UINT							0x000000dd
-#define   NV50TCL_RT_FORMAT_R16G16_FLOAT						0x000000de
-#define   NV50TCL_RT_FORMAT_A2R10G10B10_UNORM						0x000000df
-#define   NV50TCL_RT_FORMAT_B10G11R11_FLOAT						0x000000e0
-#define   NV50TCL_RT_FORMAT_R32_FLOAT							0x000000e5
-#define   NV50TCL_RT_FORMAT_X8R8G8B8_UNORM						0x000000e6
-#define   NV50TCL_RT_FORMAT_X8R8G8B8_SRGB						0x000000e7
-#define   NV50TCL_RT_FORMAT_R5G6B5_UNORM						0x000000e8
-#define   NV50TCL_RT_FORMAT_A1R5G5B5_UNORM						0x000000e9
-#define   NV50TCL_RT_FORMAT_R8G8_UNORM							0x000000ea
-#define   NV50TCL_RT_FORMAT_R8G8_SNORM							0x000000eb
-#define   NV50TCL_RT_FORMAT_R8G8_SINT							0x000000ec
-#define   NV50TCL_RT_FORMAT_R8G8_UINT							0x000000ed
-#define   NV50TCL_RT_FORMAT_R16_UNORM							0x000000ee
-#define   NV50TCL_RT_FORMAT_R16_SNORM							0x000000ef
-#define   NV50TCL_RT_FORMAT_R16_SINT							0x000000f0
-#define   NV50TCL_RT_FORMAT_R16_UINT							0x000000f1
-#define   NV50TCL_RT_FORMAT_R16_FLOAT							0x000000f2
-#define   NV50TCL_RT_FORMAT_R8_UNORM							0x000000f3
-#define   NV50TCL_RT_FORMAT_R8_SNORM							0x000000f4
-#define   NV50TCL_RT_FORMAT_R8_SINT							0x000000f5
-#define   NV50TCL_RT_FORMAT_R8_UINT							0x000000f6
-#define   NV50TCL_RT_FORMAT_A8_UNORM							0x000000f7
-#define   NV50TCL_RT_FORMAT_X1R5G5B5_UNORM						0x000000f8
-#define   NV50TCL_RT_FORMAT_X8B8G8R8_UNORM						0x000000f9
-#define   NV50TCL_RT_FORMAT_X8B8G8R8_SRGB						0x000000fa
-#define  NV50TCL_RT_TILE_MODE(x)							(0x0000020c+((x)*32))
-#define  NV50TCL_RT_TILE_MODE__SIZE							0x00000008
-#define  NV50TCL_RT_LAYER_STRIDE(x)							(0x00000210+((x)*32))
-#define  NV50TCL_RT_LAYER_STRIDE__SIZE							0x00000008
-#define  NV50TCL_VTX_ATTR_1F(x)								(0x00000300+((x)*4))
-#define  NV50TCL_VTX_ATTR_1F__SIZE							0x00000010
-#define  NV50TCL_VTX_ATTR_2H(x)								(0x00000340+((x)*4))
-#define  NV50TCL_VTX_ATTR_2H__SIZE							0x00000010
-#define   NV50TCL_VTX_ATTR_2H_X_SHIFT							0
-#define   NV50TCL_VTX_ATTR_2H_X_MASK							0x0000ffff
-#define   NV50TCL_VTX_ATTR_2H_Y_SHIFT							16
-#define   NV50TCL_VTX_ATTR_2H_Y_MASK							0xffff0000
-#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_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_4H_0(x)							(0x00000600+((x)*8))
-#define  NV50TCL_VTX_ATTR_4H_0__SIZE							0x00000010
-#define   NV50TCL_VTX_ATTR_4H_0_X_SHIFT							0
-#define   NV50TCL_VTX_ATTR_4H_0_X_MASK							0x0000ffff
-#define   NV50TCL_VTX_ATTR_4H_0_Y_SHIFT							16
-#define   NV50TCL_VTX_ATTR_4H_0_Y_MASK							0xffff0000
-#define  NV50TCL_VTX_ATTR_4H_1(x)							(0x00000604+((x)*8))
-#define  NV50TCL_VTX_ATTR_4H_1__SIZE							0x00000010
-#define   NV50TCL_VTX_ATTR_4H_1_Z_SHIFT							0
-#define   NV50TCL_VTX_ATTR_4H_1_Z_MASK							0x0000ffff
-#define   NV50TCL_VTX_ATTR_4H_1_W_SHIFT							16
-#define   NV50TCL_VTX_ATTR_4H_1_W_MASK							0xffff0000
-#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_2NI(x)							(0x000006c0+((x)*4))
-#define  NV50TCL_VTX_ATTR_2NI__SIZE							0x00000010
-#define   NV50TCL_VTX_ATTR_2NI_X_SHIFT							0
-#define   NV50TCL_VTX_ATTR_2NI_X_MASK							0x0000ffff
-#define   NV50TCL_VTX_ATTR_2NI_Y_SHIFT							16
-#define   NV50TCL_VTX_ATTR_2NI_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_VTX_ATTR_4UB(x)							(0x00000800+((x)*4))
-#define  NV50TCL_VTX_ATTR_4UB__SIZE							0x00000010
-#define   NV50TCL_VTX_ATTR_4UB_X_SHIFT							0
-#define   NV50TCL_VTX_ATTR_4UB_X_MASK							0x000000ff
-#define   NV50TCL_VTX_ATTR_4UB_Y_SHIFT							8
-#define   NV50TCL_VTX_ATTR_4UB_Y_MASK							0x0000ff00
-#define   NV50TCL_VTX_ATTR_4UB_Z_SHIFT							16
-#define   NV50TCL_VTX_ATTR_4UB_Z_MASK							0x00ff0000
-#define   NV50TCL_VTX_ATTR_4UB_W_SHIFT							24
-#define   NV50TCL_VTX_ATTR_4UB_W_MASK							0xff000000
-#define  NV50TCL_VTX_ATTR_4B(x)								(0x00000840+((x)*4))
-#define  NV50TCL_VTX_ATTR_4B__SIZE							0x00000010
-#define   NV50TCL_VTX_ATTR_4B_X_SHIFT							0
-#define   NV50TCL_VTX_ATTR_4B_X_MASK							0x000000ff
-#define   NV50TCL_VTX_ATTR_4B_Y_SHIFT							8
-#define   NV50TCL_VTX_ATTR_4B_Y_MASK							0x0000ff00
-#define   NV50TCL_VTX_ATTR_4B_Z_SHIFT							16
-#define   NV50TCL_VTX_ATTR_4B_Z_MASK							0x00ff0000
-#define   NV50TCL_VTX_ATTR_4B_W_SHIFT							24
-#define   NV50TCL_VTX_ATTR_4B_W_MASK							0xff000000
-#define  NV50TCL_VTX_ATTR_4NUB(x)							(0x00000880+((x)*4))
-#define  NV50TCL_VTX_ATTR_4NUB__SIZE							0x00000010
-#define   NV50TCL_VTX_ATTR_4NUB_X_SHIFT							0
-#define   NV50TCL_VTX_ATTR_4NUB_X_MASK							0x000000ff
-#define   NV50TCL_VTX_ATTR_4NUB_Y_SHIFT							8
-#define   NV50TCL_VTX_ATTR_4NUB_Y_MASK							0x0000ff00
-#define   NV50TCL_VTX_ATTR_4NUB_Z_SHIFT							16
-#define   NV50TCL_VTX_ATTR_4NUB_Z_MASK							0x00ff0000
-#define   NV50TCL_VTX_ATTR_4NUB_W_SHIFT							24
-#define   NV50TCL_VTX_ATTR_4NUB_W_MASK							0xff000000
-#define  NV50TCL_VTX_ATTR_4NB(x)							(0x000008c0+((x)*4))
-#define  NV50TCL_VTX_ATTR_4NB__SIZE							0x00000010
-#define   NV50TCL_VTX_ATTR_4NB_X_SHIFT							0
-#define   NV50TCL_VTX_ATTR_4NB_X_MASK							0x000000ff
-#define   NV50TCL_VTX_ATTR_4NB_Y_SHIFT							8
-#define   NV50TCL_VTX_ATTR_4NB_Y_MASK							0x0000ff00
-#define   NV50TCL_VTX_ATTR_4NB_Z_SHIFT							16
-#define   NV50TCL_VTX_ATTR_4NB_Z_MASK							0x00ff0000
-#define   NV50TCL_VTX_ATTR_4NB_W_SHIFT							24
-#define   NV50TCL_VTX_ATTR_4NB_W_MASK							0xff000000
-#define  NV50TCL_VERTEX_ARRAY_FORMAT(x)							(0x00000900+((x)*16))
-#define  NV50TCL_VERTEX_ARRAY_FORMAT__SIZE						0x00000010
-#define   NV50TCL_VERTEX_ARRAY_FORMAT_STRIDE_SHIFT					0
-#define   NV50TCL_VERTEX_ARRAY_FORMAT_STRIDE_MASK					0x00000fff
-#define   NV50TCL_VERTEX_ARRAY_FORMAT_ENABLE						(1 << 29)
-#define  NV50TCL_VERTEX_ARRAY_START_HIGH(x)						(0x00000904+((x)*16))
-#define  NV50TCL_VERTEX_ARRAY_START_HIGH__SIZE						0x00000010
-#define  NV50TCL_VERTEX_ARRAY_START_LOW(x)						(0x00000908+((x)*16))
-#define  NV50TCL_VERTEX_ARRAY_START_LOW__SIZE						0x00000010
-#define  NV50TCL_VIEWPORT_SCALE_X(x)							(0x00000a00+((x)*32))
-#define  NV50TCL_VIEWPORT_SCALE_X__SIZE							0x00000010
-#define  NV50TCL_VIEWPORT_SCALE_Y(x)							(0x00000a04+((x)*32))
-#define  NV50TCL_VIEWPORT_SCALE_Y__SIZE							0x00000010
-#define  NV50TCL_VIEWPORT_SCALE_Z(x)							(0x00000a08+((x)*32))
-#define  NV50TCL_VIEWPORT_SCALE_Z__SIZE							0x00000010
-#define  NV50TCL_VIEWPORT_TRANSLATE_X(x)						(0x00000a0c+((x)*32))
-#define  NV50TCL_VIEWPORT_TRANSLATE_X__SIZE						0x00000010
-#define  NV50TCL_VIEWPORT_TRANSLATE_Y(x)						(0x00000a10+((x)*32))
-#define  NV50TCL_VIEWPORT_TRANSLATE_Y__SIZE						0x00000010
-#define  NV50TCL_VIEWPORT_TRANSLATE_Z(x)						(0x00000a14+((x)*32))
-#define  NV50TCL_VIEWPORT_TRANSLATE_Z__SIZE						0x00000010
-#define  NV50TCL_VIEWPORT_HORIZ(x)							(0x00000c00+((x)*16))
-#define  NV50TCL_VIEWPORT_HORIZ__SIZE							0x00000010
-#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(x)							(0x00000c04+((x)*16))
-#define  NV50TCL_VIEWPORT_VERT__SIZE							0x00000010
-#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(x)							(0x00000c08+((x)*16))
-#define  NV50TCL_DEPTH_RANGE_NEAR__SIZE							0x00000010
-#define  NV50TCL_DEPTH_RANGE_FAR(x)							(0x00000c0c+((x)*16))
-#define  NV50TCL_DEPTH_RANGE_FAR__SIZE							0x00000010
-#define  NV50TCL_VIEWPORT_CLIP_HORIZ(x)							(0x00000d00+((x)*8))
-#define  NV50TCL_VIEWPORT_CLIP_HORIZ__SIZE						0x00000008
-#define  NV50TCL_VIEWPORT_CLIP_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_STACK_ADDRESS_HIGH							0x00000d94
-#define  NV50TCL_STACK_ADDRESS_LOW							0x00000d98
-#define  NV50TCL_STACK_SIZE_LOG								0x00000d9c
-#define  NV50TCL_CLEAR_STENCIL								0x00000da0
-#define  NV50TCL_STRMOUT_PRIMITIVE_COUNT						0x00000da8
-#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_WATCHDOG_TIMER								0x00000de4
-#define  NV50TCL_WINDOW_OFFSET_X							0x00000df8
-#define  NV50TCL_WINDOW_OFFSET_Y							0x00000dfc
-#define  NV50TCL_SCISSOR_ENABLE(x)							(0x00000e00+((x)*16))
-#define  NV50TCL_SCISSOR_ENABLE__SIZE							0x00000010
-#define  NV50TCL_SCISSOR_HORIZ(x)							(0x00000e04+((x)*16))
-#define  NV50TCL_SCISSOR_HORIZ__SIZE							0x00000010
-#define   NV50TCL_SCISSOR_HORIZ_MIN_SHIFT						0
-#define   NV50TCL_SCISSOR_HORIZ_MIN_MASK						0x0000ffff
-#define   NV50TCL_SCISSOR_HORIZ_MAX_SHIFT						16
-#define   NV50TCL_SCISSOR_HORIZ_MAX_MASK						0xffff0000
-#define  NV50TCL_SCISSOR_VERT(x)							(0x00000e08+((x)*16))
-#define  NV50TCL_SCISSOR_VERT__SIZE							0x00000010
-#define   NV50TCL_SCISSOR_VERT_MIN_SHIFT						0
-#define   NV50TCL_SCISSOR_VERT_MIN_MASK							0x0000ffff
-#define   NV50TCL_SCISSOR_VERT_MAX_SHIFT						16
-#define   NV50TCL_SCISSOR_VERT_MAX_MASK							0xffff0000
-#define  NV50TCL_CB_ADDR								0x00000f00
-#define   NV50TCL_CB_ADDR_ID_SHIFT							8
-#define   NV50TCL_CB_ADDR_ID_MASK							0x003fff00
-#define   NV50TCL_CB_ADDR_BUFFER_SHIFT							0
-#define   NV50TCL_CB_ADDR_BUFFER_MASK							0x0000007f
-#define  NV50TCL_CB_DATA(x)								(0x00000f04+((x)*4))
-#define  NV50TCL_CB_DATA__SIZE								0x00000010
-#define  NV50TCL_LOCAL_WARPS_LOG_ALLOC							0x00000f44
-#define  NV50TCL_LOCAL_WARPS_NO_CLAMP							0x00000f48
-#define  NV50TCL_STACK_WARPS_LOG_ALLOC							0x00000f4c
-#define  NV50TCL_STACK_WARPS_NO_CLAMP							0x00000f50
-#define  NV50TCL_STENCIL_BACK_FUNC_REF							0x00000f54
-#define  NV50TCL_STENCIL_BACK_MASK							0x00000f58
-#define  NV50TCL_STENCIL_BACK_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_UNK0F84_ADDRESS_HIGH							0x00000f84
-#define  NV50TCL_UNK0F84_ADDRESS_LOW							0x00000f88
-#define  NV50TCL_DEPTH_BOUNDS(x)							(0x00000f9c+((x)*4))
-#define  NV50TCL_DEPTH_BOUNDS__SIZE							0x00000002
-#define  NV50TCL_FP_ADDRESS_HIGH							0x00000fa4
-#define  NV50TCL_FP_ADDRESS_LOW								0x00000fa8
-#define  NV50TCL_MSAA_MASK(x)								(0x00000fbc+((x)*4))
-#define  NV50TCL_MSAA_MASK__SIZE							0x00000004
-#define  NV50TCL_ZETA_ADDRESS_HIGH							0x00000fe0
-#define  NV50TCL_ZETA_ADDRESS_LOW							0x00000fe4
-#define  NV50TCL_ZETA_FORMAT								0x00000fe8
-#define   NV50TCL_ZETA_FORMAT_Z32_FLOAT							0x0000000a
-#define   NV50TCL_ZETA_FORMAT_Z16_UNORM							0x00000013
-#define   NV50TCL_ZETA_FORMAT_Z24S8_UNORM						0x00000014
-#define   NV50TCL_ZETA_FORMAT_X8Z24_UNORM						0x00000015
-#define   NV50TCL_ZETA_FORMAT_S8Z24_UNORM						0x00000016
-#define   NV50TCL_ZETA_FORMAT_Z32_FLOAT_X24S8_UNORM					0x00000019
-#define  NV50TCL_ZETA_TILE_MODE								0x00000fec
-#define  NV50TCL_ZETA_LAYER_STRIDE							0x00000ff0
-#define  NV50TCL_SCREEN_SCISSOR_HORIZ							0x00000ff4
-#define   NV50TCL_SCREEN_SCISSOR_HORIZ_W_SHIFT						16
-#define   NV50TCL_SCREEN_SCISSOR_HORIZ_W_MASK						0xffff0000
-#define   NV50TCL_SCREEN_SCISSOR_HORIZ_X_SHIFT						0
-#define   NV50TCL_SCREEN_SCISSOR_HORIZ_X_MASK						0x0000ffff
-#define  NV50TCL_SCREEN_SCISSOR_VERT							0x00000ff8
-#define   NV50TCL_SCREEN_SCISSOR_VERT_H_SHIFT						16
-#define   NV50TCL_SCREEN_SCISSOR_VERT_H_MASK						0xffff0000
-#define   NV50TCL_SCREEN_SCISSOR_VERT_Y_SHIFT						0
-#define   NV50TCL_SCREEN_SCISSOR_VERT_Y_MASK						0x0000ffff
-#define  NV50TCL_VERTEX_ARRAY_LIMIT_HIGH(x)						(0x00001080+((x)*8))
-#define  NV50TCL_VERTEX_ARRAY_LIMIT_HIGH__SIZE						0x00000010
-#define  NV50TCL_VERTEX_ARRAY_LIMIT_LOW(x)						(0x00001084+((x)*8))
-#define  NV50TCL_VERTEX_ARRAY_LIMIT_LOW__SIZE						0x00000010
-#define  NV50TCL_RT_CONTROL								0x0000121c
-#define   NV50TCL_RT_CONTROL_COUNT_SHIFT						0
-#define   NV50TCL_RT_CONTROL_COUNT_MASK							0x0000000f
-#define   NV50TCL_RT_CONTROL_MAP0_SHIFT							4
-#define   NV50TCL_RT_CONTROL_MAP0_MASK							0x00000070
-#define   NV50TCL_RT_CONTROL_MAP1_SHIFT							7
-#define   NV50TCL_RT_CONTROL_MAP1_MASK							0x00000380
-#define   NV50TCL_RT_CONTROL_MAP2_SHIFT							10
-#define   NV50TCL_RT_CONTROL_MAP2_MASK							0x00001c00
-#define   NV50TCL_RT_CONTROL_MAP3_SHIFT							13
-#define   NV50TCL_RT_CONTROL_MAP3_MASK							0x0000e000
-#define   NV50TCL_RT_CONTROL_MAP4_SHIFT							16
-#define   NV50TCL_RT_CONTROL_MAP4_MASK							0x00070000
-#define   NV50TCL_RT_CONTROL_MAP5_SHIFT							19
-#define   NV50TCL_RT_CONTROL_MAP5_MASK							0x00380000
-#define   NV50TCL_RT_CONTROL_MAP6_SHIFT							22
-#define   NV50TCL_RT_CONTROL_MAP6_MASK							0x01c00000
-#define   NV50TCL_RT_CONTROL_MAP7_SHIFT							25
-#define   NV50TCL_RT_CONTROL_MAP7_MASK							0x0e000000
-#define  NV50TCL_RT_ARRAY_MODE								0x00001224
-#define   NV50TCL_RT_ARRAY_MODE_LAYERS_SHIFT						0
-#define   NV50TCL_RT_ARRAY_MODE_LAYERS_MASK						0x0000ffff
-#define   NV50TCL_RT_ARRAY_MODE_VOLUME							(1 << 16)
-#define  NV50TCL_ZETA_HORIZ								0x00001228
-#define  NV50TCL_ZETA_VERT								0x0000122c
-#define  NV50TCL_ZETA_ARRAY_MODE							0x00001230
-#define   NV50TCL_ZETA_ARRAY_MODE_LAYERS_SHIFT						0
-#define   NV50TCL_ZETA_ARRAY_MODE_LAYERS_MASK						0x0000ffff
-#define   NV50TCL_ZETA_ARRAY_MODE_UNK							(1 << 16)
-#define  NV50TCL_LINKED_TSC								0x00001234
-#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_CB_DEF_ADDRESS_HIGH							0x00001280
-#define  NV50TCL_CB_DEF_ADDRESS_LOW							0x00001284
-#define  NV50TCL_CB_DEF_SET								0x00001288
-#define   NV50TCL_CB_DEF_SET_SIZE_SHIFT							0
-#define   NV50TCL_CB_DEF_SET_SIZE_MASK							0x0000ffff
-#define   NV50TCL_CB_DEF_SET_BUFFER_SHIFT						16
-#define   NV50TCL_CB_DEF_SET_BUFFER_MASK						0x007f0000
-#define  NV50TCL_STRMOUT_BUFFERS_CTRL							0x00001294
-#define   NV50TCL_STRMOUT_BUFFERS_CTRL_INTERLEAVED					(1 <<  0)
-#define   NV50TCL_STRMOUT_BUFFERS_CTRL_SEPARATE_SHIFT					4
-#define   NV50TCL_STRMOUT_BUFFERS_CTRL_SEPARATE_MASK					0x000000f0
-#define   NV50TCL_STRMOUT_BUFFERS_CTRL_STRIDE_SHIFT					8
-#define   NV50TCL_STRMOUT_BUFFERS_CTRL_STRIDE_MASK					0x0000ff00
-#define  NV50TCL_FP_RESULT_COUNT							0x00001298
-#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_LOCAL_ADDRESS_HIGH							0x000012d8
-#define  NV50TCL_LOCAL_ADDRESS_LOW							0x000012dc
-#define  NV50TCL_LOCAL_SIZE_LOG								0x000012e0
-#define  NV50TCL_DEPTH_WRITE_ENABLE							0x000012e8
-#define  NV50TCL_ALPHA_TEST_ENABLE							0x000012ec
-#define  NV50TCL_PM_SET(x)								(0x000012f0+((x)*4))
-#define  NV50TCL_PM_SET__SIZE								0x00000004
-#define  NV50TCL_VB_ELEMENT_U8_SETUP							0x00001300
-#define   NV50TCL_VB_ELEMENT_U8_SETUP_OFFSET_SHIFT					30
-#define   NV50TCL_VB_ELEMENT_U8_SETUP_OFFSET_MASK					0xc0000000
-#define   NV50TCL_VB_ELEMENT_U8_SETUP_COUNT_SHIFT					0
-#define   NV50TCL_VB_ELEMENT_U8_SETUP_COUNT_MASK					0x3fffffff
-#define  NV50TCL_VB_ELEMENT_U8								0x00001304
-#define   NV50TCL_VB_ELEMENT_U8_I0_SHIFT						0
-#define   NV50TCL_VB_ELEMENT_U8_I0_MASK							0x000000ff
-#define   NV50TCL_VB_ELEMENT_U8_I1_SHIFT						8
-#define   NV50TCL_VB_ELEMENT_U8_I1_MASK							0x0000ff00
-#define   NV50TCL_VB_ELEMENT_U8_I2_SHIFT						16
-#define   NV50TCL_VB_ELEMENT_U8_I2_MASK							0x00ff0000
-#define   NV50TCL_VB_ELEMENT_U8_I3_SHIFT						24
-#define   NV50TCL_VB_ELEMENT_U8_I3_MASK							0xff000000
-#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_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_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_TIC_FLUSH								0x00001330
-#define  NV50TCL_TSC_FLUSH								0x00001334
-#define  NV50TCL_TEX_CACHE_CTL								0x00001338
-#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_FRONT_ENABLE							0x00001380
-#define  NV50TCL_STENCIL_FRONT_OP_FAIL							0x00001384
-#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							0x00001388
-#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							0x0000138c
-#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						0x00001390
-#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_NOTEQUAL					0x00000205
-#define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL					0x00000206
-#define   NV50TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS					0x00000207
-#define  NV50TCL_STENCIL_FRONT_FUNC_REF							0x00001394
-#define  NV50TCL_STENCIL_FRONT_MASK							0x00001398
-#define  NV50TCL_STENCIL_FRONT_FUNC_MASK						0x0000139c
-#define  NV50TCL_FRAG_COLOR_CLAMP_EN							0x000013a8
-#define  NV50TCL_Y_ORIGIN_BOTTOM							0x000013ac
-#define  NV50TCL_LINE_WIDTH								0x000013b0
-#define  NV50TCL_TEX_LIMITS(x)								(0x000013b4+((x)*4))
-#define  NV50TCL_TEX_LIMITS__SIZE							0x00000003
-#define   NV50TCL_TEX_LIMITS_SAMPLERS_LOG2_SHIFT					0
-#define   NV50TCL_TEX_LIMITS_SAMPLERS_LOG2_MASK						0x0000000f
-#define   NV50TCL_TEX_LIMITS_TEXTURES_LOG2_SHIFT					4
-#define   NV50TCL_TEX_LIMITS_TEXTURES_LOG2_MASK						0x000000f0
-#define  NV50TCL_POINT_COORD_REPLACE_MAP(x)						(0x000013c0+((x)*4))
-#define  NV50TCL_POINT_COORD_REPLACE_MAP__SIZE						0x00000008
-#define  NV50TCL_VP_START_ID								0x0000140c
-#define  NV50TCL_GP_START_ID								0x00001410
-#define  NV50TCL_FP_START_ID								0x00001414
-#define  NV50TCL_GP_VERTEX_OUTPUT_COUNT							0x00001420
-#define  NV50TCL_VB_ELEMENT_BASE							0x00001434
-#define  NV50TCL_CODE_CB_FLUSH								0x00001440
-#define  NV50TCL_BIND_TSC(x)								(0x00001444+((x)*8))
-#define  NV50TCL_BIND_TSC__SIZE								0x00000003
-#define   NV50TCL_BIND_TSC_VALID							(1 <<  0)
-#define   NV50TCL_BIND_TSC_SAMPLER_SHIFT						4
-#define   NV50TCL_BIND_TSC_SAMPLER_MASK							0x000000f0
-#define   NV50TCL_BIND_TSC_TSC_SHIFT							12
-#define   NV50TCL_BIND_TSC_TSC_MASK							0x001ff000
-#define  NV50TCL_BIND_TIC(x)								(0x00001448+((x)*8))
-#define  NV50TCL_BIND_TIC__SIZE								0x00000003
-#define   NV50TCL_BIND_TIC_VALID							(1 <<  0)
-#define   NV50TCL_BIND_TIC_TEXTURE_SHIFT						1
-#define   NV50TCL_BIND_TIC_TEXTURE_MASK							0x000001fe
-#define   NV50TCL_BIND_TIC_TIC_SHIFT							9
-#define   NV50TCL_BIND_TIC_TIC_MASK							0x7ffffe00
-#define  NV50TCL_STRMOUT_MAP(x)								(0x00001480+((x)*4))
-#define  NV50TCL_STRMOUT_MAP__SIZE							0x00000020
-#define  NV50TCL_VP_CLIP_DISTANCE_ENABLE						0x00001510
-#define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_0						(1 <<  0)
-#define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_1						(1 <<  1)
-#define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_2						(1 <<  2)
-#define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_3						(1 <<  3)
-#define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_4						(1 <<  4)
-#define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_5						(1 <<  5)
-#define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_6						(1 <<  6)
-#define   NV50TCL_VP_CLIP_DISTANCE_ENABLE_7						(1 <<  7)
-#define  NV50TCL_SAMPLECNT_ENABLE							0x00001514
-#define  NV50TCL_POINT_SIZE								0x00001518
-#define  NV50TCL_POINT_SPRITE_ENABLE							0x00001520
-#define  NV50TCL_SAMPLECNT_RESET							0x00001530
-#define  NV50TCL_ZETA_ENABLE								0x00001538
-#define  NV50TCL_MULTISAMPLE_CTRL							0x0000153c
-#define   NV50TCL_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE					(1 <<  0)
-#define   NV50TCL_MULTISAMPLE_CTRL_ALPHA_TO_ONE						(1 <<  4)
-#define  NV50TCL_NOPERSPECTIVE_BITMAP(x)						(0x00001540+((x)*4))
-#define  NV50TCL_NOPERSPECTIVE_BITMAP__SIZE						0x00000004
-#define  NV50TCL_COND_ADDRESS_HIGH							0x00001550
-#define  NV50TCL_COND_ADDRESS_LOW							0x00001554
-#define  NV50TCL_COND_MODE								0x00001558
-#define   NV50TCL_COND_MODE_NEVER							0x00000000
-#define   NV50TCL_COND_MODE_ALWAYS							0x00000001
-#define   NV50TCL_COND_MODE_RES								0x00000002
-#define   NV50TCL_COND_MODE_NOT_RES_AND_NOT_ID						0x00000003
-#define   NV50TCL_COND_MODE_RES_OR_ID							0x00000004
-#define  NV50TCL_TSC_ADDRESS_HIGH							0x0000155c
-#define  NV50TCL_TSC_ADDRESS_LOW							0x00001560
-#define  NV50TCL_TSC_LIMIT								0x00001564
-#define  NV50TCL_POLYGON_OFFSET_FACTOR							0x0000156c
-#define  NV50TCL_LINE_SMOOTH_ENABLE							0x00001570
-#define  NV50TCL_TIC_ADDRESS_HIGH							0x00001574
-#define  NV50TCL_TIC_ADDRESS_LOW							0x00001578
-#define  NV50TCL_TIC_LIMIT								0x0000157c
-#define  NV50TCL_PM_CONTROL(x)								(0x00001580+((x)*4))
-#define  NV50TCL_PM_CONTROL__SIZE							0x00000004
-#define   NV50TCL_PM_CONTROL_UNK0							(1 <<  0)
-#define   NV50TCL_PM_CONTROL_UNK1_SHIFT							4
-#define   NV50TCL_PM_CONTROL_UNK1_MASK							0x00000070
-#define   NV50TCL_PM_CONTROL_UNK2_SHIFT							8
-#define   NV50TCL_PM_CONTROL_UNK2_MASK							0xffffff00
-#define  NV50TCL_STENCIL_BACK_ENABLE							0x00001594
-#define  NV50TCL_STENCIL_BACK_OP_FAIL							0x00001598
-#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							0x0000159c
-#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							0x000015a0
-#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							0x000015a4
-#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_NOTEQUAL					0x00000205
-#define   NV50TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL						0x00000206
-#define   NV50TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS						0x00000207
-#define  NV50TCL_FRAMEBUFFER_SRGB							0x000015b8
-#define  NV50TCL_POLYGON_OFFSET_UNITS							0x000015bc
-#define  NV50TCL_GP_BUILTIN_RESULT_EN							0x000015cc
-#define   NV50TCL_GP_BUILTIN_RESULT_EN_VPORT_IDX					(1 <<  0)
-#define   NV50TCL_GP_BUILTIN_RESULT_EN_LAYER_IDX					(1 << 16)
-#define  NV50TCL_MULTISAMPLE_SAMPLES_LOG2						0x000015d0
-#define  NV50TCL_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_BEGIN_LINES_ADJACENCY						0x0000000a
-#define   NV50TCL_VERTEX_BEGIN_LINE_STRIP_ADJACENCY					0x0000000b
-#define   NV50TCL_VERTEX_BEGIN_TRIANGLES_ADJACENCY					0x0000000c
-#define   NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP_ADJACENCY					0x0000000d
-#define  NV50TCL_VERTEX_END								0x000015e0
-#define  NV50TCL_EDGEFLAG_ENABLE							0x000015e4
-#define  NV50TCL_VB_ELEMENT_U32								0x000015e8
-#define  NV50TCL_VB_ELEMENT_U16_SETUP							0x000015ec
-#define   NV50TCL_VB_ELEMENT_U16_SETUP_OFFSET_SHIFT					30
-#define   NV50TCL_VB_ELEMENT_U16_SETUP_OFFSET_MASK					0xc0000000
-#define   NV50TCL_VB_ELEMENT_U16_SETUP_COUNT_SHIFT					0
-#define   NV50TCL_VB_ELEMENT_U16_SETUP_COUNT_MASK					0x3fffffff
-#define  NV50TCL_VB_ELEMENT_U16								0x000015f0
-#define   NV50TCL_VB_ELEMENT_U16_I0_SHIFT						0
-#define   NV50TCL_VB_ELEMENT_U16_I0_MASK						0x0000ffff
-#define   NV50TCL_VB_ELEMENT_U16_I1_SHIFT						16
-#define   NV50TCL_VB_ELEMENT_U16_I1_MASK						0xffff0000
-#define  NV50TCL_VERTEX_DATA								0x00001640
-#define  NV50TCL_PRIM_RESTART_ENABLE							0x00001644
-#define  NV50TCL_PRIM_RESTART_INDEX							0x00001648
-#define  NV50TCL_VP_GP_BUILTIN_ATTR_EN							0x0000164c
-#define   NV50TCL_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID					(1 <<  0)
-#define   NV50TCL_VP_GP_BUILTIN_ATTR_EN_INSTANCE_ID					(1 <<  4)
-#define   NV50TCL_VP_GP_BUILTIN_ATTR_EN_PRIMITIVE_ID					(1 <<  8)
-#define   NV50TCL_VP_GP_BUILTIN_ATTR_EN_UNK12						(1 << 12)
-#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_POINT_SPRITE_CTRL							0x00001660
-#define  NV50TCL_LINE_STIPPLE_ENABLE							0x0000166c
-#define  NV50TCL_LINE_STIPPLE_PATTERN							0x00001680
-#define  NV50TCL_PROVOKING_VERTEX_LAST							0x00001684
-#define  NV50TCL_VERTEX_TWO_SIDE_ENABLE							0x00001688
-#define  NV50TCL_POLYGON_STIPPLE_ENABLE							0x0000168c
-#define  NV50TCL_SET_PROGRAM_CB								0x00001694
-#define   NV50TCL_SET_PROGRAM_CB_PROGRAM_SHIFT						4
-#define   NV50TCL_SET_PROGRAM_CB_PROGRAM_MASK						0x000000f0
-#define    NV50TCL_SET_PROGRAM_CB_PROGRAM_VERTEX					0x00000000
-#define    NV50TCL_SET_PROGRAM_CB_PROGRAM_GEOMETRY					0x00000020
-#define    NV50TCL_SET_PROGRAM_CB_PROGRAM_FRAGMENT					0x00000030
-#define   NV50TCL_SET_PROGRAM_CB_INDEX_SHIFT						8
-#define   NV50TCL_SET_PROGRAM_CB_INDEX_MASK						0x00000f00
-#define   NV50TCL_SET_PROGRAM_CB_BUFFER_SHIFT						12
-#define   NV50TCL_SET_PROGRAM_CB_BUFFER_MASK						0x0007f000
-#define   NV50TCL_SET_PROGRAM_CB_VALID							(1 <<  0)
-#define  NV50TCL_VP_RESULT_MAP_SIZE							0x000016ac
-#define  NV50TCL_VP_REG_ALLOC_TEMP							0x000016b0
-#define  NV50TCL_VP_REG_ALLOC_RESULT							0x000016b8
-#define  NV50TCL_VP_RESULT_MAP(x)							(0x000016bc+((x)*4))
-#define  NV50TCL_VP_RESULT_MAP__SIZE							0x00000010
-#define   NV50TCL_VP_RESULT_MAP_0_SHIFT							0
-#define   NV50TCL_VP_RESULT_MAP_0_MASK							0x000000ff
-#define   NV50TCL_VP_RESULT_MAP_1_SHIFT							8
-#define   NV50TCL_VP_RESULT_MAP_1_MASK							0x0000ff00
-#define   NV50TCL_VP_RESULT_MAP_2_SHIFT							16
-#define   NV50TCL_VP_RESULT_MAP_2_MASK							0x00ff0000
-#define   NV50TCL_VP_RESULT_MAP_3_SHIFT							24
-#define   NV50TCL_VP_RESULT_MAP_3_MASK							0xff000000
-#define  NV50TCL_POLYGON_STIPPLE_PATTERN(x)						(0x00001700+((x)*4))
-#define  NV50TCL_POLYGON_STIPPLE_PATTERN__SIZE						0x00000020
-#define  NV50TCL_GP_ENABLE								0x00001798
-#define  NV50TCL_GP_REG_ALLOC_TEMP							0x000017a0
-#define  NV50TCL_GP_REG_ALLOC_RESULT							0x000017a8
-#define  NV50TCL_GP_RESULT_MAP_SIZE							0x000017ac
-#define  NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE						0x000017b0
-#define   NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE_POINTS					0x00000001
-#define   NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE_LINE_STRIP					0x00000002
-#define   NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE_TRIANGLE_STRIP				0x00000003
-#define  NV50TCL_RASTERIZE_ENABLE							0x000017b4
-#define  NV50TCL_STRMOUT_ENABLE								0x000017b8
-#define  NV50TCL_GP_RESULT_MAP(x)							(0x000017fc+((x)*4))
-#define  NV50TCL_GP_RESULT_MAP__SIZE							0x00000020
-#define   NV50TCL_GP_RESULT_MAP_0_SHIFT							0
-#define   NV50TCL_GP_RESULT_MAP_0_MASK							0x000000ff
-#define   NV50TCL_GP_RESULT_MAP_1_SHIFT							8
-#define   NV50TCL_GP_RESULT_MAP_1_MASK							0x0000ff00
-#define   NV50TCL_GP_RESULT_MAP_2_SHIFT							16
-#define   NV50TCL_GP_RESULT_MAP_2_MASK							0x00ff0000
-#define   NV50TCL_GP_RESULT_MAP_3_SHIFT							24
-#define   NV50TCL_GP_RESULT_MAP_3_MASK							0xff000000
-#define  NV50TCL_MAP_SEMANTIC_0								0x00001904
-#define   NV50TCL_MAP_SEMANTIC_0_FFC0_ID_SHIFT						0
-#define   NV50TCL_MAP_SEMANTIC_0_FFC0_ID_MASK						0x000000ff
-#define   NV50TCL_MAP_SEMANTIC_0_BFC0_ID_SHIFT						8
-#define   NV50TCL_MAP_SEMANTIC_0_BFC0_ID_MASK						0x0000ff00
-#define   NV50TCL_MAP_SEMANTIC_0_COLR_NR_SHIFT						16
-#define   NV50TCL_MAP_SEMANTIC_0_COLR_NR_MASK						0x00ff0000
-#define   NV50TCL_MAP_SEMANTIC_0_CLMP_EN_SHIFT						24
-#define   NV50TCL_MAP_SEMANTIC_0_CLMP_EN_MASK						0xff000000
-#define  NV50TCL_MAP_SEMANTIC_1								0x00001908
-#define   NV50TCL_MAP_SEMANTIC_1_CLIP_LO_SHIFT						0
-#define   NV50TCL_MAP_SEMANTIC_1_CLIP_LO_MASK						0x000000ff
-#define   NV50TCL_MAP_SEMANTIC_1_CLIP_HI_SHIFT						8
-#define   NV50TCL_MAP_SEMANTIC_1_CLIP_HI_MASK						0x0000ff00
-#define  NV50TCL_MAP_SEMANTIC_2								0x0000190c
-#define   NV50TCL_MAP_SEMANTIC_2_LAYER_ID_SHIFT						0
-#define   NV50TCL_MAP_SEMANTIC_2_LAYER_ID_MASK						0x000000ff
-#define  NV50TCL_MAP_SEMANTIC_3								0x00001910
-#define   NV50TCL_MAP_SEMANTIC_3_PTSZ_EN						(1 <<  0)
-#define   NV50TCL_MAP_SEMANTIC_3_PTSZ_ID_SHIFT						4
-#define   NV50TCL_MAP_SEMANTIC_3_PTSZ_ID_MASK						0x00000ff0
-#define  NV50TCL_MAP_SEMANTIC_4								0x00001914
-#define   NV50TCL_MAP_SEMANTIC_4_PRIM_ID_SHIFT						0
-#define   NV50TCL_MAP_SEMANTIC_4_PRIM_ID_MASK						0x000000ff
-#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_VIEWPORT_TRANSFORM_EN							0x0000192c
-#define  NV50TCL_VIEW_VOLUME_CLIP_CTRL							0x0000193c
-#define  NV50TCL_VIEWPORT_CLIP_RECTS_EN							0x0000194c
-#define  NV50TCL_FP_CTRL_UNK196C							0x0000196c
-#define  NV50TCL_FP_INTERPOLANT_CTRL							0x00001988
-#define   NV50TCL_FP_INTERPOLANT_CTRL_UMASK_SHIFT					24
-#define   NV50TCL_FP_INTERPOLANT_CTRL_UMASK_MASK					0xff000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NONE					0x00000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNNN					0x01000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYNN					0x02000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYNN					0x03000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NNZN					0x04000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNZN					0x05000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYZN					0x06000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYZN					0x07000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NNNW					0x08000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNNW					0x09000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYNW					0x0a000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYNW					0x0b000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NNZW					0x0c000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNZW					0x0d000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYZW					0x0e000000
-#define    NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYZW					0x0f000000
-#define   NV50TCL_FP_INTERPOLANT_CTRL_COUNT_NONFLAT_SHIFT				16
-#define   NV50TCL_FP_INTERPOLANT_CTRL_COUNT_NONFLAT_MASK				0x00ff0000
-#define   NV50TCL_FP_INTERPOLANT_CTRL_OFFSET_SHIFT					8
-#define   NV50TCL_FP_INTERPOLANT_CTRL_OFFSET_MASK					0x0000ff00
-#define   NV50TCL_FP_INTERPOLANT_CTRL_COUNT_SHIFT					0
-#define   NV50TCL_FP_INTERPOLANT_CTRL_COUNT_MASK					0x000000ff
-#define  NV50TCL_FP_REG_ALLOC_TEMP							0x0000198c
-#define  NV50TCL_WARP_HALVES								0x000019a0
-#define  NV50TCL_FP_CONTROL								0x000019a8
-#define   NV50TCL_FP_CONTROL_MULTIPLE_RESULTS						(1 <<  0)
-#define   NV50TCL_FP_CONTROL_EXPORTS_Z							(1 <<  8)
-#define   NV50TCL_FP_CONTROL_USES_KIL							(1 << 20)
-#define  NV50TCL_DEPTH_BOUNDS_EN							0x000019bc
-#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_CLEAR_BUFFERS_Z							(1 <<  0)
-#define   NV50TCL_CLEAR_BUFFERS_S							(1 <<  1)
-#define   NV50TCL_CLEAR_BUFFERS_R							(1 <<  2)
-#define   NV50TCL_CLEAR_BUFFERS_G							(1 <<  3)
-#define   NV50TCL_CLEAR_BUFFERS_B							(1 <<  4)
-#define   NV50TCL_CLEAR_BUFFERS_A							(1 <<  5)
-#define   NV50TCL_CLEAR_BUFFERS_RT_SHIFT						6
-#define   NV50TCL_CLEAR_BUFFERS_RT_MASK							0x000003c0
-#define   NV50TCL_CLEAR_BUFFERS_LAYER_SHIFT						10
-#define   NV50TCL_CLEAR_BUFFERS_LAYER_MASK						0x0007fc00
-#define  NV50TCL_COLOR_MASK(x)								(0x00001a00+((x)*4))
-#define  NV50TCL_COLOR_MASK__SIZE							0x00000008
-#define   NV50TCL_COLOR_MASK_R_SHIFT							0
-#define   NV50TCL_COLOR_MASK_R_MASK							0x0000000f
-#define   NV50TCL_COLOR_MASK_G_SHIFT							4
-#define   NV50TCL_COLOR_MASK_G_MASK							0x000000f0
-#define   NV50TCL_COLOR_MASK_B_SHIFT							8
-#define   NV50TCL_COLOR_MASK_B_MASK							0x00000f00
-#define   NV50TCL_COLOR_MASK_A_SHIFT							12
-#define   NV50TCL_COLOR_MASK_A_MASK							0x0000f000
-#define  NV50TCL_STRMOUT_ADDRESS_HIGH(x)						(0x00001a80+((x)*16))
-#define  NV50TCL_STRMOUT_ADDRESS_HIGH__SIZE						0x00000004
-#define  NV50TCL_STRMOUT_ADDRESS_LOW(x)							(0x00001a84+((x)*16))
-#define  NV50TCL_STRMOUT_ADDRESS_LOW__SIZE						0x00000004
-#define  NV50TCL_STRMOUT_NUM_ATTRIBS(x)							(0x00001a88+((x)*16))
-#define  NV50TCL_STRMOUT_NUM_ATTRIBS__SIZE						0x00000004
-#define  NV50TCL_VERTEX_ARRAY_ATTRIB(x)							(0x00001ac0+((x)*4))
-#define  NV50TCL_VERTEX_ARRAY_ATTRIB__SIZE						0x00000010
-#define   NV50TCL_VERTEX_ARRAY_ATTRIB_BUFFER_SHIFT					0
-#define   NV50TCL_VERTEX_ARRAY_ATTRIB_BUFFER_MASK					0x0000000f
-#define   NV50TCL_VERTEX_ARRAY_ATTRIB_CONST						(1 <<  4)
-#define   NV50TCL_VERTEX_ARRAY_ATTRIB_OFFSET_SHIFT					5
-#define   NV50TCL_VERTEX_ARRAY_ATTRIB_OFFSET_MASK					0x0007ffe0
-#define   NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_SHIFT					19
-#define   NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_MASK					0x01f80000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32_32_32_32				0x00080000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32_32_32					0x00100000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16_16_16_16				0x00180000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32_32					0x00200000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16_16_16					0x00280000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8_8_8_8					0x00500000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16_16					0x00780000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32					0x00900000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8_8_8					0x00980000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8_8					0x00c00000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16					0x00d80000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8						0x00e80000
-#define   NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SHIFT					25
-#define   NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_MASK						0x7e000000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_FLOAT					0x7e000000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UNORM					0x24000000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SNORM					0x12000000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_USCALED					0x5a000000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SSCALED					0x6c000000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UINT					0x48000000
-#define    NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SINT					0x36000000
-#define   NV50TCL_VERTEX_ARRAY_ATTRIB_BGRA						(1 << 31)
-#define  NV50TCL_QUERY_ADDRESS_HIGH							0x00001b00
-#define  NV50TCL_QUERY_ADDRESS_LOW							0x00001b04
-#define  NV50TCL_QUERY_COUNTER								0x00001b08
-#define  NV50TCL_QUERY_GET								0x00001b0c
-
-
-#define NV84TCL										0x00008297
-
-
-
-#define NVA0TCL										0x00008397
-
-
-
-#define NVA8TCL										0x00008597
-
-
-
-#define NV50_COMPUTE									0x000050c0
-
-#define  NV50_COMPUTE_NOP								0x00000100
-#define  NV50_COMPUTE_NOTIFY								0x00000104
-#define  NV50_COMPUTE_SERIALIZE								0x00000110
-#define  NV50_COMPUTE_DMA_NOTIFY							0x00000180
-#define  NV50_COMPUTE_DMA_GLOBAL							0x000001a0
-#define  NV50_COMPUTE_DMA_QUERY								0x000001a4
-#define  NV50_COMPUTE_DMA_LOCAL								0x000001b8
-#define  NV50_COMPUTE_DMA_STACK								0x000001bc
-#define  NV50_COMPUTE_DMA_CODE_CB							0x000001c0
-#define  NV50_COMPUTE_DMA_TSC								0x000001c4
-#define  NV50_COMPUTE_DMA_TIC								0x000001c8
-#define  NV50_COMPUTE_DMA_TEXTURE							0x000001cc
-#define  NV50_COMPUTE_CP_ADDRESS_HIGH							0x00000210
-#define  NV50_COMPUTE_CP_ADDRESS_LOW							0x00000214
-#define  NV50_COMPUTE_STACK_ADDRESS_HIGH						0x00000218
-#define  NV50_COMPUTE_STACK_ADDRESS_LOW							0x0000021c
-#define  NV50_COMPUTE_STACK_SIZE_LOG							0x00000220
-#define  NV50_COMPUTE_TSC_ADDRESS_HIGH							0x0000022c
-#define  NV50_COMPUTE_TSC_ADDRESS_LOW							0x00000230
-#define  NV50_COMPUTE_TSC_LIMIT								0x00000234
-#define  NV50_COMPUTE_CB_ADDR								0x00000238
-#define   NV50_COMPUTE_CB_ADDR_ID_SHIFT							8
-#define   NV50_COMPUTE_CB_ADDR_ID_MASK							0x003fff00
-#define   NV50_COMPUTE_CB_ADDR_BUFFER_SHIFT						0
-#define   NV50_COMPUTE_CB_ADDR_BUFFER_MASK						0x0000007f
-#define  NV50_COMPUTE_CB_DATA(x)							(0x0000023c+((x)*4))
-#define  NV50_COMPUTE_CB_DATA__SIZE							0x00000010
-#define  NV50_COMPUTE_DELAY1								0x00000284
-#define  NV50_COMPUTE_WATCHDOG_TIMER							0x00000288
-#define  NV50_COMPUTE_DELAY2								0x0000028c
-#define  NV50_COMPUTE_LOCAL_ADDRESS_HIGH						0x00000294
-#define  NV50_COMPUTE_LOCAL_ADDRESS_LOW							0x00000298
-#define  NV50_COMPUTE_LOCAL_SIZE_LOG							0x0000029c
-#define  NV50_COMPUTE_CB_DEF_ADDRESS_HIGH						0x000002a4
-#define  NV50_COMPUTE_CB_DEF_ADDRESS_LOW						0x000002a8
-#define  NV50_COMPUTE_CB_DEF_SET							0x000002ac
-#define   NV50_COMPUTE_CB_DEF_SET_SIZE_SHIFT						0
-#define   NV50_COMPUTE_CB_DEF_SET_SIZE_MASK						0x0000ffff
-#define   NV50_COMPUTE_CB_DEF_SET_BUFFER_SHIFT						16
-#define   NV50_COMPUTE_CB_DEF_SET_BUFFER_MASK						0x007f0000
-#define  NV50_COMPUTE_BLOCK_ALLOC							0x000002b4
-#define   NV50_COMPUTE_BLOCK_ALLOC_THREADS_SHIFT					0
-#define   NV50_COMPUTE_BLOCK_ALLOC_THREADS_MASK						0x0000ffff
-#define   NV50_COMPUTE_BLOCK_ALLOC_BARRIERS_SHIFT					16
-#define   NV50_COMPUTE_BLOCK_ALLOC_BARRIERS_MASK					0xffff0000
-#define  NV50_COMPUTE_CP_REG_ALLOC_TEMP							0x000002c0
-#define  NV50_COMPUTE_TIC_ADDRESS_HIGH							0x000002c4
-#define  NV50_COMPUTE_TIC_ADDRESS_LOW							0x000002c8
-#define  NV50_COMPUTE_TIC_LIMIT								0x000002cc
-#define  NV50_COMPUTE_PM_SET(x)								(0x000002d0+((x)*4))
-#define  NV50_COMPUTE_PM_SET__SIZE							0x00000004
-#define  NV50_COMPUTE_PM_CONTROL(x)							(0x000002e0+((x)*4))
-#define  NV50_COMPUTE_PM_CONTROL__SIZE							0x00000004
-#define   NV50_COMPUTE_PM_CONTROL_UNK0							(1 <<  0)
-#define   NV50_COMPUTE_PM_CONTROL_UNK1_SHIFT						4
-#define   NV50_COMPUTE_PM_CONTROL_UNK1_MASK						0x00000070
-#define   NV50_COMPUTE_PM_CONTROL_UNK2_SHIFT						8
-#define   NV50_COMPUTE_PM_CONTROL_UNK2_MASK						0xffffff00
-#define  NV50_COMPUTE_LOCAL_WARPS_LOG_ALLOC						0x000002fc
-#define  NV50_COMPUTE_LOCAL_WARPS_NO_CLAMP						0x00000300
-#define  NV50_COMPUTE_STACK_WARPS_LOG_ALLOC						0x00000304
-#define  NV50_COMPUTE_STACK_WARPS_NO_CLAMP						0x00000308
-#define  NV50_COMPUTE_QUERY_ADDRESS_HIGH						0x00000310
-#define  NV50_COMPUTE_QUERY_ADDRESS_LOW							0x00000314
-#define  NV50_COMPUTE_QUERY_COUNTER							0x00000318
-#define  NV50_COMPUTE_QUERY_GET								0x0000031c
-#define  NV50_COMPUTE_COND_ADDRESS_HIGH							0x00000320
-#define  NV50_COMPUTE_COND_ADDRESS_LOW							0x00000324
-#define  NV50_COMPUTE_COND_MODE								0x00000328
-#define   NV50_COMPUTE_COND_MODE_NEVER							0x00000000
-#define   NV50_COMPUTE_COND_MODE_ALWAYS							0x00000001
-#define   NV50_COMPUTE_COND_MODE_RES							0x00000002
-#define   NV50_COMPUTE_COND_MODE_NOT_RES_AND_NOT_ID					0x00000003
-#define   NV50_COMPUTE_COND_MODE_RES_OR_ID						0x00000004
-#define  NV50_COMPUTE_LAUNCH								0x00000368
-#define  NV50_COMPUTE_USER_PARAM_COUNT							0x00000374
-#define   NV50_COMPUTE_USER_PARAM_COUNT_COUNT_SHIFT					8
-#define   NV50_COMPUTE_USER_PARAM_COUNT_COUNT_MASK					0x0000ff00
-#define  NV50_COMPUTE_LINKED_TSC							0x00000378
-#define  NV50_COMPUTE_CODE_CB_FLUSH							0x00000380
-#define  NV50_COMPUTE_GRIDDIM								0x000003a4
-#define   NV50_COMPUTE_GRIDDIM_X_SHIFT							0
-#define   NV50_COMPUTE_GRIDDIM_X_MASK							0x0000ffff
-#define   NV50_COMPUTE_GRIDDIM_Y_SHIFT							16
-#define   NV50_COMPUTE_GRIDDIM_Y_MASK							0xffff0000
-#define  NV50_COMPUTE_SHARED_SIZE							0x000003a8
-#define  NV50_COMPUTE_BLOCKDIM_YX							0x000003ac
-#define   NV50_COMPUTE_BLOCKDIM_YX_X_SHIFT						0
-#define   NV50_COMPUTE_BLOCKDIM_YX_X_MASK						0x0000ffff
-#define   NV50_COMPUTE_BLOCKDIM_YX_Y_SHIFT						16
-#define   NV50_COMPUTE_BLOCKDIM_YX_Y_MASK						0xffff0000
-#define  NV50_COMPUTE_BLOCKDIM_Z							0x000003b0
-#define  NV50_COMPUTE_CP_START_ID							0x000003b4
-#define  NV50_COMPUTE_WARP_HALVES							0x000003b8
-#define  NV50_COMPUTE_TEX_LIMITS							0x000003bc
-#define   NV50_COMPUTE_TEX_LIMITS_SAMPLERS_LOG2_SHIFT					0
-#define   NV50_COMPUTE_TEX_LIMITS_SAMPLERS_LOG2_MASK					0x0000000f
-#define   NV50_COMPUTE_TEX_LIMITS_TEXTURES_LOG2_SHIFT					4
-#define   NV50_COMPUTE_TEX_LIMITS_TEXTURES_LOG2_MASK					0x000000f0
-#define  NV50_COMPUTE_BIND_TSC								0x000003c0
-#define   NV50_COMPUTE_BIND_TSC_VALID							(1 <<  0)
-#define   NV50_COMPUTE_BIND_TSC_SAMPLER_SHIFT						4
-#define   NV50_COMPUTE_BIND_TSC_SAMPLER_MASK						0x000000f0
-#define   NV50_COMPUTE_BIND_TSC_TSC_SHIFT						12
-#define   NV50_COMPUTE_BIND_TSC_TSC_MASK						0x001ff000
-#define  NV50_COMPUTE_BIND_TIC								0x000003c4
-#define   NV50_COMPUTE_BIND_TIC_VALID							(1 <<  0)
-#define   NV50_COMPUTE_BIND_TIC_TEXTURE_SHIFT						1
-#define   NV50_COMPUTE_BIND_TIC_TEXTURE_MASK						0x000001fe
-#define   NV50_COMPUTE_BIND_TIC_TIC_SHIFT						9
-#define   NV50_COMPUTE_BIND_TIC_TIC_MASK						0x7ffffe00
-#define  NV50_COMPUTE_SET_PROGRAM_CB							0x000003c8
-#define   NV50_COMPUTE_SET_PROGRAM_CB_INDEX_SHIFT					8
-#define   NV50_COMPUTE_SET_PROGRAM_CB_INDEX_MASK					0x00000f00
-#define   NV50_COMPUTE_SET_PROGRAM_CB_BUFFER_SHIFT					12
-#define   NV50_COMPUTE_SET_PROGRAM_CB_BUFFER_MASK					0x0007f000
-#define   NV50_COMPUTE_SET_PROGRAM_CB_VALID						(1 <<  0)
-#define  NV50_COMPUTE_GLOBAL_ADDRESS_HIGH(x)						(0x00000400+((x)*32))
-#define  NV50_COMPUTE_GLOBAL_ADDRESS_HIGH__SIZE						0x00000010
-#define  NV50_COMPUTE_GLOBAL_ADDRESS_LOW(x)						(0x00000404+((x)*32))
-#define  NV50_COMPUTE_GLOBAL_ADDRESS_LOW__SIZE						0x00000010
-#define  NV50_COMPUTE_GLOBAL_PITCH(x)							(0x00000408+((x)*32))
-#define  NV50_COMPUTE_GLOBAL_PITCH__SIZE						0x00000010
-#define  NV50_COMPUTE_GLOBAL_LIMIT(x)							(0x0000040c+((x)*32))
-#define  NV50_COMPUTE_GLOBAL_LIMIT__SIZE						0x00000010
-#define  NV50_COMPUTE_GLOBAL_MODE(x)							(0x00000410+((x)*32))
-#define  NV50_COMPUTE_GLOBAL_MODE__SIZE							0x00000010
-#define   NV50_COMPUTE_GLOBAL_MODE_LINEAR						(1 <<  0)
-#define   NV50_COMPUTE_GLOBAL_MODE_TILE_MODE_SHIFT					8
-#define   NV50_COMPUTE_GLOBAL_MODE_TILE_MODE_MASK					0x00000f00
-#define  NV50_COMPUTE_USER_PARAM(x)							(0x00000600+((x)*4))
-#define  NV50_COMPUTE_USER_PARAM__SIZE							0x00000040
-
-
-#endif /* NOUVEAU_REG_H */
diff --git a/abs/core/mesa/python2.patch b/abs/core/mesa/python2.patch
deleted file mode 100644
index 0fe22ed..0000000
--- a/abs/core/mesa/python2.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- src/gallium/auxiliary/Makefile.orig	2010-11-15 21:12:40.000000000 +0000
-+++ src/gallium/auxiliary/Makefile	2010-11-15 21:13:09.000000000 +0000
-@@ -183,17 +183,17 @@
- 
- 
- indices/u_indices_gen.c: indices/u_indices_gen.py
--	python $< > $@
-+	python2 $< > $@
- 
- indices/u_unfilled_gen.c: indices/u_unfilled_gen.py
--	python $< > $@
-+	python2 $< > $@
- 
- util/u_format_table.c: util/u_format_table.py util/u_format_parse.py util/u_format.csv
--	python util/u_format_table.py util/u_format.csv > $@
-+	python2 util/u_format_table.py util/u_format.csv > $@
- 
- util/u_format_pack.h: util/u_format_pack.py util/u_format_parse.py util/u_format.csv
--	python util/u_format_pack.py util/u_format.csv > $@
-+	python2 util/u_format_pack.py util/u_format.csv > $@
- 
- util/u_format_access.c: util/u_format_access.py util/u_format_parse.py util/u_format.csv
--	python util/u_format_access.py util/u_format.csv > $@
-+	python2 util/u_format_access.py util/u_format.csv > $@
- 
-- 
cgit v0.12