gallium: separate out floating-point CAPs into its own enum
[mesa.git] / src / gallium / drivers / nvc0 / nvc0_3d.xml.h
index 31302949d5ed2f81bc3a9666c036c55393c2fde4..a8d91082740d928aa7c79fb24a1fe5bf0c77e3b1 100644 (file)
@@ -82,8 +82,18 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_3D_SERIALIZE                                      0x00000110
 
+#define NVC0_3D_LINE_WIDTH_SEPARATE                            0x0000020c
+
 #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,14 +132,25 @@ 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
 
+#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_LOCAL_BASE                                     0x0000077c
 
 #define NVC0_3D_LOCAL_ADDRESS_HIGH                             0x00000790
@@ -140,33 +161,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 +243,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
@@ -322,10 +349,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_3D_VERTEX_RUNOUT_ADDRESS_LOW                      0x00000f88
 
+#define NVC0_3D_COLOR_MASK_COMMON                              0x00000f90
+
 #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_MSAA_MASK(i0)                                 (0x00000fbc + 0x4*(i0))
 #define NVC0_3D_MSAA_MASK__ESIZE                               0x00000004
 #define NVC0_3D_MSAA_MASK__LEN                                 0x00000004
@@ -356,6 +387,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
@@ -387,7 +424,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_VERTEX_ATTRIB_FORMAT(i0)                      (0x00001160 + 0x4*(i0))
 #define NVC0_3D_VERTEX_ATTRIB_FORMAT__ESIZE                    0x00000004
 #define NVC0_3D_VERTEX_ATTRIB_FORMAT__LEN                      0x00000020
-#define NVC0_3D_VERTEX_ATTRIB_FORMAT_BUFFER__MASK              0x0000003f
+#define NVC0_3D_VERTEX_ATTRIB_FORMAT_BUFFER__MASK              0x0000001f
 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_BUFFER__SHIFT             0
 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_CONST                     0x00000040
 #define NVC0_3D_VERTEX_ATTRIB_FORMAT_OFFSET__MASK              0x001fff80
@@ -406,8 +443,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #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_2_10_10_10           0x06000000
-#define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__MASK                        0x78000000
+#define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_10_10_10_2           0x06000000
+#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
@@ -535,6 +572,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_TEX_CACHE_CTL_UNK1__MASK                       0x00000030
 #define NVC0_3D_TEX_CACHE_CTL_UNK1__SHIFT                      4
 
+#define NVC0_3D_BLEND_SEPARATE_ALPHA                           0x0000133c
+
 #define NVC0_3D_BLEND_EQUATION_RGB                             0x00001340
 #define NVC0_3D_BLEND_EQUATION_RGB_FUNC_ADD                    0x00008006
 #define NVC0_3D_BLEND_EQUATION_RGB_MIN                         0x00008007
@@ -557,11 +596,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_3D_BLEND_FUNC_DST_ALPHA                           0x00001358
 
+#define NVC0_3D_BLEND_ENABLE_COMMON                            0x0000135c
+
 #define NVC0_3D_BLEND_ENABLE(i0)                              (0x00001360 + 0x4*(i0))
 #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
@@ -605,9 +646,9 @@ 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_FUNC_MASK                                0x0000139c
+#define NVC0_3D_STENCIL_FRONT_MASK                             0x0000139c
 
 #define NVC0_3D_DRAW_TFB_BASE                                  0x000013a4
 
@@ -625,7 +666,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #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
+#define NVC0_3D_LINE_WIDTH_SMOOTH                              0x000013b0
+
+#define NVC0_3D_LINE_WIDTH_ALIASED                             0x000013b4
 
 #define NVC0_3D_GP_VERTEX_OUTPUT_COUNT                         0x00001420
 #define NVC0_3D_GP_VERTEX_OUTPUT_COUNT__MIN                    0x00000001
@@ -642,15 +685,27 @@ 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_VP_CLIP_DISTANCE_ENABLE                                0x00001510
-#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_0                      0x00000001
-#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_1                      0x00000002
-#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_2                      0x00000004
-#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_3                      0x00000008
-#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_4                      0x00000010
-#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_5                      0x00000020
-#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_6                      0x00000040
-#define NVC0_3D_VP_CLIP_DISTANCE_ENABLE_7                      0x00000080
+#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_CLIP_DISTANCE_ENABLE                           0x00001510
+#define NVC0_3D_CLIP_DISTANCE_ENABLE_0                         0x00000001
+#define NVC0_3D_CLIP_DISTANCE_ENABLE_1                         0x00000002
+#define NVC0_3D_CLIP_DISTANCE_ENABLE_2                         0x00000004
+#define NVC0_3D_CLIP_DISTANCE_ENABLE_3                         0x00000008
+#define NVC0_3D_CLIP_DISTANCE_ENABLE_4                         0x00000010
+#define NVC0_3D_CLIP_DISTANCE_ENABLE_5                         0x00000020
+#define NVC0_3D_CLIP_DISTANCE_ENABLE_6                         0x00000040
+#define NVC0_3D_CLIP_DISTANCE_ENABLE_7                         0x00000080
 
 #define NVC0_3D_SAMPLECNT_ENABLE                               0x00001514
 
@@ -763,17 +818,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #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
-#define NVC0_3D_MULTISAMPLE_MODE_2XMS                          0x00000001
-#define NVC0_3D_MULTISAMPLE_MODE_4XMS                          0x00000002
-#define NVC0_3D_MULTISAMPLE_MODE_8XMS                          0x00000003
-#define NVC0_3D_MULTISAMPLE_MODE_4XMS_4XCS                     0x00000008
-#define NVC0_3D_MULTISAMPLE_MODE_4XMS_12XCS                    0x00000009
-#define NVC0_3D_MULTISAMPLE_MODE_8XMS_8XCS                     0x0000000a
+#define NVC0_3D_MULTISAMPLE_MODE_MS1                           0x00000000
+#define NVC0_3D_MULTISAMPLE_MODE_MS2                           0x00000001
+#define NVC0_3D_MULTISAMPLE_MODE_MS4                           0x00000002
+#define NVC0_3D_MULTISAMPLE_MODE_MS8                           0x00000003
+#define NVC0_3D_MULTISAMPLE_MODE_MS8_ALT                       0x00000004
+#define NVC0_3D_MULTISAMPLE_MODE_MS2_ALT                       0x00000005
+#define NVC0_3D_MULTISAMPLE_MODE_UNK6                          0x00000006
+#define NVC0_3D_MULTISAMPLE_MODE_MS4_CS4                       0x00000008
+#define NVC0_3D_MULTISAMPLE_MODE_MS4_CS12                      0x00000009
+#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
@@ -814,8 +875,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
 
@@ -843,7 +908,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
 
@@ -863,8 +929,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_POINT_RASTER_RULES_OGL                         0x00000000
 #define NVC0_3D_POINT_RASTER_RULES_D3D                         0x00000001
 
-#define NVC0_3D_POINT_SPRITE_CTRL                              0x00001660
-
 #define NVC0_3D_TEX_MISC                                       0x00001664
 #define NVC0_3D_TEX_MISC_SEAMLESS_CUBE_MAP                     0x00000004
 
@@ -882,6 +946,17 @@ 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_VERTEX_QUARANTINE_ADDRESS_HIGH                 0x000017bc
+
+#define NVC0_3D_VERTEX_QUARANTINE_ADDRESS_LOW                  0x000017c0
+
+#define NVC0_3D_VERTEX_QUARANTINE_SIZE                         0x000017c4
+#define NVC0_3D_VERTEX_QUARANTINE_SIZE_16K                     0x00000001
+#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
@@ -906,6 +981,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define NVC0_3D_INDEX_BATCH_COUNT                              0x000017e0
 
+#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
@@ -923,26 +1000,68 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC0_3D_CULL_FACE_BACK                                 0x00000405
 #define NVC0_3D_CULL_FACE_FRONT_AND_BACK                       0x00000408
 
+#define NVC0_3D_LINE_LAST_PIXEL                                        0x00001924
+
 #define NVC0_3D_VIEWPORT_TRANSFORM_EN                          0x0000192c
 
 #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_VIEWPORT_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_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_CLIP_DISTANCE_MODE                             0x00001940
+#define NVC0_3D_CLIP_DISTANCE_MODE_0__MASK                     0x00000001
+#define NVC0_3D_CLIP_DISTANCE_MODE_0__SHIFT                    0
+#define NVC0_3D_CLIP_DISTANCE_MODE_0_CLIP                      0x00000000
+#define NVC0_3D_CLIP_DISTANCE_MODE_0_CULL                      0x00000001
+#define NVC0_3D_CLIP_DISTANCE_MODE_1__MASK                     0x00000010
+#define NVC0_3D_CLIP_DISTANCE_MODE_1__SHIFT                    4
+#define NVC0_3D_CLIP_DISTANCE_MODE_1_CLIP                      0x00000000
+#define NVC0_3D_CLIP_DISTANCE_MODE_1_CULL                      0x00000010
+#define NVC0_3D_CLIP_DISTANCE_MODE_2__MASK                     0x00000100
+#define NVC0_3D_CLIP_DISTANCE_MODE_2__SHIFT                    8
+#define NVC0_3D_CLIP_DISTANCE_MODE_2_CLIP                      0x00000000
+#define NVC0_3D_CLIP_DISTANCE_MODE_2_CULL                      0x00000100
+#define NVC0_3D_CLIP_DISTANCE_MODE_3__MASK                     0x00001000
+#define NVC0_3D_CLIP_DISTANCE_MODE_3__SHIFT                    12
+#define NVC0_3D_CLIP_DISTANCE_MODE_3_CLIP                      0x00000000
+#define NVC0_3D_CLIP_DISTANCE_MODE_3_CULL                      0x00001000
+#define NVC0_3D_CLIP_DISTANCE_MODE_4__MASK                     0x00010000
+#define NVC0_3D_CLIP_DISTANCE_MODE_4__SHIFT                    16
+#define NVC0_3D_CLIP_DISTANCE_MODE_4_CLIP                      0x00000000
+#define NVC0_3D_CLIP_DISTANCE_MODE_4_CULL                      0x00010000
+#define NVC0_3D_CLIP_DISTANCE_MODE_5__MASK                     0x00100000
+#define NVC0_3D_CLIP_DISTANCE_MODE_5__SHIFT                    20
+#define NVC0_3D_CLIP_DISTANCE_MODE_5_CLIP                      0x00000000
+#define NVC0_3D_CLIP_DISTANCE_MODE_5_CULL                      0x00100000
+#define NVC0_3D_CLIP_DISTANCE_MODE_6__MASK                     0x01000000
+#define NVC0_3D_CLIP_DISTANCE_MODE_6__SHIFT                    24
+#define NVC0_3D_CLIP_DISTANCE_MODE_6_CLIP                      0x00000000
+#define NVC0_3D_CLIP_DISTANCE_MODE_6_CULL                      0x01000000
+#define NVC0_3D_CLIP_DISTANCE_MODE_7__MASK                     0x10000000
+#define NVC0_3D_CLIP_DISTANCE_MODE_7__SHIFT                    28
+#define NVC0_3D_CLIP_DISTANCE_MODE_7_CLIP                      0x00000000
+#define NVC0_3D_CLIP_DISTANCE_MODE_7_CULL                      0x10000000
+
+#define NVC0_3D_CLIP_RECTS_EN                                  0x0000194c
+
+#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
@@ -995,6 +1114,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
@@ -1154,11 +1275,9 @@ 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_COLOR_MASK_BROADCAST                           0x00003808
+#define NVC0_3D_TFB_VARYING_LOCS__LEN                          0x00000020
 
 #define NVC0_3D_VERTEX_ARRAY_SELECT                            0x00003820