Subversion Repositories Kolibri OS

Rev

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

  1. #ifndef NV50_TEXTURE_XML
  2. #define NV50_TEXTURE_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. - rnndb/nv50_texture.xml (   8648 bytes, from 2013-04-13 12:49:11)
  12. - rnndb/copyright.xml    (   6452 bytes, from 2011-08-11 18:25:12)
  13. - rnndb/nvchipsets.xml   (   3954 bytes, from 2013-03-26 01:26:43)
  14. - rnndb/nv50_defs.xml    (  16652 bytes, from 2013-04-04 10:57:15)
  15.  
  16. Copyright (C) 2006-2013 by the following authors:
  17. - Artur Huillet <arthur.huillet@free.fr> (ahuillet)
  18. - Ben Skeggs (darktama, darktama_)
  19. - B. R. <koala_br@users.sourceforge.net> (koala_br)
  20. - Carlos Martin <carlosmn@users.sf.net> (carlosmn)
  21. - Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
  22. - Dawid Gajownik <gajownik@users.sf.net> (gajownik)
  23. - Dmitry Baryshkov
  24. - Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
  25. - EdB <edb_@users.sf.net> (edb_)
  26. - Erik Waling <erikwailing@users.sf.net> (erikwaling)
  27. - Francisco Jerez <currojerez@riseup.net> (curro)
  28. - imirkin <imirkin@users.sf.net> (imirkin)
  29. - jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
  30. - Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
  31. - Laurent Carlier <lordheavym@gmail.com> (lordheavy)
  32. - Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
  33. - Maarten Maathuis <madman2003@gmail.com> (stillunknown)
  34. - Marcin Koƛcielnicki <koriakin@0x04.net> (mwk, koriakin)
  35. - Mark Carey <mark.carey@gmail.com> (careym)
  36. - Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
  37. - nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
  38. - Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
  39. - Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
  40. - Peter Popov <ironpeter@users.sf.net> (ironpeter)
  41. - Richard Hughes <hughsient@users.sf.net> (hughsient)
  42. - Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
  43. - Serge Martin
  44. - Simon Raffeiner
  45. - Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
  46. - Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
  47. - sturmflut <sturmflut@users.sf.net> (sturmflut)
  48. - Sylvain Munaut <tnt@246tNt.com>
  49. - Victor Stinner <victor.stinner@haypocalc.com> (haypo)
  50. - Wladmir van der Laan <laanwj@gmail.com> (miathan6)
  51. - Younes Manton <younes.m@gmail.com> (ymanton)
  52.  
  53. Permission is hereby granted, free of charge, to any person obtaining
  54. a copy of this software and associated documentation files (the
  55. "Software"), to deal in the Software without restriction, including
  56. without limitation the rights to use, copy, modify, merge, publish,
  57. distribute, sublicense, and/or sell copies of the Software, and to
  58. permit persons to whom the Software is furnished to do so, subject to
  59. the following conditions:
  60.  
  61. The above copyright notice and this permission notice (including the
  62. next paragraph) shall be included in all copies or substantial
  63. portions of the Software.
  64.  
  65. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  66. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  67. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  68. IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
  69. LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  70. OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  71. WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  72. */
  73.  
  74.  
  75. #define NV50_TIC_MAP_ZERO                                       0x00000000
  76. #define NV50_TIC_MAP_C0                                         0x00000002
  77. #define NV50_TIC_MAP_C1                                         0x00000003
  78. #define NV50_TIC_MAP_C2                                         0x00000004
  79. #define NV50_TIC_MAP_C3                                         0x00000005
  80. #define NV50_TIC_MAP_ONE_INT                                    0x00000006
  81. #define NV50_TIC_MAP_ONE_FLOAT                                  0x00000007
  82. #define NV50_TIC_TYPE_SNORM                                     0x00000001
  83. #define NV50_TIC_TYPE_UNORM                                     0x00000002
  84. #define NV50_TIC_TYPE_SINT                                      0x00000003
  85. #define NV50_TIC_TYPE_UINT                                      0x00000004
  86. #define NV50_TIC_TYPE_SSCALED                                   0x00000005
  87. #define NV50_TIC_TYPE_USCALED                                   0x00000006
  88. #define NV50_TIC_TYPE_FLOAT                                     0x00000007
  89. #define NV50_TSC_WRAP_REPEAT                                    0x00000000
  90. #define NV50_TSC_WRAP_MIRROR_REPEAT                             0x00000001
  91. #define NV50_TSC_WRAP_CLAMP_TO_EDGE                             0x00000002
  92. #define NV50_TSC_WRAP_CLAMP_TO_BORDER                           0x00000003
  93. #define NV50_TSC_WRAP_CLAMP                                     0x00000004
  94. #define NV50_TSC_WRAP_MIRROR_CLAMP_TO_EDGE                      0x00000005
  95. #define NV50_TSC_WRAP_MIRROR_CLAMP_TO_BORDER                    0x00000006
  96. #define NV50_TSC_WRAP_MIRROR_CLAMP                              0x00000007
  97. #define NV50_TIC__SIZE                                          0x00000020
  98. #define NV50_TIC_0                                              0x00000000
  99. #define NV50_TIC_0_MAPA__MASK                                   0x38000000
  100. #define NV50_TIC_0_MAPA__SHIFT                                  27
  101. #define NV50_TIC_0_MAPB__MASK                                   0x07000000
  102. #define NV50_TIC_0_MAPB__SHIFT                                  24
  103. #define NV50_TIC_0_MAPG__MASK                                   0x00e00000
  104. #define NV50_TIC_0_MAPG__SHIFT                                  21
  105. #define NV50_TIC_0_MAPR__MASK                                   0x001c0000
  106. #define NV50_TIC_0_MAPR__SHIFT                                  18
  107. #define NV50_TIC_0_TYPE3__MASK                                  0x00038000
  108. #define NV50_TIC_0_TYPE3__SHIFT                                 15
  109. #define NV50_TIC_0_TYPE2__MASK                                  0x00007000
  110. #define NV50_TIC_0_TYPE2__SHIFT                                 12
  111. #define NV50_TIC_0_TYPE1__MASK                                  0x00000e00
  112. #define NV50_TIC_0_TYPE1__SHIFT                                 9
  113. #define NV50_TIC_0_TYPE0__MASK                                  0x000001c0
  114. #define NV50_TIC_0_TYPE0__SHIFT                                 6
  115. #define NV50_TIC_0_FMT__MASK                                    0x0000003f
  116. #define NV50_TIC_0_FMT__SHIFT                                   0
  117. #define NV50_TIC_0_FMT_32_32_32_32                              0x00000001
  118. #define NVC0_TIC_0_FMT_32_32_32                                 0x00000002
  119. #define NV50_TIC_0_FMT_16_16_16_16                              0x00000003
  120. #define NV50_TIC_0_FMT_32_32                                    0x00000004
  121. #define NV50_TIC_0_FMT_32_8_X24                                 0x00000005
  122. #define NV50_TIC_0_FMT_8_8_8_8                                  0x00000008
  123. #define NV50_TIC_0_FMT_10_10_10_2                               0x00000009
  124. #define NV50_TIC_0_FMT_16_16                                    0x0000000c
  125. #define NV50_TIC_0_FMT_24_8                                     0x0000000d
  126. #define NV50_TIC_0_FMT_8_24                                     0x0000000e
  127. #define NV50_TIC_0_FMT_32                                       0x0000000f
  128. #define NV50_TIC_0_FMT_BPTC_FLOAT                               0x00000010
  129. #define NV50_TIC_0_FMT_BPTC_UFLOAT                              0x00000011
  130. #define NV50_TIC_0_FMT_4_4_4_4                                  0x00000012
  131. #define NV50_TIC_0_FMT_1_5_5_5                                  0x00000013
  132. #define NV50_TIC_0_FMT_5_5_5_1                                  0x00000014
  133. #define NV50_TIC_0_FMT_5_6_5                                    0x00000015
  134. #define NV50_TIC_0_FMT_5_5_6                                    0x00000016
  135. #define NV50_TIC_0_FMT_BPTC                                     0x00000017
  136. #define NV50_TIC_0_FMT_8_8                                      0x00000018
  137. #define NV50_TIC_0_FMT_16                                       0x0000001b
  138. #define NV50_TIC_0_FMT_8                                        0x0000001d
  139. #define NV50_TIC_0_FMT_4_4                                      0x0000001e
  140. #define NV50_TIC_0_FMT_BITMAP                                   0x0000001f
  141. #define NV50_TIC_0_FMT_9_9_9_E5                                 0x00000020
  142. #define NV50_TIC_0_FMT_11_11_10                                 0x00000021
  143. #define NV50_TIC_0_FMT_U8_YA8_V8_YB8                            0x00000022
  144. #define NV50_TIC_0_FMT_YA8_U8_YB8_V8                            0x00000023
  145. #define NV50_TIC_0_FMT_DXT1                                     0x00000024
  146. #define NV50_TIC_0_FMT_DXT3                                     0x00000025
  147. #define NV50_TIC_0_FMT_DXT5                                     0x00000026
  148. #define NV50_TIC_0_FMT_RGTC1                                    0x00000027
  149. #define NV50_TIC_0_FMT_RGTC2                                    0x00000028
  150. #define NV50_TIC_0_FMT_S8_Z24                                   0x00000029
  151. #define NV50_TIC_0_FMT_Z24_X8                                   0x0000002a
  152. #define NV50_TIC_0_FMT_Z24_S8                                   0x0000002b
  153. #define NV50_TIC_0_FMT_Z24_C8_MS4_CS4                           0x0000002c
  154. #define NV50_TIC_0_FMT_Z24_C8_MS8_CS8                           0x0000002d
  155. #define NV50_TIC_0_FMT_Z24_C8_MS4_CS12                          0x0000002e
  156. #define NV50_TIC_0_FMT_Z32                                      0x0000002f
  157. #define NV50_TIC_0_FMT_Z32_S8_X24                               0x00000030
  158. #define NV50_TIC_0_FMT_Z24_X8_S8_C8_X16_MS4_CS4                 0x00000031
  159. #define NV50_TIC_0_FMT_Z24_X8_S8_C8_X16_MS8_CS8                 0x00000032
  160. #define NV50_TIC_0_FMT_Z32_X8_C8_X16_MS4_CS4                    0x00000033
  161. #define NV50_TIC_0_FMT_Z32_X8_C8_X16_MS8_CS8                    0x00000034
  162. #define NV50_TIC_0_FMT_Z32_S8_C8_X16_MS4_CS4                    0x00000035
  163. #define NV50_TIC_0_FMT_Z32_S8_C8_X16_MS8_CS8                    0x00000036
  164. #define NV50_TIC_0_FMT_Z24_X8_S8_C8_X16_MS4_CS12                0x00000037
  165. #define NV50_TIC_0_FMT_Z32_X8_C8_X16_MS4_CS12                   0x00000038
  166. #define NV50_TIC_0_FMT_Z32_S8_C8_X16_MS4_CS12                   0x00000039
  167. #define NV50_TIC_0_FMT_Z16                                      0x0000003a
  168.  
  169. #define NV50_TIC_1                                              0x00000004
  170. #define NV50_TIC_1_OFFSET_LOW__MASK                             0xffffffff
  171. #define NV50_TIC_1_OFFSET_LOW__SHIFT                            0
  172.  
  173. #define NV50_TIC_2                                              0x00000008
  174. #define NV50_TIC_2_OFFSET_HIGH__MASK                            0x000000ff
  175. #define NV50_TIC_2_OFFSET_HIGH__SHIFT                           0
  176. #define NV50_TIC_2_COLORSPACE_SRGB                              0x00000400
  177. #define NV50_TIC_2_TARGET__MASK                                 0x0003c000
  178. #define NV50_TIC_2_TARGET__SHIFT                                14
  179. #define NV50_TIC_2_TARGET_1D                                    0x00000000
  180. #define NV50_TIC_2_TARGET_2D                                    0x00004000
  181. #define NV50_TIC_2_TARGET_3D                                    0x00008000
  182. #define NV50_TIC_2_TARGET_CUBE                                  0x0000c000
  183. #define NV50_TIC_2_TARGET_1D_ARRAY                              0x00010000
  184. #define NV50_TIC_2_TARGET_2D_ARRAY                              0x00014000
  185. #define NV50_TIC_2_TARGET_BUFFER                                0x00018000
  186. #define NV50_TIC_2_TARGET_RECT                                  0x0001c000
  187. #define NV50_TIC_2_TARGET_CUBE_ARRAY                            0x00020000
  188. #define NV50_TIC_2_LINEAR                                       0x00040000
  189. #define NV50_TIC_2_TILE_MODE_X__MASK                            0x00380000
  190. #define NV50_TIC_2_TILE_MODE_X__SHIFT                           19
  191. #define NV50_TIC_2_TILE_MODE_Y__MASK                            0x01c00000
  192. #define NV50_TIC_2_TILE_MODE_Y__SHIFT                           22
  193. #define NV50_TIC_2_TILE_MODE_Z__MASK                            0x0e000000
  194. #define NV50_TIC_2_TILE_MODE_Z__SHIFT                           25
  195. #define NV50_TIC_2_2D_UNK0258__MASK                             0x30000000
  196. #define NV50_TIC_2_2D_UNK0258__SHIFT                            28
  197. #define NV50_TIC_2_NO_BORDER                                    0x40000000
  198. #define NV50_TIC_2_NORMALIZED_COORDS                            0x80000000
  199.  
  200. #define NV50_TIC_3                                              0x0000000c
  201. #define NV50_TIC_3_PITCH__MASK                                  0xffffffff
  202. #define NV50_TIC_3_PITCH__SHIFT                                 0
  203.  
  204. #define NV50_TIC_4                                              0x00000010
  205. #define NV50_TIC_4_WIDTH__MASK                                  0xffffffff
  206. #define NV50_TIC_4_WIDTH__SHIFT                                 0
  207.  
  208. #define NV50_TIC_5                                              0x00000014
  209. #define NV50_TIC_5_LAST_LEVEL__MASK                             0xf0000000
  210. #define NV50_TIC_5_LAST_LEVEL__SHIFT                            28
  211. #define NV50_TIC_5_DEPTH__MASK                                  0x0fff0000
  212. #define NV50_TIC_5_DEPTH__SHIFT                                 16
  213. #define NV50_TIC_5_HEIGHT__MASK                                 0x0000ffff
  214. #define NV50_TIC_5_HEIGHT__SHIFT                                0
  215.  
  216. #define NV50_TIC_7                                              0x0000001c
  217. #define NV50_TIC_7_BASE_LEVEL__MASK                             0x0000000f
  218. #define NV50_TIC_7_BASE_LEVEL__SHIFT                            0
  219. #define NV50_TIC_7_MAX_LEVEL__MASK                              0x000000f0
  220. #define NV50_TIC_7_MAX_LEVEL__SHIFT                             4
  221. #define NV50_TIC_7_MS_MODE__MASK                                0x0000f000
  222. #define NV50_TIC_7_MS_MODE__SHIFT                               12
  223. #define NV50_TIC_7_MS_MODE_MS1                                  0x00000000
  224. #define NV50_TIC_7_MS_MODE_MS2                                  0x00001000
  225. #define NV50_TIC_7_MS_MODE_MS4                                  0x00002000
  226. #define NV50_TIC_7_MS_MODE_MS8                                  0x00003000
  227. #define NVA3_TIC_7_MS_MODE_MS8_ALT                              0x00004000
  228. #define NVA3_TIC_7_MS_MODE_MS2_ALT                              0x00005000
  229. #define NVC0_TIC_7_MS_MODE_UNK6                                 0x00006000
  230. #define NV50_TIC_7_MS_MODE_MS4_CS4                              0x00008000
  231. #define NV50_TIC_7_MS_MODE_MS4_CS12                             0x00009000
  232. #define NV50_TIC_7_MS_MODE_MS8_CS8                              0x0000a000
  233. #define NVC0_TIC_7_MS_MODE_MS8_CS24                             0x0000b000
  234.  
  235. #define NV50_TSC__SIZE                                          0x00000020
  236. #define NV50_TSC_0                                              0x00000000
  237. #define NV50_TSC_0_WRAPS__MASK                                  0x00000007
  238. #define NV50_TSC_0_WRAPS__SHIFT                                 0
  239. #define NV50_TSC_0_WRAPT__MASK                                  0x00000038
  240. #define NV50_TSC_0_WRAPT__SHIFT                                 3
  241. #define NV50_TSC_0_WRAPR__MASK                                  0x000001c0
  242. #define NV50_TSC_0_WRAPR__SHIFT                                 6
  243. #define NV50_TSC_0_SHADOW_COMPARE_ENABLE                        0x00000200
  244. #define NV50_TSC_0_SHADOW_COMPARE_FUNC__MASK                    0x00001c00
  245. #define NV50_TSC_0_SHADOW_COMPARE_FUNC__SHIFT                   10
  246. #define NV50_TSC_0_SRGB_CONVERSION_ALLOWED                      0x00002000
  247. #define NV50_TSC_0_BOX_S__MASK                                  0x0001c000
  248. #define NV50_TSC_0_BOX_S__SHIFT                                 14
  249. #define NV50_TSC_0_BOX_T__MASK                                  0x000e0000
  250. #define NV50_TSC_0_BOX_T__SHIFT                                 17
  251. #define NV50_TSC_0_ANISOTROPY_MASK__MASK                        0x00700000
  252. #define NV50_TSC_0_ANISOTROPY_MASK__SHIFT                       20
  253.  
  254. #define NV50_TSC_1                                              0x00000004
  255. #define NV50_TSC_1_UNKN_ANISO_15                                0x10000000
  256. #define NV50_TSC_1_UNKN_ANISO_35                                0x18000000
  257. #define NV50_TSC_1_MAGF__MASK                                   0x00000003
  258. #define NV50_TSC_1_MAGF__SHIFT                                  0
  259. #define NV50_TSC_1_MAGF_NEAREST                                 0x00000001
  260. #define NV50_TSC_1_MAGF_LINEAR                                  0x00000002
  261. #define NV50_TSC_1_MINF__MASK                                   0x00000030
  262. #define NV50_TSC_1_MINF__SHIFT                                  4
  263. #define NV50_TSC_1_MINF_NEAREST                                 0x00000010
  264. #define NV50_TSC_1_MINF_LINEAR                                  0x00000020
  265. #define NV50_TSC_1_MIPF__MASK                                   0x000000c0
  266. #define NV50_TSC_1_MIPF__SHIFT                                  6
  267. #define NV50_TSC_1_MIPF_NONE                                    0x00000040
  268. #define NV50_TSC_1_MIPF_NEAREST                                 0x00000080
  269. #define NV50_TSC_1_MIPF_LINEAR                                  0x000000c0
  270. #define NVE4_TSC_1_CUBE_SEAMLESS                                0x00000200
  271. #define NV50_TSC_1_LOD_BIAS__MASK                               0x01fff000
  272. #define NV50_TSC_1_LOD_BIAS__SHIFT                              12
  273. #define NVE4_TSC_1_FORCE_NONNORMALIZED_COORDS                   0x02000000
  274.  
  275. #define NV50_TSC_2                                              0x00000008
  276. #define NV50_TSC_2_MIN_LOD__MASK                                0x00000fff
  277. #define NV50_TSC_2_MIN_LOD__SHIFT                               0
  278. #define NV50_TSC_2_MAX_LOD__MASK                                0x00fff000
  279. #define NV50_TSC_2_MAX_LOD__SHIFT                               12
  280. #define NV50_TSC_2_BORDER_COLOR_SRGB_RED__MASK                  0xff000000
  281. #define NV50_TSC_2_BORDER_COLOR_SRGB_RED__SHIFT                 24
  282.  
  283. #define NV50_TSC_3                                              0x0000000c
  284. #define NV50_TSC_3_BORDER_COLOR_SRGB_GREEN__MASK                0x000ff000
  285. #define NV50_TSC_3_BORDER_COLOR_SRGB_GREEN__SHIFT               12
  286. #define NV50_TSC_3_BORDER_COLOR_SRGB_BLUE__MASK                 0x0ff00000
  287. #define NV50_TSC_3_BORDER_COLOR_SRGB_BLUE__SHIFT                20
  288.  
  289. #define NV50_TSC_4                                              0x00000010
  290. #define NV50_TSC_4_BORDER_COLOR_RED__MASK                       0xffffffff
  291. #define NV50_TSC_4_BORDER_COLOR_RED__SHIFT                      0
  292.  
  293. #define NV50_TSC_5                                              0x00000014
  294. #define NV50_TSC_5_BORDER_COLOR_GREEN__MASK                     0xffffffff
  295. #define NV50_TSC_5_BORDER_COLOR_GREEN__SHIFT                    0
  296.  
  297. #define NV50_TSC_6                                              0x00000018
  298. #define NV50_TSC_6_BORDER_COLOR_BLUE__MASK                      0xffffffff
  299. #define NV50_TSC_6_BORDER_COLOR_BLUE__SHIFT                     0
  300.  
  301. #define NV50_TSC_7                                              0x0000001c
  302. #define NV50_TSC_7_BORDER_COLOR_ALPHA__MASK                     0xffffffff
  303. #define NV50_TSC_7_BORDER_COLOR_ALPHA__SHIFT                    0
  304.  
  305.  
  306. #endif /* NV50_TEXTURE_XML */
  307.