[Nouveau] [PATCH 1/2] nv50: regenerate rnndb headers

Ilia Mirkin imirkin at alum.mit.edu
Tue Dec 30 19:42:46 PST 2014


The headers hadn't been regenerated in a long time, and there were a few
minor divergences. Among other things, rnndb has changed naming to
G80/etc, for now I've not tackled switching that over and manually
replaced the nvidia codenames back to the chip ids. However no other
modifications of the headergen'd headers was done.

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
 src/gallium/drivers/nouveau/nv50/nv50_2d.xml.h     | 133 +++---
 src/gallium/drivers/nouveau/nv50/nv50_3d.xml.h     | 449 +++++++++++----------
 src/gallium/drivers/nouveau/nv50/nv50_3ddefs.xml.h |  55 ++-
 src/gallium/drivers/nouveau/nv50/nv50_defs.xml.h   |  94 ++++-
 src/gallium/drivers/nouveau/nv50/nv50_formats.c    |  12 +-
 src/gallium/drivers/nouveau/nv50/nv50_program.c    |   2 +-
 src/gallium/drivers/nouveau/nv50/nv50_state.c      |   4 +-
 .../drivers/nouveau/nv50/nv50_state_validate.c     |   2 +-
 src/gallium/drivers/nouveau/nv50/nv50_surface.c    |   4 +-
 .../drivers/nouveau/nv50/nv50_texture.xml.h        |  52 +--
 .../drivers/nouveau/nvc0/nvc0_state_validate.c     |   2 +-
 11 files changed, 451 insertions(+), 358 deletions(-)

diff --git a/src/gallium/drivers/nouveau/nv50/nv50_2d.xml.h b/src/gallium/drivers/nouveau/nv50/nv50_2d.xml.h
index dfbef2c..899d73d 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_2d.xml.h
+++ b/src/gallium/drivers/nouveau/nv50/nv50_2d.xml.h
@@ -1,21 +1,21 @@
-#ifndef RNNDB_NV50_2D_XML
-#define RNNDB_NV50_2D_XML
+#ifndef NV50_2D_XML
+#define NV50_2D_XML
 
 /* Autogenerated file, DO NOT EDIT manually!
 
 This file was generated by the rules-ng-ng headergen tool in this git repository:
-http://0x04.net/cgit/index.cgi/rules-ng-ng
-git clone git://0x04.net/rules-ng-ng
+http://github.com/envytools/envytools/
+git clone https://github.com/envytools/envytools.git
 
 The rules-ng-ng source files this header was generated from are:
-- rnndb/nv50_2d.xml      (  11113 bytes, from 2011-07-09 13:43:58)
-- ./rnndb/copyright.xml  (   6452 bytes, from 2011-07-09 13:43:58)
-- ./rnndb/nv_object.xml  (  12912 bytes, from 2012-07-12 09:41:09)
-- ./rnndb/nvchipsets.xml (   3736 bytes, from 2012-07-12 09:41:09)
-- ./rnndb/nv_defs.xml    (   4437 bytes, from 2011-07-09 13:43:58)
-- ./rnndb/nv50_defs.xml  (   5468 bytes, from 2011-07-09 13:43:58)
-
-Copyright (C) 2006-2011 by the following authors:
+- rnndb/graph/g80_2d.xml   (  11440 bytes, from 2014-09-25 06:32:11)
+- rnndb/copyright.xml      (   6452 bytes, from 2013-05-14 03:57:49)
+- rnndb/fifo/nv_object.xml (  15326 bytes, from 2014-09-25 06:32:11)
+- rnndb/nvchipsets.xml     (   2759 bytes, from 2014-10-05 01:51:02)
+- rnndb/g80_defs.xml       (  18175 bytes, from 2014-09-25 06:32:11)
+- rnndb/nv_defs.xml        (   4399 bytes, from 2013-09-07 03:32:45)
+
+Copyright (C) 2006-2014 by the following authors:
 - Artur Huillet <arthur.huillet at free.fr> (ahuillet)
 - Ben Skeggs (darktama, darktama_)
 - B. R. <koala_br at users.sourceforge.net> (koala_br)
@@ -82,7 +82,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_2D_DMA_SRC						0x00000188
 
-#define NV50_2D_DMA_COND					0x0000018c
+#define NV50_2D_DMA_COND						0x0000018c
 
 #define NV50_2D_DST_FORMAT					0x00000200
 
@@ -100,7 +100,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_2D_DST_HEIGHT					0x0000021c
 
-#define NV50_2D_DST_ADDRESS_HIGH				0x00000220
+#define NV50_2D_DST_ADDRESS_HIGH					0x00000220
 
 #define NV50_2D_DST_ADDRESS_LOW					0x00000224
 
@@ -108,6 +108,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_2D_UNK228						0x00000228
 
+#define NVC0_2D_UNK22C						0x0000022c
+
 #define NV50_2D_SRC_FORMAT					0x00000230
 
 #define NV50_2D_SRC_LINEAR					0x00000234
@@ -118,7 +120,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_2D_SRC_LAYER					0x00000240
 
-#define NVC0_2D_UNK0240						0x00000240
+#define NVC0_2D_UNK0240					0x00000240
 
 #define NV50_2D_SRC_PITCH					0x00000244
 #define NV50_2D_SRC_PITCH__MAX					0x00040000
@@ -129,25 +131,33 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_2D_SRC_HEIGHT					0x0000024c
 #define NV50_2D_SRC_HEIGHT__MAX					0x00010000
 
-#define NV50_2D_SRC_ADDRESS_HIGH				0x00000250
+#define NV50_2D_SRC_ADDRESS_HIGH					0x00000250
 
 #define NV50_2D_SRC_ADDRESS_LOW					0x00000254
 
 #define NV50_2D_UNK258						0x00000258
 
+#define NVC0_2D_UNK25C						0x0000025c
+
 #define NV50_2D_UNK260						0x00000260
 
+#define NVC0_2D_SINGLE_GPC					0x00000260
+
 #define NV50_2D_COND_ADDRESS_HIGH				0x00000264
 
-#define NV50_2D_COND_ADDRESS_LOW				0x00000268
+#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_ALWAYS					0x00000001
 #define NV50_2D_COND_MODE_RES_NON_ZERO				0x00000002
 #define NV50_2D_COND_MODE_EQUAL					0x00000003
 #define NV50_2D_COND_MODE_NOT_EQUAL				0x00000004
 
+#define NVC0_2D_UNK0270(i0)				       (0x00000270 + 0x4*(i0))
+#define NVC0_2D_UNK0270__ESIZE					0x00000004
+#define NVC0_2D_UNK0270__LEN					0x00000004
+
 #define NV50_2D_CLIP_X						0x00000280
 
 #define NV50_2D_CLIP_Y						0x00000284
@@ -158,7 +168,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_2D_CLIP_ENABLE					0x00000290
 
-#define NV50_2D_COLOR_KEY_FORMAT				0x00000294
+#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
@@ -169,7 +179,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_2D_COLOR_KEY					0x00000298
 
-#define NV50_2D_COLOR_KEY_ENABLE				0x0000029c
+#define NV50_2D_COLOR_KEY_ENABLE					0x0000029c
 
 #define NV50_2D_ROP						0x000002a0
 
@@ -203,31 +213,36 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_2D_PATTERN_OFFSET_Y__SHIFT				8
 
 #define NV50_2D_PATTERN_SELECT					0x000002b4
-#define NV50_2D_PATTERN_SELECT_MONO_8X8				0x00000000
-#define NV50_2D_PATTERN_SELECT_MONO_64X1			0x00000001
-#define NV50_2D_PATTERN_SELECT_MONO_1X64			0x00000002
+#define NV50_2D_PATTERN_SELECT_BITMAP_8X8			0x00000000
+#define NV50_2D_PATTERN_SELECT_BITMAP_64X1			0x00000001
+#define NV50_2D_PATTERN_SELECT_BITMAP_1X64			0x00000002
 #define NV50_2D_PATTERN_SELECT_COLOR				0x00000003
 
+#define NVC0_2D_UNK02B8(i0)				       (0x000002b8 + 0x4*(i0))
+#define NVC0_2D_UNK02B8__ESIZE					0x00000004
+#define NVC0_2D_UNK02B8__LEN					0x00000009
+
 #define NVC0_2D_UNK2DC						0x000002dc
 
 #define NVC0_2D_UNK2E0						0x000002e0
 
+#define NVC0_2D_UNK02E4					0x000002e4
+
 #define NV50_2D_PATTERN_COLOR_FORMAT				0x000002e8
-#define NV50_2D_PATTERN_COLOR_FORMAT_16BPP			0x00000000
-#define NV50_2D_PATTERN_COLOR_FORMAT_15BPP			0x00000001
-#define NV50_2D_PATTERN_COLOR_FORMAT_32BPP			0x00000002
-#define NV50_2D_PATTERN_COLOR_FORMAT_8BPP			0x00000003
+#define NV50_2D_PATTERN_COLOR_FORMAT_A16R5G6B5			0x00000000
+#define NV50_2D_PATTERN_COLOR_FORMAT_X16A1R5G5B5			0x00000001
+#define NV50_2D_PATTERN_COLOR_FORMAT_A8R8G8B8			0x00000002
+#define NV50_2D_PATTERN_COLOR_FORMAT_X16A8Y8			0x00000003
 #define NV50_2D_PATTERN_COLOR_FORMAT_UNK4			0x00000004
 #define NV50_2D_PATTERN_COLOR_FORMAT_UNK5			0x00000005
-#define NV50_2D_PATTERN_COLOR_FORMAT_UNK6			0x00000006
 
-#define NV50_2D_PATTERN_MONO_FORMAT				0x000002ec
-#define NV50_2D_PATTERN_MONO_FORMAT_CGA6			0x00000000
-#define NV50_2D_PATTERN_MONO_FORMAT_LE				0x00000001
+#define NV50_2D_PATTERN_BITMAP_FORMAT				0x000002ec
+#define NV50_2D_PATTERN_BITMAP_FORMAT_CGA6			0x00000000
+#define NV50_2D_PATTERN_BITMAP_FORMAT_LE				0x00000001
 
-#define NV50_2D_PATTERN_COLOR(i0)			       (0x000002f0 + 0x4*(i0))
-#define NV50_2D_PATTERN_COLOR__ESIZE				0x00000004
-#define NV50_2D_PATTERN_COLOR__LEN				0x00000002
+#define NV50_2D_PATTERN_BITMAP_COLOR(i0)			       (0x000002f0 + 0x4*(i0))
+#define NV50_2D_PATTERN_BITMAP_COLOR__ESIZE			0x00000004
+#define NV50_2D_PATTERN_BITMAP_COLOR__LEN			0x00000002
 
 #define NV50_2D_PATTERN_BITMAP(i0)			       (0x000002f8 + 0x4*(i0))
 #define NV50_2D_PATTERN_BITMAP__ESIZE				0x00000004
@@ -236,28 +251,28 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_2D_PATTERN_X8R8G8B8(i0)			       (0x00000300 + 0x4*(i0))
 #define NV50_2D_PATTERN_X8R8G8B8__ESIZE				0x00000004
 #define NV50_2D_PATTERN_X8R8G8B8__LEN				0x00000040
-#define NV50_2D_PATTERN_X8R8G8B8_B__MASK			0x000000ff
+#define NV50_2D_PATTERN_X8R8G8B8_B__MASK				0x000000ff
 #define NV50_2D_PATTERN_X8R8G8B8_B__SHIFT			0
-#define NV50_2D_PATTERN_X8R8G8B8_G__MASK			0x0000ff00
+#define NV50_2D_PATTERN_X8R8G8B8_G__MASK				0x0000ff00
 #define NV50_2D_PATTERN_X8R8G8B8_G__SHIFT			8
-#define NV50_2D_PATTERN_X8R8G8B8_R__MASK			0x00ff0000
+#define NV50_2D_PATTERN_X8R8G8B8_R__MASK				0x00ff0000
 #define NV50_2D_PATTERN_X8R8G8B8_R__SHIFT			16
 
 #define NV50_2D_PATTERN_R5G6B5(i0)			       (0x00000400 + 0x4*(i0))
 #define NV50_2D_PATTERN_R5G6B5__ESIZE				0x00000004
 #define NV50_2D_PATTERN_R5G6B5__LEN				0x00000020
 #define NV50_2D_PATTERN_R5G6B5_B0__MASK				0x0000001f
-#define NV50_2D_PATTERN_R5G6B5_B0__SHIFT			0
+#define NV50_2D_PATTERN_R5G6B5_B0__SHIFT				0
 #define NV50_2D_PATTERN_R5G6B5_G0__MASK				0x000007e0
-#define NV50_2D_PATTERN_R5G6B5_G0__SHIFT			5
+#define NV50_2D_PATTERN_R5G6B5_G0__SHIFT				5
 #define NV50_2D_PATTERN_R5G6B5_R0__MASK				0x0000f800
-#define NV50_2D_PATTERN_R5G6B5_R0__SHIFT			11
+#define NV50_2D_PATTERN_R5G6B5_R0__SHIFT				11
 #define NV50_2D_PATTERN_R5G6B5_B1__MASK				0x001f0000
-#define NV50_2D_PATTERN_R5G6B5_B1__SHIFT			16
+#define NV50_2D_PATTERN_R5G6B5_B1__SHIFT				16
 #define NV50_2D_PATTERN_R5G6B5_G1__MASK				0x07e00000
-#define NV50_2D_PATTERN_R5G6B5_G1__SHIFT			21
+#define NV50_2D_PATTERN_R5G6B5_G1__SHIFT				21
 #define NV50_2D_PATTERN_R5G6B5_R1__MASK				0xf8000000
-#define NV50_2D_PATTERN_R5G6B5_R1__SHIFT			27
+#define NV50_2D_PATTERN_R5G6B5_R1__SHIFT				27
 
 #define NV50_2D_PATTERN_X1R5G5B5(i0)			       (0x00000480 + 0x4*(i0))
 #define NV50_2D_PATTERN_X1R5G5B5__ESIZE				0x00000004
@@ -293,7 +308,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #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_LINES					0x00000001
 #define NV50_2D_DRAW_SHAPE_LINE_STRIP				0x00000002
 #define NV50_2D_DRAW_SHAPE_TRIANGLES				0x00000003
 #define NV50_2D_DRAW_SHAPE_RECTANGLES				0x00000004
@@ -303,10 +318,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_2D_DRAW_COLOR					0x00000588
 
 #define NV50_2D_UNK58C						0x0000058c
-#define NV50_2D_UNK58C_0					0x00000001
-#define NV50_2D_UNK58C_1					0x00000010
-#define NV50_2D_UNK58C_2					0x00000100
-#define NV50_2D_UNK58C_3					0x00001000
+#define NV50_2D_UNK58C_0						0x00000001
+#define NV50_2D_UNK58C_1						0x00000010
+#define NV50_2D_UNK58C_2						0x00000100
+#define NV50_2D_UNK58C_3						0x00001000
 
 #define NV50_2D_DRAW_POINT16					0x000005e0
 #define NV50_2D_DRAW_POINT16_X__MASK				0x0000ffff
@@ -348,19 +363,19 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_2D_SIFC_HEIGHT					0x0000083c
 
-#define NV50_2D_SIFC_DX_DU_FRACT				0x00000840
+#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_FRACT					0x00000848
 
 #define NV50_2D_SIFC_DY_DV_INT					0x0000084c
 
-#define NV50_2D_SIFC_DST_X_FRACT				0x00000850
+#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_FRACT					0x00000858
 
 #define NV50_2D_SIFC_DST_Y_INT					0x0000085c
 
@@ -381,7 +396,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_2D_BLIT_CONTROL_ORIGIN_CORNER			0x00000001
 #define NV50_2D_BLIT_CONTROL_FILTER__MASK			0x00000010
 #define NV50_2D_BLIT_CONTROL_FILTER__SHIFT			4
-#define NV50_2D_BLIT_CONTROL_FILTER_POINT_SAMPLE		0x00000000
+#define NV50_2D_BLIT_CONTROL_FILTER_POINT_SAMPLE			0x00000000
 #define NV50_2D_BLIT_CONTROL_FILTER_BILINEAR			0x00000010
 
 #define NV50_2D_BLIT_DST_X					0x000008b0
@@ -392,25 +407,25 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_2D_BLIT_DST_H					0x000008bc
 
-#define NV50_2D_BLIT_DU_DX_FRACT				0x000008c0
+#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_FRACT					0x000008c8
 
 #define NV50_2D_BLIT_DV_DY_INT					0x000008cc
 
-#define NV50_2D_BLIT_SRC_X_FRACT				0x000008d0
+#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_FRACT					0x000008d8
 
 #define NV50_2D_BLIT_SRC_Y_INT					0x000008dc
 
 #define NVC0_2D_FIRMWARE(i0)				       (0x000008e0 + 0x4*(i0))
-#define NVC0_2D_FIRMWARE__ESIZE					0x00000004
+#define NVC0_2D_FIRMWARE__ESIZE				0x00000004
 #define NVC0_2D_FIRMWARE__LEN					0x00000020
 
 
-#endif /* RNNDB_NV50_2D_XML */
+#endif /* NV50_2D_XML */
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_3d.xml.h b/src/gallium/drivers/nouveau/nv50/nv50_3d.xml.h
index 711445f..4863440 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_3d.xml.h
+++ b/src/gallium/drivers/nouveau/nv50/nv50_3d.xml.h
@@ -1,22 +1,22 @@
-#ifndef RNNDB_NV50_3D_XML
-#define RNNDB_NV50_3D_XML
+#ifndef NV50_3D_XML
+#define NV50_3D_XML
 
 /* Autogenerated file, DO NOT EDIT manually!
 
 This file was generated by the rules-ng-ng headergen tool in this git repository:
-http://0x04.net/cgit/index.cgi/rules-ng-ng
-git clone git://0x04.net/rules-ng-ng
+http://github.com/envytools/envytools/
+git clone https://github.com/envytools/envytools.git
 
 The rules-ng-ng source files this header was generated from are:
-- rnndb/nv50_3d.xml      (  65226 bytes, from 2012-01-28 13:46:30)
-- ./rnndb/copyright.xml  (   6452 bytes, from 2011-08-11 18:25:12)
-- ./rnndb/nv_defs.xml    (   4437 bytes, from 2011-08-11 18:25:12)
-- ./rnndb/nv50_defs.xml  (   5468 bytes, from 2011-08-11 18:25:12)
-- ./rnndb/nvchipsets.xml (   3617 bytes, from 2011-08-11 18:25:12)
-- ./rnndb/nv_3ddefs.xml  (  16394 bytes, from 2011-08-11 18:25:12)
-- ./rnndb/nv_object.xml  (  12672 bytes, from 2011-08-11 18:25:12)
-
-Copyright (C) 2006-2012 by the following authors:
+- rnndb/graph/g80_3d.xml    (  65900 bytes, from 2014-09-25 06:32:11)
+- rnndb/copyright.xml       (   6452 bytes, from 2013-05-14 03:57:49)
+- rnndb/nv_defs.xml         (   4399 bytes, from 2013-09-07 03:32:45)
+- rnndb/g80_defs.xml        (  18175 bytes, from 2014-09-25 06:32:11)
+- rnndb/nvchipsets.xml      (   2759 bytes, from 2014-10-05 01:51:02)
+- rnndb/graph/nv_3ddefs.xml (  16390 bytes, from 2014-09-25 06:32:11)
+- rnndb/fifo/nv_object.xml  (  15326 bytes, from 2014-09-25 06:32:11)
+
+Copyright (C) 2006-2014 by the following authors:
 - Artur Huillet <arthur.huillet at free.fr> (ahuillet)
 - Ben Skeggs (darktama, darktama_)
 - B. R. <koala_br at users.sourceforge.net> (koala_br)
@@ -78,7 +78,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_DMA_NOTIFY					0x00000180
 
-#define NV50_3D_DMA_ZETA					0x00000184
+#define NV50_3D_DMA_ZETA						0x00000184
 
 #define NV50_3D_DMA_QUERY					0x00000188
 
@@ -101,7 +101,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_DMA_CLIPID					0x000001ac
 
 #define NV50_3D_DMA_COLOR(i0)				       (0x000001c0 + 0x4*(i0))
-#define NV50_3D_DMA_COLOR__ESIZE				0x00000004
+#define NV50_3D_DMA_COLOR__ESIZE					0x00000004
 #define NV50_3D_DMA_COLOR__LEN					0x00000008
 
 #define NV50_3D_RT(i0)					       (0x00000200 + 0x20*(i0))
@@ -114,7 +114,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_RT_FORMAT(i0)				       (0x00000208 + 0x20*(i0))
 
-#define NV50_3D_RT_TILE_MODE(i0)			       (0x0000020c + 0x20*(i0))
+#define NV50_3D_RT_TILE_MODE(i0)				       (0x0000020c + 0x20*(i0))
 #define NV50_3D_RT_TILE_MODE_X__MASK				0x0000000f
 #define NV50_3D_RT_TILE_MODE_X__SHIFT				0
 #define NV50_3D_RT_TILE_MODE_Y__MASK				0x000000f0
@@ -129,11 +129,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_VTX_ATTR_1F(i0)				       (0x00000300 + 0x4*(i0))
 #define NV50_3D_VTX_ATTR_1F__ESIZE				0x00000004
-#define NV50_3D_VTX_ATTR_1F__LEN				0x00000010
+#define NV50_3D_VTX_ATTR_1F__LEN					0x00000010
 
 #define NV50_3D_VTX_ATTR_2H(i0)				       (0x00000340 + 0x4*(i0))
 #define NV50_3D_VTX_ATTR_2H__ESIZE				0x00000004
-#define NV50_3D_VTX_ATTR_2H__LEN				0x00000010
+#define NV50_3D_VTX_ATTR_2H__LEN					0x00000010
 #define NV50_3D_VTX_ATTR_2H_X__MASK				0x0000ffff
 #define NV50_3D_VTX_ATTR_2H_X__SHIFT				0
 #define NV50_3D_VTX_ATTR_2H_Y__MASK				0xffff0000
@@ -193,13 +193,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_VTX_ATTR_2I(i0)				       (0x00000680 + 0x4*(i0))
 #define NV50_3D_VTX_ATTR_2I__ESIZE				0x00000004
-#define NV50_3D_VTX_ATTR_2I__LEN				0x00000010
+#define NV50_3D_VTX_ATTR_2I__LEN					0x00000010
 #define NV50_3D_VTX_ATTR_2I_X__MASK				0x0000ffff
 #define NV50_3D_VTX_ATTR_2I_X__SHIFT				0
 #define NV50_3D_VTX_ATTR_2I_Y__MASK				0xffff0000
 #define NV50_3D_VTX_ATTR_2I_Y__SHIFT				16
 
-#define NV50_3D_VTX_ATTR_2NI(i0)			       (0x000006c0 + 0x4*(i0))
+#define NV50_3D_VTX_ATTR_2NI(i0)				       (0x000006c0 + 0x4*(i0))
 #define NV50_3D_VTX_ATTR_2NI__ESIZE				0x00000004
 #define NV50_3D_VTX_ATTR_2NI__LEN				0x00000010
 #define NV50_3D_VTX_ATTR_2NI_X__MASK				0x0000ffff
@@ -239,7 +239,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_VTX_ATTR_4NI_1_W__MASK				0xffff0000
 #define NV50_3D_VTX_ATTR_4NI_1_W__SHIFT				16
 
-#define NV50_3D_VTX_ATTR_4UB(i0)			       (0x00000800 + 0x4*(i0))
+#define NV50_3D_VTX_ATTR_4UB(i0)				       (0x00000800 + 0x4*(i0))
 #define NV50_3D_VTX_ATTR_4UB__ESIZE				0x00000004
 #define NV50_3D_VTX_ATTR_4UB__LEN				0x00000010
 #define NV50_3D_VTX_ATTR_4UB_X__MASK				0x000000ff
@@ -253,7 +253,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_VTX_ATTR_4B(i0)				       (0x00000840 + 0x4*(i0))
 #define NV50_3D_VTX_ATTR_4B__ESIZE				0x00000004
-#define NV50_3D_VTX_ATTR_4B__LEN				0x00000010
+#define NV50_3D_VTX_ATTR_4B__LEN					0x00000010
 #define NV50_3D_VTX_ATTR_4B_X__MASK				0x000000ff
 #define NV50_3D_VTX_ATTR_4B_X__SHIFT				0
 #define NV50_3D_VTX_ATTR_4B_Y__MASK				0x0000ff00
@@ -275,7 +275,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_VTX_ATTR_4NUB_W__MASK				0xff000000
 #define NV50_3D_VTX_ATTR_4NUB_W__SHIFT				24
 
-#define NV50_3D_VTX_ATTR_4NB(i0)			       (0x000008c0 + 0x4*(i0))
+#define NV50_3D_VTX_ATTR_4NB(i0)				       (0x000008c0 + 0x4*(i0))
 #define NV50_3D_VTX_ATTR_4NB__ESIZE				0x00000004
 #define NV50_3D_VTX_ATTR_4NB__LEN				0x00000010
 #define NV50_3D_VTX_ATTR_4NB_X__MASK				0x000000ff
@@ -291,7 +291,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_VERTEX_ARRAY_FETCH__ESIZE			0x00000010
 #define NV50_3D_VERTEX_ARRAY_FETCH__LEN				0x00000010
 #define NV50_3D_VERTEX_ARRAY_FETCH_STRIDE__MASK			0x00000fff
-#define NV50_3D_VERTEX_ARRAY_FETCH_STRIDE__SHIFT		0
+#define NV50_3D_VERTEX_ARRAY_FETCH_STRIDE__SHIFT			0
 #define NV50_3D_VERTEX_ARRAY_FETCH_ENABLE			0x20000000
 
 #define NV50_3D_VERTEX_ARRAY_START_HIGH(i0)		       (0x00000904 + 0x10*(i0))
@@ -302,7 +302,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_VERTEX_ARRAY_START_LOW__ESIZE			0x00000010
 #define NV50_3D_VERTEX_ARRAY_START_LOW__LEN			0x00000010
 
-#define NV50_3D_VERTEX_ARRAY_DIVISOR(i0)		       (0x0000090c + 0x10*(i0))
+#define NV50_3D_VERTEX_ARRAY_DIVISOR(i0)			       (0x0000090c + 0x10*(i0))
 #define NV50_3D_VERTEX_ARRAY_DIVISOR__ESIZE			0x00000010
 #define NV50_3D_VERTEX_ARRAY_DIVISOR__LEN			0x00000010
 
@@ -318,15 +318,15 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_VIEWPORT_SCALE_Z__ESIZE				0x00000020
 #define NV50_3D_VIEWPORT_SCALE_Z__LEN				0x00000010
 
-#define NV50_3D_VIEWPORT_TRANSLATE_X(i0)		       (0x00000a0c + 0x20*(i0))
+#define NV50_3D_VIEWPORT_TRANSLATE_X(i0)			       (0x00000a0c + 0x20*(i0))
 #define NV50_3D_VIEWPORT_TRANSLATE_X__ESIZE			0x00000020
 #define NV50_3D_VIEWPORT_TRANSLATE_X__LEN			0x00000010
 
-#define NV50_3D_VIEWPORT_TRANSLATE_Y(i0)		       (0x00000a10 + 0x20*(i0))
+#define NV50_3D_VIEWPORT_TRANSLATE_Y(i0)			       (0x00000a10 + 0x20*(i0))
 #define NV50_3D_VIEWPORT_TRANSLATE_Y__ESIZE			0x00000020
 #define NV50_3D_VIEWPORT_TRANSLATE_Y__LEN			0x00000010
 
-#define NV50_3D_VIEWPORT_TRANSLATE_Z(i0)		       (0x00000a14 + 0x20*(i0))
+#define NV50_3D_VIEWPORT_TRANSLATE_Z(i0)			       (0x00000a14 + 0x20*(i0))
 #define NV50_3D_VIEWPORT_TRANSLATE_Z__ESIZE			0x00000020
 #define NV50_3D_VIEWPORT_TRANSLATE_Z__LEN			0x00000010
 
@@ -365,14 +365,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_CLIP_RECT_VERT(i0)			       (0x00000d04 + 0x8*(i0))
 #define NV50_3D_CLIP_RECT_VERT__ESIZE				0x00000008
 #define NV50_3D_CLIP_RECT_VERT__LEN				0x00000008
-#define NV50_3D_CLIP_RECT_VERT_MIN__MASK			0x0000ffff
+#define NV50_3D_CLIP_RECT_VERT_MIN__MASK				0x0000ffff
 #define NV50_3D_CLIP_RECT_VERT_MIN__SHIFT			0
-#define NV50_3D_CLIP_RECT_VERT_MAX__MASK			0xffff0000
+#define NV50_3D_CLIP_RECT_VERT_MAX__MASK				0xffff0000
 #define NV50_3D_CLIP_RECT_VERT_MAX__SHIFT			16
 
 #define NV50_3D_CLIPID_REGION_HORIZ(i0)			       (0x00000d40 + 0x8*(i0))
 #define NV50_3D_CLIPID_REGION_HORIZ__ESIZE			0x00000008
-#define NV50_3D_CLIPID_REGION_HORIZ__LEN			0x00000004
+#define NV50_3D_CLIPID_REGION_HORIZ__LEN				0x00000004
 #define NV50_3D_CLIPID_REGION_HORIZ_X__MASK			0x0000ffff
 #define NV50_3D_CLIPID_REGION_HORIZ_X__SHIFT			0
 #define NV50_3D_CLIPID_REGION_HORIZ_W__MASK			0xffff0000
@@ -392,24 +392,24 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_COUNTER_ENABLE					0x00000d68
 #define NV50_3D_COUNTER_ENABLE_VFETCH_VERTICES			0x00000001
-#define NV50_3D_COUNTER_ENABLE_VFETCH_PRIMITIVES		0x00000002
+#define NV50_3D_COUNTER_ENABLE_VFETCH_PRIMITIVES			0x00000002
 #define NV50_3D_COUNTER_ENABLE_VP_LAUNCHES			0x00000004
 #define NV50_3D_COUNTER_ENABLE_GP_LAUNCHES			0x00000008
-#define NV50_3D_COUNTER_ENABLE_GP_PRIMITIVES_OUT		0x00000010
+#define NV50_3D_COUNTER_ENABLE_GP_PRIMITIVES_OUT			0x00000010
 #define NV50_3D_COUNTER_ENABLE_TRANSFORM_FEEDBACK		0x00000020
 #define NV50_3D_COUNTER_ENABLE_GENERATED_PRIMITIVES		0x00000040
 #define NV50_3D_COUNTER_ENABLE_RAST_PRIMITIVES_PRECLIP		0x00000080
 #define NV50_3D_COUNTER_ENABLE_RAST_PRIMITIVES_POSTCLIP		0x00000100
-#define NV50_3D_COUNTER_ENABLE_FP_PIXELS			0x00000200
+#define NV50_3D_COUNTER_ENABLE_FP_PIXELS				0x00000200
 #define NV84_3D_COUNTER_ENABLE_UNK0A				0x00000400
 
 #define NV50_3D_UNK0D6C(i0)				       (0x00000d6c + 0x4*(i0))
 #define NV50_3D_UNK0D6C__ESIZE					0x00000004
 #define NV50_3D_UNK0D6C__LEN					0x00000002
 #define NV50_3D_UNK0D6C_X__MASK					0x0000ffff
-#define NV50_3D_UNK0D6C_X__SHIFT				0
+#define NV50_3D_UNK0D6C_X__SHIFT					0
 #define NV50_3D_UNK0D6C_Y__MASK					0xffff0000
-#define NV50_3D_UNK0D6C_Y__SHIFT				16
+#define NV50_3D_UNK0D6C_Y__SHIFT					16
 
 #define NV50_3D_VERTEX_BUFFER_FIRST				0x00000d74
 
@@ -419,7 +419,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_CLEAR_COLOR(i0)				       (0x00000d80 + 0x4*(i0))
 #define NV50_3D_CLEAR_COLOR__ESIZE				0x00000004
-#define NV50_3D_CLEAR_COLOR__LEN				0x00000004
+#define NV50_3D_CLEAR_COLOR__LEN					0x00000004
 
 #define NV50_3D_CLEAR_DEPTH					0x00000d90
 
@@ -436,7 +436,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_STRMOUT_PRIMITIVE_LIMIT				0x00000da8
 
 #define NV50_3D_POLYGON_MODE_FRONT				0x00000dac
-#define NV50_3D_POLYGON_MODE_FRONT_POINT			0x00001b00
+#define NV50_3D_POLYGON_MODE_FRONT_POINT				0x00001b00
 #define NV50_3D_POLYGON_MODE_FRONT_LINE				0x00001b01
 #define NV50_3D_POLYGON_MODE_FRONT_FILL				0x00001b02
 
@@ -467,7 +467,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_VTX_ATTR_MASK_UNK0DD0__LEN			0x00000002
 
 #define NV50_3D_ZCULL_UNK0DD8					0x00000dd8
-#define NV50_3D_ZCULL_UNK0DD8_UNK0__MASK			0x00000007
+#define NV50_3D_ZCULL_UNK0DD8_UNK0__MASK				0x00000007
 #define NV50_3D_ZCULL_UNK0DD8_UNK0__SHIFT			0
 #define NVA3_3D_ZCULL_UNK0DD8_UNK9				0x00000200
 #define NV50_3D_ZCULL_UNK0DD8_UNK16__MASK			0xffff0000
@@ -502,11 +502,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_SCISSOR_HORIZ__ESIZE				0x00000010
 #define NV50_3D_SCISSOR_HORIZ__LEN				0x00000010
 #define NV50_3D_SCISSOR_HORIZ_MIN__MASK				0x0000ffff
-#define NV50_3D_SCISSOR_HORIZ_MIN__SHIFT			0
+#define NV50_3D_SCISSOR_HORIZ_MIN__SHIFT				0
 #define NV50_3D_SCISSOR_HORIZ_MAX__MASK				0xffff0000
-#define NV50_3D_SCISSOR_HORIZ_MAX__SHIFT			16
+#define NV50_3D_SCISSOR_HORIZ_MAX__SHIFT				16
 
-#define NV50_3D_SCISSOR_VERT(i0)			       (0x00000e08 + 0x10*(i0))
+#define NV50_3D_SCISSOR_VERT(i0)				       (0x00000e08 + 0x10*(i0))
 #define NV50_3D_SCISSOR_VERT__ESIZE				0x00000010
 #define NV50_3D_SCISSOR_VERT__LEN				0x00000010
 #define NV50_3D_SCISSOR_VERT_MIN__MASK				0x0000ffff
@@ -515,7 +515,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_SCISSOR_VERT_MAX__SHIFT				16
 
 #define NV50_3D_CB_ADDR						0x00000f00
-#define NV50_3D_CB_ADDR_ID__MASK				0x003fff00
+#define NV50_3D_CB_ADDR_ID__MASK					0x003fff00
 #define NV50_3D_CB_ADDR_ID__SHIFT				8
 #define NV50_3D_CB_ADDR_BUFFER__MASK				0x0000007f
 #define NV50_3D_CB_ADDR_BUFFER__SHIFT				0
@@ -564,7 +564,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_UNK0F98						0x00000f98
 
-#define NV50_3D_DEPTH_BOUNDS(i0)			       (0x00000f9c + 0x4*(i0))
+#define NV50_3D_DEPTH_BOUNDS(i0)				       (0x00000f9c + 0x4*(i0))
 #define NV50_3D_DEPTH_BOUNDS__ESIZE				0x00000004
 #define NV50_3D_DEPTH_BOUNDS__LEN				0x00000002
 
@@ -585,7 +585,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_UNK0FB8						0x00000fb8
 
 #define NV50_3D_MSAA_MASK(i0)				       (0x00000fbc + 0x4*(i0))
-#define NV50_3D_MSAA_MASK__ESIZE				0x00000004
+#define NV50_3D_MSAA_MASK__ESIZE					0x00000004
 #define NV50_3D_MSAA_MASK__LEN					0x00000004
 
 #define NV50_3D_CLIPID_ADDRESS_HIGH				0x00000fcc
@@ -604,7 +604,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_ZETA_ADDRESS_HIGH				0x00000fe0
 
-#define NV50_3D_ZETA_ADDRESS_LOW				0x00000fe4
+#define NV50_3D_ZETA_ADDRESS_LOW					0x00000fe4
 
 #define NV50_3D_ZETA_FORMAT					0x00000fe8
 
@@ -628,7 +628,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_UNK0FFC						0x00000ffc
 
 #define NV50_3D_VERTEX_ARRAY_PER_INSTANCE(i0)		       (0x00001000 + 0x4*(i0))
-#define NV50_3D_VERTEX_ARRAY_PER_INSTANCE__ESIZE		0x00000004
+#define NV50_3D_VERTEX_ARRAY_PER_INSTANCE__ESIZE			0x00000004
 #define NV50_3D_VERTEX_ARRAY_PER_INSTANCE__LEN			0x00000010
 
 #define NV50_3D_UNK1040(i0)				       (0x00001040 + 0x4*(i0))
@@ -647,13 +647,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV84_3D_UNK1104						0x00001104
 #define NV84_3D_UNK1104_0__MASK					0x0000ffff
-#define NV84_3D_UNK1104_0__SHIFT				0
+#define NV84_3D_UNK1104_0__SHIFT					0
 #define NV84_3D_UNK1104_0__MAX					0x00002000
-#define NV84_3D_UNK1104_0__ALIGN				0x00000040
+#define NV84_3D_UNK1104_0__ALIGN					0x00000040
 #define NV84_3D_UNK1104_1__MASK					0xffff0000
-#define NV84_3D_UNK1104_1__SHIFT				16
+#define NV84_3D_UNK1104_1__SHIFT					16
 #define NV84_3D_UNK1104_1__MAX					0x00002000
-#define NV84_3D_UNK1104_1__ALIGN				0x00000040
+#define NV84_3D_UNK1104_1__ALIGN					0x00000040
 
 #define NV84_3D_UNK1108						0x00001108
 #define NV84_3D_UNK1108_0					0x00000001
@@ -677,55 +677,55 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVA3_3D_VP_ATTR_EN_ALT__ESIZE				0x00000004
 #define NVA3_3D_VP_ATTR_EN_ALT__LEN				0x00000004
 #define NVA3_3D_VP_ATTR_EN_ALT_7__MASK				0xf0000000
-#define NVA3_3D_VP_ATTR_EN_ALT_7__SHIFT				28
+#define NVA3_3D_VP_ATTR_EN_ALT_7__SHIFT			28
 #define NVA3_3D_VP_ATTR_EN_ALT_7_X				0x10000000
 #define NVA3_3D_VP_ATTR_EN_ALT_7_Y				0x20000000
 #define NVA3_3D_VP_ATTR_EN_ALT_7_Z				0x40000000
 #define NVA3_3D_VP_ATTR_EN_ALT_7_W				0x80000000
 #define NVA3_3D_VP_ATTR_EN_ALT_6__MASK				0x0f000000
-#define NVA3_3D_VP_ATTR_EN_ALT_6__SHIFT				24
+#define NVA3_3D_VP_ATTR_EN_ALT_6__SHIFT			24
 #define NVA3_3D_VP_ATTR_EN_ALT_6_X				0x01000000
 #define NVA3_3D_VP_ATTR_EN_ALT_6_Y				0x02000000
 #define NVA3_3D_VP_ATTR_EN_ALT_6_Z				0x04000000
 #define NVA3_3D_VP_ATTR_EN_ALT_6_W				0x08000000
 #define NVA3_3D_VP_ATTR_EN_ALT_5__MASK				0x00f00000
-#define NVA3_3D_VP_ATTR_EN_ALT_5__SHIFT				20
+#define NVA3_3D_VP_ATTR_EN_ALT_5__SHIFT			20
 #define NVA3_3D_VP_ATTR_EN_ALT_5_X				0x00100000
 #define NVA3_3D_VP_ATTR_EN_ALT_5_Y				0x00200000
 #define NVA3_3D_VP_ATTR_EN_ALT_5_Z				0x00400000
 #define NVA3_3D_VP_ATTR_EN_ALT_5_W				0x00800000
 #define NVA3_3D_VP_ATTR_EN_ALT_4__MASK				0x000f0000
-#define NVA3_3D_VP_ATTR_EN_ALT_4__SHIFT				16
+#define NVA3_3D_VP_ATTR_EN_ALT_4__SHIFT			16
 #define NVA3_3D_VP_ATTR_EN_ALT_4_X				0x00010000
 #define NVA3_3D_VP_ATTR_EN_ALT_4_Y				0x00020000
 #define NVA3_3D_VP_ATTR_EN_ALT_4_Z				0x00040000
 #define NVA3_3D_VP_ATTR_EN_ALT_4_W				0x00080000
 #define NVA3_3D_VP_ATTR_EN_ALT_3__MASK				0x0000f000
-#define NVA3_3D_VP_ATTR_EN_ALT_3__SHIFT				12
+#define NVA3_3D_VP_ATTR_EN_ALT_3__SHIFT			12
 #define NVA3_3D_VP_ATTR_EN_ALT_3_X				0x00001000
 #define NVA3_3D_VP_ATTR_EN_ALT_3_Y				0x00002000
 #define NVA3_3D_VP_ATTR_EN_ALT_3_Z				0x00004000
 #define NVA3_3D_VP_ATTR_EN_ALT_3_W				0x00008000
 #define NVA3_3D_VP_ATTR_EN_ALT_2__MASK				0x00000f00
-#define NVA3_3D_VP_ATTR_EN_ALT_2__SHIFT				8
+#define NVA3_3D_VP_ATTR_EN_ALT_2__SHIFT			8
 #define NVA3_3D_VP_ATTR_EN_ALT_2_X				0x00000100
 #define NVA3_3D_VP_ATTR_EN_ALT_2_Y				0x00000200
 #define NVA3_3D_VP_ATTR_EN_ALT_2_Z				0x00000400
 #define NVA3_3D_VP_ATTR_EN_ALT_2_W				0x00000800
 #define NVA3_3D_VP_ATTR_EN_ALT_1__MASK				0x000000f0
-#define NVA3_3D_VP_ATTR_EN_ALT_1__SHIFT				4
+#define NVA3_3D_VP_ATTR_EN_ALT_1__SHIFT			4
 #define NVA3_3D_VP_ATTR_EN_ALT_1_X				0x00000010
 #define NVA3_3D_VP_ATTR_EN_ALT_1_Y				0x00000020
 #define NVA3_3D_VP_ATTR_EN_ALT_1_Z				0x00000040
 #define NVA3_3D_VP_ATTR_EN_ALT_1_W				0x00000080
 #define NVA3_3D_VP_ATTR_EN_ALT_0__MASK				0x0000000f
-#define NVA3_3D_VP_ATTR_EN_ALT_0__SHIFT				0
+#define NVA3_3D_VP_ATTR_EN_ALT_0__SHIFT			0
 #define NVA3_3D_VP_ATTR_EN_ALT_0_X				0x00000001
 #define NVA3_3D_VP_ATTR_EN_ALT_0_Y				0x00000002
 #define NVA3_3D_VP_ATTR_EN_ALT_0_Z				0x00000004
 #define NVA3_3D_VP_ATTR_EN_ALT_0_W				0x00000008
 
-#define NVA3_3D_UNK1140						0x00001140
+#define NVA3_3D_UNK1140					0x00001140
 
 #define NVA0_3D_UNK1144						0x00001144
 
@@ -766,10 +766,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT__MASK		0x07e00000
 #define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT__SHIFT		21
 #define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_32_32_32_32	0x00200000
-#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_32_32_32		0x00400000
+#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_32_32_32	0x00400000
 #define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_16_16_16_16	0x00600000
 #define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_32_32		0x00800000
-#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_16_16_16		0x00a00000
+#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_16_16_16	0x00a00000
 #define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_8_8_8_8		0x01400000
 #define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_16_16		0x01e00000
 #define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_32		0x02400000
@@ -778,6 +778,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_16		0x03600000
 #define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_8		0x03a00000
 #define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_10_10_10_2	0x06000000
+#define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_FORMAT_11_11_10	0x06200000
 #define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_TYPE__MASK		0x38000000
 #define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_TYPE__SHIFT		27
 #define NVA3_3D_VERTEX_ARRAY_ATTRIB_ALT_TYPE_SNORM		0x08000000
@@ -814,7 +815,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_RT_ARRAY_MODE					0x00001224
 #define NV50_3D_RT_ARRAY_MODE_LAYERS__MASK			0x0000ffff
 #define NV50_3D_RT_ARRAY_MODE_LAYERS__SHIFT			0
-#define NV50_3D_RT_ARRAY_MODE_MODE__MASK			0x00010000
+#define NV50_3D_RT_ARRAY_MODE_MODE__MASK				0x00010000
 #define NV50_3D_RT_ARRAY_MODE_MODE__SHIFT			16
 #define NV50_3D_RT_ARRAY_MODE_MODE_2D_ARRAY			0x00000000
 #define NV50_3D_RT_ARRAY_MODE_MODE_3D				0x00010000
@@ -853,28 +854,28 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_CB_DEF_SET_SIZE__MASK				0x0000ffff
 #define NV50_3D_CB_DEF_SET_SIZE__SHIFT				0
 #define NV50_3D_CB_DEF_SET_BUFFER__MASK				0x007f0000
-#define NV50_3D_CB_DEF_SET_BUFFER__SHIFT			16
+#define NV50_3D_CB_DEF_SET_BUFFER__SHIFT				16
 
 #define NV50_3D_UNK128C						0x0000128c
 #define NV50_3D_UNK128C_0__MASK					0x00000003
-#define NV50_3D_UNK128C_0__SHIFT				0
+#define NV50_3D_UNK128C_0__SHIFT					0
 #define NV50_3D_UNK128C_1__MASK					0x00000030
-#define NV50_3D_UNK128C_1__SHIFT				4
+#define NV50_3D_UNK128C_1__SHIFT					4
 #define NV50_3D_UNK128C_2__MASK					0x00000300
-#define NV50_3D_UNK128C_2__SHIFT				8
+#define NV50_3D_UNK128C_2__SHIFT					8
 #define NV50_3D_UNK128C_3__MASK					0x00003000
-#define NV50_3D_UNK128C_3__SHIFT				12
+#define NV50_3D_UNK128C_3__SHIFT					12
 
 #define NV50_3D_CALL_LIMIT_LOG					0x00001290
 #define NV50_3D_CALL_LIMIT_LOG_VP__MASK				0x0000000f
-#define NV50_3D_CALL_LIMIT_LOG_VP__SHIFT			0
+#define NV50_3D_CALL_LIMIT_LOG_VP__SHIFT				0
 #define NV50_3D_CALL_LIMIT_LOG_GP__MASK				0x000000f0
-#define NV50_3D_CALL_LIMIT_LOG_GP__SHIFT			4
+#define NV50_3D_CALL_LIMIT_LOG_GP__SHIFT				4
 #define NV50_3D_CALL_LIMIT_LOG_FP__MASK				0x00000f00
-#define NV50_3D_CALL_LIMIT_LOG_FP__SHIFT			8
+#define NV50_3D_CALL_LIMIT_LOG_FP__SHIFT				8
 
 #define NV50_3D_STRMOUT_BUFFERS_CTRL				0x00001294
-#define NV50_3D_STRMOUT_BUFFERS_CTRL_INTERLEAVED		0x00000001
+#define NV50_3D_STRMOUT_BUFFERS_CTRL_INTERLEAVED			0x00000001
 #define NVA0_3D_STRMOUT_BUFFERS_CTRL_LIMIT_MODE__MASK		0x00000002
 #define NVA0_3D_STRMOUT_BUFFERS_CTRL_LIMIT_MODE__SHIFT		1
 #define NVA0_3D_STRMOUT_BUFFERS_CTRL_LIMIT_MODE_PRIMITIVES	0x00000000
@@ -883,7 +884,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_STRMOUT_BUFFERS_CTRL_SEPARATE__SHIFT		4
 #define NV50_3D_STRMOUT_BUFFERS_CTRL_STRIDE__MASK		0x000fff00
 #define NV50_3D_STRMOUT_BUFFERS_CTRL_STRIDE__SHIFT		8
-#define NV50_3D_STRMOUT_BUFFERS_CTRL_STRIDE__MAX		0x00000800
+#define NV50_3D_STRMOUT_BUFFERS_CTRL_STRIDE__MAX			0x00000800
 
 #define NV50_3D_FP_RESULT_COUNT					0x00001298
 
@@ -892,9 +893,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_UNK12A0						0x000012a0
 
 #define NV50_3D_UNK12A8						0x000012a8
-#define NV50_3D_UNK12A8_UNK1					0x00000001
-#define NV50_3D_UNK12A8_UNK2__MASK				0x000ffff0
-#define NV50_3D_UNK12A8_UNK2__SHIFT				4
+#define NV50_3D_UNK12A8_UNK0					0x00000001
+#define NV50_3D_UNK12A8_UNK4__MASK				0x00000ff0
+#define NV50_3D_UNK12A8_UNK4__SHIFT				4
+#define NV50_3D_UNK12A8_UNK12__MASK				0x000ff000
+#define NV50_3D_UNK12A8_UNK12__SHIFT				12
 
 #define NV50_3D_UNK12AC						0x000012ac
 
@@ -921,7 +924,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_D3D_FILL_MODE_SOLID				0x00000003
 
 #define NV50_3D_SHADE_MODEL					0x000012d4
-#define NV50_3D_SHADE_MODEL_FLAT				0x00001d00
+#define NV50_3D_SHADE_MODEL_FLAT					0x00001d00
 #define NV50_3D_SHADE_MODEL_SMOOTH				0x00001d01
 
 #define NV50_3D_LOCAL_ADDRESS_HIGH				0x000012d8
@@ -936,15 +939,15 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_ALPHA_TEST_ENABLE				0x000012ec
 
-#define NV50_3D_PM_SET(i0)				       (0x000012f0 + 0x4*(i0))
-#define NV50_3D_PM_SET__ESIZE					0x00000004
-#define NV50_3D_PM_SET__LEN					0x00000004
+#define NV50_3D_MP_PM_SET(i0)				       (0x000012f0 + 0x4*(i0))
+#define NV50_3D_MP_PM_SET__ESIZE					0x00000004
+#define NV50_3D_MP_PM_SET__LEN					0x00000004
 
 #define NV50_3D_VB_ELEMENT_U8_SETUP				0x00001300
-#define NV50_3D_VB_ELEMENT_U8_SETUP_OFFSET__MASK		0xc0000000
+#define NV50_3D_VB_ELEMENT_U8_SETUP_OFFSET__MASK			0xc0000000
 #define NV50_3D_VB_ELEMENT_U8_SETUP_OFFSET__SHIFT		30
 #define NV50_3D_VB_ELEMENT_U8_SETUP_COUNT__MASK			0x3fffffff
-#define NV50_3D_VB_ELEMENT_U8_SETUP_COUNT__SHIFT		0
+#define NV50_3D_VB_ELEMENT_U8_SETUP_COUNT__SHIFT			0
 
 #define NV50_3D_VB_ELEMENT_U8					0x00001304
 #define NV50_3D_VB_ELEMENT_U8_I0__MASK				0x000000ff
@@ -967,7 +970,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_DEPTH_TEST_FUNC_EQUAL				0x00000202
 #define NV50_3D_DEPTH_TEST_FUNC_LEQUAL				0x00000203
 #define NV50_3D_DEPTH_TEST_FUNC_GREATER				0x00000204
-#define NV50_3D_DEPTH_TEST_FUNC_NOTEQUAL			0x00000205
+#define NV50_3D_DEPTH_TEST_FUNC_NOTEQUAL				0x00000205
 #define NV50_3D_DEPTH_TEST_FUNC_GEQUAL				0x00000206
 #define NV50_3D_DEPTH_TEST_FUNC_ALWAYS				0x00000207
 
@@ -979,7 +982,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_ALPHA_TEST_FUNC_EQUAL				0x00000202
 #define NV50_3D_ALPHA_TEST_FUNC_LEQUAL				0x00000203
 #define NV50_3D_ALPHA_TEST_FUNC_GREATER				0x00000204
-#define NV50_3D_ALPHA_TEST_FUNC_NOTEQUAL			0x00000205
+#define NV50_3D_ALPHA_TEST_FUNC_NOTEQUAL				0x00000205
 #define NV50_3D_ALPHA_TEST_FUNC_GEQUAL				0x00000206
 #define NV50_3D_ALPHA_TEST_FUNC_ALWAYS				0x00000207
 
@@ -989,9 +992,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_BLEND_COLOR(i0)				       (0x0000131c + 0x4*(i0))
 #define NV50_3D_BLEND_COLOR__ESIZE				0x00000004
-#define NV50_3D_BLEND_COLOR__LEN				0x00000004
+#define NV50_3D_BLEND_COLOR__LEN					0x00000004
 
-#define NV50_3D_UNK132C						0x0000132c
+#define NV50_3D_MP_PM_OVERFLOW_TRAP_ENABLE			0x0000132c
+#define NV50_3D_MP_PM_OVERFLOW_TRAP_ENABLE_0			0x00000001
+#define NV50_3D_MP_PM_OVERFLOW_TRAP_ENABLE_1			0x00000002
+#define NV50_3D_MP_PM_OVERFLOW_TRAP_ENABLE_2			0x00000004
+#define NV50_3D_MP_PM_OVERFLOW_TRAP_ENABLE_3			0x00000008
 
 #define NV50_3D_TSC_FLUSH					0x00001330
 #define NV50_3D_TSC_FLUSH_SPECIFIC				0x00000001
@@ -1004,7 +1011,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_TIC_FLUSH_ENTRY__SHIFT				4
 
 #define NV50_3D_TEX_CACHE_CTL					0x00001338
-#define NV50_3D_TEX_CACHE_CTL_UNK1__MASK			0x00000030
+#define NV50_3D_TEX_CACHE_CTL_UNK1__MASK				0x00000030
 #define NV50_3D_TEX_CACHE_CTL_UNK1__SHIFT			4
 
 #define NV50_3D_BLEND_SEPARATE_ALPHA				0x0000133c
@@ -1013,8 +1020,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_BLEND_EQUATION_RGB_FUNC_ADD			0x00008006
 #define NV50_3D_BLEND_EQUATION_RGB_MIN				0x00008007
 #define NV50_3D_BLEND_EQUATION_RGB_MAX				0x00008008
-#define NV50_3D_BLEND_EQUATION_RGB_FUNC_SUBTRACT		0x0000800a
-#define NV50_3D_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT	0x0000800b
+#define NV50_3D_BLEND_EQUATION_RGB_FUNC_SUBTRACT			0x0000800a
+#define NV50_3D_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT		0x0000800b
 
 #define NV50_3D_BLEND_FUNC_SRC_RGB				0x00001344
 
@@ -1022,8 +1029,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_BLEND_EQUATION_ALPHA				0x0000134c
 #define NV50_3D_BLEND_EQUATION_ALPHA_FUNC_ADD			0x00008006
-#define NV50_3D_BLEND_EQUATION_ALPHA_MIN			0x00008007
-#define NV50_3D_BLEND_EQUATION_ALPHA_MAX			0x00008008
+#define NV50_3D_BLEND_EQUATION_ALPHA_MIN				0x00008007
+#define NV50_3D_BLEND_EQUATION_ALPHA_MAX				0x00008008
 #define NV50_3D_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT		0x0000800a
 #define NV50_3D_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT	0x0000800b
 
@@ -1035,7 +1042,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_BLEND_ENABLE_COMMON				0x0000135c
 
-#define NV50_3D_BLEND_ENABLE(i0)			       (0x00001360 + 0x4*(i0))
+#define NV50_3D_BLEND_ENABLE(i0)				       (0x00001360 + 0x4*(i0))
 #define NV50_3D_BLEND_ENABLE__ESIZE				0x00000004
 #define NV50_3D_BLEND_ENABLE__LEN				0x00000008
 
@@ -1058,8 +1065,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_STENCIL_FRONT_OP_ZFAIL_REPLACE			0x00001e01
 #define NV50_3D_STENCIL_FRONT_OP_ZFAIL_INCR			0x00001e02
 #define NV50_3D_STENCIL_FRONT_OP_ZFAIL_DECR			0x00001e03
-#define NV50_3D_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP		0x00008507
-#define NV50_3D_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP		0x00008508
+#define NV50_3D_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP			0x00008507
+#define NV50_3D_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP			0x00008508
 
 #define NV50_3D_STENCIL_FRONT_OP_ZPASS				0x0000138c
 #define NV50_3D_STENCIL_FRONT_OP_ZPASS_ZERO			0x00000000
@@ -1068,8 +1075,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_STENCIL_FRONT_OP_ZPASS_REPLACE			0x00001e01
 #define NV50_3D_STENCIL_FRONT_OP_ZPASS_INCR			0x00001e02
 #define NV50_3D_STENCIL_FRONT_OP_ZPASS_DECR			0x00001e03
-#define NV50_3D_STENCIL_FRONT_OP_ZPASS_INCR_WRAP		0x00008507
-#define NV50_3D_STENCIL_FRONT_OP_ZPASS_DECR_WRAP		0x00008508
+#define NV50_3D_STENCIL_FRONT_OP_ZPASS_INCR_WRAP			0x00008507
+#define NV50_3D_STENCIL_FRONT_OP_ZPASS_DECR_WRAP			0x00008508
 
 #define NV50_3D_STENCIL_FRONT_FUNC_FUNC				0x00001390
 #define NV50_3D_STENCIL_FRONT_FUNC_FUNC_NEVER			0x00000200
@@ -1077,7 +1084,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_STENCIL_FRONT_FUNC_FUNC_EQUAL			0x00000202
 #define NV50_3D_STENCIL_FRONT_FUNC_FUNC_LEQUAL			0x00000203
 #define NV50_3D_STENCIL_FRONT_FUNC_FUNC_GREATER			0x00000204
-#define NV50_3D_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL		0x00000205
+#define NV50_3D_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL			0x00000205
 #define NV50_3D_STENCIL_FRONT_FUNC_FUNC_GEQUAL			0x00000206
 #define NV50_3D_STENCIL_FRONT_FUNC_FUNC_ALWAYS			0x00000207
 
@@ -1101,7 +1108,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_FRAG_COLOR_CLAMP_EN_6				0x01000000
 #define NV50_3D_FRAG_COLOR_CLAMP_EN_7				0x10000000
 
-#define NV50_3D_SCREEN_Y_CONTROL				0x000013ac
+#define NV50_3D_SCREEN_Y_CONTROL					0x000013ac
 #define NV50_3D_SCREEN_Y_CONTROL_Y_NEGATE			0x00000001
 #define NV50_3D_SCREEN_Y_CONTROL_TRIANGLE_RAST_FLIP		0x00000010
 
@@ -1135,7 +1142,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_FP_START_ID					0x00001414
 
-#define NVA3_3D_UNK1418						0x00001418
+#define NVA3_3D_UNK1418					0x00001418
 
 #define NV50_3D_UNK141C						0x0000141c
 
@@ -1151,10 +1158,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_VB_ELEMENT_BASE					0x00001434
 
-#define NV50_3D_VB_INSTANCE_BASE				0x00001438
+#define NV50_3D_VB_INSTANCE_BASE					0x00001438
 
 #define NV50_3D_CLEAR_FLAGS					0x0000143c
-#define NV50_3D_CLEAR_FLAGS_STENCIL_MASK			0x00000001
+#define NV50_3D_CLEAR_FLAGS_STENCIL_MASK				0x00000001
 #define NV50_3D_CLEAR_FLAGS_CLEAR_RECT__MASK			0x00000010
 #define NV50_3D_CLEAR_FLAGS_CLEAR_RECT__SHIFT			4
 #define NV50_3D_CLEAR_FLAGS_CLEAR_RECT_SCISSOR			0x00000000
@@ -1181,40 +1188,40 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_BIND_TIC_TIC__SHIFT				9
 
 #define NV50_3D_BIND_TSC2(i0)				       (0x00001468 + 0x8*(i0))
-#define NV50_3D_BIND_TSC2__ESIZE				0x00000008
+#define NV50_3D_BIND_TSC2__ESIZE					0x00000008
 #define NV50_3D_BIND_TSC2__LEN					0x00000003
 #define NV50_3D_BIND_TSC2_VALID					0x00000001
 #define NV50_3D_BIND_TSC2_SAMPLER__MASK				0x00000010
-#define NV50_3D_BIND_TSC2_SAMPLER__SHIFT			4
+#define NV50_3D_BIND_TSC2_SAMPLER__SHIFT				4
 #define NV50_3D_BIND_TSC2_TSC__MASK				0x001ff000
 #define NV50_3D_BIND_TSC2_TSC__SHIFT				12
 
 #define NV50_3D_BIND_TIC2(i0)				       (0x0000146c + 0x8*(i0))
-#define NV50_3D_BIND_TIC2__ESIZE				0x00000008
+#define NV50_3D_BIND_TIC2__ESIZE					0x00000008
 #define NV50_3D_BIND_TIC2__LEN					0x00000003
 #define NV50_3D_BIND_TIC2_VALID					0x00000001
 #define NV50_3D_BIND_TIC2_TEXTURE__MASK				0x00000002
-#define NV50_3D_BIND_TIC2_TEXTURE__SHIFT			1
+#define NV50_3D_BIND_TIC2_TEXTURE__SHIFT				1
 #define NV50_3D_BIND_TIC2_TIC__MASK				0x7ffffe00
 #define NV50_3D_BIND_TIC2_TIC__SHIFT				9
 
 #define NV50_3D_STRMOUT_MAP(i0)				       (0x00001480 + 0x4*(i0))
 #define NV50_3D_STRMOUT_MAP__ESIZE				0x00000004
-#define NV50_3D_STRMOUT_MAP__LEN				0x00000020
+#define NV50_3D_STRMOUT_MAP__LEN					0x00000020
 
 #define NV50_3D_CLIPID_HEIGHT					0x00001504
 #define NV50_3D_CLIPID_HEIGHT__MAX				0x00002000
 
 #define NV50_3D_CLIPID_FILL_RECT_HORIZ				0x00001508
-#define NV50_3D_CLIPID_FILL_RECT_HORIZ_LOW__MASK		0x0000ffff
+#define NV50_3D_CLIPID_FILL_RECT_HORIZ_LOW__MASK			0x0000ffff
 #define NV50_3D_CLIPID_FILL_RECT_HORIZ_LOW__SHIFT		0
 #define NV50_3D_CLIPID_FILL_RECT_HORIZ_HIGH__MASK		0xffff0000
 #define NV50_3D_CLIPID_FILL_RECT_HORIZ_HIGH__SHIFT		16
 
 #define NV50_3D_CLIPID_FILL_RECT_VERT				0x0000150c
 #define NV50_3D_CLIPID_FILL_RECT_VERT_LOW__MASK			0x0000ffff
-#define NV50_3D_CLIPID_FILL_RECT_VERT_LOW__SHIFT		0
-#define NV50_3D_CLIPID_FILL_RECT_VERT_HIGH__MASK		0xffff0000
+#define NV50_3D_CLIPID_FILL_RECT_VERT_LOW__SHIFT			0
+#define NV50_3D_CLIPID_FILL_RECT_VERT_HIGH__MASK			0xffff0000
 #define NV50_3D_CLIPID_FILL_RECT_VERT_HIGH__SHIFT		16
 
 #define NV50_3D_CLIP_DISTANCE_ENABLE				0x00001510
@@ -1227,7 +1234,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_CLIP_DISTANCE_ENABLE_6				0x00000040
 #define NV50_3D_CLIP_DISTANCE_ENABLE_7				0x00000080
 
-#define NV50_3D_SAMPLECNT_ENABLE				0x00001514
+#define NV50_3D_SAMPLECNT_ENABLE					0x00001514
 
 #define NV50_3D_POINT_SIZE					0x00001518
 
@@ -1247,7 +1254,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_COUNTER_RESET_SAMPLECNT				0x00000001
 #define NV50_3D_COUNTER_RESET_ZCULL_STATS			0x00000002
 #define NVA0_3D_COUNTER_RESET_STRMOUT_VERTICES			0x00000008
-#define NV50_3D_COUNTER_RESET_TRANSFORM_FEEDBACK		0x00000010
+#define NV50_3D_COUNTER_RESET_TRANSFORM_FEEDBACK			0x00000010
 #define NV50_3D_COUNTER_RESET_GENERATED_PRIMITIVES		0x00000011
 #define NV50_3D_COUNTER_RESET_VFETCH_VERTICES			0x00000012
 #define NV50_3D_COUNTER_RESET_VFETCH_PRIMITIVES			0x00000013
@@ -1262,26 +1269,26 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_ZETA_ENABLE					0x00001538
 
-#define NV50_3D_MULTISAMPLE_CTRL				0x0000153c
+#define NV50_3D_MULTISAMPLE_CTRL					0x0000153c
 #define NV50_3D_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE		0x00000001
 #define NV50_3D_MULTISAMPLE_CTRL_ALPHA_TO_ONE			0x00000010
 
-#define NV50_3D_NOPERSPECTIVE_BITMAP(i0)		       (0x00001540 + 0x4*(i0))
+#define NV50_3D_NOPERSPECTIVE_BITMAP(i0)			       (0x00001540 + 0x4*(i0))
 #define NV50_3D_NOPERSPECTIVE_BITMAP__ESIZE			0x00000004
 #define NV50_3D_NOPERSPECTIVE_BITMAP__LEN			0x00000004
 
 #define NV50_3D_COND_ADDRESS_HIGH				0x00001550
 
-#define NV50_3D_COND_ADDRESS_LOW				0x00001554
+#define NV50_3D_COND_ADDRESS_LOW					0x00001554
 
 #define NV50_3D_COND_MODE					0x00001558
 #define NV50_3D_COND_MODE_NEVER					0x00000000
-#define NV50_3D_COND_MODE_ALWAYS				0x00000001
+#define NV50_3D_COND_MODE_ALWAYS					0x00000001
 #define NV50_3D_COND_MODE_RES_NON_ZERO				0x00000002
 #define NV50_3D_COND_MODE_EQUAL					0x00000003
 #define NV50_3D_COND_MODE_NOT_EQUAL				0x00000004
 
-#define NV50_3D_TSC_ADDRESS_HIGH				0x0000155c
+#define NV50_3D_TSC_ADDRESS_HIGH					0x0000155c
 
 #define NV50_3D_TSC_ADDRESS_LOW					0x00001560
 #define NV50_3D_TSC_ADDRESS_LOW__ALIGN				0x00000020
@@ -1295,22 +1302,31 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_LINE_SMOOTH_ENABLE				0x00001570
 
-#define NV50_3D_TIC_ADDRESS_HIGH				0x00001574
+#define NV50_3D_TIC_ADDRESS_HIGH					0x00001574
 
 #define NV50_3D_TIC_ADDRESS_LOW					0x00001578
 
 #define NV50_3D_TIC_LIMIT					0x0000157c
 
-#define NV50_3D_PM_CONTROL(i0)				       (0x00001580 + 0x4*(i0))
-#define NV50_3D_PM_CONTROL__ESIZE				0x00000004
-#define NV50_3D_PM_CONTROL__LEN					0x00000004
-#define NV50_3D_PM_CONTROL_UNK0					0x00000001
-#define NV50_3D_PM_CONTROL_UNK1__MASK				0x00000070
-#define NV50_3D_PM_CONTROL_UNK1__SHIFT				4
-#define NV50_3D_PM_CONTROL_UNK2__MASK				0x00ffff00
-#define NV50_3D_PM_CONTROL_UNK2__SHIFT				8
-#define NV50_3D_PM_CONTROL_UNK3__MASK				0xff000000
-#define NV50_3D_PM_CONTROL_UNK3__SHIFT				24
+#define NV50_3D_MP_PM_CONTROL(i0)			       (0x00001580 + 0x4*(i0))
+#define NV50_3D_MP_PM_CONTROL__ESIZE				0x00000004
+#define NV50_3D_MP_PM_CONTROL__LEN				0x00000004
+#define NV50_3D_MP_PM_CONTROL_MODE__MASK				0x00000001
+#define NV50_3D_MP_PM_CONTROL_MODE__SHIFT			0
+#define NV50_3D_MP_PM_CONTROL_MODE_LOGOP				0x00000000
+#define NV50_3D_MP_PM_CONTROL_MODE_LOGOP_PULSE			0x00000001
+#define NV50_3D_MP_PM_CONTROL_UNIT__MASK				0x00000070
+#define NV50_3D_MP_PM_CONTROL_UNIT__SHIFT			4
+#define NV50_3D_MP_PM_CONTROL_UNIT_UNK0				0x00000000
+#define NV50_3D_MP_PM_CONTROL_UNIT_UNK1				0x00000010
+#define NV50_3D_MP_PM_CONTROL_UNIT_UNK2				0x00000020
+#define NV50_3D_MP_PM_CONTROL_UNIT_UNK3				0x00000030
+#define NV50_3D_MP_PM_CONTROL_UNIT_UNK4				0x00000040
+#define NV50_3D_MP_PM_CONTROL_UNIT_UNK5				0x00000050
+#define NV50_3D_MP_PM_CONTROL_FUNC__MASK				0x00ffff00
+#define NV50_3D_MP_PM_CONTROL_FUNC__SHIFT			8
+#define NV50_3D_MP_PM_CONTROL_SIG__MASK				0xff000000
+#define NV50_3D_MP_PM_CONTROL_SIG__SHIFT				24
 
 #define NV50_3D_ZCULL_REGION					0x00001590
 
@@ -1371,37 +1387,37 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_CSAA_ENABLE					0x000015b4
 
-#define NV50_3D_FRAMEBUFFER_SRGB				0x000015b8
+#define NV50_3D_FRAMEBUFFER_SRGB					0x000015b8
 
 #define NV50_3D_POLYGON_OFFSET_UNITS				0x000015bc
 
-#define NVA3_3D_UNK15C4						0x000015c4
+#define NVA3_3D_UNK15C4					0x000015c4
 
-#define NVA3_3D_UNK15C8						0x000015c8
+#define NVA3_3D_UNK15C8					0x000015c8
 
 #define NV50_3D_LAYER						0x000015cc
 #define NV50_3D_LAYER_IDX__MASK					0x0000ffff
-#define NV50_3D_LAYER_IDX__SHIFT				0
+#define NV50_3D_LAYER_IDX__SHIFT					0
 #define NV50_3D_LAYER_USE_GP					0x00010000
 
-#define NV50_3D_MULTISAMPLE_MODE				0x000015d0
+#define NV50_3D_MULTISAMPLE_MODE					0x000015d0
 #define NV50_3D_MULTISAMPLE_MODE_MS1				0x00000000
 #define NV50_3D_MULTISAMPLE_MODE_MS2				0x00000001
 #define NV50_3D_MULTISAMPLE_MODE_MS4				0x00000002
 #define NV50_3D_MULTISAMPLE_MODE_MS8				0x00000003
-#define NV50_3D_MULTISAMPLE_MODE_MS8_ALT			0x00000004
-#define NV50_3D_MULTISAMPLE_MODE_MS2_ALT			0x00000005
+#define NV50_3D_MULTISAMPLE_MODE_MS8_ALT				0x00000004
+#define NV50_3D_MULTISAMPLE_MODE_MS2_ALT				0x00000005
 #define NV50_3D_MULTISAMPLE_MODE_UNK6				0x00000006
-#define NV50_3D_MULTISAMPLE_MODE_MS4_CS4			0x00000008
+#define NV50_3D_MULTISAMPLE_MODE_MS4_CS4				0x00000008
 #define NV50_3D_MULTISAMPLE_MODE_MS4_CS12			0x00000009
-#define NV50_3D_MULTISAMPLE_MODE_MS8_CS8			0x0000000a
+#define NV50_3D_MULTISAMPLE_MODE_MS8_CS8				0x0000000a
 #define NV50_3D_MULTISAMPLE_MODE_MS8_CS24			0x0000000b
 
-#define NV50_3D_VERTEX_BEGIN_D3D				0x000015d4
-#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE__MASK		0x0fffffff
+#define NV50_3D_VERTEX_BEGIN_D3D					0x000015d4
+#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE__MASK			0x0fffffff
 #define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE__SHIFT		0
 #define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_POINTS		0x00000001
-#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINES		0x00000002
+#define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINES			0x00000002
 #define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINE_STRIP		0x00000003
 #define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLES		0x00000004
 #define NV50_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLE_STRIP	0x00000005
@@ -1419,13 +1435,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_VERTEX_BEGIN_GL					0x000015dc
 #define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE__MASK			0x0fffffff
-#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE__SHIFT		0
-#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_POINTS		0x00000000
+#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE__SHIFT			0
+#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_POINTS			0x00000000
 #define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES			0x00000001
 #define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_LOOP		0x00000002
 #define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_STRIP		0x00000003
 #define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES		0x00000004
-#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP	0x00000005
+#define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP		0x00000005
 #define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_FAN		0x00000006
 #define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUADS			0x00000007
 #define NV50_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUAD_STRIP		0x00000008
@@ -1442,23 +1458,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_VERTEX_END_GL_UNK0				0x00000001
 #define NVA0_3D_VERTEX_END_GL_UNK1				0x00000002
 
-#define NV50_3D_EDGEFLAG					0x000015e4
+#define NV50_3D_EDGEFLAG						0x000015e4
 
 #define NV50_3D_VB_ELEMENT_U32					0x000015e8
 
 #define NV50_3D_VB_ELEMENT_U16_SETUP				0x000015ec
 #define NV50_3D_VB_ELEMENT_U16_SETUP_OFFSET__MASK		0xc0000000
 #define NV50_3D_VB_ELEMENT_U16_SETUP_OFFSET__SHIFT		30
-#define NV50_3D_VB_ELEMENT_U16_SETUP_COUNT__MASK		0x3fffffff
+#define NV50_3D_VB_ELEMENT_U16_SETUP_COUNT__MASK			0x3fffffff
 #define NV50_3D_VB_ELEMENT_U16_SETUP_COUNT__SHIFT		0
 
 #define NV50_3D_VB_ELEMENT_U16					0x000015f0
 #define NV50_3D_VB_ELEMENT_U16_I0__MASK				0x0000ffff
-#define NV50_3D_VB_ELEMENT_U16_I0__SHIFT			0
+#define NV50_3D_VB_ELEMENT_U16_I0__SHIFT				0
 #define NV50_3D_VB_ELEMENT_U16_I1__MASK				0xffff0000
-#define NV50_3D_VB_ELEMENT_U16_I1__SHIFT			16
+#define NV50_3D_VB_ELEMENT_U16_I1__SHIFT				16
 
-#define NV50_3D_VERTEX_BASE_HIGH				0x000015f4
+#define NV50_3D_VERTEX_BASE_HIGH					0x000015f4
 
 #define NV50_3D_VERTEX_BASE_LOW					0x000015f8
 
@@ -1472,7 +1488,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID			0x00000001
 #define NV50_3D_VP_GP_BUILTIN_ATTR_EN_INSTANCE_ID		0x00000010
 #define NV50_3D_VP_GP_BUILTIN_ATTR_EN_PRIMITIVE_ID		0x00000100
-#define NV50_3D_VP_GP_BUILTIN_ATTR_EN_UNK12			0x00001000
+#define NV50_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID_DRAW_ARRAYS_ADD_START	0x00001000
 
 #define NV50_3D_VP_ATTR_EN(i0)				       (0x00001650 + 0x4*(i0))
 #define NV50_3D_VP_ATTR_EN__ESIZE				0x00000004
@@ -1542,14 +1558,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVA0_3D_TEX_MISC_UNK1					0x00000002
 #define NVA0_3D_TEX_MISC_SEAMLESS_CUBE_MAP			0x00000004
 
-#define NV50_3D_LINE_SMOOTH_BLUR				0x00001668
+#define NV50_3D_LINE_SMOOTH_BLUR					0x00001668
 #define NV50_3D_LINE_SMOOTH_BLUR_LOW				0x00000000
 #define NV50_3D_LINE_SMOOTH_BLUR_MEDIUM				0x00000001
 #define NV50_3D_LINE_SMOOTH_BLUR_HIGH				0x00000002
 
 #define NV50_3D_LINE_STIPPLE_ENABLE				0x0000166c
 
-#define NV50_3D_COVERAGE_LUT(i0)			       (0x00001670 + 0x4*(i0))
+#define NV50_3D_COVERAGE_LUT(i0)				       (0x00001670 + 0x4*(i0))
 #define NV50_3D_COVERAGE_LUT__ESIZE				0x00000004
 #define NV50_3D_COVERAGE_LUT__LEN				0x00000004
 #define NV50_3D_COVERAGE_LUT_0__MASK				0x000000ff
@@ -1590,16 +1606,16 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_SET_PROGRAM_CB_VALID				0x00000001
 
 #define NV50_3D_UNK1698						0x00001698
-#define NV50_3D_UNK1698_0					0x00000001
-#define NV50_3D_UNK1698_1					0x00000010
-#define NV50_3D_UNK1698_2					0x00000100
+#define NV50_3D_UNK1698_UNK0					0x00000001
+#define NV50_3D_UNK1698_UNK4					0x00000010
+#define NV50_3D_UNK1698_UNK8					0x00000100
 
 #define NVA3_3D_SAMPLE_SHADING					0x0000169c
 #define NVA3_3D_SAMPLE_SHADING_MIN_SAMPLES__MASK		0x0000000f
 #define NVA3_3D_SAMPLE_SHADING_MIN_SAMPLES__SHIFT		0
 #define NVA3_3D_SAMPLE_SHADING_ENABLE				0x00000010
 
-#define NVA3_3D_UNK16A0						0x000016a0
+#define NVA3_3D_UNK16A0					0x000016a0
 
 #define NV50_3D_VP_RESULT_MAP_SIZE				0x000016ac
 
@@ -1639,12 +1655,12 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_GP_RESULT_MAP_SIZE				0x000017ac
 
-#define NV50_3D_GP_OUTPUT_PRIMITIVE_TYPE			0x000017b0
+#define NV50_3D_GP_OUTPUT_PRIMITIVE_TYPE				0x000017b0
 #define NV50_3D_GP_OUTPUT_PRIMITIVE_TYPE_POINTS			0x00000001
 #define NV50_3D_GP_OUTPUT_PRIMITIVE_TYPE_LINE_STRIP		0x00000002
 #define NV50_3D_GP_OUTPUT_PRIMITIVE_TYPE_TRIANGLE_STRIP		0x00000003
 
-#define NV50_3D_RASTERIZE_ENABLE				0x000017b4
+#define NV50_3D_RASTERIZE_ENABLE					0x000017b4
 
 #define NV50_3D_STRMOUT_ENABLE					0x000017b8
 
@@ -1693,11 +1709,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_SEMANTIC_PTSZ_PTSZ_ID__MASK			0x00000ff0
 #define NV50_3D_SEMANTIC_PTSZ_PTSZ_ID__SHIFT			4
 
-#define NV50_3D_SEMANTIC_PRIM_ID				0x00001914
+#define NV50_3D_SEMANTIC_PRIM_ID					0x00001914
 #define NV50_3D_SEMANTIC_PRIM_ID_PRIM_ID__MASK			0x000000ff
 #define NV50_3D_SEMANTIC_PRIM_ID_PRIM_ID__SHIFT			0
 
-#define NV50_3D_CULL_FACE_ENABLE				0x00001918
+#define NV50_3D_CULL_FACE_ENABLE					0x00001918
 
 #define NV50_3D_FRONT_FACE					0x0000191c
 #define NV50_3D_FRONT_FACE_CW					0x00000900
@@ -1706,13 +1722,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_CULL_FACE					0x00001920
 #define NV50_3D_CULL_FACE_FRONT					0x00000404
 #define NV50_3D_CULL_FACE_BACK					0x00000405
-#define NV50_3D_CULL_FACE_FRONT_AND_BACK			0x00000408
+#define NV50_3D_CULL_FACE_FRONT_AND_BACK				0x00000408
 
-#define NV50_3D_PIXEL_CENTER_INTEGER					0x00001924
+#define NV50_3D_PIXEL_CENTER_INTEGER				0x00001924
 
 #define NVA3_3D_FP_MULTISAMPLE					0x00001928
 #define NVA3_3D_FP_MULTISAMPLE_EXPORT_SAMPLE_MASK		0x00000001
-#define NVA3_3D_FP_MULTISAMPLE_FORCE_PER_SAMPLE			0x00000002
+#define NVA3_3D_FP_MULTISAMPLE_FORCE_PER_SAMPLE		0x00000002
 
 #define NV50_3D_VIEWPORT_TRANSFORM_EN				0x0000192c
 
@@ -1727,9 +1743,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK11			0x00000800
 #define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK12__MASK		0x00003000
 #define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK12__SHIFT		12
-#define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK0		0x00000000
-#define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK1		0x00001000
-#define NV84_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK2		0x00002000
+#define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK0			0x00000000
+#define NV50_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK1			0x00001000
+#define NV84_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK2			0x00002000
 
 #define NV50_3D_CLIP_DISTANCE_MODE				0x00001940
 #define NV50_3D_CLIP_DISTANCE_MODE_0__MASK			0x00000001
@@ -1765,7 +1781,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_CLIP_DISTANCE_MODE_7_CLIP			0x00000000
 #define NV50_3D_CLIP_DISTANCE_MODE_7_CULL			0x10000000
 
-#define NVA3_3D_UNK1944						0x00001944
+#define NVA3_3D_UNK1944					0x00001944
 
 #define NV50_3D_CLIP_RECTS_EN					0x0000194c
 
@@ -1778,9 +1794,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_ZCULL_VALIDATE_CLEAR_UNK0			0x00000001
 #define NV50_3D_ZCULL_VALIDATE_CLEAR_UNK1			0x00000010
 
-#define NV50_3D_ZCULL_INVALIDATE				0x00001958
+#define NV50_3D_ZCULL_INVALIDATE					0x00001958
 
-#define NVA3_3D_UNK1960						0x00001960
+#define NVA3_3D_UNK1960					0x00001960
 #define NVA3_3D_UNK1960_0					0x00000001
 #define NVA3_3D_UNK1960_1					0x00000010
 
@@ -1803,24 +1819,25 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_CLIPID_ID					0x00001984
 
 #define NV50_3D_FP_INTERPOLANT_CTRL				0x00001988
-#define NV50_3D_FP_INTERPOLANT_CTRL_UMASK__MASK			0xff000000
-#define NV50_3D_FP_INTERPOLANT_CTRL_UMASK__SHIFT		24
+#define NV50_3D_FP_INTERPOLANT_CTRL_COUNT__MASK			0x000000ff
+#define NV50_3D_FP_INTERPOLANT_CTRL_COUNT__SHIFT			0
+#define NV50_3D_FP_INTERPOLANT_CTRL_OFFSET__MASK			0x0000ff00
+#define NV50_3D_FP_INTERPOLANT_CTRL_OFFSET__SHIFT		8
+#define NV50_3D_FP_INTERPOLANT_CTRL_COUNT_NONFLAT__MASK		0x00ff0000
+#define NV50_3D_FP_INTERPOLANT_CTRL_COUNT_NONFLAT__SHIFT		16
+#define NV50_3D_FP_INTERPOLANT_CTRL_UMASK__MASK			0x0f000000
+#define NV50_3D_FP_INTERPOLANT_CTRL_UMASK__SHIFT			24
 #define NV50_3D_FP_INTERPOLANT_CTRL_UMASK_X			0x01000000
 #define NV50_3D_FP_INTERPOLANT_CTRL_UMASK_Y			0x02000000
 #define NV50_3D_FP_INTERPOLANT_CTRL_UMASK_Z			0x04000000
 #define NV50_3D_FP_INTERPOLANT_CTRL_UMASK_W			0x08000000
-#define NV50_3D_FP_INTERPOLANT_CTRL_COUNT_NONFLAT__MASK		0x00ff0000
-#define NV50_3D_FP_INTERPOLANT_CTRL_COUNT_NONFLAT__SHIFT	16
-#define NV50_3D_FP_INTERPOLANT_CTRL_OFFSET__MASK		0x0000ff00
-#define NV50_3D_FP_INTERPOLANT_CTRL_OFFSET__SHIFT		8
-#define NV50_3D_FP_INTERPOLANT_CTRL_COUNT__MASK			0x000000ff
-#define NV50_3D_FP_INTERPOLANT_CTRL_COUNT__SHIFT		0
+#define NV50_3D_FP_INTERPOLANT_CTRL_UNK28			0x10000000
 
 #define NV50_3D_FP_REG_ALLOC_TEMP				0x0000198c
 
-#define NV50_3D_REG_MODE					0x000019a0
+#define NV50_3D_REG_MODE						0x000019a0
 #define NV50_3D_REG_MODE_PACKED					0x00000001
-#define NV50_3D_REG_MODE_STRIPED				0x00000002
+#define NV50_3D_REG_MODE_STRIPED					0x00000002
 
 #define NV50_3D_FP_CONTROL					0x000019a8
 #define NV50_3D_FP_CONTROL_MULTIPLE_RESULTS			0x00000001
@@ -1833,7 +1850,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_LOGIC_OP_ENABLE					0x000019c4
 
-#define NV50_3D_LOGIC_OP					0x000019c8
+#define NV50_3D_LOGIC_OP						0x000019c8
 #define NV50_3D_LOGIC_OP_CLEAR					0x00001500
 #define NV50_3D_LOGIC_OP_AND					0x00001501
 #define NV50_3D_LOGIC_OP_AND_REVERSE				0x00001502
@@ -1851,7 +1868,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_LOGIC_OP_NAND					0x0000150e
 #define NV50_3D_LOGIC_OP_SET					0x0000150f
 
-#define NV50_3D_ZETA_COMP_ENABLE				0x000019cc
+#define NV50_3D_ZETA_COMP_ENABLE					0x000019cc
 
 #define NV50_3D_CLEAR_BUFFERS					0x000019d0
 #define NV50_3D_CLEAR_BUFFERS_Z					0x00000001
@@ -1889,7 +1906,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_UNK1A28						0x00001a28
 #define NV50_3D_UNK1A28_0__MASK					0x000000ff
-#define NV50_3D_UNK1A28_0__SHIFT				0
+#define NV50_3D_UNK1A28_0__SHIFT					0
 #define NV50_3D_UNK1A28_1					0x00000100
 
 #define NV50_3D_UNK1A2C						0x00001a2c
@@ -1906,34 +1923,34 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_UNK1A40__ESIZE					0x00000004
 #define NV50_3D_UNK1A40__LEN					0x00000010
 #define NV50_3D_UNK1A40_0__MASK					0x00000007
-#define NV50_3D_UNK1A40_0__SHIFT				0
+#define NV50_3D_UNK1A40_0__SHIFT					0
 #define NV50_3D_UNK1A40_1__MASK					0x00000070
-#define NV50_3D_UNK1A40_1__SHIFT				4
+#define NV50_3D_UNK1A40_1__SHIFT					4
 #define NV50_3D_UNK1A40_2__MASK					0x00000700
-#define NV50_3D_UNK1A40_2__SHIFT				8
+#define NV50_3D_UNK1A40_2__SHIFT					8
 #define NV50_3D_UNK1A40_3__MASK					0x00007000
-#define NV50_3D_UNK1A40_3__SHIFT				12
+#define NV50_3D_UNK1A40_3__SHIFT					12
 #define NV50_3D_UNK1A40_4__MASK					0x00070000
-#define NV50_3D_UNK1A40_4__SHIFT				16
+#define NV50_3D_UNK1A40_4__SHIFT					16
 #define NV50_3D_UNK1A40_5__MASK					0x00700000
-#define NV50_3D_UNK1A40_5__SHIFT				20
+#define NV50_3D_UNK1A40_5__SHIFT					20
 #define NV50_3D_UNK1A40_6__MASK					0x07000000
-#define NV50_3D_UNK1A40_6__SHIFT				24
+#define NV50_3D_UNK1A40_6__SHIFT					24
 #define NV50_3D_UNK1A40_7__MASK					0x70000000
-#define NV50_3D_UNK1A40_7__SHIFT				28
+#define NV50_3D_UNK1A40_7__SHIFT					28
 
-#define NV50_3D_STRMOUT_ADDRESS_HIGH(i0)		       (0x00001a80 + 0x10*(i0))
+#define NV50_3D_STRMOUT_ADDRESS_HIGH(i0)			       (0x00001a80 + 0x10*(i0))
 #define NV50_3D_STRMOUT_ADDRESS_HIGH__ESIZE			0x00000010
 #define NV50_3D_STRMOUT_ADDRESS_HIGH__LEN			0x00000004
 
 #define NV50_3D_STRMOUT_ADDRESS_LOW(i0)			       (0x00001a84 + 0x10*(i0))
 #define NV50_3D_STRMOUT_ADDRESS_LOW__ESIZE			0x00000010
-#define NV50_3D_STRMOUT_ADDRESS_LOW__LEN			0x00000004
+#define NV50_3D_STRMOUT_ADDRESS_LOW__LEN				0x00000004
 
 #define NV50_3D_STRMOUT_NUM_ATTRIBS(i0)			       (0x00001a88 + 0x10*(i0))
 #define NV50_3D_STRMOUT_NUM_ATTRIBS__ESIZE			0x00000010
-#define NV50_3D_STRMOUT_NUM_ATTRIBS__LEN			0x00000004
-#define NV50_3D_STRMOUT_NUM_ATTRIBS__MAX			0x00000040
+#define NV50_3D_STRMOUT_NUM_ATTRIBS__LEN				0x00000004
+#define NV50_3D_STRMOUT_NUM_ATTRIBS__MAX				0x00000040
 
 #define NVA0_3D_STRMOUT_OFFSET_LIMIT(i0)		       (0x00001a8c + 0x10*(i0))
 #define NVA0_3D_STRMOUT_OFFSET_LIMIT__ESIZE			0x00000010
@@ -1941,23 +1958,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NV50_3D_VERTEX_ARRAY_ATTRIB(i0)			       (0x00001ac0 + 0x4*(i0))
 #define NV50_3D_VERTEX_ARRAY_ATTRIB__ESIZE			0x00000004
-#define NV50_3D_VERTEX_ARRAY_ATTRIB__LEN			0x00000010
-#define NV50_3D_VERTEX_ARRAY_ATTRIB_BUFFER__MASK		0x0000000f
+#define NV50_3D_VERTEX_ARRAY_ATTRIB__LEN				0x00000010
+#define NV50_3D_VERTEX_ARRAY_ATTRIB_BUFFER__MASK			0x0000000f
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_BUFFER__SHIFT		0
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_CONST			0x00000010
-#define NV50_3D_VERTEX_ARRAY_ATTRIB_OFFSET__MASK		0x0007ffe0
+#define NV50_3D_VERTEX_ARRAY_ATTRIB_OFFSET__MASK			0x0007ffe0
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_OFFSET__SHIFT		5
-#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT__MASK		0x01f80000
+#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT__MASK			0x01f80000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT__SHIFT		19
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_32_32_32_32		0x00080000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_32_32_32		0x00100000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_16_16_16_16		0x00180000
-#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_32_32		0x00200000
+#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_32_32			0x00200000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_16_16_16		0x00280000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_8_8_8_8		0x00500000
-#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_16_16		0x00780000
+#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_16_16			0x00780000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_32			0x00900000
-#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_8_8_8		0x00980000
+#define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_8_8_8			0x00980000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_8_8			0x00c00000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_16			0x00d80000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_FORMAT_8			0x00e80000
@@ -1968,11 +1985,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_FLOAT			0x7e000000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_UNORM			0x24000000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_SNORM			0x12000000
-#define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_USCALED		0x5a000000
-#define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_SSCALED		0x6c000000
+#define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_USCALED			0x5a000000
+#define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_SSCALED			0x6c000000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_UINT			0x48000000
 #define NV50_3D_VERTEX_ARRAY_ATTRIB_TYPE_SINT			0x36000000
-#define NV50_3D_VERTEX_ARRAY_ATTRIB_BGRA			0x80000000
+#define NV50_3D_VERTEX_ARRAY_ATTRIB_BGRA				0x80000000
 
 #define NV50_3D_QUERY_ADDRESS_HIGH				0x00001b00
 
@@ -1999,7 +2016,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_QUERY_GET_UNIT_STRMOUT				0x00005000
 #define NV50_3D_QUERY_GET_UNIT_GP				0x00006000
 #define NV50_3D_QUERY_GET_UNIT_ZCULL				0x00007000
-#define NV50_3D_QUERY_GET_UNIT_TPROP				0x0000a000
+#define NV50_3D_QUERY_GET_UNIT_PROP				0x0000a000
 #define NV50_3D_QUERY_GET_UNIT_UNK0C				0x0000c000
 #define NV50_3D_QUERY_GET_UNIT_CROP				0x0000f000
 #define NV50_3D_QUERY_GET_SYNC_COND__MASK			0x00010000
@@ -2014,7 +2031,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_3D_QUERY_GET_QUERY_SELECT__MASK			0x0f000000
 #define NV50_3D_QUERY_GET_QUERY_SELECT__SHIFT			24
 #define NV50_3D_QUERY_GET_QUERY_SELECT_ZERO			0x00000000
-#define NV50_3D_QUERY_GET_QUERY_SELECT_SAMPLECNT		0x01000000
+#define NV50_3D_QUERY_GET_QUERY_SELECT_SAMPLECNT			0x01000000
 #define NV50_3D_QUERY_GET_QUERY_SELECT_STRMOUT_NO_OVERFLOW	0x02000000
 #define NVA0_3D_QUERY_GET_QUERY_SELECT_STRMOUT_DROPPED_PRIMITIVES	0x03000000
 #define NVA0_3D_QUERY_GET_QUERY_SELECT_STRMOUT_VERTICES		0x04000000
@@ -2026,7 +2043,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVA0_3D_QUERY_GET_QUERY_SELECT_STRMOUT_OFFSET		0x0d000000
 #define NV50_3D_QUERY_GET_COUNTER_SELECT__MASK			0x0f000000
 #define NV50_3D_QUERY_GET_COUNTER_SELECT__SHIFT			24
-#define NV50_3D_QUERY_GET_COUNTER_SELECT_VFETCH_VERTICES	0x00000000
+#define NV50_3D_QUERY_GET_COUNTER_SELECT_VFETCH_VERTICES		0x00000000
 #define NV50_3D_QUERY_GET_COUNTER_SELECT_VFETCH_PRIMITIVES	0x01000000
 #define NV50_3D_QUERY_GET_COUNTER_SELECT_VP_LAUNCHES		0x02000000
 #define NV50_3D_QUERY_GET_COUNTER_SELECT_GP_LAUNCHES		0x03000000
@@ -2059,16 +2076,16 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVA3_3D_VERTEX_ARRAY_FETCH_ALT_STRIDE__SHIFT		0
 #define NVA3_3D_VERTEX_ARRAY_FETCH_ALT_ENABLE			0x20000000
 
-#define NVA3_3D_VERTEX_ARRAY_START_HIGH_ALT(i0)		       (0x00001c04 + 0x10*(i0))
+#define NVA3_3D_VERTEX_ARRAY_START_HIGH_ALT(i0)	       (0x00001c04 + 0x10*(i0))
 #define NVA3_3D_VERTEX_ARRAY_START_HIGH_ALT__ESIZE		0x00000010
 #define NVA3_3D_VERTEX_ARRAY_START_HIGH_ALT__LEN		0x00000020
 
 #define NVA3_3D_VERTEX_ARRAY_START_LOW_ALT(i0)		       (0x00001c08 + 0x10*(i0))
 #define NVA3_3D_VERTEX_ARRAY_START_LOW_ALT__ESIZE		0x00000010
-#define NVA3_3D_VERTEX_ARRAY_START_LOW_ALT__LEN			0x00000020
+#define NVA3_3D_VERTEX_ARRAY_START_LOW_ALT__LEN		0x00000020
 
 #define NVA3_3D_VERTEX_ARRAY_DIVISOR_ALT(i0)		       (0x00001c0c + 0x10*(i0))
-#define NVA3_3D_VERTEX_ARRAY_DIVISOR_ALT__ESIZE			0x00000010
+#define NVA3_3D_VERTEX_ARRAY_DIVISOR_ALT__ESIZE		0x00000010
 #define NVA3_3D_VERTEX_ARRAY_DIVISOR_ALT__LEN			0x00000020
 
 #define NVA3_3D_IBLEND(i0)				       (0x00001e00 + 0x20*(i0))
@@ -2077,16 +2094,16 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVA3_3D_IBLEND_SEPARATE_ALPHA(i0)		       (0x00001e00 + 0x20*(i0))
 
-#define NVA3_3D_IBLEND_EQUATION_RGB(i0)			       (0x00001e04 + 0x20*(i0))
+#define NVA3_3D_IBLEND_EQUATION_RGB(i0)		       (0x00001e04 + 0x20*(i0))
 #define NVA3_3D_IBLEND_EQUATION_RGB_FUNC_ADD			0x00008006
-#define NVA3_3D_IBLEND_EQUATION_RGB_MIN				0x00008007
-#define NVA3_3D_IBLEND_EQUATION_RGB_MAX				0x00008008
+#define NVA3_3D_IBLEND_EQUATION_RGB_MIN			0x00008007
+#define NVA3_3D_IBLEND_EQUATION_RGB_MAX			0x00008008
 #define NVA3_3D_IBLEND_EQUATION_RGB_FUNC_SUBTRACT		0x0000800a
 #define NVA3_3D_IBLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT	0x0000800b
 
-#define NVA3_3D_IBLEND_FUNC_SRC_RGB(i0)			       (0x00001e08 + 0x20*(i0))
+#define NVA3_3D_IBLEND_FUNC_SRC_RGB(i0)		       (0x00001e08 + 0x20*(i0))
 
-#define NVA3_3D_IBLEND_FUNC_DST_RGB(i0)			       (0x00001e0c + 0x20*(i0))
+#define NVA3_3D_IBLEND_FUNC_DST_RGB(i0)		       (0x00001e0c + 0x20*(i0))
 
 #define NVA3_3D_IBLEND_EQUATION_ALPHA(i0)		       (0x00001e10 + 0x20*(i0))
 #define NVA3_3D_IBLEND_EQUATION_ALPHA_FUNC_ADD			0x00008006
@@ -2099,13 +2116,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVA3_3D_IBLEND_FUNC_DST_ALPHA(i0)		       (0x00001e18 + 0x20*(i0))
 
-#define NVA3_3D_VERTEX_ARRAY_LIMIT_HIGH_ALT(i0)		       (0x00001f00 + 0x8*(i0))
+#define NVA3_3D_VERTEX_ARRAY_LIMIT_HIGH_ALT(i0)	       (0x00001f00 + 0x8*(i0))
 #define NVA3_3D_VERTEX_ARRAY_LIMIT_HIGH_ALT__ESIZE		0x00000008
 #define NVA3_3D_VERTEX_ARRAY_LIMIT_HIGH_ALT__LEN		0x00000020
 
 #define NVA3_3D_VERTEX_ARRAY_LIMIT_LOW_ALT(i0)		       (0x00001f04 + 0x8*(i0))
 #define NVA3_3D_VERTEX_ARRAY_LIMIT_LOW_ALT__ESIZE		0x00000008
-#define NVA3_3D_VERTEX_ARRAY_LIMIT_LOW_ALT__LEN			0x00000020
+#define NVA3_3D_VERTEX_ARRAY_LIMIT_LOW_ALT__LEN		0x00000020
 
 
-#endif /* RNNDB_NV50_3D_XML */
+#endif /* NV50_3D_XML */
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_3ddefs.xml.h b/src/gallium/drivers/nouveau/nv50/nv50_3ddefs.xml.h
index f26ac45..3e01745 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_3ddefs.xml.h
+++ b/src/gallium/drivers/nouveau/nv50/nv50_3ddefs.xml.h
@@ -4,19 +4,14 @@
 /* Autogenerated file, DO NOT EDIT manually!
 
 This file was generated by the rules-ng-ng headergen tool in this git repository:
-http://0x04.net/cgit/index.cgi/rules-ng-ng
-git clone git://0x04.net/rules-ng-ng
+http://github.com/envytools/envytools/
+git clone https://github.com/envytools/envytools.git
 
 The rules-ng-ng source files this header was generated from are:
-- nv50_3d.xml    (  26312 bytes, from 2010-10-08 10:10:01)
-- copyright.xml  (   6498 bytes, from 2010-10-03 13:18:37)
-- nv_defs.xml    (   4437 bytes, from 2010-07-06 07:43:58)
-- nv_3ddefs.xml  (  16397 bytes, from 2010-10-08 13:30:38)
-- nv_object.xml  (  11249 bytes, from 2010-10-07 15:31:28)
-- nvchipsets.xml (   2824 bytes, from 2010-07-07 13:41:20)
-- nv50_defs.xml  (   4482 bytes, from 2010-10-03 13:18:37)
+- rnndb/graph/nv_3ddefs.xml (  16390 bytes, from 2014-09-25 06:32:11)
+- rnndb/copyright.xml       (   6452 bytes, from 2013-05-14 03:57:49)
 
-Copyright (C) 2006-2010 by the following authors:
+Copyright (C) 2006-2014 by the following authors:
 - Artur Huillet <arthur.huillet at free.fr> (ahuillet)
 - Ben Skeggs (darktama, darktama_)
 - B. R. <koala_br at users.sourceforge.net> (koala_br)
@@ -27,7 +22,7 @@ Copyright (C) 2006-2010 by the following authors:
 - Dmitry Eremin-Solenikov <lumag at users.sf.net> (lumag)
 - EdB <edb_ at users.sf.net> (edb_)
 - Erik Waling <erikwailing at users.sf.net> (erikwaling)
-- Francisco Jerez <currojerez at riseup.net> (curro, curro_, currojerez)
+- Francisco Jerez <currojerez at riseup.net> (curro)
 - imirkin <imirkin at users.sf.net> (imirkin)
 - jb17bsome <jb17bsome at bellsouth.net> (jb17bsome)
 - Jeremy Kolb <kjeremy at users.sf.net> (kjeremy)
@@ -75,24 +70,24 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
 
 
-#define NV50_3D_BLEND_FACTOR_ZERO				0x00004000
-#define NV50_3D_BLEND_FACTOR_ONE				0x00004001
-#define NV50_3D_BLEND_FACTOR_SRC_COLOR				0x00004300
-#define NV50_3D_BLEND_FACTOR_ONE_MINUS_SRC_COLOR		0x00004301
-#define NV50_3D_BLEND_FACTOR_SRC_ALPHA				0x00004302
-#define NV50_3D_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA		0x00004303
-#define NV50_3D_BLEND_FACTOR_DST_ALPHA				0x00004304
-#define NV50_3D_BLEND_FACTOR_ONE_MINUS_DST_ALPHA		0x00004305
-#define NV50_3D_BLEND_FACTOR_DST_COLOR				0x00004306
-#define NV50_3D_BLEND_FACTOR_ONE_MINUS_DST_COLOR		0x00004307
-#define NV50_3D_BLEND_FACTOR_SRC_ALPHA_SATURATE			0x00004308
-#define NV50_3D_BLEND_FACTOR_CONSTANT_COLOR			0x0000c001
-#define NV50_3D_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR		0x0000c002
-#define NV50_3D_BLEND_FACTOR_CONSTANT_ALPHA			0x0000c003
-#define NV50_3D_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA		0x0000c004
-#define NV50_3D_BLEND_FACTOR_SRC1_COLOR				0x0000c900
-#define NV50_3D_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR		0x0000c901
-#define NV50_3D_BLEND_FACTOR_SRC1_ALPHA				0x0000c902
-#define NV50_3D_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA		0x0000c903
+#define NV50_BLEND_FACTOR_ZERO					0x00004000
+#define NV50_BLEND_FACTOR_ONE					0x00004001
+#define NV50_BLEND_FACTOR_SRC_COLOR				0x00004300
+#define NV50_BLEND_FACTOR_ONE_MINUS_SRC_COLOR			0x00004301
+#define NV50_BLEND_FACTOR_SRC_ALPHA				0x00004302
+#define NV50_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA			0x00004303
+#define NV50_BLEND_FACTOR_DST_ALPHA				0x00004304
+#define NV50_BLEND_FACTOR_ONE_MINUS_DST_ALPHA			0x00004305
+#define NV50_BLEND_FACTOR_DST_COLOR				0x00004306
+#define NV50_BLEND_FACTOR_ONE_MINUS_DST_COLOR			0x00004307
+#define NV50_BLEND_FACTOR_SRC_ALPHA_SATURATE			0x00004308
+#define NV50_BLEND_FACTOR_CONSTANT_COLOR				0x0000c001
+#define NV50_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR		0x0000c002
+#define NV50_BLEND_FACTOR_CONSTANT_ALPHA				0x0000c003
+#define NV50_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA		0x0000c004
+#define NV50_BLEND_FACTOR_SRC1_COLOR				0x0000c900
+#define NV50_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR			0x0000c901
+#define NV50_BLEND_FACTOR_SRC1_ALPHA				0x0000c902
+#define NV50_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA			0x0000c903
 
 #endif /* NV_3DDEFS_XML */
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_defs.xml.h b/src/gallium/drivers/nouveau/nv50/nv50_defs.xml.h
index 80de3be..aad2a85 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_defs.xml.h
+++ b/src/gallium/drivers/nouveau/nv50/nv50_defs.xml.h
@@ -4,15 +4,15 @@
 /* Autogenerated file, DO NOT EDIT manually!
 
 This file was generated by the rules-ng-ng headergen tool in this git repository:
-http://0x04.net/cgit/index.cgi/rules-ng-ng
-git clone git://0x04.net/rules-ng-ng
+http://github.com/envytools/envytools/
+git clone https://github.com/envytools/envytools.git
 
 The rules-ng-ng source files this header was generated from are:
-- rnndb/nv50_defs.xml    (   7783 bytes, from 2013-02-14 13:56:25)
-- ./rnndb/copyright.xml  (   6452 bytes, from 2011-08-11 18:25:12)
-- ./rnndb/nvchipsets.xml (   3704 bytes, from 2012-08-18 12:48:55)
+- rnndb/g80_defs.xml   (  18175 bytes, from 2014-09-25 06:32:11)
+- rnndb/copyright.xml  (   6452 bytes, from 2013-05-14 03:57:49)
+- rnndb/nvchipsets.xml (   2759 bytes, from 2014-10-05 01:51:02)
 
-Copyright (C) 2006-2013 by the following authors:
+Copyright (C) 2006-2014 by the following authors:
 - Artur Huillet <arthur.huillet at free.fr> (ahuillet)
 - Ben Skeggs (darktama, darktama_)
 - B. R. <koala_br at users.sourceforge.net> (koala_br)
@@ -78,24 +78,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_VSTATUS_BLOCKED					0x00000005
 #define NV50_VSTATUS_FAULTED					0x00000006
 #define NV50_VSTATUS_PAUSED					0x00000007
-#define NV50_SURFACE_FORMAT_NONE				0x00000000
 #define NV50_SURFACE_FORMAT_BITMAP				0x0000001c
 #define NV50_SURFACE_FORMAT_UNK1D				0x0000001d
-#define NV50_SURFACE_FORMAT_RGBA32_FLOAT			0x000000c0
+#define NV50_SURFACE_FORMAT_RGBA32_FLOAT				0x000000c0
 #define NV50_SURFACE_FORMAT_RGBA32_SINT				0x000000c1
 #define NV50_SURFACE_FORMAT_RGBA32_UINT				0x000000c2
-#define NV50_SURFACE_FORMAT_RGBX32_FLOAT			0x000000c3
+#define NV50_SURFACE_FORMAT_RGBX32_FLOAT				0x000000c3
 #define NV50_SURFACE_FORMAT_RGBX32_SINT				0x000000c4
 #define NV50_SURFACE_FORMAT_RGBX32_UINT				0x000000c5
-#define NV50_SURFACE_FORMAT_RGBA16_UNORM			0x000000c6
-#define NV50_SURFACE_FORMAT_RGBA16_SNORM			0x000000c7
+#define NV50_SURFACE_FORMAT_RGBA16_UNORM				0x000000c6
+#define NV50_SURFACE_FORMAT_RGBA16_SNORM				0x000000c7
 #define NV50_SURFACE_FORMAT_RGBA16_SINT				0x000000c8
 #define NV50_SURFACE_FORMAT_RGBA16_UINT				0x000000c9
-#define NV50_SURFACE_FORMAT_RGBA16_FLOAT			0x000000ca
+#define NV50_SURFACE_FORMAT_RGBA16_FLOAT				0x000000ca
 #define NV50_SURFACE_FORMAT_RG32_FLOAT				0x000000cb
 #define NV50_SURFACE_FORMAT_RG32_SINT				0x000000cc
 #define NV50_SURFACE_FORMAT_RG32_UINT				0x000000cd
-#define NV50_SURFACE_FORMAT_RGBX16_FLOAT			0x000000ce
+#define NV50_SURFACE_FORMAT_RGBX16_FLOAT				0x000000ce
 #define NV50_SURFACE_FORMAT_BGRA8_UNORM				0x000000cf
 #define NV50_SURFACE_FORMAT_BGRA8_SRGB				0x000000d0
 #define NV50_SURFACE_FORMAT_RGB10_A2_UNORM			0x000000d1
@@ -117,7 +116,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_SURFACE_FORMAT_R32_FLOAT				0x000000e5
 #define NV50_SURFACE_FORMAT_BGRX8_UNORM				0x000000e6
 #define NV50_SURFACE_FORMAT_BGRX8_SRGB				0x000000e7
-#define NV50_SURFACE_FORMAT_B5G6R5_UNORM			0x000000e8
+#define NV50_SURFACE_FORMAT_B5G6R5_UNORM				0x000000e8
 #define NV50_SURFACE_FORMAT_BGR5_A1_UNORM			0x000000e9
 #define NV50_SURFACE_FORMAT_RG8_UNORM				0x000000ea
 #define NV50_SURFACE_FORMAT_RG8_SNORM				0x000000eb
@@ -163,7 +162,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVE4_IMAGE_FORMAT_RG32_SINT				0x0000000e
 #define NVE4_IMAGE_FORMAT_RG32_UINT				0x0000000f
 #define NVE4_IMAGE_FORMAT_RGB10_A2_UNORM			0x00000013
-#define NVE4_IMAGE_FORMAT_RGB10_A2_UINT				0x00000015
+#define NVE4_IMAGE_FORMAT_RGB10_A2_UINT			0x00000015
 #define NVE4_IMAGE_FORMAT_RGBA8_UNORM				0x00000018
 #define NVE4_IMAGE_FORMAT_RGBA8_SNORM				0x0000001a
 #define NVE4_IMAGE_FORMAT_RGBA8_SINT				0x0000001b
@@ -190,7 +189,70 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVE4_IMAGE_FORMAT_R8_SNORM				0x00000038
 #define NVE4_IMAGE_FORMAT_R8_SINT				0x00000039
 #define NVE4_IMAGE_FORMAT_R8_UINT				0x0000003a
-#define NV50_QUERY__SIZE					0x00000010
+#define NV50_PGRAPH_DATA_ERROR_INVALID_OPERATION			0x00000003
+#define NV50_PGRAPH_DATA_ERROR_INVALID_VALUE			0x00000004
+#define NV50_PGRAPH_DATA_ERROR_INVALID_ENUM			0x00000005
+#define NV50_PGRAPH_DATA_ERROR_INVALID_OBJECT			0x00000008
+#define NV50_PGRAPH_DATA_ERROR_READ_ONLY_OBJECT			0x00000009
+#define NV50_PGRAPH_DATA_ERROR_SUPERVISOR_OBJECT			0x0000000a
+#define NV50_PGRAPH_DATA_ERROR_INVALID_ADDRESS_ALIGNMENT		0x0000000b
+#define NV50_PGRAPH_DATA_ERROR_INVALID_BITFIELD			0x0000000c
+#define NV50_PGRAPH_DATA_ERROR_BEGIN_END_ACTIVE			0x0000000d
+#define NV50_PGRAPH_DATA_ERROR_SEMANTIC_COLOR_BACK_OVER_LIMIT	0x0000000e
+#define NV50_PGRAPH_DATA_ERROR_VIEWPORT_ID_NEEDS_GP		0x0000000f
+#define NV50_PGRAPH_DATA_ERROR_RT_DOUBLE_BIND			0x00000010
+#define NV50_PGRAPH_DATA_ERROR_RT_TYPES_MISMATCH			0x00000011
+#define NV50_PGRAPH_DATA_ERROR_RT_LINEAR_WITH_ZETA		0x00000012
+#define NV50_PGRAPH_DATA_ERROR_FP_TOO_FEW_REGS			0x00000015
+#define NV50_PGRAPH_DATA_ERROR_ZETA_FORMAT_CSAA_MISMATCH		0x00000016
+#define NV50_PGRAPH_DATA_ERROR_RT_LINEAR_WITH_MSAA		0x00000017
+#define NV50_PGRAPH_DATA_ERROR_FP_INTERPOLANT_START_OVER_LIMIT	0x00000018
+#define NV50_PGRAPH_DATA_ERROR_SEMANTIC_LAYER_OVER_LIMIT		0x00000019
+#define NV50_PGRAPH_DATA_ERROR_RT_INVALID_ALIGNMENT		0x0000001a
+#define NV50_PGRAPH_DATA_ERROR_SAMPLER_OVER_LIMIT		0x0000001b
+#define NV50_PGRAPH_DATA_ERROR_TEXTURE_OVER_LIMIT		0x0000001c
+#define NV50_PGRAPH_DATA_ERROR_GP_TOO_MANY_OUTPUTS		0x0000001e
+#define NV50_PGRAPH_DATA_ERROR_RT_BPP128_WITH_MS8		0x0000001f
+#define NV50_PGRAPH_DATA_ERROR_Z_OUT_OF_BOUNDS			0x00000021
+#define NV50_PGRAPH_DATA_ERROR_XY_OUT_OF_BOUNDS			0x00000023
+#define NV50_PGRAPH_DATA_ERROR_VP_ZERO_INPUTS			0x00000024
+#define NV50_PGRAPH_DATA_ERROR_CP_MORE_PARAMS_THAN_SHARED	0x00000027
+#define NV50_PGRAPH_DATA_ERROR_CP_NO_REG_SPACE_STRIPED		0x00000028
+#define NV50_PGRAPH_DATA_ERROR_CP_NO_REG_SPACE_PACKED		0x00000029
+#define NV50_PGRAPH_DATA_ERROR_CP_NOT_ENOUGH_WARPS		0x0000002a
+#define NV50_PGRAPH_DATA_ERROR_CP_BLOCK_SIZE_MISMATCH		0x0000002b
+#define NV50_PGRAPH_DATA_ERROR_CP_NOT_ENOUGH_LOCAL_WARPS		0x0000002c
+#define NV50_PGRAPH_DATA_ERROR_CP_NOT_ENOUGH_STACK_WARPS		0x0000002d
+#define NV50_PGRAPH_DATA_ERROR_CP_NO_BLOCKDIM_LATCH		0x0000002e
+#define NV50_PGRAPH_DATA_ERROR_ENG2D_FORMAT_MISMATCH		0x00000031
+#define NV50_PGRAPH_DATA_ERROR_ENG2D_OPERATION_ILLEGAL_FOR_DST_FORMAT	0x00000033
+#define NV50_PGRAPH_DATA_ERROR_ENG2D_FORMAT_MISMATCH_B		0x00000034
+#define NV50_PGRAPH_DATA_ERROR_PRIMITIVE_ID_NEEDS_GP		0x0000003f
+#define NV50_PGRAPH_DATA_ERROR_SEMANTIC_VIEWPORT_OVER_LIMIT	0x00000044
+#define NV50_PGRAPH_DATA_ERROR_SEMANTIC_COLOR_FRONT_OVER_LIMIT	0x00000045
+#define NV50_PGRAPH_DATA_ERROR_LAYER_ID_NEEDS_GP			0x00000046
+#define NV50_PGRAPH_DATA_ERROR_SEMANTIC_CLIP_OVER_LIMIT		0x00000047
+#define NV50_PGRAPH_DATA_ERROR_SEMANTIC_PTSZ_OVER_LIMIT		0x00000048
+#define NV50_PGRAPH_DATA_ERROR_M2MF_LINE_LENGTH_EXCEEDS_PITCH_IN	0x00000051
+#define NV50_PGRAPH_DATA_ERROR_M2MF_LINE_LENGTH_EXCEEDS_PITCH_OUT	0x00000053
+#define NV50_PGRAPH_DATA_ERROR_RT_LINEAR_WITH_ZETA_GF100		0x00000098
+#define NV50_PGRAPH_DATA_ERROR_ENG2D_UNALIGNED_PITCH_GF100	0x000000a5
+#define NV50_CG_IDLE_TIMEOUT__MASK				0x0000003f
+#define NV50_CG_IDLE_TIMEOUT__SHIFT				0
+#define NV50_CG_IDLE_TIMEOUT_ENABLE				0x00000040
+#define NV50_CG_INTERFACE_REENABLE_TIME__MASK			0x000f0000
+#define NV50_CG_INTERFACE_REENABLE_TIME__SHIFT			16
+#define NV50_CG_THROTTLE_DUTY_M1__MASK				0x00f00000
+#define NV50_CG_THROTTLE_DUTY_M1__SHIFT				20
+#define NV50_CG_DELAY__MASK					0x0f000000
+#define NV50_CG_DELAY__SHIFT					24
+#define NV50_CG_CLOCK_THROTTLE_ENABLE				0x10000000
+#define NV50_CG_THROTTLE_MODE__MASK				0x20000000
+#define NV50_CG_THROTTLE_MODE__SHIFT				29
+#define NV50_CG_THROTTLE_MODE_AUTO				0x00000000
+#define NV50_CG_THROTTLE_MODE_MANUAL				0x20000000
+#define NV50_CG_INTERFACE_THROTTLE_ENABLE			0x40000000
+#define NV50_QUERY__SIZE						0x00000010
 #define NV50_QUERY_COUNTER					0x00000000
 
 #define NV50_QUERY_RES						0x00000004
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_formats.c b/src/gallium/drivers/nouveau/nv50/nv50_formats.c
index d394015..0f86ba1 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_formats.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_formats.c
@@ -73,12 +73,16 @@
 # define U_tV  U_V
 #endif
 
-#define NV50_ZETA_FORMAT_NONE 0
+#define NV50_ZETA_FORMAT_NONE    0
+#define NV50_SURFACE_FORMAT_NONE 0
 
 /* for vertex buffers: */
-#define NV50_TIC_0_FMT_8_8_8    NV50_TIC_0_FMT_8_8_8_8
-#define NV50_TIC_0_FMT_16_16_16 NV50_TIC_0_FMT_16_16_16_16
-#define NV50_TIC_0_FMT_32_32_32 NVC0_TIC_0_FMT_32_32_32
+#define NV50_TIC_0_FMT_8_8_8        NV50_TIC_0_FMT_8_8_8_8
+#define NV50_TIC_0_FMT_16_16_16     NV50_TIC_0_FMT_16_16_16_16
+#define NV50_TIC_0_FMT_32_32_32     NVC0_TIC_0_FMT_32_32_32
+#define NV50_TIC_0_FMT_BPTC         NVC0_TIC_0_FMT_BPTC
+#define NV50_TIC_0_FMT_BPTC_FLOAT   NVC0_TIC_0_FMT_BPTC_FLOAT
+#define NV50_TIC_0_FMT_BPTC_UFLOAT  NVC0_TIC_0_FMT_BPTC_UFLOAT
 
 #if NOUVEAU_DRIVER == 0xc0
 # define NVXX_3D_VAF_SIZE(s) NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_##s
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_program.c b/src/gallium/drivers/nouveau/nv50/nv50_program.c
index 4744a3c..aaca4c5 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_program.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_program.c
@@ -65,7 +65,7 @@ nv50_vertprog_assign_slots(struct nv50_ir_prog_info *info)
          continue;
       case TGSI_SEMANTIC_VERTEXID:
          prog->vp.attrs[2] |= NV50_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID;
-         prog->vp.attrs[2] |= NV50_3D_VP_GP_BUILTIN_ATTR_EN_UNK12;
+         prog->vp.attrs[2] |= NV50_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID_DRAW_ARRAYS_ADD_START;
          continue;
       default:
          break;
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_state.c b/src/gallium/drivers/nouveau/nv50/nv50_state.c
index f233efe..2907504 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_state.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_state.c
@@ -80,7 +80,7 @@ nv50_colormask(unsigned mask)
 }
 
 #define NV50_BLEND_FACTOR_CASE(a, b) \
-   case PIPE_BLENDFACTOR_##a: return NV50_3D_BLEND_FACTOR_##b
+   case PIPE_BLENDFACTOR_##a: return NV50_BLEND_FACTOR_##b
 
 static INLINE uint32_t
 nv50_blend_fac(unsigned factor)
@@ -106,7 +106,7 @@ nv50_blend_fac(unsigned factor)
    NV50_BLEND_FACTOR_CASE(INV_SRC1_COLOR, ONE_MINUS_SRC1_COLOR);
    NV50_BLEND_FACTOR_CASE(INV_SRC1_ALPHA, ONE_MINUS_SRC1_ALPHA);
    default:
-      return NV50_3D_BLEND_FACTOR_ZERO;
+      return NV50_BLEND_FACTOR_ZERO;
    }
 }
 
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_state_validate.c b/src/gallium/drivers/nouveau/nv50/nv50_state_validate.c
index 6916bea..85e19b4 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_state_validate.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_state_validate.c
@@ -8,7 +8,7 @@ nv50_fb_set_null_rt(struct nouveau_pushbuf *push, unsigned i)
    BEGIN_NV04(push, NV50_3D(RT_ADDRESS_HIGH(i)), 4);
    PUSH_DATA (push, 0);
    PUSH_DATA (push, 0);
-   PUSH_DATA (push, NV50_SURFACE_FORMAT_NONE);
+   PUSH_DATA (push, 0);
    PUSH_DATA (push, 0);
    BEGIN_NV04(push, NV50_3D(RT_HORIZ(i)), 2);
    PUSH_DATA (push, 64);
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_surface.c b/src/gallium/drivers/nouveau/nv50/nv50_surface.c
index e1d2b26..dc9852d 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_surface.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_surface.c
@@ -1304,8 +1304,8 @@ nv50_blit_eng2d(struct nv50_context *nv50, const struct pipe_blit_info *info)
       BEGIN_NV04(push, NV50_2D(ROP), 1);
       PUSH_DATA (push, 0xca); /* DPSDxax */
       BEGIN_NV04(push, NV50_2D(PATTERN_COLOR_FORMAT), 1);
-      PUSH_DATA (push, NV50_2D_PATTERN_COLOR_FORMAT_32BPP);
-      BEGIN_NV04(push, NV50_2D(PATTERN_COLOR(0)), 4);
+      PUSH_DATA (push, NV50_2D_PATTERN_COLOR_FORMAT_A8R8G8B8);
+      BEGIN_NV04(push, NV50_2D(PATTERN_BITMAP_COLOR(0)), 4);
       PUSH_DATA (push, 0x00000000);
       PUSH_DATA (push, mask);
       PUSH_DATA (push, 0xffffffff);
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_texture.xml.h b/src/gallium/drivers/nouveau/nv50/nv50_texture.xml.h
index 31eab9b..a2b9921 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_texture.xml.h
+++ b/src/gallium/drivers/nouveau/nv50/nv50_texture.xml.h
@@ -4,16 +4,16 @@
 /* Autogenerated file, DO NOT EDIT manually!
 
 This file was generated by the rules-ng-ng headergen tool in this git repository:
-http://0x04.net/cgit/index.cgi/rules-ng-ng
-git clone git://0x04.net/rules-ng-ng
+http://github.com/envytools/envytools/
+git clone https://github.com/envytools/envytools.git
 
 The rules-ng-ng source files this header was generated from are:
-- rnndb/nv50_texture.xml (   8648 bytes, from 2013-04-13 12:49:11)
-- rnndb/copyright.xml    (   6452 bytes, from 2011-08-11 18:25:12)
-- rnndb/nvchipsets.xml   (   3954 bytes, from 2013-03-26 01:26:43)
-- rnndb/nv50_defs.xml    (  16652 bytes, from 2013-04-04 10:57:15)
+- rnndb/graph/g80_texture.xml (   8881 bytes, from 2014-09-25 06:32:11)
+- rnndb/copyright.xml         (   6452 bytes, from 2013-05-14 03:57:49)
+- rnndb/nvchipsets.xml        (   2759 bytes, from 2014-10-05 01:51:02)
+- rnndb/g80_defs.xml          (  18175 bytes, from 2014-09-25 06:32:11)
 
-Copyright (C) 2006-2013 by the following authors:
+Copyright (C) 2006-2014 by the following authors:
 - Artur Huillet <arthur.huillet at free.fr> (ahuillet)
 - Ben Skeggs (darktama, darktama_)
 - B. R. <koala_br at users.sourceforge.net> (koala_br)
@@ -115,7 +115,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_TIC_0_FMT__MASK					0x0000003f
 #define NV50_TIC_0_FMT__SHIFT					0
 #define NV50_TIC_0_FMT_32_32_32_32				0x00000001
-#define NVC0_TIC_0_FMT_32_32_32					0x00000002
+#define NVC0_TIC_0_FMT_32_32_32				0x00000002
 #define NV50_TIC_0_FMT_16_16_16_16				0x00000003
 #define NV50_TIC_0_FMT_32_32					0x00000004
 #define NV50_TIC_0_FMT_32_8_X24					0x00000005
@@ -125,17 +125,17 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_TIC_0_FMT_24_8					0x0000000d
 #define NV50_TIC_0_FMT_8_24					0x0000000e
 #define NV50_TIC_0_FMT_32					0x0000000f
-#define NV50_TIC_0_FMT_BPTC_FLOAT				0x00000010
-#define NV50_TIC_0_FMT_BPTC_UFLOAT				0x00000011
+#define NVC0_TIC_0_FMT_BPTC_FLOAT				0x00000010
+#define NVC0_TIC_0_FMT_BPTC_UFLOAT				0x00000011
 #define NV50_TIC_0_FMT_4_4_4_4					0x00000012
 #define NV50_TIC_0_FMT_1_5_5_5					0x00000013
 #define NV50_TIC_0_FMT_5_5_5_1					0x00000014
 #define NV50_TIC_0_FMT_5_6_5					0x00000015
 #define NV50_TIC_0_FMT_5_5_6					0x00000016
-#define NV50_TIC_0_FMT_BPTC					0x00000017
+#define NVC0_TIC_0_FMT_BPTC					0x00000017
 #define NV50_TIC_0_FMT_8_8					0x00000018
 #define NV50_TIC_0_FMT_16					0x0000001b
-#define NV50_TIC_0_FMT_8					0x0000001d
+#define NV50_TIC_0_FMT_8						0x0000001d
 #define NV50_TIC_0_FMT_4_4					0x0000001e
 #define NV50_TIC_0_FMT_BITMAP					0x0000001f
 #define NV50_TIC_0_FMT_9_9_9_E5					0x00000020
@@ -161,7 +161,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_TIC_0_FMT_Z32_X8_C8_X16_MS8_CS8			0x00000034
 #define NV50_TIC_0_FMT_Z32_S8_C8_X16_MS4_CS4			0x00000035
 #define NV50_TIC_0_FMT_Z32_S8_C8_X16_MS8_CS8			0x00000036
-#define NV50_TIC_0_FMT_Z24_X8_S8_C8_X16_MS4_CS12		0x00000037
+#define NV50_TIC_0_FMT_Z24_X8_S8_C8_X16_MS4_CS12			0x00000037
 #define NV50_TIC_0_FMT_Z32_X8_C8_X16_MS4_CS12			0x00000038
 #define NV50_TIC_0_FMT_Z32_S8_C8_X16_MS4_CS12			0x00000039
 #define NV50_TIC_0_FMT_Z16					0x0000003a
@@ -175,14 +175,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_TIC_2_OFFSET_HIGH__SHIFT				0
 #define NV50_TIC_2_COLORSPACE_SRGB				0x00000400
 #define NV50_TIC_2_TARGET__MASK					0x0003c000
-#define NV50_TIC_2_TARGET__SHIFT				14
+#define NV50_TIC_2_TARGET__SHIFT					14
 #define NV50_TIC_2_TARGET_1D					0x00000000
 #define NV50_TIC_2_TARGET_2D					0x00004000
 #define NV50_TIC_2_TARGET_3D					0x00008000
 #define NV50_TIC_2_TARGET_CUBE					0x0000c000
 #define NV50_TIC_2_TARGET_1D_ARRAY				0x00010000
 #define NV50_TIC_2_TARGET_2D_ARRAY				0x00014000
-#define NV50_TIC_2_TARGET_BUFFER				0x00018000
+#define NV50_TIC_2_TARGET_BUFFER					0x00018000
 #define NV50_TIC_2_TARGET_RECT					0x0001c000
 #define NV50_TIC_2_TARGET_CUBE_ARRAY				0x00020000
 #define NV50_TIC_2_LINEAR					0x00040000
@@ -211,14 +211,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_TIC_5_DEPTH__MASK					0x0fff0000
 #define NV50_TIC_5_DEPTH__SHIFT					16
 #define NV50_TIC_5_HEIGHT__MASK					0x0000ffff
-#define NV50_TIC_5_HEIGHT__SHIFT				0
+#define NV50_TIC_5_HEIGHT__SHIFT					0
 
 #define NV50_TIC_7						0x0000001c
 #define NV50_TIC_7_BASE_LEVEL__MASK				0x0000000f
 #define NV50_TIC_7_BASE_LEVEL__SHIFT				0
 #define NV50_TIC_7_MAX_LEVEL__MASK				0x000000f0
 #define NV50_TIC_7_MAX_LEVEL__SHIFT				4
-#define NV50_TIC_7_MS_MODE__MASK				0x0000f000
+#define NV50_TIC_7_MS_MODE__MASK					0x0000f000
 #define NV50_TIC_7_MS_MODE__SHIFT				12
 #define NV50_TIC_7_MS_MODE_MS1					0x00000000
 #define NV50_TIC_7_MS_MODE_MS2					0x00001000
@@ -226,7 +226,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_TIC_7_MS_MODE_MS8					0x00003000
 #define NVA3_TIC_7_MS_MODE_MS8_ALT				0x00004000
 #define NVA3_TIC_7_MS_MODE_MS2_ALT				0x00005000
-#define NVC0_TIC_7_MS_MODE_UNK6					0x00006000
+#define NVC0_TIC_7_MS_MODE_UNK6				0x00006000
 #define NV50_TIC_7_MS_MODE_MS4_CS4				0x00008000
 #define NV50_TIC_7_MS_MODE_MS4_CS12				0x00009000
 #define NV50_TIC_7_MS_MODE_MS8_CS8				0x0000a000
@@ -240,7 +240,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_TSC_0_WRAPT__SHIFT					3
 #define NV50_TSC_0_WRAPR__MASK					0x000001c0
 #define NV50_TSC_0_WRAPR__SHIFT					6
-#define NV50_TSC_0_SHADOW_COMPARE_ENABLE			0x00000200
+#define NV50_TSC_0_SHADOW_COMPARE_ENABLE				0x00000200
 #define NV50_TSC_0_SHADOW_COMPARE_FUNC__MASK			0x00001c00
 #define NV50_TSC_0_SHADOW_COMPARE_FUNC__SHIFT			10
 #define NV50_TSC_0_SRGB_CONVERSION_ALLOWED			0x00002000
@@ -248,12 +248,12 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NV50_TSC_0_BOX_S__SHIFT					14
 #define NV50_TSC_0_BOX_T__MASK					0x000e0000
 #define NV50_TSC_0_BOX_T__SHIFT					17
-#define NV50_TSC_0_ANISOTROPY_MASK__MASK			0x00700000
+#define NV50_TSC_0_ANISOTROPY_MASK__MASK				0x00700000
 #define NV50_TSC_0_ANISOTROPY_MASK__SHIFT			20
 
 #define NV50_TSC_1						0x00000004
-#define NV50_TSC_1_UNKN_ANISO_15				0x10000000
-#define NV50_TSC_1_UNKN_ANISO_35				0x18000000
+#define NV50_TSC_1_UNKN_ANISO_15					0x10000000
+#define NV50_TSC_1_UNKN_ANISO_35					0x18000000
 #define NV50_TSC_1_MAGF__MASK					0x00000003
 #define NV50_TSC_1_MAGF__SHIFT					0
 #define NV50_TSC_1_MAGF_NEAREST					0x00000001
@@ -273,18 +273,18 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVE4_TSC_1_FORCE_NONNORMALIZED_COORDS			0x02000000
 
 #define NV50_TSC_2						0x00000008
-#define NV50_TSC_2_MIN_LOD__MASK				0x00000fff
+#define NV50_TSC_2_MIN_LOD__MASK					0x00000fff
 #define NV50_TSC_2_MIN_LOD__SHIFT				0
-#define NV50_TSC_2_MAX_LOD__MASK				0x00fff000
+#define NV50_TSC_2_MAX_LOD__MASK					0x00fff000
 #define NV50_TSC_2_MAX_LOD__SHIFT				12
 #define NV50_TSC_2_BORDER_COLOR_SRGB_RED__MASK			0xff000000
 #define NV50_TSC_2_BORDER_COLOR_SRGB_RED__SHIFT			24
 
 #define NV50_TSC_3						0x0000000c
-#define NV50_TSC_3_BORDER_COLOR_SRGB_GREEN__MASK		0x000ff000
+#define NV50_TSC_3_BORDER_COLOR_SRGB_GREEN__MASK			0x000ff000
 #define NV50_TSC_3_BORDER_COLOR_SRGB_GREEN__SHIFT		12
 #define NV50_TSC_3_BORDER_COLOR_SRGB_BLUE__MASK			0x0ff00000
-#define NV50_TSC_3_BORDER_COLOR_SRGB_BLUE__SHIFT		20
+#define NV50_TSC_3_BORDER_COLOR_SRGB_BLUE__SHIFT			20
 
 #define NV50_TSC_4						0x00000010
 #define NV50_TSC_4_BORDER_COLOR_RED__MASK			0xffffffff
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c
index 25a3232..6051f12 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state_validate.c
@@ -63,7 +63,7 @@ nvc0_fb_set_null_rt(struct nouveau_pushbuf *push, unsigned i)
    PUSH_DATA (push, 0);
    PUSH_DATA (push, 64);
    PUSH_DATA (push, 0);
-   PUSH_DATA (push, NV50_SURFACE_FORMAT_NONE);
+   PUSH_DATA (push, 0);
    PUSH_DATA (push, 0);
 }
 
-- 
2.0.5



More information about the Nouveau mailing list