* [PATCH 1/2] nv50: regenerate rnndb headers
@ 2014-12-31 3:42 Ilia Mirkin
[not found] ` <1419997367-7707-1-git-send-email-imirkin-FrUbXkNCsVf2fBVCVOL8/A@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Ilia Mirkin @ 2014-12-31 3:42 UTC (permalink / raw)
To: mesa-dev, nouveau
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@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@free.fr> (ahuillet)
- Ben Skeggs (darktama, darktama_)
- B. R. <koala_br@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@free.fr> (ahuillet)
- Ben Skeggs (darktama, darktama_)
- B. R. <koala_br@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@free.fr> (ahuillet)
- Ben Skeggs (darktama, darktama_)
- B. R. <koala_br@users.sourceforge.net> (koala_br)
@@ -27,7 +22,7 @@ Copyright (C) 2006-2010 by the following authors:
- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
- EdB <edb_@users.sf.net> (edb_)
- Erik Waling <erikwailing@users.sf.net> (erikwaling)
-- Francisco Jerez <currojerez@riseup.net> (curro, curro_, currojerez)
+- Francisco Jerez <currojerez@riseup.net> (curro)
- imirkin <imirkin@users.sf.net> (imirkin)
- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
- Jeremy Kolb <kjeremy@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@free.fr> (ahuillet)
- Ben Skeggs (darktama, darktama_)
- B. R. <koala_br@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@free.fr> (ahuillet)
- Ben Skeggs (darktama, darktama_)
- B. R. <koala_br@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
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] nvc0: regenerate rnndb headers
[not found] ` <1419997367-7707-1-git-send-email-imirkin-FrUbXkNCsVf2fBVCVOL8/A@public.gmane.org>
@ 2014-12-31 3:42 ` Ilia Mirkin
2015-01-04 18:43 ` [Nouveau] " Emil Velikov
0 siblings, 1 reply; 3+ messages in thread
From: Ilia Mirkin @ 2014-12-31 3:42 UTC (permalink / raw)
To: mesa-dev-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
The headers hadn't been regenerated in a long time and had seen a number
of manual modifications. A few changes:
- remove nvc0_2d entirely, use the nv50 header which has the nvc0
values too
- remove 3ddefs, it's identical to the nv50 file
- move macros out into a separate file
Also the upstream rnndb changed the overall chip naming convention; this
was fixed up manually in the generated files until a better solution is
determined.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
---
src/gallium/drivers/nouveau/nvc0/nvc0_2d.xml.h | 380 -------
src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h | 1115 ++++++++++++++++----
src/gallium/drivers/nouveau/nvc0/nvc0_3ddefs.xml.h | 98 --
.../drivers/nouveau/nvc0/nvc0_compute.xml.h | 67 +-
src/gallium/drivers/nouveau/nvc0/nvc0_context.h | 5 +-
src/gallium/drivers/nouveau/nvc0/nvc0_m2mf.xml.h | 67 +-
src/gallium/drivers/nouveau/nvc0/nvc0_macros.h | 32 +
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 6 +-
src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 6 +-
src/gallium/drivers/nouveau/nvc0/nvc0_surface.c | 22 +-
src/gallium/drivers/nouveau/nvc0/nvc0_tex.c | 12 +-
src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c | 8 +-
src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h | 4 +-
.../drivers/nouveau/nvc0/nve4_compute.xml.h | 61 +-
src/gallium/drivers/nouveau/nvc0/nve4_p2mf.xml.h | 102 +-
15 files changed, 1153 insertions(+), 832 deletions(-)
delete mode 100644 src/gallium/drivers/nouveau/nvc0/nvc0_2d.xml.h
delete mode 100644 src/gallium/drivers/nouveau/nvc0/nvc0_3ddefs.xml.h
create mode 100644 src/gallium/drivers/nouveau/nvc0/nvc0_macros.h
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_2d.xml.h b/src/gallium/drivers/nouveau/nvc0/nvc0_2d.xml.h
deleted file mode 100644
index 9a488c1..0000000
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_2d.xml.h
+++ /dev/null
@@ -1,380 +0,0 @@
-#ifndef NVC0_2D_XML
-#define NVC0_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
-
-The rules-ng-ng source files this header was generated from are:
-- nvc0_2d.xml ( 9454 bytes, from 2010-10-16 16:03:11)
-- copyright.xml ( 6498 bytes, from 2010-10-03 13:18:37)
-- nv_object.xml ( 11379 bytes, from 2010-10-16 11:43:24)
-- nvchipsets.xml ( 2907 bytes, from 2010-10-15 16:28:21)
-- nv_defs.xml ( 4437 bytes, from 2010-07-06 07:43:58)
-- nv50_defs.xml ( 4482 bytes, from 2010-10-03 13:18:37)
-
-Copyright (C) 2006-2010 by the following authors:
-- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
-- Ben Skeggs (darktama, darktama_)
-- B. R. <koala_br@users.sourceforge.net> (koala_br)
-- Carlos Martin <carlosmn@users.sf.net> (carlosmn)
-- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
-- Dawid Gajownik <gajownik@users.sf.net> (gajownik)
-- Dmitry Baryshkov
-- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
-- EdB <edb_@users.sf.net> (edb_)
-- Erik Waling <erikwailing@users.sf.net> (erikwaling)
-- Francisco Jerez <currojerez@riseup.net> (curro, curro_, currojerez)
-- imirkin <imirkin@users.sf.net> (imirkin)
-- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
-- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
-- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
-- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
-- Maarten Maathuis <madman2003@gmail.com> (stillunknown)
-- Marcin Kościelnicki <koriakin@0x04.net> (mwk, koriakin)
-- Mark Carey <mark.carey@gmail.com> (careym)
-- Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
-- nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
-- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
-- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
-- Peter Popov <ironpeter@users.sf.net> (ironpeter)
-- Richard Hughes <hughsient@users.sf.net> (hughsient)
-- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
-- Serge Martin
-- Simon Raffeiner
-- Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
-- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
-- sturmflut <sturmflut@users.sf.net> (sturmflut)
-- Sylvain Munaut <tnt@246tNt.com>
-- Victor Stinner <victor.stinner@haypocalc.com> (haypo)
-- Wladmir van der Laan <laanwj@gmail.com> (miathan6)
-- Younes Manton <younes.m@gmail.com> (ymanton)
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice (including the
-next paragraph) shall be included in all copies or substantial
-portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/
-
-
-
-#define NVC0_2D_DST_FORMAT 0x00000200
-
-#define NVC0_2D_DST_LINEAR 0x00000204
-
-#define NVC0_2D_DST_TILE_MODE 0x00000208
-
-#define NVC0_2D_DST_DEPTH 0x0000020c
-
-#define NVC0_2D_DST_LAYER 0x00000210
-
-#define NVC0_2D_DST_PITCH 0x00000214
-
-#define NVC0_2D_DST_WIDTH 0x00000218
-
-#define NVC0_2D_DST_HEIGHT 0x0000021c
-
-#define NVC0_2D_DST_ADDRESS_HIGH 0x00000220
-
-#define NVC0_2D_DST_ADDRESS_LOW 0x00000224
-
-#define NVC0_2D_UNK228 0x00000228
-
-#define NVC0_2D_SRC_FORMAT 0x00000230
-
-#define NVC0_2D_SRC_LINEAR 0x00000234
-
-#define NVC0_2D_SRC_TILE_MODE 0x00000238
-
-#define NVC0_2D_SRC_DEPTH 0x0000023c
-
-#define NVC0_2D_SRC_LAYER 0x00000240
-
-#define NVC0_2D_SRC_PITCH 0x00000244
-#define NVC0_2D_SRC_PITCH__MAX 0x00040000
-
-#define NVC0_2D_SRC_WIDTH 0x00000248
-#define NVC0_2D_SRC_WIDTH__MAX 0x00010000
-
-#define NVC0_2D_SRC_HEIGHT 0x0000024c
-#define NVC0_2D_SRC_HEIGHT__MAX 0x00010000
-
-#define NVC0_2D_SRC_ADDRESS_HIGH 0x00000250
-
-#define NVC0_2D_SRC_ADDRESS_LOW 0x00000254
-
-#define NVC0_2D_UNK258 0x00000258
-
-#define NVC0_2D_SINGLE_GPC 0x00000260
-
-#define NVC0_2D_COND_ADDRESS_HIGH 0x00000264
-
-#define NVC0_2D_COND_ADDRESS_LOW 0x00000268
-
-#define NVC0_2D_COND_MODE 0x0000026c
-#define NVC0_2D_COND_MODE_NEVER 0x00000000
-#define NVC0_2D_COND_MODE_ALWAYS 0x00000001
-#define NVC0_2D_COND_MODE_RES_NON_ZERO 0x00000002
-#define NVC0_2D_COND_MODE_EQUAL 0x00000003
-#define NVC0_2D_COND_MODE_NOT_EQUAL 0x00000004
-
-#define NVC0_2D_CLIP_X 0x00000280
-
-#define NVC0_2D_CLIP_Y 0x00000284
-
-#define NVC0_2D_CLIP_W 0x00000288
-
-#define NVC0_2D_CLIP_H 0x0000028c
-
-#define NVC0_2D_CLIP_ENABLE 0x00000290
-
-#define NVC0_2D_COLOR_KEY_FORMAT 0x00000294
-#define NVC0_2D_COLOR_KEY_FORMAT_16BPP 0x00000000
-#define NVC0_2D_COLOR_KEY_FORMAT_15BPP 0x00000001
-#define NVC0_2D_COLOR_KEY_FORMAT_24BPP 0x00000002
-#define NVC0_2D_COLOR_KEY_FORMAT_30BPP 0x00000003
-#define NVC0_2D_COLOR_KEY_FORMAT_8BPP 0x00000004
-#define NVC0_2D_COLOR_KEY_FORMAT_16BPP2 0x00000005
-#define NVC0_2D_COLOR_KEY_FORMAT_32BPP 0x00000006
-
-#define NVC0_2D_COLOR_KEY 0x00000298
-
-#define NVC0_2D_COLOR_KEY_ENABLE 0x0000029c
-
-#define NVC0_2D_ROP 0x000002a0
-
-#define NVC0_2D_BETA1 0x000002a4
-
-#define NVC0_2D_BETA4 0x000002a8
-
-#define NVC0_2D_OPERATION 0x000002ac
-#define NVC0_2D_OPERATION_SRCCOPY_AND 0x00000000
-#define NVC0_2D_OPERATION_ROP_AND 0x00000001
-#define NVC0_2D_OPERATION_BLEND 0x00000002
-#define NVC0_2D_OPERATION_SRCCOPY 0x00000003
-#define NVC0_2D_OPERATION_ROP 0x00000004
-#define NVC0_2D_OPERATION_SRCCOPY_PREMULT 0x00000005
-#define NVC0_2D_OPERATION_BLEND_PREMULT 0x00000006
-
-#define NVC0_2D_UNK2B0 0x000002b0
-#define NVC0_2D_UNK2B0_UNK0__MASK 0x0000003f
-#define NVC0_2D_UNK2B0_UNK0__SHIFT 0
-#define NVC0_2D_UNK2B0_UNK1__MASK 0x00003f00
-#define NVC0_2D_UNK2B0_UNK1__SHIFT 8
-
-#define NVC0_2D_PATTERN_SELECT 0x000002b4
-#define NVC0_2D_PATTERN_SELECT_MONO_8X8 0x00000000
-#define NVC0_2D_PATTERN_SELECT_MONO_64X1 0x00000001
-#define NVC0_2D_PATTERN_SELECT_MONO_1X64 0x00000002
-#define NVC0_2D_PATTERN_SELECT_COLOR 0x00000003
-
-#define NVC0_2D_PATTERN_COLOR_FORMAT 0x000002e8
-#define NVC0_2D_PATTERN_COLOR_FORMAT_16BPP 0x00000000
-#define NVC0_2D_PATTERN_COLOR_FORMAT_15BPP 0x00000001
-#define NVC0_2D_PATTERN_COLOR_FORMAT_32BPP 0x00000002
-#define NVC0_2D_PATTERN_COLOR_FORMAT_8BPP 0x00000003
-#define NVC0_2D_PATTERN_COLOR_FORMAT_UNK4 0x00000004
-#define NVC0_2D_PATTERN_COLOR_FORMAT_UNK5 0x00000005
-
-#define NVC0_2D_PATTERN_MONO_FORMAT 0x000002ec
-#define NVC0_2D_PATTERN_MONO_FORMAT_CGA6 0x00000000
-#define NVC0_2D_PATTERN_MONO_FORMAT_LE 0x00000001
-
-#define NVC0_2D_PATTERN_COLOR(i0) (0x000002f0 + 0x4*(i0))
-#define NVC0_2D_PATTERN_COLOR__ESIZE 0x00000004
-#define NVC0_2D_PATTERN_COLOR__LEN 0x00000002
-
-#define NVC0_2D_PATTERN_BITMAP(i0) (0x000002f8 + 0x4*(i0))
-#define NVC0_2D_PATTERN_BITMAP__ESIZE 0x00000004
-#define NVC0_2D_PATTERN_BITMAP__LEN 0x00000002
-
-#define NVC0_2D_PATTERN_X8R8G8B8(i0) (0x00000300 + 0x4*(i0))
-#define NVC0_2D_PATTERN_X8R8G8B8__ESIZE 0x00000004
-#define NVC0_2D_PATTERN_X8R8G8B8__LEN 0x00000040
-#define NVC0_2D_PATTERN_X8R8G8B8_B__MASK 0x000000ff
-#define NVC0_2D_PATTERN_X8R8G8B8_B__SHIFT 0
-#define NVC0_2D_PATTERN_X8R8G8B8_G__MASK 0x0000ff00
-#define NVC0_2D_PATTERN_X8R8G8B8_G__SHIFT 8
-#define NVC0_2D_PATTERN_X8R8G8B8_R__MASK 0x00ff0000
-#define NVC0_2D_PATTERN_X8R8G8B8_R__SHIFT 16
-
-#define NVC0_2D_PATTERN_R5G6B5(i0) (0x00000400 + 0x4*(i0))
-#define NVC0_2D_PATTERN_R5G6B5__ESIZE 0x00000004
-#define NVC0_2D_PATTERN_R5G6B5__LEN 0x00000020
-#define NVC0_2D_PATTERN_R5G6B5_B0__MASK 0x0000001f
-#define NVC0_2D_PATTERN_R5G6B5_B0__SHIFT 0
-#define NVC0_2D_PATTERN_R5G6B5_G0__MASK 0x000007e0
-#define NVC0_2D_PATTERN_R5G6B5_G0__SHIFT 5
-#define NVC0_2D_PATTERN_R5G6B5_R0__MASK 0x0000f800
-#define NVC0_2D_PATTERN_R5G6B5_R0__SHIFT 11
-#define NVC0_2D_PATTERN_R5G6B5_B1__MASK 0x001f0000
-#define NVC0_2D_PATTERN_R5G6B5_B1__SHIFT 16
-#define NVC0_2D_PATTERN_R5G6B5_G1__MASK 0x07e00000
-#define NVC0_2D_PATTERN_R5G6B5_G1__SHIFT 21
-#define NVC0_2D_PATTERN_R5G6B5_R1__MASK 0xf8000000
-#define NVC0_2D_PATTERN_R5G6B5_R1__SHIFT 27
-
-#define NVC0_2D_PATTERN_X1R5G5B5(i0) (0x00000480 + 0x4*(i0))
-#define NVC0_2D_PATTERN_X1R5G5B5__ESIZE 0x00000004
-#define NVC0_2D_PATTERN_X1R5G5B5__LEN 0x00000020
-#define NVC0_2D_PATTERN_X1R5G5B5_B0__MASK 0x0000001f
-#define NVC0_2D_PATTERN_X1R5G5B5_B0__SHIFT 0
-#define NVC0_2D_PATTERN_X1R5G5B5_G0__MASK 0x000003e0
-#define NVC0_2D_PATTERN_X1R5G5B5_G0__SHIFT 5
-#define NVC0_2D_PATTERN_X1R5G5B5_R0__MASK 0x00007c00
-#define NVC0_2D_PATTERN_X1R5G5B5_R0__SHIFT 10
-#define NVC0_2D_PATTERN_X1R5G5B5_B1__MASK 0x001f0000
-#define NVC0_2D_PATTERN_X1R5G5B5_B1__SHIFT 16
-#define NVC0_2D_PATTERN_X1R5G5B5_G1__MASK 0x03e00000
-#define NVC0_2D_PATTERN_X1R5G5B5_G1__SHIFT 21
-#define NVC0_2D_PATTERN_X1R5G5B5_R1__MASK 0x7c000000
-#define NVC0_2D_PATTERN_X1R5G5B5_R1__SHIFT 26
-
-#define NVC0_2D_PATTERN_Y8(i0) (0x00000500 + 0x4*(i0))
-#define NVC0_2D_PATTERN_Y8__ESIZE 0x00000004
-#define NVC0_2D_PATTERN_Y8__LEN 0x00000010
-#define NVC0_2D_PATTERN_Y8_Y0__MASK 0x000000ff
-#define NVC0_2D_PATTERN_Y8_Y0__SHIFT 0
-#define NVC0_2D_PATTERN_Y8_Y1__MASK 0x0000ff00
-#define NVC0_2D_PATTERN_Y8_Y1__SHIFT 8
-#define NVC0_2D_PATTERN_Y8_Y2__MASK 0x00ff0000
-#define NVC0_2D_PATTERN_Y8_Y2__SHIFT 16
-#define NVC0_2D_PATTERN_Y8_Y3__MASK 0xff000000
-#define NVC0_2D_PATTERN_Y8_Y3__SHIFT 24
-
-#define NVC0_2D_DRAW_SHAPE 0x00000580
-#define NVC0_2D_DRAW_SHAPE_POINTS 0x00000000
-#define NVC0_2D_DRAW_SHAPE_LINES 0x00000001
-#define NVC0_2D_DRAW_SHAPE_LINE_STRIP 0x00000002
-#define NVC0_2D_DRAW_SHAPE_TRIANGLES 0x00000003
-#define NVC0_2D_DRAW_SHAPE_RECTANGLES 0x00000004
-
-#define NVC0_2D_DRAW_COLOR_FORMAT 0x00000584
-
-#define NVC0_2D_DRAW_COLOR 0x00000588
-
-#define NVC0_2D_UNK58C 0x0000058c
-#define NVC0_2D_UNK58C_0 0x00000001
-#define NVC0_2D_UNK58C_1 0x00000010
-#define NVC0_2D_UNK58C_2 0x00000100
-#define NVC0_2D_UNK58C_3 0x00001000
-
-#define NVC0_2D_DRAW_POINT16 0x000005e0
-#define NVC0_2D_DRAW_POINT16_X__MASK 0x0000ffff
-#define NVC0_2D_DRAW_POINT16_X__SHIFT 0
-#define NVC0_2D_DRAW_POINT16_Y__MASK 0xffff0000
-#define NVC0_2D_DRAW_POINT16_Y__SHIFT 16
-
-#define NVC0_2D_DRAW_POINT32_X(i0) (0x00000600 + 0x8*(i0))
-#define NVC0_2D_DRAW_POINT32_X__ESIZE 0x00000008
-#define NVC0_2D_DRAW_POINT32_X__LEN 0x00000040
-
-#define NVC0_2D_DRAW_POINT32_Y(i0) (0x00000604 + 0x8*(i0))
-#define NVC0_2D_DRAW_POINT32_Y__ESIZE 0x00000008
-#define NVC0_2D_DRAW_POINT32_Y__LEN 0x00000040
-
-#define NVC0_2D_SIFC_BITMAP_ENABLE 0x00000800
-
-#define NVC0_2D_SIFC_FORMAT 0x00000804
-
-#define NVC0_2D_SIFC_BITMAP_FORMAT 0x00000808
-#define NVC0_2D_SIFC_BITMAP_FORMAT_I1 0x00000000
-#define NVC0_2D_SIFC_BITMAP_FORMAT_I4 0x00000001
-#define NVC0_2D_SIFC_BITMAP_FORMAT_I8 0x00000002
-
-#define NVC0_2D_SIFC_BITMAP_LSB_FIRST 0x0000080c
-
-#define NVC0_2D_SIFC_BITMAP_LINE_PACK_MODE 0x00000810
-#define NVC0_2D_SIFC_BITMAP_LINE_PACK_MODE_PACKED 0x00000000
-#define NVC0_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_BYTE 0x00000001
-#define NVC0_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_WORD 0x00000002
-
-#define NVC0_2D_SIFC_BITMAP_COLOR_BIT0 0x00000814
-
-#define NVC0_2D_SIFC_BITMAP_COLOR_BIT1 0x00000818
-
-#define NVC0_2D_SIFC_BITMAP_WRITE_BIT0_ENABLE 0x0000081c
-
-#define NVC0_2D_SIFC_WIDTH 0x00000838
-
-#define NVC0_2D_SIFC_HEIGHT 0x0000083c
-
-#define NVC0_2D_SIFC_DX_DU_FRACT 0x00000840
-
-#define NVC0_2D_SIFC_DX_DU_INT 0x00000844
-
-#define NVC0_2D_SIFC_DY_DV_FRACT 0x00000848
-
-#define NVC0_2D_SIFC_DY_DV_INT 0x0000084c
-
-#define NVC0_2D_SIFC_DST_X_FRACT 0x00000850
-
-#define NVC0_2D_SIFC_DST_X_INT 0x00000854
-
-#define NVC0_2D_SIFC_DST_Y_FRACT 0x00000858
-
-#define NVC0_2D_SIFC_DST_Y_INT 0x0000085c
-
-#define NVC0_2D_SIFC_DATA 0x00000860
-
-#define NVC0_2D_UNK0870 0x00000870
-
-#define NVC0_2D_UNK0880 0x00000880
-
-#define NVC0_2D_UNK0884 0x00000884
-
-#define NVC0_2D_UNK0888 0x00000888
-
-#define NVC0_2D_BLIT_CONTROL 0x0000088c
-#define NVC0_2D_BLIT_CONTROL_ORIGIN__MASK 0x00000001
-#define NVC0_2D_BLIT_CONTROL_ORIGIN__SHIFT 0
-#define NVC0_2D_BLIT_CONTROL_ORIGIN_CENTER 0x00000000
-#define NVC0_2D_BLIT_CONTROL_ORIGIN_CORNER 0x00000001
-#define NVC0_2D_BLIT_CONTROL_FILTER__MASK 0x00000010
-#define NVC0_2D_BLIT_CONTROL_FILTER__SHIFT 4
-#define NVC0_2D_BLIT_CONTROL_FILTER_POINT_SAMPLE 0x00000000
-#define NVC0_2D_BLIT_CONTROL_FILTER_BILINEAR 0x00000010
-
-#define NVC0_2D_BLIT_DST_X 0x000008b0
-
-#define NVC0_2D_BLIT_DST_Y 0x000008b4
-
-#define NVC0_2D_BLIT_DST_W 0x000008b8
-
-#define NVC0_2D_BLIT_DST_H 0x000008bc
-
-#define NVC0_2D_BLIT_DU_DX_FRACT 0x000008c0
-
-#define NVC0_2D_BLIT_DU_DX_INT 0x000008c4
-
-#define NVC0_2D_BLIT_DV_DY_FRACT 0x000008c8
-
-#define NVC0_2D_BLIT_DV_DY_INT 0x000008cc
-
-#define NVC0_2D_BLIT_SRC_X_FRACT 0x000008d0
-
-#define NVC0_2D_BLIT_SRC_X_INT 0x000008d4
-
-#define NVC0_2D_BLIT_SRC_Y_FRACT 0x000008d8
-
-#define NVC0_2D_BLIT_SRC_Y_INT 0x000008dc
-
-
-#endif /* NVC0_2D_XML */
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h b/src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h
index 57407c5..1be5952 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h
@@ -4,19 +4,20 @@
/* 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:
-- nvc0_3d.xml ( 30827 bytes, from 2011-01-13 18:23:07)
-- copyright.xml ( 6452 bytes, from 2010-11-25 23:28:20)
-- nv_defs.xml ( 4437 bytes, from 2010-07-06 07:43:58)
-- nv_3ddefs.xml ( 16394 bytes, from 2010-12-17 15:10:40)
-- nv_object.xml ( 11898 bytes, from 2010-12-23 14:14:20)
-- nvchipsets.xml ( 3074 bytes, from 2010-11-07 00:36:28)
-- nv50_defs.xml ( 4487 bytes, from 2010-12-10 00:37:17)
-
-Copyright (C) 2006-2011 by the following authors:
+- rnndb/graph/gf100_3d.xml ( 59971 bytes, from 2014-09-26 00:01:33)
+- rnndb/copyright.xml ( 6456 bytes, from 2014-12-31 02:13:31)
+- rnndb/nv_defs.xml ( 4399 bytes, from 2013-09-07 03:32:45)
+- 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)
+- 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/graph/gk104_p2mf.xml ( 2376 bytes, from 2014-09-25 06:32:11)
+
+Copyright (C) 2006-2014 by the following authors:
- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
- Ben Skeggs (darktama, darktama_)
- B. R. <koala_br@users.sourceforge.net> (koala_br)
@@ -28,7 +29,7 @@ Copyright (C) 2006-2011 by the following authors:
- EdB <edb_@users.sf.net> (edb_)
- Erik Waling <erikwailing@users.sf.net> (erikwaling)
- Francisco Jerez <currojerez@riseup.net> (curro)
-- imirkin <imirkin@users.sf.net> (imirkin)
+- Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
@@ -76,16 +77,74 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#define NVC0_3D_NOTIFY_ADDRESS_HIGH 0x00000104
-#define NVC0_3D_NOTIFY_ADDRESS_LOW 0x00000108
-#define NVC0_3D_NOTIFY 0x0000010c
-#define NVC0_3D_SERIALIZE 0x00000110
+
+#define NVE4_3D_UNK0144 0x00000144
+
+#define NVE4_3D_UPLOAD 0x00000000
+
+#define NVE4_3D_UPLOAD_LINE_LENGTH_IN 0x00000180
+
+#define NVE4_3D_UPLOAD_LINE_COUNT 0x00000184
+
+#define NVE4_3D_UPLOAD_DST_ADDRESS_HIGH 0x00000188
+
+#define NVE4_3D_UPLOAD_DST_ADDRESS_LOW 0x0000018c
+
+#define NVE4_3D_UPLOAD_DST_PITCH 0x00000190
+
+#define NVE4_3D_UPLOAD_DST_TILE_MODE 0x00000194
+
+#define NVE4_3D_UPLOAD_DST_WIDTH 0x00000198
+
+#define NVE4_3D_UPLOAD_DST_HEIGHT 0x0000019c
+
+#define NVE4_3D_UPLOAD_DST_DEPTH 0x000001a0
+
+#define NVE4_3D_UPLOAD_DST_Z 0x000001a4
+
+#define NVE4_3D_UPLOAD_DST_X 0x000001a8
+
+#define NVE4_3D_UPLOAD_DST_Y 0x000001ac
+
+#define NVE4_3D_UPLOAD_EXEC 0x000001b0
+#define NVE4_3D_UPLOAD_EXEC_LINEAR 0x00000001
+#define NVE4_3D_UPLOAD_EXEC_UNK1__MASK 0x0000007e
+#define NVE4_3D_UPLOAD_EXEC_UNK1__SHIFT 1
+#define NVE4_3D_UPLOAD_EXEC_BUF_NOTIFY 0x00000300
+#define NVE4_3D_UPLOAD_EXEC_UNK12__MASK 0x0000f000
+#define NVE4_3D_UPLOAD_EXEC_UNK12__SHIFT 12
+
+#define NVE4_3D_UPLOAD_DATA 0x000001b4
+
+#define NVE4_3D_UPLOAD_QUERY_ADDRESS_HIGH 0x000001dc
+
+#define NVE4_3D_UPLOAD_QUERY_ADDRESS_LOW 0x000001e0
+
+#define NVE4_3D_UPLOAD_QUERY_SEQUENCE 0x000001e4
+
+#define NVE4_3D_UPLOAD_UNK01F0 0x000001f0
+
+#define NVE4_3D_UPLOAD_UNK01F4 0x000001f4
+
+#define NVE4_3D_UPLOAD_UNK01F8 0x000001f8
+
+#define NVE4_3D_UPLOAD_UNK01FC 0x000001fc
+
+#define NVC0_3D_UNK200 0x00000200
+
+#define NVC0_3D_UNK204 0x00000204
+
+#define NVC0_3D_UNK208 0x00000208
#define NVC0_3D_LINE_WIDTH_SEPARATE 0x0000020c
#define NVC0_3D_FORCE_EARLY_FRAGMENT_TESTS 0x00000210
+#define NVC0_3D_UNK214 0x00000214
+
+#define NVC0_3D_UNK218 0x00000218
+
#define NVC0_3D_MEM_BARRIER 0x0000021c
#define NVC0_3D_MEM_BARRIER_UNK0 0x00000001
#define NVC0_3D_MEM_BARRIER_UNK1 0x00000002
@@ -94,36 +153,114 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_MEM_BARRIER_UNK8 0x00000100
#define NVC0_3D_MEM_BARRIER_UNK12 0x00001000
+#define NVC0_3D_UNK0220(i0) (0x00000220 + 0x4*(i0))
+#define NVC0_3D_UNK0220__ESIZE 0x00000004
+#define NVC0_3D_UNK0220__LEN 0x00000028
+
+#define NVC0_3D_UNK02C0 0x000002c0
+
+#define NVC0_3D_UNK02C4 0x000002c4
+
+#define NVC0_3D_GLOBAL_BASE 0x000002c8
+#define NVC0_3D_GLOBAL_BASE_HIGH__MASK 0x000000ff
+#define NVC0_3D_GLOBAL_BASE_HIGH__SHIFT 0
+#define NVC0_3D_GLOBAL_BASE_INDEX__MASK 0x00ff0000
+#define NVC0_3D_GLOBAL_BASE_INDEX__SHIFT 16
+#define NVC0_3D_GLOBAL_BASE_READ_OK 0x40000000
+#define NVC0_3D_GLOBAL_BASE_WRITE_OK 0x80000000
+
+#define NVC0_3D_UNK02CC 0x000002cc
+
+#define NVC0_3D_UNK02D0 0x000002d0
+
+#define NVC0_3D_UNK02D4 0x000002d4
+
+#define NVC0_3D_UNK02D8 0x000002d8
+
+#define NVC8_3D_UNK02E0 0x000002e0
+
+#define NVC1_3D_UNK02E4 0x000002e4
+#define NVC1_3D_UNK02E4_UNK0 0x00000001
+#define NVC1_3D_UNK02E4_UNK4 0x00000010
+#define NVC1_3D_UNK02E4_UNK8 0x00000100
+#define NVC1_3D_UNK02E4_UNK12__MASK 0x0000f000
+#define NVC1_3D_UNK02E4_UNK12__SHIFT 12
+
+#define NVC8_3D_UNK02E8 0x000002e8
+
+#define NVC0_3D_UNK02EC 0x000002ec
+#define NVC0_3D_UNK02EC_UNK0 0x00000001
+#define NVC0_3D_UNK02EC_UNK4__MASK 0x00000ff0
+#define NVC0_3D_UNK02EC_UNK4__SHIFT 4
+
+#define NVC8_3D_UNK02F8 0x000002f8
+
+#define NVC8_3D_UNK02FC 0x000002fc
+
+#define NVC0_3D_UNK0300 0x00000300
+
+#define NVC0_3D_UNK0304 0x00000304
+
#define NVC0_3D_CACHE_SPLIT 0x00000308
#define NVC1_3D_CACHE_SPLIT_16K_SHARED_48K_L1 0x00000001
#define NVE4_3D_CACHE_SPLIT_32K_SHARED_32K_L1 0x00000002
#define NVC0_3D_CACHE_SPLIT_48K_SHARED_16K_L1 0x00000003
+#define NVC0_3D_UNK030C 0x0000030c
+
+#define NVC0_3D_UNK0310 0x00000310
+
+#define NVE4_3D_UNK0310 0x00000310
+
+#define NVC0_3D_UNK0314 0x00000314
+
+#define NVC0_3D_UNK0318 0x00000318
+
+#define NVC0_3D_UNK031C 0x0000031c
+
#define NVC0_3D_TESS_MODE 0x00000320
-#define NVC0_3D_TESS_MODE_PRIM__MASK 0x0000000f
+#define NVC0_3D_TESS_MODE_PRIM__MASK 0x00000003
#define NVC0_3D_TESS_MODE_PRIM__SHIFT 0
-#define NVC0_3D_TESS_MODE_PRIM_ISOLINES 0x00000000
+#define NVC0_3D_TESS_MODE_PRIM_ISOLINES 0x00000000
#define NVC0_3D_TESS_MODE_PRIM_TRIANGLES 0x00000001
#define NVC0_3D_TESS_MODE_PRIM_QUADS 0x00000002
-#define NVC0_3D_TESS_MODE_SPACING__MASK 0x000000f0
+#define NVC0_3D_TESS_MODE_SPACING__MASK 0x00000030
#define NVC0_3D_TESS_MODE_SPACING__SHIFT 4
-#define NVC0_3D_TESS_MODE_SPACING_EQUAL 0x00000000
+#define NVC0_3D_TESS_MODE_SPACING_EQUAL 0x00000000
#define NVC0_3D_TESS_MODE_SPACING_FRACTIONAL_ODD 0x00000010
#define NVC0_3D_TESS_MODE_SPACING_FRACTIONAL_EVEN 0x00000020
#define NVC0_3D_TESS_MODE_CW 0x00000100
#define NVC0_3D_TESS_MODE_CONNECTED 0x00000200
#define NVC0_3D_TESS_LEVEL_OUTER(i0) (0x00000324 + 0x4*(i0))
-#define NVC0_3D_TESS_LEVEL_OUTER__ESIZE 0x00000004
+#define NVC0_3D_TESS_LEVEL_OUTER__ESIZE 0x00000004
#define NVC0_3D_TESS_LEVEL_OUTER__LEN 0x00000004
#define NVC0_3D_TESS_LEVEL_INNER(i0) (0x00000334 + 0x4*(i0))
-#define NVC0_3D_TESS_LEVEL_INNER__ESIZE 0x00000004
+#define NVC0_3D_TESS_LEVEL_INNER__ESIZE 0x00000004
#define NVC0_3D_TESS_LEVEL_INNER__LEN 0x00000002
+#define NVC0_3D_UNK033C(i0) (0x0000033c + 0x4*(i0))
+#define NVC0_3D_UNK033C__ESIZE 0x00000004
+#define NVC0_3D_UNK033C__LEN 0x00000009
+
+#define NVC0_3D_UNK0360 0x00000360
+
+#define NVC0_3D_UNK0364 0x00000364
+
+#define NVC0_3D_UNK0368 0x00000368
+
+#define NVC8_3D_UNK036C 0x0000036c
+
+#define NVC8_3D_UNK0370 0x00000370
+
+#define NVC8_3D_UNK0374 0x00000374
+
+#define NVC8_3D_UNK0378 0x00000378
+
#define NVC0_3D_RASTERIZE_ENABLE 0x0000037c
-#define NVC0_3D_TFB(i0) (0x00000380 + 0x20*(i0))
+#define NVC0_3D_TFB(i0) (0x00000380 + 0x20*(i0))
#define NVC0_3D_TFB__ESIZE 0x00000020
#define NVC0_3D_TFB__LEN 0x00000004
@@ -137,9 +274,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_TFB_BUFFER_OFFSET(i0) (0x00000390 + 0x20*(i0))
+#define NVC0_3D_UNK0400(i0) (0x00000400 + 0x4*(i0))
+#define NVC0_3D_UNK0400__ESIZE 0x00000004
+#define NVC0_3D_UNK0400__LEN 0x000000c0
+
#define NVC0_3D_TFB_STREAM(i0) (0x00000700 + 0x10*(i0))
#define NVC0_3D_TFB_STREAM__ESIZE 0x00000010
-#define NVC0_3D_TFB_STREAM__LEN 0x00000004
+#define NVC0_3D_TFB_STREAM__LEN 0x00000004
#define NVC0_3D_TFB_VARYING_COUNT(i0) (0x00000704 + 0x10*(i0))
#define NVC0_3D_TFB_VARYING_COUNT__ESIZE 0x00000010
@@ -149,15 +290,45 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_TFB_BUFFER_STRIDE__ESIZE 0x00000010
#define NVC0_3D_TFB_BUFFER_STRIDE__LEN 0x00000004
+#define NVC0_3D_UNK0740 0x00000740
+
#define NVC0_3D_TFB_ENABLE 0x00000744
+#define NVC0_3D_UNK0748 0x00000748
+
+#define NVC0_3D_UNK074C 0x0000074c
+
+#define NVC0_3D_UNK0750 0x00000750
+
#define NVC0_3D_SAMPLE_SHADING 0x00000754
#define NVC0_3D_SAMPLE_SHADING_MIN_SAMPLES__MASK 0x0000000f
#define NVC0_3D_SAMPLE_SHADING_MIN_SAMPLES__SHIFT 0
#define NVC0_3D_SAMPLE_SHADING_ENABLE 0x00000010
+#define NVC0_3D_UNK075C 0x0000075c
+
+#define NVC0_3D_UNK0760(i0) (0x00000760 + 0x4*(i0))
+#define NVC0_3D_UNK0760__ESIZE 0x00000004
+#define NVC0_3D_UNK0760__LEN 0x00000004
+
+#define NVC0_3D_UNK0770(i0) (0x00000770 + 0x4*(i0))
+#define NVC0_3D_UNK0770__ESIZE 0x00000004
+#define NVC0_3D_UNK0770__LEN 0x00000003
+#define NVC0_3D_UNK0770_UNK4__MASK 0x000000f0
+#define NVC0_3D_UNK0770_UNK4__SHIFT 4
+#define NVC0_3D_UNK0770_UNK12__MASK 0x0000f000
+#define NVC0_3D_UNK0770_UNK12__SHIFT 12
+#define NVC0_3D_UNK0770_UNK20__MASK 0x00f00000
+#define NVC0_3D_UNK0770_UNK20__SHIFT 20
+#define NVC0_3D_UNK0770_UNK28__MASK 0xf0000000
+#define NVC0_3D_UNK0770_UNK28__SHIFT 28
+
#define NVC0_3D_LOCAL_BASE 0x0000077c
+#define NVC0_3D_UNK0780(i0) (0x00000780 + 0x4*(i0))
+#define NVC0_3D_UNK0780__ESIZE 0x00000004
+#define NVC0_3D_UNK0780__LEN 0x00000004
+
#define NVC0_3D_TEMP_ADDRESS_HIGH 0x00000790
#define NVC0_3D_TEMP_ADDRESS_LOW 0x00000794
@@ -166,23 +337,61 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_TEMP_SIZE_LOW 0x0000079c
-#define NVC0_3D_WARP_TEMP_ALLOC 0x000007a0
+#define NVC0_3D_WARP_TEMP_ALLOC 0x000007a0
+
+#define NVC8_3D_UNK07A4(i0) (0x000007a4 + 0x4*(i0))
+#define NVC8_3D_UNK07A4__ESIZE 0x00000004
+#define NVC8_3D_UNK07A4__LEN 0x00000002
+
+#define NVE4_3D_UNK07AC 0x000007ac
+
+#define NVC0_3D_UNK07B0(i0) (0x000007b0 + 0x4*(i0))
+#define NVC0_3D_UNK07B0__ESIZE 0x00000004
+#define NVC0_3D_UNK07B0__LEN 0x00000004
#define NVC0_3D_ZCULL_WIDTH 0x000007c0
#define NVC0_3D_ZCULL_HEIGHT 0x000007c4
+#define NVC0_3D_ZCULL_UNK07C8 0x000007c8
+
+#define NVC0_3D_ZCULL_UNK07CC 0x000007cc
+
+#define NVC0_3D_UNK07D0(i0) (0x000007d0 + 0x4*(i0))
+#define NVC0_3D_UNK07D0__ESIZE 0x00000004
+#define NVC0_3D_UNK07D0__LEN 0x00000003
+#define NVC0_3D_UNK07D0_UNK4__MASK 0x000000f0
+#define NVC0_3D_UNK07D0_UNK4__SHIFT 4
+#define NVC0_3D_UNK07D0_UNK12__MASK 0x0000f000
+#define NVC0_3D_UNK07D0_UNK12__SHIFT 12
+#define NVC0_3D_UNK07D0_UNK20__MASK 0x00f00000
+#define NVC0_3D_UNK07D0_UNK20__SHIFT 20
+#define NVC0_3D_UNK07D0_UNK28__MASK 0xf0000000
+#define NVC0_3D_UNK07D0_UNK28__SHIFT 28
+
+#define NVC0_3D_UNK07DC 0x000007dc
+
+#define NVC0_3D_UNK07E0 0x000007e0
+
+#define NVC0_3D_UNK07E4 0x000007e4
+
#define NVC0_3D_ZCULL_ADDRESS_HIGH 0x000007e8
#define NVC0_3D_ZCULL_ADDRESS_LOW 0x000007ec
#define NVC0_3D_ZCULL_LIMIT_HIGH 0x000007f0
-#define NVC0_3D_ZCULL_LIMIT_LOW 0x000007f4
+#define NVC0_3D_ZCULL_LIMIT_LOW 0x000007f4
+
+#define NVC0_3D_UNK07F8 0x000007f8
+#define NVC0_3D_UNK07F8_UNK0 0x00000001
+#define NVC0_3D_UNK07F8_UNK1 0x00000010
+
+#define NVE4_3D_UNK07FC 0x000007fc
#define NVC0_3D_RT(i0) (0x00000800 + 0x40*(i0))
#define NVC0_3D_RT__ESIZE 0x00000040
-#define NVC0_3D_RT__LEN 0x00000008
+#define NVC0_3D_RT__LEN 0x00000008
#define NVC0_3D_RT_ADDRESS_HIGH(i0) (0x00000800 + 0x40*(i0))
@@ -215,15 +424,15 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_RT_UNK14(i0) (0x00000824 + 0x40*(i0))
#define NVC0_3D_VIEWPORT_SCALE_X(i0) (0x00000a00 + 0x20*(i0))
-#define NVC0_3D_VIEWPORT_SCALE_X__ESIZE 0x00000020
+#define NVC0_3D_VIEWPORT_SCALE_X__ESIZE 0x00000020
#define NVC0_3D_VIEWPORT_SCALE_X__LEN 0x00000010
#define NVC0_3D_VIEWPORT_SCALE_Y(i0) (0x00000a04 + 0x20*(i0))
-#define NVC0_3D_VIEWPORT_SCALE_Y__ESIZE 0x00000020
+#define NVC0_3D_VIEWPORT_SCALE_Y__ESIZE 0x00000020
#define NVC0_3D_VIEWPORT_SCALE_Y__LEN 0x00000010
#define NVC0_3D_VIEWPORT_SCALE_Z(i0) (0x00000a08 + 0x20*(i0))
-#define NVC0_3D_VIEWPORT_SCALE_Z__ESIZE 0x00000020
+#define NVC0_3D_VIEWPORT_SCALE_Z__ESIZE 0x00000020
#define NVC0_3D_VIEWPORT_SCALE_Z__LEN 0x00000010
#define NVC0_3D_VIEWPORT_TRANSLATE_X(i0) (0x00000a0c + 0x20*(i0))
@@ -242,9 +451,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_VIEWPORT_HORIZ__ESIZE 0x00000010
#define NVC0_3D_VIEWPORT_HORIZ__LEN 0x00000010
#define NVC0_3D_VIEWPORT_HORIZ_X__MASK 0x0000ffff
-#define NVC0_3D_VIEWPORT_HORIZ_X__SHIFT 0
+#define NVC0_3D_VIEWPORT_HORIZ_X__SHIFT 0
#define NVC0_3D_VIEWPORT_HORIZ_W__MASK 0xffff0000
-#define NVC0_3D_VIEWPORT_HORIZ_W__SHIFT 16
+#define NVC0_3D_VIEWPORT_HORIZ_W__SHIFT 16
#define NVC0_3D_VIEWPORT_VERT(i0) (0x00000c04 + 0x10*(i0))
#define NVC0_3D_VIEWPORT_VERT__ESIZE 0x00000010
@@ -255,7 +464,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_VIEWPORT_VERT_H__SHIFT 16
#define NVC0_3D_DEPTH_RANGE_NEAR(i0) (0x00000c08 + 0x10*(i0))
-#define NVC0_3D_DEPTH_RANGE_NEAR__ESIZE 0x00000010
+#define NVC0_3D_DEPTH_RANGE_NEAR__ESIZE 0x00000010
#define NVC0_3D_DEPTH_RANGE_NEAR__LEN 0x00000010
#define NVC0_3D_DEPTH_RANGE_FAR(i0) (0x00000c0c + 0x10*(i0))
@@ -278,7 +487,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_CLIP_RECT_VERT_MAX__MASK 0xffff0000
#define NVC0_3D_CLIP_RECT_VERT_MAX__SHIFT 16
-#define NVC0_3D_CLIPID_REGION_HORIZ(i0) (0x00000d40 + 0x8*(i0))
+#define NVC0_3D_CLIPID_REGION_HORIZ(i0) (0x00000d40 + 0x8*(i0))
#define NVC0_3D_CLIPID_REGION_HORIZ__ESIZE 0x00000008
#define NVC0_3D_CLIPID_REGION_HORIZ__LEN 0x00000004
#define NVC0_3D_CLIPID_REGION_HORIZ_X__MASK 0x0000ffff
@@ -288,12 +497,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_CLIPID_REGION_VERT(i0) (0x00000d44 + 0x8*(i0))
#define NVC0_3D_CLIPID_REGION_VERT__ESIZE 0x00000008
-#define NVC0_3D_CLIPID_REGION_VERT__LEN 0x00000004
+#define NVC0_3D_CLIPID_REGION_VERT__LEN 0x00000004
#define NVC0_3D_CLIPID_REGION_VERT_Y__MASK 0x0000ffff
#define NVC0_3D_CLIPID_REGION_VERT_Y__SHIFT 0
#define NVC0_3D_CLIPID_REGION_VERT_H__MASK 0xffff0000
#define NVC0_3D_CLIPID_REGION_VERT_H__SHIFT 16
+#define NVC0_3D_UNK0D60 0x00000d60
+
#define NVC0_3D_CALL_LIMIT_LOG 0x00000d64
#define NVC0_3D_COUNTER_ENABLE 0x00000d68
@@ -314,22 +525,58 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_COUNTER_ENABLE_UNK0E 0x00004000
#define NVC0_3D_COUNTER_ENABLE_UNK0F 0x00008000
+#define NVC0_3D_UNK0D6C(i0) (0x00000d6c + 0x4*(i0))
+#define NVC0_3D_UNK0D6C__ESIZE 0x00000004
+#define NVC0_3D_UNK0D6C__LEN 0x00000002
+#define NVC0_3D_UNK0D6C_X__MASK 0x0000ffff
+#define NVC0_3D_UNK0D6C_X__SHIFT 0
+#define NVC0_3D_UNK0D6C_Y__MASK 0xffff0000
+#define NVC0_3D_UNK0D6C_Y__SHIFT 16
+
#define NVC0_3D_VERTEX_BUFFER_FIRST 0x00000d74
#define NVC0_3D_VERTEX_BUFFER_COUNT 0x00000d78
#define NVC0_3D_DEPTH_CLIP_NEGATIVE_Z 0x00000d7c
-#define NVC0_3D_CLEAR_COLOR(i0) (0x00000d80 + 0x4*(i0))
+#define NVC0_3D_CLEAR_COLOR(i0) (0x00000d80 + 0x4*(i0))
#define NVC0_3D_CLEAR_COLOR__ESIZE 0x00000004
#define NVC0_3D_CLEAR_COLOR__LEN 0x00000004
#define NVC0_3D_CLEAR_DEPTH 0x00000d90
+#define NVC0_3D_UNK0D94 0x00000d94
+
+#define NVE4_3D_UNK0D98 0x00000d98
+
+#define NVC0_3D_UNK0D9C 0x00000d9c
+
#define NVC0_3D_CLEAR_STENCIL 0x00000da0
+#define NVE4_3D_UNK0DA4 0x00000da4
+#define NVE4_3D_UNK0DA4_UNK0 0x00000001
+#define NVE4_3D_UNK0DA4_UNK4 0x00000010
+#define NVE4_3D_UNK0DA4_UNK12 0x00001000
+
+#define NVC0_3D_POLYGON_MODE_FRONT 0x00000dac
+#define NVC0_3D_POLYGON_MODE_FRONT_POINT 0x00001b00
+#define NVC0_3D_POLYGON_MODE_FRONT_LINE 0x00001b01
+#define NVC0_3D_POLYGON_MODE_FRONT_FILL 0x00001b02
+
+#define NVC0_3D_POLYGON_MODE_BACK 0x00000db0
+#define NVC0_3D_POLYGON_MODE_BACK_POINT 0x00001b00
+#define NVC0_3D_POLYGON_MODE_BACK_LINE 0x00001b01
+#define NVC0_3D_POLYGON_MODE_BACK_FILL 0x00001b02
+
#define NVC0_3D_POLYGON_SMOOTH_ENABLE 0x00000db4
+#define NVC0_3D_UNK0DB8 0x00000db8
+
+#define NVC0_3D_ZCULL_UNK0DBC 0x00000dbc
+#define NVC0_3D_ZCULL_UNK0DBC_UNK0 0x00000001
+#define NVC0_3D_ZCULL_UNK0DBC_UNK16__MASK 0x00030000
+#define NVC0_3D_ZCULL_UNK0DBC_UNK16__SHIFT 16
+
#define NVC0_3D_POLYGON_OFFSET_POINT_ENABLE 0x00000dc0
#define NVC0_3D_POLYGON_OFFSET_LINE_ENABLE 0x00000dc4
@@ -338,13 +585,27 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_PATCH_VERTICES 0x00000dcc
+#define NVC0_3D_ZCULL_UNK0DD8 0x00000dd8
+#define NVC0_3D_ZCULL_UNK0DD8_UNK0__MASK 0x00000007
+#define NVC0_3D_ZCULL_UNK0DD8_UNK0__SHIFT 0
+#define NVC0_3D_ZCULL_UNK0DD8_UNK8__MASK 0x00000300
+#define NVC0_3D_ZCULL_UNK0DD8_UNK8__SHIFT 8
+#define NVC0_3D_ZCULL_UNK0DD8_UNK16__MASK 0xffff0000
+#define NVC0_3D_ZCULL_UNK0DD8_UNK16__SHIFT 16
+
+#define NVC0_3D_UNK0DDC 0x00000ddc
+
#define NVC0_3D_WATCHDOG_TIMER 0x00000de4
#define NVC0_3D_PRIM_RESTART_WITH_DRAW_ARRAYS 0x00000de8
-#define NVC0_3D_WINDOW_OFFSET_X 0x00000df8
+#define NVC0_3D_UNK0DEC 0x00000dec
-#define NVC0_3D_WINDOW_OFFSET_Y 0x00000dfc
+#define NVC0_3D_UNK0DF4 0x00000df4
+
+#define NVC0_3D_WINDOW_OFFSET_X 0x00000df8
+
+#define NVC0_3D_WINDOW_OFFSET_Y 0x00000dfc
#define NVC0_3D_SCISSOR_ENABLE(i0) (0x00000e00 + 0x10*(i0))
#define NVC0_3D_SCISSOR_ENABLE__ESIZE 0x00000010
@@ -353,18 +614,26 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_SCISSOR_HORIZ(i0) (0x00000e04 + 0x10*(i0))
#define NVC0_3D_SCISSOR_HORIZ__ESIZE 0x00000010
#define NVC0_3D_SCISSOR_HORIZ__LEN 0x00000010
-#define NVC0_3D_SCISSOR_HORIZ_MIN__MASK 0x0000ffff
+#define NVC0_3D_SCISSOR_HORIZ_MIN__MASK 0x0000ffff
#define NVC0_3D_SCISSOR_HORIZ_MIN__SHIFT 0
-#define NVC0_3D_SCISSOR_HORIZ_MAX__MASK 0xffff0000
+#define NVC0_3D_SCISSOR_HORIZ_MAX__MASK 0xffff0000
#define NVC0_3D_SCISSOR_HORIZ_MAX__SHIFT 16
#define NVC0_3D_SCISSOR_VERT(i0) (0x00000e08 + 0x10*(i0))
#define NVC0_3D_SCISSOR_VERT__ESIZE 0x00000010
#define NVC0_3D_SCISSOR_VERT__LEN 0x00000010
#define NVC0_3D_SCISSOR_VERT_MIN__MASK 0x0000ffff
-#define NVC0_3D_SCISSOR_VERT_MIN__SHIFT 0
+#define NVC0_3D_SCISSOR_VERT_MIN__SHIFT 0
#define NVC0_3D_SCISSOR_VERT_MAX__MASK 0xffff0000
-#define NVC0_3D_SCISSOR_VERT_MAX__SHIFT 16
+#define NVC0_3D_SCISSOR_VERT_MAX__SHIFT 16
+
+#define NVC0_3D_UNK0F00(i0) (0x00000f00 + 0x4*(i0))
+#define NVC0_3D_UNK0F00__ESIZE 0x00000004
+#define NVC0_3D_UNK0F00__LEN 0x00000004
+
+#define NVE4_3D_UNK0F20(i0) (0x00000f20 + 0x4*(i0))
+#define NVE4_3D_UNK0F20__ESIZE 0x00000004
+#define NVE4_3D_UNK0F20__LEN 0x00000005
#define NVC0_3D_STENCIL_BACK_FUNC_REF 0x00000f54
@@ -376,14 +645,20 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_VERTEX_RUNOUT_ADDRESS_LOW 0x00000f88
+#define NVC0_3D_UNK0F8C 0x00000f8c
+
#define NVC0_3D_COLOR_MASK_COMMON 0x00000f90
+#define NVC0_3D_UNK0F98 0x00000f98
+
#define NVC0_3D_DEPTH_BOUNDS(i0) (0x00000f9c + 0x4*(i0))
#define NVC0_3D_DEPTH_BOUNDS__ESIZE 0x00000004
#define NVC0_3D_DEPTH_BOUNDS__LEN 0x00000002
#define NVC0_3D_RT_SEPARATE_FRAG_DATA 0x00000fac
+#define NVC0_3D_UNK0FB0 0x00000fb0
+
#define NVC0_3D_MSAA_MASK(i0) (0x00000fbc + 0x4*(i0))
#define NVC0_3D_MSAA_MASK__ESIZE 0x00000004
#define NVC0_3D_MSAA_MASK__LEN 0x00000004
@@ -392,6 +667,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_CLIPID_ADDRESS_LOW 0x00000fd0
+#define NVC0_3D_UNK0FDC 0x00000fdc
+
#define NVC0_3D_ZETA_ADDRESS_HIGH 0x00000fe0
#define NVC0_3D_ZETA_ADDRESS_LOW 0x00000fe4
@@ -414,15 +691,92 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_SCREEN_SCISSOR_VERT_Y__MASK 0x0000ffff
#define NVC0_3D_SCREEN_SCISSOR_VERT_Y__SHIFT 0
+#define NVC0_3D_UNK1000 0x00001000
+
+#define NVC0_3D_UNK1008 0x00001008
+
+#define NVC0_3D_UNK100C 0x0000100c
+
+#define NVC0_3D_UNK1010 0x00001010
+
+#define NVC0_3D_UNK1018 0x00001018
+
+#define NVC0_3D_UNK101C 0x0000101c
+
+#define NVC0_3D_UNK1020 0x00001020
+
+#define NVC0_3D_UNK1024 0x00001024
+
+#define NVC0_3D_UNK1040(i0) (0x00001040 + 0x4*(i0))
+#define NVC0_3D_UNK1040__ESIZE 0x00000004
+#define NVC0_3D_UNK1040__LEN 0x00000010
+
+#define NVC0_3D_UNK10CC 0x000010cc
+#define NVC0_3D_UNK10CC_UNK0__MASK 0x000000ff
+#define NVC0_3D_UNK10CC_UNK0__SHIFT 0
+#define NVC0_3D_UNK10CC_UNK16__MASK 0x00ff0000
+#define NVC0_3D_UNK10CC_UNK16__SHIFT 16
+
+#define NVC0_3D_UNK10E0 0x000010e0
+#define NVC0_3D_UNK10E0_UNK0__MASK 0x000000ff
+#define NVC0_3D_UNK10E0_UNK0__SHIFT 0
+#define NVC0_3D_UNK10E0_UNK16__MASK 0x00ff0000
+#define NVC0_3D_UNK10E0_UNK16__SHIFT 16
+
+#define NVC0_3D_UNK10E4 0x000010e4
+#define NVC0_3D_UNK10E4_UNK0__MASK 0x000000ff
+#define NVC0_3D_UNK10E4_UNK0__SHIFT 0
+#define NVC0_3D_UNK10E4_UNK16__MASK 0x00ff0000
+#define NVC0_3D_UNK10E4_UNK16__SHIFT 16
+
+#define NVC0_3D_UNK10E8 0x000010e8
+#define NVC0_3D_UNK10E8_UNK0__MASK 0x0000003f
+#define NVC0_3D_UNK10E8_UNK0__SHIFT 0
+#define NVC0_3D_UNK10E8_UNK16__MASK 0x003f0000
+#define NVC0_3D_UNK10E8_UNK16__SHIFT 16
+
+#define NVC0_3D_UNK10EC 0x000010ec
+#define NVC0_3D_UNK10EC_UNK0__MASK 0x000000ff
+#define NVC0_3D_UNK10EC_UNK0__SHIFT 0
+#define NVC0_3D_UNK10EC_UNK16__MASK 0x00ff0000
+#define NVC0_3D_UNK10EC_UNK16__SHIFT 16
+
+#define NVC0_3D_UNK10F0 0x000010f0
+#define NVC0_3D_UNK10F0_UNK0__MASK 0x000000ff
+#define NVC0_3D_UNK10F0_UNK0__SHIFT 0
+#define NVC0_3D_UNK10F0_UNK16__MASK 0x00ff0000
+#define NVC0_3D_UNK10F0_UNK16__SHIFT 16
+
+#define NVC0_3D_UNK10F4 0x000010f4
+#define NVC0_3D_UNK10F4_UNK0 0x00000001
+#define NVC0_3D_UNK10F4_UNK4 0x00000010
+#define NVC0_3D_UNK10F4_UNK8 0x00000100
+
#define NVC0_3D_CLEAR_FLAGS 0x000010f8
#define NVC0_3D_CLEAR_FLAGS_STENCIL_MASK 0x00000001
#define NVC0_3D_CLEAR_FLAGS_UNK4 0x00000010
#define NVC0_3D_CLEAR_FLAGS_SCISSOR 0x00000100
#define NVC0_3D_CLEAR_FLAGS_VIEWPORT 0x00001000
-#define NVC0_3D_VERTEX_ID 0x00001118
+#define NVC0_3D_UNK10FC 0x000010fc
+
+#define NVC0_3D_UNK110C 0x0000110c
+
+#define NVC0_3D_UNK1110 0x00001110
+
+#define NVC0_3D_WRCACHE_FLUSH 0x00001114
+
+#define NVC0_3D_VERTEX_ID_BASE 0x00001118
+
+#define NVC0_3D_VTX_ATTR_MASK_UNK0DD0_ALT(i0) (0x00001120 + 0x4*(i0))
+#define NVC0_3D_VTX_ATTR_MASK_UNK0DD0_ALT__ESIZE 0x00000004
+#define NVC0_3D_VTX_ATTR_MASK_UNK0DD0_ALT__LEN 0x00000004
+
+#define NVC0_3D_UNK1140 0x00001140
-#define NVC0_3D_VTX_ATTR_DEFINE 0x0000114c
+#define NVC0_3D_UNK1144 0x00001144
+
+#define NVC0_3D_VTX_ATTR_DEFINE 0x0000114c
#define NVC0_3D_VTX_ATTR_DEFINE_ATTR__MASK 0x000000ff
#define NVC0_3D_VTX_ATTR_DEFINE_ATTR__SHIFT 0
#define NVC0_3D_VTX_ATTR_DEFINE_COMP__MASK 0x00000700
@@ -432,8 +786,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_VTX_ATTR_DEFINE_SIZE__MASK 0x00007000
#define NVC0_3D_VTX_ATTR_DEFINE_SIZE__SHIFT 12
#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_8 0x00001000
-#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_16 0x00002000
-#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_32 0x00004000
+#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_16 0x00002000
+#define NVC0_3D_VTX_ATTR_DEFINE_SIZE_32 0x00004000
#define NVC0_3D_VTX_ATTR_DEFINE_TYPE__MASK 0x00070000
#define NVC0_3D_VTX_ATTR_DEFINE_TYPE__SHIFT 16
#define NVC0_3D_VTX_ATTR_DEFINE_TYPE_SNORM 0x00010000
@@ -456,36 +810,40 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_CONST 0x00000040
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_OFFSET__MASK 0x001fff80
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_OFFSET__SHIFT 7
-#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE__MASK 0x07e00000
+#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE__MASK 0x07e00000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE__SHIFT 21
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32_32_32 0x00200000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32_32 0x00400000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16_16_16 0x00600000
-#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32 0x00800000
+#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32 0x00800000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16_16 0x00a00000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8_8_8 0x01400000
-#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16 0x01e00000
+#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16 0x01e00000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32 0x02400000
-#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8_8 0x02600000
+#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8_8 0x02600000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8 0x03000000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16 0x03600000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8 0x03a00000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_10_10_10_2 0x06000000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_11_11_10 0x06200000
-#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__MASK 0x38000000
+#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__MASK 0x38000000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__SHIFT 27
-#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SNORM 0x08000000
-#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_UNORM 0x10000000
+#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SNORM 0x08000000
+#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_UNORM 0x10000000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SINT 0x18000000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_UINT 0x20000000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_USCALED 0x28000000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SSCALED 0x30000000
-#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_FLOAT 0x38000000
+#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_FLOAT 0x38000000
#define NVC0_3D_VERTEX_ATTRIB_FORMAT_BGRA 0x80000000
+#define NVC0_3D_UNK1214 0x00001214
+
+#define NVC0_3D_UNK1218 0x00001218
+
#define NVC0_3D_RT_CONTROL 0x0000121c
#define NVC0_3D_RT_CONTROL_COUNT__MASK 0x0000000f
-#define NVC0_3D_RT_CONTROL_COUNT__SHIFT 0
+#define NVC0_3D_RT_CONTROL_COUNT__SHIFT 0
#define NVC0_3D_RT_CONTROL_MAP0__MASK 0x00000070
#define NVC0_3D_RT_CONTROL_MAP0__SHIFT 4
#define NVC0_3D_RT_CONTROL_MAP1__MASK 0x00000380
@@ -503,11 +861,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_RT_CONTROL_MAP7__MASK 0x0e000000
#define NVC0_3D_RT_CONTROL_MAP7__SHIFT 25
+#define NVC0_3D_UNK1220 0x00001220
+
#define NVC0_3D_ZETA_HORIZ 0x00001228
#define NVC0_3D_ZETA_VERT 0x0000122c
-#define NVC0_3D_ZETA_ARRAY_MODE 0x00001230
+#define NVC0_3D_ZETA_ARRAY_MODE 0x00001230
#define NVC0_3D_ZETA_ARRAY_MODE_LAYERS__MASK 0x0000ffff
#define NVC0_3D_ZETA_ARRAY_MODE_LAYERS__SHIFT 0
#define NVC0_3D_ZETA_ARRAY_MODE_UNK 0x00010000
@@ -516,19 +876,35 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_DRAW_TFB_BYTES 0x0000123c
-#define NVC0_3D_FP_RESULT_COUNT 0x00001298
+#define NVC0_3D_UNK1284 0x00001284
+
+#define NVC0_3D_UNK1288_TIC_FLUSH 0x00001288
+
+#define NVC0_3D_UNK1290 0x00001290
+
+#define NVC0_3D_UNK12A4 0x000012a4
+
+#define NVC0_3D_UNK12AC 0x000012ac
+
+#define NVC0_3D_UNK12C8 0x000012c8
#define NVC0_3D_DEPTH_TEST_ENABLE 0x000012cc
#define NVC0_3D_D3D_FILL_MODE 0x000012d0
#define NVC0_3D_D3D_FILL_MODE_POINT 0x00000001
-#define NVC0_3D_D3D_FILL_MODE_WIREFRAME 0x00000002
+#define NVC0_3D_D3D_FILL_MODE_WIREFRAME 0x00000002
#define NVC0_3D_D3D_FILL_MODE_SOLID 0x00000003
#define NVC0_3D_SHADE_MODEL 0x000012d4
#define NVC0_3D_SHADE_MODEL_FLAT 0x00001d00
#define NVC0_3D_SHADE_MODEL_SMOOTH 0x00001d01
+#define NVC0_3D_UNK12D8(i0) (0x000012d8 + 0x4*(i0))
+#define NVC0_3D_UNK12D8__ESIZE 0x00000004
+#define NVC0_3D_UNK12D8__LEN 0x00000002
+
+#define NVC0_3D_UNK12E0 0x000012e0
+
#define NVC0_3D_BLEND_INDEPENDENT 0x000012e4
#define NVC0_3D_DEPTH_WRITE_ENABLE 0x000012e8
@@ -538,51 +914,51 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_VB_ELEMENT_U8_SETUP 0x00001300
#define NVC0_3D_VB_ELEMENT_U8_SETUP_OFFSET__MASK 0xc0000000
#define NVC0_3D_VB_ELEMENT_U8_SETUP_OFFSET__SHIFT 30
-#define NVC0_3D_VB_ELEMENT_U8_SETUP_COUNT__MASK 0x3fffffff
+#define NVC0_3D_VB_ELEMENT_U8_SETUP_COUNT__MASK 0x3fffffff
#define NVC0_3D_VB_ELEMENT_U8_SETUP_COUNT__SHIFT 0
#define NVC0_3D_VB_ELEMENT_U8 0x00001304
#define NVC0_3D_VB_ELEMENT_U8_I0__MASK 0x000000ff
-#define NVC0_3D_VB_ELEMENT_U8_I0__SHIFT 0
+#define NVC0_3D_VB_ELEMENT_U8_I0__SHIFT 0
#define NVC0_3D_VB_ELEMENT_U8_I1__MASK 0x0000ff00
-#define NVC0_3D_VB_ELEMENT_U8_I1__SHIFT 8
+#define NVC0_3D_VB_ELEMENT_U8_I1__SHIFT 8
#define NVC0_3D_VB_ELEMENT_U8_I2__MASK 0x00ff0000
-#define NVC0_3D_VB_ELEMENT_U8_I2__SHIFT 16
+#define NVC0_3D_VB_ELEMENT_U8_I2__SHIFT 16
#define NVC0_3D_VB_ELEMENT_U8_I3__MASK 0xff000000
-#define NVC0_3D_VB_ELEMENT_U8_I3__SHIFT 24
+#define NVC0_3D_VB_ELEMENT_U8_I3__SHIFT 24
#define NVC0_3D_D3D_CULL_MODE 0x00001308
#define NVC0_3D_D3D_CULL_MODE_NONE 0x00000001
#define NVC0_3D_D3D_CULL_MODE_FRONT 0x00000002
#define NVC0_3D_D3D_CULL_MODE_BACK 0x00000003
-#define NVC0_3D_DEPTH_TEST_FUNC 0x0000130c
+#define NVC0_3D_DEPTH_TEST_FUNC 0x0000130c
#define NVC0_3D_DEPTH_TEST_FUNC_NEVER 0x00000200
#define NVC0_3D_DEPTH_TEST_FUNC_LESS 0x00000201
#define NVC0_3D_DEPTH_TEST_FUNC_EQUAL 0x00000202
#define NVC0_3D_DEPTH_TEST_FUNC_LEQUAL 0x00000203
-#define NVC0_3D_DEPTH_TEST_FUNC_GREATER 0x00000204
+#define NVC0_3D_DEPTH_TEST_FUNC_GREATER 0x00000204
#define NVC0_3D_DEPTH_TEST_FUNC_NOTEQUAL 0x00000205
#define NVC0_3D_DEPTH_TEST_FUNC_GEQUAL 0x00000206
#define NVC0_3D_DEPTH_TEST_FUNC_ALWAYS 0x00000207
#define NVC0_3D_ALPHA_TEST_REF 0x00001310
-#define NVC0_3D_ALPHA_TEST_FUNC 0x00001314
+#define NVC0_3D_ALPHA_TEST_FUNC 0x00001314
#define NVC0_3D_ALPHA_TEST_FUNC_NEVER 0x00000200
#define NVC0_3D_ALPHA_TEST_FUNC_LESS 0x00000201
#define NVC0_3D_ALPHA_TEST_FUNC_EQUAL 0x00000202
#define NVC0_3D_ALPHA_TEST_FUNC_LEQUAL 0x00000203
-#define NVC0_3D_ALPHA_TEST_FUNC_GREATER 0x00000204
+#define NVC0_3D_ALPHA_TEST_FUNC_GREATER 0x00000204
#define NVC0_3D_ALPHA_TEST_FUNC_NOTEQUAL 0x00000205
#define NVC0_3D_ALPHA_TEST_FUNC_GEQUAL 0x00000206
#define NVC0_3D_ALPHA_TEST_FUNC_ALWAYS 0x00000207
-#define NVC0_3D_DRAW_TFB_STRIDE 0x00001318
+#define NVC0_3D_DRAW_TFB_STRIDE 0x00001318
#define NVC0_3D_DRAW_TFB_STRIDE__MIN 0x00000001
#define NVC0_3D_DRAW_TFB_STRIDE__MAX 0x00000fff
-#define NVC0_3D_BLEND_COLOR(i0) (0x0000131c + 0x4*(i0))
+#define NVC0_3D_BLEND_COLOR(i0) (0x0000131c + 0x4*(i0))
#define NVC0_3D_BLEND_COLOR__ESIZE 0x00000004
#define NVC0_3D_BLEND_COLOR__LEN 0x00000004
@@ -597,8 +973,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_TIC_FLUSH_ENTRY__SHIFT 4
#define NVC0_3D_TEX_CACHE_CTL 0x00001338
-#define NVC0_3D_TEX_CACHE_CTL_UNK1__MASK 0x00000030
-#define NVC0_3D_TEX_CACHE_CTL_UNK1__SHIFT 4
+#define NVC0_3D_TEX_CACHE_CTL_UNK0__MASK 0x00000007
+#define NVC0_3D_TEX_CACHE_CTL_UNK0__SHIFT 0
+#define NVE4_3D_TEX_CACHE_CTL_UNK0 0x00000001
+#define NVC0_3D_TEX_CACHE_CTL_ENTRY__MASK 0x03fffff0
+#define NVC0_3D_TEX_CACHE_CTL_ENTRY__SHIFT 4
#define NVC0_3D_BLEND_SEPARATE_ALPHA 0x0000133c
@@ -622,6 +1001,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_BLEND_FUNC_SRC_ALPHA 0x00001350
+#define NVC0_3D_UNK1354 0x00001354
+
#define NVC0_3D_BLEND_FUNC_DST_ALPHA 0x00001358
#define NVC0_3D_BLEND_ENABLE_COMMON 0x0000135c
@@ -639,8 +1020,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_STENCIL_FRONT_OP_FAIL_REPLACE 0x00001e01
#define NVC0_3D_STENCIL_FRONT_OP_FAIL_INCR 0x00001e02
#define NVC0_3D_STENCIL_FRONT_OP_FAIL_DECR 0x00001e03
-#define NVC0_3D_STENCIL_FRONT_OP_FAIL_INCR_WRAP 0x00008507
-#define NVC0_3D_STENCIL_FRONT_OP_FAIL_DECR_WRAP 0x00008508
+#define NVC0_3D_STENCIL_FRONT_OP_FAIL_INCR_WRAP 0x00008507
+#define NVC0_3D_STENCIL_FRONT_OP_FAIL_DECR_WRAP 0x00008508
#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL 0x00001388
#define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_ZERO 0x00000000
@@ -662,19 +1043,19 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_INCR_WRAP 0x00008507
#define NVC0_3D_STENCIL_FRONT_OP_ZPASS_DECR_WRAP 0x00008508
-#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC 0x00001390
+#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC 0x00001390
#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_NEVER 0x00000200
#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_LESS 0x00000201
#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_EQUAL 0x00000202
#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_LEQUAL 0x00000203
-#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_GREATER 0x00000204
+#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_GREATER 0x00000204
#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL 0x00000205
#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_GEQUAL 0x00000206
#define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_ALWAYS 0x00000207
#define NVC0_3D_STENCIL_FRONT_FUNC_REF 0x00001394
-#define NVC0_3D_STENCIL_FRONT_FUNC_MASK 0x00001398
+#define NVC0_3D_STENCIL_FRONT_FUNC_MASK 0x00001398
#define NVC0_3D_STENCIL_FRONT_MASK 0x0000139c
@@ -698,20 +1079,47 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_LINE_WIDTH_ALIASED 0x000013b4
-#define NVC0_3D_GP_VERTEX_OUTPUT_COUNT 0x00001420
-#define NVC0_3D_GP_VERTEX_OUTPUT_COUNT__MIN 0x00000001
-#define NVC0_3D_GP_VERTEX_OUTPUT_COUNT__MAX 0x00000400
+#define NVC0_3D_UNK1418 0x00001418
+
+#define NVC0_3D_UNK1420 0x00001420
+
+#define NVC0_3D_UNK1424_TSC_FLUSH 0x00001424
+
+#define NVC0_3D_UNK1428_TIC_FLUSH 0x00001428
#define NVC0_3D_VERTEX_ARRAY_FLUSH 0x0000142c
-#define NVC0_3D_VB_ELEMENT_BASE 0x00001434
+#define NVC0_3D_UNK1430 0x00001430
+#define NVC0_3D_UNK1430_UNK0 0x00000010
+#define NVC0_3D_UNK1430_UNK1 0x00000100
+
+#define NVC0_3D_VB_ELEMENT_BASE 0x00001434
#define NVC0_3D_VB_INSTANCE_BASE 0x00001438
-#define NVC0_3D_CODE_CB_FLUSH 0x00001440
+#define NVC0_3D_UNK143C_CLEAR_FLAGS 0x0000143c
+#define NVC0_3D_UNK143C_CLEAR_FLAGS_STENCIL_MASK 0x00000001
+#define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT__MASK 0x00000010
+#define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT__SHIFT 4
+#define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT_SCISSOR 0x00000000
+#define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT_VIEWPORT 0x00000000
+
+#define NVC0_3D_UNK1444 0x00001444
+
+#define NVC0_3D_UNK1448 0x00001448
+
+#define NVC0_3D_UNK144C 0x0000144c
+
+#define NVC0_3D_UNK1450 0x00001450
+
+#define NVC0_3D_UNK1454 0x00001454
+
+#define NVC0_3D_UNK1464 0x00001464
+
+#define NVC0_3D_UNK1500 0x00001500
#define NVC0_3D_CLIPID_HEIGHT 0x00001504
-#define NVC0_3D_CLIPID_HEIGHT__MAX 0x00002000
+#define NVC0_3D_CLIPID_HEIGHT__MAX 0x00004000
#define NVC0_3D_CLIPID_FILL_RECT_HORIZ 0x00001508
#define NVC0_3D_CLIPID_FILL_RECT_HORIZ_LOW__MASK 0x0000ffff
@@ -720,7 +1128,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_CLIPID_FILL_RECT_HORIZ_HIGH__SHIFT 16
#define NVC0_3D_CLIPID_FILL_RECT_VERT 0x0000150c
-#define NVC0_3D_CLIPID_FILL_RECT_VERT_LOW__MASK 0x0000ffff
+#define NVC0_3D_CLIPID_FILL_RECT_VERT_LOW__MASK 0x0000ffff
#define NVC0_3D_CLIPID_FILL_RECT_VERT_LOW__SHIFT 0
#define NVC0_3D_CLIPID_FILL_RECT_VERT_HIGH__MASK 0xffff0000
#define NVC0_3D_CLIPID_FILL_RECT_VERT_HIGH__SHIFT 16
@@ -744,7 +1152,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_POINT_SPRITE_ENABLE 0x00001520
#define NVC0_3D_COUNTER_RESET 0x00001530
-#define NVC0_3D_COUNTER_RESET_SAMPLECNT 0x00000001
+#define NVC0_3D_COUNTER_RESET_SAMPLECNT 0x00000001
#define NVC0_3D_COUNTER_RESET_UNK02 0x00000002
#define NVC0_3D_COUNTER_RESET_UNK03 0x00000003
#define NVC0_3D_COUNTER_RESET_UNK04 0x00000004
@@ -776,15 +1184,15 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_COND_ADDRESS_LOW 0x00001554
#define NVC0_3D_COND_MODE 0x00001558
-#define NVC0_3D_COND_MODE_NEVER 0x00000000
+#define NVC0_3D_COND_MODE_NEVER 0x00000000
#define NVC0_3D_COND_MODE_ALWAYS 0x00000001
#define NVC0_3D_COND_MODE_RES_NON_ZERO 0x00000002
-#define NVC0_3D_COND_MODE_EQUAL 0x00000003
+#define NVC0_3D_COND_MODE_EQUAL 0x00000003
#define NVC0_3D_COND_MODE_NOT_EQUAL 0x00000004
#define NVC0_3D_TSC_ADDRESS_HIGH 0x0000155c
-#define NVC0_3D_TSC_ADDRESS_LOW 0x00001560
+#define NVC0_3D_TSC_ADDRESS_LOW 0x00001560
#define NVC0_3D_TSC_ADDRESS_LOW__ALIGN 0x00000020
#define NVC0_3D_TSC_LIMIT 0x00001564
@@ -796,13 +1204,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_TIC_ADDRESS_HIGH 0x00001574
-#define NVC0_3D_TIC_ADDRESS_LOW 0x00001578
+#define NVC0_3D_TIC_ADDRESS_LOW 0x00001578
#define NVC0_3D_TIC_LIMIT 0x0000157c
#define NVC0_3D_ZCULL_REGION 0x00001590
-#define NVC0_3D_STENCIL_TWO_SIDE_ENABLE 0x00001594
+#define NVC0_3D_STENCIL_TWO_SIDE_ENABLE 0x00001594
#define NVC0_3D_STENCIL_BACK_OP_FAIL 0x00001598
#define NVC0_3D_STENCIL_BACK_OP_FAIL_ZERO 0x00000000
@@ -821,8 +1229,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_REPLACE 0x00001e01
#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INCR 0x00001e02
#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_DECR 0x00001e03
-#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INCR_WRAP 0x00008507
-#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NVC0_3D_STENCIL_BACK_OP_ZFAIL_DECR_WRAP 0x00008508
#define NVC0_3D_STENCIL_BACK_OP_ZPASS 0x000015a0
#define NVC0_3D_STENCIL_BACK_OP_ZPASS_ZERO 0x00000000
@@ -831,8 +1239,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_STENCIL_BACK_OP_ZPASS_REPLACE 0x00001e01
#define NVC0_3D_STENCIL_BACK_OP_ZPASS_INCR 0x00001e02
#define NVC0_3D_STENCIL_BACK_OP_ZPASS_DECR 0x00001e03
-#define NVC0_3D_STENCIL_BACK_OP_ZPASS_INCR_WRAP 0x00008507
-#define NVC0_3D_STENCIL_BACK_OP_ZPASS_DECR_WRAP 0x00008508
+#define NVC0_3D_STENCIL_BACK_OP_ZPASS_INCR_WRAP 0x00008507
+#define NVC0_3D_STENCIL_BACK_OP_ZPASS_DECR_WRAP 0x00008508
#define NVC0_3D_STENCIL_BACK_FUNC_FUNC 0x000015a4
#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_NEVER 0x00000200
@@ -840,7 +1248,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_EQUAL 0x00000202
#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_LEQUAL 0x00000203
#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_GREATER 0x00000204
-#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_NOTEQUAL 0x00000205
#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_GEQUAL 0x00000206
#define NVC0_3D_STENCIL_BACK_FUNC_FUNC_ALWAYS 0x00000207
@@ -850,8 +1258,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_POLYGON_OFFSET_UNITS 0x000015bc
+#define NVC0_3D_UNK15C8 0x000015c8
+
#define NVC0_3D_LAYER 0x000015cc
-#define NVC0_3D_LAYER_IDX__MASK 0x0000ffff
+#define NVC0_3D_LAYER_IDX__MASK 0x0000ffff
#define NVC0_3D_LAYER_IDX__SHIFT 0
#define NVC0_3D_LAYER_USE_GP 0x00010000
@@ -868,24 +1278,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_MULTISAMPLE_MODE_MS8_CS8 0x0000000a
#define NVC0_3D_MULTISAMPLE_MODE_MS8_CS24 0x0000000b
-#define NVC0_3D_VERTEX_BEGIN_D3D 0x000015d4
-#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE__MASK 0x0fffffff
-#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE__SHIFT 0
-#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_POINTS 0x00000001
-#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINES 0x00000002
-#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINE_STRIP 0x00000003
-#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLES 0x00000004
-#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLE_STRIP 0x00000005
-#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINES_ADJACENCY 0x0000000a
-#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINE_STRIP_ADJACENCY 0x0000000b
-#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLES_ADJACENCY 0x0000000c
-#define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLE_STRIP_ADJACENCY 0x0000000d
-#define NVC0_3D_VERTEX_BEGIN_D3D_INSTANCE_NEXT 0x10000000
-
-#define NVC0_3D_VERTEX_END_D3D 0x000015d8
-#define NVC0_3D_VERTEX_END_D3D_UNK0 0x00000001
-#define NVC0_3D_VERTEX_END_D3D_UNK1 0x00000002
-
#define NVC0_3D_EDGEFLAG 0x000015e4
#define NVC0_3D_VB_ELEMENT_U32 0x000015e8
@@ -897,46 +1289,52 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_VB_ELEMENT_U16_SETUP_COUNT__SHIFT 0
#define NVC0_3D_VB_ELEMENT_U16 0x000015f0
-#define NVC0_3D_VB_ELEMENT_U16_I0__MASK 0x0000ffff
+#define NVC0_3D_VB_ELEMENT_U16_I0__MASK 0x0000ffff
#define NVC0_3D_VB_ELEMENT_U16_I0__SHIFT 0
-#define NVC0_3D_VB_ELEMENT_U16_I1__MASK 0xffff0000
+#define NVC0_3D_VB_ELEMENT_U16_I1__MASK 0xffff0000
#define NVC0_3D_VB_ELEMENT_U16_I1__SHIFT 16
#define NVC0_3D_VERTEX_BASE_HIGH 0x000015f4
-#define NVC0_3D_VERTEX_BASE_LOW 0x000015f8
+#define NVC0_3D_VERTEX_BASE_LOW 0x000015f8
#define NVC0_3D_ZCULL_WINDOW_OFFSET_X 0x000015fc
#define NVC0_3D_ZCULL_WINDOW_OFFSET_Y 0x00001600
#define NVC0_3D_POINT_COORD_REPLACE 0x00001604
+#define NVC0_3D_POINT_COORD_REPLACE_UNK0__MASK 0x00000003
+#define NVC0_3D_POINT_COORD_REPLACE_UNK0__SHIFT 0
+#define NVC0_3D_POINT_COORD_REPLACE_UNK0_UNK0 0x00000000
+#define NVC0_3D_POINT_COORD_REPLACE_UNK0_UNK1 0x00000001
+#define NVC0_3D_POINT_COORD_REPLACE_UNK0_UNK2 0x00000002
#define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN__MASK 0x00000004
-#define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN__SHIFT 2
+#define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN__SHIFT 2
#define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN_LOWER_LEFT 0x00000000
#define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN_UPPER_LEFT 0x00000004
-#define NVC0_3D_POINT_COORD_REPLACE_ENABLE__MASK 0x000007f8
+#define NVC0_3D_POINT_COORD_REPLACE_ENABLE__MASK 0x00001ff8
#define NVC0_3D_POINT_COORD_REPLACE_ENABLE__SHIFT 3
#define NVC0_3D_CODE_ADDRESS_HIGH 0x00001608
#define NVC0_3D_CODE_ADDRESS_LOW 0x0000160c
+#define NVC0_3D_UNK1610 0x00001610
+
#define NVC0_3D_VERTEX_END_GL 0x00001614
#define NVC0_3D_VERTEX_END_GL_UNK0 0x00000001
-#define NVC0_3D_VERTEX_END_GL_UNK1 0x00000002
-#define NVC0_3D_VERTEX_BEGIN_GL 0x00001618
-#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE__MASK 0x0fffffff
+#define NVC0_3D_VERTEX_BEGIN_GL 0x00001618
+#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE__MASK 0x0000ffff
#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE__SHIFT 0
#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_POINTS 0x00000000
-#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES 0x00000001
+#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES 0x00000001
#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_LOOP 0x00000002
#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_STRIP 0x00000003
#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES 0x00000004
#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP 0x00000005
#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_FAN 0x00000006
-#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUADS 0x00000007
+#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUADS 0x00000007
#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUAD_STRIP 0x00000008
#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_POLYGON 0x00000009
#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES_ADJACENCY 0x0000000a
@@ -944,13 +1342,28 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES_ADJACENCY 0x0000000c
#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP_ADJACENCY 0x0000000d
#define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_PATCHES 0x0000000e
+#define NVC0_3D_VERTEX_BEGIN_GL_UNK24 0x01000000
#define NVC0_3D_VERTEX_BEGIN_GL_INSTANCE_NEXT 0x04000000
#define NVC0_3D_VERTEX_BEGIN_GL_INSTANCE_CONT 0x08000000
+#define NVC0_3D_VERTEX_BEGIN_GL_UNK29 0x20000000
+#define NVC0_3D_VERTEX_BEGIN_GL_UNK30 0x40000000
#define NVC0_3D_VERTEX_ID_REPLACE 0x0000161c
#define NVC0_3D_VERTEX_ID_REPLACE_ENABLE 0x00000001
#define NVC0_3D_VERTEX_ID_REPLACE_SOURCE__MASK 0x00000ff0
-#define NVC0_3D_VERTEX_ID_REPLACE_SOURCE__SHIFT 4
+#define NVC0_3D_VERTEX_ID_REPLACE_SOURCE__SHIFT 4
+
+#define NVC0_3D_UNK1620 0x00001620
+
+#define NVC0_3D_UNK1624 0x00001624
+
+#define NVC0_3D_UNK162C 0x0000162c
+
+#define NVC0_3D_UNK1634 0x00001634
+
+#define NVC0_3D_UNK1638 0x00001638
+
+#define NVC0_3D_UNK163C 0x0000163c
#define NVC0_3D_VERTEX_DATA 0x00001640
@@ -958,11 +1371,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_PRIM_RESTART_INDEX 0x00001648
-#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN 0x0000164c
-#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID 0x00000001
-#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_INSTANCE_ID 0x00000010
-#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_PRIMITIVE_ID 0x00000100
-#define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_UNK12 0x00001000
+#define NVC0_3D_VERTEX_ID_GEN_MODE 0x0000164c
+#define NVC0_3D_VERTEX_ID_GEN_MODE_DRAW_ARRAYS_ADD_START 0x00001000
#define NVC0_3D_POINT_SMOOTH_ENABLE 0x00001658
@@ -971,10 +1381,28 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_POINT_RASTER_RULES_D3D 0x00000001
#define NVC0_3D_TEX_MISC 0x00001664
+#define NVC0_3D_TEX_MISC_UNK 0x00000002
#define NVC0_3D_TEX_MISC_SEAMLESS_CUBE_MAP 0x00000004
+#define NVC0_3D_LINE_SMOOTH_BLUR 0x00001668
+#define NVC0_3D_LINE_SMOOTH_BLUR_LOW 0x00000000
+#define NVC0_3D_LINE_SMOOTH_BLUR_MEDIUM 0x00000001
+#define NVC0_3D_LINE_SMOOTH_BLUR_HIGH 0x00000002
+
#define NVC0_3D_LINE_STIPPLE_ENABLE 0x0000166c
+#define NVC0_3D_COVERAGE_LUT(i0) (0x00001670 + 0x4*(i0))
+#define NVC0_3D_COVERAGE_LUT__ESIZE 0x00000004
+#define NVC0_3D_COVERAGE_LUT__LEN 0x00000004
+#define NVC0_3D_COVERAGE_LUT_0__MASK 0x000000ff
+#define NVC0_3D_COVERAGE_LUT_0__SHIFT 0
+#define NVC0_3D_COVERAGE_LUT_1__MASK 0x0000ff00
+#define NVC0_3D_COVERAGE_LUT_1__SHIFT 8
+#define NVC0_3D_COVERAGE_LUT_2__MASK 0x00ff0000
+#define NVC0_3D_COVERAGE_LUT_2__SHIFT 16
+#define NVC0_3D_COVERAGE_LUT_3__MASK 0xff000000
+#define NVC0_3D_COVERAGE_LUT_3__SHIFT 24
+
#define NVC0_3D_LINE_STIPPLE_PATTERN 0x00001680
#define NVC0_3D_PROVOKING_VERTEX_LAST 0x00001684
@@ -983,11 +1411,33 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_POLYGON_STIPPLE_ENABLE 0x0000168c
+#define NVC0_3D_UNK1690 0x00001690
+#define NVC0_3D_UNK1690_ALWAYS_DERIV 0x00000001
+#define NVC0_3D_UNK1690_UNK16 0x00010000
+
+#define NVE4_3D_UNK1690 0x00001690
+
+#define NVC0_3D_UNK169C 0x0000169c
+
+#define NVC0_3D_UNK16A0 0x000016a0
+
+#define NVC0_3D_UNK16A4 0x000016a4
+
+#define NVC0_3D_UNK16A8 0x000016a8
+
+#define NVC0_3D_UNK16B4 0x000016b4
+#define NVC0_3D_UNK16B4_UNK0 0x00000001
+#define NVC0_3D_UNK16B4_UNK1 0x00000002
+
#define NVC0_3D_POLYGON_STIPPLE_PATTERN(i0) (0x00001700 + 0x4*(i0))
#define NVC0_3D_POLYGON_STIPPLE_PATTERN__ESIZE 0x00000004
#define NVC0_3D_POLYGON_STIPPLE_PATTERN__LEN 0x00000020
-#define NVC0_3D_ZETA_BASE_LAYER 0x0000179c
+#define NVC0_3D_UNK1790 0x00001790
+
+#define NVC0_3D_UNK1794 0x00001794
+
+#define NVC0_3D_ZETA_BASE_LAYER 0x0000179c
#define NVC0_3D_VERTEX_QUARANTINE_ADDRESS_HIGH 0x000017bc
@@ -998,16 +1448,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_VERTEX_QUARANTINE_SIZE_32K 0x00000002
#define NVC0_3D_VERTEX_QUARANTINE_SIZE_64K 0x00000003
-#define NVC0_3D_STRMOUT_UNK1780(i0) (0x00001780 + 0x4*(i0))
-#define NVC0_3D_STRMOUT_UNK1780__ESIZE 0x00000004
-#define NVC0_3D_STRMOUT_UNK1780__LEN 0x00000004
-
-#define NVC0_3D_UNK17BC_ADDRESS_HIGH 0x000017bc
-
-#define NVC0_3D_UNK17BC_ADDRESS_LOW 0x000017c0
-
-#define NVC0_3D_UNK17BC_LIMIT 0x000017c4
-
#define NVC0_3D_INDEX_ARRAY_START_HIGH 0x000017c8
#define NVC0_3D_INDEX_ARRAY_START_LOW 0x000017cc
@@ -1016,19 +1456,29 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_INDEX_ARRAY_LIMIT_LOW 0x000017d4
-#define NVC0_3D_INDEX_LOG2_SIZE 0x000017d8
+#define NVC0_3D_INDEX_FORMAT 0x000017d8
+#define NVC0_3D_INDEX_FORMAT_I8 0x00000000
+#define NVC0_3D_INDEX_FORMAT_I16 0x00000001
+#define NVC0_3D_INDEX_FORMAT_I32 0x00000002
#define NVC0_3D_INDEX_BATCH_FIRST 0x000017dc
#define NVC0_3D_INDEX_BATCH_COUNT 0x000017e0
+#define NVC0_3D_UN17E4(i0) (0x000017e4 + 0x4*(i0))
+#define NVC0_3D_UN17E4__ESIZE 0x00000004
+#define NVC0_3D_UN17E4__LEN 0x00000006
+
#define NVC0_3D_POLYGON_OFFSET_CLAMP 0x0000187c
#define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE(i0) (0x00001880 + 0x4*(i0))
#define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE__ESIZE 0x00000004
#define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE__LEN 0x00000020
-#define NVC0_3D_VP_POINT_SIZE_EN 0x00001910
+#define NVC0_3D_VP_POINT_SIZE 0x00001910
+#define NVC0_3D_VP_POINT_SIZE_ENABLE 0x00000001
+#define NVC0_3D_VP_POINT_SIZE_UNK4__MASK 0x00000ff0
+#define NVC0_3D_VP_POINT_SIZE_UNK4__SHIFT 4
#define NVC0_3D_CULL_FACE_ENABLE 0x00001918
@@ -1037,21 +1487,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_FRONT_FACE_CCW 0x00000901
#define NVC0_3D_CULL_FACE 0x00001920
-#define NVC0_3D_CULL_FACE_FRONT 0x00000404
+#define NVC0_3D_CULL_FACE_FRONT 0x00000404
#define NVC0_3D_CULL_FACE_BACK 0x00000405
#define NVC0_3D_CULL_FACE_FRONT_AND_BACK 0x00000408
-#define NVC0_3D_PIXEL_CENTER_INTEGER 0x00001924
+#define NVC0_3D_PIXEL_CENTER_INTEGER 0x00001924
#define NVC0_3D_VIEWPORT_TRANSFORM_EN 0x0000192c
+#define NVC0_3D_UNK1930 0x00001930
+
#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL 0x0000193c
#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_RANGE_0_1 0x00000001
#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1__MASK 0x00000006
#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1__SHIFT 1
-#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK0 0x00000000
-#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK1 0x00000002
-#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK2 0x00000004
+#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK0 0x00000000
+#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK1 0x00000002
+#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK2 0x00000004
#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_NEAR 0x00000008
#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_FAR 0x00000010
#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK7 0x00000080
@@ -1097,22 +1549,40 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_CLIP_DISTANCE_MODE_7_CLIP 0x00000000
#define NVC0_3D_CLIP_DISTANCE_MODE_7_CULL 0x10000000
+#define NVC0_3D_UNK1944 0x00001944
+
+#define NVC0_3D_UNK1948 0x00001948
+
#define NVC0_3D_CLIP_RECTS_EN 0x0000194c
-#define NVC0_3D_CLIP_RECTS_MODE 0x00001950
+#define NVC0_3D_CLIP_RECTS_MODE 0x00001950
#define NVC0_3D_CLIP_RECTS_MODE_INSIDE_ANY 0x00000000
#define NVC0_3D_CLIP_RECTS_MODE_OUTSIDE_ALL 0x00000001
#define NVC0_3D_CLIP_RECTS_MODE_NEVER 0x00000002
#define NVC0_3D_ZCULL_INVALIDATE 0x00001958
-#define NVC0_3D_ZCULL_TEST_MASK 0x0000196c
-#define NVC0_3D_ZCULL_TEST_MASK_FAIL_GT_PASS_LT 0x00000001
-#define NVC0_3D_ZCULL_TEST_MASK_PASS_GT_FAIL_LT 0x00000010
+#define NVC0_3D_ZCULL_UNK1968 0x00001968
+#define NVC0_3D_ZCULL_UNK1968_TESTS_ENABLE 0x00000001
+#define NVC0_3D_ZCULL_UNK1968_UNK4 0x00000010
-#define NVC0_3D_FP_ZORDER_CTRL 0x0000196c
-#define NVC0_3D_FP_ZORDER_CTRL_0 0x00000001
-#define NVC0_3D_FP_ZORDER_CTRL_1 0x00000010
+#define NVC0_3D_ZCULL_TEST_MASK 0x0000196c
+#define NVC0_3D_ZCULL_TEST_MASK_FAIL_GT_PASS_LT 0x00000001
+#define NVC0_3D_ZCULL_TEST_MASK_PASS_GT_FAIL_LT 0x00000010
+
+#define NVC0_3D_UNK1970_D3D 0x00001970
+#define NVC0_3D_UNK1970_D3D_POINTS 0x00000001
+#define NVC0_3D_UNK1970_D3D_LINES 0x00000002
+#define NVC0_3D_UNK1970_D3D_LINE_STRIP 0x00000003
+#define NVC0_3D_UNK1970_D3D_TRIANGLES 0x00000004
+#define NVC0_3D_UNK1970_D3D_TRIANGLE_STRIP 0x00000005
+#define NVC0_3D_UNK1970_D3D_LINES_ADJACENCY 0x0000000a
+#define NVC0_3D_UNK1970_D3D_LINE_STRIP_ADJACENCY 0x0000000b
+#define NVC0_3D_UNK1970_D3D_TRIANGLES_ADJACENCY 0x0000000c
+#define NVC0_3D_UNK1970_D3D_TRIANGLE_STRIP_ADJACENCY 0x0000000d
+#define NVC0_3D_UNK1970_D3D_PATCHES 0x0000000e
+
+#define NVC0_3D_UNK1978 0x00001978
#define NVC0_3D_CLIPID_ENABLE 0x0000197c
@@ -1122,9 +1592,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_CLIPID_ID 0x00001984
-#define NVC0_3D_DEPTH_BOUNDS_EN 0x000019bc
+#define NVC0_3D_DEPTH_BOUNDS_EN 0x000019bc
+
+#define NVC0_3D_UNK19C0 0x000019c0
-#define NVC0_3D_LOGIC_OP_ENABLE 0x000019c4
+#define NVC0_3D_LOGIC_OP_ENABLE 0x000019c4
#define NVC0_3D_LOGIC_OP 0x000019c8
#define NVC0_3D_LOGIC_OP_CLEAR 0x00001500
@@ -1137,7 +1609,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_LOGIC_OP_OR 0x00001507
#define NVC0_3D_LOGIC_OP_NOR 0x00001508
#define NVC0_3D_LOGIC_OP_EQUIV 0x00001509
-#define NVC0_3D_LOGIC_OP_INVERT 0x0000150a
+#define NVC0_3D_LOGIC_OP_INVERT 0x0000150a
#define NVC0_3D_LOGIC_OP_OR_REVERSE 0x0000150b
#define NVC0_3D_LOGIC_OP_COPY_INVERTED 0x0000150c
#define NVC0_3D_LOGIC_OP_OR_INVERTED 0x0000150d
@@ -1147,14 +1619,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_ZETA_COMP_ENABLE 0x000019cc
#define NVC0_3D_CLEAR_BUFFERS 0x000019d0
-#define NVC0_3D_CLEAR_BUFFERS_Z 0x00000001
-#define NVC0_3D_CLEAR_BUFFERS_S 0x00000002
-#define NVC0_3D_CLEAR_BUFFERS_R 0x00000004
-#define NVC0_3D_CLEAR_BUFFERS_G 0x00000008
-#define NVC0_3D_CLEAR_BUFFERS_B 0x00000010
-#define NVC0_3D_CLEAR_BUFFERS_A 0x00000020
+#define NVC0_3D_CLEAR_BUFFERS_Z 0x00000001
+#define NVC0_3D_CLEAR_BUFFERS_S 0x00000002
+#define NVC0_3D_CLEAR_BUFFERS_R 0x00000004
+#define NVC0_3D_CLEAR_BUFFERS_G 0x00000008
+#define NVC0_3D_CLEAR_BUFFERS_B 0x00000010
+#define NVC0_3D_CLEAR_BUFFERS_A 0x00000020
#define NVC0_3D_CLEAR_BUFFERS_RT__MASK 0x000003c0
-#define NVC0_3D_CLEAR_BUFFERS_RT__SHIFT 6
+#define NVC0_3D_CLEAR_BUFFERS_RT__SHIFT 6
#define NVC0_3D_CLEAR_BUFFERS_LAYER__MASK 0x001ffc00
#define NVC0_3D_CLEAR_BUFFERS_LAYER__SHIFT 10
@@ -1166,12 +1638,18 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_COLOR_MASK(i0) (0x00001a00 + 0x4*(i0))
#define NVC0_3D_COLOR_MASK__ESIZE 0x00000004
-#define NVC0_3D_COLOR_MASK__LEN 0x00000008
+#define NVC0_3D_COLOR_MASK__LEN 0x00000008
#define NVC0_3D_COLOR_MASK_R 0x0000000f
#define NVC0_3D_COLOR_MASK_G 0x000000f0
#define NVC0_3D_COLOR_MASK_B 0x00000f00
#define NVC0_3D_COLOR_MASK_A 0x0000f000
+#define NVC0_3D_DELAY 0x00001a24
+
+#define NVC0_3D_UNK1A2C(i0) (0x00001a2c + 0x4*(i0))
+#define NVC0_3D_UNK1A2C__ESIZE 0x00000004
+#define NVC0_3D_UNK1A2C__LEN 0x00000005
+
#define NVC0_3D_QUERY_ADDRESS_HIGH 0x00001b00
#define NVC0_3D_QUERY_ADDRESS_LOW 0x00001b04
@@ -1181,12 +1659,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_QUERY_GET 0x00001b0c
#define NVC0_3D_QUERY_GET_MODE__MASK 0x00000003
#define NVC0_3D_QUERY_GET_MODE__SHIFT 0
-#define NVC0_3D_QUERY_GET_MODE_WRITE_UNK0 0x00000000
+#define NVC0_3D_QUERY_GET_MODE_WRITE 0x00000000
#define NVC0_3D_QUERY_GET_MODE_SYNC 0x00000001
#define NVC0_3D_QUERY_GET_MODE_WRITE_UNK2 0x00000002
-#define NVC0_3D_QUERY_GET_FENCE 0x00000010
+#define NVC0_3D_QUERY_GET_MODE_WRITE_INTR_NRHOST 0x00000003
+#define NVC0_3D_QUERY_GET_UNK2 0x00000004
+#define NVC0_3D_QUERY_GET_FENCE 0x00000010
#define NVC0_3D_QUERY_GET_STREAM__MASK 0x000000e0
-#define NVC0_3D_QUERY_GET_STREAM__SHIFT 5
+#define NVC0_3D_QUERY_GET_STREAM__SHIFT 5
#define NVC0_3D_QUERY_GET_UNK8 0x00000100
#define NVC0_3D_QUERY_GET_UNIT__MASK 0x0000f000
#define NVC0_3D_QUERY_GET_UNIT__SHIFT 12
@@ -1195,19 +1675,19 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_QUERY_GET_SYNC_COND_NEQUAL 0x00000000
#define NVC0_3D_QUERY_GET_SYNC_COND_GREATER 0x00010000
#define NVC0_3D_QUERY_GET_INTR 0x00100000
-#define NVC0_3D_QUERY_GET_UNK21 0x00200000
+#define NVC0_3D_QUERY_GET_UNK21 0x00200000
#define NVC0_3D_QUERY_GET_SELECT__MASK 0x0f800000
-#define NVC0_3D_QUERY_GET_SELECT__SHIFT 23
+#define NVC0_3D_QUERY_GET_SELECT__SHIFT 23
#define NVC0_3D_QUERY_GET_SELECT_ZERO 0x00000000
#define NVC0_3D_QUERY_GET_SELECT_SAMPLECNT 0x01000000
#define NVC0_3D_QUERY_GET_SELECT_EMITTED_PRIMS 0x05800000
#define NVC0_3D_QUERY_GET_SELECT_GENERATED_PRIMS 0x09000000
-#define NVC0_3D_QUERY_GET_SHORT 0x10000000
+#define NVC0_3D_QUERY_GET_SHORT 0x10000000
#define NVC0_3D_VERTEX_ARRAY_FETCH(i0) (0x00001c00 + 0x10*(i0))
#define NVC0_3D_VERTEX_ARRAY_FETCH__ESIZE 0x00000010
-#define NVC0_3D_VERTEX_ARRAY_FETCH__LEN 0x00000020
-#define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__MASK 0x00000fff
+#define NVC0_3D_VERTEX_ARRAY_FETCH__LEN 0x00000020
+#define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__MASK 0x00000fff
#define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__SHIFT 0
#define NVC0_3D_VERTEX_ARRAY_FETCH_ENABLE 0x00001000
@@ -1227,16 +1707,18 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_IBLEND__ESIZE 0x00000020
#define NVC0_3D_IBLEND__LEN 0x00000008
-#define NVC0_3D_IBLEND_EQUATION_RGB(i0) (0x00001e04 + 0x20*(i0))
+#define NVC0_3D_IBLEND_SEPARATE_ALPHA(i0) (0x00001e00 + 0x20*(i0))
+
+#define NVC0_3D_IBLEND_EQUATION_RGB(i0) (0x00001e04 + 0x20*(i0))
#define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_ADD 0x00008006
-#define NVC0_3D_IBLEND_EQUATION_RGB_MIN 0x00008007
-#define NVC0_3D_IBLEND_EQUATION_RGB_MAX 0x00008008
+#define NVC0_3D_IBLEND_EQUATION_RGB_MIN 0x00008007
+#define NVC0_3D_IBLEND_EQUATION_RGB_MAX 0x00008008
#define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_SUBTRACT 0x0000800a
#define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT 0x0000800b
-#define NVC0_3D_IBLEND_FUNC_SRC_RGB(i0) (0x00001e08 + 0x20*(i0))
+#define NVC0_3D_IBLEND_FUNC_SRC_RGB(i0) (0x00001e08 + 0x20*(i0))
-#define NVC0_3D_IBLEND_FUNC_DST_RGB(i0) (0x00001e0c + 0x20*(i0))
+#define NVC0_3D_IBLEND_FUNC_DST_RGB(i0) (0x00001e0c + 0x20*(i0))
#define NVC0_3D_IBLEND_EQUATION_ALPHA(i0) (0x00001e10 + 0x20*(i0))
#define NVC0_3D_IBLEND_EQUATION_ALPHA_FUNC_ADD 0x00008006
@@ -1259,11 +1741,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_SP(i0) (0x00002000 + 0x40*(i0))
#define NVC0_3D_SP__ESIZE 0x00000040
-#define NVC0_3D_SP__LEN 0x00000006
+#define NVC0_3D_SP__LEN 0x00000006
#define NVC0_3D_SP_SELECT(i0) (0x00002000 + 0x40*(i0))
#define NVC0_3D_SP_SELECT_ENABLE 0x00000001
-#define NVC0_3D_SP_SELECT_PROGRAM__MASK 0x00000070
+#define NVC0_3D_SP_SELECT_PROGRAM__MASK 0x000000f0
#define NVC0_3D_SP_SELECT_PROGRAM__SHIFT 4
#define NVC0_3D_SP_SELECT_PROGRAM_VP_A 0x00000000
#define NVC0_3D_SP_SELECT_PROGRAM_VP_B 0x00000010
@@ -1272,21 +1754,50 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_SP_SELECT_PROGRAM_GP 0x00000040
#define NVC0_3D_SP_SELECT_PROGRAM_FP 0x00000050
-#define NVC0_3D_SP_START_ID(i0) (0x00002004 + 0x40*(i0))
+#define NVC0_3D_SP_START_ID(i0) (0x00002004 + 0x40*(i0))
+
+#define NVC0_3D_SP_UNK08(i0) (0x00002008 + 0x40*(i0))
#define NVC0_3D_SP_GPR_ALLOC(i0) (0x0000200c + 0x40*(i0))
+#define NVC0_3D_SP_TYPE(i0) (0x00002010 + 0x40*(i0))
+#define NVC0_3D_SP_TYPE_VP 0x00000000
+#define NVC0_3D_SP_TYPE_TCP 0x00000001
+#define NVC0_3D_SP_TYPE_TEP 0x00000002
+#define NVC0_3D_SP_TYPE_GP 0x00000003
+#define NVC0_3D_SP_TYPE_FP 0x00000004
+
+#define NVC0_3D_SP_UNK14(i0, i1) (0x00002014 + 0x40*(i0) + 0x4*(i1))
+#define NVC0_3D_SP_UNK14__ESIZE 0x00000004
+#define NVC0_3D_SP_UNK14__LEN 0x00000004
+
#define NVC0_3D_TEX_LIMITS(i0) (0x00002200 + 0x10*(i0))
#define NVC0_3D_TEX_LIMITS__ESIZE 0x00000010
-#define NVC0_3D_TEX_LIMITS__LEN 0x00000005
+#define NVC0_3D_TEX_LIMITS__LEN 0x00000005
+#define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__MASK 0x0000000f
+#define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__SHIFT 0
+#define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__MIN 0x00000000
+#define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__MAX 0x00000004
+#define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__MASK 0x000000f0
+#define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__SHIFT 4
+#define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__MIN 0x00000000
+#define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__MAX 0x00000007
+
+#define NVC0_3D_UNK2204(i0) (0x00002204 + 0x10*(i0))
+#define NVC0_3D_UNK2204__ESIZE 0x00000010
+#define NVC0_3D_UNK2204__LEN 0x00000005
+
+#define NVC0_3D_UNK2208(i0) (0x00002208 + 0x10*(i0))
+#define NVC0_3D_UNK2208__ESIZE 0x00000010
+#define NVC0_3D_UNK2208__LEN 0x00000005
#define NVC0_3D_FIRMWARE(i0) (0x00002300 + 0x4*(i0))
-#define NVC0_3D_FIRMWARE__ESIZE 0x00000004
+#define NVC0_3D_FIRMWARE__ESIZE 0x00000004
#define NVC0_3D_FIRMWARE__LEN 0x00000020
-#define NVC0_3D_CB_SIZE 0x00002380
+#define NVC0_3D_CB_SIZE 0x00002380
-#define NVC0_3D_CB_ADDRESS_HIGH 0x00002384
+#define NVC0_3D_CB_ADDRESS_HIGH 0x00002384
#define NVC0_3D_CB_ADDRESS_LOW 0x00002388
@@ -1297,63 +1808,247 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_3D_CB_DATA__LEN 0x00000010
#define NVC0_3D_BIND_TSC(i0) (0x00002400 + 0x20*(i0))
-#define NVC0_3D_BIND_TSC__ESIZE 0x00000020
+#define NVC0_3D_BIND_TSC__ESIZE 0x00000020
#define NVC0_3D_BIND_TSC__LEN 0x00000005
-#define NVC0_3D_BIND_TSC_ACTIVE 0x00000001
+#define NVC0_3D_BIND_TSC_ACTIVE 0x00000001
#define NVC0_3D_BIND_TSC_SAMPLER__MASK 0x00000ff0
-#define NVC0_3D_BIND_TSC_SAMPLER__SHIFT 4
+#define NVC0_3D_BIND_TSC_SAMPLER__SHIFT 4
#define NVC0_3D_BIND_TSC_TSC__MASK 0x01fff000
#define NVC0_3D_BIND_TSC_TSC__SHIFT 12
#define NVC0_3D_BIND_TIC(i0) (0x00002404 + 0x20*(i0))
-#define NVC0_3D_BIND_TIC__ESIZE 0x00000020
+#define NVC0_3D_BIND_TIC__ESIZE 0x00000020
#define NVC0_3D_BIND_TIC__LEN 0x00000005
-#define NVC0_3D_BIND_TIC_ACTIVE 0x00000001
+#define NVC0_3D_BIND_TIC_ACTIVE 0x00000001
#define NVC0_3D_BIND_TIC_TEXTURE__MASK 0x000001fe
-#define NVC0_3D_BIND_TIC_TEXTURE__SHIFT 1
+#define NVC0_3D_BIND_TIC_TEXTURE__SHIFT 1
#define NVC0_3D_BIND_TIC_TIC__MASK 0x7ffffe00
#define NVC0_3D_BIND_TIC_TIC__SHIFT 9
+#define NVC0_3D_BIND_TSC2(i0) (0x00002408 + 0x20*(i0))
+#define NVC0_3D_BIND_TSC2__ESIZE 0x00000020
+#define NVC0_3D_BIND_TSC2__LEN 0x00000005
+#define NVC0_3D_BIND_TSC2_ACTIVE 0x00000001
+#define NVC0_3D_BIND_TSC2_SAMPLER__MASK 0x00000010
+#define NVC0_3D_BIND_TSC2_SAMPLER__SHIFT 4
+#define NVC0_3D_BIND_TSC2_TSC__MASK 0x01fff000
+#define NVC0_3D_BIND_TSC2_TSC__SHIFT 12
+
+#define NVC0_3D_BIND_TIC2(i0) (0x0000240c + 0x20*(i0))
+#define NVC0_3D_BIND_TIC2__ESIZE 0x00000020
+#define NVC0_3D_BIND_TIC2__LEN 0x00000005
+#define NVC0_3D_BIND_TIC2_ACTIVE 0x00000001
+#define NVC0_3D_BIND_TIC2_TEXTURE__MASK 0x00000002
+#define NVC0_3D_BIND_TIC2_TEXTURE__SHIFT 1
+#define NVC0_3D_BIND_TIC2_TIC__MASK 0x7ffffe00
+#define NVC0_3D_BIND_TIC2_TIC__SHIFT 9
+
+#define NVE4_3D_UNK2400_TSC(i0) (0x00002400 + 0x20*(i0))
+#define NVE4_3D_UNK2400_TSC__ESIZE 0x00000020
+#define NVE4_3D_UNK2400_TSC__LEN 0x00000005
+
+#define NVE4_3D_UNK2400_TIC(i0) (0x00002404 + 0x20*(i0))
+#define NVE4_3D_UNK2400_TIC__ESIZE 0x00000020
+#define NVE4_3D_UNK2400_TIC__LEN 0x00000005
+
+#define NVE4_3D_UNK2400_TSC2(i0) (0x00002408 + 0x20*(i0))
+#define NVE4_3D_UNK2400_TSC2__ESIZE 0x00000020
+#define NVE4_3D_UNK2400_TSC2__LEN 0x00000005
+
+#define NVE4_3D_UNK2400_TIC2(i0) (0x0000240c + 0x20*(i0))
+#define NVE4_3D_UNK2400_TIC2__ESIZE 0x00000020
+#define NVE4_3D_UNK2400_TIC2__LEN 0x00000005
+
#define NVC0_3D_CB_BIND(i0) (0x00002410 + 0x20*(i0))
#define NVC0_3D_CB_BIND__ESIZE 0x00000020
#define NVC0_3D_CB_BIND__LEN 0x00000005
#define NVC0_3D_CB_BIND_VALID 0x00000001
-#define NVC0_3D_CB_BIND_INDEX__MASK 0x000000f0
+#define NVC0_3D_CB_BIND_INDEX__MASK 0x000001f0
#define NVC0_3D_CB_BIND_INDEX__SHIFT 4
+#define NVC0_3D_UNK2500(i0) (0x00002500 + 0x20*(i0))
+#define NVC0_3D_UNK2500__ESIZE 0x00000020
+#define NVC0_3D_UNK2500__LEN 0x00000005
+
+#define NVC0_3D_UNK2504(i0) (0x00002504 + 0x20*(i0))
+#define NVC0_3D_UNK2504__ESIZE 0x00000020
+#define NVC0_3D_UNK2504__LEN 0x00000005
+
+#define NVC0_3D_UNK2508(i0) (0x00002508 + 0x20*(i0))
+#define NVC0_3D_UNK2508__ESIZE 0x00000020
+#define NVC0_3D_UNK2508__LEN 0x00000005
+
+#define NVC0_3D_UNK250C(i0) (0x0000250c + 0x20*(i0))
+#define NVC0_3D_UNK250C__ESIZE 0x00000020
+#define NVC0_3D_UNK250C__LEN 0x00000005
+
+#define NVC0_3D_UNK2510(i0) (0x00002510 + 0x20*(i0))
+#define NVC0_3D_UNK2510__ESIZE 0x00000020
+#define NVC0_3D_UNK2510__LEN 0x00000005
+
#define NVC0_3D_VERT_COLOR_CLAMP_EN 0x00002600
+#define NVE4_3D_UNK2604 0x00002604
+
#define NVE4_3D_TEX_CB_INDEX 0x00002608
#define NVE4_3D_TEX_CB_INDEX__MIN 0x00000000
#define NVE4_3D_TEX_CB_INDEX__MAX 0x00000010
-#define NVC0_3D_TFB_VARYING_LOCS(i0, i1) (0x00002800 + 0x80*(i0) + 0x4*(i1))
-#define NVC0_3D_TFB_VARYING_LOCS__ESIZE 0x00000004
-#define NVC0_3D_TFB_VARYING_LOCS__LEN 0x00000020
+#define NVE4_3D_UNK260C 0x0000260c
-#define NVC0_3D_MACRO_VERTEX_ARRAY_PER_INSTANCE 0x00003800
+#define NVC0_3D_IMAGE(i0) (0x00002700 + 0x20*(i0))
+#define NVC0_3D_IMAGE__ESIZE 0x00000020
+#define NVC0_3D_IMAGE__LEN 0x00000008
-#define NVC0_3D_MACRO_VERTEX_ARRAY_SELECT 0x00003808
+#define NVC0_3D_IMAGE_ADDRESS_HIGH(i0) (0x00002700 + 0x20*(i0))
-#define NVC0_3D_MACRO_BLEND_ENABLES 0x00003810
+#define NVC0_3D_IMAGE_ADDRESS_LOW(i0) (0x00002704 + 0x20*(i0))
-#define NVC0_3D_MACRO_POLYGON_MODE_FRONT 0x00003818
-#define NVC0_3D_MACRO_POLYGON_MODE_FRONT_POINT 0x00001b00
-#define NVC0_3D_MACRO_POLYGON_MODE_FRONT_LINE 0x00001b01
-#define NVC0_3D_MACRO_POLYGON_MODE_FRONT_FILL 0x00001b02
+#define NVC0_3D_IMAGE_WIDTH(i0) (0x00002708 + 0x20*(i0))
-#define NVC0_3D_MACRO_POLYGON_MODE_BACK 0x00003820
-#define NVC0_3D_MACRO_POLYGON_MODE_BACK_POINT 0x00001b00
-#define NVC0_3D_MACRO_POLYGON_MODE_BACK_LINE 0x00001b01
-#define NVC0_3D_MACRO_POLYGON_MODE_BACK_FILL 0x00001b02
+#define NVC0_3D_IMAGE_HEIGHT(i0) (0x0000270c + 0x20*(i0))
+#define NVC0_3D_IMAGE_HEIGHT_HEIGHT__MASK 0x0000ffff
+#define NVC0_3D_IMAGE_HEIGHT_HEIGHT__SHIFT 0
+#define NVC0_3D_IMAGE_HEIGHT_UNK16 0x00010000
+#define NVC0_3D_IMAGE_HEIGHT_LINEAR 0x00100000
-#define NVC0_3D_MACRO_GP_SELECT 0x00003828
+#define NVC0_3D_IMAGE_FORMAT(i0) (0x00002710 + 0x20*(i0))
+#define NVC0_3D_IMAGE_FORMAT_UNK0 0x00000001
+#define NVC0_3D_IMAGE_FORMAT_FORMAT_COLOR__MASK 0x00000ff0
+#define NVC0_3D_IMAGE_FORMAT_FORMAT_COLOR__SHIFT 4
+#define NVC0_3D_IMAGE_FORMAT_FORMAT_ZETA__MASK 0x0001f000
+#define NVC0_3D_IMAGE_FORMAT_FORMAT_ZETA__SHIFT 12
-#define NVC0_3D_MACRO_TEP_SELECT 0x00003830
+#define NVC0_3D_IMAGE_TILE_MODE(i0) (0x00002714 + 0x20*(i0))
-#define NVC0_3D_MACRO_DRAW_ARRAYS_INDIRECT 0x00003838
-#define NVC0_3D_MACRO_DRAW_ELEMENTS_INDIRECT 0x00003840
+#define NVC0_3D_TFB_VARYING_LOCS(i0, i1) (0x00002800 + 0x80*(i0) + 0x4*(i1))
+#define NVC0_3D_TFB_VARYING_LOCS__ESIZE 0x00000004
+#define NVC0_3D_TFB_VARYING_LOCS__LEN 0x00000020
+
+#define NVC0_3D_MP_PM_SET(i0) (0x0000335c + 0x4*(i0))
+#define NVC0_3D_MP_PM_SET__ESIZE 0x00000004
+#define NVC0_3D_MP_PM_SET__LEN 0x00000008
+
+#define NVC0_3D_MP_PM_SIGSEL(i0) (0x0000337c + 0x4*(i0))
+#define NVC0_3D_MP_PM_SIGSEL__ESIZE 0x00000004
+#define NVC0_3D_MP_PM_SIGSEL__LEN 0x00000008
+
+#define NVE4_3D_MP_PM_A_SIGSEL(i0) (0x0000337c + 0x4*(i0))
+#define NVE4_3D_MP_PM_A_SIGSEL__ESIZE 0x00000004
+#define NVE4_3D_MP_PM_A_SIGSEL__LEN 0x00000004
+#define NVE4_3D_MP_PM_A_SIGSEL_NONE 0x00000000
+#define NVE4_3D_MP_PM_A_SIGSEL_USER 0x00000001
+#define NVE4_3D_MP_PM_A_SIGSEL_LAUNCH 0x00000003
+#define NVE4_3D_MP_PM_A_SIGSEL_EXEC 0x00000004
+#define NVE4_3D_MP_PM_A_SIGSEL_ISSUE 0x00000005
+#define NVE4_3D_MP_PM_A_SIGSEL_LDST 0x0000001b
+#define NVE4_3D_MP_PM_A_SIGSEL_BRANCH 0x0000001c
+
+#define NVE4_3D_MP_PM_B_SIGSEL(i0) (0x0000338c + 0x4*(i0))
+#define NVE4_3D_MP_PM_B_SIGSEL__ESIZE 0x00000004
+#define NVE4_3D_MP_PM_B_SIGSEL__LEN 0x00000004
+#define NVE4_3D_MP_PM_B_SIGSEL_NONE 0x00000000
+#define NVE4_3D_MP_PM_B_SIGSEL_WARP 0x00000002
+#define NVE4_3D_MP_PM_B_SIGSEL_REPLAY 0x00000008
+#define NVE4_3D_MP_PM_B_SIGSEL_TRANSACTION 0x0000000e
+#define NVE4_3D_MP_PM_B_SIGSEL_L1 0x00000010
+#define NVE4_3D_MP_PM_B_SIGSEL_MEM 0x00000011
+
+#define NVC0_3D_MP_PM_SRCSEL(i0) (0x0000339c + 0x4*(i0))
+#define NVC0_3D_MP_PM_SRCSEL__ESIZE 0x00000004
+#define NVC0_3D_MP_PM_SRCSEL__LEN 0x00000008
+#define NVC0_3D_MP_PM_SRCSEL_GRP0__MASK 0x00000007
+#define NVC0_3D_MP_PM_SRCSEL_GRP0__SHIFT 0
+#define NVC0_3D_MP_PM_SRCSEL_SIG0__MASK 0x00000070
+#define NVC0_3D_MP_PM_SRCSEL_SIG0__SHIFT 4
+#define NVC0_3D_MP_PM_SRCSEL_GRP1__MASK 0x00000700
+#define NVC0_3D_MP_PM_SRCSEL_GRP1__SHIFT 8
+#define NVC0_3D_MP_PM_SRCSEL_SIG1__MASK 0x00007000
+#define NVC0_3D_MP_PM_SRCSEL_SIG1__SHIFT 12
+#define NVC0_3D_MP_PM_SRCSEL_GRP2__MASK 0x00070000
+#define NVC0_3D_MP_PM_SRCSEL_GRP2__SHIFT 16
+#define NVC0_3D_MP_PM_SRCSEL_SIG2__MASK 0x00700000
+#define NVC0_3D_MP_PM_SRCSEL_SIG2__SHIFT 20
+#define NVC0_3D_MP_PM_SRCSEL_GRP3__MASK 0x07000000
+#define NVC0_3D_MP_PM_SRCSEL_GRP3__SHIFT 24
+#define NVC0_3D_MP_PM_SRCSEL_SIG3__MASK 0x70000000
+#define NVC0_3D_MP_PM_SRCSEL_SIG3__SHIFT 28
+
+#define NVE4_3D_MP_PM_SRCSEL(i0) (0x0000339c + 0x4*(i0))
+#define NVE4_3D_MP_PM_SRCSEL__ESIZE 0x00000004
+#define NVE4_3D_MP_PM_SRCSEL__LEN 0x00000008
+#define NVE4_3D_MP_PM_SRCSEL_GRP0__MASK 0x00000003
+#define NVE4_3D_MP_PM_SRCSEL_GRP0__SHIFT 0
+#define NVE4_3D_MP_PM_SRCSEL_SIG0__MASK 0x0000001c
+#define NVE4_3D_MP_PM_SRCSEL_SIG0__SHIFT 2
+#define NVE4_3D_MP_PM_SRCSEL_GRP1__MASK 0x00000060
+#define NVE4_3D_MP_PM_SRCSEL_GRP1__SHIFT 5
+#define NVE4_3D_MP_PM_SRCSEL_SIG1__MASK 0x00000380
+#define NVE4_3D_MP_PM_SRCSEL_SIG1__SHIFT 7
+#define NVE4_3D_MP_PM_SRCSEL_GRP2__MASK 0x00000c00
+#define NVE4_3D_MP_PM_SRCSEL_GRP2__SHIFT 10
+#define NVE4_3D_MP_PM_SRCSEL_SIG2__MASK 0x00007000
+#define NVE4_3D_MP_PM_SRCSEL_SIG2__SHIFT 12
+#define NVE4_3D_MP_PM_SRCSEL_GRP3__MASK 0x00018000
+#define NVE4_3D_MP_PM_SRCSEL_GRP3__SHIFT 15
+#define NVE4_3D_MP_PM_SRCSEL_SIG3__MASK 0x000e0000
+#define NVE4_3D_MP_PM_SRCSEL_SIG3__SHIFT 17
+#define NVE4_3D_MP_PM_SRCSEL_GRP4__MASK 0x00300000
+#define NVE4_3D_MP_PM_SRCSEL_GRP4__SHIFT 20
+#define NVE4_3D_MP_PM_SRCSEL_SIG4__MASK 0x01c00000
+#define NVE4_3D_MP_PM_SRCSEL_SIG4__SHIFT 22
+#define NVE4_3D_MP_PM_SRCSEL_GRP5__MASK 0x06000000
+#define NVE4_3D_MP_PM_SRCSEL_GRP5__SHIFT 25
+#define NVE4_3D_MP_PM_SRCSEL_SIG5__MASK 0x38000000
+#define NVE4_3D_MP_PM_SRCSEL_SIG5__SHIFT 27
+
+#define NVC0_3D_MP_PM_OP(i0) (0x000033bc + 0x4*(i0))
+#define NVC0_3D_MP_PM_OP__ESIZE 0x00000004
+#define NVC0_3D_MP_PM_OP__LEN 0x00000008
+#define NVC0_3D_MP_PM_OP_MODE__MASK 0x00000001
+#define NVC0_3D_MP_PM_OP_MODE__SHIFT 0
+#define NVC0_3D_MP_PM_OP_MODE_LOGOP 0x00000000
+#define NVC0_3D_MP_PM_OP_MODE_LOGOP_PULSE 0x00000001
+#define NVC0_3D_MP_PM_OP_FUNC__MASK 0x000ffff0
+#define NVC0_3D_MP_PM_OP_FUNC__SHIFT 4
+
+#define NVE4_3D_MP_PM_FUNC(i0) (0x000033bc + 0x4*(i0))
+#define NVE4_3D_MP_PM_FUNC__ESIZE 0x00000004
+#define NVE4_3D_MP_PM_FUNC__LEN 0x00000008
+#define NVE4_3D_MP_PM_FUNC_MODE__MASK 0x0000000f
+#define NVE4_3D_MP_PM_FUNC_MODE__SHIFT 0
+#define NVE4_3D_MP_PM_FUNC_MODE_LOGOP 0x00000000
+#define NVE4_3D_MP_PM_FUNC_MODE_LOGOP_PULSE 0x00000001
+#define NVE4_3D_MP_PM_FUNC_MODE_B6 0x00000002
+#define NVE4_3D_MP_PM_FUNC_MODE_UNK3 0x00000003
+#define NVE4_3D_MP_PM_FUNC_MODE_LOGOP_B6 0x00000004
+#define NVE4_3D_MP_PM_FUNC_MODE_LOGOP_B6_PULSE 0x00000005
+#define NVE4_3D_MP_PM_FUNC_MODE_UNK6 0x00000006
+#define NVE4_3D_MP_PM_FUNC_MODE_UNK7 0x00000007
+#define NVE4_3D_MP_PM_FUNC_MODE_UNK8 0x00000008
+#define NVE4_3D_MP_PM_FUNC_FUNC__MASK 0x000ffff0
+#define NVE4_3D_MP_PM_FUNC_FUNC__SHIFT 4
+
+#define NVC0_3D_MP_PM_UNK33DC 0x000033dc
+
+#define NVC0_3D_NVRM_MACRO_VERTEX_ARRAY_SELECT 0x00003820
+
+#define NVC0_3D_NVRM_MACRO_BLEND_ENABLES 0x00003858
+
+#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT 0x00003868
+#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT_POINT 0x00001b00
+#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT_LINE 0x00001b01
+#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT_FILL 0x00001b02
+
+#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK 0x00003870
+#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK_POINT 0x00001b00
+#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK_LINE 0x00001b01
+#define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK_FILL 0x00001b02
+
+#define NVC0_3D_NVRM_MACRO_GP_SELECT 0x00003878
+
+#define NVC0_3D_NVRM_MACRO_TEP_SELECT 0x00003880
#endif /* NVC0_3D_XML */
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_3ddefs.xml.h b/src/gallium/drivers/nouveau/nvc0/nvc0_3ddefs.xml.h
deleted file mode 100644
index 84b1522..0000000
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_3ddefs.xml.h
+++ /dev/null
@@ -1,98 +0,0 @@
-#ifndef NV_3DDEFS_XML
-#define NV_3DDEFS_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
-
-The rules-ng-ng source files this header was generated from are:
-- nvc0_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)
-
-Copyright (C) 2006-2010 by the following authors:
-- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
-- Ben Skeggs (darktama, darktama_)
-- B. R. <koala_br@users.sourceforge.net> (koala_br)
-- Carlos Martin <carlosmn@users.sf.net> (carlosmn)
-- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
-- Dawid Gajownik <gajownik@users.sf.net> (gajownik)
-- Dmitry Baryshkov
-- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
-- EdB <edb_@users.sf.net> (edb_)
-- Erik Waling <erikwailing@users.sf.net> (erikwaling)
-- Francisco Jerez <currojerez@riseup.net> (curro, curro_, currojerez)
-- imirkin <imirkin@users.sf.net> (imirkin)
-- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
-- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
-- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
-- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
-- Maarten Maathuis <madman2003@gmail.com> (stillunknown)
-- Marcin Kościelnicki <koriakin@0x04.net> (mwk, koriakin)
-- Mark Carey <mark.carey@gmail.com> (careym)
-- Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
-- nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
-- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
-- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
-- Peter Popov <ironpeter@users.sf.net> (ironpeter)
-- Richard Hughes <hughsient@users.sf.net> (hughsient)
-- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
-- Serge Martin
-- Simon Raffeiner
-- Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
-- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
-- sturmflut <sturmflut@users.sf.net> (sturmflut)
-- Sylvain Munaut <tnt@246tNt.com>
-- Victor Stinner <victor.stinner@haypocalc.com> (haypo)
-- Wladmir van der Laan <laanwj@gmail.com> (miathan6)
-- Younes Manton <younes.m@gmail.com> (ymanton)
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice (including the
-next paragraph) shall be included in all copies or substantial
-portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/
-
-
-#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
-
-#endif /* NV_3DDEFS_XML */
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_compute.xml.h b/src/gallium/drivers/nouveau/nvc0/nvc0_compute.xml.h
index 35e6bfd..502ae36 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_compute.xml.h
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_compute.xml.h
@@ -4,18 +4,17 @@
/* 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:
-- nvc0_compute.xml ( 11145 bytes, from 2013-04-27 14:00:13)
-- copyright.xml ( 6452 bytes, from 2013-02-27 22:13:22)
-- nvchipsets.xml ( 3954 bytes, from 2013-04-27 14:00:13)
-- nv_object.xml ( 14395 bytes, from 2013-04-27 14:00:13)
-- nv_defs.xml ( 4437 bytes, from 2013-02-27 22:13:22)
-- nv50_defs.xml ( 16652 bytes, from 2013-06-20 13:45:33)
-
-Copyright (C) 2006-2013 by the following authors:
+- rnndb/graph/gf100_compute.xml ( 11143 bytes, from 2014-09-25 06:32:11)
+- rnndb/copyright.xml ( 6456 bytes, from 2014-12-31 02:13:31)
+- rnndb/nvchipsets.xml ( 2759 bytes, from 2014-10-05 01:51:02)
+- rnndb/fifo/nv_object.xml ( 15326 bytes, from 2014-09-25 06:32:11)
+- rnndb/g80_defs.xml ( 18175 bytes, from 2014-09-25 06:32:11)
+
+Copyright (C) 2006-2014 by the following authors:
- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
- Ben Skeggs (darktama, darktama_)
- B. R. <koala_br@users.sourceforge.net> (koala_br)
@@ -27,7 +26,7 @@ Copyright (C) 2006-2013 by the following authors:
- EdB <edb_@users.sf.net> (edb_)
- Erik Waling <erikwailing@users.sf.net> (erikwaling)
- Francisco Jerez <currojerez@riseup.net> (curro)
-- imirkin <imirkin@users.sf.net> (imirkin)
+- Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
@@ -81,7 +80,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_WARP_CSTACK_SIZE 0x0000020c
-#define NVC0_COMPUTE_TEX_LIMITS 0x00000210
+#define NVC0_COMPUTE_TEX_LIMITS 0x00000210
#define NVC0_COMPUTE_TEX_LIMITS_SAMPLERS_LOG2__MASK 0x0000000f
#define NVC0_COMPUTE_TEX_LIMITS_SAMPLERS_LOG2__SHIFT 0
#define NVC0_COMPUTE_TEX_LIMITS_SAMPLERS_LOG2__MIN 0x00000000
@@ -105,14 +104,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_BIND_TSC_ACTIVE 0x00000001
#define NVC0_COMPUTE_BIND_TSC_SAMPLER__MASK 0x00000ff0
#define NVC0_COMPUTE_BIND_TSC_SAMPLER__SHIFT 4
-#define NVC0_COMPUTE_BIND_TSC_TSC__MASK 0x01fff000
+#define NVC0_COMPUTE_BIND_TSC_TSC__MASK 0x01fff000
#define NVC0_COMPUTE_BIND_TSC_TSC__SHIFT 12
#define NVC0_COMPUTE_BIND_TIC 0x0000022c
#define NVC0_COMPUTE_BIND_TIC_ACTIVE 0x00000001
#define NVC0_COMPUTE_BIND_TIC_TEXTURE__MASK 0x000001fe
#define NVC0_COMPUTE_BIND_TIC_TEXTURE__SHIFT 1
-#define NVC0_COMPUTE_BIND_TIC_TIC__MASK 0x7ffffe00
+#define NVC0_COMPUTE_BIND_TIC_TIC__MASK 0x7ffffe00
#define NVC0_COMPUTE_BIND_TIC_TIC__SHIFT 9
#define NVC0_COMPUTE_BIND_TSC2 0x00000230
@@ -129,10 +128,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_BIND_TIC2_TIC__MASK 0x7ffffe00
#define NVC0_COMPUTE_BIND_TIC2_TIC__SHIFT 9
-#define NVC0_COMPUTE_GRIDDIM_YX 0x00000238
-#define NVC0_COMPUTE_GRIDDIM_YX_X__MASK 0x0000ffff
+#define NVC0_COMPUTE_GRIDDIM_YX 0x00000238
+#define NVC0_COMPUTE_GRIDDIM_YX_X__MASK 0x0000ffff
#define NVC0_COMPUTE_GRIDDIM_YX_X__SHIFT 0
-#define NVC0_COMPUTE_GRIDDIM_YX_Y__MASK 0xffff0000
+#define NVC0_COMPUTE_GRIDDIM_YX_Y__MASK 0xffff0000
#define NVC0_COMPUTE_GRIDDIM_YX_Y__SHIFT 16
#define NVC0_COMPUTE_GRIDDIM_Z 0x0000023c
@@ -148,7 +147,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_UNK028C 0x0000028c
#define NVC0_COMPUTE_COMPUTE_BEGIN 0x0000029c
-#define NVC0_COMPUTE_COMPUTE_BEGIN_UNK0 0x00000001
+#define NVC0_COMPUTE_COMPUTE_BEGIN_UNK0 0x00000001
#define NVC0_COMPUTE_UNK02A0 0x000002a0
@@ -174,7 +173,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_UNK0360 0x00000360
#define NVC0_COMPUTE_UNK0360_UNK0 0x00000001
-#define NVC0_COMPUTE_UNK0360_UNK8__MASK 0x00000300
+#define NVC0_COMPUTE_UNK0360_UNK8__MASK 0x00000300
#define NVC0_COMPUTE_UNK0360_UNK8__SHIFT 8
#define NVC8_COMPUTE_UNK0360_UNK10__MASK 0x00000c00
#define NVC8_COMPUTE_UNK0360_UNK10__SHIFT 10
@@ -182,9 +181,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_LAUNCH 0x00000368
#define NVC0_COMPUTE_UNK036C 0x0000036c
-#define NVC0_COMPUTE_UNK036C_UNK0__MASK 0x00000003
+#define NVC0_COMPUTE_UNK036C_UNK0__MASK 0x00000003
#define NVC0_COMPUTE_UNK036C_UNK0__SHIFT 0
-#define NVC8_COMPUTE_UNK036C_UNK2__MASK 0x0000000c
+#define NVC8_COMPUTE_UNK036C_UNK2__MASK 0x0000000c
#define NVC8_COMPUTE_UNK036C_UNK2__SHIFT 2
#define NVC0_COMPUTE_BLOCKDIM_YX 0x000003ac
@@ -193,7 +192,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_BLOCKDIM_YX_Y__MASK 0xffff0000
#define NVC0_COMPUTE_BLOCKDIM_YX_Y__SHIFT 16
-#define NVC0_COMPUTE_BLOCKDIM_Z 0x000003b0
+#define NVC0_COMPUTE_BLOCKDIM_Z 0x000003b0
#define NVC0_COMPUTE_CP_START_ID 0x000003b4
@@ -203,7 +202,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_MP_LIMIT 0x00000758
-#define NVC0_COMPUTE_LOCAL_BASE 0x0000077c
+#define NVC0_COMPUTE_LOCAL_BASE 0x0000077c
#define NVC0_COMPUTE_GRIDID 0x00000780
@@ -233,19 +232,19 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_UNK10F4_UNK4 0x00000010
#define NVC0_COMPUTE_UNK10F4_UNK8 0x00000100
-#define NVC0_COMPUTE_LINKED_TSC 0x00001234
+#define NVC0_COMPUTE_LINKED_TSC 0x00001234
#define NVC0_COMPUTE_UNK1288_TIC_FLUSH 0x00001288
#define NVC0_COMPUTE_UNK12AC 0x000012ac
#define NVC0_COMPUTE_TSC_FLUSH 0x00001330
-#define NVC0_COMPUTE_TSC_FLUSH_SPECIFIC 0x00000001
+#define NVC0_COMPUTE_TSC_FLUSH_SPECIFIC 0x00000001
#define NVC0_COMPUTE_TSC_FLUSH_ENTRY__MASK 0x03fffff0
#define NVC0_COMPUTE_TSC_FLUSH_ENTRY__SHIFT 4
#define NVC0_COMPUTE_TIC_FLUSH 0x00001334
-#define NVC0_COMPUTE_TIC_FLUSH_SPECIFIC 0x00000001
+#define NVC0_COMPUTE_TIC_FLUSH_SPECIFIC 0x00000001
#define NVC0_COMPUTE_TIC_FLUSH_ENTRY__MASK 0x03fffff0
#define NVC0_COMPUTE_TIC_FLUSH_ENTRY__SHIFT 4
@@ -253,7 +252,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_TEX_CACHE_CTL_UNK0__MASK 0x00000007
#define NVC0_COMPUTE_TEX_CACHE_CTL_UNK0__SHIFT 0
#define NVC0_COMPUTE_TEX_CACHE_CTL_ENTRY__MASK 0x03fffff0
-#define NVC0_COMPUTE_TEX_CACHE_CTL_ENTRY__SHIFT 4
+#define NVC0_COMPUTE_TEX_CACHE_CTL_ENTRY__SHIFT 4
#define NVC0_COMPUTE_UNK1354 0x00001354
@@ -288,7 +287,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_TEX_MISC 0x00001664
#define NVC0_COMPUTE_TEX_MISC_UNK 0x00000001
-#define NVC0_COMPUTE_TEX_MISC_SEAMLESS_CUBE_MAP 0x00000002
+#define NVC0_COMPUTE_TEX_MISC_SEAMLESS_CUBE_MAP 0x00000002
#define NVC0_COMPUTE_UNK1690 0x00001690
#define NVC0_COMPUTE_UNK1690_ALWAYS_DERIV 0x00000001
@@ -300,9 +299,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_CB_BIND_INDEX__SHIFT 8
#define NVC0_COMPUTE_FLUSH 0x00001698
-#define NVC0_COMPUTE_FLUSH_CODE 0x00000001
+#define NVC0_COMPUTE_FLUSH_CODE 0x00000001
#define NVC0_COMPUTE_FLUSH_GLOBAL 0x00000010
-#define NVC0_COMPUTE_FLUSH_UNK8 0x00000100
+#define NVC0_COMPUTE_FLUSH_UNK8 0x00000100
#define NVC0_COMPUTE_FLUSH_CB 0x00001000
#define NVC0_COMPUTE_UNK1930 0x00001930
@@ -315,7 +314,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_UNK1A2C__ESIZE 0x00000004
#define NVC0_COMPUTE_UNK1A2C__LEN 0x00000005
-#define NVC0_COMPUTE_QUERY_ADDRESS_HIGH 0x00001b00
+#define NVC0_COMPUTE_QUERY_ADDRESS_HIGH 0x00001b00
#define NVC0_COMPUTE_QUERY_ADDRESS_LOW 0x00001b04
@@ -343,7 +342,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_IMAGE(i0) (0x00002700 + 0x20*(i0))
#define NVC0_COMPUTE_IMAGE__ESIZE 0x00000020
-#define NVC0_COMPUTE_IMAGE__LEN 0x00000008
+#define NVC0_COMPUTE_IMAGE__LEN 0x00000008
#define NVC0_COMPUTE_IMAGE_ADDRESS_HIGH(i0) (0x00002700 + 0x20*(i0))
@@ -353,8 +352,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_COMPUTE_IMAGE_HEIGHT(i0) (0x0000270c + 0x20*(i0))
#define NVC0_COMPUTE_IMAGE_HEIGHT_HEIGHT__MASK 0x0000ffff
-#define NVC0_COMPUTE_IMAGE_HEIGHT_HEIGHT__SHIFT 0
-#define NVC0_COMPUTE_IMAGE_HEIGHT_UNK16 0x00010000
+#define NVC0_COMPUTE_IMAGE_HEIGHT_HEIGHT__SHIFT 0
+#define NVC0_COMPUTE_IMAGE_HEIGHT_UNK16 0x00010000
#define NVC0_COMPUTE_IMAGE_HEIGHT_LINEAR 0x00100000
#define NVC0_COMPUTE_IMAGE_FORMAT(i0) (0x00002710 + 0x20*(i0))
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_context.h b/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
index 63e73ae..ef251f3 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
@@ -21,11 +21,12 @@
#include "nouveau_context.h"
#include "nouveau_debug.h"
-#include "nvc0/nvc0_3ddefs.xml.h"
+#include "nv50/nv50_3ddefs.xml.h"
#include "nvc0/nvc0_3d.xml.h"
-#include "nvc0/nvc0_2d.xml.h"
+#include "nv50/nv50_2d.xml.h"
#include "nvc0/nvc0_m2mf.xml.h"
#include "nvc0/nve4_p2mf.xml.h"
+#include "nvc0/nvc0_macros.h"
/* NOTE: must keep NVC0_NEW_...PROG in consecutive bits in this order */
#define NVC0_NEW_BLEND (1 << 0)
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_m2mf.xml.h b/src/gallium/drivers/nouveau/nvc0/nvc0_m2mf.xml.h
index 3bf628d..6c0c51e 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_m2mf.xml.h
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_m2mf.xml.h
@@ -4,17 +4,17 @@
/* 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:
-- nvc0_m2mf.xml ( 2227 bytes, from 2010-10-16 16:10:29)
-- copyright.xml ( 6498 bytes, from 2010-10-03 13:18:37)
-- nv_object.xml ( 11379 bytes, from 2010-10-16 11:43:24)
-- nvchipsets.xml ( 2907 bytes, from 2010-10-15 16:28:21)
-- nv_defs.xml ( 4437 bytes, from 2010-07-06 07:43:58)
+- rnndb/graph/gf100_m2mf.xml ( 2783 bytes, from 2014-09-25 06:32:11)
+- rnndb/copyright.xml ( 6456 bytes, from 2014-12-31 02:13:31)
+- 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)
-Copyright (C) 2006-2010 by the following authors:
+Copyright (C) 2006-2014 by the following authors:
- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
- Ben Skeggs (darktama, darktama_)
- B. R. <koala_br@users.sourceforge.net> (koala_br)
@@ -25,8 +25,8 @@ Copyright (C) 2006-2010 by the following authors:
- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
- EdB <edb_@users.sf.net> (edb_)
- Erik Waling <erikwailing@users.sf.net> (erikwaling)
-- Francisco Jerez <currojerez@riseup.net> (curro, curro_, currojerez)
-- imirkin <imirkin@users.sf.net> (imirkin)
+- Francisco Jerez <currojerez@riseup.net> (curro)
+- Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
@@ -92,25 +92,41 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_M2MF_TILING_DEPTH_OUT 0x0000022c
-#define NVC0_M2MF_TILING_POSITION_OUT_Z 0x00000230
+#define NVC0_M2MF_TILING_POSITION_OUT_Z 0x00000230
#define NVC0_M2MF_OFFSET_OUT_HIGH 0x00000238
#define NVC0_M2MF_OFFSET_OUT_LOW 0x0000023c
+#define NVC0_M2MF_UNK0240(i0) (0x00000240 + 0x4*(i0))
+#define NVC0_M2MF_UNK0240__ESIZE 0x00000004
+#define NVC0_M2MF_UNK0240__LEN 0x0000000f
+
+#define NVC0_M2MF_FIRMWARE(i0) (0x0000027c + 0x4*(i0))
+#define NVC0_M2MF_FIRMWARE__ESIZE 0x00000004
+#define NVC0_M2MF_FIRMWARE__LEN 0x00000020
+
+#define NVC0_M2MF_UNK02FC 0x000002fc
+
#define NVC0_M2MF_EXEC 0x00000300
#define NVC0_M2MF_EXEC_PUSH 0x00000001
#define NVC0_M2MF_EXEC_LINEAR_IN 0x00000010
#define NVC0_M2MF_EXEC_LINEAR_OUT 0x00000100
-#define NVC0_M2MF_EXEC_NOTIFY 0x00002000
-#define NVC0_M2MF_EXEC_INC__MASK 0x00f00000
-#define NVC0_M2MF_EXEC_INC__SHIFT 20
+#define NVC0_M2MF_EXEC_QUERY__MASK 0x00003000
+#define NVC0_M2MF_EXEC_QUERY__SHIFT 12
+#define NVC0_M2MF_EXEC_QUERY_NO 0x00000000
+#define NVC0_M2MF_EXEC_QUERY_UNK1 0x00001000
+#define NVC0_M2MF_EXEC_QUERY_YES 0x00002000
+#define NVC0_M2MF_EXEC_BUF_NOTIFY 0x00030000
+#define NVC0_M2MF_EXEC_QUERY_SHORT 0x00100000
#define NVC0_M2MF_DATA 0x00000304
+#define NVC0_M2MF_UNK308 0x00000308
+
#define NVC0_M2MF_OFFSET_IN_HIGH 0x0000030c
-#define NVC0_M2MF_OFFSET_IN_LOW 0x00000310
+#define NVC0_M2MF_OFFSET_IN_LOW 0x00000310
#define NVC0_M2MF_PITCH_IN 0x00000314
@@ -120,19 +136,30 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVC0_M2MF_LINE_COUNT 0x00000320
-#define NVC0_M2MF_NOTIFY_ADDRESS_HIGH 0x0000032c
+#define NVC0_M2MF_QUERY_ADDRESS_HIGH 0x0000032c
+
+#define NVC0_M2MF_QUERY_ADDRESS_LOW 0x00000330
+
+#define NVC0_M2MF_QUERY_SEQUENCE 0x00000334
+
+#define NVC0_M2MF_COND_ADDRESS_HIGH 0x00000338
-#define NVC0_M2MF_NOTIFY_ADDRESS_LOW 0x00000330
+#define NVC0_M2MF_COND_ADDRESS_LOW 0x0000033c
-#define NVC0_M2MF_NOTIFY 0x00000334
+#define NVC0_M2MF_COND_MODE 0x00000340
+#define NVC0_M2MF_COND_MODE_NEVER 0x00000000
+#define NVC0_M2MF_COND_MODE_ALWAYS 0x00000001
+#define NVC0_M2MF_COND_MODE_RES_NON_ZERO 0x00000002
+#define NVC0_M2MF_COND_MODE_EQUAL 0x00000003
+#define NVC0_M2MF_COND_MODE_NOT_EQUAL 0x00000004
#define NVC0_M2MF_TILING_POSITION_IN_X 0x00000344
#define NVC0_M2MF_TILING_POSITION_IN_Y 0x00000348
-#define NVC0_M2MF_TILING_POSITION_OUT_X 0x0000034c
+#define NVC0_M2MF_TILING_POSITION_OUT_X 0x0000034c
-#define NVC0_M2MF_TILING_POSITION_OUT_Y 0x00000350
+#define NVC0_M2MF_TILING_POSITION_OUT_Y 0x00000350
#endif /* NVC0_M2MF_XML */
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_macros.h b/src/gallium/drivers/nouveau/nvc0/nvc0_macros.h
new file mode 100644
index 0000000..bf2798a
--- /dev/null
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_macros.h
@@ -0,0 +1,32 @@
+#ifndef __NVC0_MACROS_H__
+#define __NVC0_MACROS_H__
+
+/**
+ * The list of macros defined in the 3d object
+ */
+
+#define NVC0_3D_MACRO_VERTEX_ARRAY_PER_INSTANCE 0x00003800
+
+#define NVC0_3D_MACRO_VERTEX_ARRAY_SELECT 0x00003808
+
+#define NVC0_3D_MACRO_BLEND_ENABLES 0x00003810
+
+#define NVC0_3D_MACRO_POLYGON_MODE_FRONT 0x00003818
+#define NVC0_3D_MACRO_POLYGON_MODE_FRONT_POINT 0x00001b00
+#define NVC0_3D_MACRO_POLYGON_MODE_FRONT_LINE 0x00001b01
+#define NVC0_3D_MACRO_POLYGON_MODE_FRONT_FILL 0x00001b02
+
+#define NVC0_3D_MACRO_POLYGON_MODE_BACK 0x00003820
+#define NVC0_3D_MACRO_POLYGON_MODE_BACK_POINT 0x00001b00
+#define NVC0_3D_MACRO_POLYGON_MODE_BACK_LINE 0x00001b01
+#define NVC0_3D_MACRO_POLYGON_MODE_BACK_FILL 0x00001b02
+
+#define NVC0_3D_MACRO_GP_SELECT 0x00003828
+
+#define NVC0_3D_MACRO_TEP_SELECT 0x00003830
+
+#define NVC0_3D_MACRO_DRAW_ARRAYS_INDIRECT 0x00003838
+
+#define NVC0_3D_MACRO_DRAW_ELEMENTS_INDIRECT 0x00003840
+
+#endif /* __NVC0_MACROS_H__ */
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
index 5032c7f..5069e5a 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
@@ -696,10 +696,10 @@ nvc0_screen_create(struct nouveau_device *dev)
BEGIN_NVC0(push, SUBC_2D(NV01_SUBCHAN_OBJECT), 1);
PUSH_DATA (push, screen->eng2d->oclass);
- BEGIN_NVC0(push, NVC0_2D(SINGLE_GPC), 1);
+ BEGIN_NVC0(push, SUBC_2D(NVC0_2D_SINGLE_GPC), 1);
PUSH_DATA (push, 0);
BEGIN_NVC0(push, NVC0_2D(OPERATION), 1);
- PUSH_DATA (push, NVC0_2D_OPERATION_SRCCOPY);
+ PUSH_DATA (push, NV50_2D_OPERATION_SRCCOPY);
BEGIN_NVC0(push, NVC0_2D(CLIP_ENABLE), 1);
PUSH_DATA (push, 0);
BEGIN_NVC0(push, NVC0_2D(COLOR_KEY_ENABLE), 1);
@@ -709,7 +709,7 @@ nvc0_screen_create(struct nouveau_device *dev)
BEGIN_NVC0(push, SUBC_2D(0x0888), 1);
PUSH_DATA (push, 1);
BEGIN_NVC0(push, NVC0_2D(COND_MODE), 1);
- PUSH_DATA (push, NVC0_2D_COND_MODE_ALWAYS);
+ PUSH_DATA (push, NV50_2D_COND_MODE_ALWAYS);
BEGIN_NVC0(push, SUBC_2D(NVC0_GRAPH_NOTIFY_ADDRESS_HIGH), 2);
PUSH_DATAh(push, screen->fence.bo->offset + 16);
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c
index 728618f..b6666ca 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c
@@ -53,7 +53,7 @@ nvc0_colormask(unsigned mask)
}
#define NVC0_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
nvc0_blend_fac(unsigned factor)
@@ -79,7 +79,7 @@ nvc0_blend_fac(unsigned factor)
NVC0_BLEND_FACTOR_CASE(INV_SRC1_COLOR, ONE_MINUS_SRC1_COLOR);
NVC0_BLEND_FACTOR_CASE(INV_SRC1_ALPHA, ONE_MINUS_SRC1_ALPHA);
default:
- return NV50_3D_BLEND_FACTOR_ZERO;
+ return NV50_BLEND_FACTOR_ZERO;
}
}
@@ -248,7 +248,7 @@ nvc0_rasterizer_state_create(struct pipe_context *pipe,
}
- SB_IMMED_3D(so, VP_POINT_SIZE_EN, cso->point_size_per_vertex);
+ SB_IMMED_3D(so, VP_POINT_SIZE, cso->point_size_per_vertex);
if (!cso->point_size_per_vertex) {
SB_BEGIN_3D(so, POINT_SIZE, 1);
SB_DATA (so, fui(cso->point_size));
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
index 980fd12..4130d36 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
@@ -88,7 +88,7 @@ nvc0_2d_texture_set(struct nouveau_pushbuf *push, boolean dst,
struct nouveau_bo *bo = mt->base.bo;
uint32_t width, height, depth;
uint32_t format;
- uint32_t mthd = dst ? NVC0_2D_DST_FORMAT : NVC0_2D_SRC_FORMAT;
+ uint32_t mthd = dst ? NV50_2D_DST_FORMAT : NV50_2D_SRC_FORMAT;
uint32_t offset = mt->level[level].offset;
format = nvc0_2d_format(pformat, dst, dst_src_pformat_equal);
@@ -1214,10 +1214,10 @@ nvc0_blit_eng2d(struct nvc0_context *nvc0, const struct pipe_blit_info *info)
boolean b;
mode = nv50_blit_get_filter(info) ?
- NVC0_2D_BLIT_CONTROL_FILTER_BILINEAR :
- NVC0_2D_BLIT_CONTROL_FILTER_POINT_SAMPLE;
+ NV50_2D_BLIT_CONTROL_FILTER_BILINEAR :
+ NV50_2D_BLIT_CONTROL_FILTER_POINT_SAMPLE;
mode |= (src->base.base.nr_samples > dst->base.base.nr_samples) ?
- NVC0_2D_BLIT_CONTROL_ORIGIN_CORNER : NVC0_2D_BLIT_CONTROL_ORIGIN_CENTER;
+ NV50_2D_BLIT_CONTROL_ORIGIN_CORNER : NV50_2D_BLIT_CONTROL_ORIGIN_CENTER;
du_dx = ((int64_t)info->src.box.width << 32) / info->dst.box.width;
dv_dy = ((int64_t)info->src.box.height << 32) / info->dst.box.height;
@@ -1241,13 +1241,13 @@ nvc0_blit_eng2d(struct nvc0_context *nvc0, const struct pipe_blit_info *info)
if (mask != 0xffffffff) {
IMMED_NVC0(push, NVC0_2D(ROP), 0xca); /* DPSDxax */
IMMED_NVC0(push, NVC0_2D(PATTERN_COLOR_FORMAT),
- NVC0_2D_PATTERN_COLOR_FORMAT_32BPP);
- BEGIN_NVC0(push, NVC0_2D(PATTERN_COLOR(0)), 4);
+ NV50_2D_PATTERN_COLOR_FORMAT_A8R8G8B8);
+ BEGIN_NVC0(push, NVC0_2D(PATTERN_BITMAP_COLOR(0)), 4);
PUSH_DATA (push, 0x00000000);
PUSH_DATA (push, mask);
PUSH_DATA (push, 0xffffffff);
PUSH_DATA (push, 0xffffffff);
- IMMED_NVC0(push, NVC0_2D(OPERATION), NVC0_2D_OPERATION_ROP);
+ IMMED_NVC0(push, NVC0_2D(OPERATION), NV50_2D_OPERATION_ROP);
} else
if (info->src.format != info->dst.format) {
if (info->src.format == PIPE_FORMAT_R8_UNORM ||
@@ -1259,13 +1259,13 @@ nvc0_blit_eng2d(struct nvc0_context *nvc0, const struct pipe_blit_info *info)
mask = 0xffff0000; /* also makes condition for OPERATION reset true */
BEGIN_NVC0(push, NVC0_2D(BETA4), 2);
PUSH_DATA (push, mask);
- PUSH_DATA (push, NVC0_2D_OPERATION_SRCCOPY_PREMULT);
+ PUSH_DATA (push, NV50_2D_OPERATION_SRCCOPY_PREMULT);
} else
if (info->src.format == PIPE_FORMAT_A8_UNORM) {
mask = 0xff000000;
BEGIN_NVC0(push, NVC0_2D(BETA4), 2);
PUSH_DATA (push, mask);
- PUSH_DATA (push, NVC0_2D_OPERATION_SRCCOPY_PREMULT);
+ PUSH_DATA (push, NV50_2D_OPERATION_SRCCOPY_PREMULT);
}
}
@@ -1361,9 +1361,9 @@ nvc0_blit_eng2d(struct nvc0_context *nvc0, const struct pipe_blit_info *info)
if (info->scissor_enable)
IMMED_NVC0(push, NVC0_2D(CLIP_ENABLE), 0);
if (mask != 0xffffffff)
- IMMED_NVC0(push, NVC0_2D(OPERATION), NVC0_2D_OPERATION_SRCCOPY);
+ IMMED_NVC0(push, NVC0_2D(OPERATION), NV50_2D_OPERATION_SRCCOPY);
if (nvc0->cond_query && info->render_condition_enable)
- IMMED_NVC0(push, NVC0_2D(COND_MODE), NVC0_2D_COND_MODE_ALWAYS);
+ IMMED_NVC0(push, NVC0_2D(COND_MODE), NV50_2D_COND_MODE_ALWAYS);
}
static void
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_tex.c b/src/gallium/drivers/nouveau/nvc0/nvc0_tex.c
index db6b603..457f27c 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_tex.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_tex.c
@@ -318,13 +318,13 @@ nve4_validate_tic(struct nvc0_context *nvc0, unsigned s)
tic->id = nvc0_screen_tic_alloc(nvc0->screen, tic);
PUSH_SPACE(push, 16);
- BEGIN_NVC0(push, NVE4_P2MF(DST_ADDRESS_HIGH), 2);
+ BEGIN_NVC0(push, NVE4_P2MF(UPLOAD_DST_ADDRESS_HIGH), 2);
PUSH_DATAh(push, txc->offset + (tic->id * 32));
PUSH_DATA (push, txc->offset + (tic->id * 32));
- BEGIN_NVC0(push, NVE4_P2MF(LINE_LENGTH_IN), 2);
+ BEGIN_NVC0(push, NVE4_P2MF(UPLOAD_LINE_LENGTH_IN), 2);
PUSH_DATA (push, 32);
PUSH_DATA (push, 1);
- BEGIN_1IC0(push, NVE4_P2MF(EXEC), 9);
+ BEGIN_1IC0(push, NVE4_P2MF(UPLOAD_EXEC), 9);
PUSH_DATA (push, 0x1001);
PUSH_DATAp(push, &tic->tic[0], 8);
@@ -437,13 +437,13 @@ nve4_validate_tsc(struct nvc0_context *nvc0, int s)
tsc->id = nvc0_screen_tsc_alloc(nvc0->screen, tsc);
PUSH_SPACE(push, 16);
- BEGIN_NVC0(push, NVE4_P2MF(DST_ADDRESS_HIGH), 2);
+ BEGIN_NVC0(push, NVE4_P2MF(UPLOAD_DST_ADDRESS_HIGH), 2);
PUSH_DATAh(push, txc->offset + 65536 + (tsc->id * 32));
PUSH_DATA (push, txc->offset + 65536 + (tsc->id * 32));
- BEGIN_NVC0(push, NVE4_P2MF(LINE_LENGTH_IN), 2);
+ BEGIN_NVC0(push, NVE4_P2MF(UPLOAD_LINE_LENGTH_IN), 2);
PUSH_DATA (push, 32);
PUSH_DATA (push, 1);
- BEGIN_1IC0(push, NVE4_P2MF(EXEC), 9);
+ BEGIN_1IC0(push, NVE4_P2MF(UPLOAD_EXEC), 9);
PUSH_DATA (push, 0x1001);
PUSH_DATAp(push, &tsc->tsc[0], 8);
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c b/src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c
index 82f1ffc..45c6f7c 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c
@@ -243,14 +243,14 @@ nve4_p2mf_push_linear(struct nouveau_context *nv,
nr = MIN2(count, nr - 8);
nr = MIN2(nr, (NV04_PFIFO_MAX_PACKET_LEN - 1));
- BEGIN_NVC0(push, NVE4_P2MF(DST_ADDRESS_HIGH), 2);
+ BEGIN_NVC0(push, NVE4_P2MF(UPLOAD_DST_ADDRESS_HIGH), 2);
PUSH_DATAh(push, dst->offset + offset);
PUSH_DATA (push, dst->offset + offset);
- BEGIN_NVC0(push, NVE4_P2MF(LINE_LENGTH_IN), 2);
+ BEGIN_NVC0(push, NVE4_P2MF(UPLOAD_LINE_LENGTH_IN), 2);
PUSH_DATA (push, MIN2(size, nr * 4));
PUSH_DATA (push, 1);
/* must not be interrupted (trap on QUERY fence, 0x50 works however) */
- BEGIN_1IC0(push, NVE4_P2MF(EXEC), nr + 1);
+ BEGIN_1IC0(push, NVE4_P2MF(UPLOAD_EXEC), nr + 1);
PUSH_DATA (push, 0x1001);
PUSH_DATAp(push, src, nr);
@@ -290,7 +290,7 @@ nvc0_m2mf_copy_linear(struct nouveau_context *nv,
PUSH_DATA (push, bytes);
PUSH_DATA (push, 1);
BEGIN_NVC0(push, NVC0_M2MF(EXEC), 1);
- PUSH_DATA (push, (1 << NVC0_M2MF_EXEC_INC__SHIFT) |
+ PUSH_DATA (push, NVC0_M2MF_EXEC_QUERY_SHORT |
NVC0_M2MF_EXEC_LINEAR_IN | NVC0_M2MF_EXEC_LINEAR_OUT);
srcoff += bytes;
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h b/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h
index a83b31d..725e889 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h
@@ -60,13 +60,15 @@ PUSH_REFN(struct nouveau_pushbuf *push, struct nouveau_bo *bo, uint32_t flags)
#define NVE4_P2MF(n) SUBC_P2MF(NVE4_P2MF_##n)
#define SUBC_2D(m) 3, (m)
-#define NVC0_2D(n) SUBC_2D(NVC0_2D_##n)
+#define NVC0_2D(n) SUBC_2D(NV50_2D_##n)
#define SUBC_COPY(m) 4, (m)
#define NVE4_COPY(m) SUBC_COPY(NVE4_COPY_##n)
#define SUBC_SW(m) 7, (m)
+#define NVC0_3D_SERIALIZE NV50_GRAPH_SERIALIZE
+
static INLINE uint32_t
NVC0_FIFO_PKHDR_SQ(int subc, int mthd, unsigned size)
{
diff --git a/src/gallium/drivers/nouveau/nvc0/nve4_compute.xml.h b/src/gallium/drivers/nouveau/nvc0/nve4_compute.xml.h
index e971fc1..41e0cc2 100644
--- a/src/gallium/drivers/nouveau/nvc0/nve4_compute.xml.h
+++ b/src/gallium/drivers/nouveau/nvc0/nve4_compute.xml.h
@@ -4,19 +4,18 @@
/* 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:
-- nve4_compute.xml ( 10168 bytes, from 2013-06-04 13:57:02)
-- copyright.xml ( 6452 bytes, from 2012-04-16 22:51:01)
-- nvchipsets.xml ( 3954 bytes, from 2013-06-04 13:57:02)
-- nv_object.xml ( 14395 bytes, from 2013-06-04 13:57:02)
-- nv_defs.xml ( 4437 bytes, from 2012-04-16 22:51:01)
-- nv50_defs.xml ( 16877 bytes, from 2013-07-17 09:10:01)
-- nve4_p2mf.xml ( 2373 bytes, from 2013-06-04 13:57:02)
-
-Copyright (C) 2006-2013 by the following authors:
+- rnndb/graph/gk104_compute.xml ( 10182 bytes, from 2014-09-25 06:32:11)
+- rnndb/copyright.xml ( 6456 bytes, from 2014-12-31 02:13:31)
+- rnndb/nvchipsets.xml ( 2759 bytes, from 2014-10-05 01:51:02)
+- rnndb/fifo/nv_object.xml ( 15326 bytes, from 2014-09-25 06:32:11)
+- rnndb/g80_defs.xml ( 18175 bytes, from 2014-09-25 06:32:11)
+- rnndb/graph/gk104_p2mf.xml ( 2376 bytes, from 2014-09-25 06:32:11)
+
+Copyright (C) 2006-2014 by the following authors:
- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
- Ben Skeggs (darktama, darktama_)
- B. R. <koala_br@users.sourceforge.net> (koala_br)
@@ -28,7 +27,7 @@ Copyright (C) 2006-2013 by the following authors:
- EdB <edb_@users.sf.net> (edb_)
- Erik Waling <erikwailing@users.sf.net> (erikwaling)
- Francisco Jerez <currojerez@riseup.net> (curro)
-- imirkin <imirkin@users.sf.net> (imirkin)
+- Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
@@ -106,7 +105,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVE4_COMPUTE_UPLOAD_DST_Y 0x000001ac
#define NVE4_COMPUTE_UPLOAD_EXEC 0x000001b0
-#define NVE4_COMPUTE_UPLOAD_EXEC_LINEAR 0x00000001
+#define NVE4_COMPUTE_UPLOAD_EXEC_LINEAR 0x00000001
#define NVE4_COMPUTE_UPLOAD_EXEC_UNK1__MASK 0x0000007e
#define NVE4_COMPUTE_UPLOAD_EXEC_UNK1__SHIFT 1
#define NVE4_COMPUTE_UPLOAD_EXEC_BUF_NOTIFY 0x00000300
@@ -142,9 +141,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVE4_COMPUTE_UNK244_TIC_FLUSH 0x00000244
#define NVE4_COMPUTE_UNK0248 0x00000248
-#define NVE4_COMPUTE_UNK0248_UNK0__MASK 0x0000003f
+#define NVE4_COMPUTE_UNK0248_UNK0__MASK 0x0000003f
#define NVE4_COMPUTE_UNK0248_UNK0__SHIFT 0
-#define NVE4_COMPUTE_UNK0248_UNK8__MASK 0x00ffff00
+#define NVE4_COMPUTE_UNK0248_UNK8__MASK 0x00ffff00
#define NVE4_COMPUTE_UNK0248_UNK8__SHIFT 8
#define NVE4_COMPUTE_UNK0274 0x00000274
@@ -186,7 +185,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVE4_COMPUTE_FIRMWARE__ESIZE 0x00000004
#define NVE4_COMPUTE_FIRMWARE__LEN 0x00000020
-#define NVE4_COMPUTE_LOCAL_BASE 0x0000077c
+#define NVE4_COMPUTE_LOCAL_BASE 0x0000077c
#define NVE4_COMPUTE_TEMP_ADDRESS_HIGH 0x00000790
@@ -207,19 +206,19 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVE4_COMPUTE_UNK1288_TIC_FLUSH 0x00001288
#define NVE4_COMPUTE_TSC_FLUSH 0x00001330
-#define NVE4_COMPUTE_TSC_FLUSH_SPECIFIC 0x00000001
+#define NVE4_COMPUTE_TSC_FLUSH_SPECIFIC 0x00000001
#define NVE4_COMPUTE_TSC_FLUSH_ENTRY__MASK 0x03fffff0
#define NVE4_COMPUTE_TSC_FLUSH_ENTRY__SHIFT 4
#define NVE4_COMPUTE_TIC_FLUSH 0x00001334
-#define NVE4_COMPUTE_TIC_FLUSH_SPECIFIC 0x00000001
+#define NVE4_COMPUTE_TIC_FLUSH_SPECIFIC 0x00000001
#define NVE4_COMPUTE_TIC_FLUSH_ENTRY__MASK 0x03fffff0
#define NVE4_COMPUTE_TIC_FLUSH_ENTRY__SHIFT 4
#define NVE4_COMPUTE_TEX_CACHE_CTL 0x00001338
-#define NVE4_COMPUTE_TEX_CACHE_CTL_UNK0 0x00000001
+#define NVE4_COMPUTE_TEX_CACHE_CTL_UNK0 0x00000001
#define NVE4_COMPUTE_TEX_CACHE_CTL_ENTRY__MASK 0x03fffff0
-#define NVE4_COMPUTE_TEX_CACHE_CTL_ENTRY__SHIFT 4
+#define NVE4_COMPUTE_TEX_CACHE_CTL_ENTRY__SHIFT 4
#define NVE4_COMPUTE_UNK1424_TSC_FLUSH 0x00001424
@@ -253,7 +252,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVE4_COMPUTE_UNK1690 0x00001690
#define NVE4_COMPUTE_FLUSH 0x00001698
-#define NVE4_COMPUTE_FLUSH_CODE 0x00000001
+#define NVE4_COMPUTE_FLUSH_CODE 0x00000001
#define NVE4_COMPUTE_FLUSH_GLOBAL 0x00000010
#define NVE4_COMPUTE_FLUSH_CB 0x00001000
@@ -265,7 +264,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVE4_COMPUTE_UNK1A2C__ESIZE 0x00000004
#define NVE4_COMPUTE_UNK1A2C__LEN 0x00000005
-#define NVE4_COMPUTE_QUERY_ADDRESS_HIGH 0x00001b00
+#define NVE4_COMPUTE_QUERY_ADDRESS_HIGH 0x00001b00
#define NVE4_COMPUTE_QUERY_ADDRESS_LOW 0x00001b04
@@ -287,7 +286,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVE4_COMPUTE_MP_PM_SET__ESIZE 0x00000004
#define NVE4_COMPUTE_MP_PM_SET__LEN 0x00000008
-#define NVE4_COMPUTE_MP_PM_A_SIGSEL(i0) (0x0000337c + 0x4*(i0))
+#define NVE4_COMPUTE_MP_PM_A_SIGSEL(i0) (0x0000337c + 0x4*(i0))
#define NVE4_COMPUTE_MP_PM_A_SIGSEL__ESIZE 0x00000004
#define NVE4_COMPUTE_MP_PM_A_SIGSEL__LEN 0x00000004
#define NVE4_COMPUTE_MP_PM_A_SIGSEL_NONE 0x00000000
@@ -298,15 +297,15 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVE4_COMPUTE_MP_PM_A_SIGSEL_LDST 0x0000001b
#define NVE4_COMPUTE_MP_PM_A_SIGSEL_BRANCH 0x0000001c
-#define NVE4_COMPUTE_MP_PM_B_SIGSEL(i0) (0x0000338c + 0x4*(i0))
+#define NVE4_COMPUTE_MP_PM_B_SIGSEL(i0) (0x0000338c + 0x4*(i0))
#define NVE4_COMPUTE_MP_PM_B_SIGSEL__ESIZE 0x00000004
#define NVE4_COMPUTE_MP_PM_B_SIGSEL__LEN 0x00000004
#define NVE4_COMPUTE_MP_PM_B_SIGSEL_NONE 0x00000000
#define NVE4_COMPUTE_MP_PM_B_SIGSEL_WARP 0x00000002
#define NVE4_COMPUTE_MP_PM_B_SIGSEL_REPLAY 0x00000008
-#define NVE4_COMPUTE_MP_PM_B_SIGSEL_TRANSACTION 0x0000000e
+#define NVE4_COMPUTE_MP_PM_B_SIGSEL_TRANSACTION 0x0000000e
#define NVE4_COMPUTE_MP_PM_B_SIGSEL_L1 0x00000010
-#define NVE4_COMPUTE_MP_PM_B_SIGSEL_MEM 0x00000011
+#define NVE4_COMPUTE_MP_PM_B_SIGSEL_MEM 0x00000011
#define NVE4_COMPUTE_MP_PM_SRCSEL(i0) (0x0000339c + 0x4*(i0))
#define NVE4_COMPUTE_MP_PM_SRCSEL__ESIZE 0x00000004
@@ -343,7 +342,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVE4_COMPUTE_MP_PM_FUNC_MODE__SHIFT 0
#define NVE4_COMPUTE_MP_PM_FUNC_MODE_LOGOP 0x00000000
#define NVE4_COMPUTE_MP_PM_FUNC_MODE_LOGOP_PULSE 0x00000001
-#define NVE4_COMPUTE_MP_PM_FUNC_MODE_B6 0x00000002
+#define NVE4_COMPUTE_MP_PM_FUNC_MODE_B6 0x00000002
#define NVE4_COMPUTE_MP_PM_FUNC_MODE_UNK3 0x00000003
#define NVE4_COMPUTE_MP_PM_FUNC_MODE_LOGOP_B6 0x00000004
#define NVE4_COMPUTE_MP_PM_FUNC_MODE_LOGOP_B6_PULSE 0x00000005
@@ -357,7 +356,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVE4_COMPUTE_LAUNCH_DESC__SIZE 0x00000100
#define NVE4_COMPUTE_LAUNCH_DESC_6 0x00000018
-#define NVE4_COMPUTE_LAUNCH_DESC_6_NOTIFY__MASK 0x00000c00
+#define NVE4_COMPUTE_LAUNCH_DESC_6_NOTIFY__MASK 0x00000c00
#define NVE4_COMPUTE_LAUNCH_DESC_6_NOTIFY__SHIFT 10
#define NVE4_COMPUTE_LAUNCH_DESC_PROG_START 0x00000020
@@ -374,7 +373,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVE4_COMPUTE_LAUNCH_DESC_17 0x00000044
#define NVE4_COMPUTE_LAUNCH_DESC_17_SHARED_ALLOC__MASK 0x0000ffff
-#define NVE4_COMPUTE_LAUNCH_DESC_17_SHARED_ALLOC__SHIFT 0
+#define NVE4_COMPUTE_LAUNCH_DESC_17_SHARED_ALLOC__SHIFT 0
#define NVE4_COMPUTE_LAUNCH_DESC_18 0x00000048
#define NVE4_COMPUTE_LAUNCH_DESC_18_BLOCKDIM_X__MASK 0xffff0000
@@ -406,13 +405,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define NVE4_COMPUTE_LAUNCH_DESC_CB_CONFIG_1__LEN 0x00000008
#define NVE4_COMPUTE_LAUNCH_DESC_CB_CONFIG_1_ADDRESS_HIGH__MASK 0x000000ff
#define NVE4_COMPUTE_LAUNCH_DESC_CB_CONFIG_1_ADDRESS_HIGH__SHIFT 0
-#define NVE4_COMPUTE_LAUNCH_DESC_CB_CONFIG_1_SIZE__MASK 0xffff8000
+#define NVE4_COMPUTE_LAUNCH_DESC_CB_CONFIG_1_SIZE__MASK 0xffff8000
#define NVE4_COMPUTE_LAUNCH_DESC_CB_CONFIG_1_SIZE__SHIFT 15
#define NVE4_COMPUTE_LAUNCH_DESC_45 0x000000b4
#define NVE4_COMPUTE_LAUNCH_DESC_45_LOCAL_POS_ALLOC__MASK 0x000fffff
#define NVE4_COMPUTE_LAUNCH_DESC_45_LOCAL_POS_ALLOC__SHIFT 0
-#define NVE4_COMPUTE_LAUNCH_DESC_45_BARRIER_ALLOC__MASK 0xf8000000
+#define NVE4_COMPUTE_LAUNCH_DESC_45_BARRIER_ALLOC__MASK 0xf8000000
#define NVE4_COMPUTE_LAUNCH_DESC_45_BARRIER_ALLOC__SHIFT 27
#define NVE4_COMPUTE_LAUNCH_DESC_46 0x000000b8
diff --git a/src/gallium/drivers/nouveau/nvc0/nve4_p2mf.xml.h b/src/gallium/drivers/nouveau/nvc0/nve4_p2mf.xml.h
index 68a742f..3852ab8 100644
--- a/src/gallium/drivers/nouveau/nvc0/nve4_p2mf.xml.h
+++ b/src/gallium/drivers/nouveau/nvc0/nve4_p2mf.xml.h
@@ -1,21 +1,23 @@
-#ifndef RNNDB_NVE4_P2MF_XML
-#define RNNDB_NVE4_P2MF_XML
+#ifndef NVE4_P2MF_XML
+#define NVE4_P2MF_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/nve4_p2mf.xml ( 1400 bytes, from 2012-04-14 21:29:11)
-- ./rnndb/copyright.xml ( 6452 bytes, from 2011-08-11 18:25:12)
-- ./rnndb/nv_object.xml ( 12736 bytes, from 2012-04-14 21:30:24)
-- ./rnndb/nvchipsets.xml ( 3701 bytes, from 2012-03-22 20:40:59)
-- ./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)
-
-Copyright (C) 2006-2012 by the following authors:
+- rnndb/graph/gf100_3d.xml ( 60037 bytes, from 2014-12-31 02:40:43)
+- rnndb/copyright.xml ( 6456 bytes, from 2014-12-31 02:13:31)
+- rnndb/nv_defs.xml ( 4399 bytes, from 2013-09-07 03:32:45)
+- 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)
+- 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/graph/gk104_p2mf.xml ( 2376 bytes, from 2014-09-25 06:32:11)
+
+Copyright (C) 2006-2014 by the following authors:
- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
- Ben Skeggs (darktama, darktama_)
- B. R. <koala_br@users.sourceforge.net> (koala_br)
@@ -27,7 +29,7 @@ Copyright (C) 2006-2012 by the following authors:
- EdB <edb_@users.sf.net> (edb_)
- Erik Waling <erikwailing@users.sf.net> (erikwaling)
- Francisco Jerez <currojerez@riseup.net> (curro)
-- imirkin <imirkin@users.sf.net> (imirkin)
+- Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
@@ -75,33 +77,75 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#define NVE4_P2MF_LINE_LENGTH_IN 0x00000180
-#define NVE4_P2MF_LINE_COUNT 0x00000184
+#define NVE4_P2MF_UNK0144 0x00000144
-#define NVE4_P2MF_DST_ADDRESS_HIGH 0x00000188
+#define NVE4_P2MF_UPLOAD 0x00000000
-#define NVE4_P2MF_DST_ADDRESS_LOW 0x0000018c
+#define NVE4_P2MF_UPLOAD_LINE_LENGTH_IN 0x00000180
-#define NVE4_P2MF_DST_TILE_MODE 0x00000194
+#define NVE4_P2MF_UPLOAD_LINE_COUNT 0x00000184
-#define NVE4_P2MF_DST_PITCH 0x00000198
+#define NVE4_P2MF_UPLOAD_DST_ADDRESS_HIGH 0x00000188
-#define NVE4_P2MF_DST_HEIGHT 0x0000019c
+#define NVE4_P2MF_UPLOAD_DST_ADDRESS_LOW 0x0000018c
-#define NVE4_P2MF_DST_DEPTH 0x000001a0
+#define NVE4_P2MF_UPLOAD_DST_PITCH 0x00000190
-#define NVE4_P2MF_DST_Z 0x000001a4
+#define NVE4_P2MF_UPLOAD_DST_TILE_MODE 0x00000194
-#define NVE4_P2MF_DST_X 0x000001a8
+#define NVE4_P2MF_UPLOAD_DST_WIDTH 0x00000198
-#define NVE4_P2MF_DST_Y 0x000001ac
+#define NVE4_P2MF_UPLOAD_DST_HEIGHT 0x0000019c
-#define NVE4_P2MF_EXEC 0x000001b0
-#define NVE4_P2MF_EXEC_LINEAR 0x00000001
-#define NVE4_P2MF_EXEC_UNK12 0x00001000
+#define NVE4_P2MF_UPLOAD_DST_DEPTH 0x000001a0
-#define NVE4_P2MF_DATA 0x000001b4
+#define NVE4_P2MF_UPLOAD_DST_Z 0x000001a4
+#define NVE4_P2MF_UPLOAD_DST_X 0x000001a8
-#endif /* RNNDB_NVE4_P2MF_XML */
+#define NVE4_P2MF_UPLOAD_DST_Y 0x000001ac
+
+#define NVE4_P2MF_UPLOAD_EXEC 0x000001b0
+#define NVE4_P2MF_UPLOAD_EXEC_LINEAR 0x00000001
+#define NVE4_P2MF_UPLOAD_EXEC_UNK1__MASK 0x0000007e
+#define NVE4_P2MF_UPLOAD_EXEC_UNK1__SHIFT 1
+#define NVE4_P2MF_UPLOAD_EXEC_BUF_NOTIFY 0x00000300
+#define NVE4_P2MF_UPLOAD_EXEC_UNK12__MASK 0x0000f000
+#define NVE4_P2MF_UPLOAD_EXEC_UNK12__SHIFT 12
+
+#define NVE4_P2MF_UPLOAD_DATA 0x000001b4
+
+#define NVE4_P2MF_UPLOAD_QUERY_ADDRESS_HIGH 0x000001dc
+
+#define NVE4_P2MF_UPLOAD_QUERY_ADDRESS_LOW 0x000001e0
+
+#define NVE4_P2MF_UPLOAD_QUERY_SEQUENCE 0x000001e4
+
+#define NVE4_P2MF_UPLOAD_UNK01F0 0x000001f0
+
+#define NVE4_P2MF_UPLOAD_UNK01F4 0x000001f4
+
+#define NVE4_P2MF_UPLOAD_UNK01F8 0x000001f8
+
+#define NVE4_P2MF_UPLOAD_UNK01FC 0x000001fc
+
+#define NVE4_P2MF_FIRMWARE(i0) (0x00000200 + 0x4*(i0))
+#define NVE4_P2MF_FIRMWARE__ESIZE 0x00000004
+#define NVE4_P2MF_FIRMWARE__LEN 0x00000020
+
+#define NVE4_P2MF_COND_ADDRESS_HIGH 0x00001550
+
+#define NVE4_P2MF_COND_ADDRESS_LOW 0x00001554
+
+#define NVE4_P2MF_COND_MODE 0x00001558
+#define NVE4_P2MF_COND_MODE_NEVER 0x00000000
+#define NVE4_P2MF_COND_MODE_ALWAYS 0x00000001
+#define NVE4_P2MF_COND_MODE_RES_NON_ZERO 0x00000002
+#define NVE4_P2MF_COND_MODE_EQUAL 0x00000003
+#define NVE4_P2MF_COND_MODE_NOT_EQUAL 0x00000004
+
+#define NVE4_P2MF_UNK1944 0x00001944
+
+
+#endif /* NVE4_P2MF_XML */
--
2.0.5
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Nouveau] [PATCH 2/2] nvc0: regenerate rnndb headers
2014-12-31 3:42 ` [PATCH 2/2] nvc0: " Ilia Mirkin
@ 2015-01-04 18:43 ` Emil Velikov
0 siblings, 0 replies; 3+ messages in thread
From: Emil Velikov @ 2015-01-04 18:43 UTC (permalink / raw)
To: Ilia Mirkin, mesa-dev, nouveau; +Cc: emil.l.velikov
On 31/12/14 03:42, Ilia Mirkin wrote:
> The headers hadn't been regenerated in a long time and had seen a number
> of manual modifications. A few changes:
> - remove nvc0_2d entirely, use the nv50 header which has the nvc0
> values too
> - remove 3ddefs, it's identical to the nv50 file
> - move macros out into a separate file
>
> Also the upstream rnndb changed the overall chip naming convention; this
> was fixed up manually in the generated files until a better solution is
> determined.
>
> Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
> ---
> src/gallium/drivers/nouveau/nvc0/nvc0_2d.xml.h | 380 -------
> src/gallium/drivers/nouveau/nvc0/nvc0_3d.xml.h | 1115 ++++++++++++++++----
> src/gallium/drivers/nouveau/nvc0/nvc0_3ddefs.xml.h | 98 --
> .../drivers/nouveau/nvc0/nvc0_compute.xml.h | 67 +-
> src/gallium/drivers/nouveau/nvc0/nvc0_context.h | 5 +-
> src/gallium/drivers/nouveau/nvc0/nvc0_m2mf.xml.h | 67 +-
> src/gallium/drivers/nouveau/nvc0/nvc0_macros.h | 32 +
> src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 6 +-
> src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 6 +-
> src/gallium/drivers/nouveau/nvc0/nvc0_surface.c | 22 +-
> src/gallium/drivers/nouveau/nvc0/nvc0_tex.c | 12 +-
> src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c | 8 +-
> src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h | 4 +-
> .../drivers/nouveau/nvc0/nve4_compute.xml.h | 61 +-
> src/gallium/drivers/nouveau/nvc0/nve4_p2mf.xml.h | 102 +-
> 15 files changed, 1153 insertions(+), 832 deletions(-)
> delete mode 100644 src/gallium/drivers/nouveau/nvc0/nvc0_2d.xml.h
> delete mode 100644 src/gallium/drivers/nouveau/nvc0/nvc0_3ddefs.xml.h
> create mode 100644 src/gallium/drivers/nouveau/nvc0/nvc0_macros.h
>
Hi Ilia,
Please squash the following before pushing. Thanks.
-Emil
diff --git a/src/gallium/drivers/nouveau/Makefile.sources
b/src/gallium/drivers/nouveau/Makefile.sources
index 64f9608..3fae3bc 100644
--- a/src/gallium/drivers/nouveau/Makefile.sources
+++ b/src/gallium/drivers/nouveau/Makefile.sources
@@ -137,8 +137,6 @@ NVC0_CODEGEN_SOURCES := \
codegen/nv50_ir_target_nvc0.h
NVC0_C_SOURCES := \
- nvc0/nvc0_2d.xml.h \
- nvc0/nvc0_3ddefs.xml.h \
nvc0/nvc0_3d.xml.h \
nvc0/nvc0_compute.c \
nvc0/nvc0_compute.h \
@@ -147,6 +145,7 @@ NVC0_C_SOURCES := \
nvc0/nvc0_context.h \
nvc0/nvc0_formats.c \
nvc0/nvc0_m2mf.xml.h \
+ nvc0/nvc0_macros.h \
nvc0/nvc0_miptree.c \
nvc0/nvc0_program.c \
nvc0/nvc0_program.h \
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-01-04 18:43 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-31 3:42 [PATCH 1/2] nv50: regenerate rnndb headers Ilia Mirkin
[not found] ` <1419997367-7707-1-git-send-email-imirkin-FrUbXkNCsVf2fBVCVOL8/A@public.gmane.org>
2014-12-31 3:42 ` [PATCH 2/2] nvc0: " Ilia Mirkin
2015-01-04 18:43 ` [Nouveau] " Emil Velikov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.