Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. #ifndef NVC0_3D_XML
  2. #define NVC0_3D_XML
  3.  
  4. /* Autogenerated file, DO NOT EDIT manually!
  5.  
  6. This file was generated by the rules-ng-ng headergen tool in this git repository:
  7. http://0x04.net/cgit/index.cgi/rules-ng-ng
  8. git clone git://0x04.net/rules-ng-ng
  9.  
  10. The rules-ng-ng source files this header was generated from are:
  11. - nvc0_3d.xml    (  30827 bytes, from 2011-01-13 18:23:07)
  12. - copyright.xml  (   6452 bytes, from 2010-11-25 23:28:20)
  13. - nv_defs.xml    (   4437 bytes, from 2010-07-06 07:43:58)
  14. - nv_3ddefs.xml  (  16394 bytes, from 2010-12-17 15:10:40)
  15. - nv_object.xml  (  11898 bytes, from 2010-12-23 14:14:20)
  16. - nvchipsets.xml (   3074 bytes, from 2010-11-07 00:36:28)
  17. - nv50_defs.xml  (   4487 bytes, from 2010-12-10 00:37:17)
  18.  
  19. Copyright (C) 2006-2011 by the following authors:
  20. - Artur Huillet <arthur.huillet@free.fr> (ahuillet)
  21. - Ben Skeggs (darktama, darktama_)
  22. - B. R. <koala_br@users.sourceforge.net> (koala_br)
  23. - Carlos Martin <carlosmn@users.sf.net> (carlosmn)
  24. - Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
  25. - Dawid Gajownik <gajownik@users.sf.net> (gajownik)
  26. - Dmitry Baryshkov
  27. - Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
  28. - EdB <edb_@users.sf.net> (edb_)
  29. - Erik Waling <erikwailing@users.sf.net> (erikwaling)
  30. - Francisco Jerez <currojerez@riseup.net> (curro)
  31. - imirkin <imirkin@users.sf.net> (imirkin)
  32. - jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
  33. - Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
  34. - Laurent Carlier <lordheavym@gmail.com> (lordheavy)
  35. - Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
  36. - Maarten Maathuis <madman2003@gmail.com> (stillunknown)
  37. - Marcin Koƛcielnicki <koriakin@0x04.net> (mwk, koriakin)
  38. - Mark Carey <mark.carey@gmail.com> (careym)
  39. - Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
  40. - nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
  41. - Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
  42. - Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
  43. - Peter Popov <ironpeter@users.sf.net> (ironpeter)
  44. - Richard Hughes <hughsient@users.sf.net> (hughsient)
  45. - Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
  46. - Serge Martin
  47. - Simon Raffeiner
  48. - Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
  49. - Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
  50. - sturmflut <sturmflut@users.sf.net> (sturmflut)
  51. - Sylvain Munaut <tnt@246tNt.com>
  52. - Victor Stinner <victor.stinner@haypocalc.com> (haypo)
  53. - Wladmir van der Laan <laanwj@gmail.com> (miathan6)
  54. - Younes Manton <younes.m@gmail.com> (ymanton)
  55.  
  56. Permission is hereby granted, free of charge, to any person obtaining
  57. a copy of this software and associated documentation files (the
  58. "Software"), to deal in the Software without restriction, including
  59. without limitation the rights to use, copy, modify, merge, publish,
  60. distribute, sublicense, and/or sell copies of the Software, and to
  61. permit persons to whom the Software is furnished to do so, subject to
  62. the following conditions:
  63.  
  64. The above copyright notice and this permission notice (including the
  65. next paragraph) shall be included in all copies or substantial
  66. portions of the Software.
  67.  
  68. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  69. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  70. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  71. IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
  72. LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  73. OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  74. WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  75. */
  76.  
  77.  
  78.  
  79. #define NVC0_3D_NOTIFY_ADDRESS_HIGH                             0x00000104
  80. #define NVC0_3D_NOTIFY_ADDRESS_LOW                              0x00000108
  81. #define NVC0_3D_NOTIFY                                          0x0000010c
  82.  
  83. #define NVC0_3D_SERIALIZE                                       0x00000110
  84.  
  85. #define NVC0_3D_LINE_WIDTH_SEPARATE                             0x0000020c
  86.  
  87. #define NVC0_3D_FORCE_EARLY_FRAGMENT_TESTS                      0x00000210
  88.  
  89. #define NVC0_3D_MEM_BARRIER                                     0x0000021c
  90. #define NVC0_3D_MEM_BARRIER_UNK0                                0x00000001
  91. #define NVC0_3D_MEM_BARRIER_UNK1                                0x00000002
  92. #define NVC0_3D_MEM_BARRIER_UNK2                                0x00000004
  93. #define NVC0_3D_MEM_BARRIER_UNK4                                0x00000010
  94. #define NVC0_3D_MEM_BARRIER_UNK8                                0x00000100
  95. #define NVC0_3D_MEM_BARRIER_UNK12                               0x00001000
  96.  
  97. #define NVC0_3D_CACHE_SPLIT                                     0x00000308
  98. #define NVC1_3D_CACHE_SPLIT_16K_SHARED_48K_L1                   0x00000001
  99. #define NVE4_3D_CACHE_SPLIT_32K_SHARED_32K_L1                   0x00000002
  100. #define NVC0_3D_CACHE_SPLIT_48K_SHARED_16K_L1                   0x00000003
  101.  
  102. #define NVC0_3D_TESS_MODE                                       0x00000320
  103. #define NVC0_3D_TESS_MODE_PRIM__MASK                            0x0000000f
  104. #define NVC0_3D_TESS_MODE_PRIM__SHIFT                           0
  105. #define NVC0_3D_TESS_MODE_PRIM_ISOLINES                         0x00000000
  106. #define NVC0_3D_TESS_MODE_PRIM_TRIANGLES                        0x00000001
  107. #define NVC0_3D_TESS_MODE_PRIM_QUADS                            0x00000002
  108. #define NVC0_3D_TESS_MODE_SPACING__MASK                         0x000000f0
  109. #define NVC0_3D_TESS_MODE_SPACING__SHIFT                        4
  110. #define NVC0_3D_TESS_MODE_SPACING_EQUAL                         0x00000000
  111. #define NVC0_3D_TESS_MODE_SPACING_FRACTIONAL_ODD                0x00000010
  112. #define NVC0_3D_TESS_MODE_SPACING_FRACTIONAL_EVEN               0x00000020
  113. #define NVC0_3D_TESS_MODE_CW                                    0x00000100
  114. #define NVC0_3D_TESS_MODE_CONNECTED                             0x00000200
  115.  
  116. #define NVC0_3D_TESS_LEVEL_OUTER(i0)                           (0x00000324 + 0x4*(i0))
  117. #define NVC0_3D_TESS_LEVEL_OUTER__ESIZE                         0x00000004
  118. #define NVC0_3D_TESS_LEVEL_OUTER__LEN                           0x00000004
  119.  
  120. #define NVC0_3D_TESS_LEVEL_INNER(i0)                           (0x00000334 + 0x4*(i0))
  121. #define NVC0_3D_TESS_LEVEL_INNER__ESIZE                         0x00000004
  122. #define NVC0_3D_TESS_LEVEL_INNER__LEN                           0x00000002
  123.  
  124. #define NVC0_3D_RASTERIZE_ENABLE                                0x0000037c
  125.  
  126. #define NVC0_3D_TFB(i0)                                        (0x00000380 + 0x20*(i0))
  127. #define NVC0_3D_TFB__ESIZE                                      0x00000020
  128. #define NVC0_3D_TFB__LEN                                        0x00000004
  129.  
  130. #define NVC0_3D_TFB_BUFFER_ENABLE(i0)                          (0x00000380 + 0x20*(i0))
  131.  
  132. #define NVC0_3D_TFB_ADDRESS_HIGH(i0)                           (0x00000384 + 0x20*(i0))
  133.  
  134. #define NVC0_3D_TFB_ADDRESS_LOW(i0)                            (0x00000388 + 0x20*(i0))
  135.  
  136. #define NVC0_3D_TFB_BUFFER_SIZE(i0)                            (0x0000038c + 0x20*(i0))
  137.  
  138. #define NVC0_3D_TFB_BUFFER_OFFSET(i0)                          (0x00000390 + 0x20*(i0))
  139.  
  140. #define NVC0_3D_TFB_STREAM(i0)                                 (0x00000700 + 0x10*(i0))
  141. #define NVC0_3D_TFB_STREAM__ESIZE                               0x00000010
  142. #define NVC0_3D_TFB_STREAM__LEN                                 0x00000004
  143.  
  144. #define NVC0_3D_TFB_VARYING_COUNT(i0)                          (0x00000704 + 0x10*(i0))
  145. #define NVC0_3D_TFB_VARYING_COUNT__ESIZE                        0x00000010
  146. #define NVC0_3D_TFB_VARYING_COUNT__LEN                          0x00000004
  147.  
  148. #define NVC0_3D_TFB_BUFFER_STRIDE(i0)                          (0x00000708 + 0x10*(i0))
  149. #define NVC0_3D_TFB_BUFFER_STRIDE__ESIZE                        0x00000010
  150. #define NVC0_3D_TFB_BUFFER_STRIDE__LEN                          0x00000004
  151.  
  152. #define NVC0_3D_TFB_ENABLE                                      0x00000744
  153.  
  154. #define NVC0_3D_SAMPLE_SHADING                                  0x00000754
  155. #define NVC0_3D_SAMPLE_SHADING_MIN_SAMPLES__MASK                0x0000000f
  156. #define NVC0_3D_SAMPLE_SHADING_MIN_SAMPLES__SHIFT               0
  157. #define NVC0_3D_SAMPLE_SHADING_ENABLE                           0x00000010
  158.  
  159. #define NVC0_3D_LOCAL_BASE                                      0x0000077c
  160.  
  161. #define NVC0_3D_TEMP_ADDRESS_HIGH                               0x00000790
  162.  
  163. #define NVC0_3D_TEMP_ADDRESS_LOW                                0x00000794
  164.  
  165. #define NVC0_3D_TEMP_SIZE_HIGH                                  0x00000798
  166.  
  167. #define NVC0_3D_TEMP_SIZE_LOW                                   0x0000079c
  168.  
  169. #define NVC0_3D_WARP_TEMP_ALLOC                                 0x000007a0
  170.  
  171. #define NVC0_3D_ZCULL_WIDTH                                     0x000007c0
  172.  
  173. #define NVC0_3D_ZCULL_HEIGHT                                    0x000007c4
  174.  
  175. #define NVC0_3D_ZCULL_ADDRESS_HIGH                              0x000007e8
  176.  
  177. #define NVC0_3D_ZCULL_ADDRESS_LOW                               0x000007ec
  178.  
  179. #define NVC0_3D_ZCULL_LIMIT_HIGH                                0x000007f0
  180.  
  181. #define NVC0_3D_ZCULL_LIMIT_LOW                                 0x000007f4
  182.  
  183. #define NVC0_3D_RT(i0)                                         (0x00000800 + 0x40*(i0))
  184. #define NVC0_3D_RT__ESIZE                                       0x00000040
  185. #define NVC0_3D_RT__LEN                                         0x00000008
  186.  
  187. #define NVC0_3D_RT_ADDRESS_HIGH(i0)                            (0x00000800 + 0x40*(i0))
  188.  
  189. #define NVC0_3D_RT_ADDRESS_LOW(i0)                             (0x00000804 + 0x40*(i0))
  190.  
  191. #define NVC0_3D_RT_HORIZ(i0)                                   (0x00000808 + 0x40*(i0))
  192.  
  193. #define NVC0_3D_RT_VERT(i0)                                    (0x0000080c + 0x40*(i0))
  194.  
  195. #define NVC0_3D_RT_FORMAT(i0)                                  (0x00000810 + 0x40*(i0))
  196.  
  197. #define NVC0_3D_RT_TILE_MODE(i0)                               (0x00000814 + 0x40*(i0))
  198. #define NVC0_3D_RT_TILE_MODE_X                                  0x00000001
  199. #define NVC0_3D_RT_TILE_MODE_Y__MASK                            0x00000070
  200. #define NVC0_3D_RT_TILE_MODE_Y__SHIFT                           4
  201. #define NVC0_3D_RT_TILE_MODE_Z__MASK                            0x00000700
  202. #define NVC0_3D_RT_TILE_MODE_Z__SHIFT                           8
  203. #define NVC0_3D_RT_TILE_MODE_LINEAR                             0x00001000
  204. #define NVC0_3D_RT_TILE_MODE_UNK16                              0x00010000
  205.  
  206. #define NVC0_3D_RT_ARRAY_MODE(i0)                              (0x00000818 + 0x40*(i0))
  207. #define NVC0_3D_RT_ARRAY_MODE_LAYERS__MASK                      0x0000ffff
  208. #define NVC0_3D_RT_ARRAY_MODE_LAYERS__SHIFT                     0
  209. #define NVC0_3D_RT_ARRAY_MODE_VOLUME                            0x00010000
  210.  
  211. #define NVC0_3D_RT_LAYER_STRIDE(i0)                            (0x0000081c + 0x40*(i0))
  212.  
  213. #define NVC0_3D_RT_BASE_LAYER(i0)                              (0x00000820 + 0x40*(i0))
  214.  
  215. #define NVC0_3D_RT_UNK14(i0)                                   (0x00000824 + 0x40*(i0))
  216.  
  217. #define NVC0_3D_VIEWPORT_SCALE_X(i0)                           (0x00000a00 + 0x20*(i0))
  218. #define NVC0_3D_VIEWPORT_SCALE_X__ESIZE                         0x00000020
  219. #define NVC0_3D_VIEWPORT_SCALE_X__LEN                           0x00000010
  220.  
  221. #define NVC0_3D_VIEWPORT_SCALE_Y(i0)                           (0x00000a04 + 0x20*(i0))
  222. #define NVC0_3D_VIEWPORT_SCALE_Y__ESIZE                         0x00000020
  223. #define NVC0_3D_VIEWPORT_SCALE_Y__LEN                           0x00000010
  224.  
  225. #define NVC0_3D_VIEWPORT_SCALE_Z(i0)                           (0x00000a08 + 0x20*(i0))
  226. #define NVC0_3D_VIEWPORT_SCALE_Z__ESIZE                         0x00000020
  227. #define NVC0_3D_VIEWPORT_SCALE_Z__LEN                           0x00000010
  228.  
  229. #define NVC0_3D_VIEWPORT_TRANSLATE_X(i0)                       (0x00000a0c + 0x20*(i0))
  230. #define NVC0_3D_VIEWPORT_TRANSLATE_X__ESIZE                     0x00000020
  231. #define NVC0_3D_VIEWPORT_TRANSLATE_X__LEN                       0x00000010
  232.  
  233. #define NVC0_3D_VIEWPORT_TRANSLATE_Y(i0)                       (0x00000a10 + 0x20*(i0))
  234. #define NVC0_3D_VIEWPORT_TRANSLATE_Y__ESIZE                     0x00000020
  235. #define NVC0_3D_VIEWPORT_TRANSLATE_Y__LEN                       0x00000010
  236.  
  237. #define NVC0_3D_VIEWPORT_TRANSLATE_Z(i0)                       (0x00000a14 + 0x20*(i0))
  238. #define NVC0_3D_VIEWPORT_TRANSLATE_Z__ESIZE                     0x00000020
  239. #define NVC0_3D_VIEWPORT_TRANSLATE_Z__LEN                       0x00000010
  240.  
  241. #define NVC0_3D_VIEWPORT_HORIZ(i0)                             (0x00000c00 + 0x10*(i0))
  242. #define NVC0_3D_VIEWPORT_HORIZ__ESIZE                           0x00000010
  243. #define NVC0_3D_VIEWPORT_HORIZ__LEN                             0x00000010
  244. #define NVC0_3D_VIEWPORT_HORIZ_X__MASK                          0x0000ffff
  245. #define NVC0_3D_VIEWPORT_HORIZ_X__SHIFT                         0
  246. #define NVC0_3D_VIEWPORT_HORIZ_W__MASK                          0xffff0000
  247. #define NVC0_3D_VIEWPORT_HORIZ_W__SHIFT                         16
  248.  
  249. #define NVC0_3D_VIEWPORT_VERT(i0)                              (0x00000c04 + 0x10*(i0))
  250. #define NVC0_3D_VIEWPORT_VERT__ESIZE                            0x00000010
  251. #define NVC0_3D_VIEWPORT_VERT__LEN                              0x00000010
  252. #define NVC0_3D_VIEWPORT_VERT_Y__MASK                           0x0000ffff
  253. #define NVC0_3D_VIEWPORT_VERT_Y__SHIFT                          0
  254. #define NVC0_3D_VIEWPORT_VERT_H__MASK                           0xffff0000
  255. #define NVC0_3D_VIEWPORT_VERT_H__SHIFT                          16
  256.  
  257. #define NVC0_3D_DEPTH_RANGE_NEAR(i0)                           (0x00000c08 + 0x10*(i0))
  258. #define NVC0_3D_DEPTH_RANGE_NEAR__ESIZE                         0x00000010
  259. #define NVC0_3D_DEPTH_RANGE_NEAR__LEN                           0x00000010
  260.  
  261. #define NVC0_3D_DEPTH_RANGE_FAR(i0)                            (0x00000c0c + 0x10*(i0))
  262. #define NVC0_3D_DEPTH_RANGE_FAR__ESIZE                          0x00000010
  263. #define NVC0_3D_DEPTH_RANGE_FAR__LEN                            0x00000010
  264.  
  265. #define NVC0_3D_CLIP_RECT_HORIZ(i0)                            (0x00000d00 + 0x8*(i0))
  266. #define NVC0_3D_CLIP_RECT_HORIZ__ESIZE                          0x00000008
  267. #define NVC0_3D_CLIP_RECT_HORIZ__LEN                            0x00000008
  268. #define NVC0_3D_CLIP_RECT_HORIZ_MIN__MASK                       0x0000ffff
  269. #define NVC0_3D_CLIP_RECT_HORIZ_MIN__SHIFT                      0
  270. #define NVC0_3D_CLIP_RECT_HORIZ_MAX__MASK                       0xffff0000
  271. #define NVC0_3D_CLIP_RECT_HORIZ_MAX__SHIFT                      16
  272.  
  273. #define NVC0_3D_CLIP_RECT_VERT(i0)                             (0x00000d04 + 0x8*(i0))
  274. #define NVC0_3D_CLIP_RECT_VERT__ESIZE                           0x00000008
  275. #define NVC0_3D_CLIP_RECT_VERT__LEN                             0x00000008
  276. #define NVC0_3D_CLIP_RECT_VERT_MIN__MASK                        0x0000ffff
  277. #define NVC0_3D_CLIP_RECT_VERT_MIN__SHIFT                       0
  278. #define NVC0_3D_CLIP_RECT_VERT_MAX__MASK                        0xffff0000
  279. #define NVC0_3D_CLIP_RECT_VERT_MAX__SHIFT                       16
  280.  
  281. #define NVC0_3D_CLIPID_REGION_HORIZ(i0)                        (0x00000d40 + 0x8*(i0))
  282. #define NVC0_3D_CLIPID_REGION_HORIZ__ESIZE                      0x00000008
  283. #define NVC0_3D_CLIPID_REGION_HORIZ__LEN                        0x00000004
  284. #define NVC0_3D_CLIPID_REGION_HORIZ_X__MASK                     0x0000ffff
  285. #define NVC0_3D_CLIPID_REGION_HORIZ_X__SHIFT                    0
  286. #define NVC0_3D_CLIPID_REGION_HORIZ_W__MASK                     0xffff0000
  287. #define NVC0_3D_CLIPID_REGION_HORIZ_W__SHIFT                    16
  288.  
  289. #define NVC0_3D_CLIPID_REGION_VERT(i0)                         (0x00000d44 + 0x8*(i0))
  290. #define NVC0_3D_CLIPID_REGION_VERT__ESIZE                       0x00000008
  291. #define NVC0_3D_CLIPID_REGION_VERT__LEN                         0x00000004
  292. #define NVC0_3D_CLIPID_REGION_VERT_Y__MASK                      0x0000ffff
  293. #define NVC0_3D_CLIPID_REGION_VERT_Y__SHIFT                     0
  294. #define NVC0_3D_CLIPID_REGION_VERT_H__MASK                      0xffff0000
  295. #define NVC0_3D_CLIPID_REGION_VERT_H__SHIFT                     16
  296.  
  297. #define NVC0_3D_CALL_LIMIT_LOG                                  0x00000d64
  298.  
  299. #define NVC0_3D_COUNTER_ENABLE                                  0x00000d68
  300. #define NVC0_3D_COUNTER_ENABLE_UNK00                            0x00000001
  301. #define NVC0_3D_COUNTER_ENABLE_UNK01                            0x00000002
  302. #define NVC0_3D_COUNTER_ENABLE_UNK02                            0x00000004
  303. #define NVC0_3D_COUNTER_ENABLE_UNK03                            0x00000008
  304. #define NVC0_3D_COUNTER_ENABLE_UNK04                            0x00000010
  305. #define NVC0_3D_COUNTER_ENABLE_EMITTED_PRIMITIVES               0x00000020
  306. #define NVC0_3D_COUNTER_ENABLE_UNK06                            0x00000040
  307. #define NVC0_3D_COUNTER_ENABLE_UNK07                            0x00000080
  308. #define NVC0_3D_COUNTER_ENABLE_UNK08                            0x00000100
  309. #define NVC0_3D_COUNTER_ENABLE_UNK09                            0x00000200
  310. #define NVC0_3D_COUNTER_ENABLE_GENERATED_PRIMITIVES             0x00000400
  311. #define NVC0_3D_COUNTER_ENABLE_UNK0B                            0x00000800
  312. #define NVC0_3D_COUNTER_ENABLE_UNK0C                            0x00001000
  313. #define NVC0_3D_COUNTER_ENABLE_UNK0D                            0x00002000
  314. #define NVC0_3D_COUNTER_ENABLE_UNK0E                            0x00004000
  315. #define NVC0_3D_COUNTER_ENABLE_UNK0F                            0x00008000
  316.  
  317. #define NVC0_3D_VERTEX_BUFFER_FIRST                             0x00000d74
  318.  
  319. #define NVC0_3D_VERTEX_BUFFER_COUNT                             0x00000d78
  320.  
  321. #define NVC0_3D_CLEAR_COLOR(i0)                                (0x00000d80 + 0x4*(i0))
  322. #define NVC0_3D_CLEAR_COLOR__ESIZE                              0x00000004
  323. #define NVC0_3D_CLEAR_COLOR__LEN                                0x00000004
  324.  
  325. #define NVC0_3D_CLEAR_DEPTH                                     0x00000d90
  326.  
  327. #define NVC0_3D_CLEAR_STENCIL                                   0x00000da0
  328.  
  329. #define NVC0_3D_POLYGON_SMOOTH_ENABLE                           0x00000db4
  330.  
  331. #define NVC0_3D_POLYGON_OFFSET_POINT_ENABLE                     0x00000dc0
  332.  
  333. #define NVC0_3D_POLYGON_OFFSET_LINE_ENABLE                      0x00000dc4
  334.  
  335. #define NVC0_3D_POLYGON_OFFSET_FILL_ENABLE                      0x00000dc8
  336.  
  337. #define NVC0_3D_PATCH_VERTICES                                  0x00000dcc
  338.  
  339. #define NVC0_3D_WATCHDOG_TIMER                                  0x00000de4
  340.  
  341. #define NVC0_3D_WINDOW_OFFSET_X                                 0x00000df8
  342.  
  343. #define NVC0_3D_WINDOW_OFFSET_Y                                 0x00000dfc
  344.  
  345. #define NVC0_3D_SCISSOR_ENABLE(i0)                             (0x00000e00 + 0x10*(i0))
  346. #define NVC0_3D_SCISSOR_ENABLE__ESIZE                           0x00000010
  347. #define NVC0_3D_SCISSOR_ENABLE__LEN                             0x00000010
  348.  
  349. #define NVC0_3D_SCISSOR_HORIZ(i0)                              (0x00000e04 + 0x10*(i0))
  350. #define NVC0_3D_SCISSOR_HORIZ__ESIZE                            0x00000010
  351. #define NVC0_3D_SCISSOR_HORIZ__LEN                              0x00000010
  352. #define NVC0_3D_SCISSOR_HORIZ_MIN__MASK                         0x0000ffff
  353. #define NVC0_3D_SCISSOR_HORIZ_MIN__SHIFT                        0
  354. #define NVC0_3D_SCISSOR_HORIZ_MAX__MASK                         0xffff0000
  355. #define NVC0_3D_SCISSOR_HORIZ_MAX__SHIFT                        16
  356.  
  357. #define NVC0_3D_SCISSOR_VERT(i0)                               (0x00000e08 + 0x10*(i0))
  358. #define NVC0_3D_SCISSOR_VERT__ESIZE                             0x00000010
  359. #define NVC0_3D_SCISSOR_VERT__LEN                               0x00000010
  360. #define NVC0_3D_SCISSOR_VERT_MIN__MASK                          0x0000ffff
  361. #define NVC0_3D_SCISSOR_VERT_MIN__SHIFT                         0
  362. #define NVC0_3D_SCISSOR_VERT_MAX__MASK                          0xffff0000
  363. #define NVC0_3D_SCISSOR_VERT_MAX__SHIFT                         16
  364.  
  365. #define NVC0_3D_STENCIL_BACK_FUNC_REF                           0x00000f54
  366.  
  367. #define NVC0_3D_STENCIL_BACK_MASK                               0x00000f58
  368.  
  369. #define NVC0_3D_STENCIL_BACK_FUNC_MASK                          0x00000f5c
  370.  
  371. #define NVC0_3D_VERTEX_RUNOUT_ADDRESS_HIGH                      0x00000f84
  372.  
  373. #define NVC0_3D_VERTEX_RUNOUT_ADDRESS_LOW                       0x00000f88
  374.  
  375. #define NVC0_3D_COLOR_MASK_COMMON                               0x00000f90
  376.  
  377. #define NVC0_3D_DEPTH_BOUNDS(i0)                               (0x00000f9c + 0x4*(i0))
  378. #define NVC0_3D_DEPTH_BOUNDS__ESIZE                             0x00000004
  379. #define NVC0_3D_DEPTH_BOUNDS__LEN                               0x00000002
  380.  
  381. #define NVC0_3D_RT_SEPARATE_FRAG_DATA                           0x00000fac
  382.  
  383. #define NVC0_3D_MSAA_MASK(i0)                                  (0x00000fbc + 0x4*(i0))
  384. #define NVC0_3D_MSAA_MASK__ESIZE                                0x00000004
  385. #define NVC0_3D_MSAA_MASK__LEN                                  0x00000004
  386.  
  387. #define NVC0_3D_CLIPID_ADDRESS_HIGH                             0x00000fcc
  388.  
  389. #define NVC0_3D_CLIPID_ADDRESS_LOW                              0x00000fd0
  390.  
  391. #define NVC0_3D_ZETA_ADDRESS_HIGH                               0x00000fe0
  392.  
  393. #define NVC0_3D_ZETA_ADDRESS_LOW                                0x00000fe4
  394.  
  395. #define NVC0_3D_ZETA_FORMAT                                     0x00000fe8
  396.  
  397. #define NVC0_3D_ZETA_TILE_MODE                                  0x00000fec
  398.  
  399. #define NVC0_3D_ZETA_LAYER_STRIDE                               0x00000ff0
  400.  
  401. #define NVC0_3D_SCREEN_SCISSOR_HORIZ                            0x00000ff4
  402. #define NVC0_3D_SCREEN_SCISSOR_HORIZ_W__MASK                    0xffff0000
  403. #define NVC0_3D_SCREEN_SCISSOR_HORIZ_W__SHIFT                   16
  404. #define NVC0_3D_SCREEN_SCISSOR_HORIZ_X__MASK                    0x0000ffff
  405. #define NVC0_3D_SCREEN_SCISSOR_HORIZ_X__SHIFT                   0
  406.  
  407. #define NVC0_3D_SCREEN_SCISSOR_VERT                             0x00000ff8
  408. #define NVC0_3D_SCREEN_SCISSOR_VERT_H__MASK                     0xffff0000
  409. #define NVC0_3D_SCREEN_SCISSOR_VERT_H__SHIFT                    16
  410. #define NVC0_3D_SCREEN_SCISSOR_VERT_Y__MASK                     0x0000ffff
  411. #define NVC0_3D_SCREEN_SCISSOR_VERT_Y__SHIFT                    0
  412.  
  413. #define NVC0_3D_CLEAR_FLAGS                                     0x000010f8
  414. #define NVC0_3D_CLEAR_FLAGS_STENCIL_MASK                        0x00000001
  415. #define NVC0_3D_CLEAR_FLAGS_UNK4                                0x00000010
  416. #define NVC0_3D_CLEAR_FLAGS_SCISSOR                             0x00000100
  417. #define NVC0_3D_CLEAR_FLAGS_VIEWPORT                            0x00001000
  418.  
  419. #define NVC0_3D_VERTEX_ID                                       0x00001118
  420.  
  421. #define NVC0_3D_VTX_ATTR_DEFINE                                 0x0000114c
  422. #define NVC0_3D_VTX_ATTR_DEFINE_ATTR__MASK                      0x000000ff
  423. #define NVC0_3D_VTX_ATTR_DEFINE_ATTR__SHIFT                     0
  424. #define NVC0_3D_VTX_ATTR_DEFINE_COMP__MASK                      0x00000700
  425. #define NVC0_3D_VTX_ATTR_DEFINE_COMP__SHIFT                     8
  426. #define NVC0_3D_VTX_ATTR_DEFINE_COMP__MIN                       0x00000001
  427. #define NVC0_3D_VTX_ATTR_DEFINE_COMP__MAX                       0x00000004
  428. #define NVC0_3D_VTX_ATTR_DEFINE_SIZE__MASK                      0x00007000
  429. #define NVC0_3D_VTX_ATTR_DEFINE_SIZE__SHIFT                     12
  430. #define NVC0_3D_VTX_ATTR_DEFINE_SIZE_8                          0x00001000
  431. #define NVC0_3D_VTX_ATTR_DEFINE_SIZE_16                         0x00002000
  432. #define NVC0_3D_VTX_ATTR_DEFINE_SIZE_32                         0x00004000
  433. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE__MASK                      0x00070000
  434. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE__SHIFT                     16
  435. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_SNORM                      0x00010000
  436. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_UNORM                      0x00020000
  437. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_SINT                       0x00030000
  438. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_UINT                       0x00040000
  439. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_USCALED                    0x00050000
  440. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_SSCALED                    0x00060000
  441. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_FLOAT                      0x00070000
  442.  
  443. #define NVC0_3D_VTX_ATTR_DATA(i0)                              (0x00001150 + 0x4*(i0))
  444. #define NVC0_3D_VTX_ATTR_DATA__ESIZE                            0x00000004
  445. #define NVC0_3D_VTX_ATTR_DATA__LEN                              0x00000004
  446.  
  447. #define NVC0_3D_VERTEX_ATTRIB_FORMAT(i0)                       (0x00001160 + 0x4*(i0))
  448. #define NVC0_3D_VERTEX_ATTRIB_FORMAT__ESIZE                     0x00000004
  449. #define NVC0_3D_VERTEX_ATTRIB_FORMAT__LEN                       0x00000020
  450. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_BUFFER__MASK               0x0000001f
  451. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_BUFFER__SHIFT              0
  452. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_CONST                      0x00000040
  453. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_OFFSET__MASK               0x001fff80
  454. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_OFFSET__SHIFT              7
  455. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE__MASK                 0x07e00000
  456. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE__SHIFT                21
  457. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32_32_32           0x00200000
  458. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32_32              0x00400000
  459. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16_16_16           0x00600000
  460. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32                 0x00800000
  461. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16_16              0x00a00000
  462. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8_8_8               0x01400000
  463. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16                 0x01e00000
  464. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32                    0x02400000
  465. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8_8                 0x02600000
  466. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8                   0x03000000
  467. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16                    0x03600000
  468. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8                     0x03a00000
  469. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_10_10_10_2            0x06000000
  470. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__MASK                 0x38000000
  471. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__SHIFT                27
  472. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SNORM                 0x08000000
  473. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_UNORM                 0x10000000
  474. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SINT                  0x18000000
  475. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_UINT                  0x20000000
  476. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_USCALED               0x28000000
  477. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SSCALED               0x30000000
  478. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_FLOAT                 0x38000000
  479. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_BGRA                       0x80000000
  480.  
  481. #define NVC0_3D_RT_CONTROL                                      0x0000121c
  482. #define NVC0_3D_RT_CONTROL_COUNT__MASK                          0x0000000f
  483. #define NVC0_3D_RT_CONTROL_COUNT__SHIFT                         0
  484. #define NVC0_3D_RT_CONTROL_MAP0__MASK                           0x00000070
  485. #define NVC0_3D_RT_CONTROL_MAP0__SHIFT                          4
  486. #define NVC0_3D_RT_CONTROL_MAP1__MASK                           0x00000380
  487. #define NVC0_3D_RT_CONTROL_MAP1__SHIFT                          7
  488. #define NVC0_3D_RT_CONTROL_MAP2__MASK                           0x00001c00
  489. #define NVC0_3D_RT_CONTROL_MAP2__SHIFT                          10
  490. #define NVC0_3D_RT_CONTROL_MAP3__MASK                           0x0000e000
  491. #define NVC0_3D_RT_CONTROL_MAP3__SHIFT                          13
  492. #define NVC0_3D_RT_CONTROL_MAP4__MASK                           0x00070000
  493. #define NVC0_3D_RT_CONTROL_MAP4__SHIFT                          16
  494. #define NVC0_3D_RT_CONTROL_MAP5__MASK                           0x00380000
  495. #define NVC0_3D_RT_CONTROL_MAP5__SHIFT                          19
  496. #define NVC0_3D_RT_CONTROL_MAP6__MASK                           0x01c00000
  497. #define NVC0_3D_RT_CONTROL_MAP6__SHIFT                          22
  498. #define NVC0_3D_RT_CONTROL_MAP7__MASK                           0x0e000000
  499. #define NVC0_3D_RT_CONTROL_MAP7__SHIFT                          25
  500.  
  501. #define NVC0_3D_ZETA_HORIZ                                      0x00001228
  502.  
  503. #define NVC0_3D_ZETA_VERT                                       0x0000122c
  504.  
  505. #define NVC0_3D_ZETA_ARRAY_MODE                                 0x00001230
  506. #define NVC0_3D_ZETA_ARRAY_MODE_LAYERS__MASK                    0x0000ffff
  507. #define NVC0_3D_ZETA_ARRAY_MODE_LAYERS__SHIFT                   0
  508. #define NVC0_3D_ZETA_ARRAY_MODE_UNK                             0x00010000
  509.  
  510. #define NVC0_3D_LINKED_TSC                                      0x00001234
  511.  
  512. #define NVC0_3D_DRAW_TFB_BYTES                                  0x0000123c
  513.  
  514. #define NVC0_3D_FP_RESULT_COUNT                                 0x00001298
  515.  
  516. #define NVC0_3D_DEPTH_TEST_ENABLE                               0x000012cc
  517.  
  518. #define NVC0_3D_D3D_FILL_MODE                                   0x000012d0
  519. #define NVC0_3D_D3D_FILL_MODE_POINT                             0x00000001
  520. #define NVC0_3D_D3D_FILL_MODE_WIREFRAME                         0x00000002
  521. #define NVC0_3D_D3D_FILL_MODE_SOLID                             0x00000003
  522.  
  523. #define NVC0_3D_SHADE_MODEL                                     0x000012d4
  524. #define NVC0_3D_SHADE_MODEL_FLAT                                0x00001d00
  525. #define NVC0_3D_SHADE_MODEL_SMOOTH                              0x00001d01
  526.  
  527. #define NVC0_3D_BLEND_INDEPENDENT                               0x000012e4
  528.  
  529. #define NVC0_3D_DEPTH_WRITE_ENABLE                              0x000012e8
  530.  
  531. #define NVC0_3D_ALPHA_TEST_ENABLE                               0x000012ec
  532.  
  533. #define NVC0_3D_VB_ELEMENT_U8_SETUP                             0x00001300
  534. #define NVC0_3D_VB_ELEMENT_U8_SETUP_OFFSET__MASK                0xc0000000
  535. #define NVC0_3D_VB_ELEMENT_U8_SETUP_OFFSET__SHIFT               30
  536. #define NVC0_3D_VB_ELEMENT_U8_SETUP_COUNT__MASK                 0x3fffffff
  537. #define NVC0_3D_VB_ELEMENT_U8_SETUP_COUNT__SHIFT                0
  538.  
  539. #define NVC0_3D_VB_ELEMENT_U8                                   0x00001304
  540. #define NVC0_3D_VB_ELEMENT_U8_I0__MASK                          0x000000ff
  541. #define NVC0_3D_VB_ELEMENT_U8_I0__SHIFT                         0
  542. #define NVC0_3D_VB_ELEMENT_U8_I1__MASK                          0x0000ff00
  543. #define NVC0_3D_VB_ELEMENT_U8_I1__SHIFT                         8
  544. #define NVC0_3D_VB_ELEMENT_U8_I2__MASK                          0x00ff0000
  545. #define NVC0_3D_VB_ELEMENT_U8_I2__SHIFT                         16
  546. #define NVC0_3D_VB_ELEMENT_U8_I3__MASK                          0xff000000
  547. #define NVC0_3D_VB_ELEMENT_U8_I3__SHIFT                         24
  548.  
  549. #define NVC0_3D_D3D_CULL_MODE                                   0x00001308
  550. #define NVC0_3D_D3D_CULL_MODE_NONE                              0x00000001
  551. #define NVC0_3D_D3D_CULL_MODE_FRONT                             0x00000002
  552. #define NVC0_3D_D3D_CULL_MODE_BACK                              0x00000003
  553.  
  554. #define NVC0_3D_DEPTH_TEST_FUNC                                 0x0000130c
  555. #define NVC0_3D_DEPTH_TEST_FUNC_NEVER                           0x00000200
  556. #define NVC0_3D_DEPTH_TEST_FUNC_LESS                            0x00000201
  557. #define NVC0_3D_DEPTH_TEST_FUNC_EQUAL                           0x00000202
  558. #define NVC0_3D_DEPTH_TEST_FUNC_LEQUAL                          0x00000203
  559. #define NVC0_3D_DEPTH_TEST_FUNC_GREATER                         0x00000204
  560. #define NVC0_3D_DEPTH_TEST_FUNC_NOTEQUAL                        0x00000205
  561. #define NVC0_3D_DEPTH_TEST_FUNC_GEQUAL                          0x00000206
  562. #define NVC0_3D_DEPTH_TEST_FUNC_ALWAYS                          0x00000207
  563.  
  564. #define NVC0_3D_ALPHA_TEST_REF                                  0x00001310
  565.  
  566. #define NVC0_3D_ALPHA_TEST_FUNC                                 0x00001314
  567. #define NVC0_3D_ALPHA_TEST_FUNC_NEVER                           0x00000200
  568. #define NVC0_3D_ALPHA_TEST_FUNC_LESS                            0x00000201
  569. #define NVC0_3D_ALPHA_TEST_FUNC_EQUAL                           0x00000202
  570. #define NVC0_3D_ALPHA_TEST_FUNC_LEQUAL                          0x00000203
  571. #define NVC0_3D_ALPHA_TEST_FUNC_GREATER                         0x00000204
  572. #define NVC0_3D_ALPHA_TEST_FUNC_NOTEQUAL                        0x00000205
  573. #define NVC0_3D_ALPHA_TEST_FUNC_GEQUAL                          0x00000206
  574. #define NVC0_3D_ALPHA_TEST_FUNC_ALWAYS                          0x00000207
  575.  
  576. #define NVC0_3D_DRAW_TFB_STRIDE                                 0x00001318
  577. #define NVC0_3D_DRAW_TFB_STRIDE__MIN                            0x00000001
  578. #define NVC0_3D_DRAW_TFB_STRIDE__MAX                            0x00000fff
  579.  
  580. #define NVC0_3D_BLEND_COLOR(i0)                                (0x0000131c + 0x4*(i0))
  581. #define NVC0_3D_BLEND_COLOR__ESIZE                              0x00000004
  582. #define NVC0_3D_BLEND_COLOR__LEN                                0x00000004
  583.  
  584. #define NVC0_3D_TSC_FLUSH                                       0x00001330
  585. #define NVC0_3D_TSC_FLUSH_SPECIFIC                              0x00000001
  586. #define NVC0_3D_TSC_FLUSH_ENTRY__MASK                           0x03fffff0
  587. #define NVC0_3D_TSC_FLUSH_ENTRY__SHIFT                          4
  588.  
  589. #define NVC0_3D_TIC_FLUSH                                       0x00001334
  590. #define NVC0_3D_TIC_FLUSH_SPECIFIC                              0x00000001
  591. #define NVC0_3D_TIC_FLUSH_ENTRY__MASK                           0x03fffff0
  592. #define NVC0_3D_TIC_FLUSH_ENTRY__SHIFT                          4
  593.  
  594. #define NVC0_3D_TEX_CACHE_CTL                                   0x00001338
  595. #define NVC0_3D_TEX_CACHE_CTL_UNK1__MASK                        0x00000030
  596. #define NVC0_3D_TEX_CACHE_CTL_UNK1__SHIFT                       4
  597.  
  598. #define NVC0_3D_BLEND_SEPARATE_ALPHA                            0x0000133c
  599.  
  600. #define NVC0_3D_BLEND_EQUATION_RGB                              0x00001340
  601. #define NVC0_3D_BLEND_EQUATION_RGB_FUNC_ADD                     0x00008006
  602. #define NVC0_3D_BLEND_EQUATION_RGB_MIN                          0x00008007
  603. #define NVC0_3D_BLEND_EQUATION_RGB_MAX                          0x00008008
  604. #define NVC0_3D_BLEND_EQUATION_RGB_FUNC_SUBTRACT                0x0000800a
  605. #define NVC0_3D_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT        0x0000800b
  606.  
  607. #define NVC0_3D_BLEND_FUNC_SRC_RGB                              0x00001344
  608.  
  609. #define NVC0_3D_BLEND_FUNC_DST_RGB                              0x00001348
  610.  
  611. #define NVC0_3D_BLEND_EQUATION_ALPHA                            0x0000134c
  612. #define NVC0_3D_BLEND_EQUATION_ALPHA_FUNC_ADD                   0x00008006
  613. #define NVC0_3D_BLEND_EQUATION_ALPHA_MIN                        0x00008007
  614. #define NVC0_3D_BLEND_EQUATION_ALPHA_MAX                        0x00008008
  615. #define NVC0_3D_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT              0x0000800a
  616. #define NVC0_3D_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT      0x0000800b
  617.  
  618. #define NVC0_3D_BLEND_FUNC_SRC_ALPHA                            0x00001350
  619.  
  620. #define NVC0_3D_BLEND_FUNC_DST_ALPHA                            0x00001358
  621.  
  622. #define NVC0_3D_BLEND_ENABLE_COMMON                             0x0000135c
  623.  
  624. #define NVC0_3D_BLEND_ENABLE(i0)                               (0x00001360 + 0x4*(i0))
  625. #define NVC0_3D_BLEND_ENABLE__ESIZE                             0x00000004
  626. #define NVC0_3D_BLEND_ENABLE__LEN                               0x00000008
  627.  
  628. #define NVC0_3D_STENCIL_ENABLE                                  0x00001380
  629.  
  630. #define NVC0_3D_STENCIL_FRONT_OP_FAIL                           0x00001384
  631. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_ZERO                      0x00000000
  632. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_INVERT                    0x0000150a
  633. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_KEEP                      0x00001e00
  634. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_REPLACE                   0x00001e01
  635. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_INCR                      0x00001e02
  636. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_DECR                      0x00001e03
  637. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_INCR_WRAP                 0x00008507
  638. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_DECR_WRAP                 0x00008508
  639.  
  640. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL                          0x00001388
  641. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_ZERO                     0x00000000
  642. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_INVERT                   0x0000150a
  643. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_KEEP                     0x00001e00
  644. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_REPLACE                  0x00001e01
  645. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_INCR                     0x00001e02
  646. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_DECR                     0x00001e03
  647. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                0x00008507
  648. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                0x00008508
  649.  
  650. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS                          0x0000138c
  651. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_ZERO                     0x00000000
  652. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_INVERT                   0x0000150a
  653. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_KEEP                     0x00001e00
  654. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_REPLACE                  0x00001e01
  655. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_INCR                     0x00001e02
  656. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_DECR                     0x00001e03
  657. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                0x00008507
  658. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                0x00008508
  659.  
  660. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC                         0x00001390
  661. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_NEVER                   0x00000200
  662. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_LESS                    0x00000201
  663. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_EQUAL                   0x00000202
  664. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_LEQUAL                  0x00000203
  665. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_GREATER                 0x00000204
  666. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                0x00000205
  667. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_GEQUAL                  0x00000206
  668. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_ALWAYS                  0x00000207
  669.  
  670. #define NVC0_3D_STENCIL_FRONT_FUNC_REF                          0x00001394
  671.  
  672. #define NVC0_3D_STENCIL_FRONT_FUNC_MASK                         0x00001398
  673.  
  674. #define NVC0_3D_STENCIL_FRONT_MASK                              0x0000139c
  675.  
  676. #define NVC0_3D_DRAW_TFB_BASE                                   0x000013a4
  677.  
  678. #define NVC0_3D_FRAG_COLOR_CLAMP_EN                             0x000013a8
  679. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_0                           0x00000001
  680. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_1                           0x00000010
  681. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_2                           0x00000100
  682. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_3                           0x00001000
  683. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_4                           0x00010000
  684. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_5                           0x00100000
  685. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_6                           0x01000000
  686. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_7                           0x10000000
  687.  
  688. #define NVC0_3D_SCREEN_Y_CONTROL                                0x000013ac
  689. #define NVC0_3D_SCREEN_Y_CONTROL_Y_NEGATE                       0x00000001
  690. #define NVC0_3D_SCREEN_Y_CONTROL_TRIANGLE_RAST_FLIP             0x00000010
  691.  
  692. #define NVC0_3D_LINE_WIDTH_SMOOTH                               0x000013b0
  693.  
  694. #define NVC0_3D_LINE_WIDTH_ALIASED                              0x000013b4
  695.  
  696. #define NVC0_3D_GP_VERTEX_OUTPUT_COUNT                          0x00001420
  697. #define NVC0_3D_GP_VERTEX_OUTPUT_COUNT__MIN                     0x00000001
  698. #define NVC0_3D_GP_VERTEX_OUTPUT_COUNT__MAX                     0x00000400
  699.  
  700. #define NVC0_3D_VERTEX_ARRAY_FLUSH                              0x0000142c
  701.  
  702. #define NVC0_3D_VB_ELEMENT_BASE                                 0x00001434
  703.  
  704. #define NVC0_3D_VB_INSTANCE_BASE                                0x00001438
  705.  
  706. #define NVC0_3D_CODE_CB_FLUSH                                   0x00001440
  707.  
  708. #define NVC0_3D_CLIPID_HEIGHT                                   0x00001504
  709. #define NVC0_3D_CLIPID_HEIGHT__MAX                              0x00002000
  710.  
  711. #define NVC0_3D_CLIPID_FILL_RECT_HORIZ                          0x00001508
  712. #define NVC0_3D_CLIPID_FILL_RECT_HORIZ_LOW__MASK                0x0000ffff
  713. #define NVC0_3D_CLIPID_FILL_RECT_HORIZ_LOW__SHIFT               0
  714. #define NVC0_3D_CLIPID_FILL_RECT_HORIZ_HIGH__MASK               0xffff0000
  715. #define NVC0_3D_CLIPID_FILL_RECT_HORIZ_HIGH__SHIFT              16
  716.  
  717. #define NVC0_3D_CLIPID_FILL_RECT_VERT                           0x0000150c
  718. #define NVC0_3D_CLIPID_FILL_RECT_VERT_LOW__MASK                 0x0000ffff
  719. #define NVC0_3D_CLIPID_FILL_RECT_VERT_LOW__SHIFT                0
  720. #define NVC0_3D_CLIPID_FILL_RECT_VERT_HIGH__MASK                0xffff0000
  721. #define NVC0_3D_CLIPID_FILL_RECT_VERT_HIGH__SHIFT               16
  722.  
  723. #define NVC0_3D_CLIP_DISTANCE_ENABLE                            0x00001510
  724. #define NVC0_3D_CLIP_DISTANCE_ENABLE_0                          0x00000001
  725. #define NVC0_3D_CLIP_DISTANCE_ENABLE_1                          0x00000002
  726. #define NVC0_3D_CLIP_DISTANCE_ENABLE_2                          0x00000004
  727. #define NVC0_3D_CLIP_DISTANCE_ENABLE_3                          0x00000008
  728. #define NVC0_3D_CLIP_DISTANCE_ENABLE_4                          0x00000010
  729. #define NVC0_3D_CLIP_DISTANCE_ENABLE_5                          0x00000020
  730. #define NVC0_3D_CLIP_DISTANCE_ENABLE_6                          0x00000040
  731. #define NVC0_3D_CLIP_DISTANCE_ENABLE_7                          0x00000080
  732.  
  733. #define NVC0_3D_SAMPLECNT_ENABLE                                0x00001514
  734.  
  735. #define NVC0_3D_POINT_SIZE                                      0x00001518
  736.  
  737. #define NVC0_3D_ZCULL_STATCTRS_ENABLE                           0x0000151c
  738.  
  739. #define NVC0_3D_POINT_SPRITE_ENABLE                             0x00001520
  740.  
  741. #define NVC0_3D_COUNTER_RESET                                   0x00001530
  742. #define NVC0_3D_COUNTER_RESET_SAMPLECNT                         0x00000001
  743. #define NVC0_3D_COUNTER_RESET_UNK02                             0x00000002
  744. #define NVC0_3D_COUNTER_RESET_UNK03                             0x00000003
  745. #define NVC0_3D_COUNTER_RESET_UNK04                             0x00000004
  746. #define NVC0_3D_COUNTER_RESET_EMITTED_PRIMITIVES                0x00000010
  747. #define NVC0_3D_COUNTER_RESET_UNK11                             0x00000011
  748. #define NVC0_3D_COUNTER_RESET_UNK12                             0x00000012
  749. #define NVC0_3D_COUNTER_RESET_UNK13                             0x00000013
  750. #define NVC0_3D_COUNTER_RESET_UNK15                             0x00000015
  751. #define NVC0_3D_COUNTER_RESET_UNK16                             0x00000016
  752. #define NVC0_3D_COUNTER_RESET_UNK17                             0x00000017
  753. #define NVC0_3D_COUNTER_RESET_UNK18                             0x00000018
  754. #define NVC0_3D_COUNTER_RESET_UNK1A                             0x0000001a
  755. #define NVC0_3D_COUNTER_RESET_UNK1B                             0x0000001b
  756. #define NVC0_3D_COUNTER_RESET_UNK1C                             0x0000001c
  757. #define NVC0_3D_COUNTER_RESET_UNK1D                             0x0000001d
  758. #define NVC0_3D_COUNTER_RESET_UNK1E                             0x0000001e
  759. #define NVC0_3D_COUNTER_RESET_GENERATED_PRIMITIVES              0x0000001f
  760.  
  761. #define NVC0_3D_MULTISAMPLE_ENABLE                              0x00001534
  762.  
  763. #define NVC0_3D_ZETA_ENABLE                                     0x00001538
  764.  
  765. #define NVC0_3D_MULTISAMPLE_CTRL                                0x0000153c
  766. #define NVC0_3D_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE              0x00000001
  767. #define NVC0_3D_MULTISAMPLE_CTRL_ALPHA_TO_ONE                   0x00000010
  768.  
  769. #define NVC0_3D_COND_ADDRESS_HIGH                               0x00001550
  770.  
  771. #define NVC0_3D_COND_ADDRESS_LOW                                0x00001554
  772.  
  773. #define NVC0_3D_COND_MODE                                       0x00001558
  774. #define NVC0_3D_COND_MODE_NEVER                                 0x00000000
  775. #define NVC0_3D_COND_MODE_ALWAYS                                0x00000001
  776. #define NVC0_3D_COND_MODE_RES_NON_ZERO                          0x00000002
  777. #define NVC0_3D_COND_MODE_EQUAL                                 0x00000003
  778. #define NVC0_3D_COND_MODE_NOT_EQUAL                             0x00000004
  779.  
  780. #define NVC0_3D_TSC_ADDRESS_HIGH                                0x0000155c
  781.  
  782. #define NVC0_3D_TSC_ADDRESS_LOW                                 0x00001560
  783. #define NVC0_3D_TSC_ADDRESS_LOW__ALIGN                          0x00000020
  784.  
  785. #define NVC0_3D_TSC_LIMIT                                       0x00001564
  786. #define NVC0_3D_TSC_LIMIT__MAX                                  0x00001fff
  787.  
  788. #define NVC0_3D_POLYGON_OFFSET_FACTOR                           0x0000156c
  789.  
  790. #define NVC0_3D_LINE_SMOOTH_ENABLE                              0x00001570
  791.  
  792. #define NVC0_3D_TIC_ADDRESS_HIGH                                0x00001574
  793.  
  794. #define NVC0_3D_TIC_ADDRESS_LOW                                 0x00001578
  795.  
  796. #define NVC0_3D_TIC_LIMIT                                       0x0000157c
  797.  
  798. #define NVC0_3D_ZCULL_REGION                                    0x00001590
  799.  
  800. #define NVC0_3D_STENCIL_TWO_SIDE_ENABLE                         0x00001594
  801.  
  802. #define NVC0_3D_STENCIL_BACK_OP_FAIL                            0x00001598
  803. #define NVC0_3D_STENCIL_BACK_OP_FAIL_ZERO                       0x00000000
  804. #define NVC0_3D_STENCIL_BACK_OP_FAIL_INVERT                     0x0000150a
  805. #define NVC0_3D_STENCIL_BACK_OP_FAIL_KEEP                       0x00001e00
  806. #define NVC0_3D_STENCIL_BACK_OP_FAIL_REPLACE                    0x00001e01
  807. #define NVC0_3D_STENCIL_BACK_OP_FAIL_INCR                       0x00001e02
  808. #define NVC0_3D_STENCIL_BACK_OP_FAIL_DECR                       0x00001e03
  809. #define NVC0_3D_STENCIL_BACK_OP_FAIL_INCR_WRAP                  0x00008507
  810. #define NVC0_3D_STENCIL_BACK_OP_FAIL_DECR_WRAP                  0x00008508
  811.  
  812. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL                           0x0000159c
  813. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_ZERO                      0x00000000
  814. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INVERT                    0x0000150a
  815. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_KEEP                      0x00001e00
  816. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_REPLACE                   0x00001e01
  817. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INCR                      0x00001e02
  818. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_DECR                      0x00001e03
  819. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INCR_WRAP                 0x00008507
  820. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_DECR_WRAP                 0x00008508
  821.  
  822. #define NVC0_3D_STENCIL_BACK_OP_ZPASS                           0x000015a0
  823. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_ZERO                      0x00000000
  824. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_INVERT                    0x0000150a
  825. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_KEEP                      0x00001e00
  826. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_REPLACE                   0x00001e01
  827. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_INCR                      0x00001e02
  828. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_DECR                      0x00001e03
  829. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_INCR_WRAP                 0x00008507
  830. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_DECR_WRAP                 0x00008508
  831.  
  832. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC                          0x000015a4
  833. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_NEVER                    0x00000200
  834. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_LESS                     0x00000201
  835. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_EQUAL                    0x00000202
  836. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_LEQUAL                   0x00000203
  837. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_GREATER                  0x00000204
  838. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_NOTEQUAL                 0x00000205
  839. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_GEQUAL                   0x00000206
  840. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_ALWAYS                   0x00000207
  841.  
  842. #define NVC0_3D_CSAA_ENABLE                                     0x000015b4
  843.  
  844. #define NVC0_3D_FRAMEBUFFER_SRGB                                0x000015b8
  845.  
  846. #define NVC0_3D_POLYGON_OFFSET_UNITS                            0x000015bc
  847.  
  848. #define NVC0_3D_LAYER                                           0x000015cc
  849. #define NVC0_3D_LAYER_IDX__MASK                                 0x0000ffff
  850. #define NVC0_3D_LAYER_IDX__SHIFT                                0
  851. #define NVC0_3D_LAYER_USE_GP                                    0x00010000
  852.  
  853. #define NVC0_3D_MULTISAMPLE_MODE                                0x000015d0
  854. #define NVC0_3D_MULTISAMPLE_MODE_MS1                            0x00000000
  855. #define NVC0_3D_MULTISAMPLE_MODE_MS2                            0x00000001
  856. #define NVC0_3D_MULTISAMPLE_MODE_MS4                            0x00000002
  857. #define NVC0_3D_MULTISAMPLE_MODE_MS8                            0x00000003
  858. #define NVC0_3D_MULTISAMPLE_MODE_MS8_ALT                        0x00000004
  859. #define NVC0_3D_MULTISAMPLE_MODE_MS2_ALT                        0x00000005
  860. #define NVC0_3D_MULTISAMPLE_MODE_UNK6                           0x00000006
  861. #define NVC0_3D_MULTISAMPLE_MODE_MS4_CS4                        0x00000008
  862. #define NVC0_3D_MULTISAMPLE_MODE_MS4_CS12                       0x00000009
  863. #define NVC0_3D_MULTISAMPLE_MODE_MS8_CS8                        0x0000000a
  864. #define NVC0_3D_MULTISAMPLE_MODE_MS8_CS24                       0x0000000b
  865.  
  866. #define NVC0_3D_VERTEX_BEGIN_D3D                                0x000015d4
  867. #define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE__MASK                0x0fffffff
  868. #define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE__SHIFT               0
  869. #define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_POINTS               0x00000001
  870. #define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINES                0x00000002
  871. #define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINE_STRIP           0x00000003
  872. #define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLES            0x00000004
  873. #define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLE_STRIP       0x00000005
  874. #define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINES_ADJACENCY      0x0000000a
  875. #define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_LINE_STRIP_ADJACENCY 0x0000000b
  876. #define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLES_ADJACENCY  0x0000000c
  877. #define NVC0_3D_VERTEX_BEGIN_D3D_PRIMITIVE_TRIANGLE_STRIP_ADJACENCY     0x0000000d
  878. #define NVC0_3D_VERTEX_BEGIN_D3D_INSTANCE_NEXT                  0x10000000
  879.  
  880. #define NVC0_3D_VERTEX_END_D3D                                  0x000015d8
  881. #define NVC0_3D_VERTEX_END_D3D_UNK0                             0x00000001
  882. #define NVC0_3D_VERTEX_END_D3D_UNK1                             0x00000002
  883.  
  884. #define NVC0_3D_EDGEFLAG                                        0x000015e4
  885.  
  886. #define NVC0_3D_VB_ELEMENT_U32                                  0x000015e8
  887.  
  888. #define NVC0_3D_VB_ELEMENT_U16_SETUP                            0x000015ec
  889. #define NVC0_3D_VB_ELEMENT_U16_SETUP_OFFSET__MASK               0xc0000000
  890. #define NVC0_3D_VB_ELEMENT_U16_SETUP_OFFSET__SHIFT              30
  891. #define NVC0_3D_VB_ELEMENT_U16_SETUP_COUNT__MASK                0x3fffffff
  892. #define NVC0_3D_VB_ELEMENT_U16_SETUP_COUNT__SHIFT               0
  893.  
  894. #define NVC0_3D_VB_ELEMENT_U16                                  0x000015f0
  895. #define NVC0_3D_VB_ELEMENT_U16_I0__MASK                         0x0000ffff
  896. #define NVC0_3D_VB_ELEMENT_U16_I0__SHIFT                        0
  897. #define NVC0_3D_VB_ELEMENT_U16_I1__MASK                         0xffff0000
  898. #define NVC0_3D_VB_ELEMENT_U16_I1__SHIFT                        16
  899.  
  900. #define NVC0_3D_VERTEX_BASE_HIGH                                0x000015f4
  901.  
  902. #define NVC0_3D_VERTEX_BASE_LOW                                 0x000015f8
  903.  
  904. #define NVC0_3D_ZCULL_WINDOW_OFFSET_X                           0x000015fc
  905.  
  906. #define NVC0_3D_ZCULL_WINDOW_OFFSET_Y                           0x00001600
  907.  
  908. #define NVC0_3D_POINT_COORD_REPLACE                             0x00001604
  909. #define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN__MASK          0x00000004
  910. #define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN__SHIFT         2
  911. #define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN_LOWER_LEFT     0x00000000
  912. #define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN_UPPER_LEFT     0x00000004
  913. #define NVC0_3D_POINT_COORD_REPLACE_ENABLE__MASK                0x000007f8
  914. #define NVC0_3D_POINT_COORD_REPLACE_ENABLE__SHIFT               3
  915.  
  916. #define NVC0_3D_CODE_ADDRESS_HIGH                               0x00001608
  917.  
  918. #define NVC0_3D_CODE_ADDRESS_LOW                                0x0000160c
  919.  
  920. #define NVC0_3D_VERTEX_END_GL                                   0x00001614
  921. #define NVC0_3D_VERTEX_END_GL_UNK0                              0x00000001
  922. #define NVC0_3D_VERTEX_END_GL_UNK1                              0x00000002
  923.  
  924. #define NVC0_3D_VERTEX_BEGIN_GL                                 0x00001618
  925. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE__MASK                 0x0fffffff
  926. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE__SHIFT                0
  927. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_POINTS                0x00000000
  928. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES                 0x00000001
  929. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_LOOP             0x00000002
  930. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_STRIP            0x00000003
  931. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES             0x00000004
  932. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP        0x00000005
  933. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_FAN          0x00000006
  934. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUADS                 0x00000007
  935. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUAD_STRIP            0x00000008
  936. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_POLYGON               0x00000009
  937. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES_ADJACENCY       0x0000000a
  938. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_STRIP_ADJACENCY  0x0000000b
  939. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES_ADJACENCY   0x0000000c
  940. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP_ADJACENCY      0x0000000d
  941. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_PATCHES               0x0000000e
  942. #define NVC0_3D_VERTEX_BEGIN_GL_INSTANCE_NEXT                   0x04000000
  943. #define NVC0_3D_VERTEX_BEGIN_GL_INSTANCE_CONT                   0x08000000
  944.  
  945. #define NVC0_3D_VERTEX_ID_REPLACE                               0x0000161c
  946. #define NVC0_3D_VERTEX_ID_REPLACE_ENABLE                        0x00000001
  947. #define NVC0_3D_VERTEX_ID_REPLACE_SOURCE__MASK                  0x00000ff0
  948. #define NVC0_3D_VERTEX_ID_REPLACE_SOURCE__SHIFT                 4
  949.  
  950. #define NVC0_3D_VERTEX_DATA                                     0x00001640
  951.  
  952. #define NVC0_3D_PRIM_RESTART_ENABLE                             0x00001644
  953.  
  954. #define NVC0_3D_PRIM_RESTART_INDEX                              0x00001648
  955.  
  956. #define NVC0_3D_VP_GP_BUILTIN_ATTR_EN                           0x0000164c
  957. #define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID                 0x00000001
  958. #define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_INSTANCE_ID               0x00000010
  959. #define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_PRIMITIVE_ID              0x00000100
  960. #define NVC0_3D_VP_GP_BUILTIN_ATTR_EN_UNK12                     0x00001000
  961.  
  962. #define NVC0_3D_POINT_SMOOTH_ENABLE                             0x00001658
  963.  
  964. #define NVC0_3D_POINT_RASTER_RULES                              0x0000165c
  965. #define NVC0_3D_POINT_RASTER_RULES_OGL                          0x00000000
  966. #define NVC0_3D_POINT_RASTER_RULES_D3D                          0x00000001
  967.  
  968. #define NVC0_3D_TEX_MISC                                        0x00001664
  969. #define NVC0_3D_TEX_MISC_SEAMLESS_CUBE_MAP                      0x00000004
  970.  
  971. #define NVC0_3D_LINE_STIPPLE_ENABLE                             0x0000166c
  972.  
  973. #define NVC0_3D_LINE_STIPPLE_PATTERN                            0x00001680
  974.  
  975. #define NVC0_3D_PROVOKING_VERTEX_LAST                           0x00001684
  976.  
  977. #define NVC0_3D_VERTEX_TWO_SIDE_ENABLE                          0x00001688
  978.  
  979. #define NVC0_3D_POLYGON_STIPPLE_ENABLE                          0x0000168c
  980.  
  981. #define NVC0_3D_POLYGON_STIPPLE_PATTERN(i0)                    (0x00001700 + 0x4*(i0))
  982. #define NVC0_3D_POLYGON_STIPPLE_PATTERN__ESIZE                  0x00000004
  983. #define NVC0_3D_POLYGON_STIPPLE_PATTERN__LEN                    0x00000020
  984.  
  985. #define NVC0_3D_ZETA_BASE_LAYER                                 0x0000179c
  986.  
  987. #define NVC0_3D_VERTEX_QUARANTINE_ADDRESS_HIGH                  0x000017bc
  988.  
  989. #define NVC0_3D_VERTEX_QUARANTINE_ADDRESS_LOW                   0x000017c0
  990.  
  991. #define NVC0_3D_VERTEX_QUARANTINE_SIZE                          0x000017c4
  992. #define NVC0_3D_VERTEX_QUARANTINE_SIZE_16K                      0x00000001
  993. #define NVC0_3D_VERTEX_QUARANTINE_SIZE_32K                      0x00000002
  994. #define NVC0_3D_VERTEX_QUARANTINE_SIZE_64K                      0x00000003
  995.  
  996. #define NVC0_3D_STRMOUT_UNK1780(i0)                            (0x00001780 + 0x4*(i0))
  997. #define NVC0_3D_STRMOUT_UNK1780__ESIZE                          0x00000004
  998. #define NVC0_3D_STRMOUT_UNK1780__LEN                            0x00000004
  999.  
  1000. #define NVC0_3D_UNK17BC_ADDRESS_HIGH                            0x000017bc
  1001.  
  1002. #define NVC0_3D_UNK17BC_ADDRESS_LOW                             0x000017c0
  1003.  
  1004. #define NVC0_3D_UNK17BC_LIMIT                                   0x000017c4
  1005.  
  1006. #define NVC0_3D_INDEX_ARRAY_START_HIGH                          0x000017c8
  1007.  
  1008. #define NVC0_3D_INDEX_ARRAY_START_LOW                           0x000017cc
  1009.  
  1010. #define NVC0_3D_INDEX_ARRAY_LIMIT_HIGH                          0x000017d0
  1011.  
  1012. #define NVC0_3D_INDEX_ARRAY_LIMIT_LOW                           0x000017d4
  1013.  
  1014. #define NVC0_3D_INDEX_LOG2_SIZE                                 0x000017d8
  1015.  
  1016. #define NVC0_3D_INDEX_BATCH_FIRST                               0x000017dc
  1017.  
  1018. #define NVC0_3D_INDEX_BATCH_COUNT                               0x000017e0
  1019.  
  1020. #define NVC0_3D_POLYGON_OFFSET_CLAMP                            0x0000187c
  1021.  
  1022. #define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE(i0)                  (0x00001880 + 0x4*(i0))
  1023. #define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE__ESIZE                0x00000004
  1024. #define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE__LEN                  0x00000020
  1025.  
  1026. #define NVC0_3D_VP_POINT_SIZE_EN                                0x00001910
  1027.  
  1028. #define NVC0_3D_CULL_FACE_ENABLE                                0x00001918
  1029.  
  1030. #define NVC0_3D_FRONT_FACE                                      0x0000191c
  1031. #define NVC0_3D_FRONT_FACE_CW                                   0x00000900
  1032. #define NVC0_3D_FRONT_FACE_CCW                                  0x00000901
  1033.  
  1034. #define NVC0_3D_CULL_FACE                                       0x00001920
  1035. #define NVC0_3D_CULL_FACE_FRONT                                 0x00000404
  1036. #define NVC0_3D_CULL_FACE_BACK                                  0x00000405
  1037. #define NVC0_3D_CULL_FACE_FRONT_AND_BACK                        0x00000408
  1038.  
  1039. #define NVC0_3D_LINE_LAST_PIXEL                                 0x00001924
  1040.  
  1041. #define NVC0_3D_VIEWPORT_TRANSFORM_EN                           0x0000192c
  1042.  
  1043. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL                           0x0000193c
  1044. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_RANGE_0_1           0x00000001
  1045. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1__MASK                0x00000006
  1046. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1__SHIFT               1
  1047. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK0                 0x00000000
  1048. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK1                 0x00000002
  1049. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK2                 0x00000004
  1050. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_NEAR          0x00000008
  1051. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_FAR           0x00000010
  1052. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK7                      0x00000080
  1053. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK10                     0x00000400
  1054. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK11                     0x00000800
  1055. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12__MASK               0x00003000
  1056. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12__SHIFT              12
  1057. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK0                0x00000000
  1058. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK1                0x00001000
  1059. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK2                0x00002000
  1060.  
  1061. #define NVC0_3D_CLIP_DISTANCE_MODE                              0x00001940
  1062. #define NVC0_3D_CLIP_DISTANCE_MODE_0__MASK                      0x00000001
  1063. #define NVC0_3D_CLIP_DISTANCE_MODE_0__SHIFT                     0
  1064. #define NVC0_3D_CLIP_DISTANCE_MODE_0_CLIP                       0x00000000
  1065. #define NVC0_3D_CLIP_DISTANCE_MODE_0_CULL                       0x00000001
  1066. #define NVC0_3D_CLIP_DISTANCE_MODE_1__MASK                      0x00000010
  1067. #define NVC0_3D_CLIP_DISTANCE_MODE_1__SHIFT                     4
  1068. #define NVC0_3D_CLIP_DISTANCE_MODE_1_CLIP                       0x00000000
  1069. #define NVC0_3D_CLIP_DISTANCE_MODE_1_CULL                       0x00000010
  1070. #define NVC0_3D_CLIP_DISTANCE_MODE_2__MASK                      0x00000100
  1071. #define NVC0_3D_CLIP_DISTANCE_MODE_2__SHIFT                     8
  1072. #define NVC0_3D_CLIP_DISTANCE_MODE_2_CLIP                       0x00000000
  1073. #define NVC0_3D_CLIP_DISTANCE_MODE_2_CULL                       0x00000100
  1074. #define NVC0_3D_CLIP_DISTANCE_MODE_3__MASK                      0x00001000
  1075. #define NVC0_3D_CLIP_DISTANCE_MODE_3__SHIFT                     12
  1076. #define NVC0_3D_CLIP_DISTANCE_MODE_3_CLIP                       0x00000000
  1077. #define NVC0_3D_CLIP_DISTANCE_MODE_3_CULL                       0x00001000
  1078. #define NVC0_3D_CLIP_DISTANCE_MODE_4__MASK                      0x00010000
  1079. #define NVC0_3D_CLIP_DISTANCE_MODE_4__SHIFT                     16
  1080. #define NVC0_3D_CLIP_DISTANCE_MODE_4_CLIP                       0x00000000
  1081. #define NVC0_3D_CLIP_DISTANCE_MODE_4_CULL                       0x00010000
  1082. #define NVC0_3D_CLIP_DISTANCE_MODE_5__MASK                      0x00100000
  1083. #define NVC0_3D_CLIP_DISTANCE_MODE_5__SHIFT                     20
  1084. #define NVC0_3D_CLIP_DISTANCE_MODE_5_CLIP                       0x00000000
  1085. #define NVC0_3D_CLIP_DISTANCE_MODE_5_CULL                       0x00100000
  1086. #define NVC0_3D_CLIP_DISTANCE_MODE_6__MASK                      0x01000000
  1087. #define NVC0_3D_CLIP_DISTANCE_MODE_6__SHIFT                     24
  1088. #define NVC0_3D_CLIP_DISTANCE_MODE_6_CLIP                       0x00000000
  1089. #define NVC0_3D_CLIP_DISTANCE_MODE_6_CULL                       0x01000000
  1090. #define NVC0_3D_CLIP_DISTANCE_MODE_7__MASK                      0x10000000
  1091. #define NVC0_3D_CLIP_DISTANCE_MODE_7__SHIFT                     28
  1092. #define NVC0_3D_CLIP_DISTANCE_MODE_7_CLIP                       0x00000000
  1093. #define NVC0_3D_CLIP_DISTANCE_MODE_7_CULL                       0x10000000
  1094.  
  1095. #define NVC0_3D_CLIP_RECTS_EN                                   0x0000194c
  1096.  
  1097. #define NVC0_3D_CLIP_RECTS_MODE                                 0x00001950
  1098. #define NVC0_3D_CLIP_RECTS_MODE_INSIDE_ANY                      0x00000000
  1099. #define NVC0_3D_CLIP_RECTS_MODE_OUTSIDE_ALL                     0x00000001
  1100. #define NVC0_3D_CLIP_RECTS_MODE_NEVER                           0x00000002
  1101.  
  1102. #define NVC0_3D_ZCULL_INVALIDATE                                0x00001958
  1103.  
  1104. #define NVC0_3D_ZCULL_TEST_MASK                                 0x0000196c
  1105. #define NVC0_3D_ZCULL_TEST_MASK_FAIL_GT_PASS_LT                 0x00000001
  1106. #define NVC0_3D_ZCULL_TEST_MASK_PASS_GT_FAIL_LT                 0x00000010
  1107.  
  1108. #define NVC0_3D_FP_ZORDER_CTRL                                  0x0000196c
  1109. #define NVC0_3D_FP_ZORDER_CTRL_0                                0x00000001
  1110. #define NVC0_3D_FP_ZORDER_CTRL_1                                0x00000010
  1111.  
  1112. #define NVC0_3D_CLIPID_ENABLE                                   0x0000197c
  1113.  
  1114. #define NVC0_3D_CLIPID_WIDTH                                    0x00001980
  1115. #define NVC0_3D_CLIPID_WIDTH__MAX                               0x00002000
  1116. #define NVC0_3D_CLIPID_WIDTH__ALIGN                             0x00000040
  1117.  
  1118. #define NVC0_3D_CLIPID_ID                                       0x00001984
  1119.  
  1120. #define NVC0_3D_DEPTH_BOUNDS_EN                                 0x000019bc
  1121.  
  1122. #define NVC0_3D_LOGIC_OP_ENABLE                                 0x000019c4
  1123.  
  1124. #define NVC0_3D_LOGIC_OP                                        0x000019c8
  1125. #define NVC0_3D_LOGIC_OP_CLEAR                                  0x00001500
  1126. #define NVC0_3D_LOGIC_OP_AND                                    0x00001501
  1127. #define NVC0_3D_LOGIC_OP_AND_REVERSE                            0x00001502
  1128. #define NVC0_3D_LOGIC_OP_COPY                                   0x00001503
  1129. #define NVC0_3D_LOGIC_OP_AND_INVERTED                           0x00001504
  1130. #define NVC0_3D_LOGIC_OP_NOOP                                   0x00001505
  1131. #define NVC0_3D_LOGIC_OP_XOR                                    0x00001506
  1132. #define NVC0_3D_LOGIC_OP_OR                                     0x00001507
  1133. #define NVC0_3D_LOGIC_OP_NOR                                    0x00001508
  1134. #define NVC0_3D_LOGIC_OP_EQUIV                                  0x00001509
  1135. #define NVC0_3D_LOGIC_OP_INVERT                                 0x0000150a
  1136. #define NVC0_3D_LOGIC_OP_OR_REVERSE                             0x0000150b
  1137. #define NVC0_3D_LOGIC_OP_COPY_INVERTED                          0x0000150c
  1138. #define NVC0_3D_LOGIC_OP_OR_INVERTED                            0x0000150d
  1139. #define NVC0_3D_LOGIC_OP_NAND                                   0x0000150e
  1140. #define NVC0_3D_LOGIC_OP_SET                                    0x0000150f
  1141.  
  1142. #define NVC0_3D_ZETA_COMP_ENABLE                                0x000019cc
  1143.  
  1144. #define NVC0_3D_CLEAR_BUFFERS                                   0x000019d0
  1145. #define NVC0_3D_CLEAR_BUFFERS_Z                                 0x00000001
  1146. #define NVC0_3D_CLEAR_BUFFERS_S                                 0x00000002
  1147. #define NVC0_3D_CLEAR_BUFFERS_R                                 0x00000004
  1148. #define NVC0_3D_CLEAR_BUFFERS_G                                 0x00000008
  1149. #define NVC0_3D_CLEAR_BUFFERS_B                                 0x00000010
  1150. #define NVC0_3D_CLEAR_BUFFERS_A                                 0x00000020
  1151. #define NVC0_3D_CLEAR_BUFFERS_RT__MASK                          0x000003c0
  1152. #define NVC0_3D_CLEAR_BUFFERS_RT__SHIFT                         6
  1153. #define NVC0_3D_CLEAR_BUFFERS_LAYER__MASK                       0x001ffc00
  1154. #define NVC0_3D_CLEAR_BUFFERS_LAYER__SHIFT                      10
  1155.  
  1156. #define NVC0_3D_CLIPID_FILL                                     0x000019d4
  1157.  
  1158. #define NVC0_3D_RT_COMP_ENABLE(i0)                             (0x000019e0 + 0x4*(i0))
  1159. #define NVC0_3D_RT_COMP_ENABLE__ESIZE                           0x00000004
  1160. #define NVC0_3D_RT_COMP_ENABLE__LEN                             0x00000008
  1161.  
  1162. #define NVC0_3D_COLOR_MASK(i0)                                 (0x00001a00 + 0x4*(i0))
  1163. #define NVC0_3D_COLOR_MASK__ESIZE                               0x00000004
  1164. #define NVC0_3D_COLOR_MASK__LEN                                 0x00000008
  1165. #define NVC0_3D_COLOR_MASK_R                                    0x0000000f
  1166. #define NVC0_3D_COLOR_MASK_G                                    0x000000f0
  1167. #define NVC0_3D_COLOR_MASK_B                                    0x00000f00
  1168. #define NVC0_3D_COLOR_MASK_A                                    0x0000f000
  1169.  
  1170. #define NVC0_3D_QUERY_ADDRESS_HIGH                              0x00001b00
  1171.  
  1172. #define NVC0_3D_QUERY_ADDRESS_LOW                               0x00001b04
  1173.  
  1174. #define NVC0_3D_QUERY_SEQUENCE                                  0x00001b08
  1175.  
  1176. #define NVC0_3D_QUERY_GET                                       0x00001b0c
  1177. #define NVC0_3D_QUERY_GET_MODE__MASK                            0x00000003
  1178. #define NVC0_3D_QUERY_GET_MODE__SHIFT                           0
  1179. #define NVC0_3D_QUERY_GET_MODE_WRITE_UNK0                       0x00000000
  1180. #define NVC0_3D_QUERY_GET_MODE_SYNC                             0x00000001
  1181. #define NVC0_3D_QUERY_GET_MODE_WRITE_UNK2                       0x00000002
  1182. #define NVC0_3D_QUERY_GET_FENCE                                 0x00000010
  1183. #define NVC0_3D_QUERY_GET_STREAM__MASK                          0x000000e0
  1184. #define NVC0_3D_QUERY_GET_STREAM__SHIFT                         5
  1185. #define NVC0_3D_QUERY_GET_UNK8                                  0x00000100
  1186. #define NVC0_3D_QUERY_GET_UNIT__MASK                            0x0000f000
  1187. #define NVC0_3D_QUERY_GET_UNIT__SHIFT                           12
  1188. #define NVC0_3D_QUERY_GET_SYNC_COND__MASK                       0x00010000
  1189. #define NVC0_3D_QUERY_GET_SYNC_COND__SHIFT                      16
  1190. #define NVC0_3D_QUERY_GET_SYNC_COND_NEQUAL                      0x00000000
  1191. #define NVC0_3D_QUERY_GET_SYNC_COND_GREATER                     0x00010000
  1192. #define NVC0_3D_QUERY_GET_INTR                                  0x00100000
  1193. #define NVC0_3D_QUERY_GET_UNK21                                 0x00200000
  1194. #define NVC0_3D_QUERY_GET_SELECT__MASK                          0x0f800000
  1195. #define NVC0_3D_QUERY_GET_SELECT__SHIFT                         23
  1196. #define NVC0_3D_QUERY_GET_SELECT_ZERO                           0x00000000
  1197. #define NVC0_3D_QUERY_GET_SELECT_SAMPLECNT                      0x01000000
  1198. #define NVC0_3D_QUERY_GET_SELECT_EMITTED_PRIMS                  0x05800000
  1199. #define NVC0_3D_QUERY_GET_SELECT_GENERATED_PRIMS                0x09000000
  1200. #define NVC0_3D_QUERY_GET_SHORT                                 0x10000000
  1201.  
  1202. #define NVC0_3D_VERTEX_ARRAY_FETCH(i0)                         (0x00001c00 + 0x10*(i0))
  1203. #define NVC0_3D_VERTEX_ARRAY_FETCH__ESIZE                       0x00000010
  1204. #define NVC0_3D_VERTEX_ARRAY_FETCH__LEN                         0x00000020
  1205. #define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__MASK                 0x00000fff
  1206. #define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__SHIFT                0
  1207. #define NVC0_3D_VERTEX_ARRAY_FETCH_ENABLE                       0x00001000
  1208.  
  1209. #define NVC0_3D_VERTEX_ARRAY_START_HIGH(i0)                    (0x00001c04 + 0x10*(i0))
  1210. #define NVC0_3D_VERTEX_ARRAY_START_HIGH__ESIZE                  0x00000010
  1211. #define NVC0_3D_VERTEX_ARRAY_START_HIGH__LEN                    0x00000020
  1212.  
  1213. #define NVC0_3D_VERTEX_ARRAY_START_LOW(i0)                     (0x00001c08 + 0x10*(i0))
  1214. #define NVC0_3D_VERTEX_ARRAY_START_LOW__ESIZE                   0x00000010
  1215. #define NVC0_3D_VERTEX_ARRAY_START_LOW__LEN                     0x00000020
  1216.  
  1217. #define NVC0_3D_VERTEX_ARRAY_DIVISOR(i0)                       (0x00001c0c + 0x10*(i0))
  1218. #define NVC0_3D_VERTEX_ARRAY_DIVISOR__ESIZE                     0x00000010
  1219. #define NVC0_3D_VERTEX_ARRAY_DIVISOR__LEN                       0x00000020
  1220.  
  1221. #define NVC0_3D_IBLEND(i0)                                     (0x00001e00 + 0x20*(i0))
  1222. #define NVC0_3D_IBLEND__ESIZE                                   0x00000020
  1223. #define NVC0_3D_IBLEND__LEN                                     0x00000008
  1224.  
  1225. #define NVC0_3D_IBLEND_EQUATION_RGB(i0)                        (0x00001e04 + 0x20*(i0))
  1226. #define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_ADD                    0x00008006
  1227. #define NVC0_3D_IBLEND_EQUATION_RGB_MIN                         0x00008007
  1228. #define NVC0_3D_IBLEND_EQUATION_RGB_MAX                         0x00008008
  1229. #define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_SUBTRACT               0x0000800a
  1230. #define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT       0x0000800b
  1231.  
  1232. #define NVC0_3D_IBLEND_FUNC_SRC_RGB(i0)                        (0x00001e08 + 0x20*(i0))
  1233.  
  1234. #define NVC0_3D_IBLEND_FUNC_DST_RGB(i0)                        (0x00001e0c + 0x20*(i0))
  1235.  
  1236. #define NVC0_3D_IBLEND_EQUATION_ALPHA(i0)                      (0x00001e10 + 0x20*(i0))
  1237. #define NVC0_3D_IBLEND_EQUATION_ALPHA_FUNC_ADD                  0x00008006
  1238. #define NVC0_3D_IBLEND_EQUATION_ALPHA_MIN                       0x00008007
  1239. #define NVC0_3D_IBLEND_EQUATION_ALPHA_MAX                       0x00008008
  1240. #define NVC0_3D_IBLEND_EQUATION_ALPHA_FUNC_SUBTRACT             0x0000800a
  1241. #define NVC0_3D_IBLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT     0x0000800b
  1242.  
  1243. #define NVC0_3D_IBLEND_FUNC_SRC_ALPHA(i0)                      (0x00001e14 + 0x20*(i0))
  1244.  
  1245. #define NVC0_3D_IBLEND_FUNC_DST_ALPHA(i0)                      (0x00001e18 + 0x20*(i0))
  1246.  
  1247. #define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH(i0)                    (0x00001f00 + 0x8*(i0))
  1248. #define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH__ESIZE                  0x00000008
  1249. #define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH__LEN                    0x00000020
  1250.  
  1251. #define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW(i0)                     (0x00001f04 + 0x8*(i0))
  1252. #define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW__ESIZE                   0x00000008
  1253. #define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW__LEN                     0x00000020
  1254.  
  1255. #define NVC0_3D_SP(i0)                                         (0x00002000 + 0x40*(i0))
  1256. #define NVC0_3D_SP__ESIZE                                       0x00000040
  1257. #define NVC0_3D_SP__LEN                                         0x00000006
  1258.  
  1259. #define NVC0_3D_SP_SELECT(i0)                                  (0x00002000 + 0x40*(i0))
  1260. #define NVC0_3D_SP_SELECT_ENABLE                                0x00000001
  1261. #define NVC0_3D_SP_SELECT_PROGRAM__MASK                         0x00000070
  1262. #define NVC0_3D_SP_SELECT_PROGRAM__SHIFT                        4
  1263. #define NVC0_3D_SP_SELECT_PROGRAM_VP_A                          0x00000000
  1264. #define NVC0_3D_SP_SELECT_PROGRAM_VP_B                          0x00000010
  1265. #define NVC0_3D_SP_SELECT_PROGRAM_TCP                           0x00000020
  1266. #define NVC0_3D_SP_SELECT_PROGRAM_TEP                           0x00000030
  1267. #define NVC0_3D_SP_SELECT_PROGRAM_GP                            0x00000040
  1268. #define NVC0_3D_SP_SELECT_PROGRAM_FP                            0x00000050
  1269.  
  1270. #define NVC0_3D_SP_START_ID(i0)                                (0x00002004 + 0x40*(i0))
  1271.  
  1272. #define NVC0_3D_SP_GPR_ALLOC(i0)                               (0x0000200c + 0x40*(i0))
  1273.  
  1274. #define NVC0_3D_TEX_LIMITS(i0)                                 (0x00002200 + 0x10*(i0))
  1275. #define NVC0_3D_TEX_LIMITS__ESIZE                               0x00000010
  1276. #define NVC0_3D_TEX_LIMITS__LEN                                 0x00000005
  1277.  
  1278. #define NVC0_3D_FIRMWARE(i0)                                   (0x00002300 + 0x4*(i0))
  1279. #define NVC0_3D_FIRMWARE__ESIZE                                 0x00000004
  1280. #define NVC0_3D_FIRMWARE__LEN                                   0x00000020
  1281.  
  1282. #define NVC0_3D_CB_SIZE                                         0x00002380
  1283.  
  1284. #define NVC0_3D_CB_ADDRESS_HIGH                                 0x00002384
  1285.  
  1286. #define NVC0_3D_CB_ADDRESS_LOW                                  0x00002388
  1287.  
  1288. #define NVC0_3D_CB_POS                                          0x0000238c
  1289.  
  1290. #define NVC0_3D_CB_DATA(i0)                                    (0x00002390 + 0x4*(i0))
  1291. #define NVC0_3D_CB_DATA__ESIZE                                  0x00000004
  1292. #define NVC0_3D_CB_DATA__LEN                                    0x00000010
  1293.  
  1294. #define NVC0_3D_BIND_TSC(i0)                                   (0x00002400 + 0x20*(i0))
  1295. #define NVC0_3D_BIND_TSC__ESIZE                                 0x00000020
  1296. #define NVC0_3D_BIND_TSC__LEN                                   0x00000005
  1297. #define NVC0_3D_BIND_TSC_ACTIVE                                 0x00000001
  1298. #define NVC0_3D_BIND_TSC_SAMPLER__MASK                          0x00000ff0
  1299. #define NVC0_3D_BIND_TSC_SAMPLER__SHIFT                         4
  1300. #define NVC0_3D_BIND_TSC_TSC__MASK                              0x01fff000
  1301. #define NVC0_3D_BIND_TSC_TSC__SHIFT                             12
  1302.  
  1303. #define NVC0_3D_BIND_TIC(i0)                                   (0x00002404 + 0x20*(i0))
  1304. #define NVC0_3D_BIND_TIC__ESIZE                                 0x00000020
  1305. #define NVC0_3D_BIND_TIC__LEN                                   0x00000005
  1306. #define NVC0_3D_BIND_TIC_ACTIVE                                 0x00000001
  1307. #define NVC0_3D_BIND_TIC_TEXTURE__MASK                          0x000001fe
  1308. #define NVC0_3D_BIND_TIC_TEXTURE__SHIFT                         1
  1309. #define NVC0_3D_BIND_TIC_TIC__MASK                              0x7ffffe00
  1310. #define NVC0_3D_BIND_TIC_TIC__SHIFT                             9
  1311.  
  1312. #define NVC0_3D_CB_BIND(i0)                                    (0x00002410 + 0x20*(i0))
  1313. #define NVC0_3D_CB_BIND__ESIZE                                  0x00000020
  1314. #define NVC0_3D_CB_BIND__LEN                                    0x00000005
  1315. #define NVC0_3D_CB_BIND_VALID                                   0x00000001
  1316. #define NVC0_3D_CB_BIND_INDEX__MASK                             0x000000f0
  1317. #define NVC0_3D_CB_BIND_INDEX__SHIFT                            4
  1318.  
  1319. #define NVC0_3D_VERT_COLOR_CLAMP_EN                             0x00002600
  1320.  
  1321. #define NVE4_3D_TEX_CB_INDEX                                    0x00002608
  1322. #define NVE4_3D_TEX_CB_INDEX__MIN                               0x00000000
  1323. #define NVE4_3D_TEX_CB_INDEX__MAX                               0x00000010
  1324.  
  1325. #define NVC0_3D_TFB_VARYING_LOCS(i0, i1)                       (0x00002800 + 0x80*(i0) + 0x4*(i1))
  1326. #define NVC0_3D_TFB_VARYING_LOCS__ESIZE                         0x00000004
  1327. #define NVC0_3D_TFB_VARYING_LOCS__LEN                           0x00000020
  1328.  
  1329. #define NVC0_3D_MACRO_VERTEX_ARRAY_PER_INSTANCE                 0x00003800
  1330.  
  1331. #define NVC0_3D_MACRO_VERTEX_ARRAY_SELECT                       0x00003808
  1332.  
  1333. #define NVC0_3D_MACRO_BLEND_ENABLES                             0x00003810
  1334.  
  1335. #define NVC0_3D_MACRO_POLYGON_MODE_FRONT                        0x00003818
  1336. #define NVC0_3D_MACRO_POLYGON_MODE_FRONT_POINT                  0x00001b00
  1337. #define NVC0_3D_MACRO_POLYGON_MODE_FRONT_LINE                   0x00001b01
  1338. #define NVC0_3D_MACRO_POLYGON_MODE_FRONT_FILL                   0x00001b02
  1339.  
  1340. #define NVC0_3D_MACRO_POLYGON_MODE_BACK                         0x00003820
  1341. #define NVC0_3D_MACRO_POLYGON_MODE_BACK_POINT                   0x00001b00
  1342. #define NVC0_3D_MACRO_POLYGON_MODE_BACK_LINE                    0x00001b01
  1343. #define NVC0_3D_MACRO_POLYGON_MODE_BACK_FILL                    0x00001b02
  1344.  
  1345. #define NVC0_3D_MACRO_GP_SELECT                                 0x00003828
  1346.  
  1347. #define NVC0_3D_MACRO_TEP_SELECT                                0x00003830
  1348.  
  1349.  
  1350. #endif /* NVC0_3D_XML */
  1351.