From 7784851cc307799e5c6b67991fc98cedea45fb56b9aa5ff923d797c7102aadb4 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Wed, 7 Jul 2010 14:49:48 +0000 Subject: [PATCH 1/4] Accepting request 42666 from home:jobermayr:branches:X11:XOrg Copy from home:jobermayr:branches:X11:XOrg/Mesa via accept of submit request 42666 revision 8. Request was accepted with message: reviewed ok. OBS-URL: https://build.opensuse.org/request/show/42666 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=115 --- Mesa.changes | 9 + Mesa.spec | 116 +- baselibs.conf | 1 + libdrm_nouveau.diff | 9062 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 9144 insertions(+), 44 deletions(-) create mode 100644 libdrm_nouveau.diff diff --git a/Mesa.changes b/Mesa.changes index 33e07b7..0c2a719 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Jul 7 00:00:00 CEST 2010 - johannesobermayr@gmx.de + +- bnc #620037 + * create nouveau_vieux_dri.so + * add libdrm_nouveau.diff + * separate Mesa-nouveau3d package +- fix some RPMLINT warnings + ------------------------------------------------------------------- Fri Jun 25 11:15:20 CEST 2010 - sndirsch@suse.de diff --git a/Mesa.spec b/Mesa.spec index 8c1d3e4..1e5c9f6 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -19,24 +19,25 @@ %define enable_nouveau 1 +%define _version 7.8.2 + +Version: 7.8.2 +Release: 2 Name: Mesa BuildRequires: gcc-c++ libdrm-devel libexpat-devel pkgconfig python-base xorg-x11-devel Url: http://www.mesa3d.org License: MIT License (or similar) Group: System/Libraries -Provides: xorg-x11-Mesa intel-i810-Mesa Mesa7 -Obsoletes: xorg-x11-Mesa intel-i810-Mesa Mesa7 +Provides: xorg-x11-Mesa = %{version} intel-i810-Mesa = %{version} Mesa7 = %{version} +Obsoletes: xorg-x11-Mesa < %{version} intel-i810-Mesa < %{version} Mesa7 < %{version} AutoReqProv: on # bug437293 %ifarch ppc64 -Obsoletes: XFree86-Mesa-64bit -Obsoletes: Mesa-64bit +Obsoletes: XFree86-Mesa-64bit < %{version} Mesa-64bit < %{version} +Provides: XFree86-Mesa-64bit = %{version} Mesa-64bit < %{version} %endif # -%define _version 7.8.2 -Version: 7.8.2 -Release: 1 -Summary: Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL +Summary: System for rendering interactive 3-D graphics Source: MesaLib-%{_version}.tar.bz2 Source1: MesaDemos-%{_version}.tar.bz2 Source2: baselibs.conf @@ -49,6 +50,7 @@ Patch1: dri_driver_dir.diff Patch8: egl-buildfix.diff Patch9: Mesa_indirect_old_xserver_compatibility.diff Patch10: mesa-commit-06c72da.diff +Patch11: libdrm_nouveau.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -76,15 +78,15 @@ Authors: License: MIT License (or similar) Requires: Mesa = %version xorg-x11-devel libdrm-devel Summary: Libraries, includes and more to develop Mesa applications -Group: System/Libraries +Group: Development/Libraries/X11 # bug437293 %ifarch ppc64 -Obsoletes: XFree86-Mesa-devel-64bit -Obsoletes: Mesa-devel-64bit +Obsoletes: XFree86-Mesa-devel-64bit < %{version} Mesa-devel-64bit < %{version} +Provides: XFree86-Mesa-devel-64bit = %{version} Mesa-devel-64bit = %{version} %endif # -Provides: xorg-x11-Mesa-devel Mesa-devel-static -Obsoletes: xorg-x11-Mesa-devel Mesa-devel-static +Provides: xorg-x11-Mesa-devel = %{version} Mesa-devel-static = %{version} +Obsoletes: xorg-x11-Mesa-devel < %{version} Mesa-devel-static < %{version} %description devel Mesa is a 3-D graphics library with an API which is very similar to @@ -107,18 +109,40 @@ Authors: -------- Brian Paul +%package nouveau3d +Requires: Mesa = %version xorg-x11-driver-video-nouveau +Summary: Experimental 3D driver for nouveau driver +Group: System/Libraries + +%description nouveau3d +This is the 3D driver for open source nouveau driver. It uses Gallium3d architecture within Mesa. + +Note: +This driver is in a very experimental state. So it is not recommend that you use it. +Bug reports using this driver are not supported by developers. + +Authors: +-------- + Brian Paul + Pekka Paalanen + Ben Skeggs + Francisco Jerez + %prep %setup -n %{name}-%{_version} -b1 -b4 -q # no need to build (GLUT-)Demos rm -rf src/glut progs/{demos,redbook,samples,xdemos,glsl} # we use freeglut rm -f include/GL/{glut.h,uglglutshapes.h,glutf90.h} +# remove some docs +rm -rf docs/README.{VMS,WIN32,OS2} %patch1 sed -i 's/REPLACE/%_lib/g' src/glx/Makefile sed -i 's/REPLACE/%_lib/g' src/egl/drivers/dri2/Makefile %patch8 %patch9 -p0 %patch10 -p1 +%patch11 -p1 %build @@ -129,14 +153,22 @@ autoreconf -fi %configure --disable-glw \ --with-driver=dri \ %ifarch %ix86 x86_64 +%if 0%{?suse_version} >= 1130 + --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,sis,tdfx,unichrome,swrast,nouveau \ +%else --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,sis,tdfx,unichrome,swrast \ +%endif %if %enable_nouveau --enable-gallium-nouveau \ %endif %endif %ifarch ppc %sparc hppa +%if 0%{?suse_version} >= 1130 + --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,tdfx,unichrome,swrast,nouveau \ +%else --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,tdfx,unichrome,swrast \ %endif +%endif %ifarch s390 s390x --with-dri-drivers=swrast \ %endif @@ -185,41 +217,37 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root) %doc docs/README* docs/COPYING %config /etc/drirc -/usr/include/GL/gl.h -/usr/include/GL/glext.h -/usr/include/GL/glx.h -/usr/include/GL/glxext.h -/usr/%{_lib}/libGL.so -/usr/%{_lib}/lib*.so.* -/usr/%{_lib}/dri/ -/usr/%{_lib}/egl/ +%{_libdir}/lib*.so.* +%{_libdir}/dri/ +%{_libdir}/egl/ +%exclude %{_libdir}/dri/nouveau_dri.so +%if 0%{?suse_version} >= 1130 +%exclude %{_libdir}/dri/nouveau_vieux_dri.so +%endif %files devel %defattr(-,root,root) %doc docs/*.html docs/*.spec -/usr/include/GL/gl_mangle.h -/usr/include/GL/glfbdev.h -/usr/include/GL/glu.h -/usr/include/GL/glu_mangle.h -/usr/include/GL/glx_mangle.h -/usr/include/GL/mesa_wgl.h -/usr/include/GL/mglmesa.h -/usr/include/GL/osmesa.h -/usr/include/GL/vms_x_fix.h -/usr/include/GL/wmesa.h -/usr/include/GL/internal/dri_interface.h -/usr/include/GL/wglext.h -/usr/include/EGL -/usr/include/KHR -%exclude /usr/include/GL/glew.h -%exclude /usr/include/GL/glxew.h -%exclude /usr/include/GL/wglew.h -/usr/%{_lib}/libGLU.so -/usr/%{_lib}/libOSMesa.so -/usr/%{_lib}/libEGL.so -/usr/%{_lib}/pkgconfig/dri.pc -/usr/%{_lib}/pkgconfig/gl.pc -/usr/%{_lib}/pkgconfig/glu.pc +%{_includedir}/GL +%{_includedir}/EGL +%{_includedir}/KHR +%exclude %{_includedir}/GL/glew.h +%exclude %{_includedir}/GL/glxew.h +%exclude %{_includedir}/GL/wglew.h +%{_libdir}/libGL.so +%{_libdir}/libGLU.so +%{_libdir}/libOSMesa.so +%{_libdir}/libEGL.so +%{_libdir}/pkgconfig/dri.pc +%{_libdir}/pkgconfig/gl.pc +%{_libdir}/pkgconfig/glu.pc %{_mandir}/man3/* +%files nouveau3d +%defattr(-,root,root) +%{_libdir}/dri/nouveau_dri.so +%if 0%{?suse_version} >= 1130 +%{_libdir}/dri/nouveau_vieux_dri.so +%endif + %changelog diff --git a/baselibs.conf b/baselibs.conf index 5369715..b0f5fa7 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -5,3 +5,4 @@ Mesa Mesa-devel obsoletes "XFree86-Mesa-devel- xorg-x11-Mesa-devel-" provides "XFree86-Mesa-devel- xorg-x11-Mesa-devel-" +Mesa-nouveau3d diff --git a/libdrm_nouveau.diff b/libdrm_nouveau.diff new file mode 100644 index 0000000..e2fd476 --- /dev/null +++ b/libdrm_nouveau.diff @@ -0,0 +1,9062 @@ +From 54526154c5b02be0fbae6b0dad766c6be1bee21c Mon Sep 17 00:00:00 2001 +From: Ben Skeggs +Date: Fri, 09 Apr 2010 10:58:29 +0000 +Subject: nouveau: Import latest nouveau_class.h from renouveau + +And fix nv50_screen.c to compile against the updated header. +--- +diff --git a/src/gallium/drivers/nouveau/nouveau_class.h b/src/gallium/drivers/nouveau/nouveau_class.h +new file mode 100644 +index 0000000..a701b9d +--- a/dev/null ++++ b/src/gallium/drivers/nouveau/nouveau_class.h +@@ -0,0 +1,9024 @@ ++/************************************************************************* ++ ++ 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_S(x) (0x000003c0+((x)*16)) ++#define NV10TCL_TX_GEN_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_S(x) (0x000003c0+((x)*16)) ++#define NV20TCL_TX_GEN_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_REG_MODE 0x000019a0 ++#define NV50TCL_REG_MODE_PACKED 0x00000001 ++#define NV50TCL_REG_MODE_STRIPED 0x00000002 ++#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_LANES32_ENABLE 0x000002b8 ++#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_REG_MODE 0x000003b8 ++#define NV50_COMPUTE_REG_MODE_PACKED 0x00000001 ++#define NV50_COMPUTE_REG_MODE_STRIPED 0x00000002 ++#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/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c +index 801548d..551e893 100644 +--- a/src/gallium/drivers/nv50/nv50_screen.c ++++ b/src/gallium/drivers/nv50/nv50_screen.c +@@ -360,8 +360,8 @@ so_method(so, screen->tesla, NV50TCL_RT_CONTROL, 1); + so_data (so, 1); + + /* activate all 32 lanes (threads) in a warp */ +- so_method(so, screen->tesla, NV50TCL_WARP_HALVES, 1); +- so_data (so, 0x2); ++ so_method(so, screen->tesla, NV50TCL_REG_MODE, 1); ++ so_data (so, NV50TCL_REG_MODE_STRIPED); + so_method(so, screen->tesla, 0x1400, 1); + so_data (so, 0xf); + +diff --git a/src/mesa/drivers/dri/nouveau/nouveau_class.h b/src/mesa/drivers/dri/nouveau/nouveau_class.h +new file mode 120000 +index 0000000..5eff4af +--- a/dev/null ++++ b/src/mesa/drivers/dri/nouveau/nouveau_class.h +@@ -0,0 +1 @@ ++../../../../gallium/drivers/nouveau/nouveau_class.h +\ No newline at end of file +-- +cgit v0.8.3-6-g21f6 From bab108068b03c5df248826c75b4605407fb860a057dbd9764388cde7fc1b94fa Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Wed, 7 Jul 2010 21:08:12 +0000 Subject: [PATCH 2/4] Accepting request 42713 from home:jobermayr:branches:X11:XOrg Copy from home:jobermayr:branches:X11:XOrg/Mesa via accept of submit request 42713 revision 7. Request was accepted with message: reviewed ok. OBS-URL: https://build.opensuse.org/request/show/42713 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=116 --- Mesa.spec | 8 +- libdrm_nouveau.diff | 9062 --------------------------------------- libdrm_nouveau.diff.bz2 | 3 + 3 files changed, 10 insertions(+), 9063 deletions(-) delete mode 100644 libdrm_nouveau.diff create mode 100644 libdrm_nouveau.diff.bz2 diff --git a/Mesa.spec b/Mesa.spec index 1e5c9f6..f0a18d1 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -25,6 +25,9 @@ Version: 7.8.2 Release: 2 Name: Mesa BuildRequires: gcc-c++ libdrm-devel libexpat-devel pkgconfig python-base xorg-x11-devel +%if 0%{?suse_version} > 1020 +BuildRequires: fdupes +%endif Url: http://www.mesa3d.org License: MIT License (or similar) Group: System/Libraries @@ -50,7 +53,7 @@ Patch1: dri_driver_dir.diff Patch8: egl-buildfix.diff Patch9: Mesa_indirect_old_xserver_compatibility.diff Patch10: mesa-commit-06c72da.diff -Patch11: libdrm_nouveau.diff +Patch11: libdrm_nouveau.diff.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -205,6 +208,9 @@ install -m 644 $RPM_SOURCE_DIR/README.updates \ # global drirc file mkdir -p $RPM_BUILD_ROOT/etc install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc +%if 0%{?suse_version} > 1020 +%fdupes -s $RPM_BUILD_ROOT/%_mandir +%endif %clean rm -rf $RPM_BUILD_ROOT diff --git a/libdrm_nouveau.diff b/libdrm_nouveau.diff deleted file mode 100644 index e2fd476..0000000 --- a/libdrm_nouveau.diff +++ /dev/null @@ -1,9062 +0,0 @@ -From 54526154c5b02be0fbae6b0dad766c6be1bee21c Mon Sep 17 00:00:00 2001 -From: Ben Skeggs -Date: Fri, 09 Apr 2010 10:58:29 +0000 -Subject: nouveau: Import latest nouveau_class.h from renouveau - -And fix nv50_screen.c to compile against the updated header. ---- -diff --git a/src/gallium/drivers/nouveau/nouveau_class.h b/src/gallium/drivers/nouveau/nouveau_class.h -new file mode 100644 -index 0000000..a701b9d ---- a/dev/null -+++ b/src/gallium/drivers/nouveau/nouveau_class.h -@@ -0,0 +1,9024 @@ -+/************************************************************************* -+ -+ 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_S(x) (0x000003c0+((x)*16)) -+#define NV10TCL_TX_GEN_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_S(x) (0x000003c0+((x)*16)) -+#define NV20TCL_TX_GEN_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_REG_MODE 0x000019a0 -+#define NV50TCL_REG_MODE_PACKED 0x00000001 -+#define NV50TCL_REG_MODE_STRIPED 0x00000002 -+#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_LANES32_ENABLE 0x000002b8 -+#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_REG_MODE 0x000003b8 -+#define NV50_COMPUTE_REG_MODE_PACKED 0x00000001 -+#define NV50_COMPUTE_REG_MODE_STRIPED 0x00000002 -+#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/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c -index 801548d..551e893 100644 ---- a/src/gallium/drivers/nv50/nv50_screen.c -+++ b/src/gallium/drivers/nv50/nv50_screen.c -@@ -360,8 +360,8 @@ so_method(so, screen->tesla, NV50TCL_RT_CONTROL, 1); - so_data (so, 1); - - /* activate all 32 lanes (threads) in a warp */ -- so_method(so, screen->tesla, NV50TCL_WARP_HALVES, 1); -- so_data (so, 0x2); -+ so_method(so, screen->tesla, NV50TCL_REG_MODE, 1); -+ so_data (so, NV50TCL_REG_MODE_STRIPED); - so_method(so, screen->tesla, 0x1400, 1); - so_data (so, 0xf); - -diff --git a/src/mesa/drivers/dri/nouveau/nouveau_class.h b/src/mesa/drivers/dri/nouveau/nouveau_class.h -new file mode 120000 -index 0000000..5eff4af ---- a/dev/null -+++ b/src/mesa/drivers/dri/nouveau/nouveau_class.h -@@ -0,0 +1 @@ -+../../../../gallium/drivers/nouveau/nouveau_class.h -\ No newline at end of file --- -cgit v0.8.3-6-g21f6 diff --git a/libdrm_nouveau.diff.bz2 b/libdrm_nouveau.diff.bz2 new file mode 100644 index 0000000..184a4eb --- /dev/null +++ b/libdrm_nouveau.diff.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0490134931762050b739cd735ea70e2605c53b1031e580a2d0092abd05583704 +size 38449 From 999d4bf67686b021307e3bc5110eb513f7b278db0536aaf63e9831b825ab8b7a Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Mon, 19 Jul 2010 11:29:58 +0000 Subject: [PATCH 3/4] Accepting request 42715 from X11:XOrg checked in (request 42715) OBS-URL: https://build.opensuse.org/request/show/42715 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=117 --- Mesa.changes | 9 --- Mesa.spec | 122 +++++++++++++++------------------------- baselibs.conf | 1 - libdrm_nouveau.diff.bz2 | 3 - 4 files changed, 44 insertions(+), 91 deletions(-) delete mode 100644 libdrm_nouveau.diff.bz2 diff --git a/Mesa.changes b/Mesa.changes index 0c2a719..33e07b7 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,12 +1,3 @@ -------------------------------------------------------------------- -Wed Jul 7 00:00:00 CEST 2010 - johannesobermayr@gmx.de - -- bnc #620037 - * create nouveau_vieux_dri.so - * add libdrm_nouveau.diff - * separate Mesa-nouveau3d package -- fix some RPMLINT warnings - ------------------------------------------------------------------- Fri Jun 25 11:15:20 CEST 2010 - sndirsch@suse.de diff --git a/Mesa.spec b/Mesa.spec index f0a18d1..8c1d3e4 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -19,28 +19,24 @@ %define enable_nouveau 1 -%define _version 7.8.2 - -Version: 7.8.2 -Release: 2 Name: Mesa BuildRequires: gcc-c++ libdrm-devel libexpat-devel pkgconfig python-base xorg-x11-devel -%if 0%{?suse_version} > 1020 -BuildRequires: fdupes -%endif Url: http://www.mesa3d.org License: MIT License (or similar) Group: System/Libraries -Provides: xorg-x11-Mesa = %{version} intel-i810-Mesa = %{version} Mesa7 = %{version} -Obsoletes: xorg-x11-Mesa < %{version} intel-i810-Mesa < %{version} Mesa7 < %{version} +Provides: xorg-x11-Mesa intel-i810-Mesa Mesa7 +Obsoletes: xorg-x11-Mesa intel-i810-Mesa Mesa7 AutoReqProv: on # bug437293 %ifarch ppc64 -Obsoletes: XFree86-Mesa-64bit < %{version} Mesa-64bit < %{version} -Provides: XFree86-Mesa-64bit = %{version} Mesa-64bit < %{version} +Obsoletes: XFree86-Mesa-64bit +Obsoletes: Mesa-64bit %endif # -Summary: System for rendering interactive 3-D graphics +%define _version 7.8.2 +Version: 7.8.2 +Release: 1 +Summary: Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL Source: MesaLib-%{_version}.tar.bz2 Source1: MesaDemos-%{_version}.tar.bz2 Source2: baselibs.conf @@ -53,7 +49,6 @@ Patch1: dri_driver_dir.diff Patch8: egl-buildfix.diff Patch9: Mesa_indirect_old_xserver_compatibility.diff Patch10: mesa-commit-06c72da.diff -Patch11: libdrm_nouveau.diff.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -81,15 +76,15 @@ Authors: License: MIT License (or similar) Requires: Mesa = %version xorg-x11-devel libdrm-devel Summary: Libraries, includes and more to develop Mesa applications -Group: Development/Libraries/X11 +Group: System/Libraries # bug437293 %ifarch ppc64 -Obsoletes: XFree86-Mesa-devel-64bit < %{version} Mesa-devel-64bit < %{version} -Provides: XFree86-Mesa-devel-64bit = %{version} Mesa-devel-64bit = %{version} +Obsoletes: XFree86-Mesa-devel-64bit +Obsoletes: Mesa-devel-64bit %endif # -Provides: xorg-x11-Mesa-devel = %{version} Mesa-devel-static = %{version} -Obsoletes: xorg-x11-Mesa-devel < %{version} Mesa-devel-static < %{version} +Provides: xorg-x11-Mesa-devel Mesa-devel-static +Obsoletes: xorg-x11-Mesa-devel Mesa-devel-static %description devel Mesa is a 3-D graphics library with an API which is very similar to @@ -112,40 +107,18 @@ Authors: -------- Brian Paul -%package nouveau3d -Requires: Mesa = %version xorg-x11-driver-video-nouveau -Summary: Experimental 3D driver for nouveau driver -Group: System/Libraries - -%description nouveau3d -This is the 3D driver for open source nouveau driver. It uses Gallium3d architecture within Mesa. - -Note: -This driver is in a very experimental state. So it is not recommend that you use it. -Bug reports using this driver are not supported by developers. - -Authors: --------- - Brian Paul - Pekka Paalanen - Ben Skeggs - Francisco Jerez - %prep %setup -n %{name}-%{_version} -b1 -b4 -q # no need to build (GLUT-)Demos rm -rf src/glut progs/{demos,redbook,samples,xdemos,glsl} # we use freeglut rm -f include/GL/{glut.h,uglglutshapes.h,glutf90.h} -# remove some docs -rm -rf docs/README.{VMS,WIN32,OS2} %patch1 sed -i 's/REPLACE/%_lib/g' src/glx/Makefile sed -i 's/REPLACE/%_lib/g' src/egl/drivers/dri2/Makefile %patch8 %patch9 -p0 %patch10 -p1 -%patch11 -p1 %build @@ -156,22 +129,14 @@ autoreconf -fi %configure --disable-glw \ --with-driver=dri \ %ifarch %ix86 x86_64 -%if 0%{?suse_version} >= 1130 - --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,sis,tdfx,unichrome,swrast,nouveau \ -%else --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,sis,tdfx,unichrome,swrast \ -%endif %if %enable_nouveau --enable-gallium-nouveau \ %endif %endif %ifarch ppc %sparc hppa -%if 0%{?suse_version} >= 1130 - --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,tdfx,unichrome,swrast,nouveau \ -%else --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,tdfx,unichrome,swrast \ %endif -%endif %ifarch s390 s390x --with-dri-drivers=swrast \ %endif @@ -208,9 +173,6 @@ install -m 644 $RPM_SOURCE_DIR/README.updates \ # global drirc file mkdir -p $RPM_BUILD_ROOT/etc install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc -%if 0%{?suse_version} > 1020 -%fdupes -s $RPM_BUILD_ROOT/%_mandir -%endif %clean rm -rf $RPM_BUILD_ROOT @@ -223,37 +185,41 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root) %doc docs/README* docs/COPYING %config /etc/drirc -%{_libdir}/lib*.so.* -%{_libdir}/dri/ -%{_libdir}/egl/ -%exclude %{_libdir}/dri/nouveau_dri.so -%if 0%{?suse_version} >= 1130 -%exclude %{_libdir}/dri/nouveau_vieux_dri.so -%endif +/usr/include/GL/gl.h +/usr/include/GL/glext.h +/usr/include/GL/glx.h +/usr/include/GL/glxext.h +/usr/%{_lib}/libGL.so +/usr/%{_lib}/lib*.so.* +/usr/%{_lib}/dri/ +/usr/%{_lib}/egl/ %files devel %defattr(-,root,root) %doc docs/*.html docs/*.spec -%{_includedir}/GL -%{_includedir}/EGL -%{_includedir}/KHR -%exclude %{_includedir}/GL/glew.h -%exclude %{_includedir}/GL/glxew.h -%exclude %{_includedir}/GL/wglew.h -%{_libdir}/libGL.so -%{_libdir}/libGLU.so -%{_libdir}/libOSMesa.so -%{_libdir}/libEGL.so -%{_libdir}/pkgconfig/dri.pc -%{_libdir}/pkgconfig/gl.pc -%{_libdir}/pkgconfig/glu.pc +/usr/include/GL/gl_mangle.h +/usr/include/GL/glfbdev.h +/usr/include/GL/glu.h +/usr/include/GL/glu_mangle.h +/usr/include/GL/glx_mangle.h +/usr/include/GL/mesa_wgl.h +/usr/include/GL/mglmesa.h +/usr/include/GL/osmesa.h +/usr/include/GL/vms_x_fix.h +/usr/include/GL/wmesa.h +/usr/include/GL/internal/dri_interface.h +/usr/include/GL/wglext.h +/usr/include/EGL +/usr/include/KHR +%exclude /usr/include/GL/glew.h +%exclude /usr/include/GL/glxew.h +%exclude /usr/include/GL/wglew.h +/usr/%{_lib}/libGLU.so +/usr/%{_lib}/libOSMesa.so +/usr/%{_lib}/libEGL.so +/usr/%{_lib}/pkgconfig/dri.pc +/usr/%{_lib}/pkgconfig/gl.pc +/usr/%{_lib}/pkgconfig/glu.pc %{_mandir}/man3/* -%files nouveau3d -%defattr(-,root,root) -%{_libdir}/dri/nouveau_dri.so -%if 0%{?suse_version} >= 1130 -%{_libdir}/dri/nouveau_vieux_dri.so -%endif - %changelog diff --git a/baselibs.conf b/baselibs.conf index b0f5fa7..5369715 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -5,4 +5,3 @@ Mesa Mesa-devel obsoletes "XFree86-Mesa-devel- xorg-x11-Mesa-devel-" provides "XFree86-Mesa-devel- xorg-x11-Mesa-devel-" -Mesa-nouveau3d diff --git a/libdrm_nouveau.diff.bz2 b/libdrm_nouveau.diff.bz2 deleted file mode 100644 index 184a4eb..0000000 --- a/libdrm_nouveau.diff.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0490134931762050b739cd735ea70e2605c53b1031e580a2d0092abd05583704 -size 38449 From 740412e0d3d50531700bb76bb6c5d71b78522d110592156fd8e837624e67bd25 Mon Sep 17 00:00:00 2001 From: OBS User buildservice-autocommit Date: Mon, 19 Jul 2010 11:29:59 +0000 Subject: [PATCH 4/4] Updating link to change in openSUSE:Factory/Mesa revision 93.0 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=a88ceca863c6f73cf36553f7477a9a48 --- Mesa.changes | 9 +++ Mesa.spec | 124 ++++++++++++++++++++++++++-------------- baselibs.conf | 1 + libdrm_nouveau.diff.bz2 | 3 + 4 files changed, 93 insertions(+), 44 deletions(-) create mode 100644 libdrm_nouveau.diff.bz2 diff --git a/Mesa.changes b/Mesa.changes index 33e07b7..0c2a719 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Jul 7 00:00:00 CEST 2010 - johannesobermayr@gmx.de + +- bnc #620037 + * create nouveau_vieux_dri.so + * add libdrm_nouveau.diff + * separate Mesa-nouveau3d package +- fix some RPMLINT warnings + ------------------------------------------------------------------- Fri Jun 25 11:15:20 CEST 2010 - sndirsch@suse.de diff --git a/Mesa.spec b/Mesa.spec index 8c1d3e4..723bf55 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -19,24 +19,29 @@ %define enable_nouveau 1 +%define _version 7.8.2 + +Version: 7.8.2 +Release: 2 + Name: Mesa BuildRequires: gcc-c++ libdrm-devel libexpat-devel pkgconfig python-base xorg-x11-devel +%if 0%{?suse_version} > 1020 +BuildRequires: fdupes +%endif Url: http://www.mesa3d.org License: MIT License (or similar) Group: System/Libraries -Provides: xorg-x11-Mesa intel-i810-Mesa Mesa7 -Obsoletes: xorg-x11-Mesa intel-i810-Mesa Mesa7 +Provides: xorg-x11-Mesa = %{version} intel-i810-Mesa = %{version} Mesa7 = %{version} +Obsoletes: xorg-x11-Mesa < %{version} intel-i810-Mesa < %{version} Mesa7 < %{version} AutoReqProv: on # bug437293 %ifarch ppc64 -Obsoletes: XFree86-Mesa-64bit -Obsoletes: Mesa-64bit +Obsoletes: XFree86-Mesa-64bit < %{version} Mesa-64bit < %{version} +Provides: XFree86-Mesa-64bit = %{version} Mesa-64bit < %{version} %endif # -%define _version 7.8.2 -Version: 7.8.2 -Release: 1 -Summary: Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL +Summary: System for rendering interactive 3-D graphics Source: MesaLib-%{_version}.tar.bz2 Source1: MesaDemos-%{_version}.tar.bz2 Source2: baselibs.conf @@ -49,6 +54,7 @@ Patch1: dri_driver_dir.diff Patch8: egl-buildfix.diff Patch9: Mesa_indirect_old_xserver_compatibility.diff Patch10: mesa-commit-06c72da.diff +Patch11: libdrm_nouveau.diff.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -76,15 +82,15 @@ Authors: License: MIT License (or similar) Requires: Mesa = %version xorg-x11-devel libdrm-devel Summary: Libraries, includes and more to develop Mesa applications -Group: System/Libraries +Group: Development/Libraries/X11 # bug437293 %ifarch ppc64 -Obsoletes: XFree86-Mesa-devel-64bit -Obsoletes: Mesa-devel-64bit +Obsoletes: XFree86-Mesa-devel-64bit < %{version} Mesa-devel-64bit < %{version} +Provides: XFree86-Mesa-devel-64bit = %{version} Mesa-devel-64bit = %{version} %endif # -Provides: xorg-x11-Mesa-devel Mesa-devel-static -Obsoletes: xorg-x11-Mesa-devel Mesa-devel-static +Provides: xorg-x11-Mesa-devel = %{version} Mesa-devel-static = %{version} +Obsoletes: xorg-x11-Mesa-devel < %{version} Mesa-devel-static < %{version} %description devel Mesa is a 3-D graphics library with an API which is very similar to @@ -107,18 +113,41 @@ Authors: -------- Brian Paul +%package nouveau3d +License: MIT License (or similar) +Requires: Mesa = %version xorg-x11-driver-video-nouveau +Summary: Experimental 3D driver for nouveau driver +Group: System/Libraries + +%description nouveau3d +This is the 3D driver for open source nouveau driver. It uses Gallium3d architecture within Mesa. + +Note: +This driver is in a very experimental state. So it is not recommend that you use it. +Bug reports using this driver are not supported by developers. + +Authors: +-------- + Brian Paul + Pekka Paalanen + Ben Skeggs + Francisco Jerez + %prep %setup -n %{name}-%{_version} -b1 -b4 -q # no need to build (GLUT-)Demos rm -rf src/glut progs/{demos,redbook,samples,xdemos,glsl} # we use freeglut rm -f include/GL/{glut.h,uglglutshapes.h,glutf90.h} +# remove some docs +rm -rf docs/README.{VMS,WIN32,OS2} %patch1 sed -i 's/REPLACE/%_lib/g' src/glx/Makefile sed -i 's/REPLACE/%_lib/g' src/egl/drivers/dri2/Makefile %patch8 %patch9 -p0 %patch10 -p1 +%patch11 -p1 %build @@ -129,14 +158,22 @@ autoreconf -fi %configure --disable-glw \ --with-driver=dri \ %ifarch %ix86 x86_64 +%if 0%{?suse_version} >= 1130 + --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,sis,tdfx,unichrome,swrast,nouveau \ +%else --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,sis,tdfx,unichrome,swrast \ +%endif %if %enable_nouveau --enable-gallium-nouveau \ %endif %endif %ifarch ppc %sparc hppa +%if 0%{?suse_version} >= 1130 + --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,tdfx,unichrome,swrast,nouveau \ +%else --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,tdfx,unichrome,swrast \ %endif +%endif %ifarch s390 s390x --with-dri-drivers=swrast \ %endif @@ -173,6 +210,9 @@ install -m 644 $RPM_SOURCE_DIR/README.updates \ # global drirc file mkdir -p $RPM_BUILD_ROOT/etc install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc +%if 0%{?suse_version} > 1020 +%fdupes -s $RPM_BUILD_ROOT/%_mandir +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -185,41 +225,37 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root) %doc docs/README* docs/COPYING %config /etc/drirc -/usr/include/GL/gl.h -/usr/include/GL/glext.h -/usr/include/GL/glx.h -/usr/include/GL/glxext.h -/usr/%{_lib}/libGL.so -/usr/%{_lib}/lib*.so.* -/usr/%{_lib}/dri/ -/usr/%{_lib}/egl/ +%{_libdir}/lib*.so.* +%{_libdir}/dri/ +%{_libdir}/egl/ +%exclude %{_libdir}/dri/nouveau_dri.so +%if 0%{?suse_version} >= 1130 +%exclude %{_libdir}/dri/nouveau_vieux_dri.so +%endif %files devel %defattr(-,root,root) %doc docs/*.html docs/*.spec -/usr/include/GL/gl_mangle.h -/usr/include/GL/glfbdev.h -/usr/include/GL/glu.h -/usr/include/GL/glu_mangle.h -/usr/include/GL/glx_mangle.h -/usr/include/GL/mesa_wgl.h -/usr/include/GL/mglmesa.h -/usr/include/GL/osmesa.h -/usr/include/GL/vms_x_fix.h -/usr/include/GL/wmesa.h -/usr/include/GL/internal/dri_interface.h -/usr/include/GL/wglext.h -/usr/include/EGL -/usr/include/KHR -%exclude /usr/include/GL/glew.h -%exclude /usr/include/GL/glxew.h -%exclude /usr/include/GL/wglew.h -/usr/%{_lib}/libGLU.so -/usr/%{_lib}/libOSMesa.so -/usr/%{_lib}/libEGL.so -/usr/%{_lib}/pkgconfig/dri.pc -/usr/%{_lib}/pkgconfig/gl.pc -/usr/%{_lib}/pkgconfig/glu.pc +%{_includedir}/GL +%{_includedir}/EGL +%{_includedir}/KHR +%exclude %{_includedir}/GL/glew.h +%exclude %{_includedir}/GL/glxew.h +%exclude %{_includedir}/GL/wglew.h +%{_libdir}/libGL.so +%{_libdir}/libGLU.so +%{_libdir}/libOSMesa.so +%{_libdir}/libEGL.so +%{_libdir}/pkgconfig/dri.pc +%{_libdir}/pkgconfig/gl.pc +%{_libdir}/pkgconfig/glu.pc %{_mandir}/man3/* +%files nouveau3d +%defattr(-,root,root) +%{_libdir}/dri/nouveau_dri.so +%if 0%{?suse_version} >= 1130 +%{_libdir}/dri/nouveau_vieux_dri.so +%endif + %changelog diff --git a/baselibs.conf b/baselibs.conf index 5369715..b0f5fa7 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -5,3 +5,4 @@ Mesa Mesa-devel obsoletes "XFree86-Mesa-devel- xorg-x11-Mesa-devel-" provides "XFree86-Mesa-devel- xorg-x11-Mesa-devel-" +Mesa-nouveau3d diff --git a/libdrm_nouveau.diff.bz2 b/libdrm_nouveau.diff.bz2 new file mode 100644 index 0000000..184a4eb --- /dev/null +++ b/libdrm_nouveau.diff.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0490134931762050b739cd735ea70e2605c53b1031e580a2d0092abd05583704 +size 38449