Subversion Repositories Kolibri OS

Rev

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

  1. #ifndef NV04_3D_XML
  2. #define NV04_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. - nv04_3d.xml    (  17839 bytes, from 2010-11-15 02:23:48)
  12. - copyright.xml  (   6452 bytes, from 2010-11-15 15:10:58)
  13. - nv_object.xml  (  11547 bytes, from 2010-11-13 23:32:57)
  14. - nvchipsets.xml (   3074 bytes, from 2010-11-13 23:32:57)
  15. - nv_defs.xml    (   4437 bytes, from 2010-11-01 00:28:46)
  16. - nv_3ddefs.xml  (  16394 bytes, from 2010-11-01 00:28:46)
  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.  
  78. #define NV04_CONTEXT_SURFACES_3D_DMA_NOTIFY                     0x00000180
  79.  
  80. #define NV04_CONTEXT_SURFACES_3D_DMA_COLOR                      0x00000184
  81.  
  82. #define NV04_CONTEXT_SURFACES_3D_DMA_ZETA                       0x00000188
  83.  
  84. #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL                0x000002f8
  85. #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X__MASK        0x0000ffff
  86. #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X__SHIFT       0
  87. #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W__MASK        0xffff0000
  88. #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W__SHIFT       16
  89.  
  90. #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL                  0x000002fc
  91. #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y__MASK          0x0000ffff
  92. #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y__SHIFT         0
  93. #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H__MASK          0xffff0000
  94. #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H__SHIFT         16
  95.  
  96. #define NV04_CONTEXT_SURFACES_3D_FORMAT                         0x00000300
  97. #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR__MASK             0x000000ff
  98. #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR__SHIFT            0
  99. #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5 0x00000001
  100. #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_X1R5G5B5 0x00000002
  101. #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_R5G6B5            0x00000003
  102. #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8 0x00000004
  103. #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_X8R8G8B8 0x00000005
  104. #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8     0x00000006
  105. #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8     0x00000007
  106. #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_A8R8G8B8          0x00000008
  107. #define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE__MASK              0x0000ff00
  108. #define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE__SHIFT             8
  109. #define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_PITCH              0x00000100
  110. #define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SWIZZLE            0x00000200
  111. #define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U__MASK       0x00ff0000
  112. #define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U__SHIFT      16
  113. #define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V__MASK       0xff000000
  114. #define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V__SHIFT      24
  115.  
  116. #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE                      0x00000304
  117. #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W__MASK              0x0000ffff
  118. #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W__SHIFT             0
  119. #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H__MASK              0xffff0000
  120. #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H__SHIFT             16
  121.  
  122. #define NV04_CONTEXT_SURFACES_3D_PITCH                          0x00000308
  123. #define NV04_CONTEXT_SURFACES_3D_PITCH_COLOR__MASK              0x0000ffff
  124. #define NV04_CONTEXT_SURFACES_3D_PITCH_COLOR__SHIFT             0
  125. #define NV04_CONTEXT_SURFACES_3D_PITCH_ZETA__MASK               0xffff0000
  126. #define NV04_CONTEXT_SURFACES_3D_PITCH_ZETA__SHIFT              16
  127.  
  128. #define NV04_CONTEXT_SURFACES_3D_OFFSET_COLOR                   0x0000030c
  129.  
  130. #define NV04_CONTEXT_SURFACES_3D_OFFSET_ZETA                    0x00000310
  131.  
  132.  
  133. #define NV04_TEXTURED_TRIANGLE_DMA_NOTIFY                       0x00000180
  134.  
  135. #define NV04_TEXTURED_TRIANGLE_DMA_A                            0x00000184
  136.  
  137. #define NV04_TEXTURED_TRIANGLE_DMA_B                            0x00000188
  138.  
  139. #define NV04_TEXTURED_TRIANGLE_SURFACES                         0x0000018c
  140.  
  141. #define NV04_TEXTURED_TRIANGLE_COLORKEY                         0x00000300
  142.  
  143. #define NV04_TEXTURED_TRIANGLE_OFFSET                           0x00000304
  144.  
  145. #define NV04_TEXTURED_TRIANGLE_FORMAT                           0x00000308
  146. #define NV04_TEXTURED_TRIANGLE_FORMAT_DMA_A                     0x00000001
  147. #define NV04_TEXTURED_TRIANGLE_FORMAT_DMA_B                     0x00000002
  148. #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_ENABLE          0x00000004
  149. #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH__MASK          0x00000030
  150. #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH__SHIFT         4
  151. #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CENTER         0x00000010
  152. #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CORNER         0x00000020
  153. #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH__MASK          0x000000c0
  154. #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH__SHIFT         6
  155. #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CENTER         0x00000040
  156. #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CORNER         0x00000080
  157. #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR__MASK               0x00000f00
  158. #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR__SHIFT              8
  159. #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_Y8                  0x00000100
  160. #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A1R5G5B5            0x00000200
  161. #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_X1R5G5B5            0x00000300
  162. #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A4R4G4B4            0x00000400
  163. #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_R5G6B5              0x00000500
  164. #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A8R8G8B8            0x00000600
  165. #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_X8R8G8B8            0x00000700
  166. #define NV04_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS__MASK       0x0000f000
  167. #define NV04_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS__SHIFT      12
  168. #define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U__MASK         0x000f0000
  169. #define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U__SHIFT        16
  170. #define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V__MASK         0x00f00000
  171. #define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V__SHIFT        20
  172. #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU__MASK            0x07000000
  173. #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU__SHIFT           24
  174. #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_REPEAT           0x01000000
  175. #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MIRRORED_REPEAT  0x02000000
  176. #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_EDGE    0x03000000
  177. #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_BORDER  0x04000000
  178. #define NV04_TEXTURED_TRIANGLE_FORMAT_WRAPU                     0x08000000
  179. #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV__MASK            0x70000000
  180. #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV__SHIFT           28
  181. #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_REPEAT           0x10000000
  182. #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MIRRORED_REPEAT  0x20000000
  183. #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_EDGE    0x30000000
  184. #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_BORDER  0x40000000
  185. #define NV04_TEXTURED_TRIANGLE_FORMAT_WRAPV                     0x80000000
  186.  
  187. #define NV04_TEXTURED_TRIANGLE_FILTER                           0x0000030c
  188. #define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X__MASK       0x000000ff
  189. #define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X__SHIFT      0
  190. #define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y__MASK       0x00007f00
  191. #define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y__SHIFT      8
  192. #define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE      0x00008000
  193. #define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS__MASK      0x00ff0000
  194. #define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS__SHIFT     16
  195. #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY__MASK              0x07000000
  196. #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY__SHIFT             24
  197. #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST            0x01000000
  198. #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR             0x02000000
  199. #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST     0x03000000
  200. #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST      0x04000000
  201. #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR      0x05000000
  202. #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR       0x06000000
  203. #define NV04_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE 0x08000000
  204. #define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY__MASK             0x70000000
  205. #define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY__SHIFT            28
  206. #define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST           0x10000000
  207. #define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR            0x20000000
  208. #define NV04_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE        0x80000000
  209.  
  210. #define NV04_TEXTURED_TRIANGLE_BLEND                            0x00000310
  211. #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP__MASK          0x0000000f
  212. #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP__SHIFT         0
  213. #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_DECAL          0x00000001
  214. #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MODULATE       0x00000002
  215. #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_DECALALPHA     0x00000003
  216. #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MODULATEALPHA  0x00000004
  217. #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_DECALMASK      0x00000005
  218. #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MODULATEMASK   0x00000006
  219. #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_COPY           0x00000007
  220. #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_ADD            0x00000008
  221. #define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT__MASK             0x00000030
  222. #define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT__SHIFT            4
  223. #define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT_LSB               0x00000010
  224. #define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT_MSB               0x00000020
  225. #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE__MASK           0x000000c0
  226. #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE__SHIFT          6
  227. #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_FLAT            0x00000040
  228. #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_GOURAUD         0x00000080
  229. #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_PHONG           0x000000c0
  230. #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE 0x00000100
  231. #define NV04_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE            0x00001000
  232. #define NV04_TEXTURED_TRIANGLE_BLEND_FOG_ENABLE                 0x00010000
  233. #define NV04_TEXTURED_TRIANGLE_BLEND_BLEND_ENABLE               0x00100000
  234. #define NV04_TEXTURED_TRIANGLE_BLEND_SRC__MASK                  0x0f000000
  235. #define NV04_TEXTURED_TRIANGLE_BLEND_SRC__SHIFT                 24
  236. #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ZERO                   0x01000000
  237. #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE                    0x02000000
  238. #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_SRC_COLOR              0x03000000
  239. #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE_MINUS_SRC_COLOR    0x04000000
  240. #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_SRC_ALPHA              0x05000000
  241. #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE_MINUS_SRC_ALPHA    0x06000000
  242. #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_DST_ALPHA              0x07000000
  243. #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE_MINUS_DST_ALPHA    0x08000000
  244. #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_DST_COLOR              0x09000000
  245. #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE_MINUS_DST_COLOR    0x0a000000
  246. #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_SRC_ALPHA_SATURATE     0x0b000000
  247. #define NV04_TEXTURED_TRIANGLE_BLEND_DST__MASK                  0xf0000000
  248. #define NV04_TEXTURED_TRIANGLE_BLEND_DST__SHIFT                 28
  249. #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ZERO                   0x10000000
  250. #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE                    0x20000000
  251. #define NV04_TEXTURED_TRIANGLE_BLEND_DST_SRC_COLOR              0x30000000
  252. #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE_MINUS_SRC_COLOR    0x40000000
  253. #define NV04_TEXTURED_TRIANGLE_BLEND_DST_SRC_ALPHA              0x50000000
  254. #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE_MINUS_SRC_ALPHA    0x60000000
  255. #define NV04_TEXTURED_TRIANGLE_BLEND_DST_DST_ALPHA              0x70000000
  256. #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE_MINUS_DST_ALPHA    0x80000000
  257. #define NV04_TEXTURED_TRIANGLE_BLEND_DST_DST_COLOR              0x90000000
  258. #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE_MINUS_DST_COLOR    0xa0000000
  259. #define NV04_TEXTURED_TRIANGLE_BLEND_DST_SRC_ALPHA_SATURATE     0xb0000000
  260.  
  261. #define NV04_TEXTURED_TRIANGLE_CONTROL                          0x00000314
  262. #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF__MASK          0x000000ff
  263. #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF__SHIFT         0
  264. #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC__MASK         0x00000f00
  265. #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC__SHIFT        8
  266. #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_NEVER         0x00000100
  267. #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_LESS          0x00000200
  268. #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_EQUAL         0x00000300
  269. #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_LEQUAL        0x00000400
  270. #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_GREATER       0x00000500
  271. #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_NOTEQUAL      0x00000600
  272. #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_GEQUAL        0x00000700
  273. #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_ALWAYS        0x00000800
  274. #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_ENABLE             0x00001000
  275. #define NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN__MASK             0x00002000
  276. #define NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN__SHIFT            13
  277. #define NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN_CENTER            0x00000000
  278. #define NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN_CORNER            0x00002000
  279. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_ENABLE                 0x00004000
  280. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC__MASK             0x000f0000
  281. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC__SHIFT            16
  282. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_NEVER             0x00010000
  283. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_LESS              0x00020000
  284. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_EQUAL             0x00030000
  285. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_LEQUAL            0x00040000
  286. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_GREATER           0x00050000
  287. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_NOTEQUAL          0x00060000
  288. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_GEQUAL            0x00070000
  289. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_ALWAYS            0x00080000
  290. #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE__MASK          0x00300000
  291. #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE__SHIFT         20
  292. #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_BOTH           0x00000000
  293. #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_NONE           0x00100000
  294. #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_CW             0x00200000
  295. #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_CCW            0x00300000
  296. #define NV04_TEXTURED_TRIANGLE_CONTROL_DITHER_ENABLE            0x00400000
  297. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_PERSPECTIVE_ENABLE     0x00800000
  298. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_WRITE                  0x01000000
  299. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT__MASK           0xc0000000
  300. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT__SHIFT          30
  301. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_FIXED           0x40000000
  302. #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_FLOAT           0x80000000
  303.  
  304. #define NV04_TEXTURED_TRIANGLE_FOGCOLOR                         0x00000318
  305. #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_B__MASK                 0x000000ff
  306. #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_B__SHIFT                0
  307. #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_G__MASK                 0x0000ff00
  308. #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_G__SHIFT                8
  309. #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_R__MASK                 0x00ff0000
  310. #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_R__SHIFT                16
  311. #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_A__MASK                 0xff000000
  312. #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_A__SHIFT                24
  313.  
  314. #define NV04_TEXTURED_TRIANGLE_TLVERTEX(i0)                    (0x00000400 + 0x20*(i0))
  315. #define NV04_TEXTURED_TRIANGLE_TLVERTEX__ESIZE                  0x00000020
  316. #define NV04_TEXTURED_TRIANGLE_TLVERTEX__LEN                    0x00000010
  317.  
  318. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SX(i0)                 (0x00000400 + 0x20*(i0))
  319.  
  320. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SY(i0)                 (0x00000404 + 0x20*(i0))
  321.  
  322. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SZ(i0)                 (0x00000408 + 0x20*(i0))
  323.  
  324. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_RHW(i0)                (0x0000040c + 0x20*(i0))
  325.  
  326. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR(i0)              (0x00000410 + 0x20*(i0))
  327. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B__MASK           0x000000ff
  328. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B__SHIFT          0
  329. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G__MASK           0x0000ff00
  330. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G__SHIFT          8
  331. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R__MASK           0x00ff0000
  332. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R__SHIFT          16
  333. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A__MASK           0xff000000
  334. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A__SHIFT          24
  335.  
  336. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(i0)           (0x00000414 + 0x20*(i0))
  337. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B__MASK        0x000000ff
  338. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B__SHIFT       0
  339. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G__MASK        0x0000ff00
  340. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G__SHIFT       8
  341. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R__MASK        0x00ff0000
  342. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R__SHIFT       16
  343. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG__MASK      0xff000000
  344. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG__SHIFT     24
  345.  
  346. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_TU(i0)                 (0x00000418 + 0x20*(i0))
  347.  
  348. #define NV04_TEXTURED_TRIANGLE_TLVERTEX_TV(i0)                 (0x0000041c + 0x20*(i0))
  349.  
  350. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE(i0)               (0x00000600 + 0x4*(i0))
  351. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE__ESIZE             0x00000004
  352. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE__LEN               0x00000040
  353. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I0__MASK           0x0000000f
  354. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I0__SHIFT          0
  355. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I1__MASK           0x000000f0
  356. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I1__SHIFT          4
  357. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I2__MASK           0x00000f00
  358. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I2__SHIFT          8
  359. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I3__MASK           0x0000f000
  360. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I3__SHIFT          12
  361. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I4__MASK           0x000f0000
  362. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I4__SHIFT          16
  363. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I5__MASK           0x00f00000
  364. #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I5__SHIFT          20
  365.  
  366.  
  367. #define NV04_MULTITEX_TRIANGLE_DMA_NOTIFY                       0x00000180
  368.  
  369. #define NV04_MULTITEX_TRIANGLE_DMA_A                            0x00000184
  370.  
  371. #define NV04_MULTITEX_TRIANGLE_DMA_B                            0x00000188
  372.  
  373. #define NV04_MULTITEX_TRIANGLE_SURFACES                         0x0000018c
  374.  
  375. #define NV04_MULTITEX_TRIANGLE_OFFSET(i0)                      (0x00000308 + 0x4*(i0))
  376. #define NV04_MULTITEX_TRIANGLE_OFFSET__ESIZE                    0x00000004
  377. #define NV04_MULTITEX_TRIANGLE_OFFSET__LEN                      0x00000002
  378.  
  379. #define NV04_MULTITEX_TRIANGLE_FORMAT(i0)                      (0x00000310 + 0x4*(i0))
  380. #define NV04_MULTITEX_TRIANGLE_FORMAT__ESIZE                    0x00000004
  381. #define NV04_MULTITEX_TRIANGLE_FORMAT__LEN                      0x00000002
  382. #define NV04_MULTITEX_TRIANGLE_FORMAT_DMA_A                     0x00000001
  383. #define NV04_MULTITEX_TRIANGLE_FORMAT_DMA_B                     0x00000002
  384. #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH__MASK          0x00000030
  385. #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH__SHIFT         4
  386. #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_CENTER         0x00000010
  387. #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_CORNER         0x00000020
  388. #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH__MASK          0x000000c0
  389. #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH__SHIFT         6
  390. #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_CENTER         0x00000040
  391. #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_CORNER         0x00000080
  392. #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR__MASK               0x00000f00
  393. #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR__SHIFT              8
  394. #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_Y8                  0x00000100
  395. #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_A1R5G5B5            0x00000200
  396. #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_X1R5G5B5            0x00000300
  397. #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_A4R4G4B4            0x00000400
  398. #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_R5G6B5              0x00000500
  399. #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_A8R8G8B8            0x00000600
  400. #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_X8R8G8B8            0x00000700
  401. #define NV04_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS__MASK       0x0000f000
  402. #define NV04_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS__SHIFT      12
  403. #define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U__MASK         0x000f0000
  404. #define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U__SHIFT        16
  405. #define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V__MASK         0x00f00000
  406. #define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V__SHIFT        20
  407. #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU__MASK            0x07000000
  408. #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU__SHIFT           24
  409. #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_REPEAT           0x01000000
  410. #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_MIRRORED_REPEAT  0x02000000
  411. #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_EDGE    0x03000000
  412. #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_BORDER  0x04000000
  413. #define NV04_MULTITEX_TRIANGLE_FORMAT_WRAPU                     0x08000000
  414. #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV__MASK            0x70000000
  415. #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV__SHIFT           28
  416. #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_REPEAT           0x10000000
  417. #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_MIRRORED_REPEAT  0x20000000
  418. #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_EDGE    0x30000000
  419. #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_BORDER  0x40000000
  420. #define NV04_MULTITEX_TRIANGLE_FORMAT_WRAPV                     0x80000000
  421.  
  422. #define NV04_MULTITEX_TRIANGLE_FILTER(i0)                      (0x00000318 + 0x4*(i0))
  423. #define NV04_MULTITEX_TRIANGLE_FILTER__ESIZE                    0x00000004
  424. #define NV04_MULTITEX_TRIANGLE_FILTER__LEN                      0x00000002
  425. #define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X__MASK       0x000000ff
  426. #define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X__SHIFT      0
  427. #define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y__MASK       0x00007f00
  428. #define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y__SHIFT      8
  429. #define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE      0x00008000
  430. #define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS__MASK      0x00ff0000
  431. #define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS__SHIFT     16
  432. #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY__MASK              0x07000000
  433. #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY__SHIFT             24
  434. #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_NEAREST            0x01000000
  435. #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_LINEAR             0x02000000
  436. #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST     0x03000000
  437. #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST      0x04000000
  438. #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR      0x05000000
  439. #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR       0x06000000
  440. #define NV04_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE 0x08000000
  441. #define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY__MASK             0x70000000
  442. #define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY__SHIFT            28
  443. #define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY_NEAREST           0x10000000
  444. #define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY_LINEAR            0x20000000
  445. #define NV04_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE        0x80000000
  446.  
  447. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA(i0)               (0x00000320 + 0xc*(i0))
  448. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA__ESIZE             0x0000000c
  449. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA__LEN               0x00000002
  450. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE0           0x00000001
  451. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0__MASK    0x000000fc
  452. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0__SHIFT   2
  453. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_ZERO     0x00000004
  454. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_CONSTANT 0x00000008
  455. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_PRIMARY_COLOR    0x0000000c
  456. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_PREVIOUS 0x00000010
  457. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURE0 0x00000014
  458. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURE1 0x00000018
  459. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURELOD       0x0000001c
  460. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE1           0x00000100
  461. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1__MASK    0x0000fc00
  462. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1__SHIFT   10
  463. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_ZERO     0x00000400
  464. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_CONSTANT 0x00000800
  465. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_PRIMARY_COLOR    0x00000c00
  466. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_PREVIOUS 0x00001000
  467. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURE0 0x00001400
  468. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURE1 0x00001800
  469. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURELOD       0x00001c00
  470. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE2           0x00010000
  471. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2__MASK    0x00fc0000
  472. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2__SHIFT   18
  473. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_ZERO     0x00040000
  474. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_CONSTANT 0x00080000
  475. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_PRIMARY_COLOR    0x000c0000
  476. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_PREVIOUS 0x00100000
  477. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURE0 0x00140000
  478. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURE1 0x00180000
  479. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURELOD       0x001c0000
  480. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE3           0x01000000
  481. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3__MASK    0x1c000000
  482. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3__SHIFT   26
  483. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_ZERO     0x04000000
  484. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_CONSTANT 0x08000000
  485. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_PRIMARY_COLOR    0x0c000000
  486. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_PREVIOUS 0x10000000
  487. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURE0 0x14000000
  488. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURE1 0x18000000
  489. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURELOD       0x1c000000
  490. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP__MASK          0xe0000000
  491. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP__SHIFT         29
  492. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_IDENTITY       0x20000000
  493. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SCALE2         0x40000000
  494. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SCALE4         0x60000000
  495. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_BIAS           0x80000000
  496. #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_BIAS_SCALE2    0xe0000000
  497.  
  498. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR(i0)               (0x00000324 + 0xc*(i0))
  499. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR__ESIZE             0x0000000c
  500. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR__LEN               0x00000002
  501. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE0           0x00000001
  502. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA0             0x00000002
  503. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0__MASK    0x000000fc
  504. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0__SHIFT   2
  505. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_ZERO     0x00000004
  506. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_CONSTANT 0x00000008
  507. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_PRIMARY_COLOR    0x0000000c
  508. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_PREVIOUS 0x00000010
  509. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURE0 0x00000014
  510. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURE1 0x00000018
  511. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURELOD       0x0000001c
  512. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE1           0x00000100
  513. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA1             0x00000200
  514. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1__MASK    0x0000fc00
  515. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1__SHIFT   10
  516. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_ZERO     0x00000400
  517. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_CONSTANT 0x00000800
  518. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_PRIMARY_COLOR    0x00000c00
  519. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_PREVIOUS 0x00001000
  520. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURE0 0x00001400
  521. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURE1 0x00001800
  522. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURELOD       0x00001c00
  523. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE2           0x00010000
  524. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA2             0x00020000
  525. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2__MASK    0x00fc0000
  526. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2__SHIFT   18
  527. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_ZERO     0x00040000
  528. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_CONSTANT 0x00080000
  529. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_PRIMARY_COLOR    0x000c0000
  530. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_PREVIOUS 0x00100000
  531. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURE0 0x00140000
  532. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURE1 0x00180000
  533. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURELOD       0x001c0000
  534. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE3           0x01000000
  535. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA3             0x02000000
  536. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3__MASK    0x1c000000
  537. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3__SHIFT   26
  538. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_ZERO     0x04000000
  539. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_CONSTANT 0x08000000
  540. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_PRIMARY_COLOR    0x0c000000
  541. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_PREVIOUS 0x10000000
  542. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURE0 0x14000000
  543. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURE1 0x18000000
  544. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURELOD       0x1c000000
  545. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP__MASK          0xe0000000
  546. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP__SHIFT         29
  547. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_IDENTITY       0x20000000
  548. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SCALE2         0x40000000
  549. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SCALE4         0x60000000
  550. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_BIAS           0x80000000
  551. #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_BIAS_SCALE2    0xe0000000
  552.  
  553. #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR                   0x00000334
  554. #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_B__MASK           0x000000ff
  555. #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_B__SHIFT          0
  556. #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_G__MASK           0x0000ff00
  557. #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_G__SHIFT          8
  558. #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_R__MASK           0x00ff0000
  559. #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_R__SHIFT          16
  560. #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_A__MASK           0xff000000
  561. #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_A__SHIFT          24
  562.  
  563. #define NV04_MULTITEX_TRIANGLE_BLEND                            0x00000338
  564. #define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT__MASK             0x00000030
  565. #define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT__SHIFT            4
  566. #define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT_LSB               0x00000010
  567. #define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT_MSB               0x00000020
  568. #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE__MASK           0x000000c0
  569. #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE__SHIFT          6
  570. #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_FLAT            0x00000040
  571. #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_GOURAUD         0x00000080
  572. #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_PHONG           0x000000c0
  573. #define NV04_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE 0x00000100
  574. #define NV04_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE            0x00001000
  575. #define NV04_MULTITEX_TRIANGLE_BLEND_FOG_ENABLE                 0x00010000
  576. #define NV04_MULTITEX_TRIANGLE_BLEND_BLEND_ENABLE               0x00100000
  577. #define NV04_MULTITEX_TRIANGLE_BLEND_SRC__MASK                  0x0f000000
  578. #define NV04_MULTITEX_TRIANGLE_BLEND_SRC__SHIFT                 24
  579. #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ZERO                   0x01000000
  580. #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE                    0x02000000
  581. #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_SRC_COLOR              0x03000000
  582. #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE_MINUS_SRC_COLOR    0x04000000
  583. #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_SRC_ALPHA              0x05000000
  584. #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE_MINUS_SRC_ALPHA    0x06000000
  585. #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_DST_ALPHA              0x07000000
  586. #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE_MINUS_DST_ALPHA    0x08000000
  587. #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_DST_COLOR              0x09000000
  588. #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE_MINUS_DST_COLOR    0x0a000000
  589. #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_SRC_ALPHA_SATURATE     0x0b000000
  590. #define NV04_MULTITEX_TRIANGLE_BLEND_DST__MASK                  0xf0000000
  591. #define NV04_MULTITEX_TRIANGLE_BLEND_DST__SHIFT                 28
  592. #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ZERO                   0x10000000
  593. #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE                    0x20000000
  594. #define NV04_MULTITEX_TRIANGLE_BLEND_DST_SRC_COLOR              0x30000000
  595. #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE_MINUS_SRC_COLOR    0x40000000
  596. #define NV04_MULTITEX_TRIANGLE_BLEND_DST_SRC_ALPHA              0x50000000
  597. #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE_MINUS_SRC_ALPHA    0x60000000
  598. #define NV04_MULTITEX_TRIANGLE_BLEND_DST_DST_ALPHA              0x70000000
  599. #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE_MINUS_DST_ALPHA    0x80000000
  600. #define NV04_MULTITEX_TRIANGLE_BLEND_DST_DST_COLOR              0x90000000
  601. #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE_MINUS_DST_COLOR    0xa0000000
  602. #define NV04_MULTITEX_TRIANGLE_BLEND_DST_SRC_ALPHA_SATURATE     0xb0000000
  603.  
  604. #define NV04_MULTITEX_TRIANGLE_CONTROL0                         0x0000033c
  605. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF__MASK         0x000000ff
  606. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF__SHIFT        0
  607. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC__MASK        0x00000f00
  608. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC__SHIFT       8
  609. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_NEVER        0x00000100
  610. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_LESS         0x00000200
  611. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_EQUAL        0x00000300
  612. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_LEQUAL       0x00000400
  613. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_GREATER      0x00000500
  614. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_NOTEQUAL     0x00000600
  615. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_GEQUAL       0x00000700
  616. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_ALWAYS       0x00000800
  617. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_ENABLE            0x00001000
  618. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN__MASK            0x00002000
  619. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN__SHIFT           13
  620. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN_CENTER           0x00000000
  621. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN_CORNER           0x00002000
  622. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_ENABLE                0x00004000
  623. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC__MASK            0x000f0000
  624. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC__SHIFT           16
  625. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_NEVER            0x00010000
  626. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_LESS             0x00020000
  627. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_EQUAL            0x00030000
  628. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_LEQUAL           0x00040000
  629. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_GREATER          0x00050000
  630. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_NOTEQUAL         0x00060000
  631. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_GEQUAL           0x00070000
  632. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_ALWAYS           0x00080000
  633. #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE__MASK         0x00300000
  634. #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE__SHIFT        20
  635. #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_BOTH          0x00000000
  636. #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_NONE          0x00100000
  637. #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_CW            0x00200000
  638. #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_CCW           0x00300000
  639. #define NV04_MULTITEX_TRIANGLE_CONTROL0_DITHER_ENABLE           0x00400000
  640. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_PERSPECTIVE_ENABLE    0x00800000
  641. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_WRITE                 0x01000000
  642. #define NV04_MULTITEX_TRIANGLE_CONTROL0_STENCIL_WRITE           0x02000000
  643. #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_WRITE             0x04000000
  644. #define NV04_MULTITEX_TRIANGLE_CONTROL0_RED_WRITE               0x08000000
  645. #define NV04_MULTITEX_TRIANGLE_CONTROL0_GREEN_WRITE             0x10000000
  646. #define NV04_MULTITEX_TRIANGLE_CONTROL0_BLUE_WRITE              0x20000000
  647. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT__MASK          0xc0000000
  648. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT__SHIFT         30
  649. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_FIXED          0x40000000
  650. #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_FLOAT          0x80000000
  651.  
  652. #define NV04_MULTITEX_TRIANGLE_CONTROL1                         0x00000340
  653. #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_ENABLE          0x00000001
  654. #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC__MASK      0x000000f0
  655. #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC__SHIFT     4
  656. #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF__MASK       0x0000ff00
  657. #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF__SHIFT      8
  658. #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ__MASK 0x00ff0000
  659. #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ__SHIFT        16
  660. #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE__MASK        0xff000000
  661. #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE__SHIFT       24
  662.  
  663. #define NV04_MULTITEX_TRIANGLE_CONTROL2                         0x00000344
  664. #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL__MASK   0x0000000f
  665. #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL__SHIFT  0
  666. #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL__MASK  0x000000f0
  667. #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL__SHIFT 4
  668. #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS__MASK  0x00000f00
  669. #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS__SHIFT 8
  670.  
  671. #define NV04_MULTITEX_TRIANGLE_FOGCOLOR                         0x00000348
  672. #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_B__MASK                 0x000000ff
  673. #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_B__SHIFT                0
  674. #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_G__MASK                 0x0000ff00
  675. #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_G__SHIFT                8
  676. #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_R__MASK                 0x00ff0000
  677. #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_R__SHIFT                16
  678. #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_A__MASK                 0xff000000
  679. #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_A__SHIFT                24
  680.  
  681. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX(i0)                  (0x00000400 + 0x28*(i0))
  682. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX__ESIZE                0x00000028
  683. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX__LEN                  0x00000008
  684.  
  685. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SX(i0)               (0x00000400 + 0x28*(i0))
  686.  
  687. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SY(i0)               (0x00000404 + 0x28*(i0))
  688.  
  689. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SZ(i0)               (0x00000408 + 0x28*(i0))
  690.  
  691. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_RHW(i0)              (0x0000040c + 0x28*(i0))
  692.  
  693. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR(i0)            (0x00000410 + 0x28*(i0))
  694. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B__MASK         0x000000ff
  695. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B__SHIFT        0
  696. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G__MASK         0x0000ff00
  697. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G__SHIFT        8
  698. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R__MASK         0x00ff0000
  699. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R__SHIFT        16
  700. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A__MASK         0xff000000
  701. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A__SHIFT        24
  702.  
  703. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR(i0)         (0x00000414 + 0x28*(i0))
  704. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B__MASK      0x000000ff
  705. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B__SHIFT     0
  706. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G__MASK      0x0000ff00
  707. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G__SHIFT     8
  708. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R__MASK      0x00ff0000
  709. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R__SHIFT     16
  710. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG__MASK    0xff000000
  711. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG__SHIFT   24
  712.  
  713. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU0(i0)              (0x00000418 + 0x28*(i0))
  714.  
  715. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV0(i0)              (0x0000041c + 0x28*(i0))
  716.  
  717. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU1(i0)              (0x00000420 + 0x28*(i0))
  718.  
  719. #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV1(i0)              (0x00000424 + 0x28*(i0))
  720.  
  721. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE(i0)               (0x00000540 + 0x4*(i0))
  722. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE__ESIZE             0x00000004
  723. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE__LEN               0x00000030
  724. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I0__MASK           0x0000000f
  725. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I0__SHIFT          0
  726. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I1__MASK           0x000000f0
  727. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I1__SHIFT          4
  728. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I2__MASK           0x00000f00
  729. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I2__SHIFT          8
  730. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I3__MASK           0x0000f000
  731. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I3__SHIFT          12
  732. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I4__MASK           0x000f0000
  733. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I4__SHIFT          16
  734. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I5__MASK           0x00f00000
  735. #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I5__SHIFT          20
  736.  
  737.  
  738. #endif /* NV04_3D_XML */
  739.