Clone of mesa.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

nvc0_3d.xml.h 55KB

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