Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. #ifndef NV10_3D_XML
  2. #define NV10_3D_XML
  3.  
  4. /* Autogenerated file, DO NOT EDIT manually!
  5.  
  6. This file was generated by the rules-ng-ng headergen tool in this git repository:
  7. http://0x04.net/cgit/index.cgi/rules-ng-ng
  8. git clone git://0x04.net/rules-ng-ng
  9.  
  10. The rules-ng-ng source files this header was generated from are:
  11. - nv10_3d.xml    (  18437 bytes, from 2010-11-15 15:30:21)
  12. - copyright.xml  (   6452 bytes, from 2010-11-15 15:10:58)
  13. - nv_defs.xml    (   4437 bytes, from 2010-11-01 00:28:46)
  14. - nv_3ddefs.xml  (  16394 bytes, from 2010-11-01 00:28:46)
  15. - nv_object.xml  (  11547 bytes, from 2010-11-13 23:32:57)
  16. - nvchipsets.xml (   3074 bytes, from 2010-11-13 23:32:57)
  17.  
  18. Copyright (C) 2006-2010 by the following authors:
  19. - Artur Huillet <arthur.huillet@free.fr> (ahuillet)
  20. - Ben Skeggs (darktama, darktama_)
  21. - B. R. <koala_br@users.sourceforge.net> (koala_br)
  22. - Carlos Martin <carlosmn@users.sf.net> (carlosmn)
  23. - Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
  24. - Dawid Gajownik <gajownik@users.sf.net> (gajownik)
  25. - Dmitry Baryshkov
  26. - Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
  27. - EdB <edb_@users.sf.net> (edb_)
  28. - Erik Waling <erikwailing@users.sf.net> (erikwaling)
  29. - Francisco Jerez <currojerez@riseup.net> (curro)
  30. - imirkin <imirkin@users.sf.net> (imirkin)
  31. - jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
  32. - Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
  33. - Laurent Carlier <lordheavym@gmail.com> (lordheavy)
  34. - Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
  35. - Maarten Maathuis <madman2003@gmail.com> (stillunknown)
  36. - Marcin Koƛcielnicki <koriakin@0x04.net> (mwk, koriakin)
  37. - Mark Carey <mark.carey@gmail.com> (careym)
  38. - Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
  39. - nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
  40. - Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
  41. - Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
  42. - Peter Popov <ironpeter@users.sf.net> (ironpeter)
  43. - Richard Hughes <hughsient@users.sf.net> (hughsient)
  44. - Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
  45. - Serge Martin
  46. - Simon Raffeiner
  47. - Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
  48. - Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
  49. - sturmflut <sturmflut@users.sf.net> (sturmflut)
  50. - Sylvain Munaut <tnt@246tNt.com>
  51. - Victor Stinner <victor.stinner@haypocalc.com> (haypo)
  52. - Wladmir van der Laan <laanwj@gmail.com> (miathan6)
  53. - Younes Manton <younes.m@gmail.com> (ymanton)
  54.  
  55. Permission is hereby granted, free of charge, to any person obtaining
  56. a copy of this software and associated documentation files (the
  57. "Software"), to deal in the Software without restriction, including
  58. without limitation the rights to use, copy, modify, merge, publish,
  59. distribute, sublicense, and/or sell copies of the Software, and to
  60. permit persons to whom the Software is furnished to do so, subject to
  61. the following conditions:
  62.  
  63. The above copyright notice and this permission notice (including the
  64. next paragraph) shall be included in all copies or substantial
  65. portions of the Software.
  66.  
  67. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  68. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  69. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  70. IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
  71. LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  72. OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  73. WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  74. */
  75.  
  76.  
  77. #define NV10_VERTEX_ATTR_POS                                    0x00000000
  78. #define NV10_VERTEX_ATTR_COLOR0                                 0x00000001
  79. #define NV10_VERTEX_ATTR_COLOR1                                 0x00000002
  80. #define NV10_VERTEX_ATTR_TEX0                                   0x00000003
  81. #define NV10_VERTEX_ATTR_TEX1                                   0x00000004
  82. #define NV10_VERTEX_ATTR_NORMAL                                 0x00000005
  83. #define NV10_VERTEX_ATTR_WEIGHT                                 0x00000006
  84. #define NV10_VERTEX_ATTR_FOG                                    0x00000007
  85.  
  86.  
  87.  
  88. #define NV11_3D_FLIP_SET_READ                                   0x00000120
  89.  
  90. #define NV11_3D_FLIP_SET_WRITE                                  0x00000124
  91.  
  92. #define NV11_3D_FLIP_MAX                                        0x00000128
  93.  
  94. #define NV11_3D_FLIP_INCR_WRITE                                 0x0000012c
  95.  
  96. #define NV11_3D_FLIP_WAIT                                       0x00000130
  97.  
  98. #define NV10_3D_DMA_NOTIFY                                      0x00000180
  99.  
  100. #define NV10_3D_DMA_TEXTURE0                                    0x00000184
  101.  
  102. #define NV10_3D_DMA_TEXTURE1                                    0x00000188
  103.  
  104. #define NV10_3D_DMA_COLOR                                       0x00000194
  105.  
  106. #define NV10_3D_DMA_ZETA                                        0x00000198
  107.  
  108. #define NV10_3D_RT_HORIZ                                        0x00000200
  109. #define NV10_3D_RT_HORIZ_X__MASK                                0x0000ffff
  110. #define NV10_3D_RT_HORIZ_X__SHIFT                               0
  111. #define NV10_3D_RT_HORIZ_W__MASK                                0xffff0000
  112. #define NV10_3D_RT_HORIZ_W__SHIFT                               16
  113.  
  114. #define NV10_3D_RT_VERT                                         0x00000204
  115. #define NV10_3D_RT_VERT_Y__MASK                                 0x0000ffff
  116. #define NV10_3D_RT_VERT_Y__SHIFT                                0
  117. #define NV10_3D_RT_VERT_H__MASK                                 0xffff0000
  118. #define NV10_3D_RT_VERT_H__SHIFT                                16
  119.  
  120. #define NV10_3D_RT_FORMAT                                       0x00000208
  121. #define NV10_3D_RT_FORMAT_TYPE__MASK                            0x00000f00
  122. #define NV10_3D_RT_FORMAT_TYPE__SHIFT                           8
  123. #define NV10_3D_RT_FORMAT_TYPE_LINEAR                           0x00000100
  124. #define NV10_3D_RT_FORMAT_TYPE_SWIZZLED                         0x00000200
  125. #define NV10_3D_RT_FORMAT_DEPTH__MASK                           0x00000030
  126. #define NV10_3D_RT_FORMAT_DEPTH__SHIFT                          4
  127. #define NV10_3D_RT_FORMAT_DEPTH_Z24S8                           0x00000000
  128. #define NV10_3D_RT_FORMAT_DEPTH_Z16                             0x00000010
  129. #define NV10_3D_RT_FORMAT_COLOR__MASK                           0x0000000f
  130. #define NV10_3D_RT_FORMAT_COLOR__SHIFT                          0
  131. #define NV10_3D_RT_FORMAT_COLOR_R5G6B5                          0x00000003
  132. #define NV10_3D_RT_FORMAT_COLOR_X8R8G8B8                        0x00000005
  133. #define NV10_3D_RT_FORMAT_COLOR_A8R8G8B8                        0x00000008
  134. #define NV10_3D_RT_FORMAT_COLOR_B8                              0x00000009
  135.  
  136. #define NV10_3D_RT_PITCH                                        0x0000020c
  137. #define NV10_3D_RT_PITCH_COLOR_PITCH__MASK                      0x0000ffff
  138. #define NV10_3D_RT_PITCH_COLOR_PITCH__SHIFT                     0
  139. #define NV10_3D_RT_PITCH_ZETA_PITCH__MASK                       0xffff0000
  140. #define NV10_3D_RT_PITCH_ZETA_PITCH__SHIFT                      16
  141.  
  142. #define NV10_3D_COLOR_OFFSET                                    0x00000210
  143.  
  144. #define NV10_3D_ZETA_OFFSET                                     0x00000214
  145.  
  146. #define NV10_3D_UNK0290                                         0x00000290
  147.  
  148. #define NV10_3D_VIEWPORT_CLIP_MODE                              0x000002b4
  149.  
  150. #define NV10_3D_VIEWPORT_CLIP_HORIZ(i0)                        (0x000002c0 + 0x4*(i0))
  151. #define NV10_3D_VIEWPORT_CLIP_HORIZ__ESIZE                      0x00000004
  152. #define NV10_3D_VIEWPORT_CLIP_HORIZ__LEN                        0x00000008
  153. #define NV10_3D_VIEWPORT_CLIP_HORIZ_CLIP_L__MASK                0x000007ff
  154. #define NV10_3D_VIEWPORT_CLIP_HORIZ_CLIP_L__SHIFT               0
  155. #define NV10_3D_VIEWPORT_CLIP_HORIZ_CLIP_LEFT_ENABLE            0x00000800
  156. #define NV10_3D_VIEWPORT_CLIP_HORIZ_CLIP_R__MASK                0x07ff0000
  157. #define NV10_3D_VIEWPORT_CLIP_HORIZ_CLIP_R__SHIFT               16
  158. #define NV10_3D_VIEWPORT_CLIP_HORIZ_CLIP_RIGHT_ENABLE           0x08000000
  159.  
  160. #define NV10_3D_VIEWPORT_CLIP_VERT(i0)                         (0x000002e0 + 0x4*(i0))
  161. #define NV10_3D_VIEWPORT_CLIP_VERT__ESIZE                       0x00000004
  162. #define NV10_3D_VIEWPORT_CLIP_VERT__LEN                         0x00000008
  163. #define NV10_3D_VIEWPORT_CLIP_VERT_CLIP_T__MASK                 0x000007ff
  164. #define NV10_3D_VIEWPORT_CLIP_VERT_CLIP_T__SHIFT                0
  165. #define NV10_3D_VIEWPORT_CLIP_VERT_CLIP_TOP_ENABLE              0x00000800
  166. #define NV10_3D_VIEWPORT_CLIP_VERT_CLIP_B__MASK                 0x07ff0000
  167. #define NV10_3D_VIEWPORT_CLIP_VERT_CLIP_B__SHIFT                16
  168. #define NV10_3D_VIEWPORT_CLIP_VERT_CLIP_BOTTOM_ENABLE           0x08000000
  169.  
  170. #define NV10_3D_ALPHA_FUNC_ENABLE                               0x00000300
  171.  
  172. #define NV10_3D_BLEND_FUNC_ENABLE                               0x00000304
  173.  
  174. #define NV10_3D_CULL_FACE_ENABLE                                0x00000308
  175.  
  176. #define NV10_3D_DEPTH_TEST_ENABLE                               0x0000030c
  177.  
  178. #define NV10_3D_DITHER_ENABLE                                   0x00000310
  179.  
  180. #define NV10_3D_LIGHTING_ENABLE                                 0x00000314
  181.  
  182. #define NV10_3D_POINT_PARAMETERS_ENABLE                         0x00000318
  183.  
  184. #define NV10_3D_POINT_SMOOTH_ENABLE                             0x0000031c
  185.  
  186. #define NV10_3D_LINE_SMOOTH_ENABLE                              0x00000320
  187.  
  188. #define NV10_3D_POLYGON_SMOOTH_ENABLE                           0x00000324
  189.  
  190. #define NV10_3D_STENCIL_ENABLE                                  0x0000032c
  191.  
  192. #define NV10_3D_POLYGON_OFFSET_POINT_ENABLE                     0x00000330
  193.  
  194. #define NV10_3D_POLYGON_OFFSET_LINE_ENABLE                      0x00000334
  195.  
  196. #define NV10_3D_POLYGON_OFFSET_FILL_ENABLE                      0x00000338
  197.  
  198. #define NV10_3D_ALPHA_FUNC_FUNC                                 0x0000033c
  199. #define NV10_3D_ALPHA_FUNC_FUNC_NEVER                           0x00000200
  200. #define NV10_3D_ALPHA_FUNC_FUNC_LESS                            0x00000201
  201. #define NV10_3D_ALPHA_FUNC_FUNC_EQUAL                           0x00000202
  202. #define NV10_3D_ALPHA_FUNC_FUNC_LEQUAL                          0x00000203
  203. #define NV10_3D_ALPHA_FUNC_FUNC_GREATER                         0x00000204
  204. #define NV10_3D_ALPHA_FUNC_FUNC_NOTEQUAL                        0x00000205
  205. #define NV10_3D_ALPHA_FUNC_FUNC_GEQUAL                          0x00000206
  206. #define NV10_3D_ALPHA_FUNC_FUNC_ALWAYS                          0x00000207
  207.  
  208. #define NV10_3D_ALPHA_FUNC_REF                                  0x00000340
  209.  
  210. #define NV10_3D_BLEND_FUNC_SRC                                  0x00000344
  211. #define NV10_3D_BLEND_FUNC_SRC_ZERO                             0x00000000
  212. #define NV10_3D_BLEND_FUNC_SRC_ONE                              0x00000001
  213. #define NV10_3D_BLEND_FUNC_SRC_SRC_COLOR                        0x00000300
  214. #define NV10_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR              0x00000301
  215. #define NV10_3D_BLEND_FUNC_SRC_SRC_ALPHA                        0x00000302
  216. #define NV10_3D_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA              0x00000303
  217. #define NV10_3D_BLEND_FUNC_SRC_DST_ALPHA                        0x00000304
  218. #define NV10_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA              0x00000305
  219. #define NV10_3D_BLEND_FUNC_SRC_DST_COLOR                        0x00000306
  220. #define NV10_3D_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR              0x00000307
  221. #define NV10_3D_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE               0x00000308
  222. #define NV10_3D_BLEND_FUNC_SRC_CONSTANT_COLOR                   0x00008001
  223. #define NV10_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR         0x00008002
  224. #define NV10_3D_BLEND_FUNC_SRC_CONSTANT_ALPHA                   0x00008003
  225. #define NV10_3D_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA         0x00008004
  226.  
  227. #define NV10_3D_BLEND_FUNC_DST                                  0x00000348
  228. #define NV10_3D_BLEND_FUNC_DST_ZERO                             0x00000000
  229. #define NV10_3D_BLEND_FUNC_DST_ONE                              0x00000001
  230. #define NV10_3D_BLEND_FUNC_DST_SRC_COLOR                        0x00000300
  231. #define NV10_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR              0x00000301
  232. #define NV10_3D_BLEND_FUNC_DST_SRC_ALPHA                        0x00000302
  233. #define NV10_3D_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA              0x00000303
  234. #define NV10_3D_BLEND_FUNC_DST_DST_ALPHA                        0x00000304
  235. #define NV10_3D_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA              0x00000305
  236. #define NV10_3D_BLEND_FUNC_DST_DST_COLOR                        0x00000306
  237. #define NV10_3D_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR              0x00000307
  238. #define NV10_3D_BLEND_FUNC_DST_SRC_ALPHA_SATURATE               0x00000308
  239. #define NV10_3D_BLEND_FUNC_DST_CONSTANT_COLOR                   0x00008001
  240. #define NV10_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR         0x00008002
  241. #define NV10_3D_BLEND_FUNC_DST_CONSTANT_ALPHA                   0x00008003
  242. #define NV10_3D_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA         0x00008004
  243.  
  244. #define NV10_3D_BLEND_COLOR                                     0x0000034c
  245. #define NV10_3D_BLEND_COLOR_B__MASK                             0x000000ff
  246. #define NV10_3D_BLEND_COLOR_B__SHIFT                            0
  247. #define NV10_3D_BLEND_COLOR_G__MASK                             0x0000ff00
  248. #define NV10_3D_BLEND_COLOR_G__SHIFT                            8
  249. #define NV10_3D_BLEND_COLOR_R__MASK                             0x00ff0000
  250. #define NV10_3D_BLEND_COLOR_R__SHIFT                            16
  251. #define NV10_3D_BLEND_COLOR_A__MASK                             0xff000000
  252. #define NV10_3D_BLEND_COLOR_A__SHIFT                            24
  253.  
  254. #define NV10_3D_BLEND_EQUATION                                  0x00000350
  255. #define NV10_3D_BLEND_EQUATION_FUNC_ADD                         0x00008006
  256. #define NV10_3D_BLEND_EQUATION_MIN                              0x00008007
  257. #define NV10_3D_BLEND_EQUATION_MAX                              0x00008008
  258. #define NV10_3D_BLEND_EQUATION_FUNC_SUBTRACT                    0x0000800a
  259. #define NV10_3D_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT            0x0000800b
  260.  
  261. #define NV10_3D_DEPTH_FUNC                                      0x00000354
  262. #define NV10_3D_DEPTH_FUNC_NEVER                                0x00000200
  263. #define NV10_3D_DEPTH_FUNC_LESS                                 0x00000201
  264. #define NV10_3D_DEPTH_FUNC_EQUAL                                0x00000202
  265. #define NV10_3D_DEPTH_FUNC_LEQUAL                               0x00000203
  266. #define NV10_3D_DEPTH_FUNC_GREATER                              0x00000204
  267. #define NV10_3D_DEPTH_FUNC_NOTEQUAL                             0x00000205
  268. #define NV10_3D_DEPTH_FUNC_GEQUAL                               0x00000206
  269. #define NV10_3D_DEPTH_FUNC_ALWAYS                               0x00000207
  270.  
  271. #define NV10_3D_COLOR_MASK                                      0x00000358
  272. #define NV10_3D_COLOR_MASK_B                                    0x00000001
  273. #define NV10_3D_COLOR_MASK_G                                    0x00000100
  274. #define NV10_3D_COLOR_MASK_R                                    0x00010000
  275. #define NV10_3D_COLOR_MASK_A                                    0x01000000
  276.  
  277. #define NV10_3D_DEPTH_WRITE_ENABLE                              0x0000035c
  278.  
  279. #define NV10_3D_STENCIL_MASK                                    0x00000360
  280.  
  281. #define NV10_3D_STENCIL_FUNC_FUNC                               0x00000364
  282. #define NV10_3D_STENCIL_FUNC_FUNC_NEVER                         0x00000200
  283. #define NV10_3D_STENCIL_FUNC_FUNC_LESS                          0x00000201
  284. #define NV10_3D_STENCIL_FUNC_FUNC_EQUAL                         0x00000202
  285. #define NV10_3D_STENCIL_FUNC_FUNC_LEQUAL                        0x00000203
  286. #define NV10_3D_STENCIL_FUNC_FUNC_GREATER                       0x00000204
  287. #define NV10_3D_STENCIL_FUNC_FUNC_NOTEQUAL                      0x00000205
  288. #define NV10_3D_STENCIL_FUNC_FUNC_GEQUAL                        0x00000206
  289. #define NV10_3D_STENCIL_FUNC_FUNC_ALWAYS                        0x00000207
  290.  
  291. #define NV10_3D_STENCIL_FUNC_REF                                0x00000368
  292.  
  293. #define NV10_3D_STENCIL_FUNC_MASK                               0x0000036c
  294.  
  295. #define NV10_3D_STENCIL_OP_FAIL                                 0x00000370
  296. #define NV10_3D_STENCIL_OP_FAIL_ZERO                            0x00000000
  297. #define NV10_3D_STENCIL_OP_FAIL_INVERT                          0x0000150a
  298. #define NV10_3D_STENCIL_OP_FAIL_KEEP                            0x00001e00
  299. #define NV10_3D_STENCIL_OP_FAIL_REPLACE                         0x00001e01
  300. #define NV10_3D_STENCIL_OP_FAIL_INCR                            0x00001e02
  301. #define NV10_3D_STENCIL_OP_FAIL_DECR                            0x00001e03
  302. #define NV10_3D_STENCIL_OP_FAIL_INCR_WRAP                       0x00008507
  303. #define NV10_3D_STENCIL_OP_FAIL_DECR_WRAP                       0x00008508
  304.  
  305. #define NV10_3D_STENCIL_OP_ZFAIL                                0x00000374
  306. #define NV10_3D_STENCIL_OP_ZFAIL_ZERO                           0x00000000
  307. #define NV10_3D_STENCIL_OP_ZFAIL_INVERT                         0x0000150a
  308. #define NV10_3D_STENCIL_OP_ZFAIL_KEEP                           0x00001e00
  309. #define NV10_3D_STENCIL_OP_ZFAIL_REPLACE                        0x00001e01
  310. #define NV10_3D_STENCIL_OP_ZFAIL_INCR                           0x00001e02
  311. #define NV10_3D_STENCIL_OP_ZFAIL_DECR                           0x00001e03
  312. #define NV10_3D_STENCIL_OP_ZFAIL_INCR_WRAP                      0x00008507
  313. #define NV10_3D_STENCIL_OP_ZFAIL_DECR_WRAP                      0x00008508
  314.  
  315. #define NV10_3D_STENCIL_OP_ZPASS                                0x00000378
  316. #define NV10_3D_STENCIL_OP_ZPASS_ZERO                           0x00000000
  317. #define NV10_3D_STENCIL_OP_ZPASS_INVERT                         0x0000150a
  318. #define NV10_3D_STENCIL_OP_ZPASS_KEEP                           0x00001e00
  319. #define NV10_3D_STENCIL_OP_ZPASS_REPLACE                        0x00001e01
  320. #define NV10_3D_STENCIL_OP_ZPASS_INCR                           0x00001e02
  321. #define NV10_3D_STENCIL_OP_ZPASS_DECR                           0x00001e03
  322. #define NV10_3D_STENCIL_OP_ZPASS_INCR_WRAP                      0x00008507
  323. #define NV10_3D_STENCIL_OP_ZPASS_DECR_WRAP                      0x00008508
  324.  
  325. #define NV10_3D_SHADE_MODEL                                     0x0000037c
  326. #define NV10_3D_SHADE_MODEL_FLAT                                0x00001d00
  327. #define NV10_3D_SHADE_MODEL_SMOOTH                              0x00001d01
  328.  
  329. #define NV10_3D_LINE_WIDTH                                      0x00000380
  330.  
  331. #define NV10_3D_POLYGON_OFFSET_FACTOR                           0x00000384
  332.  
  333. #define NV10_3D_POLYGON_OFFSET_UNITS                            0x00000388
  334.  
  335. #define NV10_3D_POLYGON_MODE_FRONT                              0x0000038c
  336. #define NV10_3D_POLYGON_MODE_FRONT_POINT                        0x00001b00
  337. #define NV10_3D_POLYGON_MODE_FRONT_LINE                         0x00001b01
  338. #define NV10_3D_POLYGON_MODE_FRONT_FILL                         0x00001b02
  339.  
  340. #define NV10_3D_POLYGON_MODE_BACK                               0x00000390
  341. #define NV10_3D_POLYGON_MODE_BACK_POINT                         0x00001b00
  342. #define NV10_3D_POLYGON_MODE_BACK_LINE                          0x00001b01
  343. #define NV10_3D_POLYGON_MODE_BACK_FILL                          0x00001b02
  344.  
  345. #define NV10_3D_DEPTH_RANGE_NEAR                                0x00000394
  346.  
  347. #define NV10_3D_DEPTH_RANGE_FAR                                 0x00000398
  348.  
  349. #define NV10_3D_CULL_FACE                                       0x0000039c
  350. #define NV10_3D_CULL_FACE_FRONT                                 0x00000404
  351. #define NV10_3D_CULL_FACE_BACK                                  0x00000405
  352. #define NV10_3D_CULL_FACE_FRONT_AND_BACK                        0x00000408
  353.  
  354. #define NV10_3D_FRONT_FACE                                      0x000003a0
  355. #define NV10_3D_FRONT_FACE_CW                                   0x00000900
  356. #define NV10_3D_FRONT_FACE_CCW                                  0x00000901
  357.  
  358.  
  359. #define NV10_3D_VERTEX_POS_3F                                   0x00000c00
  360.  
  361.  
  362. #define NV10_3D_VERTEX_POS_3F_X                                 0x00000c00
  363.  
  364. #define NV10_3D_VERTEX_POS_3F_Y                                 0x00000c04
  365.  
  366. #define NV10_3D_VERTEX_POS_3F_Z                                 0x00000c08
  367.  
  368. #define NV10_3D_VERTEX_POS_4F                                   0x00000c18
  369.  
  370.  
  371. #define NV10_3D_VERTEX_POS_4F_X                                 0x00000c18
  372.  
  373. #define NV10_3D_VERTEX_POS_4F_Y                                 0x00000c1c
  374.  
  375. #define NV10_3D_VERTEX_POS_4F_Z                                 0x00000c20
  376.  
  377. #define NV10_3D_VERTEX_POS_4F_W                                 0x00000c24
  378.  
  379. #define NV10_3D_VERTEX_NOR_3F                                   0x00000c30
  380.  
  381.  
  382. #define NV10_3D_VERTEX_NOR_3F_X                                 0x00000c30
  383.  
  384. #define NV10_3D_VERTEX_NOR_3F_Y                                 0x00000c34
  385.  
  386. #define NV10_3D_VERTEX_NOR_3F_Z                                 0x00000c38
  387.  
  388. #define NV10_3D_VERTEX_NOR_3I                                   0x00000c30
  389.  
  390.  
  391. #define NV10_3D_VERTEX_NOR_3I_XY                                0x00000c30
  392. #define NV10_3D_VERTEX_NOR_3I_XY_X__MASK                        0x0000ffff
  393. #define NV10_3D_VERTEX_NOR_3I_XY_X__SHIFT                       0
  394. #define NV10_3D_VERTEX_NOR_3I_XY_Y__MASK                        0xffff0000
  395. #define NV10_3D_VERTEX_NOR_3I_XY_Y__SHIFT                       16
  396.  
  397. #define NV10_3D_VERTEX_NOR_3I_Z                                 0x00000c34
  398. #define NV10_3D_VERTEX_NOR_3I_Z_Z__MASK                         0x0000ffff
  399. #define NV10_3D_VERTEX_NOR_3I_Z_Z__SHIFT                        0
  400.  
  401. #define NV10_3D_VERTEX_COL_4F                                   0x00000c50
  402.  
  403.  
  404. #define NV10_3D_VERTEX_COL_4F_R                                 0x00000c50
  405.  
  406. #define NV10_3D_VERTEX_COL_4F_G                                 0x00000c54
  407.  
  408. #define NV10_3D_VERTEX_COL_4F_B                                 0x00000c58
  409.  
  410. #define NV10_3D_VERTEX_COL_4F_A                                 0x00000c5c
  411.  
  412. #define NV10_3D_VERTEX_COL_3F                                   0x00000c60
  413.  
  414.  
  415. #define NV10_3D_VERTEX_COL_3F_R                                 0x00000c60
  416.  
  417. #define NV10_3D_VERTEX_COL_3F_G                                 0x00000c64
  418.  
  419. #define NV10_3D_VERTEX_COL_3F_B                                 0x00000c68
  420.  
  421. #define NV10_3D_VERTEX_COL_4I                                   0x00000c6c
  422. #define NV10_3D_VERTEX_COL_4I_R__MASK                           0x000000ff
  423. #define NV10_3D_VERTEX_COL_4I_R__SHIFT                          0
  424. #define NV10_3D_VERTEX_COL_4I_G__MASK                           0x0000ff00
  425. #define NV10_3D_VERTEX_COL_4I_G__SHIFT                          8
  426. #define NV10_3D_VERTEX_COL_4I_B__MASK                           0x00ff0000
  427. #define NV10_3D_VERTEX_COL_4I_B__SHIFT                          16
  428. #define NV10_3D_VERTEX_COL_4I_A__MASK                           0xff000000
  429. #define NV10_3D_VERTEX_COL_4I_A__SHIFT                          24
  430.  
  431. #define NV10_3D_VERTEX_COL2_3F                                  0x00000c80
  432.  
  433.  
  434. #define NV10_3D_VERTEX_COL2_3F_R                                0x00000c80
  435.  
  436. #define NV10_3D_VERTEX_COL2_3F_G                                0x00000c84
  437.  
  438. #define NV10_3D_VERTEX_COL2_3F_B                                0x00000c88
  439.  
  440. #define NV10_3D_VERTEX_COL2_3I                                  0x00000c8c
  441. #define NV10_3D_VERTEX_COL2_3I_R__MASK                          0x000000ff
  442. #define NV10_3D_VERTEX_COL2_3I_R__SHIFT                         0
  443. #define NV10_3D_VERTEX_COL2_3I_G__MASK                          0x0000ff00
  444. #define NV10_3D_VERTEX_COL2_3I_G__SHIFT                         8
  445. #define NV10_3D_VERTEX_COL2_3I_B__MASK                          0x00ff0000
  446. #define NV10_3D_VERTEX_COL2_3I_B__SHIFT                         16
  447.  
  448. #define NV10_3D_VERTEX_TX0_2F                                   0x00000c90
  449.  
  450.  
  451. #define NV10_3D_VERTEX_TX0_2F_S                                 0x00000c90
  452.  
  453. #define NV10_3D_VERTEX_TX0_2F_T                                 0x00000c94
  454.  
  455. #define NV10_3D_VERTEX_TX0_2I                                   0x00000c98
  456. #define NV10_3D_VERTEX_TX0_2I_S__MASK                           0x0000ffff
  457. #define NV10_3D_VERTEX_TX0_2I_S__SHIFT                          0
  458. #define NV10_3D_VERTEX_TX0_2I_T__MASK                           0xffff0000
  459. #define NV10_3D_VERTEX_TX0_2I_T__SHIFT                          16
  460.  
  461. #define NV10_3D_VERTEX_TX0_4F                                   0x00000ca0
  462.  
  463.  
  464. #define NV10_3D_VERTEX_TX0_4F_S                                 0x00000ca0
  465.  
  466. #define NV10_3D_VERTEX_TX0_4F_T                                 0x00000ca4
  467.  
  468. #define NV10_3D_VERTEX_TX0_4F_R                                 0x00000ca8
  469.  
  470. #define NV10_3D_VERTEX_TX0_4F_Q                                 0x00000cac
  471.  
  472. #define NV10_3D_VERTEX_TX0_4I                                   0x00000cb0
  473.  
  474.  
  475. #define NV10_3D_VERTEX_TX0_4I_ST                                0x00000cb0
  476. #define NV10_3D_VERTEX_TX0_4I_ST_S__MASK                        0x0000ffff
  477. #define NV10_3D_VERTEX_TX0_4I_ST_S__SHIFT                       0
  478. #define NV10_3D_VERTEX_TX0_4I_ST_T__MASK                        0xffff0000
  479. #define NV10_3D_VERTEX_TX0_4I_ST_T__SHIFT                       16
  480.  
  481. #define NV10_3D_VERTEX_TX0_4I_RQ                                0x00000cb4
  482. #define NV10_3D_VERTEX_TX0_4I_RQ_R__MASK                        0x0000ffff
  483. #define NV10_3D_VERTEX_TX0_4I_RQ_R__SHIFT                       0
  484. #define NV10_3D_VERTEX_TX0_4I_RQ_Q__MASK                        0xffff0000
  485. #define NV10_3D_VERTEX_TX0_4I_RQ_Q__SHIFT                       16
  486.  
  487. #define NV10_3D_VERTEX_TX1_2F                                   0x00000cb8
  488.  
  489.  
  490. #define NV10_3D_VERTEX_TX1_2F_S                                 0x00000cb8
  491.  
  492. #define NV10_3D_VERTEX_TX1_2F_T                                 0x00000cbc
  493.  
  494. #define NV10_3D_VERTEX_TX1_2I                                   0x00000cc0
  495. #define NV10_3D_VERTEX_TX1_2I_S__MASK                           0x0000ffff
  496. #define NV10_3D_VERTEX_TX1_2I_S__SHIFT                          0
  497. #define NV10_3D_VERTEX_TX1_2I_T__MASK                           0xffff0000
  498. #define NV10_3D_VERTEX_TX1_2I_T__SHIFT                          16
  499.  
  500. #define NV10_3D_VERTEX_TX1_4F                                   0x00000cc8
  501.  
  502.  
  503. #define NV10_3D_VERTEX_TX1_4F_S                                 0x00000cc8
  504.  
  505. #define NV10_3D_VERTEX_TX1_4F_T                                 0x00000ccc
  506.  
  507. #define NV10_3D_VERTEX_TX1_4F_R                                 0x00000cd0
  508.  
  509. #define NV10_3D_VERTEX_TX1_4F_Q                                 0x00000cd4
  510.  
  511. #define NV10_3D_VERTEX_TX1_4I                                   0x00000cd8
  512.  
  513.  
  514. #define NV10_3D_VERTEX_TX1_4I_ST                                0x00000cd8
  515. #define NV10_3D_VERTEX_TX1_4I_ST_S__MASK                        0x0000ffff
  516. #define NV10_3D_VERTEX_TX1_4I_ST_S__SHIFT                       0
  517. #define NV10_3D_VERTEX_TX1_4I_ST_T__MASK                        0xffff0000
  518. #define NV10_3D_VERTEX_TX1_4I_ST_T__SHIFT                       16
  519.  
  520. #define NV10_3D_VERTEX_TX1_4I_RQ                                0x00000cdc
  521. #define NV10_3D_VERTEX_TX1_4I_RQ_R__MASK                        0x0000ffff
  522. #define NV10_3D_VERTEX_TX1_4I_RQ_R__SHIFT                       0
  523. #define NV10_3D_VERTEX_TX1_4I_RQ_Q__MASK                        0xffff0000
  524. #define NV10_3D_VERTEX_TX1_4I_RQ_Q__SHIFT                       16
  525.  
  526. #define NV10_3D_VERTEX_FOG_1F                                   0x00000ce0
  527.  
  528. #define NV10_3D_VERTEX_WGH_1F                                   0x00000ce4
  529.  
  530. #define NV10_3D_EDGEFLAG_ENABLE                                 0x00000cec
  531.  
  532.  
  533. #define NV10_3D_DMA_VTXBUF                                      0x0000018c
  534.  
  535. #define NV10_3D_VTXBUF_VALIDATE                                 0x00000cf0
  536.  
  537.  
  538. #define NV10_3D_VTXBUF_OFFSET(i0)                              (0x00000d00 + 0x8*(i0))
  539.  
  540. #define NV10_3D_VTXBUF_FMT(i0)                                 (0x00000d04 + 0x8*(i0))
  541. #define NV10_3D_VTXBUF_FMT_TYPE__MASK                           0x0000000f
  542. #define NV10_3D_VTXBUF_FMT_TYPE__SHIFT                          0
  543. #define NV10_3D_VTXBUF_FMT_TYPE_B8G8R8A8_UNORM                  0x00000000
  544. #define NV10_3D_VTXBUF_FMT_TYPE_V16_SNORM                       0x00000001
  545. #define NV10_3D_VTXBUF_FMT_TYPE_V32_FLOAT                       0x00000002
  546. #define NV10_3D_VTXBUF_FMT_TYPE_U8_UNORM                        0x00000004
  547. #define NV10_3D_VTXBUF_FMT_FIELDS__MASK                         0x000000f0
  548. #define NV10_3D_VTXBUF_FMT_FIELDS__SHIFT                        4
  549. #define NV10_3D_VTXBUF_FMT_STRIDE__MASK                         0x0000ff00
  550. #define NV10_3D_VTXBUF_FMT_STRIDE__SHIFT                        8
  551. #define NV10_3D_VTXBUF_FMT_HOMOGENEOUS                          0x01000000
  552.  
  553. #define NV10_3D_VERTEX_BEGIN_END                                0x00000dfc
  554. #define NV10_3D_VERTEX_BEGIN_END_STOP                           0x00000000
  555. #define NV10_3D_VERTEX_BEGIN_END_POINTS                         0x00000001
  556. #define NV10_3D_VERTEX_BEGIN_END_LINES                          0x00000002
  557. #define NV10_3D_VERTEX_BEGIN_END_LINE_LOOP                      0x00000003
  558. #define NV10_3D_VERTEX_BEGIN_END_LINE_STRIP                     0x00000004
  559. #define NV10_3D_VERTEX_BEGIN_END_TRIANGLES                      0x00000005
  560. #define NV10_3D_VERTEX_BEGIN_END_TRIANGLE_STRIP                 0x00000006
  561. #define NV10_3D_VERTEX_BEGIN_END_TRIANGLE_FAN                   0x00000007
  562. #define NV10_3D_VERTEX_BEGIN_END_QUADS                          0x00000008
  563. #define NV10_3D_VERTEX_BEGIN_END_QUAD_STRIP                     0x00000009
  564. #define NV10_3D_VERTEX_BEGIN_END_POLYGON                        0x0000000a
  565.  
  566. #define NV10_3D_VTXBUF_ELEMENT_U16                              0x00000e00
  567. #define NV10_3D_VTXBUF_ELEMENT_U16_I0__MASK                     0x0000ffff
  568. #define NV10_3D_VTXBUF_ELEMENT_U16_I0__SHIFT                    0
  569. #define NV10_3D_VTXBUF_ELEMENT_U16_I1__MASK                     0xffff0000
  570. #define NV10_3D_VTXBUF_ELEMENT_U16_I1__SHIFT                    16
  571.  
  572. #define NV10_3D_VTXBUF_ELEMENT_U32                              0x00001100
  573.  
  574. #define NV10_3D_VTXBUF_BEGIN_END                                0x000013fc
  575. #define NV10_3D_VTXBUF_BEGIN_END_STOP                           0x00000000
  576. #define NV10_3D_VTXBUF_BEGIN_END_POINTS                         0x00000001
  577. #define NV10_3D_VTXBUF_BEGIN_END_LINES                          0x00000002
  578. #define NV10_3D_VTXBUF_BEGIN_END_LINE_LOOP                      0x00000003
  579. #define NV10_3D_VTXBUF_BEGIN_END_LINE_STRIP                     0x00000004
  580. #define NV10_3D_VTXBUF_BEGIN_END_TRIANGLES                      0x00000005
  581. #define NV10_3D_VTXBUF_BEGIN_END_TRIANGLE_STRIP                 0x00000006
  582. #define NV10_3D_VTXBUF_BEGIN_END_TRIANGLE_FAN                   0x00000007
  583. #define NV10_3D_VTXBUF_BEGIN_END_QUADS                          0x00000008
  584. #define NV10_3D_VTXBUF_BEGIN_END_QUAD_STRIP                     0x00000009
  585. #define NV10_3D_VTXBUF_BEGIN_END_POLYGON                        0x0000000a
  586.  
  587. #define NV10_3D_VTXBUF_BATCH                                    0x00001400
  588. #define NV10_3D_VTXBUF_BATCH_FIRST__MASK                        0x0000ffff
  589. #define NV10_3D_VTXBUF_BATCH_FIRST__SHIFT                       0
  590. #define NV10_3D_VTXBUF_BATCH_LAST__MASK                         0xff000000
  591. #define NV10_3D_VTXBUF_BATCH_LAST__SHIFT                        24
  592.  
  593. #define NV10_3D_VTXBUF_DATA                                     0x00001800
  594.  
  595.  
  596. #define NV10_3D_VERTEX_WEIGHT_ENABLE                            0x00000328
  597.  
  598. #define NV10_3D_VIEW_MATRIX_ENABLE                              0x000003e8
  599. #define NV10_3D_VIEW_MATRIX_ENABLE_MODELVIEW1                   0x00000001
  600. #define NV10_3D_VIEW_MATRIX_ENABLE_MODELVIEW0                   0x00000002
  601. #define NV10_3D_VIEW_MATRIX_ENABLE_PROJECTION                   0x00000004
  602.  
  603.  
  604. #define NV10_3D_MODELVIEW_MATRIX(i0, i1)                       (0x00000400 + 0x40*(i0) + 0x4*(i1))
  605. #define NV10_3D_MODELVIEW_MATRIX__ESIZE                         0x00000004
  606. #define NV10_3D_MODELVIEW_MATRIX__LEN                           0x00000010
  607.  
  608. #define NV10_3D_INVERSE_MODELVIEW_MATRIX(i0, i1)               (0x00000480 + 0x40*(i0) + 0x4*(i1))
  609. #define NV10_3D_INVERSE_MODELVIEW_MATRIX__ESIZE                 0x00000004
  610. #define NV10_3D_INVERSE_MODELVIEW_MATRIX__LEN                   0x0000000c
  611.  
  612. #define NV10_3D_PROJECTION_MATRIX(i0)                          (0x00000500 + 0x4*(i0))
  613. #define NV10_3D_PROJECTION_MATRIX__ESIZE                        0x00000004
  614. #define NV10_3D_PROJECTION_MATRIX__LEN                          0x00000010
  615.  
  616. #define NV10_3D_VIEWPORT_TRANSLATE                              0x000006e8
  617.  
  618.  
  619. #define NV10_3D_VIEWPORT_TRANSLATE_X                            0x000006e8
  620.  
  621. #define NV10_3D_VIEWPORT_TRANSLATE_Y                            0x000006ec
  622.  
  623. #define NV10_3D_VIEWPORT_TRANSLATE_Z                            0x000006f0
  624.  
  625. #define NV10_3D_VIEWPORT_TRANSLATE_W                            0x000006f4
  626.  
  627.  
  628. #define NV10_3D_LIGHT_MODEL                                     0x00000294
  629. #define NV10_3D_LIGHT_MODEL_VERTEX_SPECULAR                     0x00000001
  630. #define NV10_3D_LIGHT_MODEL_SEPARATE_SPECULAR                   0x00000002
  631. #define NV10_3D_LIGHT_MODEL_LOCAL_VIEWER                        0x00010000
  632.  
  633. #define NV10_3D_COLOR_MATERIAL                                  0x00000298
  634. #define NV10_3D_COLOR_MATERIAL_EMISSION                         0x00000001
  635. #define NV10_3D_COLOR_MATERIAL_AMBIENT                          0x00000002
  636. #define NV10_3D_COLOR_MATERIAL_DIFFUSE                          0x00000004
  637. #define NV10_3D_COLOR_MATERIAL_SPECULAR                         0x00000008
  638.  
  639. #define NV10_3D_MATERIAL_FACTOR                                 0x000003a8
  640.  
  641.  
  642. #define NV10_3D_MATERIAL_FACTOR_R                               0x000003a8
  643.  
  644. #define NV10_3D_MATERIAL_FACTOR_G                               0x000003ac
  645.  
  646. #define NV10_3D_MATERIAL_FACTOR_B                               0x000003b0
  647.  
  648. #define NV10_3D_MATERIAL_FACTOR_A                               0x000003b4
  649.  
  650. #define NV10_3D_NORMALIZE_ENABLE                                0x000003a4
  651.  
  652. #define NV10_3D_SEPARATE_SPECULAR_ENABLE                        0x000003b8
  653.  
  654. #define NV10_3D_ENABLED_LIGHTS                                  0x000003bc
  655. #define NV10_3D_ENABLED_LIGHTS_0__MASK                          0x00000003
  656. #define NV10_3D_ENABLED_LIGHTS_0__SHIFT                         0
  657. #define NV10_3D_ENABLED_LIGHTS_0_DISABLED                       0x00000000
  658. #define NV10_3D_ENABLED_LIGHTS_0_NONPOSITIONAL                  0x00000001
  659. #define NV10_3D_ENABLED_LIGHTS_0_POSITIONAL                     0x00000002
  660. #define NV10_3D_ENABLED_LIGHTS_0_DIRECTIONAL                    0x00000003
  661. #define NV10_3D_ENABLED_LIGHTS_1__MASK                          0x0000000c
  662. #define NV10_3D_ENABLED_LIGHTS_1__SHIFT                         2
  663. #define NV10_3D_ENABLED_LIGHTS_1_DISABLED                       0x00000000
  664. #define NV10_3D_ENABLED_LIGHTS_1_NONPOSITIONAL                  0x00000004
  665. #define NV10_3D_ENABLED_LIGHTS_1_POSITIONAL                     0x00000008
  666. #define NV10_3D_ENABLED_LIGHTS_1_DIRECTIONAL                    0x0000000c
  667. #define NV10_3D_ENABLED_LIGHTS_2__MASK                          0x00000030
  668. #define NV10_3D_ENABLED_LIGHTS_2__SHIFT                         4
  669. #define NV10_3D_ENABLED_LIGHTS_2_DISABLED                       0x00000000
  670. #define NV10_3D_ENABLED_LIGHTS_2_NONPOSITIONAL                  0x00000010
  671. #define NV10_3D_ENABLED_LIGHTS_2_POSITIONAL                     0x00000020
  672. #define NV10_3D_ENABLED_LIGHTS_2_DIRECTIONAL                    0x00000030
  673. #define NV10_3D_ENABLED_LIGHTS_3__MASK                          0x000000c0
  674. #define NV10_3D_ENABLED_LIGHTS_3__SHIFT                         6
  675. #define NV10_3D_ENABLED_LIGHTS_3_DISABLED                       0x00000000
  676. #define NV10_3D_ENABLED_LIGHTS_3_NONPOSITIONAL                  0x00000040
  677. #define NV10_3D_ENABLED_LIGHTS_3_POSITIONAL                     0x00000080
  678. #define NV10_3D_ENABLED_LIGHTS_3_DIRECTIONAL                    0x000000c0
  679. #define NV10_3D_ENABLED_LIGHTS_4__MASK                          0x00000300
  680. #define NV10_3D_ENABLED_LIGHTS_4__SHIFT                         8
  681. #define NV10_3D_ENABLED_LIGHTS_4_DISABLED                       0x00000000
  682. #define NV10_3D_ENABLED_LIGHTS_4_NONPOSITIONAL                  0x00000100
  683. #define NV10_3D_ENABLED_LIGHTS_4_POSITIONAL                     0x00000200
  684. #define NV10_3D_ENABLED_LIGHTS_4_DIRECTIONAL                    0x00000300
  685. #define NV10_3D_ENABLED_LIGHTS_5__MASK                          0x00000c00
  686. #define NV10_3D_ENABLED_LIGHTS_5__SHIFT                         10
  687. #define NV10_3D_ENABLED_LIGHTS_5_DISABLED                       0x00000000
  688. #define NV10_3D_ENABLED_LIGHTS_5_NONPOSITIONAL                  0x00000400
  689. #define NV10_3D_ENABLED_LIGHTS_5_POSITIONAL                     0x00000800
  690. #define NV10_3D_ENABLED_LIGHTS_5_DIRECTIONAL                    0x00000c00
  691. #define NV10_3D_ENABLED_LIGHTS_6__MASK                          0x00003000
  692. #define NV10_3D_ENABLED_LIGHTS_6__SHIFT                         12
  693. #define NV10_3D_ENABLED_LIGHTS_6_DISABLED                       0x00000000
  694. #define NV10_3D_ENABLED_LIGHTS_6_NONPOSITIONAL                  0x00001000
  695. #define NV10_3D_ENABLED_LIGHTS_6_POSITIONAL                     0x00002000
  696. #define NV10_3D_ENABLED_LIGHTS_6_DIRECTIONAL                    0x00003000
  697. #define NV10_3D_ENABLED_LIGHTS_7__MASK                          0x0000c000
  698. #define NV10_3D_ENABLED_LIGHTS_7__SHIFT                         14
  699. #define NV10_3D_ENABLED_LIGHTS_7_DISABLED                       0x00000000
  700. #define NV10_3D_ENABLED_LIGHTS_7_NONPOSITIONAL                  0x00004000
  701. #define NV10_3D_ENABLED_LIGHTS_7_POSITIONAL                     0x00008000
  702. #define NV10_3D_ENABLED_LIGHTS_7_DIRECTIONAL                    0x0000c000
  703.  
  704. #define NV10_3D_MATERIAL_SHININESS(i0)                         (0x000006a0 + 0x4*(i0))
  705. #define NV10_3D_MATERIAL_SHININESS__ESIZE                       0x00000004
  706. #define NV10_3D_MATERIAL_SHININESS__LEN                         0x00000006
  707.  
  708. #define NV10_3D_LIGHT_MODEL_AMBIENT                             0x000006c4
  709.  
  710.  
  711. #define NV10_3D_LIGHT_MODEL_AMBIENT_R                           0x000006c4
  712.  
  713. #define NV10_3D_LIGHT_MODEL_AMBIENT_G                           0x000006c8
  714.  
  715. #define NV10_3D_LIGHT_MODEL_AMBIENT_B                           0x000006cc
  716.  
  717. #define NV10_3D_LIGHT(i0)                                      (0x00000800 + 0x80*(i0))
  718. #define NV10_3D_LIGHT__ESIZE                                    0x00000080
  719. #define NV10_3D_LIGHT__LEN                                      0x00000008
  720.  
  721. #define NV10_3D_LIGHT_AMBIENT(i0)                              (0x00000800 + 0x80*(i0))
  722.  
  723.  
  724. #define NV10_3D_LIGHT_AMBIENT_R(i0)                            (0x00000800 + 0x80*(i0))
  725.  
  726. #define NV10_3D_LIGHT_AMBIENT_G(i0)                            (0x00000804 + 0x80*(i0))
  727.  
  728. #define NV10_3D_LIGHT_AMBIENT_B(i0)                            (0x00000808 + 0x80*(i0))
  729.  
  730. #define NV10_3D_LIGHT_DIFFUSE(i0)                              (0x0000080c + 0x80*(i0))
  731.  
  732.  
  733. #define NV10_3D_LIGHT_DIFFUSE_R(i0)                            (0x0000080c + 0x80*(i0))
  734.  
  735. #define NV10_3D_LIGHT_DIFFUSE_G(i0)                            (0x00000810 + 0x80*(i0))
  736.  
  737. #define NV10_3D_LIGHT_DIFFUSE_B(i0)                            (0x00000814 + 0x80*(i0))
  738.  
  739. #define NV10_3D_LIGHT_SPECULAR(i0)                             (0x00000818 + 0x80*(i0))
  740.  
  741.  
  742. #define NV10_3D_LIGHT_SPECULAR_R(i0)                           (0x00000818 + 0x80*(i0))
  743.  
  744. #define NV10_3D_LIGHT_SPECULAR_G(i0)                           (0x0000081c + 0x80*(i0))
  745.  
  746. #define NV10_3D_LIGHT_SPECULAR_B(i0)                           (0x00000820 + 0x80*(i0))
  747.  
  748. #define NV10_3D_LIGHT_HALF_VECTOR(i0)                          (0x00000828 + 0x80*(i0))
  749.  
  750.  
  751. #define NV10_3D_LIGHT_HALF_VECTOR_X(i0)                        (0x00000828 + 0x80*(i0))
  752.  
  753. #define NV10_3D_LIGHT_HALF_VECTOR_Y(i0)                        (0x0000082c + 0x80*(i0))
  754.  
  755. #define NV10_3D_LIGHT_HALF_VECTOR_Z(i0)                        (0x00000830 + 0x80*(i0))
  756.  
  757. #define NV10_3D_LIGHT_DIRECTION(i0)                            (0x00000834 + 0x80*(i0))
  758.  
  759.  
  760. #define NV10_3D_LIGHT_DIRECTION_X(i0)                          (0x00000834 + 0x80*(i0))
  761.  
  762. #define NV10_3D_LIGHT_DIRECTION_Y(i0)                          (0x00000838 + 0x80*(i0))
  763.  
  764. #define NV10_3D_LIGHT_DIRECTION_Z(i0)                          (0x0000083c + 0x80*(i0))
  765.  
  766. #define NV10_3D_LIGHT_SPOT_CUTOFF(i0, i1)                      (0x00000840 + 0x80*(i0) + 0x4*(i1))
  767. #define NV10_3D_LIGHT_SPOT_CUTOFF__ESIZE                        0x00000004
  768. #define NV10_3D_LIGHT_SPOT_CUTOFF__LEN                          0x00000007
  769.  
  770. #define NV10_3D_LIGHT_POSITION(i0)                             (0x0000085c + 0x80*(i0))
  771.  
  772.  
  773. #define NV10_3D_LIGHT_POSITION_X(i0)                           (0x0000085c + 0x80*(i0))
  774.  
  775. #define NV10_3D_LIGHT_POSITION_Y(i0)                           (0x00000860 + 0x80*(i0))
  776.  
  777. #define NV10_3D_LIGHT_POSITION_Z(i0)                           (0x00000864 + 0x80*(i0))
  778.  
  779. #define NV10_3D_LIGHT_ATTENUATION(i0)                          (0x00000868 + 0x80*(i0))
  780.  
  781. #define NV10_3D_LIGHT_ATTENUATION_CONSTANT(i0)                 (0x00000868 + 0x80*(i0))
  782.  
  783. #define NV10_3D_LIGHT_ATTENUATION_LINEAR(i0)                   (0x0000086c + 0x80*(i0))
  784.  
  785. #define NV10_3D_LIGHT_ATTENUATION_QUADRATIC(i0)                (0x00000870 + 0x80*(i0))
  786.  
  787.  
  788. #define NV10_3D_FOG_MODE                                        0x0000029c
  789. #define NV10_3D_FOG_MODE_LINEAR                                 0x00002601
  790. #define NV10_3D_FOG_MODE_EXP                                    0x00000800
  791. #define NV10_3D_FOG_MODE_EXP_ABS                                0x00000802
  792. #define NV10_3D_FOG_MODE_EXP2                                   0x00000803
  793.  
  794. #define NV10_3D_FOG_COORD                                       0x000002a0
  795. #define NV10_3D_FOG_COORD_FOG                                   0x00000000
  796. #define NV10_3D_FOG_COORD_DIST_RADIAL                           0x00000001
  797. #define NV10_3D_FOG_COORD_DIST_ORTHOGONAL                       0x00000002
  798. #define NV10_3D_FOG_COORD_DIST_ORTHOGONAL_ABS                   0x00000003
  799.  
  800. #define NV10_3D_FOG_ENABLE                                      0x000002a4
  801.  
  802. #define NV10_3D_FOG_COLOR                                       0x000002a8
  803. #define NV10_3D_FOG_COLOR_R__MASK                               0x000000ff
  804. #define NV10_3D_FOG_COLOR_R__SHIFT                              0
  805. #define NV10_3D_FOG_COLOR_G__MASK                               0x0000ff00
  806. #define NV10_3D_FOG_COLOR_G__SHIFT                              8
  807. #define NV10_3D_FOG_COLOR_B__MASK                               0x00ff0000
  808. #define NV10_3D_FOG_COLOR_B__SHIFT                              16
  809. #define NV10_3D_FOG_COLOR_A__MASK                               0xff000000
  810. #define NV10_3D_FOG_COLOR_A__SHIFT                              24
  811.  
  812. #define NV10_3D_FOG_COEFF(i0)                                  (0x00000680 + 0x4*(i0))
  813. #define NV10_3D_FOG_COEFF__ESIZE                                0x00000004
  814. #define NV10_3D_FOG_COEFF__LEN                                  0x00000003
  815.  
  816.  
  817.  
  818. #define NV10_3D_TEX_GEN_MODE(i0, i1)                           (0x000003c0 + 0x10*(i0) + 0x4*(i1))
  819. #define NV10_3D_TEX_GEN_MODE__ESIZE                             0x00000004
  820. #define NV10_3D_TEX_GEN_MODE__LEN                               0x00000004
  821. #define NV10_3D_TEX_GEN_MODE_FALSE                              0x00000000
  822. #define NV10_3D_TEX_GEN_MODE_EYE_LINEAR                         0x00002400
  823. #define NV10_3D_TEX_GEN_MODE_OBJECT_LINEAR                      0x00002401
  824. #define NV10_3D_TEX_GEN_MODE_SPHERE_MAP                         0x00002402
  825. #define NV10_3D_TEX_GEN_MODE_NORMAL_MAP                         0x00008511
  826. #define NV10_3D_TEX_GEN_MODE_REFLECTION_MAP                     0x00008512
  827.  
  828.  
  829. #define NV10_3D_TEX_GEN_COEFF(i0, i1)                          (0x00000600 + 0x40*(i0) + 0x10*(i1))
  830. #define NV10_3D_TEX_GEN_COEFF__ESIZE                            0x00000010
  831. #define NV10_3D_TEX_GEN_COEFF__LEN                              0x00000004
  832.  
  833. #define NV10_3D_TEX_GEN_COEFF_A(i0, i1)                        (0x00000600 + 0x40*(i0) + 0x10*(i1))
  834.  
  835. #define NV10_3D_TEX_GEN_COEFF_B(i0, i1)                        (0x00000604 + 0x40*(i0) + 0x10*(i1))
  836.  
  837. #define NV10_3D_TEX_GEN_COEFF_C(i0, i1)                        (0x00000608 + 0x40*(i0) + 0x10*(i1))
  838.  
  839. #define NV10_3D_TEX_GEN_COEFF_D(i0, i1)                        (0x0000060c + 0x40*(i0) + 0x10*(i1))
  840.  
  841. #define NV10_3D_TEX_MATRIX_ENABLE(i0)                          (0x000003e0 + 0x4*(i0))
  842. #define NV10_3D_TEX_MATRIX_ENABLE__ESIZE                        0x00000004
  843. #define NV10_3D_TEX_MATRIX_ENABLE__LEN                          0x00000002
  844.  
  845.  
  846. #define NV10_3D_TEX_MATRIX(i0, i1)                             (0x00000540 + 0x40*(i0) + 0x4*(i1))
  847. #define NV10_3D_TEX_MATRIX__ESIZE                               0x00000004
  848. #define NV10_3D_TEX_MATRIX__LEN                                 0x00000010
  849.  
  850. #define NV10_3D_TEX(i0)                                        (0x00000000 + 0x4*(i0))
  851. #define NV10_3D_TEX__ESIZE                                      0x00000004
  852. #define NV10_3D_TEX__LEN                                        0x00000002
  853.  
  854. #define NV10_3D_TEX_OFFSET(i0)                                 (0x00000218 + 0x4*(i0))
  855.  
  856. #define NV10_3D_TEX_FORMAT(i0)                                 (0x00000220 + 0x4*(i0))
  857. #define NV10_3D_TEX_FORMAT_DMA0                                 0x00000001
  858. #define NV10_3D_TEX_FORMAT_DMA1                                 0x00000002
  859. #define NV10_3D_TEX_FORMAT_CUBE_MAP                             0x00000004
  860. #define NV10_3D_TEX_FORMAT_FORMAT__MASK                         0x00000f80
  861. #define NV10_3D_TEX_FORMAT_FORMAT__SHIFT                        7
  862. #define NV10_3D_TEX_FORMAT_FORMAT_L8                            0x00000000
  863. #define NV10_3D_TEX_FORMAT_FORMAT_I8                            0x00000080
  864. #define NV10_3D_TEX_FORMAT_FORMAT_A1R5G5B5                      0x00000100
  865. #define NV10_3D_TEX_FORMAT_FORMAT_A4R4G4B4                      0x00000200
  866. #define NV10_3D_TEX_FORMAT_FORMAT_R5G6B5                        0x00000280
  867. #define NV10_3D_TEX_FORMAT_FORMAT_A8R8G8B8                      0x00000300
  868. #define NV10_3D_TEX_FORMAT_FORMAT_X8R8G8B8                      0x00000380
  869. #define NV10_3D_TEX_FORMAT_FORMAT_INDEX8                        0x00000580
  870. #define NV10_3D_TEX_FORMAT_FORMAT_DXT1                          0x00000600
  871. #define NV10_3D_TEX_FORMAT_FORMAT_DXT3                          0x00000700
  872. #define NV10_3D_TEX_FORMAT_FORMAT_DXT5                          0x00000780
  873. #define NV10_3D_TEX_FORMAT_FORMAT_A1R5G5B5_RECT                 0x00000800
  874. #define NV10_3D_TEX_FORMAT_FORMAT_R5G6B5_RECT                   0x00000880
  875. #define NV10_3D_TEX_FORMAT_FORMAT_A8R8G8B8_RECT                 0x00000900
  876. #define NV10_3D_TEX_FORMAT_FORMAT_I8_RECT                       0x00000980
  877. #define NV10_3D_TEX_FORMAT_MIPMAP                               0x00008000
  878. #define NV10_3D_TEX_FORMAT_BASE_SIZE_U__MASK                    0x000f0000
  879. #define NV10_3D_TEX_FORMAT_BASE_SIZE_U__SHIFT                   16
  880. #define NV10_3D_TEX_FORMAT_BASE_SIZE_V__MASK                    0x00f00000
  881. #define NV10_3D_TEX_FORMAT_BASE_SIZE_V__SHIFT                   20
  882. #define NV10_3D_TEX_FORMAT_WRAP_S__MASK                         0x0f000000
  883. #define NV10_3D_TEX_FORMAT_WRAP_S__SHIFT                        24
  884. #define NV10_3D_TEX_FORMAT_WRAP_S_REPEAT                        0x01000000
  885. #define NV10_3D_TEX_FORMAT_WRAP_S_MIRRORED_REPEAT               0x02000000
  886. #define NV10_3D_TEX_FORMAT_WRAP_S_CLAMP_TO_EDGE                 0x03000000
  887. #define NV10_3D_TEX_FORMAT_WRAP_S_CLAMP_TO_BORDER               0x04000000
  888. #define NV10_3D_TEX_FORMAT_WRAP_S_CLAMP                         0x05000000
  889. #define NV10_3D_TEX_FORMAT_WRAP_T__MASK                         0xf0000000
  890. #define NV10_3D_TEX_FORMAT_WRAP_T__SHIFT                        28
  891. #define NV10_3D_TEX_FORMAT_WRAP_T_REPEAT                        0x10000000
  892. #define NV10_3D_TEX_FORMAT_WRAP_T_MIRRORED_REPEAT               0x20000000
  893. #define NV10_3D_TEX_FORMAT_WRAP_T_CLAMP_TO_EDGE                 0x30000000
  894. #define NV10_3D_TEX_FORMAT_WRAP_T_CLAMP_TO_BORDER               0x40000000
  895. #define NV10_3D_TEX_FORMAT_WRAP_T_CLAMP                         0x50000000
  896.  
  897. #define NV10_3D_TEX_ENABLE(i0)                                 (0x00000228 + 0x4*(i0))
  898. #define NV10_3D_TEX_ENABLE_CULL__MASK                           0x0000000f
  899. #define NV10_3D_TEX_ENABLE_CULL__SHIFT                          0
  900. #define NV10_3D_TEX_ENABLE_CULL_DISABLED                        0x00000000
  901. #define NV10_3D_TEX_ENABLE_CULL_TEST_ALL                        0x00000003
  902. #define NV10_3D_TEX_ENABLE_CULL_TEST_ALPHA                      0x00000004
  903. #define NV10_3D_TEX_ENABLE_ANISOTROPY__MASK                     0x00000030
  904. #define NV10_3D_TEX_ENABLE_ANISOTROPY__SHIFT                    4
  905. #define NV10_3D_TEX_ENABLE_MIPMAP_MAX_LOD__MASK                 0x0003c000
  906. #define NV10_3D_TEX_ENABLE_MIPMAP_MAX_LOD__SHIFT                14
  907. #define NV10_3D_TEX_ENABLE_MIPMAP_MIN_LOD__MASK                 0x3c000000
  908. #define NV10_3D_TEX_ENABLE_MIPMAP_MIN_LOD__SHIFT                26
  909. #define NV10_3D_TEX_ENABLE_ENABLE                               0x40000000
  910.  
  911. #define NV10_3D_TEX_NPOT_PITCH(i0)                             (0x00000230 + 0x4*(i0))
  912. #define NV10_3D_TEX_NPOT_PITCH_PITCH__MASK                      0xffff0000
  913. #define NV10_3D_TEX_NPOT_PITCH_PITCH__SHIFT                     16
  914.  
  915. #define NV10_3D_TEX_NPOT_SIZE(i0)                              (0x00000240 + 0x4*(i0))
  916. #define NV10_3D_TEX_NPOT_SIZE_H__MASK                           0x0000ffff
  917. #define NV10_3D_TEX_NPOT_SIZE_H__SHIFT                          0
  918. #define NV10_3D_TEX_NPOT_SIZE_W__MASK                           0xffff0000
  919. #define NV10_3D_TEX_NPOT_SIZE_W__SHIFT                          16
  920.  
  921. #define NV10_3D_TEX_FILTER(i0)                                 (0x00000248 + 0x4*(i0))
  922. #define NV10_3D_TEX_FILTER_LOD_BIAS__MASK                       0x00000f00
  923. #define NV10_3D_TEX_FILTER_LOD_BIAS__SHIFT                      8
  924. #define NV10_3D_TEX_FILTER_MINIFY__MASK                         0x0f000000
  925. #define NV10_3D_TEX_FILTER_MINIFY__SHIFT                        24
  926. #define NV10_3D_TEX_FILTER_MINIFY_NEAREST                       0x01000000
  927. #define NV10_3D_TEX_FILTER_MINIFY_LINEAR                        0x02000000
  928. #define NV10_3D_TEX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST        0x03000000
  929. #define NV10_3D_TEX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST         0x04000000
  930. #define NV10_3D_TEX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR         0x05000000
  931. #define NV10_3D_TEX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR          0x06000000
  932. #define NV10_3D_TEX_FILTER_MAGNIFY__MASK                        0xf0000000
  933. #define NV10_3D_TEX_FILTER_MAGNIFY__SHIFT                       28
  934. #define NV10_3D_TEX_FILTER_MAGNIFY_NEAREST                      0x10000000
  935. #define NV10_3D_TEX_FILTER_MAGNIFY_LINEAR                       0x20000000
  936.  
  937. #define NV10_3D_TEX_PALETTE_OFFSET(i0)                         (0x00000250 + 0x4*(i0))
  938.  
  939.  
  940.  
  941. #define NV10_3D_RC_IN_ALPHA(i0)                                (0x00000260 + 0x4*(i0))
  942. #define NV10_3D_RC_IN_ALPHA_D_INPUT__MASK                       0x0000000f
  943. #define NV10_3D_RC_IN_ALPHA_D_INPUT__SHIFT                      0
  944. #define NV10_3D_RC_IN_ALPHA_D_INPUT_ZERO                        0x00000000
  945. #define NV10_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0             0x00000001
  946. #define NV10_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1             0x00000002
  947. #define NV10_3D_RC_IN_ALPHA_D_INPUT_FOG                         0x00000003
  948. #define NV10_3D_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR               0x00000004
  949. #define NV10_3D_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR             0x00000005
  950. #define NV10_3D_RC_IN_ALPHA_D_INPUT_TEXTURE0                    0x00000008
  951. #define NV10_3D_RC_IN_ALPHA_D_INPUT_TEXTURE1                    0x00000009
  952. #define NV10_3D_RC_IN_ALPHA_D_INPUT_TEXTURE2                    0x0000000a
  953. #define NV10_3D_RC_IN_ALPHA_D_INPUT_TEXTURE3                    0x0000000b
  954. #define NV10_3D_RC_IN_ALPHA_D_INPUT_SPARE0                      0x0000000c
  955. #define NV10_3D_RC_IN_ALPHA_D_INPUT_SPARE1                      0x0000000d
  956. #define NV10_3D_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
  957. #define NV10_3D_RC_IN_ALPHA_D_INPUT_E_TIMES_F                   0x0000000f
  958. #define NV10_3D_RC_IN_ALPHA_D_COMPONENT_USAGE__MASK             0x00000010
  959. #define NV10_3D_RC_IN_ALPHA_D_COMPONENT_USAGE__SHIFT            4
  960. #define NV10_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE              0x00000000
  961. #define NV10_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA             0x00000010
  962. #define NV10_3D_RC_IN_ALPHA_D_MAPPING__MASK                     0x000000e0
  963. #define NV10_3D_RC_IN_ALPHA_D_MAPPING__SHIFT                    5
  964. #define NV10_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY         0x00000000
  965. #define NV10_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT           0x00000020
  966. #define NV10_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL             0x00000040
  967. #define NV10_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE             0x00000060
  968. #define NV10_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL          0x00000080
  969. #define NV10_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE          0x000000a0
  970. #define NV10_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY           0x000000c0
  971. #define NV10_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE             0x000000e0
  972. #define NV10_3D_RC_IN_ALPHA_C_INPUT__MASK                       0x00000f00
  973. #define NV10_3D_RC_IN_ALPHA_C_INPUT__SHIFT                      8
  974. #define NV10_3D_RC_IN_ALPHA_C_INPUT_ZERO                        0x00000000
  975. #define NV10_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0             0x00000100
  976. #define NV10_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1             0x00000200
  977. #define NV10_3D_RC_IN_ALPHA_C_INPUT_FOG                         0x00000300
  978. #define NV10_3D_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR               0x00000400
  979. #define NV10_3D_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR             0x00000500
  980. #define NV10_3D_RC_IN_ALPHA_C_INPUT_TEXTURE0                    0x00000800
  981. #define NV10_3D_RC_IN_ALPHA_C_INPUT_TEXTURE1                    0x00000900
  982. #define NV10_3D_RC_IN_ALPHA_C_INPUT_TEXTURE2                    0x00000a00
  983. #define NV10_3D_RC_IN_ALPHA_C_INPUT_TEXTURE3                    0x00000b00
  984. #define NV10_3D_RC_IN_ALPHA_C_INPUT_SPARE0                      0x00000c00
  985. #define NV10_3D_RC_IN_ALPHA_C_INPUT_SPARE1                      0x00000d00
  986. #define NV10_3D_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
  987. #define NV10_3D_RC_IN_ALPHA_C_INPUT_E_TIMES_F                   0x00000f00
  988. #define NV10_3D_RC_IN_ALPHA_C_COMPONENT_USAGE__MASK             0x00001000
  989. #define NV10_3D_RC_IN_ALPHA_C_COMPONENT_USAGE__SHIFT            12
  990. #define NV10_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE              0x00000000
  991. #define NV10_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA             0x00001000
  992. #define NV10_3D_RC_IN_ALPHA_C_MAPPING__MASK                     0x0000e000
  993. #define NV10_3D_RC_IN_ALPHA_C_MAPPING__SHIFT                    13
  994. #define NV10_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY         0x00000000
  995. #define NV10_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT           0x00002000
  996. #define NV10_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL             0x00004000
  997. #define NV10_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE             0x00006000
  998. #define NV10_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL          0x00008000
  999. #define NV10_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE          0x0000a000
  1000. #define NV10_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY           0x0000c000
  1001. #define NV10_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE             0x0000e000
  1002. #define NV10_3D_RC_IN_ALPHA_B_INPUT__MASK                       0x000f0000
  1003. #define NV10_3D_RC_IN_ALPHA_B_INPUT__SHIFT                      16
  1004. #define NV10_3D_RC_IN_ALPHA_B_INPUT_ZERO                        0x00000000
  1005. #define NV10_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0             0x00010000
  1006. #define NV10_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1             0x00020000
  1007. #define NV10_3D_RC_IN_ALPHA_B_INPUT_FOG                         0x00030000
  1008. #define NV10_3D_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR               0x00040000
  1009. #define NV10_3D_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR             0x00050000
  1010. #define NV10_3D_RC_IN_ALPHA_B_INPUT_TEXTURE0                    0x00080000
  1011. #define NV10_3D_RC_IN_ALPHA_B_INPUT_TEXTURE1                    0x00090000
  1012. #define NV10_3D_RC_IN_ALPHA_B_INPUT_TEXTURE2                    0x000a0000
  1013. #define NV10_3D_RC_IN_ALPHA_B_INPUT_TEXTURE3                    0x000b0000
  1014. #define NV10_3D_RC_IN_ALPHA_B_INPUT_SPARE0                      0x000c0000
  1015. #define NV10_3D_RC_IN_ALPHA_B_INPUT_SPARE1                      0x000d0000
  1016. #define NV10_3D_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
  1017. #define NV10_3D_RC_IN_ALPHA_B_INPUT_E_TIMES_F                   0x000f0000
  1018. #define NV10_3D_RC_IN_ALPHA_B_COMPONENT_USAGE__MASK             0x00100000
  1019. #define NV10_3D_RC_IN_ALPHA_B_COMPONENT_USAGE__SHIFT            20
  1020. #define NV10_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE              0x00000000
  1021. #define NV10_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA             0x00100000
  1022. #define NV10_3D_RC_IN_ALPHA_B_MAPPING__MASK                     0x00e00000
  1023. #define NV10_3D_RC_IN_ALPHA_B_MAPPING__SHIFT                    21
  1024. #define NV10_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY         0x00000000
  1025. #define NV10_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT           0x00200000
  1026. #define NV10_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL             0x00400000
  1027. #define NV10_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE             0x00600000
  1028. #define NV10_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL          0x00800000
  1029. #define NV10_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE          0x00a00000
  1030. #define NV10_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY           0x00c00000
  1031. #define NV10_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE             0x00e00000
  1032. #define NV10_3D_RC_IN_ALPHA_A_INPUT__MASK                       0x0f000000
  1033. #define NV10_3D_RC_IN_ALPHA_A_INPUT__SHIFT                      24
  1034. #define NV10_3D_RC_IN_ALPHA_A_INPUT_ZERO                        0x00000000
  1035. #define NV10_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0             0x01000000
  1036. #define NV10_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1             0x02000000
  1037. #define NV10_3D_RC_IN_ALPHA_A_INPUT_FOG                         0x03000000
  1038. #define NV10_3D_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR               0x04000000
  1039. #define NV10_3D_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR             0x05000000
  1040. #define NV10_3D_RC_IN_ALPHA_A_INPUT_TEXTURE0                    0x08000000
  1041. #define NV10_3D_RC_IN_ALPHA_A_INPUT_TEXTURE1                    0x09000000
  1042. #define NV10_3D_RC_IN_ALPHA_A_INPUT_TEXTURE2                    0x0a000000
  1043. #define NV10_3D_RC_IN_ALPHA_A_INPUT_TEXTURE3                    0x0b000000
  1044. #define NV10_3D_RC_IN_ALPHA_A_INPUT_SPARE0                      0x0c000000
  1045. #define NV10_3D_RC_IN_ALPHA_A_INPUT_SPARE1                      0x0d000000
  1046. #define NV10_3D_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
  1047. #define NV10_3D_RC_IN_ALPHA_A_INPUT_E_TIMES_F                   0x0f000000
  1048. #define NV10_3D_RC_IN_ALPHA_A_COMPONENT_USAGE__MASK             0x10000000
  1049. #define NV10_3D_RC_IN_ALPHA_A_COMPONENT_USAGE__SHIFT            28
  1050. #define NV10_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE              0x00000000
  1051. #define NV10_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA             0x10000000
  1052. #define NV10_3D_RC_IN_ALPHA_A_MAPPING__MASK                     0xe0000000
  1053. #define NV10_3D_RC_IN_ALPHA_A_MAPPING__SHIFT                    29
  1054. #define NV10_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY         0x00000000
  1055. #define NV10_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT           0x20000000
  1056. #define NV10_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL             0x40000000
  1057. #define NV10_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE             0x60000000
  1058. #define NV10_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL          0x80000000
  1059. #define NV10_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE          0xa0000000
  1060. #define NV10_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY           0xc0000000
  1061. #define NV10_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE             0xe0000000
  1062.  
  1063. #define NV10_3D_RC_IN_RGB(i0)                                  (0x00000268 + 0x4*(i0))
  1064. #define NV10_3D_RC_IN_RGB_D_INPUT__MASK                         0x0000000f
  1065. #define NV10_3D_RC_IN_RGB_D_INPUT__SHIFT                        0
  1066. #define NV10_3D_RC_IN_RGB_D_INPUT_ZERO                          0x00000000
  1067. #define NV10_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0               0x00000001
  1068. #define NV10_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1               0x00000002
  1069. #define NV10_3D_RC_IN_RGB_D_INPUT_FOG                           0x00000003
  1070. #define NV10_3D_RC_IN_RGB_D_INPUT_PRIMARY_COLOR                 0x00000004
  1071. #define NV10_3D_RC_IN_RGB_D_INPUT_SECONDARY_COLOR               0x00000005
  1072. #define NV10_3D_RC_IN_RGB_D_INPUT_TEXTURE0                      0x00000008
  1073. #define NV10_3D_RC_IN_RGB_D_INPUT_TEXTURE1                      0x00000009
  1074. #define NV10_3D_RC_IN_RGB_D_INPUT_TEXTURE2                      0x0000000a
  1075. #define NV10_3D_RC_IN_RGB_D_INPUT_TEXTURE3                      0x0000000b
  1076. #define NV10_3D_RC_IN_RGB_D_INPUT_SPARE0                        0x0000000c
  1077. #define NV10_3D_RC_IN_RGB_D_INPUT_SPARE1                        0x0000000d
  1078. #define NV10_3D_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR   0x0000000e
  1079. #define NV10_3D_RC_IN_RGB_D_INPUT_E_TIMES_F                     0x0000000f
  1080. #define NV10_3D_RC_IN_RGB_D_COMPONENT_USAGE__MASK               0x00000010
  1081. #define NV10_3D_RC_IN_RGB_D_COMPONENT_USAGE__SHIFT              4
  1082. #define NV10_3D_RC_IN_RGB_D_COMPONENT_USAGE_RGB                 0x00000000
  1083. #define NV10_3D_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA               0x00000010
  1084. #define NV10_3D_RC_IN_RGB_D_MAPPING__MASK                       0x000000e0
  1085. #define NV10_3D_RC_IN_RGB_D_MAPPING__SHIFT                      5
  1086. #define NV10_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY           0x00000000
  1087. #define NV10_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT             0x00000020
  1088. #define NV10_3D_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL               0x00000040
  1089. #define NV10_3D_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE               0x00000060
  1090. #define NV10_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL            0x00000080
  1091. #define NV10_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE            0x000000a0
  1092. #define NV10_3D_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY             0x000000c0
  1093. #define NV10_3D_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE               0x000000e0
  1094. #define NV10_3D_RC_IN_RGB_C_INPUT__MASK                         0x00000f00
  1095. #define NV10_3D_RC_IN_RGB_C_INPUT__SHIFT                        8
  1096. #define NV10_3D_RC_IN_RGB_C_INPUT_ZERO                          0x00000000
  1097. #define NV10_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0               0x00000100
  1098. #define NV10_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1               0x00000200
  1099. #define NV10_3D_RC_IN_RGB_C_INPUT_FOG                           0x00000300
  1100. #define NV10_3D_RC_IN_RGB_C_INPUT_PRIMARY_COLOR                 0x00000400
  1101. #define NV10_3D_RC_IN_RGB_C_INPUT_SECONDARY_COLOR               0x00000500
  1102. #define NV10_3D_RC_IN_RGB_C_INPUT_TEXTURE0                      0x00000800
  1103. #define NV10_3D_RC_IN_RGB_C_INPUT_TEXTURE1                      0x00000900
  1104. #define NV10_3D_RC_IN_RGB_C_INPUT_TEXTURE2                      0x00000a00
  1105. #define NV10_3D_RC_IN_RGB_C_INPUT_TEXTURE3                      0x00000b00
  1106. #define NV10_3D_RC_IN_RGB_C_INPUT_SPARE0                        0x00000c00
  1107. #define NV10_3D_RC_IN_RGB_C_INPUT_SPARE1                        0x00000d00
  1108. #define NV10_3D_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR   0x00000e00
  1109. #define NV10_3D_RC_IN_RGB_C_INPUT_E_TIMES_F                     0x00000f00
  1110. #define NV10_3D_RC_IN_RGB_C_COMPONENT_USAGE__MASK               0x00001000
  1111. #define NV10_3D_RC_IN_RGB_C_COMPONENT_USAGE__SHIFT              12
  1112. #define NV10_3D_RC_IN_RGB_C_COMPONENT_USAGE_RGB                 0x00000000
  1113. #define NV10_3D_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA               0x00001000
  1114. #define NV10_3D_RC_IN_RGB_C_MAPPING__MASK                       0x0000e000
  1115. #define NV10_3D_RC_IN_RGB_C_MAPPING__SHIFT                      13
  1116. #define NV10_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY           0x00000000
  1117. #define NV10_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT             0x00002000
  1118. #define NV10_3D_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL               0x00004000
  1119. #define NV10_3D_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE               0x00006000
  1120. #define NV10_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL            0x00008000
  1121. #define NV10_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE            0x0000a000
  1122. #define NV10_3D_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY             0x0000c000
  1123. #define NV10_3D_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE               0x0000e000
  1124. #define NV10_3D_RC_IN_RGB_B_INPUT__MASK                         0x000f0000
  1125. #define NV10_3D_RC_IN_RGB_B_INPUT__SHIFT                        16
  1126. #define NV10_3D_RC_IN_RGB_B_INPUT_ZERO                          0x00000000
  1127. #define NV10_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0               0x00010000
  1128. #define NV10_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1               0x00020000
  1129. #define NV10_3D_RC_IN_RGB_B_INPUT_FOG                           0x00030000
  1130. #define NV10_3D_RC_IN_RGB_B_INPUT_PRIMARY_COLOR                 0x00040000
  1131. #define NV10_3D_RC_IN_RGB_B_INPUT_SECONDARY_COLOR               0x00050000
  1132. #define NV10_3D_RC_IN_RGB_B_INPUT_TEXTURE0                      0x00080000
  1133. #define NV10_3D_RC_IN_RGB_B_INPUT_TEXTURE1                      0x00090000
  1134. #define NV10_3D_RC_IN_RGB_B_INPUT_TEXTURE2                      0x000a0000
  1135. #define NV10_3D_RC_IN_RGB_B_INPUT_TEXTURE3                      0x000b0000
  1136. #define NV10_3D_RC_IN_RGB_B_INPUT_SPARE0                        0x000c0000
  1137. #define NV10_3D_RC_IN_RGB_B_INPUT_SPARE1                        0x000d0000
  1138. #define NV10_3D_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR   0x000e0000
  1139. #define NV10_3D_RC_IN_RGB_B_INPUT_E_TIMES_F                     0x000f0000
  1140. #define NV10_3D_RC_IN_RGB_B_COMPONENT_USAGE__MASK               0x00100000
  1141. #define NV10_3D_RC_IN_RGB_B_COMPONENT_USAGE__SHIFT              20
  1142. #define NV10_3D_RC_IN_RGB_B_COMPONENT_USAGE_RGB                 0x00000000
  1143. #define NV10_3D_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA               0x00100000
  1144. #define NV10_3D_RC_IN_RGB_B_MAPPING__MASK                       0x00e00000
  1145. #define NV10_3D_RC_IN_RGB_B_MAPPING__SHIFT                      21
  1146. #define NV10_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY           0x00000000
  1147. #define NV10_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT             0x00200000
  1148. #define NV10_3D_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL               0x00400000
  1149. #define NV10_3D_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE               0x00600000
  1150. #define NV10_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL            0x00800000
  1151. #define NV10_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE            0x00a00000
  1152. #define NV10_3D_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY             0x00c00000
  1153. #define NV10_3D_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE               0x00e00000
  1154. #define NV10_3D_RC_IN_RGB_A_INPUT__MASK                         0x0f000000
  1155. #define NV10_3D_RC_IN_RGB_A_INPUT__SHIFT                        24
  1156. #define NV10_3D_RC_IN_RGB_A_INPUT_ZERO                          0x00000000
  1157. #define NV10_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0               0x01000000
  1158. #define NV10_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1               0x02000000
  1159. #define NV10_3D_RC_IN_RGB_A_INPUT_FOG                           0x03000000
  1160. #define NV10_3D_RC_IN_RGB_A_INPUT_PRIMARY_COLOR                 0x04000000
  1161. #define NV10_3D_RC_IN_RGB_A_INPUT_SECONDARY_COLOR               0x05000000
  1162. #define NV10_3D_RC_IN_RGB_A_INPUT_TEXTURE0                      0x08000000
  1163. #define NV10_3D_RC_IN_RGB_A_INPUT_TEXTURE1                      0x09000000
  1164. #define NV10_3D_RC_IN_RGB_A_INPUT_TEXTURE2                      0x0a000000
  1165. #define NV10_3D_RC_IN_RGB_A_INPUT_TEXTURE3                      0x0b000000
  1166. #define NV10_3D_RC_IN_RGB_A_INPUT_SPARE0                        0x0c000000
  1167. #define NV10_3D_RC_IN_RGB_A_INPUT_SPARE1                        0x0d000000
  1168. #define NV10_3D_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR   0x0e000000
  1169. #define NV10_3D_RC_IN_RGB_A_INPUT_E_TIMES_F                     0x0f000000
  1170. #define NV10_3D_RC_IN_RGB_A_COMPONENT_USAGE__MASK               0x10000000
  1171. #define NV10_3D_RC_IN_RGB_A_COMPONENT_USAGE__SHIFT              28
  1172. #define NV10_3D_RC_IN_RGB_A_COMPONENT_USAGE_RGB                 0x00000000
  1173. #define NV10_3D_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA               0x10000000
  1174. #define NV10_3D_RC_IN_RGB_A_MAPPING__MASK                       0xe0000000
  1175. #define NV10_3D_RC_IN_RGB_A_MAPPING__SHIFT                      29
  1176. #define NV10_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY           0x00000000
  1177. #define NV10_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT             0x20000000
  1178. #define NV10_3D_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL               0x40000000
  1179. #define NV10_3D_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE               0x60000000
  1180. #define NV10_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL            0x80000000
  1181. #define NV10_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE            0xa0000000
  1182. #define NV10_3D_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY             0xc0000000
  1183. #define NV10_3D_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE               0xe0000000
  1184.  
  1185. #define NV10_3D_RC_COLOR(i0)                                   (0x00000270 + 0x4*(i0))
  1186. #define NV10_3D_RC_COLOR_B__MASK                                0x000000ff
  1187. #define NV10_3D_RC_COLOR_B__SHIFT                               0
  1188. #define NV10_3D_RC_COLOR_G__MASK                                0x0000ff00
  1189. #define NV10_3D_RC_COLOR_G__SHIFT                               8
  1190. #define NV10_3D_RC_COLOR_R__MASK                                0x00ff0000
  1191. #define NV10_3D_RC_COLOR_R__SHIFT                               16
  1192. #define NV10_3D_RC_COLOR_A__MASK                                0xff000000
  1193. #define NV10_3D_RC_COLOR_A__SHIFT                               24
  1194.  
  1195. #define NV10_3D_RC_OUT_ALPHA(i0)                               (0x00000278 + 0x4*(i0))
  1196. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT__MASK                    0x0000000f
  1197. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT__SHIFT                   0
  1198. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_ZERO                     0x00000000
  1199. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0          0x00000001
  1200. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1          0x00000002
  1201. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_FOG                      0x00000003
  1202. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR            0x00000004
  1203. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR          0x00000005
  1204. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0                 0x00000008
  1205. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1                 0x00000009
  1206. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2                 0x0000000a
  1207. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3                 0x0000000b
  1208. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0                   0x0000000c
  1209. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE1                   0x0000000d
  1210. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR      0x0000000e
  1211. #define NV10_3D_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F                0x0000000f
  1212. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT__MASK                    0x000000f0
  1213. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT__SHIFT                   4
  1214. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_ZERO                     0x00000000
  1215. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0          0x00000010
  1216. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1          0x00000020
  1217. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_FOG                      0x00000030
  1218. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR            0x00000040
  1219. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR          0x00000050
  1220. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0                 0x00000080
  1221. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1                 0x00000090
  1222. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2                 0x000000a0
  1223. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3                 0x000000b0
  1224. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0                   0x000000c0
  1225. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE1                   0x000000d0
  1226. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR      0x000000e0
  1227. #define NV10_3D_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F                0x000000f0
  1228. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT__MASK                   0x00000f00
  1229. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT__SHIFT                  8
  1230. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_ZERO                    0x00000000
  1231. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0         0x00000100
  1232. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1         0x00000200
  1233. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_FOG                     0x00000300
  1234. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR           0x00000400
  1235. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR         0x00000500
  1236. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0                0x00000800
  1237. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1                0x00000900
  1238. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2                0x00000a00
  1239. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3                0x00000b00
  1240. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0                  0x00000c00
  1241. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1                  0x00000d00
  1242. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR     0x00000e00
  1243. #define NV10_3D_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F               0x00000f00
  1244. #define NV10_3D_RC_OUT_ALPHA_CD_DOT_PRODUCT                     0x00001000
  1245. #define NV10_3D_RC_OUT_ALPHA_AB_DOT_PRODUCT                     0x00002000
  1246. #define NV10_3D_RC_OUT_ALPHA_MUX_SUM                            0x00004000
  1247. #define NV10_3D_RC_OUT_ALPHA_BIAS__MASK                         0x00008000
  1248. #define NV10_3D_RC_OUT_ALPHA_BIAS__SHIFT                        15
  1249. #define NV10_3D_RC_OUT_ALPHA_BIAS_NONE                          0x00000000
  1250. #define NV10_3D_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF     0x00008000
  1251. #define NV10_3D_RC_OUT_ALPHA_SCALE__MASK                        0x00030000
  1252. #define NV10_3D_RC_OUT_ALPHA_SCALE__SHIFT                       16
  1253. #define NV10_3D_RC_OUT_ALPHA_SCALE_NONE                         0x00000000
  1254. #define NV10_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO                 0x00010000
  1255. #define NV10_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR                0x00020000
  1256. #define NV10_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF            0x00030000
  1257.  
  1258. #define NV10_3D_RC_OUT_RGB(i0)                                 (0x00000280 + 0x4*(i0))
  1259. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT__MASK                      0x0000000f
  1260. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT__SHIFT                     0
  1261. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_ZERO                       0x00000000
  1262. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0            0x00000001
  1263. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1            0x00000002
  1264. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_FOG                        0x00000003
  1265. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR              0x00000004
  1266. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR            0x00000005
  1267. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE0                   0x00000008
  1268. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE1                   0x00000009
  1269. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE2                   0x0000000a
  1270. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE3                   0x0000000b
  1271. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0                     0x0000000c
  1272. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_SPARE1                     0x0000000d
  1273. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR        0x0000000e
  1274. #define NV10_3D_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F                  0x0000000f
  1275. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT__MASK                      0x000000f0
  1276. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT__SHIFT                     4
  1277. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_ZERO                       0x00000000
  1278. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0            0x00000010
  1279. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1            0x00000020
  1280. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_FOG                        0x00000030
  1281. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR              0x00000040
  1282. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR            0x00000050
  1283. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE0                   0x00000080
  1284. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE1                   0x00000090
  1285. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE2                   0x000000a0
  1286. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE3                   0x000000b0
  1287. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0                     0x000000c0
  1288. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_SPARE1                     0x000000d0
  1289. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR        0x000000e0
  1290. #define NV10_3D_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F                  0x000000f0
  1291. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT__MASK                     0x00000f00
  1292. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT__SHIFT                    8
  1293. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_ZERO                      0x00000000
  1294. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0           0x00000100
  1295. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1           0x00000200
  1296. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_FOG                       0x00000300
  1297. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR             0x00000400
  1298. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR           0x00000500
  1299. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0                  0x00000800
  1300. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1                  0x00000900
  1301. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2                  0x00000a00
  1302. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3                  0x00000b00
  1303. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0                    0x00000c00
  1304. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE1                    0x00000d00
  1305. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR       0x00000e00
  1306. #define NV10_3D_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F                 0x00000f00
  1307. #define NV10_3D_RC_OUT_RGB_CD_DOT_PRODUCT                       0x00001000
  1308. #define NV10_3D_RC_OUT_RGB_AB_DOT_PRODUCT                       0x00002000
  1309. #define NV10_3D_RC_OUT_RGB_MUX_SUM                              0x00004000
  1310. #define NV10_3D_RC_OUT_RGB_BIAS__MASK                           0x00008000
  1311. #define NV10_3D_RC_OUT_RGB_BIAS__SHIFT                          15
  1312. #define NV10_3D_RC_OUT_RGB_BIAS_NONE                            0x00000000
  1313. #define NV10_3D_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF       0x00008000
  1314. #define NV10_3D_RC_OUT_RGB_SCALE__MASK                          0x00030000
  1315. #define NV10_3D_RC_OUT_RGB_SCALE__SHIFT                         16
  1316. #define NV10_3D_RC_OUT_RGB_SCALE_NONE                           0x00000000
  1317. #define NV10_3D_RC_OUT_RGB_SCALE_SCALE_BY_TWO                   0x00010000
  1318. #define NV10_3D_RC_OUT_RGB_SCALE_SCALE_BY_FOUR                  0x00020000
  1319. #define NV10_3D_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF              0x00030000
  1320. #define NV10_3D_RC_OUT_RGB_OPERATION__MASK                      0x38000000
  1321. #define NV10_3D_RC_OUT_RGB_OPERATION__SHIFT                     27
  1322.  
  1323. #define NV10_3D_RC_FINAL0                                       0x00000288
  1324. #define NV10_3D_RC_FINAL0_D_INPUT__MASK                         0x0000000f
  1325. #define NV10_3D_RC_FINAL0_D_INPUT__SHIFT                        0
  1326. #define NV10_3D_RC_FINAL0_D_INPUT_ZERO                          0x00000000
  1327. #define NV10_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR0               0x00000001
  1328. #define NV10_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR1               0x00000002
  1329. #define NV10_3D_RC_FINAL0_D_INPUT_FOG                           0x00000003
  1330. #define NV10_3D_RC_FINAL0_D_INPUT_PRIMARY_COLOR                 0x00000004
  1331. #define NV10_3D_RC_FINAL0_D_INPUT_SECONDARY_COLOR               0x00000005
  1332. #define NV10_3D_RC_FINAL0_D_INPUT_TEXTURE0                      0x00000008
  1333. #define NV10_3D_RC_FINAL0_D_INPUT_TEXTURE1                      0x00000009
  1334. #define NV10_3D_RC_FINAL0_D_INPUT_TEXTURE2                      0x0000000a
  1335. #define NV10_3D_RC_FINAL0_D_INPUT_TEXTURE3                      0x0000000b
  1336. #define NV10_3D_RC_FINAL0_D_INPUT_SPARE0                        0x0000000c
  1337. #define NV10_3D_RC_FINAL0_D_INPUT_SPARE1                        0x0000000d
  1338. #define NV10_3D_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR   0x0000000e
  1339. #define NV10_3D_RC_FINAL0_D_INPUT_E_TIMES_F                     0x0000000f
  1340. #define NV10_3D_RC_FINAL0_D_COMPONENT_USAGE__MASK               0x00000010
  1341. #define NV10_3D_RC_FINAL0_D_COMPONENT_USAGE__SHIFT              4
  1342. #define NV10_3D_RC_FINAL0_D_COMPONENT_USAGE_RGB                 0x00000000
  1343. #define NV10_3D_RC_FINAL0_D_COMPONENT_USAGE_ALPHA               0x00000010
  1344. #define NV10_3D_RC_FINAL0_D_MAPPING__MASK                       0x000000e0
  1345. #define NV10_3D_RC_FINAL0_D_MAPPING__SHIFT                      5
  1346. #define NV10_3D_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY           0x00000000
  1347. #define NV10_3D_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT             0x00000020
  1348. #define NV10_3D_RC_FINAL0_D_MAPPING_EXPAND_NORMAL               0x00000040
  1349. #define NV10_3D_RC_FINAL0_D_MAPPING_EXPAND_NEGATE               0x00000060
  1350. #define NV10_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL            0x00000080
  1351. #define NV10_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE            0x000000a0
  1352. #define NV10_3D_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY             0x000000c0
  1353. #define NV10_3D_RC_FINAL0_D_MAPPING_SIGNED_NEGATE               0x000000e0
  1354. #define NV10_3D_RC_FINAL0_C_INPUT__MASK                         0x00000f00
  1355. #define NV10_3D_RC_FINAL0_C_INPUT__SHIFT                        8
  1356. #define NV10_3D_RC_FINAL0_C_INPUT_ZERO                          0x00000000
  1357. #define NV10_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR0               0x00000100
  1358. #define NV10_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR1               0x00000200
  1359. #define NV10_3D_RC_FINAL0_C_INPUT_FOG                           0x00000300
  1360. #define NV10_3D_RC_FINAL0_C_INPUT_PRIMARY_COLOR                 0x00000400
  1361. #define NV10_3D_RC_FINAL0_C_INPUT_SECONDARY_COLOR               0x00000500
  1362. #define NV10_3D_RC_FINAL0_C_INPUT_TEXTURE0                      0x00000800
  1363. #define NV10_3D_RC_FINAL0_C_INPUT_TEXTURE1                      0x00000900
  1364. #define NV10_3D_RC_FINAL0_C_INPUT_TEXTURE2                      0x00000a00
  1365. #define NV10_3D_RC_FINAL0_C_INPUT_TEXTURE3                      0x00000b00
  1366. #define NV10_3D_RC_FINAL0_C_INPUT_SPARE0                        0x00000c00
  1367. #define NV10_3D_RC_FINAL0_C_INPUT_SPARE1                        0x00000d00
  1368. #define NV10_3D_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR   0x00000e00
  1369. #define NV10_3D_RC_FINAL0_C_INPUT_E_TIMES_F                     0x00000f00
  1370. #define NV10_3D_RC_FINAL0_C_COMPONENT_USAGE__MASK               0x00001000
  1371. #define NV10_3D_RC_FINAL0_C_COMPONENT_USAGE__SHIFT              12
  1372. #define NV10_3D_RC_FINAL0_C_COMPONENT_USAGE_RGB                 0x00000000
  1373. #define NV10_3D_RC_FINAL0_C_COMPONENT_USAGE_ALPHA               0x00001000
  1374. #define NV10_3D_RC_FINAL0_C_MAPPING__MASK                       0x0000e000
  1375. #define NV10_3D_RC_FINAL0_C_MAPPING__SHIFT                      13
  1376. #define NV10_3D_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY           0x00000000
  1377. #define NV10_3D_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT             0x00002000
  1378. #define NV10_3D_RC_FINAL0_C_MAPPING_EXPAND_NORMAL               0x00004000
  1379. #define NV10_3D_RC_FINAL0_C_MAPPING_EXPAND_NEGATE               0x00006000
  1380. #define NV10_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL            0x00008000
  1381. #define NV10_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE            0x0000a000
  1382. #define NV10_3D_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY             0x0000c000
  1383. #define NV10_3D_RC_FINAL0_C_MAPPING_SIGNED_NEGATE               0x0000e000
  1384. #define NV10_3D_RC_FINAL0_B_INPUT__MASK                         0x000f0000
  1385. #define NV10_3D_RC_FINAL0_B_INPUT__SHIFT                        16
  1386. #define NV10_3D_RC_FINAL0_B_INPUT_ZERO                          0x00000000
  1387. #define NV10_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR0               0x00010000
  1388. #define NV10_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR1               0x00020000
  1389. #define NV10_3D_RC_FINAL0_B_INPUT_FOG                           0x00030000
  1390. #define NV10_3D_RC_FINAL0_B_INPUT_PRIMARY_COLOR                 0x00040000
  1391. #define NV10_3D_RC_FINAL0_B_INPUT_SECONDARY_COLOR               0x00050000
  1392. #define NV10_3D_RC_FINAL0_B_INPUT_TEXTURE0                      0x00080000
  1393. #define NV10_3D_RC_FINAL0_B_INPUT_TEXTURE1                      0x00090000
  1394. #define NV10_3D_RC_FINAL0_B_INPUT_TEXTURE2                      0x000a0000
  1395. #define NV10_3D_RC_FINAL0_B_INPUT_TEXTURE3                      0x000b0000
  1396. #define NV10_3D_RC_FINAL0_B_INPUT_SPARE0                        0x000c0000
  1397. #define NV10_3D_RC_FINAL0_B_INPUT_SPARE1                        0x000d0000
  1398. #define NV10_3D_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR   0x000e0000
  1399. #define NV10_3D_RC_FINAL0_B_INPUT_E_TIMES_F                     0x000f0000
  1400. #define NV10_3D_RC_FINAL0_B_COMPONENT_USAGE__MASK               0x00100000
  1401. #define NV10_3D_RC_FINAL0_B_COMPONENT_USAGE__SHIFT              20
  1402. #define NV10_3D_RC_FINAL0_B_COMPONENT_USAGE_RGB                 0x00000000
  1403. #define NV10_3D_RC_FINAL0_B_COMPONENT_USAGE_ALPHA               0x00100000
  1404. #define NV10_3D_RC_FINAL0_B_MAPPING__MASK                       0x00e00000
  1405. #define NV10_3D_RC_FINAL0_B_MAPPING__SHIFT                      21
  1406. #define NV10_3D_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY           0x00000000
  1407. #define NV10_3D_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT             0x00200000
  1408. #define NV10_3D_RC_FINAL0_B_MAPPING_EXPAND_NORMAL               0x00400000
  1409. #define NV10_3D_RC_FINAL0_B_MAPPING_EXPAND_NEGATE               0x00600000
  1410. #define NV10_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL            0x00800000
  1411. #define NV10_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE            0x00a00000
  1412. #define NV10_3D_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY             0x00c00000
  1413. #define NV10_3D_RC_FINAL0_B_MAPPING_SIGNED_NEGATE               0x00e00000
  1414. #define NV10_3D_RC_FINAL0_A_INPUT__MASK                         0x0f000000
  1415. #define NV10_3D_RC_FINAL0_A_INPUT__SHIFT                        24
  1416. #define NV10_3D_RC_FINAL0_A_INPUT_ZERO                          0x00000000
  1417. #define NV10_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR0               0x01000000
  1418. #define NV10_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR1               0x02000000
  1419. #define NV10_3D_RC_FINAL0_A_INPUT_FOG                           0x03000000
  1420. #define NV10_3D_RC_FINAL0_A_INPUT_PRIMARY_COLOR                 0x04000000
  1421. #define NV10_3D_RC_FINAL0_A_INPUT_SECONDARY_COLOR               0x05000000
  1422. #define NV10_3D_RC_FINAL0_A_INPUT_TEXTURE0                      0x08000000
  1423. #define NV10_3D_RC_FINAL0_A_INPUT_TEXTURE1                      0x09000000
  1424. #define NV10_3D_RC_FINAL0_A_INPUT_TEXTURE2                      0x0a000000
  1425. #define NV10_3D_RC_FINAL0_A_INPUT_TEXTURE3                      0x0b000000
  1426. #define NV10_3D_RC_FINAL0_A_INPUT_SPARE0                        0x0c000000
  1427. #define NV10_3D_RC_FINAL0_A_INPUT_SPARE1                        0x0d000000
  1428. #define NV10_3D_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR   0x0e000000
  1429. #define NV10_3D_RC_FINAL0_A_INPUT_E_TIMES_F                     0x0f000000
  1430. #define NV10_3D_RC_FINAL0_A_COMPONENT_USAGE__MASK               0x10000000
  1431. #define NV10_3D_RC_FINAL0_A_COMPONENT_USAGE__SHIFT              28
  1432. #define NV10_3D_RC_FINAL0_A_COMPONENT_USAGE_RGB                 0x00000000
  1433. #define NV10_3D_RC_FINAL0_A_COMPONENT_USAGE_ALPHA               0x10000000
  1434. #define NV10_3D_RC_FINAL0_A_MAPPING__MASK                       0xe0000000
  1435. #define NV10_3D_RC_FINAL0_A_MAPPING__SHIFT                      29
  1436. #define NV10_3D_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY           0x00000000
  1437. #define NV10_3D_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT             0x20000000
  1438. #define NV10_3D_RC_FINAL0_A_MAPPING_EXPAND_NORMAL               0x40000000
  1439. #define NV10_3D_RC_FINAL0_A_MAPPING_EXPAND_NEGATE               0x60000000
  1440. #define NV10_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL            0x80000000
  1441. #define NV10_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE            0xa0000000
  1442. #define NV10_3D_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY             0xc0000000
  1443. #define NV10_3D_RC_FINAL0_A_MAPPING_SIGNED_NEGATE               0xe0000000
  1444.  
  1445. #define NV10_3D_RC_FINAL1                                       0x0000028c
  1446. #define NV10_3D_RC_FINAL1_COLOR_SUM_CLAMP                       0x00000080
  1447. #define NV10_3D_RC_FINAL1_G_INPUT__MASK                         0x00000f00
  1448. #define NV10_3D_RC_FINAL1_G_INPUT__SHIFT                        8
  1449. #define NV10_3D_RC_FINAL1_G_INPUT_ZERO                          0x00000000
  1450. #define NV10_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR0               0x00000100
  1451. #define NV10_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR1               0x00000200
  1452. #define NV10_3D_RC_FINAL1_G_INPUT_FOG                           0x00000300
  1453. #define NV10_3D_RC_FINAL1_G_INPUT_PRIMARY_COLOR                 0x00000400
  1454. #define NV10_3D_RC_FINAL1_G_INPUT_SECONDARY_COLOR               0x00000500
  1455. #define NV10_3D_RC_FINAL1_G_INPUT_TEXTURE0                      0x00000800
  1456. #define NV10_3D_RC_FINAL1_G_INPUT_TEXTURE1                      0x00000900
  1457. #define NV10_3D_RC_FINAL1_G_INPUT_TEXTURE2                      0x00000a00
  1458. #define NV10_3D_RC_FINAL1_G_INPUT_TEXTURE3                      0x00000b00
  1459. #define NV10_3D_RC_FINAL1_G_INPUT_SPARE0                        0x00000c00
  1460. #define NV10_3D_RC_FINAL1_G_INPUT_SPARE1                        0x00000d00
  1461. #define NV10_3D_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR   0x00000e00
  1462. #define NV10_3D_RC_FINAL1_G_INPUT_E_TIMES_F                     0x00000f00
  1463. #define NV10_3D_RC_FINAL1_G_COMPONENT_USAGE__MASK               0x00001000
  1464. #define NV10_3D_RC_FINAL1_G_COMPONENT_USAGE__SHIFT              12
  1465. #define NV10_3D_RC_FINAL1_G_COMPONENT_USAGE_RGB                 0x00000000
  1466. #define NV10_3D_RC_FINAL1_G_COMPONENT_USAGE_ALPHA               0x00001000
  1467. #define NV10_3D_RC_FINAL1_G_MAPPING__MASK                       0x0000e000
  1468. #define NV10_3D_RC_FINAL1_G_MAPPING__SHIFT                      13
  1469. #define NV10_3D_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY           0x00000000
  1470. #define NV10_3D_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT             0x00002000
  1471. #define NV10_3D_RC_FINAL1_G_MAPPING_EXPAND_NORMAL               0x00004000
  1472. #define NV10_3D_RC_FINAL1_G_MAPPING_EXPAND_NEGATE               0x00006000
  1473. #define NV10_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL            0x00008000
  1474. #define NV10_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE            0x0000a000
  1475. #define NV10_3D_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY             0x0000c000
  1476. #define NV10_3D_RC_FINAL1_G_MAPPING_SIGNED_NEGATE               0x0000e000
  1477. #define NV10_3D_RC_FINAL1_F_INPUT__MASK                         0x000f0000
  1478. #define NV10_3D_RC_FINAL1_F_INPUT__SHIFT                        16
  1479. #define NV10_3D_RC_FINAL1_F_INPUT_ZERO                          0x00000000
  1480. #define NV10_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR0               0x00010000
  1481. #define NV10_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR1               0x00020000
  1482. #define NV10_3D_RC_FINAL1_F_INPUT_FOG                           0x00030000
  1483. #define NV10_3D_RC_FINAL1_F_INPUT_PRIMARY_COLOR                 0x00040000
  1484. #define NV10_3D_RC_FINAL1_F_INPUT_SECONDARY_COLOR               0x00050000
  1485. #define NV10_3D_RC_FINAL1_F_INPUT_TEXTURE0                      0x00080000
  1486. #define NV10_3D_RC_FINAL1_F_INPUT_TEXTURE1                      0x00090000
  1487. #define NV10_3D_RC_FINAL1_F_INPUT_TEXTURE2                      0x000a0000
  1488. #define NV10_3D_RC_FINAL1_F_INPUT_TEXTURE3                      0x000b0000
  1489. #define NV10_3D_RC_FINAL1_F_INPUT_SPARE0                        0x000c0000
  1490. #define NV10_3D_RC_FINAL1_F_INPUT_SPARE1                        0x000d0000
  1491. #define NV10_3D_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR   0x000e0000
  1492. #define NV10_3D_RC_FINAL1_F_INPUT_E_TIMES_F                     0x000f0000
  1493. #define NV10_3D_RC_FINAL1_F_COMPONENT_USAGE__MASK               0x00100000
  1494. #define NV10_3D_RC_FINAL1_F_COMPONENT_USAGE__SHIFT              20
  1495. #define NV10_3D_RC_FINAL1_F_COMPONENT_USAGE_RGB                 0x00000000
  1496. #define NV10_3D_RC_FINAL1_F_COMPONENT_USAGE_ALPHA               0x00100000
  1497. #define NV10_3D_RC_FINAL1_F_MAPPING__MASK                       0x00e00000
  1498. #define NV10_3D_RC_FINAL1_F_MAPPING__SHIFT                      21
  1499. #define NV10_3D_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY           0x00000000
  1500. #define NV10_3D_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT             0x00200000
  1501. #define NV10_3D_RC_FINAL1_F_MAPPING_EXPAND_NORMAL               0x00400000
  1502. #define NV10_3D_RC_FINAL1_F_MAPPING_EXPAND_NEGATE               0x00600000
  1503. #define NV10_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL            0x00800000
  1504. #define NV10_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE            0x00a00000
  1505. #define NV10_3D_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY             0x00c00000
  1506. #define NV10_3D_RC_FINAL1_F_MAPPING_SIGNED_NEGATE               0x00e00000
  1507. #define NV10_3D_RC_FINAL1_E_INPUT__MASK                         0x0f000000
  1508. #define NV10_3D_RC_FINAL1_E_INPUT__SHIFT                        24
  1509. #define NV10_3D_RC_FINAL1_E_INPUT_ZERO                          0x00000000
  1510. #define NV10_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR0               0x01000000
  1511. #define NV10_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR1               0x02000000
  1512. #define NV10_3D_RC_FINAL1_E_INPUT_FOG                           0x03000000
  1513. #define NV10_3D_RC_FINAL1_E_INPUT_PRIMARY_COLOR                 0x04000000
  1514. #define NV10_3D_RC_FINAL1_E_INPUT_SECONDARY_COLOR               0x05000000
  1515. #define NV10_3D_RC_FINAL1_E_INPUT_TEXTURE0                      0x08000000
  1516. #define NV10_3D_RC_FINAL1_E_INPUT_TEXTURE1                      0x09000000
  1517. #define NV10_3D_RC_FINAL1_E_INPUT_TEXTURE2                      0x0a000000
  1518. #define NV10_3D_RC_FINAL1_E_INPUT_TEXTURE3                      0x0b000000
  1519. #define NV10_3D_RC_FINAL1_E_INPUT_SPARE0                        0x0c000000
  1520. #define NV10_3D_RC_FINAL1_E_INPUT_SPARE1                        0x0d000000
  1521. #define NV10_3D_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR   0x0e000000
  1522. #define NV10_3D_RC_FINAL1_E_INPUT_E_TIMES_F                     0x0f000000
  1523. #define NV10_3D_RC_FINAL1_E_COMPONENT_USAGE__MASK               0x10000000
  1524. #define NV10_3D_RC_FINAL1_E_COMPONENT_USAGE__SHIFT              28
  1525. #define NV10_3D_RC_FINAL1_E_COMPONENT_USAGE_RGB                 0x00000000
  1526. #define NV10_3D_RC_FINAL1_E_COMPONENT_USAGE_ALPHA               0x10000000
  1527. #define NV10_3D_RC_FINAL1_E_MAPPING__MASK                       0xe0000000
  1528. #define NV10_3D_RC_FINAL1_E_MAPPING__SHIFT                      29
  1529. #define NV10_3D_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY           0x00000000
  1530. #define NV10_3D_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT             0x20000000
  1531. #define NV10_3D_RC_FINAL1_E_MAPPING_EXPAND_NORMAL               0x40000000
  1532. #define NV10_3D_RC_FINAL1_E_MAPPING_EXPAND_NEGATE               0x60000000
  1533. #define NV10_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL            0x80000000
  1534. #define NV10_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE            0xa0000000
  1535. #define NV10_3D_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY             0xc0000000
  1536. #define NV10_3D_RC_FINAL1_E_MAPPING_SIGNED_NEGATE               0xe0000000
  1537.  
  1538.  
  1539. #define NV17_3D_DMA_HIERZ                                       0x000001b0
  1540.  
  1541. #define NV17_3D_HIERZ_PITCH                                     0x00000d5c
  1542.  
  1543. #define NV17_3D_HIERZ_OFFSET                                    0x00000d60
  1544.  
  1545. #define NV17_3D_HIERZ_FILL_VALUE                                0x00000d68
  1546.  
  1547. #define NV17_3D_HIERZ_BUFFER_CLEAR                              0x00000d6c
  1548.  
  1549. #define NV17_3D_UNK0D74                                         0x00000d74
  1550.  
  1551. #define NV17_3D_UNK0D84                                         0x00000d84
  1552.  
  1553.  
  1554. #define NV17_3D_HIERZ_WINDOW                                    0x00001638
  1555.  
  1556.  
  1557. #define NV17_3D_HIERZ_WINDOW_X                                  0x00001638
  1558.  
  1559. #define NV17_3D_HIERZ_WINDOW_Y                                  0x0000163c
  1560.  
  1561. #define NV17_3D_HIERZ_WINDOW_Z                                  0x00001640
  1562.  
  1563. #define NV17_3D_HIERZ_WINDOW_W                                  0x00001644
  1564.  
  1565. #define NV17_3D_HIERZ_ENABLE                                    0x00001658
  1566.  
  1567.  
  1568. #define NV17_3D_UNK01AC                                         0x000001ac
  1569.  
  1570. #define NV17_3D_UNK0258                                         0x00000258
  1571.  
  1572. #define NV17_3D_UNK025C                                         0x0000025c
  1573.  
  1574. #define NV10_3D_UNK0290                                         0x00000290
  1575.  
  1576. #define NV17_3D_COLOR_MASK_ENABLE                               0x000002bc
  1577.  
  1578. #define NV10_3D_UNK03F0                                         0x000003f0
  1579.  
  1580. #define NV10_3D_UNK03F4                                         0x000003f4
  1581.  
  1582. #define NV17_3D_ZCLEAR_ENABLE                                   0x000003f8
  1583.  
  1584. #define NV17_3D_ZCLEAR_VALUE                                    0x000003fc
  1585. #define NV17_3D_ZCLEAR_VALUE_DEPTH__MASK                        0xffffff00
  1586. #define NV17_3D_ZCLEAR_VALUE_DEPTH__SHIFT                       8
  1587. #define NV17_3D_ZCLEAR_VALUE_SEQUENCE__MASK                     0x000000ff
  1588. #define NV17_3D_ZCLEAR_VALUE_SEQUENCE__SHIFT                    0
  1589.  
  1590. #define NV10_3D_POINT_SIZE                                      0x000003ec
  1591.  
  1592. #define NV10_3D_POINT_PARAMETER(i0)                            (0x000006f8 + 0x4*(i0))
  1593. #define NV10_3D_POINT_PARAMETER__ESIZE                          0x00000004
  1594. #define NV10_3D_POINT_PARAMETER__LEN                            0x00000008
  1595.  
  1596. #define NV11_3D_COLOR_LOGIC_OP                                  0x00000d40
  1597.  
  1598. #define NV11_3D_COLOR_LOGIC_OP_ENABLE                           0x00000d40
  1599.  
  1600. #define NV11_3D_COLOR_LOGIC_OP_OP                               0x00000d44
  1601. #define NV11_3D_COLOR_LOGIC_OP_OP_CLEAR                         0x00001500
  1602. #define NV11_3D_COLOR_LOGIC_OP_OP_AND                           0x00001501
  1603. #define NV11_3D_COLOR_LOGIC_OP_OP_AND_REVERSE                   0x00001502
  1604. #define NV11_3D_COLOR_LOGIC_OP_OP_COPY                          0x00001503
  1605. #define NV11_3D_COLOR_LOGIC_OP_OP_AND_INVERTED                  0x00001504
  1606. #define NV11_3D_COLOR_LOGIC_OP_OP_NOOP                          0x00001505
  1607. #define NV11_3D_COLOR_LOGIC_OP_OP_XOR                           0x00001506
  1608. #define NV11_3D_COLOR_LOGIC_OP_OP_OR                            0x00001507
  1609. #define NV11_3D_COLOR_LOGIC_OP_OP_NOR                           0x00001508
  1610. #define NV11_3D_COLOR_LOGIC_OP_OP_EQUIV                         0x00001509
  1611. #define NV11_3D_COLOR_LOGIC_OP_OP_INVERT                        0x0000150a
  1612. #define NV11_3D_COLOR_LOGIC_OP_OP_OR_REVERSE                    0x0000150b
  1613. #define NV11_3D_COLOR_LOGIC_OP_OP_COPY_INVERTED                 0x0000150c
  1614. #define NV11_3D_COLOR_LOGIC_OP_OP_OR_INVERTED                   0x0000150d
  1615. #define NV11_3D_COLOR_LOGIC_OP_OP_NAND                          0x0000150e
  1616. #define NV11_3D_COLOR_LOGIC_OP_OP_SET                           0x0000150f
  1617.  
  1618.  
  1619. #endif /* NV10_3D_XML */
  1620.