• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef NV04_3D_XML
2 #define NV04_3D_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 - nv04_3d.xml    (  17839 bytes, from 2010-11-15 02:23:48)
12 - copyright.xml  (   6452 bytes, from 2010-11-15 15:10:58)
13 - nv_object.xml  (  11547 bytes, from 2010-11-13 23:32:57)
14 - nvchipsets.xml (   3074 bytes, from 2010-11-13 23:32:57)
15 - nv_defs.xml    (   4437 bytes, from 2010-11-01 00:28:46)
16 - nv_3ddefs.xml  (  16394 bytes, from 2010-11-01 00:28:46)
17 
18 Copyright (C) 2006-2010 by the following authors:
19 - Artur Huillet <arthur.huillet@free.fr> (ahuillet)
20 - Ben Skeggs (darktama, darktama_)
21 - B. R. <koala_br@users.sourceforge.net> (koala_br)
22 - Carlos Martin <carlosmn@users.sf.net> (carlosmn)
23 - Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
24 - Dawid Gajownik <gajownik@users.sf.net> (gajownik)
25 - Dmitry Baryshkov
26 - Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
27 - EdB <edb_@users.sf.net> (edb_)
28 - Erik Waling <erikwailing@users.sf.net> (erikwaling)
29 - Francisco Jerez <currojerez@riseup.net> (curro)
30 - imirkin <imirkin@users.sf.net> (imirkin)
31 - jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
32 - Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
33 - Laurent Carlier <lordheavym@gmail.com> (lordheavy)
34 - Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
35 - Maarten Maathuis <madman2003@gmail.com> (stillunknown)
36 - Marcin Kościelnicki <koriakin@0x04.net> (mwk, koriakin)
37 - Mark Carey <mark.carey@gmail.com> (careym)
38 - Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
39 - nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
40 - Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
41 - Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
42 - Peter Popov <ironpeter@users.sf.net> (ironpeter)
43 - Richard Hughes <hughsient@users.sf.net> (hughsient)
44 - Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
45 - Serge Martin
46 - Simon Raffeiner
47 - Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
48 - Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
49 - sturmflut <sturmflut@users.sf.net> (sturmflut)
50 - Sylvain Munaut <tnt@246tNt.com>
51 - Victor Stinner <victor.stinner@haypocalc.com> (haypo)
52 - Wladmir van der Laan <laanwj@gmail.com> (miathan6)
53 - Younes Manton <younes.m@gmail.com> (ymanton)
54 
55 Permission is hereby granted, free of charge, to any person obtaining
56 a copy of this software and associated documentation files (the
57 "Software"), to deal in the Software without restriction, including
58 without limitation the rights to use, copy, modify, merge, publish,
59 distribute, sublicense, and/or sell copies of the Software, and to
60 permit persons to whom the Software is furnished to do so, subject to
61 the following conditions:
62 
63 The above copyright notice and this permission notice (including the
64 next paragraph) shall be included in all copies or substantial
65 portions of the Software.
66 
67 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
68 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
69 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
70 IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
71 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
72 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
73 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
74 */
75 
76 
77 
78 #define NV04_CONTEXT_SURFACES_3D_DMA_NOTIFY			0x00000180
79 
80 #define NV04_CONTEXT_SURFACES_3D_DMA_COLOR			0x00000184
81 
82 #define NV04_CONTEXT_SURFACES_3D_DMA_ZETA			0x00000188
83 
84 #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL		0x000002f8
85 #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X__MASK	0x0000ffff
86 #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X__SHIFT	0
87 #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W__MASK	0xffff0000
88 #define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W__SHIFT	16
89 
90 #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL			0x000002fc
91 #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y__MASK		0x0000ffff
92 #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y__SHIFT		0
93 #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H__MASK		0xffff0000
94 #define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H__SHIFT		16
95 
96 #define NV04_CONTEXT_SURFACES_3D_FORMAT				0x00000300
97 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR__MASK		0x000000ff
98 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR__SHIFT		0
99 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5	0x00000001
100 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_X1R5G5B5	0x00000002
101 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_R5G6B5		0x00000003
102 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8	0x00000004
103 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_X8R8G8B8	0x00000005
104 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8	0x00000006
105 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8	0x00000007
106 #define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_A8R8G8B8		0x00000008
107 #define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE__MASK		0x0000ff00
108 #define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE__SHIFT		8
109 #define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_PITCH		0x00000100
110 #define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SWIZZLE		0x00000200
111 #define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U__MASK	0x00ff0000
112 #define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U__SHIFT	16
113 #define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V__MASK	0xff000000
114 #define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V__SHIFT	24
115 
116 #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE			0x00000304
117 #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W__MASK		0x0000ffff
118 #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W__SHIFT		0
119 #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H__MASK		0xffff0000
120 #define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H__SHIFT		16
121 
122 #define NV04_CONTEXT_SURFACES_3D_PITCH				0x00000308
123 #define NV04_CONTEXT_SURFACES_3D_PITCH_COLOR__MASK		0x0000ffff
124 #define NV04_CONTEXT_SURFACES_3D_PITCH_COLOR__SHIFT		0
125 #define NV04_CONTEXT_SURFACES_3D_PITCH_ZETA__MASK		0xffff0000
126 #define NV04_CONTEXT_SURFACES_3D_PITCH_ZETA__SHIFT		16
127 
128 #define NV04_CONTEXT_SURFACES_3D_OFFSET_COLOR			0x0000030c
129 
130 #define NV04_CONTEXT_SURFACES_3D_OFFSET_ZETA			0x00000310
131 
132 
133 #define NV04_TEXTURED_TRIANGLE_DMA_NOTIFY			0x00000180
134 
135 #define NV04_TEXTURED_TRIANGLE_DMA_A				0x00000184
136 
137 #define NV04_TEXTURED_TRIANGLE_DMA_B				0x00000188
138 
139 #define NV04_TEXTURED_TRIANGLE_SURFACES				0x0000018c
140 
141 #define NV04_TEXTURED_TRIANGLE_COLORKEY				0x00000300
142 
143 #define NV04_TEXTURED_TRIANGLE_OFFSET				0x00000304
144 
145 #define NV04_TEXTURED_TRIANGLE_FORMAT				0x00000308
146 #define NV04_TEXTURED_TRIANGLE_FORMAT_DMA_A			0x00000001
147 #define NV04_TEXTURED_TRIANGLE_FORMAT_DMA_B			0x00000002
148 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_ENABLE		0x00000004
149 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH__MASK		0x00000030
150 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH__SHIFT		4
151 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CENTER		0x00000010
152 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CORNER		0x00000020
153 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH__MASK		0x000000c0
154 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH__SHIFT		6
155 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CENTER		0x00000040
156 #define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CORNER		0x00000080
157 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR__MASK		0x00000f00
158 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR__SHIFT		8
159 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_Y8			0x00000100
160 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A1R5G5B5		0x00000200
161 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_X1R5G5B5		0x00000300
162 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A4R4G4B4		0x00000400
163 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_R5G6B5		0x00000500
164 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A8R8G8B8		0x00000600
165 #define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_X8R8G8B8		0x00000700
166 #define NV04_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS__MASK	0x0000f000
167 #define NV04_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS__SHIFT	12
168 #define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U__MASK		0x000f0000
169 #define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U__SHIFT	16
170 #define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V__MASK		0x00f00000
171 #define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V__SHIFT	20
172 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU__MASK		0x07000000
173 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU__SHIFT		24
174 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_REPEAT		0x01000000
175 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MIRRORED_REPEAT	0x02000000
176 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_EDGE	0x03000000
177 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_BORDER	0x04000000
178 #define NV04_TEXTURED_TRIANGLE_FORMAT_WRAPU			0x08000000
179 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV__MASK		0x70000000
180 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV__SHIFT		28
181 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_REPEAT		0x10000000
182 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MIRRORED_REPEAT	0x20000000
183 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_EDGE	0x30000000
184 #define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_BORDER	0x40000000
185 #define NV04_TEXTURED_TRIANGLE_FORMAT_WRAPV			0x80000000
186 
187 #define NV04_TEXTURED_TRIANGLE_FILTER				0x0000030c
188 #define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X__MASK	0x000000ff
189 #define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X__SHIFT	0
190 #define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y__MASK	0x00007f00
191 #define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y__SHIFT	8
192 #define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE	0x00008000
193 #define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS__MASK	0x00ff0000
194 #define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS__SHIFT	16
195 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY__MASK		0x07000000
196 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY__SHIFT		24
197 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST		0x01000000
198 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR		0x02000000
199 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST	0x03000000
200 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST	0x04000000
201 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR	0x05000000
202 #define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR	0x06000000
203 #define NV04_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE	0x08000000
204 #define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY__MASK		0x70000000
205 #define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY__SHIFT		28
206 #define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST		0x10000000
207 #define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR		0x20000000
208 #define NV04_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE	0x80000000
209 
210 #define NV04_TEXTURED_TRIANGLE_BLEND				0x00000310
211 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP__MASK		0x0000000f
212 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP__SHIFT		0
213 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_DECAL		0x00000001
214 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MODULATE	0x00000002
215 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_DECALALPHA	0x00000003
216 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MODULATEALPHA	0x00000004
217 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_DECALMASK	0x00000005
218 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MODULATEMASK	0x00000006
219 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_COPY		0x00000007
220 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_ADD		0x00000008
221 #define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT__MASK		0x00000030
222 #define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT__SHIFT		4
223 #define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT_LSB		0x00000010
224 #define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT_MSB		0x00000020
225 #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE__MASK		0x000000c0
226 #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE__SHIFT		6
227 #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_FLAT		0x00000040
228 #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_GOURAUD		0x00000080
229 #define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_PHONG		0x000000c0
230 #define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE	0x00000100
231 #define NV04_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE		0x00001000
232 #define NV04_TEXTURED_TRIANGLE_BLEND_FOG_ENABLE			0x00010000
233 #define NV04_TEXTURED_TRIANGLE_BLEND_BLEND_ENABLE		0x00100000
234 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC__MASK			0x0f000000
235 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC__SHIFT			24
236 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ZERO			0x01000000
237 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE			0x02000000
238 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_SRC_COLOR		0x03000000
239 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE_MINUS_SRC_COLOR	0x04000000
240 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_SRC_ALPHA		0x05000000
241 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE_MINUS_SRC_ALPHA	0x06000000
242 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_DST_ALPHA		0x07000000
243 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE_MINUS_DST_ALPHA	0x08000000
244 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_DST_COLOR		0x09000000
245 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_ONE_MINUS_DST_COLOR	0x0a000000
246 #define NV04_TEXTURED_TRIANGLE_BLEND_SRC_SRC_ALPHA_SATURATE	0x0b000000
247 #define NV04_TEXTURED_TRIANGLE_BLEND_DST__MASK			0xf0000000
248 #define NV04_TEXTURED_TRIANGLE_BLEND_DST__SHIFT			28
249 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ZERO			0x10000000
250 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE			0x20000000
251 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_SRC_COLOR		0x30000000
252 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE_MINUS_SRC_COLOR	0x40000000
253 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_SRC_ALPHA		0x50000000
254 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE_MINUS_SRC_ALPHA	0x60000000
255 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_DST_ALPHA		0x70000000
256 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE_MINUS_DST_ALPHA	0x80000000
257 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_DST_COLOR		0x90000000
258 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_ONE_MINUS_DST_COLOR	0xa0000000
259 #define NV04_TEXTURED_TRIANGLE_BLEND_DST_SRC_ALPHA_SATURATE	0xb0000000
260 
261 #define NV04_TEXTURED_TRIANGLE_CONTROL				0x00000314
262 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF__MASK		0x000000ff
263 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF__SHIFT		0
264 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC__MASK		0x00000f00
265 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC__SHIFT	8
266 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_NEVER		0x00000100
267 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_LESS		0x00000200
268 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_EQUAL		0x00000300
269 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_LEQUAL	0x00000400
270 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_GREATER	0x00000500
271 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_NOTEQUAL	0x00000600
272 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_GEQUAL	0x00000700
273 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_ALWAYS	0x00000800
274 #define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_ENABLE		0x00001000
275 #define NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN__MASK		0x00002000
276 #define NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN__SHIFT		13
277 #define NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN_CENTER		0x00000000
278 #define NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN_CORNER		0x00002000
279 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_ENABLE			0x00004000
280 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC__MASK		0x000f0000
281 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC__SHIFT		16
282 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_NEVER		0x00010000
283 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_LESS		0x00020000
284 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_EQUAL		0x00030000
285 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_LEQUAL		0x00040000
286 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_GREATER		0x00050000
287 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_NOTEQUAL		0x00060000
288 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_GEQUAL		0x00070000
289 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_ALWAYS		0x00080000
290 #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE__MASK		0x00300000
291 #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE__SHIFT		20
292 #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_BOTH		0x00000000
293 #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_NONE		0x00100000
294 #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_CW		0x00200000
295 #define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_CCW		0x00300000
296 #define NV04_TEXTURED_TRIANGLE_CONTROL_DITHER_ENABLE		0x00400000
297 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_PERSPECTIVE_ENABLE	0x00800000
298 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_WRITE			0x01000000
299 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT__MASK		0xc0000000
300 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT__SHIFT		30
301 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_FIXED		0x40000000
302 #define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_FLOAT		0x80000000
303 
304 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR				0x00000318
305 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_B__MASK			0x000000ff
306 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_B__SHIFT		0
307 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_G__MASK			0x0000ff00
308 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_G__SHIFT		8
309 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_R__MASK			0x00ff0000
310 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_R__SHIFT		16
311 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_A__MASK			0xff000000
312 #define NV04_TEXTURED_TRIANGLE_FOGCOLOR_A__SHIFT		24
313 
314 #define NV04_TEXTURED_TRIANGLE_TLVERTEX(i0)		       (0x00000400 + 0x20*(i0))
315 #define NV04_TEXTURED_TRIANGLE_TLVERTEX__ESIZE			0x00000020
316 #define NV04_TEXTURED_TRIANGLE_TLVERTEX__LEN			0x00000010
317 
318 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SX(i0)		       (0x00000400 + 0x20*(i0))
319 
320 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SY(i0)		       (0x00000404 + 0x20*(i0))
321 
322 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SZ(i0)		       (0x00000408 + 0x20*(i0))
323 
324 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_RHW(i0)		       (0x0000040c + 0x20*(i0))
325 
326 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR(i0)	       (0x00000410 + 0x20*(i0))
327 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B__MASK		0x000000ff
328 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B__SHIFT		0
329 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G__MASK		0x0000ff00
330 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G__SHIFT		8
331 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R__MASK		0x00ff0000
332 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R__SHIFT		16
333 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A__MASK		0xff000000
334 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A__SHIFT		24
335 
336 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(i0)	       (0x00000414 + 0x20*(i0))
337 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B__MASK	0x000000ff
338 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B__SHIFT	0
339 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G__MASK	0x0000ff00
340 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G__SHIFT	8
341 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R__MASK	0x00ff0000
342 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R__SHIFT	16
343 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG__MASK	0xff000000
344 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG__SHIFT	24
345 
346 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_TU(i0)		       (0x00000418 + 0x20*(i0))
347 
348 #define NV04_TEXTURED_TRIANGLE_TLVERTEX_TV(i0)		       (0x0000041c + 0x20*(i0))
349 
350 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE(i0)	       (0x00000600 + 0x4*(i0))
351 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE__ESIZE		0x00000004
352 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE__LEN		0x00000040
353 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I0__MASK		0x0000000f
354 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I0__SHIFT		0
355 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I1__MASK		0x000000f0
356 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I1__SHIFT		4
357 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I2__MASK		0x00000f00
358 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I2__SHIFT		8
359 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I3__MASK		0x0000f000
360 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I3__SHIFT		12
361 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I4__MASK		0x000f0000
362 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I4__SHIFT		16
363 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I5__MASK		0x00f00000
364 #define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I5__SHIFT		20
365 
366 
367 #define NV04_MULTITEX_TRIANGLE_DMA_NOTIFY			0x00000180
368 
369 #define NV04_MULTITEX_TRIANGLE_DMA_A				0x00000184
370 
371 #define NV04_MULTITEX_TRIANGLE_DMA_B				0x00000188
372 
373 #define NV04_MULTITEX_TRIANGLE_SURFACES				0x0000018c
374 
375 #define NV04_MULTITEX_TRIANGLE_OFFSET(i0)		       (0x00000308 + 0x4*(i0))
376 #define NV04_MULTITEX_TRIANGLE_OFFSET__ESIZE			0x00000004
377 #define NV04_MULTITEX_TRIANGLE_OFFSET__LEN			0x00000002
378 
379 #define NV04_MULTITEX_TRIANGLE_FORMAT(i0)		       (0x00000310 + 0x4*(i0))
380 #define NV04_MULTITEX_TRIANGLE_FORMAT__ESIZE			0x00000004
381 #define NV04_MULTITEX_TRIANGLE_FORMAT__LEN			0x00000002
382 #define NV04_MULTITEX_TRIANGLE_FORMAT_DMA_A			0x00000001
383 #define NV04_MULTITEX_TRIANGLE_FORMAT_DMA_B			0x00000002
384 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH__MASK		0x00000030
385 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH__SHIFT		4
386 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_CENTER		0x00000010
387 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_CORNER		0x00000020
388 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH__MASK		0x000000c0
389 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH__SHIFT		6
390 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_CENTER		0x00000040
391 #define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_CORNER		0x00000080
392 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR__MASK		0x00000f00
393 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR__SHIFT		8
394 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_Y8			0x00000100
395 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_A1R5G5B5		0x00000200
396 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_X1R5G5B5		0x00000300
397 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_A4R4G4B4		0x00000400
398 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_R5G6B5		0x00000500
399 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_A8R8G8B8		0x00000600
400 #define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_X8R8G8B8		0x00000700
401 #define NV04_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS__MASK	0x0000f000
402 #define NV04_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS__SHIFT	12
403 #define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U__MASK		0x000f0000
404 #define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U__SHIFT	16
405 #define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V__MASK		0x00f00000
406 #define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V__SHIFT	20
407 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU__MASK		0x07000000
408 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU__SHIFT		24
409 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_REPEAT		0x01000000
410 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_MIRRORED_REPEAT	0x02000000
411 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_EDGE	0x03000000
412 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_BORDER	0x04000000
413 #define NV04_MULTITEX_TRIANGLE_FORMAT_WRAPU			0x08000000
414 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV__MASK		0x70000000
415 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV__SHIFT		28
416 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_REPEAT		0x10000000
417 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_MIRRORED_REPEAT	0x20000000
418 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_EDGE	0x30000000
419 #define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_BORDER	0x40000000
420 #define NV04_MULTITEX_TRIANGLE_FORMAT_WRAPV			0x80000000
421 
422 #define NV04_MULTITEX_TRIANGLE_FILTER(i0)		       (0x00000318 + 0x4*(i0))
423 #define NV04_MULTITEX_TRIANGLE_FILTER__ESIZE			0x00000004
424 #define NV04_MULTITEX_TRIANGLE_FILTER__LEN			0x00000002
425 #define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X__MASK	0x000000ff
426 #define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X__SHIFT	0
427 #define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y__MASK	0x00007f00
428 #define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y__SHIFT	8
429 #define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE	0x00008000
430 #define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS__MASK	0x00ff0000
431 #define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS__SHIFT	16
432 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY__MASK		0x07000000
433 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY__SHIFT		24
434 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_NEAREST		0x01000000
435 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_LINEAR		0x02000000
436 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST	0x03000000
437 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST	0x04000000
438 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR	0x05000000
439 #define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR	0x06000000
440 #define NV04_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE	0x08000000
441 #define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY__MASK		0x70000000
442 #define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY__SHIFT		28
443 #define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY_NEAREST		0x10000000
444 #define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY_LINEAR		0x20000000
445 #define NV04_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE	0x80000000
446 
447 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA(i0)	       (0x00000320 + 0xc*(i0))
448 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA__ESIZE		0x0000000c
449 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA__LEN		0x00000002
450 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE0		0x00000001
451 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0__MASK	0x000000fc
452 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0__SHIFT	2
453 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_ZERO	0x00000004
454 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_CONSTANT	0x00000008
455 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_PRIMARY_COLOR	0x0000000c
456 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_PREVIOUS	0x00000010
457 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURE0	0x00000014
458 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURE1	0x00000018
459 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURELOD	0x0000001c
460 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE1		0x00000100
461 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1__MASK	0x0000fc00
462 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1__SHIFT	10
463 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_ZERO	0x00000400
464 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_CONSTANT	0x00000800
465 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_PRIMARY_COLOR	0x00000c00
466 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_PREVIOUS	0x00001000
467 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURE0	0x00001400
468 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURE1	0x00001800
469 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURELOD	0x00001c00
470 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE2		0x00010000
471 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2__MASK	0x00fc0000
472 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2__SHIFT	18
473 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_ZERO	0x00040000
474 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_CONSTANT	0x00080000
475 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_PRIMARY_COLOR	0x000c0000
476 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_PREVIOUS	0x00100000
477 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURE0	0x00140000
478 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURE1	0x00180000
479 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURELOD	0x001c0000
480 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE3		0x01000000
481 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3__MASK	0x1c000000
482 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3__SHIFT	26
483 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_ZERO	0x04000000
484 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_CONSTANT	0x08000000
485 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_PRIMARY_COLOR	0x0c000000
486 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_PREVIOUS	0x10000000
487 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURE0	0x14000000
488 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURE1	0x18000000
489 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURELOD	0x1c000000
490 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP__MASK		0xe0000000
491 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP__SHIFT		29
492 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_IDENTITY	0x20000000
493 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SCALE2		0x40000000
494 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SCALE4		0x60000000
495 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_BIAS		0x80000000
496 #define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_BIAS_SCALE2	0xe0000000
497 
498 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR(i0)	       (0x00000324 + 0xc*(i0))
499 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR__ESIZE		0x0000000c
500 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR__LEN		0x00000002
501 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE0		0x00000001
502 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA0		0x00000002
503 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0__MASK	0x000000fc
504 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0__SHIFT	2
505 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_ZERO	0x00000004
506 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_CONSTANT	0x00000008
507 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_PRIMARY_COLOR	0x0000000c
508 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_PREVIOUS	0x00000010
509 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURE0	0x00000014
510 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURE1	0x00000018
511 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURELOD	0x0000001c
512 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE1		0x00000100
513 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA1		0x00000200
514 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1__MASK	0x0000fc00
515 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1__SHIFT	10
516 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_ZERO	0x00000400
517 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_CONSTANT	0x00000800
518 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_PRIMARY_COLOR	0x00000c00
519 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_PREVIOUS	0x00001000
520 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURE0	0x00001400
521 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURE1	0x00001800
522 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURELOD	0x00001c00
523 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE2		0x00010000
524 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA2		0x00020000
525 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2__MASK	0x00fc0000
526 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2__SHIFT	18
527 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_ZERO	0x00040000
528 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_CONSTANT	0x00080000
529 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_PRIMARY_COLOR	0x000c0000
530 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_PREVIOUS	0x00100000
531 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURE0	0x00140000
532 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURE1	0x00180000
533 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURELOD	0x001c0000
534 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE3		0x01000000
535 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA3		0x02000000
536 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3__MASK	0x1c000000
537 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3__SHIFT	26
538 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_ZERO	0x04000000
539 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_CONSTANT	0x08000000
540 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_PRIMARY_COLOR	0x0c000000
541 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_PREVIOUS	0x10000000
542 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURE0	0x14000000
543 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURE1	0x18000000
544 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURELOD	0x1c000000
545 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP__MASK		0xe0000000
546 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP__SHIFT		29
547 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_IDENTITY	0x20000000
548 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SCALE2		0x40000000
549 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SCALE4		0x60000000
550 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_BIAS		0x80000000
551 #define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_BIAS_SCALE2	0xe0000000
552 
553 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR			0x00000334
554 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_B__MASK		0x000000ff
555 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_B__SHIFT		0
556 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_G__MASK		0x0000ff00
557 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_G__SHIFT		8
558 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_R__MASK		0x00ff0000
559 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_R__SHIFT		16
560 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_A__MASK		0xff000000
561 #define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_A__SHIFT		24
562 
563 #define NV04_MULTITEX_TRIANGLE_BLEND				0x00000338
564 #define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT__MASK		0x00000030
565 #define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT__SHIFT		4
566 #define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT_LSB		0x00000010
567 #define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT_MSB		0x00000020
568 #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE__MASK		0x000000c0
569 #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE__SHIFT		6
570 #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_FLAT		0x00000040
571 #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_GOURAUD		0x00000080
572 #define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_PHONG		0x000000c0
573 #define NV04_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE	0x00000100
574 #define NV04_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE		0x00001000
575 #define NV04_MULTITEX_TRIANGLE_BLEND_FOG_ENABLE			0x00010000
576 #define NV04_MULTITEX_TRIANGLE_BLEND_BLEND_ENABLE		0x00100000
577 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC__MASK			0x0f000000
578 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC__SHIFT			24
579 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ZERO			0x01000000
580 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE			0x02000000
581 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_SRC_COLOR		0x03000000
582 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE_MINUS_SRC_COLOR	0x04000000
583 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_SRC_ALPHA		0x05000000
584 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE_MINUS_SRC_ALPHA	0x06000000
585 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_DST_ALPHA		0x07000000
586 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE_MINUS_DST_ALPHA	0x08000000
587 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_DST_COLOR		0x09000000
588 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_ONE_MINUS_DST_COLOR	0x0a000000
589 #define NV04_MULTITEX_TRIANGLE_BLEND_SRC_SRC_ALPHA_SATURATE	0x0b000000
590 #define NV04_MULTITEX_TRIANGLE_BLEND_DST__MASK			0xf0000000
591 #define NV04_MULTITEX_TRIANGLE_BLEND_DST__SHIFT			28
592 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ZERO			0x10000000
593 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE			0x20000000
594 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_SRC_COLOR		0x30000000
595 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE_MINUS_SRC_COLOR	0x40000000
596 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_SRC_ALPHA		0x50000000
597 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE_MINUS_SRC_ALPHA	0x60000000
598 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_DST_ALPHA		0x70000000
599 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE_MINUS_DST_ALPHA	0x80000000
600 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_DST_COLOR		0x90000000
601 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_ONE_MINUS_DST_COLOR	0xa0000000
602 #define NV04_MULTITEX_TRIANGLE_BLEND_DST_SRC_ALPHA_SATURATE	0xb0000000
603 
604 #define NV04_MULTITEX_TRIANGLE_CONTROL0				0x0000033c
605 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF__MASK		0x000000ff
606 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF__SHIFT	0
607 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC__MASK	0x00000f00
608 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC__SHIFT	8
609 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_NEVER	0x00000100
610 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_LESS		0x00000200
611 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_EQUAL	0x00000300
612 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_LEQUAL	0x00000400
613 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_GREATER	0x00000500
614 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_NOTEQUAL	0x00000600
615 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_GEQUAL	0x00000700
616 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_ALWAYS	0x00000800
617 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_ENABLE		0x00001000
618 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN__MASK		0x00002000
619 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN__SHIFT		13
620 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN_CENTER		0x00000000
621 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN_CORNER		0x00002000
622 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_ENABLE		0x00004000
623 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC__MASK		0x000f0000
624 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC__SHIFT		16
625 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_NEVER		0x00010000
626 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_LESS		0x00020000
627 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_EQUAL		0x00030000
628 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_LEQUAL		0x00040000
629 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_GREATER		0x00050000
630 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_NOTEQUAL		0x00060000
631 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_GEQUAL		0x00070000
632 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_ALWAYS		0x00080000
633 #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE__MASK		0x00300000
634 #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE__SHIFT	20
635 #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_BOTH		0x00000000
636 #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_NONE		0x00100000
637 #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_CW		0x00200000
638 #define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_CCW		0x00300000
639 #define NV04_MULTITEX_TRIANGLE_CONTROL0_DITHER_ENABLE		0x00400000
640 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_PERSPECTIVE_ENABLE	0x00800000
641 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_WRITE			0x01000000
642 #define NV04_MULTITEX_TRIANGLE_CONTROL0_STENCIL_WRITE		0x02000000
643 #define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_WRITE		0x04000000
644 #define NV04_MULTITEX_TRIANGLE_CONTROL0_RED_WRITE		0x08000000
645 #define NV04_MULTITEX_TRIANGLE_CONTROL0_GREEN_WRITE		0x10000000
646 #define NV04_MULTITEX_TRIANGLE_CONTROL0_BLUE_WRITE		0x20000000
647 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT__MASK		0xc0000000
648 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT__SHIFT		30
649 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_FIXED		0x40000000
650 #define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_FLOAT		0x80000000
651 
652 #define NV04_MULTITEX_TRIANGLE_CONTROL1				0x00000340
653 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_ENABLE		0x00000001
654 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC__MASK	0x000000f0
655 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC__SHIFT	4
656 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF__MASK	0x0000ff00
657 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF__SHIFT	8
658 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ__MASK	0x00ff0000
659 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ__SHIFT	16
660 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE__MASK	0xff000000
661 #define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE__SHIFT	24
662 
663 #define NV04_MULTITEX_TRIANGLE_CONTROL2				0x00000344
664 #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL__MASK	0x0000000f
665 #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL__SHIFT	0
666 #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL__MASK	0x000000f0
667 #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL__SHIFT	4
668 #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS__MASK	0x00000f00
669 #define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS__SHIFT	8
670 
671 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR				0x00000348
672 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_B__MASK			0x000000ff
673 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_B__SHIFT		0
674 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_G__MASK			0x0000ff00
675 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_G__SHIFT		8
676 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_R__MASK			0x00ff0000
677 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_R__SHIFT		16
678 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_A__MASK			0xff000000
679 #define NV04_MULTITEX_TRIANGLE_FOGCOLOR_A__SHIFT		24
680 
681 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX(i0)		       (0x00000400 + 0x28*(i0))
682 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX__ESIZE		0x00000028
683 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX__LEN			0x00000008
684 
685 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SX(i0)	       (0x00000400 + 0x28*(i0))
686 
687 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SY(i0)	       (0x00000404 + 0x28*(i0))
688 
689 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SZ(i0)	       (0x00000408 + 0x28*(i0))
690 
691 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_RHW(i0)	       (0x0000040c + 0x28*(i0))
692 
693 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR(i0)	       (0x00000410 + 0x28*(i0))
694 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B__MASK		0x000000ff
695 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B__SHIFT	0
696 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G__MASK		0x0000ff00
697 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G__SHIFT	8
698 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R__MASK		0x00ff0000
699 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R__SHIFT	16
700 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A__MASK		0xff000000
701 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A__SHIFT	24
702 
703 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR(i0)	       (0x00000414 + 0x28*(i0))
704 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B__MASK	0x000000ff
705 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B__SHIFT	0
706 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G__MASK	0x0000ff00
707 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G__SHIFT	8
708 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R__MASK	0x00ff0000
709 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R__SHIFT	16
710 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG__MASK	0xff000000
711 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG__SHIFT	24
712 
713 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU0(i0)	       (0x00000418 + 0x28*(i0))
714 
715 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV0(i0)	       (0x0000041c + 0x28*(i0))
716 
717 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU1(i0)	       (0x00000420 + 0x28*(i0))
718 
719 #define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV1(i0)	       (0x00000424 + 0x28*(i0))
720 
721 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE(i0)	       (0x00000540 + 0x4*(i0))
722 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE__ESIZE		0x00000004
723 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE__LEN		0x00000030
724 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I0__MASK		0x0000000f
725 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I0__SHIFT		0
726 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I1__MASK		0x000000f0
727 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I1__SHIFT		4
728 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I2__MASK		0x00000f00
729 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I2__SHIFT		8
730 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I3__MASK		0x0000f000
731 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I3__SHIFT		12
732 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I4__MASK		0x000f0000
733 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I4__SHIFT		16
734 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I5__MASK		0x00f00000
735 #define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I5__SHIFT		20
736 
737 
738 #endif /* NV04_3D_XML */
739