[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libdrm: Changes to 'debian-experimental'



Rebased ref, commits from common ancestor:
commit a8ecb929d9f72b24dc7b45c03eaf606bc6c64bee
Author: Brice Goglin <bgoglin@debian.org>
Date:   Fri Apr 16 07:09:36 2010 +0200

    Prepare changelog for upload

diff --git a/debian/changelog b/debian/changelog
index c6b7091..0f3e99d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,11 +1,11 @@
-libdrm (2.4.20-1) UNRELEASED; urgency=low
+libdrm (2.4.20-1) experimental; urgency=low
 
   * New upstream release.
     + Cherry-pick upstream fixes 107ccd92 and 332739e3.
   * Update libdrm-intel1.symbols, libdrm-radeon1.symbols and shlibs.
   * Disable libkms for now.
 
- -- Brice Goglin <bgoglin@debian.org>  Tue, 06 Apr 2010 21:46:57 +0200
+ -- Brice Goglin <bgoglin@debian.org>  Fri, 16 Apr 2010 07:14:41 +0200
 
 libdrm (2.4.18-5) unstable; urgency=low
 

commit 882cf719a5ddd2182b454c578658a89465e86a03
Author: Brice Goglin <bgoglin@debian.org>
Date:   Fri Apr 16 07:08:27 2010 +0200

    Update changelog with cherry-picked commits

diff --git a/debian/changelog b/debian/changelog
index 48020ef..c91bc71 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 libdrm (2.4.20-1) UNRELEASED; urgency=low
 
   * New upstream release.
+    + Cherry-pick upstream fixes 107ccd92 and 332739e3.
   * Update libdrm-intel1.symbols, libdrm-radeon1.symbols and shlibs.
   * Disable libkms for now.
 

commit 332739e3074135b00e781468ad8aaed1950f5453
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 11 18:40:38 2010 +0100

    intel: Use the correct size when allocating reloc_target_info array
    
    Thomas tracked down this error with kdm and commit b509640:
    
    ==4320== Invalid write of size 8
    ==4320==    at 0x9A97998: do_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0)
    ==4320==    by 0x9A97B9C: drm_intel_gem_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0)
    ==4320==    by 0xAED3234: intel_batchbuffer_emit_reloc (in /usr/lib/xorg/modules/dri/i965_dri.so)
    ==4320==    by 0xAF13827: brw_emit_vertices (in /usr/lib/xorg/modules/dri/i965_dri.so)
    ==4320==    by 0xAF1F14D: brw_upload_state (in /usr/lib/xorg/modules/dri/i965_dri.so)
    ==4320==    by 0xAF12122: brw_draw_prims (in /usr/lib/xorg/modules/dri/i965_dri.so)
    ==4320==    by 0xB256824: vbo_exec_vtx_flush (in /usr/lib/xorg/modules/dri/libdricore.so)
    ==4320==    by 0xB2523BB: vbo_exec_FlushVertices_internal (in /usr/lib/xorg/modules/dri/libdricore.so)
    ==4320==    by 0xB252411: vbo_exec_FlushVertices (in /usr/lib/xorg/modules/dri/libdricore.so)
    ==4320==    by 0xB195A3D: _mesa_PopAttrib (in /usr/lib/xorg/modules/dri/libdricore.so)
    ==4320==    by 0x8DF0F02: __glXDisp_Render (in /usr/lib/xorg/modules/extensions/libglx.xorg)
    ==4320==    by 0x8DF517F: __glXDispatch (in /usr/lib/xorg/modules/extensions/libglx.xorg)
    ==4320==  Address 0x126a8b80 is 0 bytes after a block of size 16,368 alloc'd
    ==4320==    at 0x4C23E03: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==4320==    by 0x9A97A64: do_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0)
    ==4320==    by 0x9A97B9C: drm_intel_gem_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0)
    ==4320==    by 0xAED3234: intel_batchbuffer_emit_reloc (in /usr/lib/xorg/modules/dri/i965_dri.so)
    ==4320==    by 0xAF191DB: upload_binding_table_pointers (in /usr/lib/xorg/modules/dri/i965_dri.so)
    ==4320==    by 0xAF1F14D: brw_upload_state (in /usr/lib/xorg/modules/dri/i965_dri.so)
    ==4320==    by 0xAF12122: brw_draw_prims (in /usr/lib/xorg/modules/dri/i965_dri.so)
    ==4320==    by 0xB255EF6: vbo_exec_DrawArrays (in /usr/lib/xorg/modules/dri/libdricore.so)
    ==4320==    by 0x8DF67A3: __glXDisp_DrawArrays (in /usr/lib/xorg/modules/extensions/libglx.xorg)
    ==4320==    by 0x8DF0F02: __glXDisp_Render (in /usr/lib/xorg/modules/extensions/libglx.xorg)
    ==4320==    by 0x8DF517F: __glXDispatch (in /usr/lib/xorg/modules/extensions/libglx.xorg)
    ==4320==    by 0x446293: ??? (in /usr/bin/Xorg)
    
    which is simply due to only allocating space for the pointers and not
    the structs themselves. D'oh.
    
    Reported-by: Thomas Bächler <thomas@archlinux.org>
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
index 8e46e37..a2cf6e6 100644
--- a/intel/intel_bufmgr_gem.c
+++ b/intel/intel_bufmgr_gem.c
@@ -470,7 +470,7 @@ drm_intel_setup_reloc_list(drm_intel_bo *bo)
 	bo_gem->relocs = malloc(max_relocs *
 				sizeof(struct drm_i915_gem_relocation_entry));
 	bo_gem->reloc_target_info = malloc(max_relocs *
-					   sizeof(drm_intel_reloc_target *));
+					   sizeof(drm_intel_reloc_target));
 	if (bo_gem->relocs == NULL || bo_gem->reloc_target_info == NULL) {
 		bo_gem->has_error = 1;
 

commit 107ccd92d4c5b34e99b70a2af3f83253ceb24b46
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Fri Apr 9 16:33:38 2010 -0400

    Revert "Fix pkgconfig includes for /usr/include/drm"
    
    This reverts commit 245d6957794648d7fd83279c680fed6e4c262147.
    
    libdrm now install headers in ${includedir}/libdrm and /usr/include/drm
    is reserved for the kernel headers.  We should only ever add one of these
    to the CFLAGS.

diff --git a/libdrm.pc.in b/libdrm.pc.in
index b218d12..b46e2a6 100644
--- a/libdrm.pc.in
+++ b/libdrm.pc.in
@@ -7,4 +7,4 @@ Name: libdrm
 Description: Userspace interface to kernel DRM services
 Version: @PACKAGE_VERSION@
 Libs: -L${libdir} -ldrm
-Cflags: -I${includedir} -I${includedir}/drm -I${includedir}/libdrm
+Cflags: -I${includedir} -I${includedir}/libdrm

commit bba2b58cbe1d8512ad35b951f4cfa52144c5e2fd
Author: Brice Goglin <bgoglin@debian.org>
Date:   Tue Apr 6 22:20:28 2010 +0200

    Update libdrm-radeon1.symbols and shlibs.

diff --git a/debian/changelog b/debian/changelog
index 5c652e6..48020ef 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,7 @@
 libdrm (2.4.20-1) UNRELEASED; urgency=low
 
   * New upstream release.
-  * Update libdrm-intel1.symbols and shlibs.
+  * Update libdrm-intel1.symbols, libdrm-radeon1.symbols and shlibs.
   * Disable libkms for now.
 
  -- Brice Goglin <bgoglin@debian.org>  Tue, 06 Apr 2010 21:46:57 +0200
diff --git a/debian/libdrm-radeon1.symbols b/debian/libdrm-radeon1.symbols
index 12b1231..2cc83e9 100644
--- a/debian/libdrm-radeon1.symbols
+++ b/debian/libdrm-radeon1.symbols
@@ -21,6 +21,7 @@ libdrm_radeon.so.1 libdrm-radeon1 #MINVER#
  radeon_cs_emit@Base 2.4.17
  radeon_cs_end@Base 2.4.17
  radeon_cs_erase@Base 2.4.17
+ radeon_cs_get_id@Base 2.4.20
  radeon_cs_manager_gem_ctor@Base 2.4.17
  radeon_cs_manager_gem_dtor@Base 2.4.17
  radeon_cs_need_flush@Base 2.4.17
@@ -33,5 +34,6 @@ libdrm_radeon.so.1 libdrm-radeon1 #MINVER#
  radeon_cs_space_set_flush@Base 2.4.17
  radeon_cs_write_reloc@Base 2.4.17
  radeon_gem_get_kernel_name@Base 2.4.17
+ radeon_gem_get_reloc_in_cs@Base 2.4.20
  radeon_gem_name_bo@Base 2.4.17
  radeon_gem_set_domain@Base 2.4.17
diff --git a/debian/rules b/debian/rules
index acf03b6..41b99db 100755
--- a/debian/rules
+++ b/debian/rules
@@ -143,7 +143,7 @@ ifeq ($(NOUVEAU), yes)
 	dh_makeshlibs -plibdrm-nouveau1 -V'libdrm-nouveau1 (>= 2.4.16)' -- -c4
 endif
 ifeq ($(RADEON), yes)
-	dh_makeshlibs -plibdrm-radeon1 -V'libdrm-radeon1 (>= 2.4.17)' -- -c4
+	dh_makeshlibs -plibdrm-radeon1 -V'libdrm-radeon1 (>= 2.4.20)' -- -c4
 endif
 	dh_installdeb -s
 	dh_shlibdeps -s

commit 50d305e25d297eb6ab4b2b0221cdc22e77dd677e
Author: Brice Goglin <bgoglin@debian.org>
Date:   Tue Apr 6 22:17:10 2010 +0200

    Update libdrm-intel1.symbols and shlibs.

diff --git a/debian/changelog b/debian/changelog
index af81559..5c652e6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 libdrm (2.4.20-1) UNRELEASED; urgency=low
 
   * New upstream release.
+  * Update libdrm-intel1.symbols and shlibs.
   * Disable libkms for now.
 
  -- Brice Goglin <bgoglin@debian.org>  Tue, 06 Apr 2010 21:46:57 +0200
diff --git a/debian/libdrm-intel1.symbols b/debian/libdrm-intel1.symbols
index 71e8f02..68b9c37 100644
--- a/debian/libdrm-intel1.symbols
+++ b/debian/libdrm-intel1.symbols
@@ -5,6 +5,7 @@ libdrm_intel.so.1 libdrm-intel1 #MINVER#
  drm_intel_bo_busy@Base 2.4.13
  drm_intel_bo_disable_reuse@Base 2.4.10
  drm_intel_bo_emit_reloc@Base 2.4.1
+ drm_intel_bo_emit_reloc_fence@Base 2.4.20
  drm_intel_bo_exec@Base 2.4.1
  drm_intel_bo_fake_alloc_static@Base 2.4.1
  drm_intel_bo_fake_disable_backing_store@Base 2.4.1
@@ -31,6 +32,7 @@ libdrm_intel.so.1 libdrm-intel1 #MINVER#
  drm_intel_bufmgr_fake_set_exec_callback@Base 2.4.1
  drm_intel_bufmgr_fake_set_fence_callback@Base 2.4.1
  drm_intel_bufmgr_fake_set_last_dispatch@Base 2.4.1
+ drm_intel_bufmgr_gem_enable_fenced_relocs@Base 2.4.20
  drm_intel_bufmgr_gem_enable_reuse@Base 2.4.1
  drm_intel_bufmgr_gem_init@Base 2.4.1
  drm_intel_bufmgr_set_debug@Base 2.4.1
diff --git a/debian/rules b/debian/rules
index a799afc..acf03b6 100755
--- a/debian/rules
+++ b/debian/rules
@@ -137,7 +137,7 @@ endif
 	dh_fixperms -s
 	dh_makeshlibs -plibdrm2 -V'libdrm2 (>= 2.4.17)' -- -c4
 ifeq ($(INTEL), yes)
-	dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.16)' -- -c4
+	dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.20)' -- -c4
 endif
 ifeq ($(NOUVEAU), yes)
 	dh_makeshlibs -plibdrm-nouveau1 -V'libdrm-nouveau1 (>= 2.4.16)' -- -c4

commit 4039421e0b60cbb4adf563a28d973112113746bb
Author: Brice Goglin <bgoglin@debian.org>
Date:   Tue Apr 6 22:10:34 2010 +0200

    Disable libkms for now

diff --git a/debian/changelog b/debian/changelog
index 16d5d81..af81559 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 libdrm (2.4.20-1) UNRELEASED; urgency=low
 
   * New upstream release.
+  * Disable libkms for now.
 
  -- Brice Goglin <bgoglin@debian.org>  Tue, 06 Apr 2010 21:46:57 +0200
 
diff --git a/debian/rules b/debian/rules
index 471ea74..a799afc 100755
--- a/debian/rules
+++ b/debian/rules
@@ -17,6 +17,7 @@ DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 DEB_HOST_ARCH_OS    ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
 
+confflags += --disable-libkms
 ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
 	confflags += --build=$(DEB_HOST_GNU_TYPE)
 else

commit aa2d788d799b1c065b9ccf111a1fe1354a921cd3
Author: Brice Goglin <bgoglin@debian.org>
Date:   Tue Apr 6 21:48:37 2010 +0200

    Update 03_revert_abi_change.diff

diff --git a/debian/patches/03_revert_abi_change.diff b/debian/patches/03_revert_abi_change.diff
index 12dd8f6..63ddc3c 100644
--- a/debian/patches/03_revert_abi_change.diff
+++ b/debian/patches/03_revert_abi_change.diff
@@ -1,6 +1,9 @@
 Revert nouveau ABI change to match what is in 2.6.33.
 
 This reverts commits after b496c63143e9a4ca02011582329bce2df99d9b7c
+except those that only touch the build system:
+  e73af7f560c95ba9c665bead7fc8eb1471db9975
+  976e779f9cd0571dd2c218580485b39d37bd18a0
 
 diff --git a/include/drm/nouveau_drm.h b/include/drm/nouveau_drm.h
 index a6a9f4a..f745948 100644
@@ -160,7 +163,7 @@ index a6a9f4a..f745948 100644
  
  #endif /* __NOUVEAU_DRM_H__ */
 diff --git a/nouveau/Makefile.am b/nouveau/Makefile.am
-index 5d759c5..70bbbb2 100644
+index b6d214a..217b7ef 100644
 --- a/nouveau/Makefile.am
 +++ b/nouveau/Makefile.am
 @@ -18,8 +18,7 @@ libdrm_nouveau_la_SOURCES = \
@@ -182,13 +185,17 @@ index 5d759c5..70bbbb2 100644
 +				nouveau_class.h
  
  
- libdrm_nouveauincludedir = ${includedir}/drm
+ libdrm_nouveauincludedir = ${includedir}/libdrm
 diff --git a/nouveau/nouveau_bo.c b/nouveau/nouveau_bo.c
-index 4973636..10cc8a6 100644
+index 32b23b6..10cc8a6 100644
 --- a/nouveau/nouveau_bo.c
 +++ b/nouveau/nouveau_bo.c
-@@ -201,6 +201,14 @@ nouveau_bo_new_tile(struct nouveau_device *dev, uint32_t flags, int align,
- 			nouveau_bo_ref(NULL, (void *)nvbo);
+@@ -198,9 +198,17 @@ nouveau_bo_new_tile(struct nouveau_device *dev, uint32_t flags, int align,
+ 	if (flags & (NOUVEAU_BO_VRAM | NOUVEAU_BO_GART)) {
+ 		ret = nouveau_bo_kalloc(nvbo, NULL);
+ 		if (ret) {
+-			nouveau_bo_ref(NULL, (void *)&nvbo);
++			nouveau_bo_ref(NULL, (void *)nvbo);
  			return ret;
  		}
 +
@@ -346,6 +353,19 @@ index 1e77ab0..fdad63e 100644
  nouveau_bo_busy(struct nouveau_bo *, uint32_t access);
  
  uint32_t
+diff --git a/nouveau/nouveau_channel.c b/nouveau/nouveau_channel.c
+index 40a0b34..5622c1d 100644
+--- a/nouveau/nouveau_channel.c
++++ b/nouveau/nouveau_channel.c
+@@ -106,7 +106,7 @@ nouveau_channel_free(struct nouveau_channel **chan)
+ 	struct nouveau_channel_priv *nvchan;
+ 	struct nouveau_device_priv *nvdev;
+ 	struct drm_nouveau_channel_free cf;
+-	unsigned i;
++	int i;
+ 
+ 	if (!chan || !*chan)
+ 		return;
 diff --git a/nouveau/nouveau_channel.h b/nouveau/nouveau_channel.h
 index ddcf8e4..294f749 100644
 --- a/nouveau/nouveau_channel.h
@@ -365,6 +385,866 @@ index ddcf8e4..294f749 100644
  	struct nouveau_grobj *nullobj;
  	struct nouveau_grobj *vram;
  	struct nouveau_grobj *gart;
+diff --git a/nouveau/nouveau_class.h b/nouveau/nouveau_class.h
+index 0167cbc..8e7d0ff 100644
+--- a/nouveau/nouveau_class.h
++++ b/nouveau/nouveau_class.h
+@@ -1549,7 +1549,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_SPECULAR_ENABLE_SHIFT				12
++#define   NV04_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE_MASK				0x0000f000
+ #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
+@@ -1797,7 +1798,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_SPECULAR_ENABLE_SHIFT				12
++#define   NV04_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE_MASK				0x0000f000
+ #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
+@@ -1961,10 +1963,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_MASK							0x00000780
+ #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_A8_RECT						0x00000180
+ #define    NV10TCL_TX_FORMAT_FORMAT_A4R4G4B4						0x00000200
+ #define    NV10TCL_TX_FORMAT_FORMAT_R5G6B5						0x00000280
+ #define    NV10TCL_TX_FORMAT_FORMAT_A8R8G8B8						0x00000300
+@@ -1976,7 +1979,25 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_FORMAT_L8_RECT						0x00000980
++#define    NV10TCL_TX_FORMAT_FORMAT_A8L8						0x00000d00
++#define    NV10TCL_TX_FORMAT_FORMAT_A8_RECT2						0x00000d80
++#define    NV10TCL_TX_FORMAT_FORMAT_A4R4G4B4_RECT					0x00000e80
++#define    NV10TCL_TX_FORMAT_FORMAT_R8G8B8_RECT						0x00000f00
++#define    NV10TCL_TX_FORMAT_FORMAT_L8A8_RECT						0x00001000
++#define    NV10TCL_TX_FORMAT_FORMAT_DSDT						0x00001400
++#define    NV10TCL_TX_FORMAT_FORMAT_A16							0x00001900
++#define    NV10TCL_TX_FORMAT_FORMAT_HILO16						0x00001980
++#define    NV10TCL_TX_FORMAT_FORMAT_A16_RECT						0x00001a80
++#define    NV10TCL_TX_FORMAT_FORMAT_HILO16_RECT						0x00001b00
++#define    NV10TCL_TX_FORMAT_FORMAT_HILO8						0x00002200
++#define    NV10TCL_TX_FORMAT_FORMAT_SIGNED_HILO8					0x00002280
++#define    NV10TCL_TX_FORMAT_FORMAT_HILO8_RECT						0x00002300
++#define    NV10TCL_TX_FORMAT_FORMAT_SIGNED_HILO8_RECT					0x00002380
++#define    NV10TCL_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV					0x00002500
++#define    NV10TCL_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV					0x00002580
++#define    NV10TCL_TX_FORMAT_FORMAT_FLOAT_R32_NV					0x00002600
++#define   NV10TCL_TX_FORMAT_NPOT							(1 << 11)
+ #define   NV10TCL_TX_FORMAT_MIPMAP							(1 << 15)
+ #define   NV10TCL_TX_FORMAT_BASE_SIZE_U_SHIFT						16
+ #define   NV10TCL_TX_FORMAT_BASE_SIZE_U_MASK						0x000f0000
+@@ -2617,7 +2638,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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
+@@ -2866,38 +2886,38 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #define    NV10TCL_ENABLED_LIGHTS_7_NONPOSITIONAL					0x00004000
+ #define    NV10TCL_ENABLED_LIGHTS_7_POSITIONAL						0x00008000
+ #define    NV10TCL_ENABLED_LIGHTS_7_DIRECTIONAL						0x0000c000
+-#define  NV10TCL_TX_GEN_MODE_S(x)							(0x000003c0+((x)*16))
+-#define  NV10TCL_TX_GEN_MODE_S__SIZE							0x00000002
+-#define   NV10TCL_TX_GEN_MODE_S_FALSE							0x00000000
+-#define   NV10TCL_TX_GEN_MODE_S_EYE_LINEAR						0x00002400
+-#define   NV10TCL_TX_GEN_MODE_S_OBJECT_LINEAR						0x00002401
+-#define   NV10TCL_TX_GEN_MODE_S_SPHERE_MAP						0x00002402
+-#define   NV10TCL_TX_GEN_MODE_S_NORMAL_MAP						0x00008511
+-#define   NV10TCL_TX_GEN_MODE_S_REFLECTION_MAP						0x00008512
+-#define  NV10TCL_TX_GEN_MODE_T(x)							(0x000003c4+((x)*16))
+-#define  NV10TCL_TX_GEN_MODE_T__SIZE							0x00000002
+-#define   NV10TCL_TX_GEN_MODE_T_FALSE							0x00000000
+-#define   NV10TCL_TX_GEN_MODE_T_EYE_LINEAR						0x00002400
+-#define   NV10TCL_TX_GEN_MODE_T_OBJECT_LINEAR						0x00002401
+-#define   NV10TCL_TX_GEN_MODE_T_SPHERE_MAP						0x00002402
+-#define   NV10TCL_TX_GEN_MODE_T_NORMAL_MAP						0x00008511
+-#define   NV10TCL_TX_GEN_MODE_T_REFLECTION_MAP						0x00008512
+-#define  NV10TCL_TX_GEN_MODE_R(x)							(0x000003c8+((x)*16))
+-#define  NV10TCL_TX_GEN_MODE_R__SIZE							0x00000002
+-#define   NV10TCL_TX_GEN_MODE_R_FALSE							0x00000000
+-#define   NV10TCL_TX_GEN_MODE_R_EYE_LINEAR						0x00002400
+-#define   NV10TCL_TX_GEN_MODE_R_OBJECT_LINEAR						0x00002401
+-#define   NV10TCL_TX_GEN_MODE_R_SPHERE_MAP						0x00002402
+-#define   NV10TCL_TX_GEN_MODE_R_NORMAL_MAP						0x00008511
+-#define   NV10TCL_TX_GEN_MODE_R_REFLECTION_MAP						0x00008512
+-#define  NV10TCL_TX_GEN_MODE_Q(x)							(0x000003cc+((x)*16))
+-#define  NV10TCL_TX_GEN_MODE_Q__SIZE							0x00000002
+-#define   NV10TCL_TX_GEN_MODE_Q_FALSE							0x00000000
+-#define   NV10TCL_TX_GEN_MODE_Q_EYE_LINEAR						0x00002400
+-#define   NV10TCL_TX_GEN_MODE_Q_OBJECT_LINEAR						0x00002401
+-#define   NV10TCL_TX_GEN_MODE_Q_SPHERE_MAP						0x00002402
+-#define   NV10TCL_TX_GEN_MODE_Q_NORMAL_MAP						0x00008511
+-#define   NV10TCL_TX_GEN_MODE_Q_REFLECTION_MAP						0x00008512
++#define  NV10TCL_TX_GEN_S(x)								(0x000003c0+((x)*16))
++#define  NV10TCL_TX_GEN_S__SIZE								0x00000002
++#define   NV10TCL_TX_GEN_S_FALSE							0x00000000
++#define   NV10TCL_TX_GEN_S_EYE_LINEAR							0x00002400
++#define   NV10TCL_TX_GEN_S_OBJECT_LINEAR						0x00002401
++#define   NV10TCL_TX_GEN_S_SPHERE_MAP							0x00002402
++#define   NV10TCL_TX_GEN_S_NORMAL_MAP							0x00008511
++#define   NV10TCL_TX_GEN_S_REFLECTION_MAP						0x00008512
++#define  NV10TCL_TX_GEN_T(x)								(0x000003c4+((x)*16))
++#define  NV10TCL_TX_GEN_T__SIZE								0x00000002
++#define   NV10TCL_TX_GEN_T_FALSE							0x00000000
++#define   NV10TCL_TX_GEN_T_EYE_LINEAR							0x00002400
++#define   NV10TCL_TX_GEN_T_OBJECT_LINEAR						0x00002401
++#define   NV10TCL_TX_GEN_T_SPHERE_MAP							0x00002402
++#define   NV10TCL_TX_GEN_T_NORMAL_MAP							0x00008511
++#define   NV10TCL_TX_GEN_T_REFLECTION_MAP						0x00008512
++#define  NV10TCL_TX_GEN_R(x)								(0x000003c8+((x)*16))
++#define  NV10TCL_TX_GEN_R__SIZE								0x00000002
++#define   NV10TCL_TX_GEN_R_FALSE							0x00000000
++#define   NV10TCL_TX_GEN_R_EYE_LINEAR							0x00002400
++#define   NV10TCL_TX_GEN_R_OBJECT_LINEAR						0x00002401
++#define   NV10TCL_TX_GEN_R_SPHERE_MAP							0x00002402
++#define   NV10TCL_TX_GEN_R_NORMAL_MAP							0x00008511
++#define   NV10TCL_TX_GEN_R_REFLECTION_MAP						0x00008512
++#define  NV10TCL_TX_GEN_Q(x)								(0x000003cc+((x)*16))
++#define  NV10TCL_TX_GEN_Q__SIZE								0x00000002
++#define   NV10TCL_TX_GEN_Q_FALSE							0x00000000
++#define   NV10TCL_TX_GEN_Q_EYE_LINEAR							0x00002400
++#define   NV10TCL_TX_GEN_Q_OBJECT_LINEAR						0x00002401
++#define   NV10TCL_TX_GEN_Q_SPHERE_MAP							0x00002402
++#define   NV10TCL_TX_GEN_Q_NORMAL_MAP							0x00008511
++#define   NV10TCL_TX_GEN_Q_REFLECTION_MAP						0x00008512
+ #define  NV10TCL_TX_MATRIX_ENABLE(x)							(0x000003e0+((x)*4))
+ #define  NV10TCL_TX_MATRIX_ENABLE__SIZE							0x00000002
+ #define  NV10TCL_VIEW_MATRIX_ENABLE							0x000003e8
+@@ -2919,38 +2939,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_CLIP_PLANE_A(x)							(0x00000600+((x)*16))
++#define  NV10TCL_CLIP_PLANE_A__SIZE							0x00000008
++#define  NV10TCL_CLIP_PLANE_B(x)							(0x00000604+((x)*16))
++#define  NV10TCL_CLIP_PLANE_B__SIZE							0x00000008
++#define  NV10TCL_CLIP_PLANE_C(x)							(0x00000608+((x)*16))
++#define  NV10TCL_CLIP_PLANE_C__SIZE							0x00000008
++#define  NV10TCL_CLIP_PLANE_D(x)							(0x0000060c+((x)*16))
++#define  NV10TCL_CLIP_PLANE_D__SIZE							0x00000008
+ #define  NV10TCL_FOG_EQUATION_CONSTANT							0x00000680
+ #define  NV10TCL_FOG_EQUATION_LINEAR							0x00000684
+ #define  NV10TCL_FOG_EQUATION_QUADRATIC							0x00000688
+@@ -3126,6 +3122,70 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #define   NV10TCL_VTXFMT_STRIDE_SHIFT							8
+ #define   NV10TCL_VTXFMT_STRIDE_MASK							0x0000ff00
+ #define   NV10TCL_VTXFMT_POS_HOMOGENEOUS						(1 << 24)
++#define  NV10TCL_VERTEX_ARRAY_OFFSET_POS						0x00000d00
++#define  NV10TCL_VERTEX_ARRAY_FORMAT_POS						0x00000d04
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_POS_TYPE_SHIFT					0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_POS_TYPE_MASK					0x0000000f
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_POS_FIELDS_SHIFT					4
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_POS_FIELDS_MASK					0x000000f0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_POS_STRIDE_SHIFT					8
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_POS_STRIDE_MASK					0x0000ff00
++#define  NV10TCL_VERTEX_ARRAY_OFFSET_COL						0x00000d08
++#define  NV10TCL_VERTEX_ARRAY_FORMAT_COL						0x00000d0c
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_COL_TYPE_SHIFT					0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_COL_TYPE_MASK					0x0000000f
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_COL_FIELDS_SHIFT					4
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_COL_FIELDS_MASK					0x000000f0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_COL_STRIDE_SHIFT					8
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_COL_STRIDE_MASK					0x0000ff00
++#define  NV10TCL_VERTEX_ARRAY_OFFSET_COL2						0x00000d10
++#define  NV10TCL_VERTEX_ARRAY_FORMAT_COL2						0x00000d14
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_COL2_TYPE_SHIFT					0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_COL2_TYPE_MASK					0x0000000f
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_COL2_FIELDS_SHIFT					4
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_COL2_FIELDS_MASK					0x000000f0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_COL2_STRIDE_SHIFT					8
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_COL2_STRIDE_MASK					0x0000ff00
++#define  NV10TCL_VERTEX_ARRAY_OFFSET_TX0						0x00000d18
++#define  NV10TCL_VERTEX_ARRAY_FORMAT_TX0						0x00000d1c
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_TX0_TYPE_SHIFT					0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_TX0_TYPE_MASK					0x0000000f
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_TX0_FIELDS_SHIFT					4
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_TX0_FIELDS_MASK					0x000000f0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_TX0_STRIDE_SHIFT					8
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_TX0_STRIDE_MASK					0x0000ff00
++#define  NV10TCL_VERTEX_ARRAY_OFFSET_TX1						0x00000d20
++#define  NV10TCL_VERTEX_ARRAY_FORMAT_TX1						0x00000d24
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_TX1_TYPE_SHIFT					0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_TX1_TYPE_MASK					0x0000000f
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_TX1_FIELDS_SHIFT					4
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_TX1_FIELDS_MASK					0x000000f0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_TX1_STRIDE_SHIFT					8
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_TX1_STRIDE_MASK					0x0000ff00
++#define  NV10TCL_VERTEX_ARRAY_OFFSET_NOR						0x00000d28
++#define  NV10TCL_VERTEX_ARRAY_FORMAT_NOR						0x00000d2c
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_NOR_TYPE_SHIFT					0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_NOR_TYPE_MASK					0x0000000f
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_NOR_FIELDS_SHIFT					4
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_NOR_FIELDS_MASK					0x000000f0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_NOR_STRIDE_SHIFT					8
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_NOR_STRIDE_MASK					0x0000ff00
++#define  NV10TCL_VERTEX_ARRAY_OFFSET_WGH						0x00000d30
++#define  NV10TCL_VERTEX_ARRAY_FORMAT_WGH						0x00000d34
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_WGH_TYPE_SHIFT					0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_WGH_TYPE_MASK					0x0000000f
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_WGH_FIELDS_SHIFT					4
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_WGH_FIELDS_MASK					0x000000f0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_WGH_STRIDE_SHIFT					8
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_WGH_STRIDE_MASK					0x0000ff00
++#define  NV10TCL_VERTEX_ARRAY_OFFSET_FOG						0x00000d38
++#define  NV10TCL_VERTEX_ARRAY_FORMAT_FOG						0x00000d3c
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_FOG_TYPE_SHIFT					0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_FOG_TYPE_MASK					0x0000000f
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_FOG_FIELDS_SHIFT					4
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_FOG_FIELDS_MASK					0x000000f0
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_FOG_STRIDE_SHIFT					8
++#define   NV10TCL_VERTEX_ARRAY_FORMAT_FOG_STRIDE_MASK					0x0000ff00
+ #define  NV10TCL_VERTEX_BEGIN_END							0x00000dfc
+ #define   NV10TCL_VERTEX_BEGIN_END_STOP							0x00000000
+ #define   NV10TCL_VERTEX_BEGIN_END_POINTS						0x00000001
+@@ -3965,38 +4025,38 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #define    NV20TCL_ENABLED_LIGHTS_7_NONPOSITIONAL					0x00004000
+ #define    NV20TCL_ENABLED_LIGHTS_7_POSITIONAL						0x00008000
+ #define    NV20TCL_ENABLED_LIGHTS_7_DIRECTIONAL						0x0000c000
+-#define  NV20TCL_TX_GEN_MODE_S(x)							(0x000003c0+((x)*16))
+-#define  NV20TCL_TX_GEN_MODE_S__SIZE							0x00000004
+-#define   NV20TCL_TX_GEN_MODE_S_FALSE							0x00000000
+-#define   NV20TCL_TX_GEN_MODE_S_EYE_LINEAR						0x00002400
+-#define   NV20TCL_TX_GEN_MODE_S_OBJECT_LINEAR						0x00002401
+-#define   NV20TCL_TX_GEN_MODE_S_SPHERE_MAP						0x00002402
+-#define   NV20TCL_TX_GEN_MODE_S_NORMAL_MAP						0x00008511
+-#define   NV20TCL_TX_GEN_MODE_S_REFLECTION_MAP						0x00008512
+-#define  NV20TCL_TX_GEN_MODE_T(x)							(0x000003c4+((x)*16))
+-#define  NV20TCL_TX_GEN_MODE_T__SIZE							0x00000004
+-#define   NV20TCL_TX_GEN_MODE_T_FALSE							0x00000000
+-#define   NV20TCL_TX_GEN_MODE_T_EYE_LINEAR						0x00002400
+-#define   NV20TCL_TX_GEN_MODE_T_OBJECT_LINEAR						0x00002401
+-#define   NV20TCL_TX_GEN_MODE_T_SPHERE_MAP						0x00002402
+-#define   NV20TCL_TX_GEN_MODE_T_NORMAL_MAP						0x00008511
+-#define   NV20TCL_TX_GEN_MODE_T_REFLECTION_MAP						0x00008512
+-#define  NV20TCL_TX_GEN_MODE_R(x)							(0x000003c8+((x)*16))
+-#define  NV20TCL_TX_GEN_MODE_R__SIZE							0x00000004
+-#define   NV20TCL_TX_GEN_MODE_R_FALSE							0x00000000
+-#define   NV20TCL_TX_GEN_MODE_R_EYE_LINEAR						0x00002400
+-#define   NV20TCL_TX_GEN_MODE_R_OBJECT_LINEAR						0x00002401
+-#define   NV20TCL_TX_GEN_MODE_R_SPHERE_MAP						0x00002402
+-#define   NV20TCL_TX_GEN_MODE_R_NORMAL_MAP						0x00008511
+-#define   NV20TCL_TX_GEN_MODE_R_REFLECTION_MAP						0x00008512
+-#define  NV20TCL_TX_GEN_MODE_Q(x)							(0x000003cc+((x)*16))
+-#define  NV20TCL_TX_GEN_MODE_Q__SIZE							0x00000004
+-#define   NV20TCL_TX_GEN_MODE_Q_FALSE							0x00000000
+-#define   NV20TCL_TX_GEN_MODE_Q_EYE_LINEAR						0x00002400
+-#define   NV20TCL_TX_GEN_MODE_Q_OBJECT_LINEAR						0x00002401
+-#define   NV20TCL_TX_GEN_MODE_Q_SPHERE_MAP						0x00002402
+-#define   NV20TCL_TX_GEN_MODE_Q_NORMAL_MAP						0x00008511
+-#define   NV20TCL_TX_GEN_MODE_Q_REFLECTION_MAP						0x00008512
++#define  NV20TCL_TX_GEN_S(x)								(0x000003c0+((x)*16))
++#define  NV20TCL_TX_GEN_S__SIZE								0x00000004
++#define   NV20TCL_TX_GEN_S_FALSE							0x00000000
++#define   NV20TCL_TX_GEN_S_EYE_LINEAR							0x00002400
++#define   NV20TCL_TX_GEN_S_OBJECT_LINEAR						0x00002401
++#define   NV20TCL_TX_GEN_S_SPHERE_MAP							0x00002402
++#define   NV20TCL_TX_GEN_S_NORMAL_MAP							0x00008511
++#define   NV20TCL_TX_GEN_S_REFLECTION_MAP						0x00008512
++#define  NV20TCL_TX_GEN_T(x)								(0x000003c4+((x)*16))
++#define  NV20TCL_TX_GEN_T__SIZE								0x00000004
++#define   NV20TCL_TX_GEN_T_FALSE							0x00000000
++#define   NV20TCL_TX_GEN_T_EYE_LINEAR							0x00002400
++#define   NV20TCL_TX_GEN_T_OBJECT_LINEAR						0x00002401
++#define   NV20TCL_TX_GEN_T_SPHERE_MAP							0x00002402
++#define   NV20TCL_TX_GEN_T_NORMAL_MAP							0x00008511
++#define   NV20TCL_TX_GEN_T_REFLECTION_MAP						0x00008512
++#define  NV20TCL_TX_GEN_R(x)								(0x000003c8+((x)*16))
++#define  NV20TCL_TX_GEN_R__SIZE								0x00000004
++#define   NV20TCL_TX_GEN_R_FALSE							0x00000000
++#define   NV20TCL_TX_GEN_R_EYE_LINEAR							0x00002400
++#define   NV20TCL_TX_GEN_R_OBJECT_LINEAR						0x00002401
++#define   NV20TCL_TX_GEN_R_SPHERE_MAP							0x00002402
++#define   NV20TCL_TX_GEN_R_NORMAL_MAP							0x00008511
++#define   NV20TCL_TX_GEN_R_REFLECTION_MAP						0x00008512
++#define  NV20TCL_TX_GEN_Q(x)								(0x000003cc+((x)*16))
++#define  NV20TCL_TX_GEN_Q__SIZE								0x00000004
++#define   NV20TCL_TX_GEN_Q_FALSE							0x00000000
++#define   NV20TCL_TX_GEN_Q_EYE_LINEAR							0x00002400
++#define   NV20TCL_TX_GEN_Q_OBJECT_LINEAR						0x00002401
++#define   NV20TCL_TX_GEN_Q_SPHERE_MAP							0x00002402
++#define   NV20TCL_TX_GEN_Q_NORMAL_MAP							0x00008511
++#define   NV20TCL_TX_GEN_Q_REFLECTION_MAP						0x00008512
+ #define  NV20TCL_TX_MATRIX_ENABLE(x)							(0x00000420+((x)*4))
+ #define  NV20TCL_TX_MATRIX_ENABLE__SIZE							0x00000004
+ #define  NV20TCL_POINT_SIZE								0x0000043c
+@@ -4026,38 +4086,38 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #define  NV20TCL_TX2_MATRIX__SIZE							0x00000010
+ #define  NV20TCL_TX3_MATRIX(x)								(0x00000780+((x)*4))
+ #define  NV20TCL_TX3_MATRIX__SIZE							0x00000010
+-#define  NV20TCL_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_TX0_CLIP_PLANE_A(x)							(0x00000840+((x)*16))
++#define  NV20TCL_TX0_CLIP_PLANE_A__SIZE							0x00000004
++#define  NV20TCL_TX0_CLIP_PLANE_B(x)							(0x00000844+((x)*16))
++#define  NV20TCL_TX0_CLIP_PLANE_B__SIZE							0x00000004
++#define  NV20TCL_TX0_CLIP_PLANE_C(x)							(0x00000848+((x)*16))
++#define  NV20TCL_TX0_CLIP_PLANE_C__SIZE							0x00000004
++#define  NV20TCL_TX0_CLIP_PLANE_D(x)							(0x0000084c+((x)*16))
++#define  NV20TCL_TX0_CLIP_PLANE_D__SIZE							0x00000004
++#define  NV20TCL_TX1_CLIP_PLANE_A(x)							(0x00000880+((x)*16))
++#define  NV20TCL_TX1_CLIP_PLANE_A__SIZE							0x00000004
++#define  NV20TCL_TX1_CLIP_PLANE_B(x)							(0x00000884+((x)*16))
++#define  NV20TCL_TX1_CLIP_PLANE_B__SIZE							0x00000004
++#define  NV20TCL_TX1_CLIP_PLANE_C(x)							(0x00000888+((x)*16))
++#define  NV20TCL_TX1_CLIP_PLANE_C__SIZE							0x00000004
++#define  NV20TCL_TX1_CLIP_PLANE_D(x)							(0x0000088c+((x)*16))
++#define  NV20TCL_TX1_CLIP_PLANE_D__SIZE							0x00000004
++#define  NV20TCL_TX2_CLIP_PLANE_A(x)							(0x000008c0+((x)*16))
++#define  NV20TCL_TX2_CLIP_PLANE_A__SIZE							0x00000004
++#define  NV20TCL_TX2_CLIP_PLANE_B(x)							(0x000008c4+((x)*16))
++#define  NV20TCL_TX2_CLIP_PLANE_B__SIZE							0x00000004
++#define  NV20TCL_TX2_CLIP_PLANE_C(x)							(0x000008c8+((x)*16))
++#define  NV20TCL_TX2_CLIP_PLANE_C__SIZE							0x00000004
++#define  NV20TCL_TX2_CLIP_PLANE_D(x)							(0x000008cc+((x)*16))
++#define  NV20TCL_TX2_CLIP_PLANE_D__SIZE							0x00000004
++#define  NV20TCL_TX3_CLIP_PLANE_A(x)							(0x00000900+((x)*16))
++#define  NV20TCL_TX3_CLIP_PLANE_A__SIZE							0x00000004
++#define  NV20TCL_TX3_CLIP_PLANE_B(x)							(0x00000904+((x)*16))
++#define  NV20TCL_TX3_CLIP_PLANE_B__SIZE							0x00000004
++#define  NV20TCL_TX3_CLIP_PLANE_C(x)							(0x00000908+((x)*16))
++#define  NV20TCL_TX3_CLIP_PLANE_C__SIZE							0x00000004
++#define  NV20TCL_TX3_CLIP_PLANE_D(x)							(0x0000090c+((x)*16))
++#define  NV20TCL_TX3_CLIP_PLANE_D__SIZE							0x00000004
+ #define  NV20TCL_FOG_EQUATION_CONSTANT							0x000009c0
+ #define  NV20TCL_FOG_EQUATION_LINEAR							0x000009c4
+ #define  NV20TCL_FOG_EQUATION_QUADRATIC							0x000009c8
+@@ -4286,17 +4346,17 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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(x)						(0x00000c0c+((x)*128))
+ #define  NV20TCL_LIGHT_BACK_DIFFUSE_R__SIZE						0x00000008
+-#define  NV20TCL_LIGHT_BACK_DIFFUSE_G(x)						(0x00000c10+((x)*64))
++#define  NV20TCL_LIGHT_BACK_DIFFUSE_G(x)						(0x00000c10+((x)*128))
+ #define  NV20TCL_LIGHT_BACK_DIFFUSE_G__SIZE						0x00000008
+-#define  NV20TCL_LIGHT_BACK_DIFFUSE_B(x)						(0x00000c14+((x)*64))
++#define  NV20TCL_LIGHT_BACK_DIFFUSE_B(x)						(0x00000c14+((x)*128))
+ #define  NV20TCL_LIGHT_BACK_DIFFUSE_B__SIZE						0x00000008
+-#define  NV20TCL_LIGHT_BACK_SPECULAR_R(x)						(0x00000c18+((x)*64))
++#define  NV20TCL_LIGHT_BACK_SPECULAR_R(x)						(0x00000c18+((x)*128))
+ #define  NV20TCL_LIGHT_BACK_SPECULAR_R__SIZE						0x00000008
+-#define  NV20TCL_LIGHT_BACK_SPECULAR_G(x)						(0x00000c1c+((x)*64))
++#define  NV20TCL_LIGHT_BACK_SPECULAR_G(x)						(0x00000c1c+((x)*128))
+ #define  NV20TCL_LIGHT_BACK_SPECULAR_G__SIZE						0x00000008
+-#define  NV20TCL_LIGHT_BACK_SPECULAR_B(x)						(0x00000c20+((x)*64))
++#define  NV20TCL_LIGHT_BACK_SPECULAR_B(x)						(0x00000c20+((x)*128))
+ #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
+@@ -4641,6 +4701,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #define    NV20TCL_TX_FORMAT_FORMAT_L8							0x00000000
+ #define    NV20TCL_TX_FORMAT_FORMAT_A8							0x00000100
+ #define    NV20TCL_TX_FORMAT_FORMAT_A1R5G5B5						0x00000200
++#define    NV20TCL_TX_FORMAT_FORMAT_A8_RECT						0x00000300
+ #define    NV20TCL_TX_FORMAT_FORMAT_A4R4G4B4						0x00000400
+ #define    NV20TCL_TX_FORMAT_FORMAT_R5G6B5						0x00000500
+ #define    NV20TCL_TX_FORMAT_FORMAT_A8R8G8B8						0x00000600
+@@ -4653,21 +4714,20 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_A8_RECT2						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_L8A8_RECT						0x00002000
++#define    NV20TCL_TX_FORMAT_FORMAT_DSDT						0x00002800
++#define    NV20TCL_TX_FORMAT_FORMAT_A16							0x00003200
+ #define    NV20TCL_TX_FORMAT_FORMAT_HILO16						0x00003300
++#define    NV20TCL_TX_FORMAT_FORMAT_A16_RECT						0x00003500
+ #define    NV20TCL_TX_FORMAT_FORMAT_HILO16_RECT						0x00003600
+ #define    NV20TCL_TX_FORMAT_FORMAT_HILO8						0x00004400
+ #define    NV20TCL_TX_FORMAT_FORMAT_SIGNED_HILO8					0x00004500
+ #define    NV20TCL_TX_FORMAT_FORMAT_HILO8_RECT						0x00004600
+ #define    NV20TCL_TX_FORMAT_FORMAT_SIGNED_HILO8_RECT					0x00004700
+-#define    NV20TCL_TX_FORMAT_FORMAT_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
+@@ -4714,10 +4774,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_SWIZZLE(x)								(0x00001b10+((x)*64))
++#define  NV20TCL_TX_SWIZZLE__SIZE							0x00000004
++#define   NV20TCL_TX_SWIZZLE_RECT_PITCH_SHIFT						16
++#define   NV20TCL_TX_SWIZZLE_RECT_PITCH_MASK						0xffff0000
+ #define  NV20TCL_TX_FILTER(x)								(0x00001b14+((x)*64))
+ #define  NV20TCL_TX_FILTER__SIZE							0x00000004
+ #define   NV20TCL_TX_FILTER_LOD_BIAS_SHIFT						8
+@@ -5157,49 +5217,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_ENABLE							0x00000328
++#define  NV34TCL_STENCIL_BACK_MASK							0x0000032c
++#define  NV34TCL_STENCIL_BACK_FUNC_FUNC							0x00000330
+ #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_NEVER						0x00000200
+ #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_LESS						0x00000201
+ #define   NV34TCL_STENCIL_BACK_FUNC_FUNC_EQUAL						0x00000202
+@@ -5208,9 +5228,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_FUNC_REF							0x00000334
++#define  NV34TCL_STENCIL_BACK_FUNC_MASK							0x00000338
++#define  NV34TCL_STENCIL_BACK_OP_FAIL							0x0000033c
+ #define   NV34TCL_STENCIL_BACK_OP_FAIL_ZERO						0x00000000
+ #define   NV34TCL_STENCIL_BACK_OP_FAIL_INVERT						0x0000150a
+ #define   NV34TCL_STENCIL_BACK_OP_FAIL_KEEP						0x00001e00
+@@ -5219,7 +5239,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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							0x00000340
+ #define   NV34TCL_STENCIL_BACK_OP_ZFAIL_ZERO						0x00000000
+ #define   NV34TCL_STENCIL_BACK_OP_ZFAIL_INVERT						0x0000150a
+ #define   NV34TCL_STENCIL_BACK_OP_ZFAIL_KEEP						0x00001e00
+@@ -5228,7 +5248,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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							0x00000344
+ #define   NV34TCL_STENCIL_BACK_OP_ZPASS_ZERO						0x00000000
+ #define   NV34TCL_STENCIL_BACK_OP_ZPASS_INVERT						0x0000150a
+ #define   NV34TCL_STENCIL_BACK_OP_ZPASS_KEEP						0x00001e00
+@@ -5237,6 +5257,46 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_STENCIL_FRONT_ENABLE							0x00000348
++#define  NV34TCL_STENCIL_FRONT_MASK							0x0000034c
++#define  NV34TCL_STENCIL_FRONT_FUNC_FUNC						0x00000350
++#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							0x00000354
++#define  NV34TCL_STENCIL_FRONT_FUNC_MASK						0x00000358
++#define  NV34TCL_STENCIL_FRONT_OP_FAIL							0x0000035c
++#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							0x00000360
++#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							0x00000364
++#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_SHADE_MODEL								0x00000368
+ #define   NV34TCL_SHADE_MODEL_FLAT							0x00001d00
+ #define   NV34TCL_SHADE_MODEL_SMOOTH							0x00001d01
+@@ -6156,6 +6216,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_VP_CLIP_PLANES_ENABLE_PLANE6						(1 << 25)
++#define   NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE7						(1 << 29)
+ #define  NV34TCL_POLYGON_STIPPLE_ENABLE							0x0000147c
+ #define  NV34TCL_POLYGON_STIPPLE_PATTERN(x)						(0x00001480+((x)*4))
+ #define  NV34TCL_POLYGON_STIPPLE_PATTERN__SIZE						0x00000020
+@@ -6257,7 +6319,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_TX_PALETTE_OFFSET__SIZE						0x00000004
+ #define  NV34TCL_VTX_ATTR_2F_X(x)							(0x00001880+((x)*8))
+ #define  NV34TCL_VTX_ATTR_2F_X__SIZE							0x00000010
+ #define  NV34TCL_VTX_ATTR_2F_Y(x)							(0x00001884+((x)*8))
+@@ -6291,9 +6353,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_OFFSET__SIZE							0x00000004
+ #define  NV34TCL_TX_FORMAT(x)								(0x00001a04+((x)*32))
+-#define  NV34TCL_TX_FORMAT__SIZE							0x00000008
++#define  NV34TCL_TX_FORMAT__SIZE							0x00000004
+ #define   NV34TCL_TX_FORMAT_DMA0							(1 <<  0)
+ #define   NV34TCL_TX_FORMAT_DMA1							(1 <<  1)
+ #define   NV34TCL_TX_FORMAT_CUBIC							(1 <<  2)
+@@ -6308,6 +6370,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_A8_RECT						0x00000300
+ #define    NV34TCL_TX_FORMAT_FORMAT_A4R4G4B4						0x00000400
+ #define    NV34TCL_TX_FORMAT_FORMAT_R5G6B5						0x00000500
+ #define    NV34TCL_TX_FORMAT_FORMAT_A8R8G8B8						0x00000600
+@@ -6320,21 +6383,20 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #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_A8_RECT2						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_L8A8_RECT						0x00002000
++#define    NV34TCL_TX_FORMAT_FORMAT_DSDT						0x00002800
++#define    NV34TCL_TX_FORMAT_FORMAT_A16							0x00003200
+ #define    NV34TCL_TX_FORMAT_FORMAT_HILO16						0x00003300
++#define    NV34TCL_TX_FORMAT_FORMAT_A16_RECT						0x00003500
+ #define    NV34TCL_TX_FORMAT_FORMAT_HILO16_RECT						0x00003600
+ #define    NV34TCL_TX_FORMAT_FORMAT_HILO8						0x00004400
+ #define    NV34TCL_TX_FORMAT_FORMAT_SIGNED_HILO8					0x00004500
+ #define    NV34TCL_TX_FORMAT_FORMAT_HILO8_RECT						0x00004600


Reply to: