summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50/nv50_texture.xml.h
blob: 9f83206516feff5095ca800c2feed5b4d2a7d908 (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
#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:
- nv50_texture.xml (   6871 bytes, from 2010-10-03 13:18:37)
- copyright.xml    (   6498 bytes, from 2010-10-03 13:18:37)

Copyright (C) 2006-2010 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, curro_, currojerez)
- 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					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_SWIZZLE__MASK				0x3ffc0000
#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 NV50_TIC_0_FMT_16_16_16_16				0x00000003
#define NV50_TIC_0_FMT_32_32					0x00000004
#define NV50_TIC_0_FMT_32_8					0x00000005
#define NV50_TIC_0_FMT_8_8_8_8					0x00000008
#define NV50_TIC_0_FMT_2_10_10_10				0x00000009
#define NV50_TIC_0_FMT_16_16					0x0000000c
#define NV50_TIC_0_FMT_8_24					0x0000000d
#define NV50_TIC_0_FMT_24_8					0x0000000e
#define NV50_TIC_0_FMT_32					0x0000000f
#define NV50_TIC_0_FMT_4_4_4_4					0x00000012
#define NV50_TIC_0_FMT_5_5_5_1					0x00000013
#define NV50_TIC_0_FMT_1_5_5_5					0x00000014
#define NV50_TIC_0_FMT_5_6_5					0x00000015
#define NV50_TIC_0_FMT_6_5_5					0x00000016
#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_UNK1F					0x0000001f
#define NV50_TIC_0_FMT_E5_9_9_9					0x00000020
#define NV50_TIC_0_FMT_10_11_11					0x00000021
#define NV50_TIC_0_FMT_C1_C2_C1_C0				0x00000022
#define NV50_TIC_0_FMT_C2_C1_C0_C1				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_24_8_ZETA				0x00000029
#define NV50_TIC_0_FMT_8_24_ZETA				0x0000002a
#define NV50_TIC_0_FMT_UNK2C_ZETA				0x0000002c
#define NV50_TIC_0_FMT_UNK2D_ZETA				0x0000002d
#define NV50_TIC_0_FMT_UNK2E_ZETA				0x0000002e
#define NV50_TIC_0_FMT_32_ZETA					0x0000002f
#define NV50_TIC_0_FMT_32_8_ZETA				0x00000030
#define NV50_TIC_0_FMT_16_ZETA				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_TILE_MODE_LINEAR				0x00040000
#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_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_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_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 NV50_TSC_1_LOD_BIAS__MASK				0x01fff000
#define NV50_TSC_1_LOD_BIAS__SHIFT				12

#define NV50_TSC_2						0x00000008
#define NV50_TSC_2_MIN_LOD__MASK				0x00000f00
#define NV50_TSC_2_MIN_LOD__SHIFT				8
#define NV50_TSC_2_MAX_LOD__MASK				0x00f00000
#define NV50_TSC_2_MAX_LOD__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 */