Subversion Repositories Kolibri OS

Rev

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://github.com/envytools/envytools/
  8. git clone https://github.com/envytools/envytools.git
  9.  
  10. The rules-ng-ng source files this header was generated from are:
  11. - rnndb/graph/gf100_3d.xml   (  59971 bytes, from 2014-09-26 00:01:33)
  12. - rnndb/copyright.xml        (   6456 bytes, from 2014-12-31 02:13:31)
  13. - rnndb/nv_defs.xml          (   4399 bytes, from 2013-09-07 03:32:45)
  14. - rnndb/graph/nv_3ddefs.xml  (  16390 bytes, from 2014-09-25 06:32:11)
  15. - rnndb/fifo/nv_object.xml   (  15326 bytes, from 2014-09-25 06:32:11)
  16. - rnndb/nvchipsets.xml       (   2759 bytes, from 2014-10-05 01:51:02)
  17. - rnndb/g80_defs.xml         (  18175 bytes, from 2014-09-25 06:32:11)
  18. - rnndb/graph/gk104_p2mf.xml (   2376 bytes, from 2014-09-25 06:32:11)
  19.  
  20. Copyright (C) 2006-2014 by the following authors:
  21. - Artur Huillet <arthur.huillet@free.fr> (ahuillet)
  22. - Ben Skeggs (darktama, darktama_)
  23. - B. R. <koala_br@users.sourceforge.net> (koala_br)
  24. - Carlos Martin <carlosmn@users.sf.net> (carlosmn)
  25. - Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
  26. - Dawid Gajownik <gajownik@users.sf.net> (gajownik)
  27. - Dmitry Baryshkov
  28. - Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
  29. - EdB <edb_@users.sf.net> (edb_)
  30. - Erik Waling <erikwailing@users.sf.net> (erikwaling)
  31. - Francisco Jerez <currojerez@riseup.net> (curro)
  32. - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
  33. - jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
  34. - Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
  35. - Laurent Carlier <lordheavym@gmail.com> (lordheavy)
  36. - Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
  37. - Maarten Maathuis <madman2003@gmail.com> (stillunknown)
  38. - Marcin Koƛcielnicki <koriakin@0x04.net> (mwk, koriakin)
  39. - Mark Carey <mark.carey@gmail.com> (careym)
  40. - Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
  41. - nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
  42. - Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
  43. - Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
  44. - Peter Popov <ironpeter@users.sf.net> (ironpeter)
  45. - Richard Hughes <hughsient@users.sf.net> (hughsient)
  46. - Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
  47. - Serge Martin
  48. - Simon Raffeiner
  49. - Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
  50. - Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
  51. - sturmflut <sturmflut@users.sf.net> (sturmflut)
  52. - Sylvain Munaut <tnt@246tNt.com>
  53. - Victor Stinner <victor.stinner@haypocalc.com> (haypo)
  54. - Wladmir van der Laan <laanwj@gmail.com> (miathan6)
  55. - Younes Manton <younes.m@gmail.com> (ymanton)
  56.  
  57. Permission is hereby granted, free of charge, to any person obtaining
  58. a copy of this software and associated documentation files (the
  59. "Software"), to deal in the Software without restriction, including
  60. without limitation the rights to use, copy, modify, merge, publish,
  61. distribute, sublicense, and/or sell copies of the Software, and to
  62. permit persons to whom the Software is furnished to do so, subject to
  63. the following conditions:
  64.  
  65. The above copyright notice and this permission notice (including the
  66. next paragraph) shall be included in all copies or substantial
  67. portions of the Software.
  68.  
  69. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  70. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  71. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  72. IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
  73. LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  74. OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  75. WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  76. */
  77.  
  78.  
  79.  
  80.  
  81.  
  82. #define NVE4_3D_UNK0144                                 0x00000144
  83.  
  84. #define NVE4_3D_UPLOAD                                          0x00000000
  85.  
  86. #define NVE4_3D_UPLOAD_LINE_LENGTH_IN                           0x00000180
  87.  
  88. #define NVE4_3D_UPLOAD_LINE_COUNT                               0x00000184
  89.  
  90. #define NVE4_3D_UPLOAD_DST_ADDRESS_HIGH                 0x00000188
  91.  
  92. #define NVE4_3D_UPLOAD_DST_ADDRESS_LOW                          0x0000018c
  93.  
  94. #define NVE4_3D_UPLOAD_DST_PITCH                                0x00000190
  95.  
  96. #define NVE4_3D_UPLOAD_DST_TILE_MODE                            0x00000194
  97.  
  98. #define NVE4_3D_UPLOAD_DST_WIDTH                                0x00000198
  99.  
  100. #define NVE4_3D_UPLOAD_DST_HEIGHT                               0x0000019c
  101.  
  102. #define NVE4_3D_UPLOAD_DST_DEPTH                                0x000001a0
  103.  
  104. #define NVE4_3D_UPLOAD_DST_Z                                    0x000001a4
  105.  
  106. #define NVE4_3D_UPLOAD_DST_X                                    0x000001a8
  107.  
  108. #define NVE4_3D_UPLOAD_DST_Y                                    0x000001ac
  109.  
  110. #define NVE4_3D_UPLOAD_EXEC                                     0x000001b0
  111. #define NVE4_3D_UPLOAD_EXEC_LINEAR                              0x00000001
  112. #define NVE4_3D_UPLOAD_EXEC_UNK1__MASK                          0x0000007e
  113. #define NVE4_3D_UPLOAD_EXEC_UNK1__SHIFT                 1
  114. #define NVE4_3D_UPLOAD_EXEC_BUF_NOTIFY                          0x00000300
  115. #define NVE4_3D_UPLOAD_EXEC_UNK12__MASK                 0x0000f000
  116. #define NVE4_3D_UPLOAD_EXEC_UNK12__SHIFT                        12
  117.  
  118. #define NVE4_3D_UPLOAD_DATA                                     0x000001b4
  119.  
  120. #define NVE4_3D_UPLOAD_QUERY_ADDRESS_HIGH                       0x000001dc
  121.  
  122. #define NVE4_3D_UPLOAD_QUERY_ADDRESS_LOW                        0x000001e0
  123.  
  124. #define NVE4_3D_UPLOAD_QUERY_SEQUENCE                           0x000001e4
  125.  
  126. #define NVE4_3D_UPLOAD_UNK01F0                                  0x000001f0
  127.  
  128. #define NVE4_3D_UPLOAD_UNK01F4                                  0x000001f4
  129.  
  130. #define NVE4_3D_UPLOAD_UNK01F8                                  0x000001f8
  131.  
  132. #define NVE4_3D_UPLOAD_UNK01FC                                  0x000001fc
  133.  
  134. #define NVC0_3D_UNK200                                          0x00000200
  135.  
  136. #define NVC0_3D_UNK204                                          0x00000204
  137.  
  138. #define NVC0_3D_UNK208                                          0x00000208
  139.  
  140. #define NVC0_3D_LINE_WIDTH_SEPARATE                             0x0000020c
  141.  
  142. #define NVC0_3D_FORCE_EARLY_FRAGMENT_TESTS                      0x00000210
  143.  
  144. #define NVC0_3D_UNK214                                          0x00000214
  145.  
  146. #define NVC0_3D_UNK218                                          0x00000218
  147.  
  148. #define NVC0_3D_MEM_BARRIER                                     0x0000021c
  149. #define NVC0_3D_MEM_BARRIER_UNK0                                0x00000001
  150. #define NVC0_3D_MEM_BARRIER_UNK1                                0x00000002
  151. #define NVC0_3D_MEM_BARRIER_UNK2                                0x00000004
  152. #define NVC0_3D_MEM_BARRIER_UNK4                                0x00000010
  153. #define NVC0_3D_MEM_BARRIER_UNK8                                0x00000100
  154. #define NVC0_3D_MEM_BARRIER_UNK12                               0x00001000
  155.  
  156. #define NVC0_3D_UNK0220(i0)                                    (0x00000220 + 0x4*(i0))
  157. #define NVC0_3D_UNK0220__ESIZE                                  0x00000004
  158. #define NVC0_3D_UNK0220__LEN                                    0x00000028
  159.  
  160. #define NVC0_3D_UNK02C0                                 0x000002c0
  161.  
  162. #define NVC0_3D_UNK02C4                                 0x000002c4
  163.  
  164. #define NVC0_3D_GLOBAL_BASE                                     0x000002c8
  165. #define NVC0_3D_GLOBAL_BASE_HIGH__MASK                          0x000000ff
  166. #define NVC0_3D_GLOBAL_BASE_HIGH__SHIFT                 0
  167. #define NVC0_3D_GLOBAL_BASE_INDEX__MASK                 0x00ff0000
  168. #define NVC0_3D_GLOBAL_BASE_INDEX__SHIFT                        16
  169. #define NVC0_3D_GLOBAL_BASE_READ_OK                             0x40000000
  170. #define NVC0_3D_GLOBAL_BASE_WRITE_OK                            0x80000000
  171.  
  172. #define NVC0_3D_UNK02CC                                 0x000002cc
  173.  
  174. #define NVC0_3D_UNK02D0                                 0x000002d0
  175.  
  176. #define NVC0_3D_UNK02D4                                 0x000002d4
  177.  
  178. #define NVC0_3D_UNK02D8                                 0x000002d8
  179.  
  180. #define NVC8_3D_UNK02E0                                 0x000002e0
  181.  
  182. #define NVC1_3D_UNK02E4                                 0x000002e4
  183. #define NVC1_3D_UNK02E4_UNK0                                    0x00000001
  184. #define NVC1_3D_UNK02E4_UNK4                                    0x00000010
  185. #define NVC1_3D_UNK02E4_UNK8                                    0x00000100
  186. #define NVC1_3D_UNK02E4_UNK12__MASK                             0x0000f000
  187. #define NVC1_3D_UNK02E4_UNK12__SHIFT                            12
  188.  
  189. #define NVC8_3D_UNK02E8                                 0x000002e8
  190.  
  191. #define NVC0_3D_UNK02EC                                 0x000002ec
  192. #define NVC0_3D_UNK02EC_UNK0                                    0x00000001
  193. #define NVC0_3D_UNK02EC_UNK4__MASK                              0x00000ff0
  194. #define NVC0_3D_UNK02EC_UNK4__SHIFT                             4
  195.  
  196. #define NVC8_3D_UNK02F8                                 0x000002f8
  197.  
  198. #define NVC8_3D_UNK02FC                                 0x000002fc
  199.  
  200. #define NVC0_3D_UNK0300                                 0x00000300
  201.  
  202. #define NVC0_3D_UNK0304                                 0x00000304
  203.  
  204. #define NVC0_3D_CACHE_SPLIT                                     0x00000308
  205. #define NVC1_3D_CACHE_SPLIT_16K_SHARED_48K_L1                   0x00000001
  206. #define NVE4_3D_CACHE_SPLIT_32K_SHARED_32K_L1                   0x00000002
  207. #define NVC0_3D_CACHE_SPLIT_48K_SHARED_16K_L1                   0x00000003
  208.  
  209. #define NVC0_3D_UNK030C                                 0x0000030c
  210.  
  211. #define NVC0_3D_UNK0310                                 0x00000310
  212.  
  213. #define NVE4_3D_UNK0310                                 0x00000310
  214.  
  215. #define NVC0_3D_UNK0314                                 0x00000314
  216.  
  217. #define NVC0_3D_UNK0318                                 0x00000318
  218.  
  219. #define NVC0_3D_UNK031C                                 0x0000031c
  220.  
  221. #define NVC0_3D_TESS_MODE                                       0x00000320
  222. #define NVC0_3D_TESS_MODE_PRIM__MASK                            0x00000003
  223. #define NVC0_3D_TESS_MODE_PRIM__SHIFT                           0
  224. #define NVC0_3D_TESS_MODE_PRIM_ISOLINES                 0x00000000
  225. #define NVC0_3D_TESS_MODE_PRIM_TRIANGLES                        0x00000001
  226. #define NVC0_3D_TESS_MODE_PRIM_QUADS                            0x00000002
  227. #define NVC0_3D_TESS_MODE_SPACING__MASK                 0x00000030
  228. #define NVC0_3D_TESS_MODE_SPACING__SHIFT                        4
  229. #define NVC0_3D_TESS_MODE_SPACING_EQUAL                 0x00000000
  230. #define NVC0_3D_TESS_MODE_SPACING_FRACTIONAL_ODD                0x00000010
  231. #define NVC0_3D_TESS_MODE_SPACING_FRACTIONAL_EVEN               0x00000020
  232. #define NVC0_3D_TESS_MODE_CW                                    0x00000100
  233. #define NVC0_3D_TESS_MODE_CONNECTED                             0x00000200
  234.  
  235. #define NVC0_3D_TESS_LEVEL_OUTER(i0)                           (0x00000324 + 0x4*(i0))
  236. #define NVC0_3D_TESS_LEVEL_OUTER__ESIZE                 0x00000004
  237. #define NVC0_3D_TESS_LEVEL_OUTER__LEN                           0x00000004
  238.  
  239. #define NVC0_3D_TESS_LEVEL_INNER(i0)                           (0x00000334 + 0x4*(i0))
  240. #define NVC0_3D_TESS_LEVEL_INNER__ESIZE                 0x00000004
  241. #define NVC0_3D_TESS_LEVEL_INNER__LEN                           0x00000002
  242.  
  243. #define NVC0_3D_UNK033C(i0)                                    (0x0000033c + 0x4*(i0))
  244. #define NVC0_3D_UNK033C__ESIZE                                  0x00000004
  245. #define NVC0_3D_UNK033C__LEN                                    0x00000009
  246.  
  247. #define NVC0_3D_UNK0360                                 0x00000360
  248.  
  249. #define NVC0_3D_UNK0364                                 0x00000364
  250.  
  251. #define NVC0_3D_UNK0368                                 0x00000368
  252.  
  253. #define NVC8_3D_UNK036C                                 0x0000036c
  254.  
  255. #define NVC8_3D_UNK0370                                 0x00000370
  256.  
  257. #define NVC8_3D_UNK0374                                 0x00000374
  258.  
  259. #define NVC8_3D_UNK0378                                 0x00000378
  260.  
  261. #define NVC0_3D_RASTERIZE_ENABLE                                0x0000037c
  262.  
  263. #define NVC0_3D_TFB(i0)                                (0x00000380 + 0x20*(i0))
  264. #define NVC0_3D_TFB__ESIZE                                      0x00000020
  265. #define NVC0_3D_TFB__LEN                                        0x00000004
  266.  
  267. #define NVC0_3D_TFB_BUFFER_ENABLE(i0)                          (0x00000380 + 0x20*(i0))
  268.  
  269. #define NVC0_3D_TFB_ADDRESS_HIGH(i0)                           (0x00000384 + 0x20*(i0))
  270.  
  271. #define NVC0_3D_TFB_ADDRESS_LOW(i0)                            (0x00000388 + 0x20*(i0))
  272.  
  273. #define NVC0_3D_TFB_BUFFER_SIZE(i0)                            (0x0000038c + 0x20*(i0))
  274.  
  275. #define NVC0_3D_TFB_BUFFER_OFFSET(i0)                          (0x00000390 + 0x20*(i0))
  276.  
  277. #define NVC0_3D_UNK0400(i0)                                    (0x00000400 + 0x4*(i0))
  278. #define NVC0_3D_UNK0400__ESIZE                                  0x00000004
  279. #define NVC0_3D_UNK0400__LEN                                    0x000000c0
  280.  
  281. #define NVC0_3D_TFB_STREAM(i0)                                 (0x00000700 + 0x10*(i0))
  282. #define NVC0_3D_TFB_STREAM__ESIZE                               0x00000010
  283. #define NVC0_3D_TFB_STREAM__LEN                         0x00000004
  284.  
  285. #define NVC0_3D_TFB_VARYING_COUNT(i0)                          (0x00000704 + 0x10*(i0))
  286. #define NVC0_3D_TFB_VARYING_COUNT__ESIZE                        0x00000010
  287. #define NVC0_3D_TFB_VARYING_COUNT__LEN                          0x00000004
  288.  
  289. #define NVC0_3D_TFB_BUFFER_STRIDE(i0)                          (0x00000708 + 0x10*(i0))
  290. #define NVC0_3D_TFB_BUFFER_STRIDE__ESIZE                        0x00000010
  291. #define NVC0_3D_TFB_BUFFER_STRIDE__LEN                          0x00000004
  292.  
  293. #define NVC0_3D_UNK0740                                 0x00000740
  294.  
  295. #define NVC0_3D_TFB_ENABLE                                      0x00000744
  296.  
  297. #define NVC0_3D_UNK0748                                 0x00000748
  298.  
  299. #define NVC0_3D_UNK074C                                 0x0000074c
  300.  
  301. #define NVC0_3D_UNK0750                                 0x00000750
  302.  
  303. #define NVC0_3D_SAMPLE_SHADING                                  0x00000754
  304. #define NVC0_3D_SAMPLE_SHADING_MIN_SAMPLES__MASK                0x0000000f
  305. #define NVC0_3D_SAMPLE_SHADING_MIN_SAMPLES__SHIFT               0
  306. #define NVC0_3D_SAMPLE_SHADING_ENABLE                           0x00000010
  307.  
  308. #define NVC0_3D_UNK075C                                 0x0000075c
  309.  
  310. #define NVC0_3D_UNK0760(i0)                                    (0x00000760 + 0x4*(i0))
  311. #define NVC0_3D_UNK0760__ESIZE                                  0x00000004
  312. #define NVC0_3D_UNK0760__LEN                                    0x00000004
  313.  
  314. #define NVC0_3D_UNK0770(i0)                                    (0x00000770 + 0x4*(i0))
  315. #define NVC0_3D_UNK0770__ESIZE                                  0x00000004
  316. #define NVC0_3D_UNK0770__LEN                                    0x00000003
  317. #define NVC0_3D_UNK0770_UNK4__MASK                              0x000000f0
  318. #define NVC0_3D_UNK0770_UNK4__SHIFT                             4
  319. #define NVC0_3D_UNK0770_UNK12__MASK                             0x0000f000
  320. #define NVC0_3D_UNK0770_UNK12__SHIFT                            12
  321. #define NVC0_3D_UNK0770_UNK20__MASK                             0x00f00000
  322. #define NVC0_3D_UNK0770_UNK20__SHIFT                            20
  323. #define NVC0_3D_UNK0770_UNK28__MASK                             0xf0000000
  324. #define NVC0_3D_UNK0770_UNK28__SHIFT                            28
  325.  
  326. #define NVC0_3D_LOCAL_BASE                                      0x0000077c
  327.  
  328. #define NVC0_3D_UNK0780(i0)                                    (0x00000780 + 0x4*(i0))
  329. #define NVC0_3D_UNK0780__ESIZE                                  0x00000004
  330. #define NVC0_3D_UNK0780__LEN                                    0x00000004
  331.  
  332. #define NVC0_3D_TEMP_ADDRESS_HIGH                               0x00000790
  333.  
  334. #define NVC0_3D_TEMP_ADDRESS_LOW                                0x00000794
  335.  
  336. #define NVC0_3D_TEMP_SIZE_HIGH                                  0x00000798
  337.  
  338. #define NVC0_3D_TEMP_SIZE_LOW                                   0x0000079c
  339.  
  340. #define NVC0_3D_WARP_TEMP_ALLOC                         0x000007a0
  341.  
  342. #define NVC8_3D_UNK07A4(i0)                                    (0x000007a4 + 0x4*(i0))
  343. #define NVC8_3D_UNK07A4__ESIZE                                  0x00000004
  344. #define NVC8_3D_UNK07A4__LEN                                    0x00000002
  345.  
  346. #define NVE4_3D_UNK07AC                                 0x000007ac
  347.  
  348. #define NVC0_3D_UNK07B0(i0)                                    (0x000007b0 + 0x4*(i0))
  349. #define NVC0_3D_UNK07B0__ESIZE                                  0x00000004
  350. #define NVC0_3D_UNK07B0__LEN                                    0x00000004
  351.  
  352. #define NVC0_3D_ZCULL_WIDTH                                     0x000007c0
  353.  
  354. #define NVC0_3D_ZCULL_HEIGHT                                    0x000007c4
  355.  
  356. #define NVC0_3D_ZCULL_UNK07C8                                   0x000007c8
  357.  
  358. #define NVC0_3D_ZCULL_UNK07CC                                   0x000007cc
  359.  
  360. #define NVC0_3D_UNK07D0(i0)                                    (0x000007d0 + 0x4*(i0))
  361. #define NVC0_3D_UNK07D0__ESIZE                                  0x00000004
  362. #define NVC0_3D_UNK07D0__LEN                                    0x00000003
  363. #define NVC0_3D_UNK07D0_UNK4__MASK                              0x000000f0
  364. #define NVC0_3D_UNK07D0_UNK4__SHIFT                             4
  365. #define NVC0_3D_UNK07D0_UNK12__MASK                             0x0000f000
  366. #define NVC0_3D_UNK07D0_UNK12__SHIFT                            12
  367. #define NVC0_3D_UNK07D0_UNK20__MASK                             0x00f00000
  368. #define NVC0_3D_UNK07D0_UNK20__SHIFT                            20
  369. #define NVC0_3D_UNK07D0_UNK28__MASK                             0xf0000000
  370. #define NVC0_3D_UNK07D0_UNK28__SHIFT                            28
  371.  
  372. #define NVC0_3D_UNK07DC                                 0x000007dc
  373.  
  374. #define NVC0_3D_UNK07E0                                 0x000007e0
  375.  
  376. #define NVC0_3D_UNK07E4                                 0x000007e4
  377.  
  378. #define NVC0_3D_ZCULL_ADDRESS_HIGH                              0x000007e8
  379.  
  380. #define NVC0_3D_ZCULL_ADDRESS_LOW                               0x000007ec
  381.  
  382. #define NVC0_3D_ZCULL_LIMIT_HIGH                                0x000007f0
  383.  
  384. #define NVC0_3D_ZCULL_LIMIT_LOW                         0x000007f4
  385.  
  386. #define NVC0_3D_UNK07F8                                 0x000007f8
  387. #define NVC0_3D_UNK07F8_UNK0                                    0x00000001
  388. #define NVC0_3D_UNK07F8_UNK1                                    0x00000010
  389.  
  390. #define NVE4_3D_UNK07FC                                 0x000007fc
  391.  
  392. #define NVC0_3D_RT(i0)                                         (0x00000800 + 0x40*(i0))
  393. #define NVC0_3D_RT__ESIZE                                       0x00000040
  394. #define NVC0_3D_RT__LEN                                 0x00000008
  395.  
  396. #define NVC0_3D_RT_ADDRESS_HIGH(i0)                            (0x00000800 + 0x40*(i0))
  397.  
  398. #define NVC0_3D_RT_ADDRESS_LOW(i0)                             (0x00000804 + 0x40*(i0))
  399.  
  400. #define NVC0_3D_RT_HORIZ(i0)                                   (0x00000808 + 0x40*(i0))
  401.  
  402. #define NVC0_3D_RT_VERT(i0)                                    (0x0000080c + 0x40*(i0))
  403.  
  404. #define NVC0_3D_RT_FORMAT(i0)                                  (0x00000810 + 0x40*(i0))
  405.  
  406. #define NVC0_3D_RT_TILE_MODE(i0)                               (0x00000814 + 0x40*(i0))
  407. #define NVC0_3D_RT_TILE_MODE_X                                  0x00000001
  408. #define NVC0_3D_RT_TILE_MODE_Y__MASK                            0x00000070
  409. #define NVC0_3D_RT_TILE_MODE_Y__SHIFT                           4
  410. #define NVC0_3D_RT_TILE_MODE_Z__MASK                            0x00000700
  411. #define NVC0_3D_RT_TILE_MODE_Z__SHIFT                           8
  412. #define NVC0_3D_RT_TILE_MODE_LINEAR                             0x00001000
  413. #define NVC0_3D_RT_TILE_MODE_UNK16                              0x00010000
  414.  
  415. #define NVC0_3D_RT_ARRAY_MODE(i0)                              (0x00000818 + 0x40*(i0))
  416. #define NVC0_3D_RT_ARRAY_MODE_LAYERS__MASK                      0x0000ffff
  417. #define NVC0_3D_RT_ARRAY_MODE_LAYERS__SHIFT                     0
  418. #define NVC0_3D_RT_ARRAY_MODE_VOLUME                            0x00010000
  419.  
  420. #define NVC0_3D_RT_LAYER_STRIDE(i0)                            (0x0000081c + 0x40*(i0))
  421.  
  422. #define NVC0_3D_RT_BASE_LAYER(i0)                              (0x00000820 + 0x40*(i0))
  423.  
  424. #define NVC0_3D_RT_UNK14(i0)                                   (0x00000824 + 0x40*(i0))
  425.  
  426. #define NVC0_3D_VIEWPORT_SCALE_X(i0)                           (0x00000a00 + 0x20*(i0))
  427. #define NVC0_3D_VIEWPORT_SCALE_X__ESIZE                 0x00000020
  428. #define NVC0_3D_VIEWPORT_SCALE_X__LEN                           0x00000010
  429.  
  430. #define NVC0_3D_VIEWPORT_SCALE_Y(i0)                           (0x00000a04 + 0x20*(i0))
  431. #define NVC0_3D_VIEWPORT_SCALE_Y__ESIZE                 0x00000020
  432. #define NVC0_3D_VIEWPORT_SCALE_Y__LEN                           0x00000010
  433.  
  434. #define NVC0_3D_VIEWPORT_SCALE_Z(i0)                           (0x00000a08 + 0x20*(i0))
  435. #define NVC0_3D_VIEWPORT_SCALE_Z__ESIZE                 0x00000020
  436. #define NVC0_3D_VIEWPORT_SCALE_Z__LEN                           0x00000010
  437.  
  438. #define NVC0_3D_VIEWPORT_TRANSLATE_X(i0)                       (0x00000a0c + 0x20*(i0))
  439. #define NVC0_3D_VIEWPORT_TRANSLATE_X__ESIZE                     0x00000020
  440. #define NVC0_3D_VIEWPORT_TRANSLATE_X__LEN                       0x00000010
  441.  
  442. #define NVC0_3D_VIEWPORT_TRANSLATE_Y(i0)                       (0x00000a10 + 0x20*(i0))
  443. #define NVC0_3D_VIEWPORT_TRANSLATE_Y__ESIZE                     0x00000020
  444. #define NVC0_3D_VIEWPORT_TRANSLATE_Y__LEN                       0x00000010
  445.  
  446. #define NVC0_3D_VIEWPORT_TRANSLATE_Z(i0)                       (0x00000a14 + 0x20*(i0))
  447. #define NVC0_3D_VIEWPORT_TRANSLATE_Z__ESIZE                     0x00000020
  448. #define NVC0_3D_VIEWPORT_TRANSLATE_Z__LEN                       0x00000010
  449.  
  450. #define NVC0_3D_VIEWPORT_HORIZ(i0)                             (0x00000c00 + 0x10*(i0))
  451. #define NVC0_3D_VIEWPORT_HORIZ__ESIZE                           0x00000010
  452. #define NVC0_3D_VIEWPORT_HORIZ__LEN                             0x00000010
  453. #define NVC0_3D_VIEWPORT_HORIZ_X__MASK                          0x0000ffff
  454. #define NVC0_3D_VIEWPORT_HORIZ_X__SHIFT                 0
  455. #define NVC0_3D_VIEWPORT_HORIZ_W__MASK                          0xffff0000
  456. #define NVC0_3D_VIEWPORT_HORIZ_W__SHIFT                 16
  457.  
  458. #define NVC0_3D_VIEWPORT_VERT(i0)                              (0x00000c04 + 0x10*(i0))
  459. #define NVC0_3D_VIEWPORT_VERT__ESIZE                            0x00000010
  460. #define NVC0_3D_VIEWPORT_VERT__LEN                              0x00000010
  461. #define NVC0_3D_VIEWPORT_VERT_Y__MASK                           0x0000ffff
  462. #define NVC0_3D_VIEWPORT_VERT_Y__SHIFT                          0
  463. #define NVC0_3D_VIEWPORT_VERT_H__MASK                           0xffff0000
  464. #define NVC0_3D_VIEWPORT_VERT_H__SHIFT                          16
  465.  
  466. #define NVC0_3D_DEPTH_RANGE_NEAR(i0)                           (0x00000c08 + 0x10*(i0))
  467. #define NVC0_3D_DEPTH_RANGE_NEAR__ESIZE                 0x00000010
  468. #define NVC0_3D_DEPTH_RANGE_NEAR__LEN                           0x00000010
  469.  
  470. #define NVC0_3D_DEPTH_RANGE_FAR(i0)                            (0x00000c0c + 0x10*(i0))
  471. #define NVC0_3D_DEPTH_RANGE_FAR__ESIZE                          0x00000010
  472. #define NVC0_3D_DEPTH_RANGE_FAR__LEN                            0x00000010
  473.  
  474. #define NVC0_3D_CLIP_RECT_HORIZ(i0)                            (0x00000d00 + 0x8*(i0))
  475. #define NVC0_3D_CLIP_RECT_HORIZ__ESIZE                          0x00000008
  476. #define NVC0_3D_CLIP_RECT_HORIZ__LEN                            0x00000008
  477. #define NVC0_3D_CLIP_RECT_HORIZ_MIN__MASK                       0x0000ffff
  478. #define NVC0_3D_CLIP_RECT_HORIZ_MIN__SHIFT                      0
  479. #define NVC0_3D_CLIP_RECT_HORIZ_MAX__MASK                       0xffff0000
  480. #define NVC0_3D_CLIP_RECT_HORIZ_MAX__SHIFT                      16
  481.  
  482. #define NVC0_3D_CLIP_RECT_VERT(i0)                             (0x00000d04 + 0x8*(i0))
  483. #define NVC0_3D_CLIP_RECT_VERT__ESIZE                           0x00000008
  484. #define NVC0_3D_CLIP_RECT_VERT__LEN                             0x00000008
  485. #define NVC0_3D_CLIP_RECT_VERT_MIN__MASK                        0x0000ffff
  486. #define NVC0_3D_CLIP_RECT_VERT_MIN__SHIFT                       0
  487. #define NVC0_3D_CLIP_RECT_VERT_MAX__MASK                        0xffff0000
  488. #define NVC0_3D_CLIP_RECT_VERT_MAX__SHIFT                       16
  489.  
  490. #define NVC0_3D_CLIPID_REGION_HORIZ(i0)                (0x00000d40 + 0x8*(i0))
  491. #define NVC0_3D_CLIPID_REGION_HORIZ__ESIZE                      0x00000008
  492. #define NVC0_3D_CLIPID_REGION_HORIZ__LEN                        0x00000004
  493. #define NVC0_3D_CLIPID_REGION_HORIZ_X__MASK                     0x0000ffff
  494. #define NVC0_3D_CLIPID_REGION_HORIZ_X__SHIFT                    0
  495. #define NVC0_3D_CLIPID_REGION_HORIZ_W__MASK                     0xffff0000
  496. #define NVC0_3D_CLIPID_REGION_HORIZ_W__SHIFT                    16
  497.  
  498. #define NVC0_3D_CLIPID_REGION_VERT(i0)                         (0x00000d44 + 0x8*(i0))
  499. #define NVC0_3D_CLIPID_REGION_VERT__ESIZE                       0x00000008
  500. #define NVC0_3D_CLIPID_REGION_VERT__LEN                 0x00000004
  501. #define NVC0_3D_CLIPID_REGION_VERT_Y__MASK                      0x0000ffff
  502. #define NVC0_3D_CLIPID_REGION_VERT_Y__SHIFT                     0
  503. #define NVC0_3D_CLIPID_REGION_VERT_H__MASK                      0xffff0000
  504. #define NVC0_3D_CLIPID_REGION_VERT_H__SHIFT                     16
  505.  
  506. #define NVC0_3D_UNK0D60                                 0x00000d60
  507.  
  508. #define NVC0_3D_CALL_LIMIT_LOG                                  0x00000d64
  509.  
  510. #define NVC0_3D_COUNTER_ENABLE                                  0x00000d68
  511. #define NVC0_3D_COUNTER_ENABLE_UNK00                            0x00000001
  512. #define NVC0_3D_COUNTER_ENABLE_UNK01                            0x00000002
  513. #define NVC0_3D_COUNTER_ENABLE_UNK02                            0x00000004
  514. #define NVC0_3D_COUNTER_ENABLE_UNK03                            0x00000008
  515. #define NVC0_3D_COUNTER_ENABLE_UNK04                            0x00000010
  516. #define NVC0_3D_COUNTER_ENABLE_EMITTED_PRIMITIVES               0x00000020
  517. #define NVC0_3D_COUNTER_ENABLE_UNK06                            0x00000040
  518. #define NVC0_3D_COUNTER_ENABLE_UNK07                            0x00000080
  519. #define NVC0_3D_COUNTER_ENABLE_UNK08                            0x00000100
  520. #define NVC0_3D_COUNTER_ENABLE_UNK09                            0x00000200
  521. #define NVC0_3D_COUNTER_ENABLE_GENERATED_PRIMITIVES             0x00000400
  522. #define NVC0_3D_COUNTER_ENABLE_UNK0B                            0x00000800
  523. #define NVC0_3D_COUNTER_ENABLE_UNK0C                            0x00001000
  524. #define NVC0_3D_COUNTER_ENABLE_UNK0D                            0x00002000
  525. #define NVC0_3D_COUNTER_ENABLE_UNK0E                            0x00004000
  526. #define NVC0_3D_COUNTER_ENABLE_UNK0F                            0x00008000
  527.  
  528. #define NVC0_3D_UNK0D6C(i0)                                    (0x00000d6c + 0x4*(i0))
  529. #define NVC0_3D_UNK0D6C__ESIZE                                  0x00000004
  530. #define NVC0_3D_UNK0D6C__LEN                                    0x00000002
  531. #define NVC0_3D_UNK0D6C_X__MASK                         0x0000ffff
  532. #define NVC0_3D_UNK0D6C_X__SHIFT                                0
  533. #define NVC0_3D_UNK0D6C_Y__MASK                         0xffff0000
  534. #define NVC0_3D_UNK0D6C_Y__SHIFT                                16
  535.  
  536. #define NVC0_3D_VERTEX_BUFFER_FIRST                             0x00000d74
  537.  
  538. #define NVC0_3D_VERTEX_BUFFER_COUNT                             0x00000d78
  539.  
  540. #define NVC0_3D_DEPTH_CLIP_NEGATIVE_Z                           0x00000d7c
  541.  
  542. #define NVC0_3D_CLEAR_COLOR(i0)                        (0x00000d80 + 0x4*(i0))
  543. #define NVC0_3D_CLEAR_COLOR__ESIZE                              0x00000004
  544. #define NVC0_3D_CLEAR_COLOR__LEN                                0x00000004
  545.  
  546. #define NVC0_3D_CLEAR_DEPTH                                     0x00000d90
  547.  
  548. #define NVC0_3D_UNK0D94                                 0x00000d94
  549.  
  550. #define NVE4_3D_UNK0D98                                 0x00000d98
  551.  
  552. #define NVC0_3D_UNK0D9C                                 0x00000d9c
  553.  
  554. #define NVC0_3D_CLEAR_STENCIL                                   0x00000da0
  555.  
  556. #define NVE4_3D_UNK0DA4                                 0x00000da4
  557. #define NVE4_3D_UNK0DA4_UNK0                                    0x00000001
  558. #define NVE4_3D_UNK0DA4_UNK4                                    0x00000010
  559. #define NVE4_3D_UNK0DA4_UNK12                                   0x00001000
  560.  
  561. #define NVC0_3D_POLYGON_MODE_FRONT                              0x00000dac
  562. #define NVC0_3D_POLYGON_MODE_FRONT_POINT                        0x00001b00
  563. #define NVC0_3D_POLYGON_MODE_FRONT_LINE                 0x00001b01
  564. #define NVC0_3D_POLYGON_MODE_FRONT_FILL                 0x00001b02
  565.  
  566. #define NVC0_3D_POLYGON_MODE_BACK                               0x00000db0
  567. #define NVC0_3D_POLYGON_MODE_BACK_POINT                 0x00001b00
  568. #define NVC0_3D_POLYGON_MODE_BACK_LINE                          0x00001b01
  569. #define NVC0_3D_POLYGON_MODE_BACK_FILL                          0x00001b02
  570.  
  571. #define NVC0_3D_POLYGON_SMOOTH_ENABLE                           0x00000db4
  572.  
  573. #define NVC0_3D_UNK0DB8                                 0x00000db8
  574.  
  575. #define NVC0_3D_ZCULL_UNK0DBC                                   0x00000dbc
  576. #define NVC0_3D_ZCULL_UNK0DBC_UNK0                              0x00000001
  577. #define NVC0_3D_ZCULL_UNK0DBC_UNK16__MASK                       0x00030000
  578. #define NVC0_3D_ZCULL_UNK0DBC_UNK16__SHIFT                      16
  579.  
  580. #define NVC0_3D_POLYGON_OFFSET_POINT_ENABLE                     0x00000dc0
  581.  
  582. #define NVC0_3D_POLYGON_OFFSET_LINE_ENABLE                      0x00000dc4
  583.  
  584. #define NVC0_3D_POLYGON_OFFSET_FILL_ENABLE                      0x00000dc8
  585.  
  586. #define NVC0_3D_PATCH_VERTICES                                  0x00000dcc
  587.  
  588. #define NVC0_3D_ZCULL_UNK0DD8                                   0x00000dd8
  589. #define NVC0_3D_ZCULL_UNK0DD8_UNK0__MASK                        0x00000007
  590. #define NVC0_3D_ZCULL_UNK0DD8_UNK0__SHIFT                       0
  591. #define NVC0_3D_ZCULL_UNK0DD8_UNK8__MASK                        0x00000300
  592. #define NVC0_3D_ZCULL_UNK0DD8_UNK8__SHIFT                       8
  593. #define NVC0_3D_ZCULL_UNK0DD8_UNK16__MASK                       0xffff0000
  594. #define NVC0_3D_ZCULL_UNK0DD8_UNK16__SHIFT                      16
  595.  
  596. #define NVC0_3D_UNK0DDC                                 0x00000ddc
  597.  
  598. #define NVC0_3D_WATCHDOG_TIMER                                  0x00000de4
  599.  
  600. #define NVC0_3D_PRIM_RESTART_WITH_DRAW_ARRAYS                   0x00000de8
  601.  
  602. #define NVC0_3D_UNK0DEC                                 0x00000dec
  603.  
  604. #define NVC0_3D_UNK0DF4                                 0x00000df4
  605.  
  606. #define NVC0_3D_WINDOW_OFFSET_X                         0x00000df8
  607.  
  608. #define NVC0_3D_WINDOW_OFFSET_Y                         0x00000dfc
  609.  
  610. #define NVC0_3D_SCISSOR_ENABLE(i0)                             (0x00000e00 + 0x10*(i0))
  611. #define NVC0_3D_SCISSOR_ENABLE__ESIZE                           0x00000010
  612. #define NVC0_3D_SCISSOR_ENABLE__LEN                             0x00000010
  613.  
  614. #define NVC0_3D_SCISSOR_HORIZ(i0)                              (0x00000e04 + 0x10*(i0))
  615. #define NVC0_3D_SCISSOR_HORIZ__ESIZE                            0x00000010
  616. #define NVC0_3D_SCISSOR_HORIZ__LEN                              0x00000010
  617. #define NVC0_3D_SCISSOR_HORIZ_MIN__MASK                 0x0000ffff
  618. #define NVC0_3D_SCISSOR_HORIZ_MIN__SHIFT                        0
  619. #define NVC0_3D_SCISSOR_HORIZ_MAX__MASK                 0xffff0000
  620. #define NVC0_3D_SCISSOR_HORIZ_MAX__SHIFT                        16
  621.  
  622. #define NVC0_3D_SCISSOR_VERT(i0)                               (0x00000e08 + 0x10*(i0))
  623. #define NVC0_3D_SCISSOR_VERT__ESIZE                             0x00000010
  624. #define NVC0_3D_SCISSOR_VERT__LEN                               0x00000010
  625. #define NVC0_3D_SCISSOR_VERT_MIN__MASK                          0x0000ffff
  626. #define NVC0_3D_SCISSOR_VERT_MIN__SHIFT                 0
  627. #define NVC0_3D_SCISSOR_VERT_MAX__MASK                          0xffff0000
  628. #define NVC0_3D_SCISSOR_VERT_MAX__SHIFT                 16
  629.  
  630. #define NVC0_3D_UNK0F00(i0)                                    (0x00000f00 + 0x4*(i0))
  631. #define NVC0_3D_UNK0F00__ESIZE                                  0x00000004
  632. #define NVC0_3D_UNK0F00__LEN                                    0x00000004
  633.  
  634. #define NVE4_3D_UNK0F20(i0)                                    (0x00000f20 + 0x4*(i0))
  635. #define NVE4_3D_UNK0F20__ESIZE                                  0x00000004
  636. #define NVE4_3D_UNK0F20__LEN                                    0x00000005
  637.  
  638. #define NVC0_3D_STENCIL_BACK_FUNC_REF                           0x00000f54
  639.  
  640. #define NVC0_3D_STENCIL_BACK_MASK                               0x00000f58
  641.  
  642. #define NVC0_3D_STENCIL_BACK_FUNC_MASK                          0x00000f5c
  643.  
  644. #define NVC0_3D_VERTEX_RUNOUT_ADDRESS_HIGH                      0x00000f84
  645.  
  646. #define NVC0_3D_VERTEX_RUNOUT_ADDRESS_LOW                       0x00000f88
  647.  
  648. #define NVC0_3D_UNK0F8C                                 0x00000f8c
  649.  
  650. #define NVC0_3D_COLOR_MASK_COMMON                               0x00000f90
  651.  
  652. #define NVC0_3D_UNK0F98                                 0x00000f98
  653.  
  654. #define NVC0_3D_DEPTH_BOUNDS(i0)                               (0x00000f9c + 0x4*(i0))
  655. #define NVC0_3D_DEPTH_BOUNDS__ESIZE                             0x00000004
  656. #define NVC0_3D_DEPTH_BOUNDS__LEN                               0x00000002
  657.  
  658. #define NVC0_3D_RT_SEPARATE_FRAG_DATA                           0x00000fac
  659.  
  660. #define NVC0_3D_UNK0FB0                                 0x00000fb0
  661.  
  662. #define NVC0_3D_MSAA_MASK(i0)                                  (0x00000fbc + 0x4*(i0))
  663. #define NVC0_3D_MSAA_MASK__ESIZE                                0x00000004
  664. #define NVC0_3D_MSAA_MASK__LEN                                  0x00000004
  665.  
  666. #define NVC0_3D_CLIPID_ADDRESS_HIGH                             0x00000fcc
  667.  
  668. #define NVC0_3D_CLIPID_ADDRESS_LOW                              0x00000fd0
  669.  
  670. #define NVC0_3D_UNK0FDC                                 0x00000fdc
  671.  
  672. #define NVC0_3D_ZETA_ADDRESS_HIGH                               0x00000fe0
  673.  
  674. #define NVC0_3D_ZETA_ADDRESS_LOW                                0x00000fe4
  675.  
  676. #define NVC0_3D_ZETA_FORMAT                                     0x00000fe8
  677.  
  678. #define NVC0_3D_ZETA_TILE_MODE                                  0x00000fec
  679.  
  680. #define NVC0_3D_ZETA_LAYER_STRIDE                               0x00000ff0
  681.  
  682. #define NVC0_3D_SCREEN_SCISSOR_HORIZ                            0x00000ff4
  683. #define NVC0_3D_SCREEN_SCISSOR_HORIZ_W__MASK                    0xffff0000
  684. #define NVC0_3D_SCREEN_SCISSOR_HORIZ_W__SHIFT                   16
  685. #define NVC0_3D_SCREEN_SCISSOR_HORIZ_X__MASK                    0x0000ffff
  686. #define NVC0_3D_SCREEN_SCISSOR_HORIZ_X__SHIFT                   0
  687.  
  688. #define NVC0_3D_SCREEN_SCISSOR_VERT                             0x00000ff8
  689. #define NVC0_3D_SCREEN_SCISSOR_VERT_H__MASK                     0xffff0000
  690. #define NVC0_3D_SCREEN_SCISSOR_VERT_H__SHIFT                    16
  691. #define NVC0_3D_SCREEN_SCISSOR_VERT_Y__MASK                     0x0000ffff
  692. #define NVC0_3D_SCREEN_SCISSOR_VERT_Y__SHIFT                    0
  693.  
  694. #define NVC0_3D_UNK1000                                 0x00001000
  695.  
  696. #define NVC0_3D_UNK1008                                 0x00001008
  697.  
  698. #define NVC0_3D_UNK100C                                 0x0000100c
  699.  
  700. #define NVC0_3D_UNK1010                                 0x00001010
  701.  
  702. #define NVC0_3D_UNK1018                                 0x00001018
  703.  
  704. #define NVC0_3D_UNK101C                                 0x0000101c
  705.  
  706. #define NVC0_3D_UNK1020                                 0x00001020
  707.  
  708. #define NVC0_3D_UNK1024                                 0x00001024
  709.  
  710. #define NVC0_3D_UNK1040(i0)                                    (0x00001040 + 0x4*(i0))
  711. #define NVC0_3D_UNK1040__ESIZE                                  0x00000004
  712. #define NVC0_3D_UNK1040__LEN                                    0x00000010
  713.  
  714. #define NVC0_3D_UNK10CC                                 0x000010cc
  715. #define NVC0_3D_UNK10CC_UNK0__MASK                              0x000000ff
  716. #define NVC0_3D_UNK10CC_UNK0__SHIFT                             0
  717. #define NVC0_3D_UNK10CC_UNK16__MASK                             0x00ff0000
  718. #define NVC0_3D_UNK10CC_UNK16__SHIFT                            16
  719.  
  720. #define NVC0_3D_UNK10E0                                 0x000010e0
  721. #define NVC0_3D_UNK10E0_UNK0__MASK                              0x000000ff
  722. #define NVC0_3D_UNK10E0_UNK0__SHIFT                             0
  723. #define NVC0_3D_UNK10E0_UNK16__MASK                             0x00ff0000
  724. #define NVC0_3D_UNK10E0_UNK16__SHIFT                            16
  725.  
  726. #define NVC0_3D_UNK10E4                                 0x000010e4
  727. #define NVC0_3D_UNK10E4_UNK0__MASK                              0x000000ff
  728. #define NVC0_3D_UNK10E4_UNK0__SHIFT                             0
  729. #define NVC0_3D_UNK10E4_UNK16__MASK                             0x00ff0000
  730. #define NVC0_3D_UNK10E4_UNK16__SHIFT                            16
  731.  
  732. #define NVC0_3D_UNK10E8                                 0x000010e8
  733. #define NVC0_3D_UNK10E8_UNK0__MASK                              0x0000003f
  734. #define NVC0_3D_UNK10E8_UNK0__SHIFT                             0
  735. #define NVC0_3D_UNK10E8_UNK16__MASK                             0x003f0000
  736. #define NVC0_3D_UNK10E8_UNK16__SHIFT                            16
  737.  
  738. #define NVC0_3D_UNK10EC                                 0x000010ec
  739. #define NVC0_3D_UNK10EC_UNK0__MASK                              0x000000ff
  740. #define NVC0_3D_UNK10EC_UNK0__SHIFT                             0
  741. #define NVC0_3D_UNK10EC_UNK16__MASK                             0x00ff0000
  742. #define NVC0_3D_UNK10EC_UNK16__SHIFT                            16
  743.  
  744. #define NVC0_3D_UNK10F0                                 0x000010f0
  745. #define NVC0_3D_UNK10F0_UNK0__MASK                              0x000000ff
  746. #define NVC0_3D_UNK10F0_UNK0__SHIFT                             0
  747. #define NVC0_3D_UNK10F0_UNK16__MASK                             0x00ff0000
  748. #define NVC0_3D_UNK10F0_UNK16__SHIFT                            16
  749.  
  750. #define NVC0_3D_UNK10F4                                 0x000010f4
  751. #define NVC0_3D_UNK10F4_UNK0                                    0x00000001
  752. #define NVC0_3D_UNK10F4_UNK4                                    0x00000010
  753. #define NVC0_3D_UNK10F4_UNK8                                    0x00000100
  754.  
  755. #define NVC0_3D_CLEAR_FLAGS                                     0x000010f8
  756. #define NVC0_3D_CLEAR_FLAGS_STENCIL_MASK                        0x00000001
  757. #define NVC0_3D_CLEAR_FLAGS_UNK4                                0x00000010
  758. #define NVC0_3D_CLEAR_FLAGS_SCISSOR                             0x00000100
  759. #define NVC0_3D_CLEAR_FLAGS_VIEWPORT                            0x00001000
  760.  
  761. #define NVC0_3D_UNK10FC                                 0x000010fc
  762.  
  763. #define NVC0_3D_UNK110C                                 0x0000110c
  764.  
  765. #define NVC0_3D_UNK1110                                 0x00001110
  766.  
  767. #define NVC0_3D_WRCACHE_FLUSH                                   0x00001114
  768.  
  769. #define NVC0_3D_VERTEX_ID_BASE                                  0x00001118
  770.  
  771. #define NVC0_3D_VTX_ATTR_MASK_UNK0DD0_ALT(i0)                  (0x00001120 + 0x4*(i0))
  772. #define NVC0_3D_VTX_ATTR_MASK_UNK0DD0_ALT__ESIZE                0x00000004
  773. #define NVC0_3D_VTX_ATTR_MASK_UNK0DD0_ALT__LEN                  0x00000004
  774.  
  775. #define NVC0_3D_UNK1140                                 0x00001140
  776.  
  777. #define NVC0_3D_UNK1144                                 0x00001144
  778.  
  779. #define NVC0_3D_VTX_ATTR_DEFINE                         0x0000114c
  780. #define NVC0_3D_VTX_ATTR_DEFINE_ATTR__MASK                      0x000000ff
  781. #define NVC0_3D_VTX_ATTR_DEFINE_ATTR__SHIFT                     0
  782. #define NVC0_3D_VTX_ATTR_DEFINE_COMP__MASK                      0x00000700
  783. #define NVC0_3D_VTX_ATTR_DEFINE_COMP__SHIFT                     8
  784. #define NVC0_3D_VTX_ATTR_DEFINE_COMP__MIN                       0x00000001
  785. #define NVC0_3D_VTX_ATTR_DEFINE_COMP__MAX                       0x00000004
  786. #define NVC0_3D_VTX_ATTR_DEFINE_SIZE__MASK                      0x00007000
  787. #define NVC0_3D_VTX_ATTR_DEFINE_SIZE__SHIFT                     12
  788. #define NVC0_3D_VTX_ATTR_DEFINE_SIZE_8                          0x00001000
  789. #define NVC0_3D_VTX_ATTR_DEFINE_SIZE_16                 0x00002000
  790. #define NVC0_3D_VTX_ATTR_DEFINE_SIZE_32                 0x00004000
  791. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE__MASK                      0x00070000
  792. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE__SHIFT                     16
  793. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_SNORM                      0x00010000
  794. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_UNORM                      0x00020000
  795. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_SINT                       0x00030000
  796. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_UINT                       0x00040000
  797. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_USCALED                    0x00050000
  798. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_SSCALED                    0x00060000
  799. #define NVC0_3D_VTX_ATTR_DEFINE_TYPE_FLOAT                      0x00070000
  800.  
  801. #define NVC0_3D_VTX_ATTR_DATA(i0)                              (0x00001150 + 0x4*(i0))
  802. #define NVC0_3D_VTX_ATTR_DATA__ESIZE                            0x00000004
  803. #define NVC0_3D_VTX_ATTR_DATA__LEN                              0x00000004
  804.  
  805. #define NVC0_3D_VERTEX_ATTRIB_FORMAT(i0)                       (0x00001160 + 0x4*(i0))
  806. #define NVC0_3D_VERTEX_ATTRIB_FORMAT__ESIZE                     0x00000004
  807. #define NVC0_3D_VERTEX_ATTRIB_FORMAT__LEN                       0x00000020
  808. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_BUFFER__MASK               0x0000001f
  809. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_BUFFER__SHIFT              0
  810. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_CONST                      0x00000040
  811. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_OFFSET__MASK               0x001fff80
  812. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_OFFSET__SHIFT              7
  813. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE__MASK         0x07e00000
  814. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE__SHIFT                21
  815. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32_32_32           0x00200000
  816. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32_32              0x00400000
  817. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16_16_16           0x00600000
  818. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32_32         0x00800000
  819. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16_16              0x00a00000
  820. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8_8_8               0x01400000
  821. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16_16         0x01e00000
  822. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_32                    0x02400000
  823. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8_8         0x02600000
  824. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8_8                   0x03000000
  825. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_16                    0x03600000
  826. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_8                     0x03a00000
  827. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_10_10_10_2            0x06000000
  828. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_SIZE_11_11_10              0x06200000
  829. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__MASK         0x38000000
  830. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE__SHIFT                27
  831. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SNORM         0x08000000
  832. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_UNORM         0x10000000
  833. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SINT                  0x18000000
  834. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_UINT                  0x20000000
  835. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_USCALED               0x28000000
  836. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_SSCALED               0x30000000
  837. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_TYPE_FLOAT         0x38000000
  838. #define NVC0_3D_VERTEX_ATTRIB_FORMAT_BGRA                       0x80000000
  839.  
  840. #define NVC0_3D_UNK1214                                 0x00001214
  841.  
  842. #define NVC0_3D_UNK1218                                 0x00001218
  843.  
  844. #define NVC0_3D_RT_CONTROL                                      0x0000121c
  845. #define NVC0_3D_RT_CONTROL_COUNT__MASK                          0x0000000f
  846. #define NVC0_3D_RT_CONTROL_COUNT__SHIFT                 0
  847. #define NVC0_3D_RT_CONTROL_MAP0__MASK                           0x00000070
  848. #define NVC0_3D_RT_CONTROL_MAP0__SHIFT                          4
  849. #define NVC0_3D_RT_CONTROL_MAP1__MASK                           0x00000380
  850. #define NVC0_3D_RT_CONTROL_MAP1__SHIFT                          7
  851. #define NVC0_3D_RT_CONTROL_MAP2__MASK                           0x00001c00
  852. #define NVC0_3D_RT_CONTROL_MAP2__SHIFT                          10
  853. #define NVC0_3D_RT_CONTROL_MAP3__MASK                           0x0000e000
  854. #define NVC0_3D_RT_CONTROL_MAP3__SHIFT                          13
  855. #define NVC0_3D_RT_CONTROL_MAP4__MASK                           0x00070000
  856. #define NVC0_3D_RT_CONTROL_MAP4__SHIFT                          16
  857. #define NVC0_3D_RT_CONTROL_MAP5__MASK                           0x00380000
  858. #define NVC0_3D_RT_CONTROL_MAP5__SHIFT                          19
  859. #define NVC0_3D_RT_CONTROL_MAP6__MASK                           0x01c00000
  860. #define NVC0_3D_RT_CONTROL_MAP6__SHIFT                          22
  861. #define NVC0_3D_RT_CONTROL_MAP7__MASK                           0x0e000000
  862. #define NVC0_3D_RT_CONTROL_MAP7__SHIFT                          25
  863.  
  864. #define NVC0_3D_UNK1220                                 0x00001220
  865.  
  866. #define NVC0_3D_ZETA_HORIZ                                      0x00001228
  867.  
  868. #define NVC0_3D_ZETA_VERT                                       0x0000122c
  869.  
  870. #define NVC0_3D_ZETA_ARRAY_MODE                         0x00001230
  871. #define NVC0_3D_ZETA_ARRAY_MODE_LAYERS__MASK                    0x0000ffff
  872. #define NVC0_3D_ZETA_ARRAY_MODE_LAYERS__SHIFT                   0
  873. #define NVC0_3D_ZETA_ARRAY_MODE_UNK                             0x00010000
  874.  
  875. #define NVC0_3D_LINKED_TSC                                      0x00001234
  876.  
  877. #define NVC0_3D_DRAW_TFB_BYTES                                  0x0000123c
  878.  
  879. #define NVC0_3D_UNK1284                                 0x00001284
  880.  
  881. #define NVC0_3D_UNK1288_TIC_FLUSH                               0x00001288
  882.  
  883. #define NVC0_3D_UNK1290                                 0x00001290
  884.  
  885. #define NVC0_3D_UNK12A4                                 0x000012a4
  886.  
  887. #define NVC0_3D_UNK12AC                                 0x000012ac
  888.  
  889. #define NVC0_3D_UNK12C8                                 0x000012c8
  890.  
  891. #define NVC0_3D_DEPTH_TEST_ENABLE                               0x000012cc
  892.  
  893. #define NVC0_3D_D3D_FILL_MODE                                   0x000012d0
  894. #define NVC0_3D_D3D_FILL_MODE_POINT                             0x00000001
  895. #define NVC0_3D_D3D_FILL_MODE_WIREFRAME                 0x00000002
  896. #define NVC0_3D_D3D_FILL_MODE_SOLID                             0x00000003
  897.  
  898. #define NVC0_3D_SHADE_MODEL                                     0x000012d4
  899. #define NVC0_3D_SHADE_MODEL_FLAT                                0x00001d00
  900. #define NVC0_3D_SHADE_MODEL_SMOOTH                              0x00001d01
  901.  
  902. #define NVC0_3D_UNK12D8(i0)                                    (0x000012d8 + 0x4*(i0))
  903. #define NVC0_3D_UNK12D8__ESIZE                                  0x00000004
  904. #define NVC0_3D_UNK12D8__LEN                                    0x00000002
  905.  
  906. #define NVC0_3D_UNK12E0                                 0x000012e0
  907.  
  908. #define NVC0_3D_BLEND_INDEPENDENT                               0x000012e4
  909.  
  910. #define NVC0_3D_DEPTH_WRITE_ENABLE                              0x000012e8
  911.  
  912. #define NVC0_3D_ALPHA_TEST_ENABLE                               0x000012ec
  913.  
  914. #define NVC0_3D_VB_ELEMENT_U8_SETUP                             0x00001300
  915. #define NVC0_3D_VB_ELEMENT_U8_SETUP_OFFSET__MASK                0xc0000000
  916. #define NVC0_3D_VB_ELEMENT_U8_SETUP_OFFSET__SHIFT               30
  917. #define NVC0_3D_VB_ELEMENT_U8_SETUP_COUNT__MASK         0x3fffffff
  918. #define NVC0_3D_VB_ELEMENT_U8_SETUP_COUNT__SHIFT                0
  919.  
  920. #define NVC0_3D_VB_ELEMENT_U8                                   0x00001304
  921. #define NVC0_3D_VB_ELEMENT_U8_I0__MASK                          0x000000ff
  922. #define NVC0_3D_VB_ELEMENT_U8_I0__SHIFT                 0
  923. #define NVC0_3D_VB_ELEMENT_U8_I1__MASK                          0x0000ff00
  924. #define NVC0_3D_VB_ELEMENT_U8_I1__SHIFT                 8
  925. #define NVC0_3D_VB_ELEMENT_U8_I2__MASK                          0x00ff0000
  926. #define NVC0_3D_VB_ELEMENT_U8_I2__SHIFT                 16
  927. #define NVC0_3D_VB_ELEMENT_U8_I3__MASK                          0xff000000
  928. #define NVC0_3D_VB_ELEMENT_U8_I3__SHIFT                 24
  929.  
  930. #define NVC0_3D_D3D_CULL_MODE                                   0x00001308
  931. #define NVC0_3D_D3D_CULL_MODE_NONE                              0x00000001
  932. #define NVC0_3D_D3D_CULL_MODE_FRONT                             0x00000002
  933. #define NVC0_3D_D3D_CULL_MODE_BACK                              0x00000003
  934.  
  935. #define NVC0_3D_DEPTH_TEST_FUNC                         0x0000130c
  936. #define NVC0_3D_DEPTH_TEST_FUNC_NEVER                           0x00000200
  937. #define NVC0_3D_DEPTH_TEST_FUNC_LESS                            0x00000201
  938. #define NVC0_3D_DEPTH_TEST_FUNC_EQUAL                           0x00000202
  939. #define NVC0_3D_DEPTH_TEST_FUNC_LEQUAL                          0x00000203
  940. #define NVC0_3D_DEPTH_TEST_FUNC_GREATER                 0x00000204
  941. #define NVC0_3D_DEPTH_TEST_FUNC_NOTEQUAL                        0x00000205
  942. #define NVC0_3D_DEPTH_TEST_FUNC_GEQUAL                          0x00000206
  943. #define NVC0_3D_DEPTH_TEST_FUNC_ALWAYS                          0x00000207
  944.  
  945. #define NVC0_3D_ALPHA_TEST_REF                                  0x00001310
  946.  
  947. #define NVC0_3D_ALPHA_TEST_FUNC                         0x00001314
  948. #define NVC0_3D_ALPHA_TEST_FUNC_NEVER                           0x00000200
  949. #define NVC0_3D_ALPHA_TEST_FUNC_LESS                            0x00000201
  950. #define NVC0_3D_ALPHA_TEST_FUNC_EQUAL                           0x00000202
  951. #define NVC0_3D_ALPHA_TEST_FUNC_LEQUAL                          0x00000203
  952. #define NVC0_3D_ALPHA_TEST_FUNC_GREATER                 0x00000204
  953. #define NVC0_3D_ALPHA_TEST_FUNC_NOTEQUAL                        0x00000205
  954. #define NVC0_3D_ALPHA_TEST_FUNC_GEQUAL                          0x00000206
  955. #define NVC0_3D_ALPHA_TEST_FUNC_ALWAYS                          0x00000207
  956.  
  957. #define NVC0_3D_DRAW_TFB_STRIDE                         0x00001318
  958. #define NVC0_3D_DRAW_TFB_STRIDE__MIN                            0x00000001
  959. #define NVC0_3D_DRAW_TFB_STRIDE__MAX                            0x00000fff
  960.  
  961. #define NVC0_3D_BLEND_COLOR(i0)                        (0x0000131c + 0x4*(i0))
  962. #define NVC0_3D_BLEND_COLOR__ESIZE                              0x00000004
  963. #define NVC0_3D_BLEND_COLOR__LEN                                0x00000004
  964.  
  965. #define NVC0_3D_TSC_FLUSH                                       0x00001330
  966. #define NVC0_3D_TSC_FLUSH_SPECIFIC                              0x00000001
  967. #define NVC0_3D_TSC_FLUSH_ENTRY__MASK                           0x03fffff0
  968. #define NVC0_3D_TSC_FLUSH_ENTRY__SHIFT                          4
  969.  
  970. #define NVC0_3D_TIC_FLUSH                                       0x00001334
  971. #define NVC0_3D_TIC_FLUSH_SPECIFIC                              0x00000001
  972. #define NVC0_3D_TIC_FLUSH_ENTRY__MASK                           0x03fffff0
  973. #define NVC0_3D_TIC_FLUSH_ENTRY__SHIFT                          4
  974.  
  975. #define NVC0_3D_TEX_CACHE_CTL                                   0x00001338
  976. #define NVC0_3D_TEX_CACHE_CTL_UNK0__MASK                        0x00000007
  977. #define NVC0_3D_TEX_CACHE_CTL_UNK0__SHIFT                       0
  978. #define NVE4_3D_TEX_CACHE_CTL_UNK0                              0x00000001
  979. #define NVC0_3D_TEX_CACHE_CTL_ENTRY__MASK                       0x03fffff0
  980. #define NVC0_3D_TEX_CACHE_CTL_ENTRY__SHIFT                      4
  981.  
  982. #define NVC0_3D_BLEND_SEPARATE_ALPHA                            0x0000133c
  983.  
  984. #define NVC0_3D_BLEND_EQUATION_RGB                              0x00001340
  985. #define NVC0_3D_BLEND_EQUATION_RGB_FUNC_ADD                     0x00008006
  986. #define NVC0_3D_BLEND_EQUATION_RGB_MIN                          0x00008007
  987. #define NVC0_3D_BLEND_EQUATION_RGB_MAX                          0x00008008
  988. #define NVC0_3D_BLEND_EQUATION_RGB_FUNC_SUBTRACT                0x0000800a
  989. #define NVC0_3D_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT        0x0000800b
  990.  
  991. #define NVC0_3D_BLEND_FUNC_SRC_RGB                              0x00001344
  992.  
  993. #define NVC0_3D_BLEND_FUNC_DST_RGB                              0x00001348
  994.  
  995. #define NVC0_3D_BLEND_EQUATION_ALPHA                            0x0000134c
  996. #define NVC0_3D_BLEND_EQUATION_ALPHA_FUNC_ADD                   0x00008006
  997. #define NVC0_3D_BLEND_EQUATION_ALPHA_MIN                        0x00008007
  998. #define NVC0_3D_BLEND_EQUATION_ALPHA_MAX                        0x00008008
  999. #define NVC0_3D_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT              0x0000800a
  1000. #define NVC0_3D_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT      0x0000800b
  1001.  
  1002. #define NVC0_3D_BLEND_FUNC_SRC_ALPHA                            0x00001350
  1003.  
  1004. #define NVC0_3D_UNK1354                                 0x00001354
  1005.  
  1006. #define NVC0_3D_BLEND_FUNC_DST_ALPHA                            0x00001358
  1007.  
  1008. #define NVC0_3D_BLEND_ENABLE_COMMON                             0x0000135c
  1009.  
  1010. #define NVC0_3D_BLEND_ENABLE(i0)                               (0x00001360 + 0x4*(i0))
  1011. #define NVC0_3D_BLEND_ENABLE__ESIZE                             0x00000004
  1012. #define NVC0_3D_BLEND_ENABLE__LEN                               0x00000008
  1013.  
  1014. #define NVC0_3D_STENCIL_ENABLE                                  0x00001380
  1015.  
  1016. #define NVC0_3D_STENCIL_FRONT_OP_FAIL                           0x00001384
  1017. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_ZERO                      0x00000000
  1018. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_INVERT                    0x0000150a
  1019. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_KEEP                      0x00001e00
  1020. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_REPLACE                   0x00001e01
  1021. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_INCR                      0x00001e02
  1022. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_DECR                      0x00001e03
  1023. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_INCR_WRAP         0x00008507
  1024. #define NVC0_3D_STENCIL_FRONT_OP_FAIL_DECR_WRAP         0x00008508
  1025.  
  1026. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL                          0x00001388
  1027. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_ZERO                     0x00000000
  1028. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_INVERT                   0x0000150a
  1029. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_KEEP                     0x00001e00
  1030. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_REPLACE                  0x00001e01
  1031. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_INCR                     0x00001e02
  1032. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_DECR                     0x00001e03
  1033. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP                0x00008507
  1034. #define NVC0_3D_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP                0x00008508
  1035.  
  1036. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS                          0x0000138c
  1037. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_ZERO                     0x00000000
  1038. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_INVERT                   0x0000150a
  1039. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_KEEP                     0x00001e00
  1040. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_REPLACE                  0x00001e01
  1041. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_INCR                     0x00001e02
  1042. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_DECR                     0x00001e03
  1043. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_INCR_WRAP                0x00008507
  1044. #define NVC0_3D_STENCIL_FRONT_OP_ZPASS_DECR_WRAP                0x00008508
  1045.  
  1046. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC                 0x00001390
  1047. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_NEVER                   0x00000200
  1048. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_LESS                    0x00000201
  1049. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_EQUAL                   0x00000202
  1050. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_LEQUAL                  0x00000203
  1051. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_GREATER         0x00000204
  1052. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL                0x00000205
  1053. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_GEQUAL                  0x00000206
  1054. #define NVC0_3D_STENCIL_FRONT_FUNC_FUNC_ALWAYS                  0x00000207
  1055.  
  1056. #define NVC0_3D_STENCIL_FRONT_FUNC_REF                          0x00001394
  1057.  
  1058. #define NVC0_3D_STENCIL_FRONT_FUNC_MASK                 0x00001398
  1059.  
  1060. #define NVC0_3D_STENCIL_FRONT_MASK                              0x0000139c
  1061.  
  1062. #define NVC0_3D_DRAW_TFB_BASE                                   0x000013a4
  1063.  
  1064. #define NVC0_3D_FRAG_COLOR_CLAMP_EN                             0x000013a8
  1065. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_0                           0x00000001
  1066. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_1                           0x00000010
  1067. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_2                           0x00000100
  1068. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_3                           0x00001000
  1069. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_4                           0x00010000
  1070. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_5                           0x00100000
  1071. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_6                           0x01000000
  1072. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_7                           0x10000000
  1073.  
  1074. #define NVC0_3D_SCREEN_Y_CONTROL                                0x000013ac
  1075. #define NVC0_3D_SCREEN_Y_CONTROL_Y_NEGATE                       0x00000001
  1076. #define NVC0_3D_SCREEN_Y_CONTROL_TRIANGLE_RAST_FLIP             0x00000010
  1077.  
  1078. #define NVC0_3D_LINE_WIDTH_SMOOTH                               0x000013b0
  1079.  
  1080. #define NVC0_3D_LINE_WIDTH_ALIASED                              0x000013b4
  1081.  
  1082. #define NVC0_3D_UNK1418                                 0x00001418
  1083.  
  1084. #define NVC0_3D_UNK1420                                 0x00001420
  1085.  
  1086. #define NVC0_3D_UNK1424_TSC_FLUSH                               0x00001424
  1087.  
  1088. #define NVC0_3D_UNK1428_TIC_FLUSH                               0x00001428
  1089.  
  1090. #define NVC0_3D_VERTEX_ARRAY_FLUSH                              0x0000142c
  1091.  
  1092. #define NVC0_3D_UNK1430                                 0x00001430
  1093. #define NVC0_3D_UNK1430_UNK0                                    0x00000010
  1094. #define NVC0_3D_UNK1430_UNK1                                    0x00000100
  1095.  
  1096. #define NVC0_3D_VB_ELEMENT_BASE                         0x00001434
  1097.  
  1098. #define NVC0_3D_VB_INSTANCE_BASE                                0x00001438
  1099.  
  1100. #define NVC0_3D_UNK143C_CLEAR_FLAGS                             0x0000143c
  1101. #define NVC0_3D_UNK143C_CLEAR_FLAGS_STENCIL_MASK                0x00000001
  1102. #define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT__MASK            0x00000010
  1103. #define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT__SHIFT           4
  1104. #define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT_SCISSOR          0x00000000
  1105. #define NVC0_3D_UNK143C_CLEAR_FLAGS_CLEAR_RECT_VIEWPORT 0x00000000
  1106.  
  1107. #define NVC0_3D_UNK1444                                 0x00001444
  1108.  
  1109. #define NVC0_3D_UNK1448                                 0x00001448
  1110.  
  1111. #define NVC0_3D_UNK144C                                 0x0000144c
  1112.  
  1113. #define NVC0_3D_UNK1450                                 0x00001450
  1114.  
  1115. #define NVC0_3D_UNK1454                                 0x00001454
  1116.  
  1117. #define NVC0_3D_UNK1464                                 0x00001464
  1118.  
  1119. #define NVC0_3D_UNK1500                                 0x00001500
  1120.  
  1121. #define NVC0_3D_CLIPID_HEIGHT                                   0x00001504
  1122. #define NVC0_3D_CLIPID_HEIGHT__MAX                              0x00004000
  1123.  
  1124. #define NVC0_3D_CLIPID_FILL_RECT_HORIZ                          0x00001508
  1125. #define NVC0_3D_CLIPID_FILL_RECT_HORIZ_LOW__MASK                0x0000ffff
  1126. #define NVC0_3D_CLIPID_FILL_RECT_HORIZ_LOW__SHIFT               0
  1127. #define NVC0_3D_CLIPID_FILL_RECT_HORIZ_HIGH__MASK               0xffff0000
  1128. #define NVC0_3D_CLIPID_FILL_RECT_HORIZ_HIGH__SHIFT              16
  1129.  
  1130. #define NVC0_3D_CLIPID_FILL_RECT_VERT                           0x0000150c
  1131. #define NVC0_3D_CLIPID_FILL_RECT_VERT_LOW__MASK         0x0000ffff
  1132. #define NVC0_3D_CLIPID_FILL_RECT_VERT_LOW__SHIFT                0
  1133. #define NVC0_3D_CLIPID_FILL_RECT_VERT_HIGH__MASK                0xffff0000
  1134. #define NVC0_3D_CLIPID_FILL_RECT_VERT_HIGH__SHIFT               16
  1135.  
  1136. #define NVC0_3D_CLIP_DISTANCE_ENABLE                            0x00001510
  1137. #define NVC0_3D_CLIP_DISTANCE_ENABLE_0                          0x00000001
  1138. #define NVC0_3D_CLIP_DISTANCE_ENABLE_1                          0x00000002
  1139. #define NVC0_3D_CLIP_DISTANCE_ENABLE_2                          0x00000004
  1140. #define NVC0_3D_CLIP_DISTANCE_ENABLE_3                          0x00000008
  1141. #define NVC0_3D_CLIP_DISTANCE_ENABLE_4                          0x00000010
  1142. #define NVC0_3D_CLIP_DISTANCE_ENABLE_5                          0x00000020
  1143. #define NVC0_3D_CLIP_DISTANCE_ENABLE_6                          0x00000040
  1144. #define NVC0_3D_CLIP_DISTANCE_ENABLE_7                          0x00000080
  1145.  
  1146. #define NVC0_3D_SAMPLECNT_ENABLE                                0x00001514
  1147.  
  1148. #define NVC0_3D_POINT_SIZE                                      0x00001518
  1149.  
  1150. #define NVC0_3D_ZCULL_STATCTRS_ENABLE                           0x0000151c
  1151.  
  1152. #define NVC0_3D_POINT_SPRITE_ENABLE                             0x00001520
  1153.  
  1154. #define NVC0_3D_COUNTER_RESET                                   0x00001530
  1155. #define NVC0_3D_COUNTER_RESET_SAMPLECNT                 0x00000001
  1156. #define NVC0_3D_COUNTER_RESET_UNK02                             0x00000002
  1157. #define NVC0_3D_COUNTER_RESET_UNK03                             0x00000003
  1158. #define NVC0_3D_COUNTER_RESET_UNK04                             0x00000004
  1159. #define NVC0_3D_COUNTER_RESET_EMITTED_PRIMITIVES                0x00000010
  1160. #define NVC0_3D_COUNTER_RESET_UNK11                             0x00000011
  1161. #define NVC0_3D_COUNTER_RESET_UNK12                             0x00000012
  1162. #define NVC0_3D_COUNTER_RESET_UNK13                             0x00000013
  1163. #define NVC0_3D_COUNTER_RESET_UNK15                             0x00000015
  1164. #define NVC0_3D_COUNTER_RESET_UNK16                             0x00000016
  1165. #define NVC0_3D_COUNTER_RESET_UNK17                             0x00000017
  1166. #define NVC0_3D_COUNTER_RESET_UNK18                             0x00000018
  1167. #define NVC0_3D_COUNTER_RESET_UNK1A                             0x0000001a
  1168. #define NVC0_3D_COUNTER_RESET_UNK1B                             0x0000001b
  1169. #define NVC0_3D_COUNTER_RESET_UNK1C                             0x0000001c
  1170. #define NVC0_3D_COUNTER_RESET_UNK1D                             0x0000001d
  1171. #define NVC0_3D_COUNTER_RESET_UNK1E                             0x0000001e
  1172. #define NVC0_3D_COUNTER_RESET_GENERATED_PRIMITIVES              0x0000001f
  1173.  
  1174. #define NVC0_3D_MULTISAMPLE_ENABLE                              0x00001534
  1175.  
  1176. #define NVC0_3D_ZETA_ENABLE                                     0x00001538
  1177.  
  1178. #define NVC0_3D_MULTISAMPLE_CTRL                                0x0000153c
  1179. #define NVC0_3D_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE              0x00000001
  1180. #define NVC0_3D_MULTISAMPLE_CTRL_ALPHA_TO_ONE                   0x00000010
  1181.  
  1182. #define NVC0_3D_COND_ADDRESS_HIGH                               0x00001550
  1183.  
  1184. #define NVC0_3D_COND_ADDRESS_LOW                                0x00001554
  1185.  
  1186. #define NVC0_3D_COND_MODE                                       0x00001558
  1187. #define NVC0_3D_COND_MODE_NEVER                         0x00000000
  1188. #define NVC0_3D_COND_MODE_ALWAYS                                0x00000001
  1189. #define NVC0_3D_COND_MODE_RES_NON_ZERO                          0x00000002
  1190. #define NVC0_3D_COND_MODE_EQUAL                         0x00000003
  1191. #define NVC0_3D_COND_MODE_NOT_EQUAL                             0x00000004
  1192.  
  1193. #define NVC0_3D_TSC_ADDRESS_HIGH                                0x0000155c
  1194.  
  1195. #define NVC0_3D_TSC_ADDRESS_LOW                         0x00001560
  1196. #define NVC0_3D_TSC_ADDRESS_LOW__ALIGN                          0x00000020
  1197.  
  1198. #define NVC0_3D_TSC_LIMIT                                       0x00001564
  1199. #define NVC0_3D_TSC_LIMIT__MAX                                  0x00001fff
  1200.  
  1201. #define NVC0_3D_POLYGON_OFFSET_FACTOR                           0x0000156c
  1202.  
  1203. #define NVC0_3D_LINE_SMOOTH_ENABLE                              0x00001570
  1204.  
  1205. #define NVC0_3D_TIC_ADDRESS_HIGH                                0x00001574
  1206.  
  1207. #define NVC0_3D_TIC_ADDRESS_LOW                         0x00001578
  1208.  
  1209. #define NVC0_3D_TIC_LIMIT                                       0x0000157c
  1210.  
  1211. #define NVC0_3D_ZCULL_REGION                                    0x00001590
  1212.  
  1213. #define NVC0_3D_STENCIL_TWO_SIDE_ENABLE                 0x00001594
  1214.  
  1215. #define NVC0_3D_STENCIL_BACK_OP_FAIL                            0x00001598
  1216. #define NVC0_3D_STENCIL_BACK_OP_FAIL_ZERO                       0x00000000
  1217. #define NVC0_3D_STENCIL_BACK_OP_FAIL_INVERT                     0x0000150a
  1218. #define NVC0_3D_STENCIL_BACK_OP_FAIL_KEEP                       0x00001e00
  1219. #define NVC0_3D_STENCIL_BACK_OP_FAIL_REPLACE                    0x00001e01
  1220. #define NVC0_3D_STENCIL_BACK_OP_FAIL_INCR                       0x00001e02
  1221. #define NVC0_3D_STENCIL_BACK_OP_FAIL_DECR                       0x00001e03
  1222. #define NVC0_3D_STENCIL_BACK_OP_FAIL_INCR_WRAP                  0x00008507
  1223. #define NVC0_3D_STENCIL_BACK_OP_FAIL_DECR_WRAP                  0x00008508
  1224.  
  1225. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL                           0x0000159c
  1226. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_ZERO                      0x00000000
  1227. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INVERT                    0x0000150a
  1228. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_KEEP                      0x00001e00
  1229. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_REPLACE                   0x00001e01
  1230. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INCR                      0x00001e02
  1231. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_DECR                      0x00001e03
  1232. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_INCR_WRAP         0x00008507
  1233. #define NVC0_3D_STENCIL_BACK_OP_ZFAIL_DECR_WRAP         0x00008508
  1234.  
  1235. #define NVC0_3D_STENCIL_BACK_OP_ZPASS                           0x000015a0
  1236. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_ZERO                      0x00000000
  1237. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_INVERT                    0x0000150a
  1238. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_KEEP                      0x00001e00
  1239. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_REPLACE                   0x00001e01
  1240. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_INCR                      0x00001e02
  1241. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_DECR                      0x00001e03
  1242. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_INCR_WRAP         0x00008507
  1243. #define NVC0_3D_STENCIL_BACK_OP_ZPASS_DECR_WRAP         0x00008508
  1244.  
  1245. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC                          0x000015a4
  1246. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_NEVER                    0x00000200
  1247. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_LESS                     0x00000201
  1248. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_EQUAL                    0x00000202
  1249. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_LEQUAL                   0x00000203
  1250. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_GREATER                  0x00000204
  1251. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_NOTEQUAL         0x00000205
  1252. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_GEQUAL                   0x00000206
  1253. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_ALWAYS                   0x00000207
  1254.  
  1255. #define NVC0_3D_CSAA_ENABLE                                     0x000015b4
  1256.  
  1257. #define NVC0_3D_FRAMEBUFFER_SRGB                                0x000015b8
  1258.  
  1259. #define NVC0_3D_POLYGON_OFFSET_UNITS                            0x000015bc
  1260.  
  1261. #define NVC0_3D_UNK15C8                                 0x000015c8
  1262.  
  1263. #define NVC0_3D_LAYER                                           0x000015cc
  1264. #define NVC0_3D_LAYER_IDX__MASK                         0x0000ffff
  1265. #define NVC0_3D_LAYER_IDX__SHIFT                                0
  1266. #define NVC0_3D_LAYER_USE_GP                                    0x00010000
  1267.  
  1268. #define NVC0_3D_MULTISAMPLE_MODE                                0x000015d0
  1269. #define NVC0_3D_MULTISAMPLE_MODE_MS1                            0x00000000
  1270. #define NVC0_3D_MULTISAMPLE_MODE_MS2                            0x00000001
  1271. #define NVC0_3D_MULTISAMPLE_MODE_MS4                            0x00000002
  1272. #define NVC0_3D_MULTISAMPLE_MODE_MS8                            0x00000003
  1273. #define NVC0_3D_MULTISAMPLE_MODE_MS8_ALT                        0x00000004
  1274. #define NVC0_3D_MULTISAMPLE_MODE_MS2_ALT                        0x00000005
  1275. #define NVC0_3D_MULTISAMPLE_MODE_UNK6                           0x00000006
  1276. #define NVC0_3D_MULTISAMPLE_MODE_MS4_CS4                        0x00000008
  1277. #define NVC0_3D_MULTISAMPLE_MODE_MS4_CS12                       0x00000009
  1278. #define NVC0_3D_MULTISAMPLE_MODE_MS8_CS8                        0x0000000a
  1279. #define NVC0_3D_MULTISAMPLE_MODE_MS8_CS24                       0x0000000b
  1280.  
  1281. #define NVC0_3D_EDGEFLAG                                        0x000015e4
  1282.  
  1283. #define NVC0_3D_VB_ELEMENT_U32                                  0x000015e8
  1284.  
  1285. #define NVC0_3D_VB_ELEMENT_U16_SETUP                            0x000015ec
  1286. #define NVC0_3D_VB_ELEMENT_U16_SETUP_OFFSET__MASK               0xc0000000
  1287. #define NVC0_3D_VB_ELEMENT_U16_SETUP_OFFSET__SHIFT              30
  1288. #define NVC0_3D_VB_ELEMENT_U16_SETUP_COUNT__MASK                0x3fffffff
  1289. #define NVC0_3D_VB_ELEMENT_U16_SETUP_COUNT__SHIFT               0
  1290.  
  1291. #define NVC0_3D_VB_ELEMENT_U16                                  0x000015f0
  1292. #define NVC0_3D_VB_ELEMENT_U16_I0__MASK                 0x0000ffff
  1293. #define NVC0_3D_VB_ELEMENT_U16_I0__SHIFT                        0
  1294. #define NVC0_3D_VB_ELEMENT_U16_I1__MASK                 0xffff0000
  1295. #define NVC0_3D_VB_ELEMENT_U16_I1__SHIFT                        16
  1296.  
  1297. #define NVC0_3D_VERTEX_BASE_HIGH                                0x000015f4
  1298.  
  1299. #define NVC0_3D_VERTEX_BASE_LOW                         0x000015f8
  1300.  
  1301. #define NVC0_3D_ZCULL_WINDOW_OFFSET_X                           0x000015fc
  1302.  
  1303. #define NVC0_3D_ZCULL_WINDOW_OFFSET_Y                           0x00001600
  1304.  
  1305. #define NVC0_3D_POINT_COORD_REPLACE                             0x00001604
  1306. #define NVC0_3D_POINT_COORD_REPLACE_UNK0__MASK                  0x00000003
  1307. #define NVC0_3D_POINT_COORD_REPLACE_UNK0__SHIFT         0
  1308. #define NVC0_3D_POINT_COORD_REPLACE_UNK0_UNK0                   0x00000000
  1309. #define NVC0_3D_POINT_COORD_REPLACE_UNK0_UNK1                   0x00000001
  1310. #define NVC0_3D_POINT_COORD_REPLACE_UNK0_UNK2                   0x00000002
  1311. #define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN__MASK          0x00000004
  1312. #define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN__SHIFT 2
  1313. #define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN_LOWER_LEFT     0x00000000
  1314. #define NVC0_3D_POINT_COORD_REPLACE_COORD_ORIGIN_UPPER_LEFT     0x00000004
  1315. #define NVC0_3D_POINT_COORD_REPLACE_ENABLE__MASK                0x00001ff8
  1316. #define NVC0_3D_POINT_COORD_REPLACE_ENABLE__SHIFT               3
  1317.  
  1318. #define NVC0_3D_CODE_ADDRESS_HIGH                               0x00001608
  1319.  
  1320. #define NVC0_3D_CODE_ADDRESS_LOW                                0x0000160c
  1321.  
  1322. #define NVC0_3D_UNK1610                                 0x00001610
  1323.  
  1324. #define NVC0_3D_VERTEX_END_GL                                   0x00001614
  1325. #define NVC0_3D_VERTEX_END_GL_UNK0                              0x00000001
  1326.  
  1327. #define NVC0_3D_VERTEX_BEGIN_GL                         0x00001618
  1328. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE__MASK         0x0000ffff
  1329. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE__SHIFT                0
  1330. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_POINTS                0x00000000
  1331. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES         0x00000001
  1332. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_LOOP             0x00000002
  1333. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_STRIP            0x00000003
  1334. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES             0x00000004
  1335. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP        0x00000005
  1336. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_FAN          0x00000006
  1337. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUADS         0x00000007
  1338. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_QUAD_STRIP            0x00000008
  1339. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_POLYGON               0x00000009
  1340. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINES_ADJACENCY       0x0000000a
  1341. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_LINE_STRIP_ADJACENCY  0x0000000b
  1342. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES_ADJACENCY   0x0000000c
  1343. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLE_STRIP_ADJACENCY      0x0000000d
  1344. #define NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_PATCHES               0x0000000e
  1345. #define NVC0_3D_VERTEX_BEGIN_GL_UNK24                           0x01000000
  1346. #define NVC0_3D_VERTEX_BEGIN_GL_INSTANCE_NEXT                   0x04000000
  1347. #define NVC0_3D_VERTEX_BEGIN_GL_INSTANCE_CONT                   0x08000000
  1348. #define NVC0_3D_VERTEX_BEGIN_GL_UNK29                           0x20000000
  1349. #define NVC0_3D_VERTEX_BEGIN_GL_UNK30                           0x40000000
  1350.  
  1351. #define NVC0_3D_VERTEX_ID_REPLACE                               0x0000161c
  1352. #define NVC0_3D_VERTEX_ID_REPLACE_ENABLE                        0x00000001
  1353. #define NVC0_3D_VERTEX_ID_REPLACE_SOURCE__MASK                  0x00000ff0
  1354. #define NVC0_3D_VERTEX_ID_REPLACE_SOURCE__SHIFT         4
  1355.  
  1356. #define NVC0_3D_UNK1620                                 0x00001620
  1357.  
  1358. #define NVC0_3D_UNK1624                                 0x00001624
  1359.  
  1360. #define NVC0_3D_UNK162C                                 0x0000162c
  1361.  
  1362. #define NVC0_3D_UNK1634                                 0x00001634
  1363.  
  1364. #define NVC0_3D_UNK1638                                 0x00001638
  1365.  
  1366. #define NVC0_3D_UNK163C                                 0x0000163c
  1367.  
  1368. #define NVC0_3D_VERTEX_DATA                                     0x00001640
  1369.  
  1370. #define NVC0_3D_PRIM_RESTART_ENABLE                             0x00001644
  1371.  
  1372. #define NVC0_3D_PRIM_RESTART_INDEX                              0x00001648
  1373.  
  1374. #define NVC0_3D_VERTEX_ID_GEN_MODE                              0x0000164c
  1375. #define NVC0_3D_VERTEX_ID_GEN_MODE_DRAW_ARRAYS_ADD_START        0x00001000
  1376.  
  1377. #define NVC0_3D_POINT_SMOOTH_ENABLE                             0x00001658
  1378.  
  1379. #define NVC0_3D_POINT_RASTER_RULES                              0x0000165c
  1380. #define NVC0_3D_POINT_RASTER_RULES_OGL                          0x00000000
  1381. #define NVC0_3D_POINT_RASTER_RULES_D3D                          0x00000001
  1382.  
  1383. #define NVC0_3D_TEX_MISC                                        0x00001664
  1384. #define NVC0_3D_TEX_MISC_UNK                                    0x00000002
  1385. #define NVC0_3D_TEX_MISC_SEAMLESS_CUBE_MAP                      0x00000004
  1386.  
  1387. #define NVC0_3D_LINE_SMOOTH_BLUR                                0x00001668
  1388. #define NVC0_3D_LINE_SMOOTH_BLUR_LOW                            0x00000000
  1389. #define NVC0_3D_LINE_SMOOTH_BLUR_MEDIUM                 0x00000001
  1390. #define NVC0_3D_LINE_SMOOTH_BLUR_HIGH                           0x00000002
  1391.  
  1392. #define NVC0_3D_LINE_STIPPLE_ENABLE                             0x0000166c
  1393.  
  1394. #define NVC0_3D_COVERAGE_LUT(i0)                               (0x00001670 + 0x4*(i0))
  1395. #define NVC0_3D_COVERAGE_LUT__ESIZE                             0x00000004
  1396. #define NVC0_3D_COVERAGE_LUT__LEN                               0x00000004
  1397. #define NVC0_3D_COVERAGE_LUT_0__MASK                            0x000000ff
  1398. #define NVC0_3D_COVERAGE_LUT_0__SHIFT                           0
  1399. #define NVC0_3D_COVERAGE_LUT_1__MASK                            0x0000ff00
  1400. #define NVC0_3D_COVERAGE_LUT_1__SHIFT                           8
  1401. #define NVC0_3D_COVERAGE_LUT_2__MASK                            0x00ff0000
  1402. #define NVC0_3D_COVERAGE_LUT_2__SHIFT                           16
  1403. #define NVC0_3D_COVERAGE_LUT_3__MASK                            0xff000000
  1404. #define NVC0_3D_COVERAGE_LUT_3__SHIFT                           24
  1405.  
  1406. #define NVC0_3D_LINE_STIPPLE_PATTERN                            0x00001680
  1407.  
  1408. #define NVC0_3D_PROVOKING_VERTEX_LAST                           0x00001684
  1409.  
  1410. #define NVC0_3D_VERTEX_TWO_SIDE_ENABLE                          0x00001688
  1411.  
  1412. #define NVC0_3D_POLYGON_STIPPLE_ENABLE                          0x0000168c
  1413.  
  1414. #define NVC0_3D_UNK1690                                 0x00001690
  1415. #define NVC0_3D_UNK1690_ALWAYS_DERIV                            0x00000001
  1416. #define NVC0_3D_UNK1690_UNK16                                   0x00010000
  1417.  
  1418. #define NVE4_3D_UNK1690                                 0x00001690
  1419.  
  1420. #define NVC0_3D_UNK169C                                 0x0000169c
  1421.  
  1422. #define NVC0_3D_UNK16A0                                 0x000016a0
  1423.  
  1424. #define NVC0_3D_UNK16A4                                 0x000016a4
  1425.  
  1426. #define NVC0_3D_UNK16A8                                 0x000016a8
  1427.  
  1428. #define NVC0_3D_UNK16B4                                 0x000016b4
  1429. #define NVC0_3D_UNK16B4_UNK0                                    0x00000001
  1430. #define NVC0_3D_UNK16B4_UNK1                                    0x00000002
  1431.  
  1432. #define NVC0_3D_POLYGON_STIPPLE_PATTERN(i0)                    (0x00001700 + 0x4*(i0))
  1433. #define NVC0_3D_POLYGON_STIPPLE_PATTERN__ESIZE                  0x00000004
  1434. #define NVC0_3D_POLYGON_STIPPLE_PATTERN__LEN                    0x00000020
  1435.  
  1436. #define NVC0_3D_UNK1790                                 0x00001790
  1437.  
  1438. #define NVC0_3D_UNK1794                                 0x00001794
  1439.  
  1440. #define NVC0_3D_ZETA_BASE_LAYER                         0x0000179c
  1441.  
  1442. #define NVC0_3D_VERTEX_QUARANTINE_ADDRESS_HIGH                  0x000017bc
  1443.  
  1444. #define NVC0_3D_VERTEX_QUARANTINE_ADDRESS_LOW                   0x000017c0
  1445.  
  1446. #define NVC0_3D_VERTEX_QUARANTINE_SIZE                          0x000017c4
  1447. #define NVC0_3D_VERTEX_QUARANTINE_SIZE_16K                      0x00000001
  1448. #define NVC0_3D_VERTEX_QUARANTINE_SIZE_32K                      0x00000002
  1449. #define NVC0_3D_VERTEX_QUARANTINE_SIZE_64K                      0x00000003
  1450.  
  1451. #define NVC0_3D_INDEX_ARRAY_START_HIGH                          0x000017c8
  1452.  
  1453. #define NVC0_3D_INDEX_ARRAY_START_LOW                           0x000017cc
  1454.  
  1455. #define NVC0_3D_INDEX_ARRAY_LIMIT_HIGH                          0x000017d0
  1456.  
  1457. #define NVC0_3D_INDEX_ARRAY_LIMIT_LOW                           0x000017d4
  1458.  
  1459. #define NVC0_3D_INDEX_FORMAT                                    0x000017d8
  1460. #define NVC0_3D_INDEX_FORMAT_I8                         0x00000000
  1461. #define NVC0_3D_INDEX_FORMAT_I16                                0x00000001
  1462. #define NVC0_3D_INDEX_FORMAT_I32                                0x00000002
  1463.  
  1464. #define NVC0_3D_INDEX_BATCH_FIRST                               0x000017dc
  1465.  
  1466. #define NVC0_3D_INDEX_BATCH_COUNT                               0x000017e0
  1467.  
  1468. #define NVC0_3D_UN17E4(i0)                                     (0x000017e4 + 0x4*(i0))
  1469. #define NVC0_3D_UN17E4__ESIZE                                   0x00000004
  1470. #define NVC0_3D_UN17E4__LEN                                     0x00000006
  1471.  
  1472. #define NVC0_3D_POLYGON_OFFSET_CLAMP                            0x0000187c
  1473.  
  1474. #define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE(i0)                  (0x00001880 + 0x4*(i0))
  1475. #define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE__ESIZE                0x00000004
  1476. #define NVC0_3D_VERTEX_ARRAY_PER_INSTANCE__LEN                  0x00000020
  1477.  
  1478. #define NVC0_3D_VP_POINT_SIZE                                   0x00001910
  1479. #define NVC0_3D_VP_POINT_SIZE_ENABLE                            0x00000001
  1480. #define NVC0_3D_VP_POINT_SIZE_UNK4__MASK                        0x00000ff0
  1481. #define NVC0_3D_VP_POINT_SIZE_UNK4__SHIFT                       4
  1482.  
  1483. #define NVC0_3D_CULL_FACE_ENABLE                                0x00001918
  1484.  
  1485. #define NVC0_3D_FRONT_FACE                                      0x0000191c
  1486. #define NVC0_3D_FRONT_FACE_CW                                   0x00000900
  1487. #define NVC0_3D_FRONT_FACE_CCW                                  0x00000901
  1488.  
  1489. #define NVC0_3D_CULL_FACE                                       0x00001920
  1490. #define NVC0_3D_CULL_FACE_FRONT                         0x00000404
  1491. #define NVC0_3D_CULL_FACE_BACK                                  0x00000405
  1492. #define NVC0_3D_CULL_FACE_FRONT_AND_BACK                        0x00000408
  1493.  
  1494. #define NVC0_3D_PIXEL_CENTER_INTEGER                            0x00001924
  1495.  
  1496. #define NVC0_3D_VIEWPORT_TRANSFORM_EN                           0x0000192c
  1497.  
  1498. #define NVC0_3D_UNK1930                                 0x00001930
  1499.  
  1500. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL                           0x0000193c
  1501. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_RANGE_0_1           0x00000001
  1502. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1__MASK                0x00000006
  1503. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1__SHIFT               1
  1504. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK0         0x00000000
  1505. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK1         0x00000002
  1506. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK1_UNK2         0x00000004
  1507. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_NEAR          0x00000008
  1508. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_DEPTH_CLAMP_FAR           0x00000010
  1509. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK7                      0x00000080
  1510. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK10                     0x00000400
  1511. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK11                     0x00000800
  1512. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12__MASK               0x00003000
  1513. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12__SHIFT              12
  1514. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK0                0x00000000
  1515. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK1                0x00001000
  1516. #define NVC0_3D_VIEW_VOLUME_CLIP_CTRL_UNK12_UNK2                0x00002000
  1517.  
  1518. #define NVC0_3D_CLIP_DISTANCE_MODE                              0x00001940
  1519. #define NVC0_3D_CLIP_DISTANCE_MODE_0__MASK                      0x00000001
  1520. #define NVC0_3D_CLIP_DISTANCE_MODE_0__SHIFT                     0
  1521. #define NVC0_3D_CLIP_DISTANCE_MODE_0_CLIP                       0x00000000
  1522. #define NVC0_3D_CLIP_DISTANCE_MODE_0_CULL                       0x00000001
  1523. #define NVC0_3D_CLIP_DISTANCE_MODE_1__MASK                      0x00000010
  1524. #define NVC0_3D_CLIP_DISTANCE_MODE_1__SHIFT                     4
  1525. #define NVC0_3D_CLIP_DISTANCE_MODE_1_CLIP                       0x00000000
  1526. #define NVC0_3D_CLIP_DISTANCE_MODE_1_CULL                       0x00000010
  1527. #define NVC0_3D_CLIP_DISTANCE_MODE_2__MASK                      0x00000100
  1528. #define NVC0_3D_CLIP_DISTANCE_MODE_2__SHIFT                     8
  1529. #define NVC0_3D_CLIP_DISTANCE_MODE_2_CLIP                       0x00000000
  1530. #define NVC0_3D_CLIP_DISTANCE_MODE_2_CULL                       0x00000100
  1531. #define NVC0_3D_CLIP_DISTANCE_MODE_3__MASK                      0x00001000
  1532. #define NVC0_3D_CLIP_DISTANCE_MODE_3__SHIFT                     12
  1533. #define NVC0_3D_CLIP_DISTANCE_MODE_3_CLIP                       0x00000000
  1534. #define NVC0_3D_CLIP_DISTANCE_MODE_3_CULL                       0x00001000
  1535. #define NVC0_3D_CLIP_DISTANCE_MODE_4__MASK                      0x00010000
  1536. #define NVC0_3D_CLIP_DISTANCE_MODE_4__SHIFT                     16
  1537. #define NVC0_3D_CLIP_DISTANCE_MODE_4_CLIP                       0x00000000
  1538. #define NVC0_3D_CLIP_DISTANCE_MODE_4_CULL                       0x00010000
  1539. #define NVC0_3D_CLIP_DISTANCE_MODE_5__MASK                      0x00100000
  1540. #define NVC0_3D_CLIP_DISTANCE_MODE_5__SHIFT                     20
  1541. #define NVC0_3D_CLIP_DISTANCE_MODE_5_CLIP                       0x00000000
  1542. #define NVC0_3D_CLIP_DISTANCE_MODE_5_CULL                       0x00100000
  1543. #define NVC0_3D_CLIP_DISTANCE_MODE_6__MASK                      0x01000000
  1544. #define NVC0_3D_CLIP_DISTANCE_MODE_6__SHIFT                     24
  1545. #define NVC0_3D_CLIP_DISTANCE_MODE_6_CLIP                       0x00000000
  1546. #define NVC0_3D_CLIP_DISTANCE_MODE_6_CULL                       0x01000000
  1547. #define NVC0_3D_CLIP_DISTANCE_MODE_7__MASK                      0x10000000
  1548. #define NVC0_3D_CLIP_DISTANCE_MODE_7__SHIFT                     28
  1549. #define NVC0_3D_CLIP_DISTANCE_MODE_7_CLIP                       0x00000000
  1550. #define NVC0_3D_CLIP_DISTANCE_MODE_7_CULL                       0x10000000
  1551.  
  1552. #define NVC0_3D_UNK1944                                 0x00001944
  1553.  
  1554. #define NVC0_3D_UNK1948                                 0x00001948
  1555.  
  1556. #define NVC0_3D_CLIP_RECTS_EN                                   0x0000194c
  1557.  
  1558. #define NVC0_3D_CLIP_RECTS_MODE                         0x00001950
  1559. #define NVC0_3D_CLIP_RECTS_MODE_INSIDE_ANY                      0x00000000
  1560. #define NVC0_3D_CLIP_RECTS_MODE_OUTSIDE_ALL                     0x00000001
  1561. #define NVC0_3D_CLIP_RECTS_MODE_NEVER                           0x00000002
  1562.  
  1563. #define NVC0_3D_ZCULL_INVALIDATE                                0x00001958
  1564.  
  1565. #define NVC0_3D_ZCULL_UNK1968                                   0x00001968
  1566. #define NVC0_3D_ZCULL_UNK1968_TESTS_ENABLE                      0x00000001
  1567. #define NVC0_3D_ZCULL_UNK1968_UNK4                              0x00000010
  1568.  
  1569. #define NVC0_3D_ZCULL_TEST_MASK                         0x0000196c
  1570. #define NVC0_3D_ZCULL_TEST_MASK_FAIL_GT_PASS_LT         0x00000001
  1571. #define NVC0_3D_ZCULL_TEST_MASK_PASS_GT_FAIL_LT         0x00000010
  1572.  
  1573. #define NVC0_3D_UNK1970_D3D                                     0x00001970
  1574. #define NVC0_3D_UNK1970_D3D_POINTS                              0x00000001
  1575. #define NVC0_3D_UNK1970_D3D_LINES                               0x00000002
  1576. #define NVC0_3D_UNK1970_D3D_LINE_STRIP                          0x00000003
  1577. #define NVC0_3D_UNK1970_D3D_TRIANGLES                           0x00000004
  1578. #define NVC0_3D_UNK1970_D3D_TRIANGLE_STRIP                      0x00000005
  1579. #define NVC0_3D_UNK1970_D3D_LINES_ADJACENCY                     0x0000000a
  1580. #define NVC0_3D_UNK1970_D3D_LINE_STRIP_ADJACENCY                0x0000000b
  1581. #define NVC0_3D_UNK1970_D3D_TRIANGLES_ADJACENCY         0x0000000c
  1582. #define NVC0_3D_UNK1970_D3D_TRIANGLE_STRIP_ADJACENCY            0x0000000d
  1583. #define NVC0_3D_UNK1970_D3D_PATCHES                             0x0000000e
  1584.  
  1585. #define NVC0_3D_UNK1978                                 0x00001978
  1586.  
  1587. #define NVC0_3D_CLIPID_ENABLE                                   0x0000197c
  1588.  
  1589. #define NVC0_3D_CLIPID_WIDTH                                    0x00001980
  1590. #define NVC0_3D_CLIPID_WIDTH__MAX                               0x00002000
  1591. #define NVC0_3D_CLIPID_WIDTH__ALIGN                             0x00000040
  1592.  
  1593. #define NVC0_3D_CLIPID_ID                                       0x00001984
  1594.  
  1595. #define NVC0_3D_DEPTH_BOUNDS_EN                         0x000019bc
  1596.  
  1597. #define NVC0_3D_UNK19C0                                 0x000019c0
  1598.  
  1599. #define NVC0_3D_LOGIC_OP_ENABLE                         0x000019c4
  1600.  
  1601. #define NVC0_3D_LOGIC_OP                                        0x000019c8
  1602. #define NVC0_3D_LOGIC_OP_CLEAR                                  0x00001500
  1603. #define NVC0_3D_LOGIC_OP_AND                                    0x00001501
  1604. #define NVC0_3D_LOGIC_OP_AND_REVERSE                            0x00001502
  1605. #define NVC0_3D_LOGIC_OP_COPY                                   0x00001503
  1606. #define NVC0_3D_LOGIC_OP_AND_INVERTED                           0x00001504
  1607. #define NVC0_3D_LOGIC_OP_NOOP                                   0x00001505
  1608. #define NVC0_3D_LOGIC_OP_XOR                                    0x00001506
  1609. #define NVC0_3D_LOGIC_OP_OR                                     0x00001507
  1610. #define NVC0_3D_LOGIC_OP_NOR                                    0x00001508
  1611. #define NVC0_3D_LOGIC_OP_EQUIV                                  0x00001509
  1612. #define NVC0_3D_LOGIC_OP_INVERT                         0x0000150a
  1613. #define NVC0_3D_LOGIC_OP_OR_REVERSE                             0x0000150b
  1614. #define NVC0_3D_LOGIC_OP_COPY_INVERTED                          0x0000150c
  1615. #define NVC0_3D_LOGIC_OP_OR_INVERTED                            0x0000150d
  1616. #define NVC0_3D_LOGIC_OP_NAND                                   0x0000150e
  1617. #define NVC0_3D_LOGIC_OP_SET                                    0x0000150f
  1618.  
  1619. #define NVC0_3D_ZETA_COMP_ENABLE                                0x000019cc
  1620.  
  1621. #define NVC0_3D_CLEAR_BUFFERS                                   0x000019d0
  1622. #define NVC0_3D_CLEAR_BUFFERS_Z                         0x00000001
  1623. #define NVC0_3D_CLEAR_BUFFERS_S                         0x00000002
  1624. #define NVC0_3D_CLEAR_BUFFERS_R                         0x00000004
  1625. #define NVC0_3D_CLEAR_BUFFERS_G                         0x00000008
  1626. #define NVC0_3D_CLEAR_BUFFERS_B                         0x00000010
  1627. #define NVC0_3D_CLEAR_BUFFERS_A                         0x00000020
  1628. #define NVC0_3D_CLEAR_BUFFERS_RT__MASK                          0x000003c0
  1629. #define NVC0_3D_CLEAR_BUFFERS_RT__SHIFT                 6
  1630. #define NVC0_3D_CLEAR_BUFFERS_LAYER__MASK                       0x001ffc00
  1631. #define NVC0_3D_CLEAR_BUFFERS_LAYER__SHIFT                      10
  1632.  
  1633. #define NVC0_3D_CLIPID_FILL                                     0x000019d4
  1634.  
  1635. #define NVC0_3D_RT_COMP_ENABLE(i0)                             (0x000019e0 + 0x4*(i0))
  1636. #define NVC0_3D_RT_COMP_ENABLE__ESIZE                           0x00000004
  1637. #define NVC0_3D_RT_COMP_ENABLE__LEN                             0x00000008
  1638.  
  1639. #define NVC0_3D_COLOR_MASK(i0)                                 (0x00001a00 + 0x4*(i0))
  1640. #define NVC0_3D_COLOR_MASK__ESIZE                               0x00000004
  1641. #define NVC0_3D_COLOR_MASK__LEN                         0x00000008
  1642. #define NVC0_3D_COLOR_MASK_R                                    0x0000000f
  1643. #define NVC0_3D_COLOR_MASK_G                                    0x000000f0
  1644. #define NVC0_3D_COLOR_MASK_B                                    0x00000f00
  1645. #define NVC0_3D_COLOR_MASK_A                                    0x0000f000
  1646.  
  1647. #define NVC0_3D_DELAY                                           0x00001a24
  1648.  
  1649. #define NVC0_3D_UNK1A2C(i0)                                    (0x00001a2c + 0x4*(i0))
  1650. #define NVC0_3D_UNK1A2C__ESIZE                                  0x00000004
  1651. #define NVC0_3D_UNK1A2C__LEN                                    0x00000005
  1652.  
  1653. #define NVC0_3D_QUERY_ADDRESS_HIGH                              0x00001b00
  1654.  
  1655. #define NVC0_3D_QUERY_ADDRESS_LOW                               0x00001b04
  1656.  
  1657. #define NVC0_3D_QUERY_SEQUENCE                                  0x00001b08
  1658.  
  1659. #define NVC0_3D_QUERY_GET                                       0x00001b0c
  1660. #define NVC0_3D_QUERY_GET_MODE__MASK                            0x00000003
  1661. #define NVC0_3D_QUERY_GET_MODE__SHIFT                           0
  1662. #define NVC0_3D_QUERY_GET_MODE_WRITE                            0x00000000
  1663. #define NVC0_3D_QUERY_GET_MODE_SYNC                             0x00000001
  1664. #define NVC0_3D_QUERY_GET_MODE_WRITE_UNK2                       0x00000002
  1665. #define NVC0_3D_QUERY_GET_MODE_WRITE_INTR_NRHOST                0x00000003
  1666. #define NVC0_3D_QUERY_GET_UNK2                                  0x00000004
  1667. #define NVC0_3D_QUERY_GET_FENCE                         0x00000010
  1668. #define NVC0_3D_QUERY_GET_STREAM__MASK                          0x000000e0
  1669. #define NVC0_3D_QUERY_GET_STREAM__SHIFT                 5
  1670. #define NVC0_3D_QUERY_GET_UNK8                                  0x00000100
  1671. #define NVC0_3D_QUERY_GET_UNIT__MASK                            0x0000f000
  1672. #define NVC0_3D_QUERY_GET_UNIT__SHIFT                           12
  1673. #define NVC0_3D_QUERY_GET_SYNC_COND__MASK                       0x00010000
  1674. #define NVC0_3D_QUERY_GET_SYNC_COND__SHIFT                      16
  1675. #define NVC0_3D_QUERY_GET_SYNC_COND_NEQUAL                      0x00000000
  1676. #define NVC0_3D_QUERY_GET_SYNC_COND_GREATER                     0x00010000
  1677. #define NVC0_3D_QUERY_GET_INTR                                  0x00100000
  1678. #define NVC0_3D_QUERY_GET_UNK21                         0x00200000
  1679. #define NVC0_3D_QUERY_GET_SELECT__MASK                          0x0f800000
  1680. #define NVC0_3D_QUERY_GET_SELECT__SHIFT                 23
  1681. #define NVC0_3D_QUERY_GET_SELECT_ZERO                           0x00000000
  1682. #define NVC0_3D_QUERY_GET_SELECT_SAMPLECNT                      0x01000000
  1683. #define NVC0_3D_QUERY_GET_SELECT_EMITTED_PRIMS                  0x05800000
  1684. #define NVC0_3D_QUERY_GET_SELECT_GENERATED_PRIMS                0x09000000
  1685. #define NVC0_3D_QUERY_GET_SHORT                         0x10000000
  1686.  
  1687. #define NVC0_3D_VERTEX_ARRAY_FETCH(i0)                         (0x00001c00 + 0x10*(i0))
  1688. #define NVC0_3D_VERTEX_ARRAY_FETCH__ESIZE                       0x00000010
  1689. #define NVC0_3D_VERTEX_ARRAY_FETCH__LEN                 0x00000020
  1690. #define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__MASK         0x00000fff
  1691. #define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__SHIFT                0
  1692. #define NVC0_3D_VERTEX_ARRAY_FETCH_ENABLE                       0x00001000
  1693.  
  1694. #define NVC0_3D_VERTEX_ARRAY_START_HIGH(i0)                    (0x00001c04 + 0x10*(i0))
  1695. #define NVC0_3D_VERTEX_ARRAY_START_HIGH__ESIZE                  0x00000010
  1696. #define NVC0_3D_VERTEX_ARRAY_START_HIGH__LEN                    0x00000020
  1697.  
  1698. #define NVC0_3D_VERTEX_ARRAY_START_LOW(i0)                     (0x00001c08 + 0x10*(i0))
  1699. #define NVC0_3D_VERTEX_ARRAY_START_LOW__ESIZE                   0x00000010
  1700. #define NVC0_3D_VERTEX_ARRAY_START_LOW__LEN                     0x00000020
  1701.  
  1702. #define NVC0_3D_VERTEX_ARRAY_DIVISOR(i0)                       (0x00001c0c + 0x10*(i0))
  1703. #define NVC0_3D_VERTEX_ARRAY_DIVISOR__ESIZE                     0x00000010
  1704. #define NVC0_3D_VERTEX_ARRAY_DIVISOR__LEN                       0x00000020
  1705.  
  1706. #define NVC0_3D_IBLEND(i0)                                     (0x00001e00 + 0x20*(i0))
  1707. #define NVC0_3D_IBLEND__ESIZE                                   0x00000020
  1708. #define NVC0_3D_IBLEND__LEN                                     0x00000008
  1709.  
  1710. #define NVC0_3D_IBLEND_SEPARATE_ALPHA(i0)                      (0x00001e00 + 0x20*(i0))
  1711.  
  1712. #define NVC0_3D_IBLEND_EQUATION_RGB(i0)                (0x00001e04 + 0x20*(i0))
  1713. #define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_ADD                    0x00008006
  1714. #define NVC0_3D_IBLEND_EQUATION_RGB_MIN                 0x00008007
  1715. #define NVC0_3D_IBLEND_EQUATION_RGB_MAX                 0x00008008
  1716. #define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_SUBTRACT               0x0000800a
  1717. #define NVC0_3D_IBLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT       0x0000800b
  1718.  
  1719. #define NVC0_3D_IBLEND_FUNC_SRC_RGB(i0)                (0x00001e08 + 0x20*(i0))
  1720.  
  1721. #define NVC0_3D_IBLEND_FUNC_DST_RGB(i0)                (0x00001e0c + 0x20*(i0))
  1722.  
  1723. #define NVC0_3D_IBLEND_EQUATION_ALPHA(i0)                      (0x00001e10 + 0x20*(i0))
  1724. #define NVC0_3D_IBLEND_EQUATION_ALPHA_FUNC_ADD                  0x00008006
  1725. #define NVC0_3D_IBLEND_EQUATION_ALPHA_MIN                       0x00008007
  1726. #define NVC0_3D_IBLEND_EQUATION_ALPHA_MAX                       0x00008008
  1727. #define NVC0_3D_IBLEND_EQUATION_ALPHA_FUNC_SUBTRACT             0x0000800a
  1728. #define NVC0_3D_IBLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT     0x0000800b
  1729.  
  1730. #define NVC0_3D_IBLEND_FUNC_SRC_ALPHA(i0)                      (0x00001e14 + 0x20*(i0))
  1731.  
  1732. #define NVC0_3D_IBLEND_FUNC_DST_ALPHA(i0)                      (0x00001e18 + 0x20*(i0))
  1733.  
  1734. #define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH(i0)                    (0x00001f00 + 0x8*(i0))
  1735. #define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH__ESIZE                  0x00000008
  1736. #define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH__LEN                    0x00000020
  1737.  
  1738. #define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW(i0)                     (0x00001f04 + 0x8*(i0))
  1739. #define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW__ESIZE                   0x00000008
  1740. #define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW__LEN                     0x00000020
  1741.  
  1742. #define NVC0_3D_SP(i0)                                         (0x00002000 + 0x40*(i0))
  1743. #define NVC0_3D_SP__ESIZE                                       0x00000040
  1744. #define NVC0_3D_SP__LEN                                 0x00000006
  1745.  
  1746. #define NVC0_3D_SP_SELECT(i0)                                  (0x00002000 + 0x40*(i0))
  1747. #define NVC0_3D_SP_SELECT_ENABLE                                0x00000001
  1748. #define NVC0_3D_SP_SELECT_PROGRAM__MASK                 0x000000f0
  1749. #define NVC0_3D_SP_SELECT_PROGRAM__SHIFT                        4
  1750. #define NVC0_3D_SP_SELECT_PROGRAM_VP_A                          0x00000000
  1751. #define NVC0_3D_SP_SELECT_PROGRAM_VP_B                          0x00000010
  1752. #define NVC0_3D_SP_SELECT_PROGRAM_TCP                           0x00000020
  1753. #define NVC0_3D_SP_SELECT_PROGRAM_TEP                           0x00000030
  1754. #define NVC0_3D_SP_SELECT_PROGRAM_GP                            0x00000040
  1755. #define NVC0_3D_SP_SELECT_PROGRAM_FP                            0x00000050
  1756.  
  1757. #define NVC0_3D_SP_START_ID(i0)                        (0x00002004 + 0x40*(i0))
  1758.  
  1759. #define NVC0_3D_SP_UNK08(i0)                                   (0x00002008 + 0x40*(i0))
  1760.  
  1761. #define NVC0_3D_SP_GPR_ALLOC(i0)                               (0x0000200c + 0x40*(i0))
  1762.  
  1763. #define NVC0_3D_SP_TYPE(i0)                                    (0x00002010 + 0x40*(i0))
  1764. #define NVC0_3D_SP_TYPE_VP                                      0x00000000
  1765. #define NVC0_3D_SP_TYPE_TCP                                     0x00000001
  1766. #define NVC0_3D_SP_TYPE_TEP                                     0x00000002
  1767. #define NVC0_3D_SP_TYPE_GP                                      0x00000003
  1768. #define NVC0_3D_SP_TYPE_FP                                      0x00000004
  1769.  
  1770. #define NVC0_3D_SP_UNK14(i0, i1)                               (0x00002014 + 0x40*(i0) + 0x4*(i1))
  1771. #define NVC0_3D_SP_UNK14__ESIZE                         0x00000004
  1772. #define NVC0_3D_SP_UNK14__LEN                                   0x00000004
  1773.  
  1774. #define NVC0_3D_TEX_LIMITS(i0)                                 (0x00002200 + 0x10*(i0))
  1775. #define NVC0_3D_TEX_LIMITS__ESIZE                               0x00000010
  1776. #define NVC0_3D_TEX_LIMITS__LEN                         0x00000005
  1777. #define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__MASK                  0x0000000f
  1778. #define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__SHIFT         0
  1779. #define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__MIN                   0x00000000
  1780. #define NVC0_3D_TEX_LIMITS_SAMPLERS_LOG2__MAX                   0x00000004
  1781. #define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__MASK                  0x000000f0
  1782. #define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__SHIFT         4
  1783. #define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__MIN                   0x00000000
  1784. #define NVC0_3D_TEX_LIMITS_TEXTURES_LOG2__MAX                   0x00000007
  1785.  
  1786. #define NVC0_3D_UNK2204(i0)                                    (0x00002204 + 0x10*(i0))
  1787. #define NVC0_3D_UNK2204__ESIZE                                  0x00000010
  1788. #define NVC0_3D_UNK2204__LEN                                    0x00000005
  1789.  
  1790. #define NVC0_3D_UNK2208(i0)                                    (0x00002208 + 0x10*(i0))
  1791. #define NVC0_3D_UNK2208__ESIZE                                  0x00000010
  1792. #define NVC0_3D_UNK2208__LEN                                    0x00000005
  1793.  
  1794. #define NVC0_3D_FIRMWARE(i0)                                   (0x00002300 + 0x4*(i0))
  1795. #define NVC0_3D_FIRMWARE__ESIZE                         0x00000004
  1796. #define NVC0_3D_FIRMWARE__LEN                                   0x00000020
  1797.  
  1798. #define NVC0_3D_CB_SIZE                                 0x00002380
  1799.  
  1800. #define NVC0_3D_CB_ADDRESS_HIGH                         0x00002384
  1801.  
  1802. #define NVC0_3D_CB_ADDRESS_LOW                                  0x00002388
  1803.  
  1804. #define NVC0_3D_CB_POS                                          0x0000238c
  1805.  
  1806. #define NVC0_3D_CB_DATA(i0)                                    (0x00002390 + 0x4*(i0))
  1807. #define NVC0_3D_CB_DATA__ESIZE                                  0x00000004
  1808. #define NVC0_3D_CB_DATA__LEN                                    0x00000010
  1809.  
  1810. #define NVC0_3D_BIND_TSC(i0)                                   (0x00002400 + 0x20*(i0))
  1811. #define NVC0_3D_BIND_TSC__ESIZE                         0x00000020
  1812. #define NVC0_3D_BIND_TSC__LEN                                   0x00000005
  1813. #define NVC0_3D_BIND_TSC_ACTIVE                         0x00000001
  1814. #define NVC0_3D_BIND_TSC_SAMPLER__MASK                          0x00000ff0
  1815. #define NVC0_3D_BIND_TSC_SAMPLER__SHIFT                 4
  1816. #define NVC0_3D_BIND_TSC_TSC__MASK                              0x01fff000
  1817. #define NVC0_3D_BIND_TSC_TSC__SHIFT                             12
  1818.  
  1819. #define NVC0_3D_BIND_TIC(i0)                                   (0x00002404 + 0x20*(i0))
  1820. #define NVC0_3D_BIND_TIC__ESIZE                         0x00000020
  1821. #define NVC0_3D_BIND_TIC__LEN                                   0x00000005
  1822. #define NVC0_3D_BIND_TIC_ACTIVE                         0x00000001
  1823. #define NVC0_3D_BIND_TIC_TEXTURE__MASK                          0x000001fe
  1824. #define NVC0_3D_BIND_TIC_TEXTURE__SHIFT                 1
  1825. #define NVC0_3D_BIND_TIC_TIC__MASK                              0x7ffffe00
  1826. #define NVC0_3D_BIND_TIC_TIC__SHIFT                             9
  1827.  
  1828. #define NVC0_3D_BIND_TSC2(i0)                                  (0x00002408 + 0x20*(i0))
  1829. #define NVC0_3D_BIND_TSC2__ESIZE                                0x00000020
  1830. #define NVC0_3D_BIND_TSC2__LEN                                  0x00000005
  1831. #define NVC0_3D_BIND_TSC2_ACTIVE                                0x00000001
  1832. #define NVC0_3D_BIND_TSC2_SAMPLER__MASK                 0x00000010
  1833. #define NVC0_3D_BIND_TSC2_SAMPLER__SHIFT                        4
  1834. #define NVC0_3D_BIND_TSC2_TSC__MASK                             0x01fff000
  1835. #define NVC0_3D_BIND_TSC2_TSC__SHIFT                            12
  1836.  
  1837. #define NVC0_3D_BIND_TIC2(i0)                                  (0x0000240c + 0x20*(i0))
  1838. #define NVC0_3D_BIND_TIC2__ESIZE                                0x00000020
  1839. #define NVC0_3D_BIND_TIC2__LEN                                  0x00000005
  1840. #define NVC0_3D_BIND_TIC2_ACTIVE                                0x00000001
  1841. #define NVC0_3D_BIND_TIC2_TEXTURE__MASK                 0x00000002
  1842. #define NVC0_3D_BIND_TIC2_TEXTURE__SHIFT                        1
  1843. #define NVC0_3D_BIND_TIC2_TIC__MASK                             0x7ffffe00
  1844. #define NVC0_3D_BIND_TIC2_TIC__SHIFT                            9
  1845.  
  1846. #define NVE4_3D_UNK2400_TSC(i0)                        (0x00002400 + 0x20*(i0))
  1847. #define NVE4_3D_UNK2400_TSC__ESIZE                              0x00000020
  1848. #define NVE4_3D_UNK2400_TSC__LEN                                0x00000005
  1849.  
  1850. #define NVE4_3D_UNK2400_TIC(i0)                        (0x00002404 + 0x20*(i0))
  1851. #define NVE4_3D_UNK2400_TIC__ESIZE                              0x00000020
  1852. #define NVE4_3D_UNK2400_TIC__LEN                                0x00000005
  1853.  
  1854. #define NVE4_3D_UNK2400_TSC2(i0)                               (0x00002408 + 0x20*(i0))
  1855. #define NVE4_3D_UNK2400_TSC2__ESIZE                             0x00000020
  1856. #define NVE4_3D_UNK2400_TSC2__LEN                               0x00000005
  1857.  
  1858. #define NVE4_3D_UNK2400_TIC2(i0)                               (0x0000240c + 0x20*(i0))
  1859. #define NVE4_3D_UNK2400_TIC2__ESIZE                             0x00000020
  1860. #define NVE4_3D_UNK2400_TIC2__LEN                               0x00000005
  1861.  
  1862. #define NVC0_3D_CB_BIND(i0)                                    (0x00002410 + 0x20*(i0))
  1863. #define NVC0_3D_CB_BIND__ESIZE                                  0x00000020
  1864. #define NVC0_3D_CB_BIND__LEN                                    0x00000005
  1865. #define NVC0_3D_CB_BIND_VALID                                   0x00000001
  1866. #define NVC0_3D_CB_BIND_INDEX__MASK                             0x000001f0
  1867. #define NVC0_3D_CB_BIND_INDEX__SHIFT                            4
  1868.  
  1869. #define NVC0_3D_UNK2500(i0)                                    (0x00002500 + 0x20*(i0))
  1870. #define NVC0_3D_UNK2500__ESIZE                                  0x00000020
  1871. #define NVC0_3D_UNK2500__LEN                                    0x00000005
  1872.  
  1873. #define NVC0_3D_UNK2504(i0)                                    (0x00002504 + 0x20*(i0))
  1874. #define NVC0_3D_UNK2504__ESIZE                                  0x00000020
  1875. #define NVC0_3D_UNK2504__LEN                                    0x00000005
  1876.  
  1877. #define NVC0_3D_UNK2508(i0)                                    (0x00002508 + 0x20*(i0))
  1878. #define NVC0_3D_UNK2508__ESIZE                                  0x00000020
  1879. #define NVC0_3D_UNK2508__LEN                                    0x00000005
  1880.  
  1881. #define NVC0_3D_UNK250C(i0)                                    (0x0000250c + 0x20*(i0))
  1882. #define NVC0_3D_UNK250C__ESIZE                                  0x00000020
  1883. #define NVC0_3D_UNK250C__LEN                                    0x00000005
  1884.  
  1885. #define NVC0_3D_UNK2510(i0)                                    (0x00002510 + 0x20*(i0))
  1886. #define NVC0_3D_UNK2510__ESIZE                                  0x00000020
  1887. #define NVC0_3D_UNK2510__LEN                                    0x00000005
  1888.  
  1889. #define NVC0_3D_VERT_COLOR_CLAMP_EN                             0x00002600
  1890.  
  1891. #define NVE4_3D_UNK2604                                 0x00002604
  1892.  
  1893. #define NVE4_3D_TEX_CB_INDEX                                    0x00002608
  1894. #define NVE4_3D_TEX_CB_INDEX__MIN                               0x00000000
  1895. #define NVE4_3D_TEX_CB_INDEX__MAX                               0x00000010
  1896.  
  1897. #define NVE4_3D_UNK260C                                 0x0000260c
  1898.  
  1899. #define NVC0_3D_IMAGE(i0)                                      (0x00002700 + 0x20*(i0))
  1900. #define NVC0_3D_IMAGE__ESIZE                                    0x00000020
  1901. #define NVC0_3D_IMAGE__LEN                                      0x00000008
  1902.  
  1903. #define NVC0_3D_IMAGE_ADDRESS_HIGH(i0)                         (0x00002700 + 0x20*(i0))
  1904.  
  1905. #define NVC0_3D_IMAGE_ADDRESS_LOW(i0)                          (0x00002704 + 0x20*(i0))
  1906.  
  1907. #define NVC0_3D_IMAGE_WIDTH(i0)                        (0x00002708 + 0x20*(i0))
  1908.  
  1909. #define NVC0_3D_IMAGE_HEIGHT(i0)                               (0x0000270c + 0x20*(i0))
  1910. #define NVC0_3D_IMAGE_HEIGHT_HEIGHT__MASK                       0x0000ffff
  1911. #define NVC0_3D_IMAGE_HEIGHT_HEIGHT__SHIFT                      0
  1912. #define NVC0_3D_IMAGE_HEIGHT_UNK16                              0x00010000
  1913. #define NVC0_3D_IMAGE_HEIGHT_LINEAR                             0x00100000
  1914.  
  1915. #define NVC0_3D_IMAGE_FORMAT(i0)                               (0x00002710 + 0x20*(i0))
  1916. #define NVC0_3D_IMAGE_FORMAT_UNK0                               0x00000001
  1917. #define NVC0_3D_IMAGE_FORMAT_FORMAT_COLOR__MASK         0x00000ff0
  1918. #define NVC0_3D_IMAGE_FORMAT_FORMAT_COLOR__SHIFT                4
  1919. #define NVC0_3D_IMAGE_FORMAT_FORMAT_ZETA__MASK                  0x0001f000
  1920. #define NVC0_3D_IMAGE_FORMAT_FORMAT_ZETA__SHIFT         12
  1921.  
  1922. #define NVC0_3D_IMAGE_TILE_MODE(i0)                            (0x00002714 + 0x20*(i0))
  1923.  
  1924.  
  1925. #define NVC0_3D_TFB_VARYING_LOCS(i0, i1)                       (0x00002800 + 0x80*(i0) + 0x4*(i1))
  1926. #define NVC0_3D_TFB_VARYING_LOCS__ESIZE                 0x00000004
  1927. #define NVC0_3D_TFB_VARYING_LOCS__LEN                           0x00000020
  1928.  
  1929. #define NVC0_3D_MP_PM_SET(i0)                                  (0x0000335c + 0x4*(i0))
  1930. #define NVC0_3D_MP_PM_SET__ESIZE                                0x00000004
  1931. #define NVC0_3D_MP_PM_SET__LEN                                  0x00000008
  1932.  
  1933. #define NVC0_3D_MP_PM_SIGSEL(i0)                               (0x0000337c + 0x4*(i0))
  1934. #define NVC0_3D_MP_PM_SIGSEL__ESIZE                             0x00000004
  1935. #define NVC0_3D_MP_PM_SIGSEL__LEN                               0x00000008
  1936.  
  1937. #define NVE4_3D_MP_PM_A_SIGSEL(i0)                             (0x0000337c + 0x4*(i0))
  1938. #define NVE4_3D_MP_PM_A_SIGSEL__ESIZE                           0x00000004
  1939. #define NVE4_3D_MP_PM_A_SIGSEL__LEN                             0x00000004
  1940. #define NVE4_3D_MP_PM_A_SIGSEL_NONE                             0x00000000
  1941. #define NVE4_3D_MP_PM_A_SIGSEL_USER                             0x00000001
  1942. #define NVE4_3D_MP_PM_A_SIGSEL_LAUNCH                           0x00000003
  1943. #define NVE4_3D_MP_PM_A_SIGSEL_EXEC                             0x00000004
  1944. #define NVE4_3D_MP_PM_A_SIGSEL_ISSUE                            0x00000005
  1945. #define NVE4_3D_MP_PM_A_SIGSEL_LDST                             0x0000001b
  1946. #define NVE4_3D_MP_PM_A_SIGSEL_BRANCH                           0x0000001c
  1947.  
  1948. #define NVE4_3D_MP_PM_B_SIGSEL(i0)                             (0x0000338c + 0x4*(i0))
  1949. #define NVE4_3D_MP_PM_B_SIGSEL__ESIZE                           0x00000004
  1950. #define NVE4_3D_MP_PM_B_SIGSEL__LEN                             0x00000004
  1951. #define NVE4_3D_MP_PM_B_SIGSEL_NONE                             0x00000000
  1952. #define NVE4_3D_MP_PM_B_SIGSEL_WARP                             0x00000002
  1953. #define NVE4_3D_MP_PM_B_SIGSEL_REPLAY                           0x00000008
  1954. #define NVE4_3D_MP_PM_B_SIGSEL_TRANSACTION                      0x0000000e
  1955. #define NVE4_3D_MP_PM_B_SIGSEL_L1                               0x00000010
  1956. #define NVE4_3D_MP_PM_B_SIGSEL_MEM                              0x00000011
  1957.  
  1958. #define NVC0_3D_MP_PM_SRCSEL(i0)                               (0x0000339c + 0x4*(i0))
  1959. #define NVC0_3D_MP_PM_SRCSEL__ESIZE                             0x00000004
  1960. #define NVC0_3D_MP_PM_SRCSEL__LEN                               0x00000008
  1961. #define NVC0_3D_MP_PM_SRCSEL_GRP0__MASK                 0x00000007
  1962. #define NVC0_3D_MP_PM_SRCSEL_GRP0__SHIFT                        0
  1963. #define NVC0_3D_MP_PM_SRCSEL_SIG0__MASK                 0x00000070
  1964. #define NVC0_3D_MP_PM_SRCSEL_SIG0__SHIFT                        4
  1965. #define NVC0_3D_MP_PM_SRCSEL_GRP1__MASK                 0x00000700
  1966. #define NVC0_3D_MP_PM_SRCSEL_GRP1__SHIFT                        8
  1967. #define NVC0_3D_MP_PM_SRCSEL_SIG1__MASK                 0x00007000
  1968. #define NVC0_3D_MP_PM_SRCSEL_SIG1__SHIFT                        12
  1969. #define NVC0_3D_MP_PM_SRCSEL_GRP2__MASK                 0x00070000
  1970. #define NVC0_3D_MP_PM_SRCSEL_GRP2__SHIFT                        16
  1971. #define NVC0_3D_MP_PM_SRCSEL_SIG2__MASK                 0x00700000
  1972. #define NVC0_3D_MP_PM_SRCSEL_SIG2__SHIFT                        20
  1973. #define NVC0_3D_MP_PM_SRCSEL_GRP3__MASK                 0x07000000
  1974. #define NVC0_3D_MP_PM_SRCSEL_GRP3__SHIFT                        24
  1975. #define NVC0_3D_MP_PM_SRCSEL_SIG3__MASK                 0x70000000
  1976. #define NVC0_3D_MP_PM_SRCSEL_SIG3__SHIFT                        28
  1977.  
  1978. #define NVE4_3D_MP_PM_SRCSEL(i0)                               (0x0000339c + 0x4*(i0))
  1979. #define NVE4_3D_MP_PM_SRCSEL__ESIZE                             0x00000004
  1980. #define NVE4_3D_MP_PM_SRCSEL__LEN                               0x00000008
  1981. #define NVE4_3D_MP_PM_SRCSEL_GRP0__MASK                 0x00000003
  1982. #define NVE4_3D_MP_PM_SRCSEL_GRP0__SHIFT                        0
  1983. #define NVE4_3D_MP_PM_SRCSEL_SIG0__MASK                 0x0000001c
  1984. #define NVE4_3D_MP_PM_SRCSEL_SIG0__SHIFT                        2
  1985. #define NVE4_3D_MP_PM_SRCSEL_GRP1__MASK                 0x00000060
  1986. #define NVE4_3D_MP_PM_SRCSEL_GRP1__SHIFT                        5
  1987. #define NVE4_3D_MP_PM_SRCSEL_SIG1__MASK                 0x00000380
  1988. #define NVE4_3D_MP_PM_SRCSEL_SIG1__SHIFT                        7
  1989. #define NVE4_3D_MP_PM_SRCSEL_GRP2__MASK                 0x00000c00
  1990. #define NVE4_3D_MP_PM_SRCSEL_GRP2__SHIFT                        10
  1991. #define NVE4_3D_MP_PM_SRCSEL_SIG2__MASK                 0x00007000
  1992. #define NVE4_3D_MP_PM_SRCSEL_SIG2__SHIFT                        12
  1993. #define NVE4_3D_MP_PM_SRCSEL_GRP3__MASK                 0x00018000
  1994. #define NVE4_3D_MP_PM_SRCSEL_GRP3__SHIFT                        15
  1995. #define NVE4_3D_MP_PM_SRCSEL_SIG3__MASK                 0x000e0000
  1996. #define NVE4_3D_MP_PM_SRCSEL_SIG3__SHIFT                        17
  1997. #define NVE4_3D_MP_PM_SRCSEL_GRP4__MASK                 0x00300000
  1998. #define NVE4_3D_MP_PM_SRCSEL_GRP4__SHIFT                        20
  1999. #define NVE4_3D_MP_PM_SRCSEL_SIG4__MASK                 0x01c00000
  2000. #define NVE4_3D_MP_PM_SRCSEL_SIG4__SHIFT                        22
  2001. #define NVE4_3D_MP_PM_SRCSEL_GRP5__MASK                 0x06000000
  2002. #define NVE4_3D_MP_PM_SRCSEL_GRP5__SHIFT                        25
  2003. #define NVE4_3D_MP_PM_SRCSEL_SIG5__MASK                 0x38000000
  2004. #define NVE4_3D_MP_PM_SRCSEL_SIG5__SHIFT                        27
  2005.  
  2006. #define NVC0_3D_MP_PM_OP(i0)                                   (0x000033bc + 0x4*(i0))
  2007. #define NVC0_3D_MP_PM_OP__ESIZE                         0x00000004
  2008. #define NVC0_3D_MP_PM_OP__LEN                                   0x00000008
  2009. #define NVC0_3D_MP_PM_OP_MODE__MASK                             0x00000001
  2010. #define NVC0_3D_MP_PM_OP_MODE__SHIFT                            0
  2011. #define NVC0_3D_MP_PM_OP_MODE_LOGOP                             0x00000000
  2012. #define NVC0_3D_MP_PM_OP_MODE_LOGOP_PULSE                       0x00000001
  2013. #define NVC0_3D_MP_PM_OP_FUNC__MASK                             0x000ffff0
  2014. #define NVC0_3D_MP_PM_OP_FUNC__SHIFT                            4
  2015.  
  2016. #define NVE4_3D_MP_PM_FUNC(i0)                                 (0x000033bc + 0x4*(i0))
  2017. #define NVE4_3D_MP_PM_FUNC__ESIZE                               0x00000004
  2018. #define NVE4_3D_MP_PM_FUNC__LEN                         0x00000008
  2019. #define NVE4_3D_MP_PM_FUNC_MODE__MASK                           0x0000000f
  2020. #define NVE4_3D_MP_PM_FUNC_MODE__SHIFT                          0
  2021. #define NVE4_3D_MP_PM_FUNC_MODE_LOGOP                           0x00000000
  2022. #define NVE4_3D_MP_PM_FUNC_MODE_LOGOP_PULSE                     0x00000001
  2023. #define NVE4_3D_MP_PM_FUNC_MODE_B6                              0x00000002
  2024. #define NVE4_3D_MP_PM_FUNC_MODE_UNK3                            0x00000003
  2025. #define NVE4_3D_MP_PM_FUNC_MODE_LOGOP_B6                        0x00000004
  2026. #define NVE4_3D_MP_PM_FUNC_MODE_LOGOP_B6_PULSE                  0x00000005
  2027. #define NVE4_3D_MP_PM_FUNC_MODE_UNK6                            0x00000006
  2028. #define NVE4_3D_MP_PM_FUNC_MODE_UNK7                            0x00000007
  2029. #define NVE4_3D_MP_PM_FUNC_MODE_UNK8                            0x00000008
  2030. #define NVE4_3D_MP_PM_FUNC_FUNC__MASK                           0x000ffff0
  2031. #define NVE4_3D_MP_PM_FUNC_FUNC__SHIFT                          4
  2032.  
  2033. #define NVC0_3D_MP_PM_UNK33DC                                   0x000033dc
  2034.  
  2035. #define NVC0_3D_NVRM_MACRO_VERTEX_ARRAY_SELECT                  0x00003820
  2036.  
  2037. #define NVC0_3D_NVRM_MACRO_BLEND_ENABLES                        0x00003858
  2038.  
  2039. #define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT                   0x00003868
  2040. #define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT_POINT             0x00001b00
  2041. #define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT_LINE              0x00001b01
  2042. #define NVC0_3D_NVRM_MACRO_POLYGON_MODE_FRONT_FILL              0x00001b02
  2043.  
  2044. #define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK                    0x00003870
  2045. #define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK_POINT              0x00001b00
  2046. #define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK_LINE               0x00001b01
  2047. #define NVC0_3D_NVRM_MACRO_POLYGON_MODE_BACK_FILL               0x00001b02
  2048.  
  2049. #define NVC0_3D_NVRM_MACRO_GP_SELECT                            0x00003878
  2050.  
  2051. #define NVC0_3D_NVRM_MACRO_TEP_SELECT                           0x00003880
  2052.  
  2053.  
  2054. #endif /* NVC0_3D_XML */
  2055.