gallium: remove the geom_flags param from is_format_supported
[mesa.git] / src / gallium / drivers / nvc0 / nvc0_3d.xml.h
index 1346d99940944a28c7f3261f3edb631f5404d4f1..5857f7cee9ef537143f95b20fef4163d21ea4343 100644 (file)
@@ -8,15 +8,15 @@ 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    (  28058 bytes, from 2010-11-26 18:05:20)
+- 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-10-09 08:27:14)
-- nv_object.xml  (  11547 bytes, from 2010-11-26 16:41:56)
+- 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  (   4482 bytes, from 2010-10-03 13:18:37)
+- nv50_defs.xml  (   4487 bytes, from 2010-12-10 00:37:17)
 
-Copyright (C) 2006-2010 by the following authors:
+Copyright (C) 2006-2011 by the following authors:
 - Artur Huillet <arthur.huillet@free.fr> (ahuillet)
 - Ben Skeggs (darktama, darktama_)
 - B. R. <koala_br@users.sourceforge.net> (koala_br)
@@ -84,6 +84,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_3D_EARLY_FRAGMENT_TESTS                           0x00000210
 
+#define NVC0_3D_MEM_BARRIER                                    0x0000021c
+#define NVC0_3D_MEM_BARRIER_UNK0                               0x00000001
+#define NVC0_3D_MEM_BARRIER_UNK1                               0x00000002
+#define NVC0_3D_MEM_BARRIER_UNK2                               0x00000004
+#define NVC0_3D_MEM_BARRIER_UNK4                               0x00000010
+#define NVC0_3D_MEM_BARRIER_UNK8                               0x00000100
+#define NVC0_3D_MEM_BARRIER_UNK12                              0x00001000
+
 #define NVC0_3D_TESS_MODE                                      0x00000320
 #define NVC0_3D_TESS_MODE_PRIM__MASK                           0x0000000f
 #define NVC0_3D_TESS_MODE_PRIM__SHIFT                          0
@@ -122,11 +130,17 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_3D_TFB_PRIMITIVE_ID(i0)                          (0x00000390 + 0x20*(i0))
 
-#define NVC0_3D_TFB_UNK0700(i0)                                       (0x00000700 + 0x10*(i0))
+#define NVC0_3D_TFB_UNK07X0(i0)                                       (0x00000700 + 0x10*(i0))
+#define NVC0_3D_TFB_UNK07X0__ESIZE                             0x00000010
+#define NVC0_3D_TFB_UNK07X0__LEN                               0x00000004
 
 #define NVC0_3D_TFB_VARYING_COUNT(i0)                         (0x00000704 + 0x10*(i0))
+#define NVC0_3D_TFB_VARYING_COUNT__ESIZE                       0x00000010
+#define NVC0_3D_TFB_VARYING_COUNT__LEN                         0x00000004
 
 #define NVC0_3D_TFB_BUFFER_STRIDE(i0)                         (0x00000708 + 0x10*(i0))
+#define NVC0_3D_TFB_BUFFER_STRIDE__ESIZE                       0x00000010
+#define NVC0_3D_TFB_BUFFER_STRIDE__LEN                         0x00000004
 
 #define NVC0_3D_TFB_ENABLE                                     0x00000744
 
@@ -140,33 +154,39 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_3D_LOCAL_SIZE_LOW                                 0x0000079c
 
-#define NVC0_3D_RT(i0)                                        (0x00000800 + 0x20*(i0))
-#define NVC0_3D_RT__ESIZE                                      0x00000020
+#define NVC0_3D_RT(i0)                                        (0x00000800 + 0x40*(i0))
+#define NVC0_3D_RT__ESIZE                                      0x00000040
 #define NVC0_3D_RT__LEN                                                0x00000008
 
-#define NVC0_3D_RT_ADDRESS_HIGH(i0)                           (0x00000800 + 0x20*(i0))
+#define NVC0_3D_RT_ADDRESS_HIGH(i0)                           (0x00000800 + 0x40*(i0))
 
-#define NVC0_3D_RT_ADDRESS_LOW(i0)                            (0x00000804 + 0x20*(i0))
+#define NVC0_3D_RT_ADDRESS_LOW(i0)                            (0x00000804 + 0x40*(i0))
 
-#define NVC0_3D_RT_HORIZ(i0)                                  (0x00000808 + 0x20*(i0))
+#define NVC0_3D_RT_HORIZ(i0)                                  (0x00000808 + 0x40*(i0))
 
-#define NVC0_3D_RT_VERT(i0)                                   (0x0000080c + 0x20*(i0))
+#define NVC0_3D_RT_VERT(i0)                                   (0x0000080c + 0x40*(i0))
 
-#define NVC0_3D_RT_FORMAT(i0)                                 (0x00000810 + 0x20*(i0))
+#define NVC0_3D_RT_FORMAT(i0)                                 (0x00000810 + 0x40*(i0))
 
-#define NVC0_3D_RT_TILE_MODE(i0)                              (0x00000814 + 0x20*(i0))
-#define NVC0_3D_RT_TILE_MODE_UNK0                              0x00000001
+#define NVC0_3D_RT_TILE_MODE(i0)                              (0x00000814 + 0x40*(i0))
+#define NVC0_3D_RT_TILE_MODE_X                                 0x00000001
 #define NVC0_3D_RT_TILE_MODE_Y__MASK                           0x00000070
 #define NVC0_3D_RT_TILE_MODE_Y__SHIFT                          4
 #define NVC0_3D_RT_TILE_MODE_Z__MASK                           0x00000700
 #define NVC0_3D_RT_TILE_MODE_Z__SHIFT                          8
+#define NVC0_3D_RT_TILE_MODE_LINEAR                            0x00001000
+#define NVC0_3D_RT_TILE_MODE_UNK16                             0x00010000
 
-#define NVC0_3D_RT_ARRAY_MODE(i0)                             (0x00000818 + 0x20*(i0))
+#define NVC0_3D_RT_ARRAY_MODE(i0)                             (0x00000818 + 0x40*(i0))
 #define NVC0_3D_RT_ARRAY_MODE_LAYERS__MASK                     0x0000ffff
 #define NVC0_3D_RT_ARRAY_MODE_LAYERS__SHIFT                    0
 #define NVC0_3D_RT_ARRAY_MODE_VOLUME                           0x00010000
 
-#define NVC0_3D_RT_LAYER_STRIDE(i0)                           (0x0000081c + 0x20*(i0))
+#define NVC0_3D_RT_LAYER_STRIDE(i0)                           (0x0000081c + 0x40*(i0))
+
+#define NVC0_3D_RT_BASE_LAYER(i0)                             (0x00000820 + 0x40*(i0))
+
+#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
@@ -216,21 +236,21 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_DEPTH_RANGE_FAR__ESIZE                         0x00000010
 #define NVC0_3D_DEPTH_RANGE_FAR__LEN                           0x00000010
 
-#define NVC0_3D_VIEWPORT_CLIP_HORIZ(i0)                               (0x00000d00 + 0x8*(i0))
-#define NVC0_3D_VIEWPORT_CLIP_HORIZ__ESIZE                     0x00000008
-#define NVC0_3D_VIEWPORT_CLIP_HORIZ__LEN                       0x00000008
-#define NVC0_3D_VIEWPORT_CLIP_HORIZ_MIN__MASK                  0x0000ffff
-#define NVC0_3D_VIEWPORT_CLIP_HORIZ_MIN__SHIFT                 0
-#define NVC0_3D_VIEWPORT_CLIP_HORIZ_MAX__MASK                  0xffff0000
-#define NVC0_3D_VIEWPORT_CLIP_HORIZ_MAX__SHIFT                 16
-
-#define NVC0_3D_VIEWPORT_CLIP_VERT(i0)                        (0x00000d04 + 0x8*(i0))
-#define NVC0_3D_VIEWPORT_CLIP_VERT__ESIZE                      0x00000008
-#define NVC0_3D_VIEWPORT_CLIP_VERT__LEN                                0x00000008
-#define NVC0_3D_VIEWPORT_CLIP_VERT_MIN__MASK                   0x0000ffff
-#define NVC0_3D_VIEWPORT_CLIP_VERT_MIN__SHIFT                  0
-#define NVC0_3D_VIEWPORT_CLIP_VERT_MAX__MASK                   0xffff0000
-#define NVC0_3D_VIEWPORT_CLIP_VERT_MAX__SHIFT                  16
+#define NVC0_3D_CLIP_RECT_HORIZ(i0)                           (0x00000d00 + 0x8*(i0))
+#define NVC0_3D_CLIP_RECT_HORIZ__ESIZE                         0x00000008
+#define NVC0_3D_CLIP_RECT_HORIZ__LEN                           0x00000008
+#define NVC0_3D_CLIP_RECT_HORIZ_MIN__MASK                      0x0000ffff
+#define NVC0_3D_CLIP_RECT_HORIZ_MIN__SHIFT                     0
+#define NVC0_3D_CLIP_RECT_HORIZ_MAX__MASK                      0xffff0000
+#define NVC0_3D_CLIP_RECT_HORIZ_MAX__SHIFT                     16
+
+#define NVC0_3D_CLIP_RECT_VERT(i0)                            (0x00000d04 + 0x8*(i0))
+#define NVC0_3D_CLIP_RECT_VERT__ESIZE                          0x00000008
+#define NVC0_3D_CLIP_RECT_VERT__LEN                            0x00000008
+#define NVC0_3D_CLIP_RECT_VERT_MIN__MASK                       0x0000ffff
+#define NVC0_3D_CLIP_RECT_VERT_MIN__SHIFT                      0
+#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__ESIZE                     0x00000008
@@ -248,6 +268,24 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_CLIPID_REGION_VERT_H__MASK                     0xffff0000
 #define NVC0_3D_CLIPID_REGION_VERT_H__SHIFT                    16
 
+#define NVC0_3D_COUNTER_ENABLE                                 0x00000d68
+#define NVC0_3D_COUNTER_ENABLE_UNK00                           0x00000001
+#define NVC0_3D_COUNTER_ENABLE_UNK01                           0x00000002
+#define NVC0_3D_COUNTER_ENABLE_UNK02                           0x00000004
+#define NVC0_3D_COUNTER_ENABLE_UNK03                           0x00000008
+#define NVC0_3D_COUNTER_ENABLE_UNK04                           0x00000010
+#define NVC0_3D_COUNTER_ENABLE_EMITTED_PRIMITIVES              0x00000020
+#define NVC0_3D_COUNTER_ENABLE_UNK06                           0x00000040
+#define NVC0_3D_COUNTER_ENABLE_UNK07                           0x00000080
+#define NVC0_3D_COUNTER_ENABLE_UNK08                           0x00000100
+#define NVC0_3D_COUNTER_ENABLE_UNK09                           0x00000200
+#define NVC0_3D_COUNTER_ENABLE_GENERATED_PRIMITIVES            0x00000400
+#define NVC0_3D_COUNTER_ENABLE_UNK0B                           0x00000800
+#define NVC0_3D_COUNTER_ENABLE_UNK0C                           0x00001000
+#define NVC0_3D_COUNTER_ENABLE_UNK0D                           0x00002000
+#define NVC0_3D_COUNTER_ENABLE_UNK0E                           0x00004000
+#define NVC0_3D_COUNTER_ENABLE_UNK0F                           0x00008000
+
 #define NVC0_3D_VERTEX_BUFFER_FIRST                            0x00000d74
 
 #define NVC0_3D_VERTEX_BUFFER_COUNT                            0x00000d78
@@ -338,6 +376,12 @@ 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_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_VTX_ATTR_DEFINE                                        0x0000114c
@@ -431,6 +475,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_3D_LINKED_TSC                                     0x00001234
 
+#define NVC0_3D_DRAW_TFB_BYTES                                 0x0000123c
+
 #define NVC0_3D_FP_RESULT_COUNT                                        0x00001298
 
 #define NVC0_3D_DEPTH_TEST_ENABLE                              0x000012cc
@@ -493,19 +539,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #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__MIN                           0x00000001
+#define NVC0_3D_DRAW_TFB_STRIDE__MAX                           0x00000fff
+
 #define NVC0_3D_BLEND_COLOR(i0)                                       (0x0000131c + 0x4*(i0))
 #define NVC0_3D_BLEND_COLOR__ESIZE                             0x00000004
 #define NVC0_3D_BLEND_COLOR__LEN                               0x00000004
 
 #define NVC0_3D_TSC_FLUSH                                      0x00001330
-#define NVC0_3D_TSC_FLUSH_UNK0                                 0x00000001
-#define NVC0_3D_TSC_FLUSH_UNK1__MASK                           0x03fffff0
-#define NVC0_3D_TSC_FLUSH_UNK1__SHIFT                          4
+#define NVC0_3D_TSC_FLUSH_SPECIFIC                             0x00000001
+#define NVC0_3D_TSC_FLUSH_ENTRY__MASK                          0x03fffff0
+#define NVC0_3D_TSC_FLUSH_ENTRY__SHIFT                         4
 
 #define NVC0_3D_TIC_FLUSH                                      0x00001334
-#define NVC0_3D_TIC_FLUSH_UNK0                                 0x00000001
-#define NVC0_3D_TIC_FLUSH_UNK1__MASK                           0x03fffff0
-#define NVC0_3D_TIC_FLUSH_UNK1__SHIFT                          4
+#define NVC0_3D_TIC_FLUSH_SPECIFIC                             0x00000001
+#define NVC0_3D_TIC_FLUSH_ENTRY__MASK                          0x03fffff0
+#define NVC0_3D_TIC_FLUSH_ENTRY__SHIFT                         4
 
 #define NVC0_3D_TEX_CACHE_CTL                                  0x00001338
 #define NVC0_3D_TEX_CACHE_CTL_UNK1__MASK                       0x00000030
@@ -537,7 +587,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_BLEND_ENABLE__ESIZE                            0x00000004
 #define NVC0_3D_BLEND_ENABLE__LEN                              0x00000008
 
-#define NVC0_3D_STENCIL_FRONT_ENABLE                           0x00001380
+#define NVC0_3D_STENCIL_ENABLE                                 0x00001380
 
 #define NVC0_3D_STENCIL_FRONT_OP_FAIL                          0x00001384
 #define NVC0_3D_STENCIL_FRONT_OP_FAIL_ZERO                     0x00000000
@@ -581,9 +631,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_3D_STENCIL_FRONT_FUNC_REF                         0x00001394
 
-#define NVC0_3D_STENCIL_FRONT_MASK                             0x00001398
+#define NVC0_3D_STENCIL_FRONT_FUNC_MASK                                0x00001398
+
+#define NVC0_3D_STENCIL_FRONT_MASK                             0x0000139c
 
-#define NVC0_3D_STENCIL_FRONT_FUNC_MASK                                0x0000139c
+#define NVC0_3D_DRAW_TFB_BASE                                  0x000013a4
 
 #define NVC0_3D_FRAG_COLOR_CLAMP_EN                            0x000013a8
 #define NVC0_3D_FRAG_COLOR_CLAMP_EN_0                          0x00000001
@@ -595,7 +647,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_FRAG_COLOR_CLAMP_EN_6                          0x01000000
 #define NVC0_3D_FRAG_COLOR_CLAMP_EN_7                          0x10000000
 
-#define NVC0_3D_Y_ORIGIN_BOTTOM                                        0x000013ac
+#define NVC0_3D_SCREEN_Y_CONTROL                               0x000013ac
+#define NVC0_3D_SCREEN_Y_CONTROL_Y_NEGATE                      0x00000001
+#define NVC0_3D_SCREEN_Y_CONTROL_TRIANGLE_RAST_FLIP            0x00000010
 
 #define NVC0_3D_LINE_WIDTH                                     0x000013b0
 
@@ -603,7 +657,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_GP_VERTEX_OUTPUT_COUNT__MIN                    0x00000001
 #define NVC0_3D_GP_VERTEX_OUTPUT_COUNT__MAX                    0x00000400
 
-#define NVC0_3D_FENCE_UNK                                      0x0000142c
+#define NVC0_3D_VERTEX_ARRAY_FLUSH                             0x0000142c
 
 #define NVC0_3D_VB_ELEMENT_BASE                                        0x00001434
 
@@ -614,6 +668,18 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_CLIPID_HEIGHT                                  0x00001504
 #define NVC0_3D_CLIPID_HEIGHT__MAX                             0x00002000
 
+#define NVC0_3D_CLIPID_FILL_RECT_HORIZ                         0x00001508
+#define NVC0_3D_CLIPID_FILL_RECT_HORIZ_LOW__MASK               0x0000ffff
+#define NVC0_3D_CLIPID_FILL_RECT_HORIZ_LOW__SHIFT              0
+#define NVC0_3D_CLIPID_FILL_RECT_HORIZ_HIGH__MASK              0xffff0000
+#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__SHIFT               0
+#define NVC0_3D_CLIPID_FILL_RECT_VERT_HIGH__MASK               0xffff0000
+#define NVC0_3D_CLIPID_FILL_RECT_VERT_HIGH__SHIFT              16
+
 #define NVC0_3D_VP_CLIP_DISTANCE_ENABLE                                0x00001510
 #define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_0                      0x00000001
 #define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_1                      0x00000002
@@ -630,9 +696,27 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_3D_POINT_SPRITE_ENABLE                            0x00001520
 
-#define NVC0_3D_SAMPLECNT_RESET                                        0x00001530
-
-#define NVC0_3D_MULTISAMPLE_ZETA_ENABLE                                0x00001534
+#define NVC0_3D_COUNTER_RESET                                  0x00001530
+#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
+#define NVC0_3D_COUNTER_RESET_EMITTED_PRIMITIVES               0x00000010
+#define NVC0_3D_COUNTER_RESET_UNK11                            0x00000011
+#define NVC0_3D_COUNTER_RESET_UNK12                            0x00000012
+#define NVC0_3D_COUNTER_RESET_UNK13                            0x00000013
+#define NVC0_3D_COUNTER_RESET_UNK15                            0x00000015
+#define NVC0_3D_COUNTER_RESET_UNK16                            0x00000016
+#define NVC0_3D_COUNTER_RESET_UNK17                            0x00000017
+#define NVC0_3D_COUNTER_RESET_UNK18                            0x00000018
+#define NVC0_3D_COUNTER_RESET_UNK1A                            0x0000001a
+#define NVC0_3D_COUNTER_RESET_UNK1B                            0x0000001b
+#define NVC0_3D_COUNTER_RESET_UNK1C                            0x0000001c
+#define NVC0_3D_COUNTER_RESET_UNK1D                            0x0000001d
+#define NVC0_3D_COUNTER_RESET_UNK1E                            0x0000001e
+#define NVC0_3D_COUNTER_RESET_GENERATED_PRIMITIVES             0x0000001f
+
+#define NVC0_3D_MULTISAMPLE_ENABLE                             0x00001534
 
 #define NVC0_3D_ZETA_ENABLE                                    0x00001538
 
@@ -711,14 +795,16 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_GEQUAL                  0x00000206
 #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_ALWAYS                  0x00000207
 
-#define NVC0_3D_MULTISAMPLE_COLOR_ENABLE                       0x000015b4
+#define NVC0_3D_CSAA_ENABLE                                    0x000015b4
 
 #define NVC0_3D_FRAMEBUFFER_SRGB                               0x000015b8
 
 #define NVC0_3D_POLYGON_OFFSET_UNITS                           0x000015bc
 
-#define NVC0_3D_GP_BUILTIN_RESULT_EN                           0x000015cc
-#define NVC0_3D_GP_BUILTIN_RESULT_EN_LAYER                     0x00010000
+#define NVC0_3D_LAYER                                          0x000015cc
+#define NVC0_3D_LAYER_IDX__MASK                                        0x0000ffff
+#define NVC0_3D_LAYER_IDX__SHIFT                               0
+#define NVC0_3D_LAYER_USE_GP                                   0x00010000
 
 #define NVC0_3D_MULTISAMPLE_MODE                               0x000015d0
 #define NVC0_3D_MULTISAMPLE_MODE_1X                            0x00000000
@@ -768,8 +854,12 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_VERTEX_BASE_LOW                                        0x000015f8
 
 #define NVC0_3D_POINT_COORD_REPLACE                            0x00001604
-#define NVC0_3D_POINT_COORD_REPLACE_BITS__MASK                 0x00001fff
-#define NVC0_3D_POINT_COORD_REPLACE_BITS__SHIFT                        0
+#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_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__SHIFT              3
 
 #define NVC0_3D_CODE_ADDRESS_HIGH                              0x00001608
 
@@ -797,7 +887,8 @@ 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_INSTANCE_NEXT                  0x10000000
+#define NVC0_3D_VERTEX_BEGIN_GL_INSTANCE_NEXT                  0x04000000
+#define NVC0_3D_VERTEX_BEGIN_GL_INSTANCE_CONT                  0x08000000
 
 #define NVC0_3D_VERTEX_DATA                                    0x00001640
 
@@ -813,7 +904,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_3D_POINT_SMOOTH_ENABLE                            0x00001658
 
-#define NVC0_3D_POINT_SPRITE_CTRL                              0x00001660
+#define NVC0_3D_POINT_RASTER_RULES                             0x0000165c
+#define NVC0_3D_POINT_RASTER_RULES_OGL                         0x00000000
+#define NVC0_3D_POINT_RASTER_RULES_D3D                         0x00000001
 
 #define NVC0_3D_TEX_MISC                                       0x00001664
 #define NVC0_3D_TEX_MISC_SEAMLESS_CUBE_MAP                     0x00000004
@@ -832,6 +925,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #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_STRMOUT_UNK1780(i0)                           (0x00001780 + 0x4*(i0))
 #define NVC0_3D_STRMOUT_UNK1780__ESIZE                         0x00000004
 #define NVC0_3D_STRMOUT_UNK1780__LEN                           0x00000004
@@ -877,22 +972,28 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL                          0x0000193c
 #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK0                     0x00000001
-#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1                     0x00000002
-#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK2                     0x00000004
-#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK3                     0x00000008
-#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK4                     0x00000010
+#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_DEPTH_CLAMP_NEAR         0x00000008
+#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_FAR          0x00000010
 #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK7                     0x00000080
 #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK10                    0x00000400
 #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK11                    0x00000800
-#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12                    0x00001000
-#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK13                    0x00002000
+#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12__MASK              0x00003000
+#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12__SHIFT             12
+#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK0               0x00000000
+#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK1               0x00001000
+#define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK2               0x00002000
 
-#define NVC0_3D_VIEWPORT_CLIP_RECTS_EN                         0x0000194c
+#define NVC0_3D_CLIP_RECTS_EN                                  0x0000194c
 
-#define NVC0_3D_VIEWPORT_CLIP_MODE                             0x00001950
-#define NVC0_3D_VIEWPORT_CLIP_MODE_INSIDE_ANY                  0x00000000
-#define NVC0_3D_VIEWPORT_CLIP_MODE_OUTSIDE_ALL                 0x00000001
-#define NVC0_3D_VIEWPORT_CLIP_MODE_NEVER                       0x00000002
+#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_FP_ZORDER_CTRL                                 0x0000196c
 #define NVC0_3D_FP_ZORDER_CTRL_0                               0x00000001
@@ -945,6 +1046,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_CLEAR_BUFFERS_LAYER__MASK                      0x001ffc00
 #define NVC0_3D_CLEAR_BUFFERS_LAYER__SHIFT                     10
 
+#define NVC0_3D_CLIPID_FILL                                    0x000019d4
+
 #define NVC0_3D_COLOR_MASK(i0)                                (0x00001a00 + 0x4*(i0))
 #define NVC0_3D_COLOR_MASK__ESIZE                              0x00000004
 #define NVC0_3D_COLOR_MASK__LEN                                        0x00000008
@@ -960,11 +1063,30 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_QUERY_SEQUENCE                                 0x00001b08
 
 #define NVC0_3D_QUERY_GET                                      0x00001b0c
-#define NVC0_3D_QUERY_GET_FENCE                                        0x1000f010
-#define NVC0_3D_QUERY_GET_SAMPLE_COUNT                         0x0100f002
-#define NVC0_3D_QUERY_GET_TFB                                  0x05805002
-#define NVC0_3D_QUERY_GET_GENERATED_PRIMS                      0x06805002
-#define NVC0_3D_QUERY_GET_UNK00005002                          0x00005002
+#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_SYNC                            0x00000001
+#define NVC0_3D_QUERY_GET_MODE_WRITE_UNK2                      0x00000002
+#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_UNK8                                 0x00000100
+#define NVC0_3D_QUERY_GET_UNIT__MASK                           0x0000f000
+#define NVC0_3D_QUERY_GET_UNIT__SHIFT                          12
+#define NVC0_3D_QUERY_GET_SYNC_COND__MASK                      0x00010000
+#define NVC0_3D_QUERY_GET_SYNC_COND__SHIFT                     16
+#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_SELECT__MASK                         0x0f800000
+#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_VERTEX_ARRAY_FETCH(i0)                        (0x00001c00 + 0x10*(i0))
 #define NVC0_3D_VERTEX_ARRAY_FETCH__ESIZE                      0x00000010
@@ -973,6 +1095,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__SHIFT               0
 #define NVC0_3D_VERTEX_ARRAY_FETCH_ENABLE                      0x00001000
 
+#define NVC0_3D_VERTEX_ARRAY_START_HIGH(i0)                   (0x00001c04 + 0x10*(i0))
+#define NVC0_3D_VERTEX_ARRAY_START_HIGH__ESIZE                 0x00000010
+#define NVC0_3D_VERTEX_ARRAY_START_HIGH__LEN                   0x00000020
+
+#define NVC0_3D_VERTEX_ARRAY_START_LOW(i0)                    (0x00001c08 + 0x10*(i0))
+#define NVC0_3D_VERTEX_ARRAY_START_LOW__ESIZE                  0x00000010
+#define NVC0_3D_VERTEX_ARRAY_START_LOW__LEN                    0x00000020
+
 #define NVC0_3D_VERTEX_ARRAY_DIVISOR(i0)                      (0x00001c0c + 0x10*(i0))
 #define NVC0_3D_VERTEX_ARRAY_DIVISOR__ESIZE                    0x00000010
 #define NVC0_3D_VERTEX_ARRAY_DIVISOR__LEN                      0x00000020
@@ -1003,6 +1133,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_3D_IBLEND_FUNC_DST_ALPHA(i0)                     (0x00001e18 + 0x20*(i0))
 
+#define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH(i0)                   (0x00001f00 + 0x8*(i0))
+#define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH__ESIZE                 0x00000008
+#define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH__LEN                   0x00000020
+
+#define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW(i0)                    (0x00001f04 + 0x8*(i0))
+#define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW__ESIZE                  0x00000008
+#define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW__LEN                    0x00000020
+
 #define NVC0_3D_SP(i0)                                        (0x00002000 + 0x40*(i0))
 #define NVC0_3D_SP__ESIZE                                      0x00000040
 #define NVC0_3D_SP__LEN                                                0x00000006
@@ -1026,6 +1164,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_TEX_LIMITS__ESIZE                              0x00000010
 #define NVC0_3D_TEX_LIMITS__LEN                                        0x00000005
 
+#define NVC0_3D_FIRMWARE(i0)                                  (0x00002300 + 0x4*(i0))
+#define NVC0_3D_FIRMWARE__ESIZE                                        0x00000004
+#define NVC0_3D_FIRMWARE__LEN                                  0x00000020
+
 #define NVC0_3D_CB_SIZE                                                0x00002380
 
 #define NVC0_3D_CB_ADDRESS_HIGH                                        0x00002384
@@ -1065,22 +1207,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_3D_VERT_COLOR_CLAMP_EN                            0x00002600
 
-#define NVC0_3D_TFB_VARYING_LOCS(i0)                          (0x00002800 + 0x4*(i0))
+#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                          0x00000080
+#define NVC0_3D_TFB_VARYING_LOCS__LEN                          0x00000020
 
 #define NVC0_3D_COLOR_MASK_BROADCAST                           0x00003808
 
 #define NVC0_3D_VERTEX_ARRAY_SELECT                            0x00003820
 
-#define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH                                0x00003824
-
-#define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW                         0x00003828
-
-#define NVC0_3D_VERTEX_ARRAY_START_HIGH                                0x0000382c
-
-#define NVC0_3D_VERTEX_ARRAY_START_LOW                         0x00003830
-
 #define NVC0_3D_BLEND_ENABLES                                  0x00003858
 
 #define NVC0_3D_POLYGON_MODE_FRONT                             0x00003868