summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nv50/nv50_texture.xml.h
blob: 31eab9b5d873ded9ee95958c780ab196ce5d98d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
#ifndef NV50_TEXTURE_XML
#define NV50_TEXTURE_XML

/* Autogenerated file, DO NOT EDIT manually!

This file was generated by the rules-ng-ng headergen tool in this git repository:
http://0x04.net/cgit/index.cgi/rules-ng-ng
git clone git://0x04.net/rules-ng-ng

The rules-ng-ng source files this header was generated from are:
- rnndb/nv50_texture.xml (   8648 bytes, from 2013-04-13 12:49:11)
- rnndb/copyright.xml    (   6452 bytes, from 2011-08-11 18:25:12)
- rnndb/nvchipsets.xml   (   3954 bytes, from 2013-03-26 01:26:43)
- rnndb/nv50_defs.xml    (  16652 bytes, from 2013-04-04 10:57:15)

Copyright (C) 2006-2013 by the following authors:
- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
- Ben Skeggs (darktama, darktama_)
- B. R. <koala_br@users.sourceforge.net> (koala_br)
- Carlos Martin <carlosmn@users.sf.net> (carlosmn)
- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
- Dawid Gajownik <gajownik@users.sf.net> (gajownik)
- Dmitry Baryshkov
- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
- EdB <edb_@users.sf.net> (edb_)
- Erik Waling <erikwailing@users.sf.net> (erikwaling)
- Francisco Jerez <currojerez@riseup.net> (curro)
- imirkin <imirkin@users.sf.net> (imirkin)
- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
- Maarten Maathuis <madman2003@gmail.com> (stillunknown)
- Marcin Kościelnicki <koriakin@0x04.net> (mwk, koriakin)
- Mark Carey <mark.carey@gmail.com> (careym)
- Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
- nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
- Peter Popov <ironpeter@users.sf.net> (ironpeter)
- Richard Hughes <hughsient@users.sf.net> (hughsient)
- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
- Serge Martin
- Simon Raffeiner
- Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
- sturmflut <sturmflut@users.sf.net> (sturmflut)
- Sylvain Munaut <tnt@246tNt.com>
- Victor Stinner <victor.stinner@haypocalc.com> (haypo)
- Wladmir van der Laan <laanwj@gmail.com> (miathan6)
- Younes Manton <younes.m@gmail.com> (ymanton)

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice (including the
next paragraph) shall be included in all copies or substantial
portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/


#define NV50_TIC_MAP_ZERO					0x00000000
#define NV50_TIC_MAP_C0						0x00000002
#define NV50_TIC_MAP_C1						0x00000003
#define NV50_TIC_MAP_C2						0x00000004
#define NV50_TIC_MAP_C3						0x00000005
#define NV50_TIC_MAP_ONE_INT					0x00000006
#define NV50_TIC_MAP_ONE_FLOAT					0x00000007
#define NV50_TIC_TYPE_SNORM					0x00000001
#define NV50_TIC_TYPE_UNORM					0x00000002
#define NV50_TIC_TYPE_SINT					0x00000003
#define NV50_TIC_TYPE_UINT					0x00000004
#define NV50_TIC_TYPE_SSCALED					0x00000005
#define NV50_TIC_TYPE_USCALED					0x00000006
#define NV50_TIC_TYPE_FLOAT					0x00000007
#define NV50_TSC_WRAP_REPEAT					0x00000000
#define NV50_TSC_WRAP_MIRROR_REPEAT				0x00000001
#define NV50_TSC_WRAP_CLAMP_TO_EDGE				0x00000002
#define NV50_TSC_WRAP_CLAMP_TO_BORDER				0x00000003
#define NV50_TSC_WRAP_CLAMP					0x00000004
#define NV50_TSC_WRAP_MIRROR_CLAMP_TO_EDGE			0x00000005
#define NV50_TSC_WRAP_MIRROR_CLAMP_TO_BORDER			0x00000006
#define NV50_TSC_WRAP_MIRROR_CLAMP				0x00000007
#define NV50_TIC__SIZE						0x00000020
#define NV50_TIC_0						0x00000000
#define NV50_TIC_0_MAPA__MASK					0x38000000
#define NV50_TIC_0_MAPA__SHIFT					27
#define NV50_TIC_0_MAPB__MASK					0x07000000
#define NV50_TIC_0_MAPB__SHIFT					24
#define NV50_TIC_0_MAPG__MASK					0x00e00000
#define NV50_TIC_0_MAPG__SHIFT					21
#define NV50_TIC_0_MAPR__MASK					0x001c0000
#define NV50_TIC_0_MAPR__SHIFT					18
#define NV50_TIC_0_TYPE3__MASK					0x00038000
#define NV50_TIC_0_TYPE3__SHIFT					15
#define NV50_TIC_0_TYPE2__MASK					0x00007000
#define NV50_TIC_0_TYPE2__SHIFT					12
#define NV50_TIC_0_TYPE1__MASK					0x00000e00
#define NV50_TIC_0_TYPE1__SHIFT					9
#define NV50_TIC_0_TYPE0__MASK					0x000001c0
#define NV50_TIC_0_TYPE0__SHIFT					6
#define NV50_TIC_0_FMT__MASK					0x0000003f
#define NV50_TIC_0_FMT__SHIFT					0
#define NV50_TIC_0_FMT_32_32_32_32				0x00000001
#define NVC0_TIC_0_FMT_32_32_32					0x00000002
#define NV50_TIC_0_FMT_16_16_16_16				0x00000003
#define NV50_TIC_0_FMT_32_32					0x00000004
#define NV50_TIC_0_FMT_32_8_X24					0x00000005
#define NV50_TIC_0_FMT_8_8_8_8					0x00000008
#define NV50_TIC_0_FMT_10_10_10_2				0x00000009
#define NV50_TIC_0_FMT_16_16					0x0000000c
#define NV50_TIC_0_FMT_24_8					0x0000000d
#define NV50_TIC_0_FMT_8_24					0x0000000e
#define NV50_TIC_0_FMT_32					0x0000000f
#define NV50_TIC_0_FMT_BPTC_FLOAT				0x00000010
#define NV50_TIC_0_FMT_BPTC_UFLOAT				0x00000011
#define NV50_TIC_0_FMT_4_4_4_4					0x00000012
#define NV50_TIC_0_FMT_1_5_5_5					0x00000013
#define NV50_TIC_0_FMT_5_5_5_1					0x00000014
#define NV50_TIC_0_FMT_5_6_5					0x00000015
#define NV50_TIC_0_FMT_5_5_6					0x00000016
#define NV50_TIC_0_FMT_BPTC					0x00000017
#define NV50_TIC_0_FMT_8_8					0x00000018
#define NV50_TIC_0_FMT_16					0x0000001b
#define NV50_TIC_0_FMT_8					0x0000001d
#define NV50_TIC_0_FMT_4_4					0x0000001e
#define NV50_TIC_0_FMT_BITMAP					0x0000001f
#define NV50_TIC_0_FMT_9_9_9_E5					0x00000020
#define NV50_TIC_0_FMT_11_11_10					0x00000021
#define NV50_TIC_0_FMT_U8_YA8_V8_YB8				0x00000022
#define NV50_TIC_0_FMT_YA8_U8_YB8_V8				0x00000023
#define NV50_TIC_0_FMT_DXT1					0x00000024
#define NV50_TIC_0_FMT_DXT3					0x00000025
#define NV50_TIC_0_FMT_DXT5					0x00000026
#define NV50_TIC_0_FMT_RGTC1					0x00000027
#define NV50_TIC_0_FMT_RGTC2					0x00000028
#define NV50_TIC_0_FMT_S8_Z24					0x00000029
#define NV50_TIC_0_FMT_Z24_X8					0x0000002a
#define NV50_TIC_0_FMT_Z24_S8					0x0000002b
#define NV50_TIC_0_FMT_Z24_C8_MS4_CS4				0x0000002c
#define NV50_TIC_0_FMT_Z24_C8_MS8_CS8				0x0000002d
#define NV50_TIC_0_FMT_Z24_C8_MS4_CS12				0x0000002e
#define NV50_TIC_0_FMT_Z32					0x0000002f
#define NV50_TIC_0_FMT_Z32_S8_X24				0x00000030
#define NV50_TIC_0_FMT_Z24_X8_S8_C8_X16_MS4_CS4			0x00000031
#define NV50_TIC_0_FMT_Z24_X8_S8_C8_X16_MS8_CS8			0x00000032
#define NV50_TIC_0_FMT_Z32_X8_C8_X16_MS4_CS4			0x00000033
#define NV50_TIC_0_FMT_Z32_X8_C8_X16_MS8_CS8			0x00000034
#define NV50_TIC_0_FMT_Z32_S8_C8_X16_MS4_CS4			0x00000035
#define NV50_TIC_0_FMT_Z32_S8_C8_X16_MS8_CS8			0x00000036
#define NV50_TIC_0_FMT_Z24_X8_S8_C8_X16_MS4_CS12		0x00000037
#define NV50_TIC_0_FMT_Z32_X8_C8_X16_MS4_CS12			0x00000038
#define NV50_TIC_0_FMT_Z32_S8_C8_X16_MS4_CS12			0x00000039
#define NV50_TIC_0_FMT_Z16					0x0000003a

#define NV50_TIC_1						0x00000004
#define NV50_TIC_1_OFFSET_LOW__MASK				0xffffffff
#define NV50_TIC_1_OFFSET_LOW__SHIFT				0

#define NV50_TIC_2						0x00000008
#define NV50_TIC_2_OFFSET_HIGH__MASK				0x000000ff
#define NV50_TIC_2_OFFSET_HIGH__SHIFT				0
#define NV50_TIC_2_COLORSPACE_SRGB				0x00000400
#define NV50_TIC_2_TARGET__MASK					0x0003c000
#define NV50_TIC_2_TARGET__SHIFT				14
#define NV50_TIC_2_TARGET_1D					0x00000000
#define NV50_TIC_2_TARGET_2D					0x00004000
#define NV50_TIC_2_TARGET_3D					0x00008000
#define NV50_TIC_2_TARGET_CUBE					0x0000c000
#define NV50_TIC_2_TARGET_1D_ARRAY				0x00010000
#define NV50_TIC_2_TARGET_2D_ARRAY				0x00014000
#define NV50_TIC_2_TARGET_BUFFER				0x00018000
#define NV50_TIC_2_TARGET_RECT					0x0001c000
#define NV50_TIC_2_TARGET_CUBE_ARRAY				0x00020000
#define NV50_TIC_2_LINEAR					0x00040000
#define NV50_TIC_2_TILE_MODE_X__MASK				0x00380000
#define NV50_TIC_2_TILE_MODE_X__SHIFT				19
#define NV50_TIC_2_TILE_MODE_Y__MASK				0x01c00000
#define NV50_TIC_2_TILE_MODE_Y__SHIFT				22
#define NV50_TIC_2_TILE_MODE_Z__MASK				0x0e000000
#define NV50_TIC_2_TILE_MODE_Z__SHIFT				25
#define NV50_TIC_2_2D_UNK0258__MASK				0x30000000
#define NV50_TIC_2_2D_UNK0258__SHIFT				28
#define NV50_TIC_2_NO_BORDER					0x40000000
#define NV50_TIC_2_NORMALIZED_COORDS				0x80000000

#define NV50_TIC_3						0x0000000c
#define NV50_TIC_3_PITCH__MASK					0xffffffff
#define NV50_TIC_3_PITCH__SHIFT					0

#define NV50_TIC_4						0x00000010
#define NV50_TIC_4_WIDTH__MASK					0xffffffff
#define NV50_TIC_4_WIDTH__SHIFT					0

#define NV50_TIC_5						0x00000014
#define NV50_TIC_5_LAST_LEVEL__MASK				0xf0000000
#define NV50_TIC_5_LAST_LEVEL__SHIFT				28
#define NV50_TIC_5_DEPTH__MASK					0x0fff0000
#define NV50_TIC_5_DEPTH__SHIFT					16
#define NV50_TIC_5_HEIGHT__MASK					0x0000ffff
#define NV50_TIC_5_HEIGHT__SHIFT				0

#define NV50_TIC_7						0x0000001c
#define NV50_TIC_7_BASE_LEVEL__MASK				0x0000000f
#define NV50_TIC_7_BASE_LEVEL__SHIFT				0
#define NV50_TIC_7_MAX_LEVEL__MASK				0x000000f0
#define NV50_TIC_7_MAX_LEVEL__SHIFT				4
#define NV50_TIC_7_MS_MODE__MASK				0x0000f000
#define NV50_TIC_7_MS_MODE__SHIFT				12
#define NV50_TIC_7_MS_MODE_MS1					0x00000000
#define NV50_TIC_7_MS_MODE_MS2					0x00001000
#define NV50_TIC_7_MS_MODE_MS4					0x00002000
#define NV50_TIC_7_MS_MODE_MS8					0x00003000
#define NVA3_TIC_7_MS_MODE_MS8_ALT				0x00004000
#define NVA3_TIC_7_MS_MODE_MS2_ALT				0x00005000
#define NVC0_TIC_7_MS_MODE_UNK6					0x00006000
#define NV50_TIC_7_MS_MODE_MS4_CS4				0x00008000
#define NV50_TIC_7_MS_MODE_MS4_CS12				0x00009000
#define NV50_TIC_7_MS_MODE_MS8_CS8				0x0000a000
#define NVC0_TIC_7_MS_MODE_MS8_CS24				0x0000b000

#define NV50_TSC__SIZE						0x00000020
#define NV50_TSC_0						0x00000000
#define NV50_TSC_0_WRAPS__MASK					0x00000007
#define NV50_TSC_0_WRAPS__SHIFT					0
#define NV50_TSC_0_WRAPT__MASK					0x00000038
#define NV50_TSC_0_WRAPT__SHIFT					3
#define NV50_TSC_0_WRAPR__MASK					0x000001c0
#define NV50_TSC_0_WRAPR__SHIFT					6
#define NV50_TSC_0_SHADOW_COMPARE_ENABLE			0x00000200
#define NV50_TSC_0_SHADOW_COMPARE_FUNC__MASK			0x00001c00
#define NV50_TSC_0_SHADOW_COMPARE_FUNC__SHIFT			10
#define NV50_TSC_0_SRGB_CONVERSION_ALLOWED			0x00002000
#define NV50_TSC_0_BOX_S__MASK					0x0001c000
#define NV50_TSC_0_BOX_S__SHIFT					14
#define NV50_TSC_0_BOX_T__MASK					0x000e0000
#define NV50_TSC_0_BOX_T__SHIFT					17
#define NV50_TSC_0_ANISOTROPY_MASK__MASK			0x00700000
#define NV50_TSC_0_ANISOTROPY_MASK__SHIFT			20

#define NV50_TSC_1						0x00000004
#define NV50_TSC_1_UNKN_ANISO_15				0x10000000
#define NV50_TSC_1_UNKN_ANISO_35				0x18000000
#define NV50_TSC_1_MAGF__MASK					0x00000003
#define NV50_TSC_1_MAGF__SHIFT					0
#define NV50_TSC_1_MAGF_NEAREST					0x00000001
#define NV50_TSC_1_MAGF_LINEAR					0x00000002
#define NV50_TSC_1_MINF__MASK					0x00000030
#define NV50_TSC_1_MINF__SHIFT					4
#define NV50_TSC_1_MINF_NEAREST					0x00000010
#define NV50_TSC_1_MINF_LINEAR					0x00000020
#define NV50_TSC_1_MIPF__MASK					0x000000c0
#define NV50_TSC_1_MIPF__SHIFT					6
#define NV50_TSC_1_MIPF_NONE					0x00000040
#define NV50_TSC_1_MIPF_NEAREST					0x00000080
#define NV50_TSC_1_MIPF_LINEAR					0x000000c0
#define NVE4_TSC_1_CUBE_SEAMLESS				0x00000200
#define NV50_TSC_1_LOD_BIAS__MASK				0x01fff000
#define NV50_TSC_1_LOD_BIAS__SHIFT				12
#define NVE4_TSC_1_FORCE_NONNORMALIZED_COORDS			0x02000000

#define NV50_TSC_2						0x00000008
#define NV50_TSC_2_MIN_LOD__MASK				0x00000fff
#define NV50_TSC_2_MIN_LOD__SHIFT				0
#define NV50_TSC_2_MAX_LOD__MASK				0x00fff000
#define NV50_TSC_2_MAX_LOD__SHIFT				12
#define NV50_TSC_2_BORDER_COLOR_SRGB_RED__MASK			0xff000000
#define NV50_TSC_2_BORDER_COLOR_SRGB_RED__SHIFT			24

#define NV50_TSC_3						0x0000000c
#define NV50_TSC_3_BORDER_COLOR_SRGB_GREEN__MASK		0x000ff000
#define NV50_TSC_3_BORDER_COLOR_SRGB_GREEN__SHIFT		12
#define NV50_TSC_3_BORDER_COLOR_SRGB_BLUE__MASK			0x0ff00000
#define NV50_TSC_3_BORDER_COLOR_SRGB_BLUE__SHIFT		20

#define NV50_TSC_4						0x00000010
#define NV50_TSC_4_BORDER_COLOR_RED__MASK			0xffffffff
#define NV50_TSC_4_BORDER_COLOR_RED__SHIFT			0

#define NV50_TSC_5						0x00000014
#define NV50_TSC_5_BORDER_COLOR_GREEN__MASK			0xffffffff
#define NV50_TSC_5_BORDER_COLOR_GREEN__SHIFT			0

#define NV50_TSC_6						0x00000018
#define NV50_TSC_6_BORDER_COLOR_BLUE__MASK			0xffffffff
#define NV50_TSC_6_BORDER_COLOR_BLUE__SHIFT			0

#define NV50_TSC_7						0x0000001c
#define NV50_TSC_7_BORDER_COLOR_ALPHA__MASK			0xffffffff
#define NV50_TSC_7_BORDER_COLOR_ALPHA__SHIFT			0


#endif /* NV50_TEXTURE_XML */