nv50: replace most of it with nvc0 driver ported to nv50
[mesa.git] / src / gallium / drivers / nv50 / nv50_texture.xml.h
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 - nv50_texture.xml ( 6871 bytes, from 2010-10-03 13:18:37)
12 - copyright.xml ( 6498 bytes, from 2010-10-03 13:18:37)
13
14 Copyright (C) 2006-2010 by the following authors:
15 - Artur Huillet <arthur.huillet@free.fr> (ahuillet)
16 - Ben Skeggs (darktama, darktama_)
17 - B. R. <koala_br@users.sourceforge.net> (koala_br)
18 - Carlos Martin <carlosmn@users.sf.net> (carlosmn)
19 - Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
20 - Dawid Gajownik <gajownik@users.sf.net> (gajownik)
21 - Dmitry Baryshkov
22 - Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
23 - EdB <edb_@users.sf.net> (edb_)
24 - Erik Waling <erikwailing@users.sf.net> (erikwaling)
25 - Francisco Jerez <currojerez@riseup.net> (curro, curro_, currojerez)
26 - imirkin <imirkin@users.sf.net> (imirkin)
27 - jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
28 - Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
29 - Laurent Carlier <lordheavym@gmail.com> (lordheavy)
30 - Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
31 - Maarten Maathuis <madman2003@gmail.com> (stillunknown)
32 - Marcin Koƛcielnicki <koriakin@0x04.net> (mwk, koriakin)
33 - Mark Carey <mark.carey@gmail.com> (careym)
34 - Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
35 - nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
36 - Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
37 - Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
38 - Peter Popov <ironpeter@users.sf.net> (ironpeter)
39 - Richard Hughes <hughsient@users.sf.net> (hughsient)
40 - Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
41 - Serge Martin
42 - Simon Raffeiner
43 - Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
44 - Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
45 - sturmflut <sturmflut@users.sf.net> (sturmflut)
46 - Sylvain Munaut <tnt@246tNt.com>
47 - Victor Stinner <victor.stinner@haypocalc.com> (haypo)
48 - Wladmir van der Laan <laanwj@gmail.com> (miathan6)
49 - Younes Manton <younes.m@gmail.com> (ymanton)
50
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
59 The above copyright notice and this permission notice (including the
60 next paragraph) shall be included in all copies or substantial
61 portions of the Software.
62
63 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
64 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
65 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
66 IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
67 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
68 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
69 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
70 */
71
72
73 #define NV50_TIC_MAP_ZERO 0x00000000
74 #define NV50_TIC_MAP_C0 0x00000002
75 #define NV50_TIC_MAP_C1 0x00000003
76 #define NV50_TIC_MAP_C2 0x00000004
77 #define NV50_TIC_MAP_C3 0x00000005
78 #define NV50_TIC_MAP_ONE 0x00000007
79 #define NV50_TIC_TYPE_SNORM 0x00000001
80 #define NV50_TIC_TYPE_UNORM 0x00000002
81 #define NV50_TIC_TYPE_SINT 0x00000003
82 #define NV50_TIC_TYPE_UINT 0x00000004
83 #define NV50_TIC_TYPE_SSCALED 0x00000005
84 #define NV50_TIC_TYPE_USCALED 0x00000006
85 #define NV50_TIC_TYPE_FLOAT 0x00000007
86 #define NV50_TSC_WRAP_REPEAT 0x00000000
87 #define NV50_TSC_WRAP_MIRROR_REPEAT 0x00000001
88 #define NV50_TSC_WRAP_CLAMP_TO_EDGE 0x00000002
89 #define NV50_TSC_WRAP_CLAMP_TO_BORDER 0x00000003
90 #define NV50_TSC_WRAP_CLAMP 0x00000004
91 #define NV50_TSC_WRAP_MIRROR_CLAMP_TO_EDGE 0x00000005
92 #define NV50_TSC_WRAP_MIRROR_CLAMP_TO_BORDER 0x00000006
93 #define NV50_TSC_WRAP_MIRROR_CLAMP 0x00000007
94 #define NV50_TIC__SIZE 0x00000020
95 #define NV50_TIC_0 0x00000000
96 #define NV50_TIC_0_MAPA__MASK 0x38000000
97 #define NV50_TIC_0_MAPA__SHIFT 27
98 #define NV50_TIC_0_MAPB__MASK 0x07000000
99 #define NV50_TIC_0_MAPB__SHIFT 24
100 #define NV50_TIC_0_MAPG__MASK 0x00e00000
101 #define NV50_TIC_0_MAPG__SHIFT 21
102 #define NV50_TIC_0_MAPR__MASK 0x001c0000
103 #define NV50_TIC_0_MAPR__SHIFT 18
104 #define NV50_TIC_0_TYPE3__MASK 0x00038000
105 #define NV50_TIC_0_TYPE3__SHIFT 15
106 #define NV50_TIC_0_TYPE2__MASK 0x00007000
107 #define NV50_TIC_0_TYPE2__SHIFT 12
108 #define NV50_TIC_0_TYPE1__MASK 0x00000e00
109 #define NV50_TIC_0_TYPE1__SHIFT 9
110 #define NV50_TIC_0_TYPE0__MASK 0x000001c0
111 #define NV50_TIC_0_TYPE0__SHIFT 6
112 #define NV50_TIC_0_SWIZZLE__MASK 0x3ffc0000
113 #define NV50_TIC_0_FMT__MASK 0x0000003f
114 #define NV50_TIC_0_FMT__SHIFT 0
115 #define NV50_TIC_0_FMT_32_32_32_32 0x00000001
116 #define NV50_TIC_0_FMT_16_16_16_16 0x00000003
117 #define NV50_TIC_0_FMT_32_32 0x00000004
118 #define NV50_TIC_0_FMT_32_8 0x00000005
119 #define NV50_TIC_0_FMT_8_8_8_8 0x00000008
120 #define NV50_TIC_0_FMT_2_10_10_10 0x00000009
121 #define NV50_TIC_0_FMT_16_16 0x0000000c
122 #define NV50_TIC_0_FMT_8_24 0x0000000d
123 #define NV50_TIC_0_FMT_24_8 0x0000000e
124 #define NV50_TIC_0_FMT_32 0x0000000f
125 #define NV50_TIC_0_FMT_4_4_4_4 0x00000012
126 #define NV50_TIC_0_FMT_5_5_5_1 0x00000013
127 #define NV50_TIC_0_FMT_1_5_5_5 0x00000014
128 #define NV50_TIC_0_FMT_5_6_5 0x00000015
129 #define NV50_TIC_0_FMT_6_5_5 0x00000016
130 #define NV50_TIC_0_FMT_8_8 0x00000018
131 #define NV50_TIC_0_FMT_16 0x0000001b
132 #define NV50_TIC_0_FMT_8 0x0000001d
133 #define NV50_TIC_0_FMT_4_4 0x0000001e
134 #define NV50_TIC_0_FMT_UNK1F 0x0000001f
135 #define NV50_TIC_0_FMT_E5_9_9_9 0x00000020
136 #define NV50_TIC_0_FMT_10_11_11 0x00000021
137 #define NV50_TIC_0_FMT_C1_C2_C1_C0 0x00000022
138 #define NV50_TIC_0_FMT_C2_C1_C0_C1 0x00000023
139 #define NV50_TIC_0_FMT_DXT1 0x00000024
140 #define NV50_TIC_0_FMT_DXT3 0x00000025
141 #define NV50_TIC_0_FMT_DXT5 0x00000026
142 #define NV50_TIC_0_FMT_RGTC1 0x00000027
143 #define NV50_TIC_0_FMT_RGTC2 0x00000028
144 #define NV50_TIC_0_FMT_24_8_ZETA 0x00000029
145 #define NV50_TIC_0_FMT_8_24_ZETA 0x0000002a
146 #define NV50_TIC_0_FMT_UNK2C_ZETA 0x0000002c
147 #define NV50_TIC_0_FMT_UNK2D_ZETA 0x0000002d
148 #define NV50_TIC_0_FMT_UNK2E_ZETA 0x0000002e
149 #define NV50_TIC_0_FMT_32_ZETA 0x0000002f
150 #define NV50_TIC_0_FMT_32_8_ZETA 0x00000030
151 #define NV50_TIC_0_FMT_16_ZETA 0x0000003a
152
153 #define NV50_TIC_1 0x00000004
154 #define NV50_TIC_1_OFFSET_LOW__MASK 0xffffffff
155 #define NV50_TIC_1_OFFSET_LOW__SHIFT 0
156
157 #define NV50_TIC_2 0x00000008
158 #define NV50_TIC_2_OFFSET_HIGH__MASK 0x000000ff
159 #define NV50_TIC_2_OFFSET_HIGH__SHIFT 0
160 #define NV50_TIC_2_COLORSPACE_SRGB 0x00000400
161 #define NV50_TIC_2_TARGET__MASK 0x0003c000
162 #define NV50_TIC_2_TARGET__SHIFT 14
163 #define NV50_TIC_2_TARGET_1D 0x00000000
164 #define NV50_TIC_2_TARGET_2D 0x00004000
165 #define NV50_TIC_2_TARGET_3D 0x00008000
166 #define NV50_TIC_2_TARGET_CUBE 0x0000c000
167 #define NV50_TIC_2_TARGET_1D_ARRAY 0x00010000
168 #define NV50_TIC_2_TARGET_2D_ARRAY 0x00014000
169 #define NV50_TIC_2_TARGET_BUFFER 0x00018000
170 #define NV50_TIC_2_TARGET_RECT 0x0001c000
171 #define NV50_TIC_2_TARGET_CUBE_ARRAY 0x00020000
172 #define NV50_TIC_2_TILE_MODE_LINEAR 0x00040000
173 #define NV50_TIC_2_TILE_MODE_Y__MASK 0x01c00000
174 #define NV50_TIC_2_TILE_MODE_Y__SHIFT 22
175 #define NV50_TIC_2_TILE_MODE_Z__MASK 0x0e000000
176 #define NV50_TIC_2_TILE_MODE_Z__SHIFT 25
177 #define NV50_TIC_2_2D_UNK0258__MASK 0x30000000
178 #define NV50_TIC_2_2D_UNK0258__SHIFT 28
179 #define NV50_TIC_2_NORMALIZED_COORDS 0x80000000
180
181 #define NV50_TIC_3 0x0000000c
182 #define NV50_TIC_3_PITCH__MASK 0xffffffff
183 #define NV50_TIC_3_PITCH__SHIFT 0
184
185 #define NV50_TIC_4 0x00000010
186 #define NV50_TIC_4_WIDTH__MASK 0xffffffff
187 #define NV50_TIC_4_WIDTH__SHIFT 0
188
189 #define NV50_TIC_5 0x00000014
190 #define NV50_TIC_5_LAST_LEVEL__MASK 0xf0000000
191 #define NV50_TIC_5_LAST_LEVEL__SHIFT 28
192 #define NV50_TIC_5_DEPTH__MASK 0x0fff0000
193 #define NV50_TIC_5_DEPTH__SHIFT 16
194 #define NV50_TIC_5_HEIGHT__MASK 0x0000ffff
195 #define NV50_TIC_5_HEIGHT__SHIFT 0
196
197 #define NV50_TIC_7 0x0000001c
198 #define NV50_TIC_7_BASE_LEVEL__MASK 0x0000000f
199 #define NV50_TIC_7_BASE_LEVEL__SHIFT 0
200 #define NV50_TIC_7_MAX_LEVEL__MASK 0x000000f0
201 #define NV50_TIC_7_MAX_LEVEL__SHIFT 4
202
203 #define NV50_TSC__SIZE 0x00000020
204 #define NV50_TSC_0 0x00000000
205 #define NV50_TSC_0_WRAPS__MASK 0x00000007
206 #define NV50_TSC_0_WRAPS__SHIFT 0
207 #define NV50_TSC_0_WRAPT__MASK 0x00000038
208 #define NV50_TSC_0_WRAPT__SHIFT 3
209 #define NV50_TSC_0_WRAPR__MASK 0x000001c0
210 #define NV50_TSC_0_WRAPR__SHIFT 6
211 #define NV50_TSC_0_SHADOW_COMPARE_ENABLE 0x00000200
212 #define NV50_TSC_0_SHADOW_COMPARE_FUNC__MASK 0x00001c00
213 #define NV50_TSC_0_SHADOW_COMPARE_FUNC__SHIFT 10
214 #define NV50_TSC_0_ANISOTROPY_MASK__MASK 0x00700000
215 #define NV50_TSC_0_ANISOTROPY_MASK__SHIFT 20
216
217 #define NV50_TSC_1 0x00000004
218 #define NV50_TSC_1_UNKN_ANISO_15 0x10000000
219 #define NV50_TSC_1_UNKN_ANISO_35 0x18000000
220 #define NV50_TSC_1_MAGF__MASK 0x00000003
221 #define NV50_TSC_1_MAGF__SHIFT 0
222 #define NV50_TSC_1_MAGF_NEAREST 0x00000001
223 #define NV50_TSC_1_MAGF_LINEAR 0x00000002
224 #define NV50_TSC_1_MINF__MASK 0x00000030
225 #define NV50_TSC_1_MINF__SHIFT 4
226 #define NV50_TSC_1_MINF_NEAREST 0x00000010
227 #define NV50_TSC_1_MINF_LINEAR 0x00000020
228 #define NV50_TSC_1_MIPF__MASK 0x000000c0
229 #define NV50_TSC_1_MIPF__SHIFT 6
230 #define NV50_TSC_1_MIPF_NONE 0x00000040
231 #define NV50_TSC_1_MIPF_NEAREST 0x00000080
232 #define NV50_TSC_1_MIPF_LINEAR 0x000000c0
233 #define NV50_TSC_1_LOD_BIAS__MASK 0x01fff000
234 #define NV50_TSC_1_LOD_BIAS__SHIFT 12
235
236 #define NV50_TSC_2 0x00000008
237 #define NV50_TSC_2_MIN_LOD__MASK 0x00000f00
238 #define NV50_TSC_2_MIN_LOD__SHIFT 8
239 #define NV50_TSC_2_MAX_LOD__MASK 0x00f00000
240 #define NV50_TSC_2_MAX_LOD__SHIFT 20
241
242 #define NV50_TSC_4 0x00000010
243 #define NV50_TSC_4_BORDER_COLOR_RED__MASK 0xffffffff
244 #define NV50_TSC_4_BORDER_COLOR_RED__SHIFT 0
245
246 #define NV50_TSC_5 0x00000014
247 #define NV50_TSC_5_BORDER_COLOR_GREEN__MASK 0xffffffff
248 #define NV50_TSC_5_BORDER_COLOR_GREEN__SHIFT 0
249
250 #define NV50_TSC_6 0x00000018
251 #define NV50_TSC_6_BORDER_COLOR_BLUE__MASK 0xffffffff
252 #define NV50_TSC_6_BORDER_COLOR_BLUE__SHIFT 0
253
254 #define NV50_TSC_7 0x0000001c
255 #define NV50_TSC_7_BORDER_COLOR_ALPHA__MASK 0xffffffff
256 #define NV50_TSC_7_BORDER_COLOR_ALPHA__SHIFT 0
257
258
259 #endif /* NV50_TEXTURE_XML */