1bf215546Sopenharmony_ci#ifndef _HOME_SKEGGSB_GIT_ENVYTOOLS_RNNDB_NV30_40_3D_XML
2bf215546Sopenharmony_ci#define _HOME_SKEGGSB_GIT_ENVYTOOLS_RNNDB_NV30_40_3D_XML
3bf215546Sopenharmony_ci
4bf215546Sopenharmony_ci/* Autogenerated file, DO NOT EDIT manually!
5bf215546Sopenharmony_ci
6bf215546Sopenharmony_ciThis file was generated by the rules-ng-ng headergen tool in this git repository:
7bf215546Sopenharmony_cihttp://0x04.net/cgit/index.cgi/rules-ng-ng
8bf215546Sopenharmony_cigit clone git://0x04.net/rules-ng-ng
9bf215546Sopenharmony_ci
10bf215546Sopenharmony_ciThe rules-ng-ng source files this header was generated from are:
11bf215546Sopenharmony_ci- /home/skeggsb/git/envytools/rnndb/nv30-40_3d.xml (  32450 bytes, from 2012-02-10 02:41:48)
12bf215546Sopenharmony_ci- /home/skeggsb/git/envytools/rnndb/copyright.xml  (   6452 bytes, from 2011-06-30 00:27:55)
13bf215546Sopenharmony_ci- /home/skeggsb/git/envytools/rnndb/nv_3ddefs.xml  (  16394 bytes, from 2011-06-30 00:27:55)
14bf215546Sopenharmony_ci- /home/skeggsb/git/envytools/rnndb/nv_defs.xml    (   4437 bytes, from 2011-06-30 00:27:55)
15bf215546Sopenharmony_ci- /home/skeggsb/git/envytools/rnndb/nv_object.xml  (  12672 bytes, from 2011-07-13 22:28:24)
16bf215546Sopenharmony_ci- /home/skeggsb/git/envytools/rnndb/nvchipsets.xml (   3617 bytes, from 2011-07-17 23:19:55)
17bf215546Sopenharmony_ci- /home/skeggsb/git/envytools/rnndb/nv50_defs.xml  (   5468 bytes, from 2011-07-08 05:22:51)
18bf215546Sopenharmony_ci
19bf215546Sopenharmony_ciCopyright (C) 2006-2012 by the following authors:
20bf215546Sopenharmony_ci- Artur Huillet <arthur.huillet@free.fr> (ahuillet)
21bf215546Sopenharmony_ci- Ben Skeggs (darktama, darktama_)
22bf215546Sopenharmony_ci- B. R. <koala_br@users.sourceforge.net> (koala_br)
23bf215546Sopenharmony_ci- Carlos Martin <carlosmn@users.sf.net> (carlosmn)
24bf215546Sopenharmony_ci- Christoph Bumiller <e0425955@student.tuwien.ac.at> (calim, chrisbmr)
25bf215546Sopenharmony_ci- Dawid Gajownik <gajownik@users.sf.net> (gajownik)
26bf215546Sopenharmony_ci- Dmitry Baryshkov
27bf215546Sopenharmony_ci- Dmitry Eremin-Solenikov <lumag@users.sf.net> (lumag)
28bf215546Sopenharmony_ci- EdB <edb_@users.sf.net> (edb_)
29bf215546Sopenharmony_ci- Erik Waling <erikwailing@users.sf.net> (erikwaling)
30bf215546Sopenharmony_ci- Francisco Jerez <currojerez@riseup.net> (curro)
31bf215546Sopenharmony_ci- imirkin <imirkin@users.sf.net> (imirkin)
32bf215546Sopenharmony_ci- jb17bsome <jb17bsome@bellsouth.net> (jb17bsome)
33bf215546Sopenharmony_ci- Jeremy Kolb <kjeremy@users.sf.net> (kjeremy)
34bf215546Sopenharmony_ci- Laurent Carlier <lordheavym@gmail.com> (lordheavy)
35bf215546Sopenharmony_ci- Luca Barbieri <luca@luca-barbieri.com> (lb, lb1)
36bf215546Sopenharmony_ci- Maarten Maathuis <madman2003@gmail.com> (stillunknown)
37bf215546Sopenharmony_ci- Marcin Kościelnicki <koriakin@0x04.net> (mwk, koriakin)
38bf215546Sopenharmony_ci- Mark Carey <mark.carey@gmail.com> (careym)
39bf215546Sopenharmony_ci- Matthieu Castet <matthieu.castet@parrot.com> (mat-c)
40bf215546Sopenharmony_ci- nvidiaman <nvidiaman@users.sf.net> (nvidiaman)
41bf215546Sopenharmony_ci- Patrice Mandin <patmandin@gmail.com> (pmandin, pmdata)
42bf215546Sopenharmony_ci- Pekka Paalanen <pq@iki.fi> (pq, ppaalanen)
43bf215546Sopenharmony_ci- Peter Popov <ironpeter@users.sf.net> (ironpeter)
44bf215546Sopenharmony_ci- Richard Hughes <hughsient@users.sf.net> (hughsient)
45bf215546Sopenharmony_ci- Rudi Cilibrasi <cilibrar@users.sf.net> (cilibrar)
46bf215546Sopenharmony_ci- Serge Martin
47bf215546Sopenharmony_ci- Simon Raffeiner
48bf215546Sopenharmony_ci- Stephane Loeuillet <leroutier@users.sf.net> (leroutier)
49bf215546Sopenharmony_ci- Stephane Marchesin <stephane.marchesin@gmail.com> (marcheu)
50bf215546Sopenharmony_ci- sturmflut <sturmflut@users.sf.net> (sturmflut)
51bf215546Sopenharmony_ci- Sylvain Munaut <tnt@246tNt.com>
52bf215546Sopenharmony_ci- Victor Stinner <victor.stinner@haypocalc.com> (haypo)
53bf215546Sopenharmony_ci- Wladmir van der Laan <laanwj@gmail.com> (miathan6)
54bf215546Sopenharmony_ci- Younes Manton <younes.m@gmail.com> (ymanton)
55bf215546Sopenharmony_ci
56bf215546Sopenharmony_ciPermission is hereby granted, free of charge, to any person obtaining
57bf215546Sopenharmony_cia copy of this software and associated documentation files (the
58bf215546Sopenharmony_ci"Software"), to deal in the Software without restriction, including
59bf215546Sopenharmony_ciwithout limitation the rights to use, copy, modify, merge, publish,
60bf215546Sopenharmony_cidistribute, sublicense, and/or sell copies of the Software, and to
61bf215546Sopenharmony_cipermit persons to whom the Software is furnished to do so, subject to
62bf215546Sopenharmony_cithe following conditions:
63bf215546Sopenharmony_ci
64bf215546Sopenharmony_ciThe above copyright notice and this permission notice (including the
65bf215546Sopenharmony_cinext paragraph) shall be included in all copies or substantial
66bf215546Sopenharmony_ciportions of the Software.
67bf215546Sopenharmony_ci
68bf215546Sopenharmony_ciTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
69bf215546Sopenharmony_ciEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
70bf215546Sopenharmony_ciMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
71bf215546Sopenharmony_ciIN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
72bf215546Sopenharmony_ciLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
73bf215546Sopenharmony_ciOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
74bf215546Sopenharmony_ciWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
75bf215546Sopenharmony_ci*/
76bf215546Sopenharmony_ci
77bf215546Sopenharmony_ci
78bf215546Sopenharmony_ci
79bf215546Sopenharmony_ci#define NV30_3D_FLIP_SET_READ					0x00000120
80bf215546Sopenharmony_ci
81bf215546Sopenharmony_ci#define NV30_3D_FLIP_SET_WRITE					0x00000124
82bf215546Sopenharmony_ci
83bf215546Sopenharmony_ci#define NV30_3D_FLIP_MAX					0x00000128
84bf215546Sopenharmony_ci
85bf215546Sopenharmony_ci#define NV30_3D_FLIP_INCR_WRITE					0x0000012c
86bf215546Sopenharmony_ci
87bf215546Sopenharmony_ci#define NV30_3D_FLIP_WAIT					0x00000130
88bf215546Sopenharmony_ci
89bf215546Sopenharmony_ci#define NV30_3D_DMA_NOTIFY					0x00000180
90bf215546Sopenharmony_ci
91bf215546Sopenharmony_ci#define NV30_3D_DMA_TEXTURE0					0x00000184
92bf215546Sopenharmony_ci
93bf215546Sopenharmony_ci#define NV30_3D_DMA_TEXTURE1					0x00000188
94bf215546Sopenharmony_ci
95bf215546Sopenharmony_ci#define NV30_3D_DMA_COLOR1					0x0000018c
96bf215546Sopenharmony_ci
97bf215546Sopenharmony_ci#define NV30_3D_DMA_UNK190					0x00000190
98bf215546Sopenharmony_ci
99bf215546Sopenharmony_ci#define NV30_3D_DMA_COLOR0					0x00000194
100bf215546Sopenharmony_ci
101bf215546Sopenharmony_ci#define NV30_3D_DMA_ZETA					0x00000198
102bf215546Sopenharmony_ci
103bf215546Sopenharmony_ci#define NV30_3D_DMA_VTXBUF0					0x0000019c
104bf215546Sopenharmony_ci
105bf215546Sopenharmony_ci#define NV30_3D_DMA_VTXBUF1					0x000001a0
106bf215546Sopenharmony_ci
107bf215546Sopenharmony_ci#define NV30_3D_DMA_FENCE					0x000001a4
108bf215546Sopenharmony_ci
109bf215546Sopenharmony_ci#define NV30_3D_DMA_QUERY					0x000001a8
110bf215546Sopenharmony_ci
111bf215546Sopenharmony_ci#define NV30_3D_DMA_UNK1AC					0x000001ac
112bf215546Sopenharmony_ci
113bf215546Sopenharmony_ci#define NV30_3D_DMA_UNK1B0					0x000001b0
114bf215546Sopenharmony_ci
115bf215546Sopenharmony_ci#define NV40_3D_DMA_COLOR2					0x000001b4
116bf215546Sopenharmony_ci
117bf215546Sopenharmony_ci#define NV40_3D_DMA_COLOR3					0x000001b8
118bf215546Sopenharmony_ci
119bf215546Sopenharmony_ci#define NV30_3D_RT_HORIZ					0x00000200
120bf215546Sopenharmony_ci#define NV30_3D_RT_HORIZ_X__MASK				0x0000ffff
121bf215546Sopenharmony_ci#define NV30_3D_RT_HORIZ_X__SHIFT				0
122bf215546Sopenharmony_ci#define NV30_3D_RT_HORIZ_W__MASK				0xffff0000
123bf215546Sopenharmony_ci#define NV30_3D_RT_HORIZ_W__SHIFT				16
124bf215546Sopenharmony_ci
125bf215546Sopenharmony_ci#define NV30_3D_RT_VERT						0x00000204
126bf215546Sopenharmony_ci#define NV30_3D_RT_VERT_Y__MASK					0x0000ffff
127bf215546Sopenharmony_ci#define NV30_3D_RT_VERT_Y__SHIFT				0
128bf215546Sopenharmony_ci#define NV30_3D_RT_VERT_H__MASK					0xffff0000
129bf215546Sopenharmony_ci#define NV30_3D_RT_VERT_H__SHIFT				16
130bf215546Sopenharmony_ci
131bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT					0x00000208
132bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_COLOR__MASK				0x0000001f
133bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_COLOR__SHIFT				0
134bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_COLOR_R5G6B5				0x00000003
135bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_COLOR_X8R8G8B8			0x00000005
136bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_COLOR_A8R8G8B8			0x00000008
137bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_COLOR_B8				0x00000009
138bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_COLOR_A16B16G16R16_FLOAT		0x0000000b
139bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_COLOR_A32B32G32R32_FLOAT		0x0000000c
140bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_COLOR_R32_FLOAT			0x0000000d
141bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_COLOR_UNK0D				0x0000000d
142bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_COLOR_X8B8G8R8			0x0000000f
143bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_COLOR_A8B8G8R8			0x00000010
144bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_ZETA__MASK				0x000000e0
145bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_ZETA__SHIFT				5
146bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_ZETA_Z16				0x00000020
147bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_ZETA_Z24S8				0x00000040
148bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_TYPE__MASK				0x00000f00
149bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_TYPE__SHIFT				8
150bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_TYPE_LINEAR				0x00000100
151bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_TYPE_SWIZZLED				0x00000200
152bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_LOG2_WIDTH__MASK			0x00ff0000
153bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_LOG2_WIDTH__SHIFT			16
154bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_LOG2_HEIGHT__MASK			0xff000000
155bf215546Sopenharmony_ci#define NV30_3D_RT_FORMAT_LOG2_HEIGHT__SHIFT			24
156bf215546Sopenharmony_ci
157bf215546Sopenharmony_ci#define NV30_3D_COLOR0_PITCH					0x0000020c
158bf215546Sopenharmony_ci#define NV30_3D_COLOR0_PITCH_COLOR0__MASK			0x0000ffff
159bf215546Sopenharmony_ci#define NV30_3D_COLOR0_PITCH_COLOR0__SHIFT			0
160bf215546Sopenharmony_ci#define NV30_3D_COLOR0_PITCH_ZETA__MASK				0xffff0000
161bf215546Sopenharmony_ci#define NV30_3D_COLOR0_PITCH_ZETA__SHIFT			16
162bf215546Sopenharmony_ci
163bf215546Sopenharmony_ci#define NV40_3D_COLOR0_PITCH					0x0000020c
164bf215546Sopenharmony_ci
165bf215546Sopenharmony_ci#define NV30_3D_COLOR0_OFFSET					0x00000210
166bf215546Sopenharmony_ci
167bf215546Sopenharmony_ci#define NV30_3D_ZETA_OFFSET					0x00000214
168bf215546Sopenharmony_ci
169bf215546Sopenharmony_ci#define NV30_3D_COLOR1_OFFSET					0x00000218
170bf215546Sopenharmony_ci
171bf215546Sopenharmony_ci#define NV30_3D_COLOR1_PITCH					0x0000021c
172bf215546Sopenharmony_ci
173bf215546Sopenharmony_ci#define NV30_3D_RT_ENABLE					0x00000220
174bf215546Sopenharmony_ci#define NV30_3D_RT_ENABLE_COLOR0				0x00000001
175bf215546Sopenharmony_ci#define NV30_3D_RT_ENABLE_COLOR1				0x00000002
176bf215546Sopenharmony_ci#define NV40_3D_RT_ENABLE_COLOR2				0x00000004
177bf215546Sopenharmony_ci#define NV40_3D_RT_ENABLE_COLOR3				0x00000008
178bf215546Sopenharmony_ci#define NV30_3D_RT_ENABLE_MRT					0x00000010
179bf215546Sopenharmony_ci
180bf215546Sopenharmony_ci#define NV40_3D_ZETA_PITCH					0x0000022c
181bf215546Sopenharmony_ci
182bf215546Sopenharmony_ci#define NV30_3D_HIERZ_PITCH					0x0000022c
183bf215546Sopenharmony_ci
184bf215546Sopenharmony_ci#define NV30_3D_HIERZ_OFFSET					0x00000230
185bf215546Sopenharmony_ci
186bf215546Sopenharmony_ci#define NV30_3D_TEX_UNITS_ENABLE				0x0000023c
187bf215546Sopenharmony_ci#define NV30_3D_TEX_UNITS_ENABLE_TX0				0x00000001
188bf215546Sopenharmony_ci#define NV30_3D_TEX_UNITS_ENABLE_TX1				0x00000002
189bf215546Sopenharmony_ci#define NV30_3D_TEX_UNITS_ENABLE_TX2				0x00000004
190bf215546Sopenharmony_ci#define NV30_3D_TEX_UNITS_ENABLE_TX3				0x00000008
191bf215546Sopenharmony_ci#define NV30_3D_TEX_UNITS_ENABLE_TX4				0x00000010
192bf215546Sopenharmony_ci#define NV30_3D_TEX_UNITS_ENABLE_TX5				0x00000020
193bf215546Sopenharmony_ci#define NV30_3D_TEX_UNITS_ENABLE_TX6				0x00000040
194bf215546Sopenharmony_ci#define NV30_3D_TEX_UNITS_ENABLE_TX7				0x00000080
195bf215546Sopenharmony_ci
196bf215546Sopenharmony_ci#define NV30_3D_TEX_MATRIX_ENABLE(i0)			       (0x00000240 + 0x4*(i0))
197bf215546Sopenharmony_ci#define NV30_3D_TEX_MATRIX_ENABLE__ESIZE			0x00000004
198bf215546Sopenharmony_ci#define NV30_3D_TEX_MATRIX_ENABLE__LEN				0x00000008
199bf215546Sopenharmony_ci
200bf215546Sopenharmony_ci#define NV40_3D_COLOR2_PITCH					0x00000280
201bf215546Sopenharmony_ci
202bf215546Sopenharmony_ci#define NV40_3D_COLOR3_PITCH					0x00000284
203bf215546Sopenharmony_ci
204bf215546Sopenharmony_ci#define NV40_3D_COLOR2_OFFSET					0x00000288
205bf215546Sopenharmony_ci
206bf215546Sopenharmony_ci#define NV40_3D_COLOR3_OFFSET					0x0000028c
207bf215546Sopenharmony_ci
208bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_TX_ORIGIN				0x000002b8
209bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_TX_ORIGIN_X__MASK			0x0000ffff
210bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_TX_ORIGIN_X__SHIFT			0
211bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_TX_ORIGIN_Y__MASK			0xffff0000
212bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_TX_ORIGIN_Y__SHIFT			16
213bf215546Sopenharmony_ci
214bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_MODE				0x000002bc
215bf215546Sopenharmony_ci
216bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_HORIZ(i0)			       (0x000002c0 + 0x8*(i0))
217bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_HORIZ__ESIZE			0x00000008
218bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_HORIZ__LEN			0x00000008
219bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_HORIZ_L__MASK			0x0000ffff
220bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_HORIZ_L__SHIFT			0
221bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_HORIZ_R__MASK			0xffff0000
222bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_HORIZ_R__SHIFT			16
223bf215546Sopenharmony_ci
224bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_VERT(i0)			       (0x000002c4 + 0x8*(i0))
225bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_VERT__ESIZE			0x00000008
226bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_VERT__LEN				0x00000008
227bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_VERT_T__MASK			0x0000ffff
228bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_VERT_T__SHIFT			0
229bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_VERT_D__MASK			0xffff0000
230bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_CLIP_VERT_D__SHIFT			16
231bf215546Sopenharmony_ci
232bf215546Sopenharmony_ci#define NV30_3D_DITHER_ENABLE					0x00000300
233bf215546Sopenharmony_ci
234bf215546Sopenharmony_ci#define NV30_3D_ALPHA_FUNC_ENABLE				0x00000304
235bf215546Sopenharmony_ci
236bf215546Sopenharmony_ci#define NV30_3D_ALPHA_FUNC_FUNC					0x00000308
237bf215546Sopenharmony_ci#define NV30_3D_ALPHA_FUNC_FUNC_NEVER				0x00000200
238bf215546Sopenharmony_ci#define NV30_3D_ALPHA_FUNC_FUNC_LESS				0x00000201
239bf215546Sopenharmony_ci#define NV30_3D_ALPHA_FUNC_FUNC_EQUAL				0x00000202
240bf215546Sopenharmony_ci#define NV30_3D_ALPHA_FUNC_FUNC_LEQUAL				0x00000203
241bf215546Sopenharmony_ci#define NV30_3D_ALPHA_FUNC_FUNC_GREATER				0x00000204
242bf215546Sopenharmony_ci#define NV30_3D_ALPHA_FUNC_FUNC_NOTEQUAL			0x00000205
243bf215546Sopenharmony_ci#define NV30_3D_ALPHA_FUNC_FUNC_GEQUAL				0x00000206
244bf215546Sopenharmony_ci#define NV30_3D_ALPHA_FUNC_FUNC_ALWAYS				0x00000207
245bf215546Sopenharmony_ci
246bf215546Sopenharmony_ci#define NV30_3D_ALPHA_FUNC_REF					0x0000030c
247bf215546Sopenharmony_ci
248bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_ENABLE				0x00000310
249bf215546Sopenharmony_ci
250bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC					0x00000314
251bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB__MASK			0x0000ffff
252bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB__SHIFT			0
253bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_ZERO				0x00000000
254bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_ONE				0x00000001
255bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_SRC_COLOR			0x00000300
256bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR		0x00000301
257bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_SRC_ALPHA			0x00000302
258bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA		0x00000303
259bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_DST_ALPHA			0x00000304
260bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA		0x00000305
261bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_DST_COLOR			0x00000306
262bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR		0x00000307
263bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE		0x00000308
264bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR		0x00008001
265bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR	0x00008002
266bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA		0x00008003
267bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA	0x00008004
268bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA__MASK			0xffff0000
269bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA__SHIFT			16
270bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ZERO			0x00000000
271bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ONE			0x00010000
272bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_SRC_COLOR			0x03000000
273bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR	0x03010000
274bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA			0x03020000
275bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA	0x03030000
276bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_DST_ALPHA			0x03040000
277bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA	0x03050000
278bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_DST_COLOR			0x03060000
279bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR	0x03070000
280bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE		0x03080000
281bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR		0x80010000
282bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR	0x80020000
283bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA		0x80030000
284bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA	0x80040000
285bf215546Sopenharmony_ci
286bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST					0x00000318
287bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB__MASK			0x0000ffff
288bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB__SHIFT			0
289bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_ZERO				0x00000000
290bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_ONE				0x00000001
291bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_SRC_COLOR			0x00000300
292bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR		0x00000301
293bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_SRC_ALPHA			0x00000302
294bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA		0x00000303
295bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_DST_ALPHA			0x00000304
296bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA		0x00000305
297bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_DST_COLOR			0x00000306
298bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR		0x00000307
299bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE		0x00000308
300bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_CONSTANT_COLOR		0x00008001
301bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR	0x00008002
302bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA		0x00008003
303bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA	0x00008004
304bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA__MASK			0xffff0000
305bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA__SHIFT			16
306bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_ZERO			0x00000000
307bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_ONE			0x00010000
308bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_SRC_COLOR			0x03000000
309bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR	0x03010000
310bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_SRC_ALPHA			0x03020000
311bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA	0x03030000
312bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_DST_ALPHA			0x03040000
313bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA	0x03050000
314bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_DST_COLOR			0x03060000
315bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR	0x03070000
316bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE		0x03080000
317bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR		0x80010000
318bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR	0x80020000
319bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA		0x80030000
320bf215546Sopenharmony_ci#define NV30_3D_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA	0x80040000
321bf215546Sopenharmony_ci
322bf215546Sopenharmony_ci#define NV30_3D_BLEND_COLOR					0x0000031c
323bf215546Sopenharmony_ci#define NV30_3D_BLEND_COLOR_B__MASK				0x000000ff
324bf215546Sopenharmony_ci#define NV30_3D_BLEND_COLOR_B__SHIFT				0
325bf215546Sopenharmony_ci#define NV30_3D_BLEND_COLOR_G__MASK				0x0000ff00
326bf215546Sopenharmony_ci#define NV30_3D_BLEND_COLOR_G__SHIFT				8
327bf215546Sopenharmony_ci#define NV30_3D_BLEND_COLOR_R__MASK				0x00ff0000
328bf215546Sopenharmony_ci#define NV30_3D_BLEND_COLOR_R__SHIFT				16
329bf215546Sopenharmony_ci#define NV30_3D_BLEND_COLOR_A__MASK				0xff000000
330bf215546Sopenharmony_ci#define NV30_3D_BLEND_COLOR_A__SHIFT				24
331bf215546Sopenharmony_ci
332bf215546Sopenharmony_ci#define NV30_3D_BLEND_EQUATION					0x00000320
333bf215546Sopenharmony_ci#define NV30_3D_BLEND_EQUATION_FUNC_ADD				0x00008006
334bf215546Sopenharmony_ci#define NV30_3D_BLEND_EQUATION_MIN				0x00008007
335bf215546Sopenharmony_ci#define NV30_3D_BLEND_EQUATION_MAX				0x00008008
336bf215546Sopenharmony_ci#define NV30_3D_BLEND_EQUATION_FUNC_SUBTRACT			0x0000800a
337bf215546Sopenharmony_ci#define NV30_3D_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT		0x0000800b
338bf215546Sopenharmony_ci
339bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION					0x00000320
340bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION_RGB__MASK			0x0000ffff
341bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION_RGB__SHIFT			0
342bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION_RGB_FUNC_ADD			0x00008006
343bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION_RGB_MIN				0x00008007
344bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION_RGB_MAX				0x00008008
345bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION_RGB_FUNC_SUBTRACT		0x0000800a
346bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT	0x0000800b
347bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION_ALPHA__MASK			0xffff0000
348bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION_ALPHA__SHIFT			16
349bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION_ALPHA_FUNC_ADD			0x80060000
350bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION_ALPHA_MIN			0x80070000
351bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION_ALPHA_MAX			0x80080000
352bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT		0x800a0000
353bf215546Sopenharmony_ci#define NV40_3D_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT	0x800b0000
354bf215546Sopenharmony_ci
355bf215546Sopenharmony_ci#define NV30_3D_COLOR_MASK					0x00000324
356bf215546Sopenharmony_ci#define NV30_3D_COLOR_MASK_B					0x000000ff
357bf215546Sopenharmony_ci#define NV30_3D_COLOR_MASK_G					0x0000ff00
358bf215546Sopenharmony_ci#define NV30_3D_COLOR_MASK_R					0x00ff0000
359bf215546Sopenharmony_ci#define NV30_3D_COLOR_MASK_A					0xff000000
360bf215546Sopenharmony_ci
361bf215546Sopenharmony_ci#define NV30_3D_STENCIL(i0)				       (0x00000328 + 0x20*(i0))
362bf215546Sopenharmony_ci#define NV30_3D_STENCIL__ESIZE					0x00000020
363bf215546Sopenharmony_ci#define NV30_3D_STENCIL__LEN					0x00000002
364bf215546Sopenharmony_ci
365bf215546Sopenharmony_ci#define NV30_3D_STENCIL_ENABLE(i0)			       (0x00000328 + 0x20*(i0))
366bf215546Sopenharmony_ci
367bf215546Sopenharmony_ci#define NV30_3D_STENCIL_MASK(i0)			       (0x0000032c + 0x20*(i0))
368bf215546Sopenharmony_ci
369bf215546Sopenharmony_ci#define NV30_3D_STENCIL_FUNC_FUNC(i0)			       (0x00000330 + 0x20*(i0))
370bf215546Sopenharmony_ci#define NV30_3D_STENCIL_FUNC_FUNC_NEVER				0x00000200
371bf215546Sopenharmony_ci#define NV30_3D_STENCIL_FUNC_FUNC_LESS				0x00000201
372bf215546Sopenharmony_ci#define NV30_3D_STENCIL_FUNC_FUNC_EQUAL				0x00000202
373bf215546Sopenharmony_ci#define NV30_3D_STENCIL_FUNC_FUNC_LEQUAL			0x00000203
374bf215546Sopenharmony_ci#define NV30_3D_STENCIL_FUNC_FUNC_GREATER			0x00000204
375bf215546Sopenharmony_ci#define NV30_3D_STENCIL_FUNC_FUNC_NOTEQUAL			0x00000205
376bf215546Sopenharmony_ci#define NV30_3D_STENCIL_FUNC_FUNC_GEQUAL			0x00000206
377bf215546Sopenharmony_ci#define NV30_3D_STENCIL_FUNC_FUNC_ALWAYS			0x00000207
378bf215546Sopenharmony_ci
379bf215546Sopenharmony_ci#define NV30_3D_STENCIL_FUNC_REF(i0)			       (0x00000334 + 0x20*(i0))
380bf215546Sopenharmony_ci
381bf215546Sopenharmony_ci#define NV30_3D_STENCIL_FUNC_MASK(i0)			       (0x00000338 + 0x20*(i0))
382bf215546Sopenharmony_ci
383bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_FAIL(i0)			       (0x0000033c + 0x20*(i0))
384bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_FAIL_ZERO				0x00000000
385bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_FAIL_INVERT				0x0000150a
386bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_FAIL_KEEP				0x00001e00
387bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_FAIL_REPLACE				0x00001e01
388bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_FAIL_INCR				0x00001e02
389bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_FAIL_DECR				0x00001e03
390bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_FAIL_INCR_WRAP			0x00008507
391bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_FAIL_DECR_WRAP			0x00008508
392bf215546Sopenharmony_ci
393bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZFAIL(i0)			       (0x00000340 + 0x20*(i0))
394bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZFAIL_ZERO				0x00000000
395bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZFAIL_INVERT				0x0000150a
396bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZFAIL_KEEP				0x00001e00
397bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZFAIL_REPLACE			0x00001e01
398bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZFAIL_INCR				0x00001e02
399bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZFAIL_DECR				0x00001e03
400bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZFAIL_INCR_WRAP			0x00008507
401bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZFAIL_DECR_WRAP			0x00008508
402bf215546Sopenharmony_ci
403bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZPASS(i0)			       (0x00000344 + 0x20*(i0))
404bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZPASS_ZERO				0x00000000
405bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZPASS_INVERT				0x0000150a
406bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZPASS_KEEP				0x00001e00
407bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZPASS_REPLACE			0x00001e01
408bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZPASS_INCR				0x00001e02
409bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZPASS_DECR				0x00001e03
410bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZPASS_INCR_WRAP			0x00008507
411bf215546Sopenharmony_ci#define NV30_3D_STENCIL_OP_ZPASS_DECR_WRAP			0x00008508
412bf215546Sopenharmony_ci
413bf215546Sopenharmony_ci#define NV30_3D_SHADE_MODEL					0x00000368
414bf215546Sopenharmony_ci#define NV30_3D_SHADE_MODEL_FLAT				0x00001d00
415bf215546Sopenharmony_ci#define NV30_3D_SHADE_MODEL_SMOOTH				0x00001d01
416bf215546Sopenharmony_ci
417bf215546Sopenharmony_ci#define NV30_3D_FOG_ENABLE					0x0000036c
418bf215546Sopenharmony_ci
419bf215546Sopenharmony_ci#define NV30_3D_FOG_COLOR					0x00000370
420bf215546Sopenharmony_ci#define NV30_3D_FOG_COLOR_R__MASK				0x000000ff
421bf215546Sopenharmony_ci#define NV30_3D_FOG_COLOR_R__SHIFT				0
422bf215546Sopenharmony_ci#define NV30_3D_FOG_COLOR_G__MASK				0x0000ff00
423bf215546Sopenharmony_ci#define NV30_3D_FOG_COLOR_G__SHIFT				8
424bf215546Sopenharmony_ci#define NV30_3D_FOG_COLOR_B__MASK				0x00ff0000
425bf215546Sopenharmony_ci#define NV30_3D_FOG_COLOR_B__SHIFT				16
426bf215546Sopenharmony_ci#define NV30_3D_FOG_COLOR_A__MASK				0xff000000
427bf215546Sopenharmony_ci#define NV30_3D_FOG_COLOR_A__SHIFT				24
428bf215546Sopenharmony_ci
429bf215546Sopenharmony_ci#define NV40_3D_MRT_COLOR_MASK					0x00000370
430bf215546Sopenharmony_ci#define NV40_3D_MRT_COLOR_MASK_BUFFER1_A			0x00000010
431bf215546Sopenharmony_ci#define NV40_3D_MRT_COLOR_MASK_BUFFER1_R			0x00000020
432bf215546Sopenharmony_ci#define NV40_3D_MRT_COLOR_MASK_BUFFER1_G			0x00000040
433bf215546Sopenharmony_ci#define NV40_3D_MRT_COLOR_MASK_BUFFER1_B			0x00000080
434bf215546Sopenharmony_ci#define NV40_3D_MRT_COLOR_MASK_BUFFER2_A			0x00000100
435bf215546Sopenharmony_ci#define NV40_3D_MRT_COLOR_MASK_BUFFER2_R			0x00000200
436bf215546Sopenharmony_ci#define NV40_3D_MRT_COLOR_MASK_BUFFER2_G			0x00000400
437bf215546Sopenharmony_ci#define NV40_3D_MRT_COLOR_MASK_BUFFER2_B			0x00000800
438bf215546Sopenharmony_ci#define NV40_3D_MRT_COLOR_MASK_BUFFER3_A			0x00001000
439bf215546Sopenharmony_ci#define NV40_3D_MRT_COLOR_MASK_BUFFER3_R			0x00002000
440bf215546Sopenharmony_ci#define NV40_3D_MRT_COLOR_MASK_BUFFER3_G			0x00004000
441bf215546Sopenharmony_ci#define NV40_3D_MRT_COLOR_MASK_BUFFER3_B			0x00008000
442bf215546Sopenharmony_ci
443bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_ENABLE				0x00000374
444bf215546Sopenharmony_ci
445bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP				0x00000378
446bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_CLEAR				0x00001500
447bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_AND				0x00001501
448bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_AND_REVERSE			0x00001502
449bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_COPY				0x00001503
450bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_AND_INVERTED			0x00001504
451bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_NOOP				0x00001505
452bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_XOR				0x00001506
453bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_OR				0x00001507
454bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_NOR				0x00001508
455bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_EQUIV				0x00001509
456bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_INVERT			0x0000150a
457bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_OR_REVERSE			0x0000150b
458bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_COPY_INVERTED			0x0000150c
459bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_OR_INVERTED			0x0000150d
460bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_NAND				0x0000150e
461bf215546Sopenharmony_ci#define NV30_3D_COLOR_LOGIC_OP_OP_SET				0x0000150f
462bf215546Sopenharmony_ci
463bf215546Sopenharmony_ci#define NV30_3D_NORMALIZE_ENABLE				0x0000037c
464bf215546Sopenharmony_ci
465bf215546Sopenharmony_ci#define NV35_3D_DEPTH_BOUNDS_TEST_ENABLE			0x00000380
466bf215546Sopenharmony_ci
467bf215546Sopenharmony_ci#define NV35_3D_DEPTH_BOUNDS_TEST_ZMIN				0x00000384
468bf215546Sopenharmony_ci
469bf215546Sopenharmony_ci#define NV35_3D_DEPTH_BOUNDS_TEST_ZMAX				0x00000388
470bf215546Sopenharmony_ci
471bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL					0x00000390
472bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_FRONT_EMISSION_ENABLE		0x00000001
473bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_FRONT_AMBIENT_ENABLE		0x00000004
474bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_FRONT_DIFFUSE_ENABLE		0x00000010
475bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_FRONT_SPECULAR_ENABLE		0x00000040
476bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_BACK_EMISSION_ENABLE		0x00000100
477bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_BACK_AMBIENT_ENABLE		0x00000400
478bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_BACK_DIFFUSE_ENABLE		0x00001000
479bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_BACK_SPECULAR_ENABLE		0x00004000
480bf215546Sopenharmony_ci
481bf215546Sopenharmony_ci#define NV30_3D_DEPTH_RANGE_NEAR				0x00000394
482bf215546Sopenharmony_ci
483bf215546Sopenharmony_ci#define NV30_3D_DEPTH_RANGE_FAR					0x00000398
484bf215546Sopenharmony_ci
485bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_FRONT				0x000003a0
486bf215546Sopenharmony_ci
487bf215546Sopenharmony_ci
488bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_FRONT_R				0x000003a0
489bf215546Sopenharmony_ci
490bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_FRONT_G				0x000003a4
491bf215546Sopenharmony_ci
492bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_FRONT_B				0x000003a8
493bf215546Sopenharmony_ci
494bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_FRONT_A				0x000003ac
495bf215546Sopenharmony_ci
496bf215546Sopenharmony_ci#define NV40_3D_MIPMAP_ROUNDING					0x000003b0
497bf215546Sopenharmony_ci#define NV40_3D_MIPMAP_ROUNDING_MODE__MASK			0x00100000
498bf215546Sopenharmony_ci#define NV40_3D_MIPMAP_ROUNDING_MODE__SHIFT			20
499bf215546Sopenharmony_ci#define NV40_3D_MIPMAP_ROUNDING_MODE_UP				0x00000000
500bf215546Sopenharmony_ci#define NV40_3D_MIPMAP_ROUNDING_MODE_DOWN			0x00100000
501bf215546Sopenharmony_ci
502bf215546Sopenharmony_ci#define NV30_3D_LINE_WIDTH					0x000003b8
503bf215546Sopenharmony_ci
504bf215546Sopenharmony_ci#define NV30_3D_LINE_SMOOTH_ENABLE				0x000003bc
505bf215546Sopenharmony_ci
506bf215546Sopenharmony_ci
507bf215546Sopenharmony_ci
508bf215546Sopenharmony_ci#define NV30_3D_TEX_GEN_MODE(i0, i1)			       (0x00000400 + 0x10*(i0) + 0x4*(i1))
509bf215546Sopenharmony_ci#define NV30_3D_TEX_GEN_MODE__ESIZE				0x00000004
510bf215546Sopenharmony_ci#define NV30_3D_TEX_GEN_MODE__LEN				0x00000004
511bf215546Sopenharmony_ci#define NV30_3D_TEX_GEN_MODE_FALSE				0x00000000
512bf215546Sopenharmony_ci#define NV30_3D_TEX_GEN_MODE_EYE_LINEAR				0x00002400
513bf215546Sopenharmony_ci#define NV30_3D_TEX_GEN_MODE_OBJECT_LINEAR			0x00002401
514bf215546Sopenharmony_ci#define NV30_3D_TEX_GEN_MODE_SPHERE_MAP				0x00002402
515bf215546Sopenharmony_ci#define NV30_3D_TEX_GEN_MODE_NORMAL_MAP				0x00008511
516bf215546Sopenharmony_ci#define NV30_3D_TEX_GEN_MODE_REFLECTION_MAP			0x00008512
517bf215546Sopenharmony_ci
518bf215546Sopenharmony_ci#define NV30_3D_MODELVIEW_MATRIX(i0)			       (0x00000480 + 0x4*(i0))
519bf215546Sopenharmony_ci#define NV30_3D_MODELVIEW_MATRIX__ESIZE				0x00000004
520bf215546Sopenharmony_ci#define NV30_3D_MODELVIEW_MATRIX__LEN				0x00000010
521bf215546Sopenharmony_ci
522bf215546Sopenharmony_ci#define NV30_3D_INVERSE_MODELVIEW_MATRIX(i0)		       (0x00000580 + 0x4*(i0))
523bf215546Sopenharmony_ci#define NV30_3D_INVERSE_MODELVIEW_MATRIX__ESIZE			0x00000004
524bf215546Sopenharmony_ci#define NV30_3D_INVERSE_MODELVIEW_MATRIX__LEN			0x0000000c
525bf215546Sopenharmony_ci
526bf215546Sopenharmony_ci#define NV30_3D_PROJECTION_MATRIX(i0)			       (0x00000680 + 0x4*(i0))
527bf215546Sopenharmony_ci#define NV30_3D_PROJECTION_MATRIX__ESIZE			0x00000004
528bf215546Sopenharmony_ci#define NV30_3D_PROJECTION_MATRIX__LEN				0x00000010
529bf215546Sopenharmony_ci
530bf215546Sopenharmony_ci
531bf215546Sopenharmony_ci#define NV30_3D_TEX_MATRIX(i0, i1)			       (0x000006c0 + 0x40*(i0) + 0x4*(i1))
532bf215546Sopenharmony_ci#define NV30_3D_TEX_MATRIX__ESIZE				0x00000004
533bf215546Sopenharmony_ci#define NV30_3D_TEX_MATRIX__LEN					0x00000010
534bf215546Sopenharmony_ci
535bf215546Sopenharmony_ci#define NV30_3D_SCISSOR_HORIZ					0x000008c0
536bf215546Sopenharmony_ci#define NV30_3D_SCISSOR_HORIZ_X__MASK				0x0000ffff
537bf215546Sopenharmony_ci#define NV30_3D_SCISSOR_HORIZ_X__SHIFT				0
538bf215546Sopenharmony_ci#define NV30_3D_SCISSOR_HORIZ_W__MASK				0xffff0000
539bf215546Sopenharmony_ci#define NV30_3D_SCISSOR_HORIZ_W__SHIFT				16
540bf215546Sopenharmony_ci
541bf215546Sopenharmony_ci#define NV30_3D_SCISSOR_VERT					0x000008c4
542bf215546Sopenharmony_ci#define NV30_3D_SCISSOR_VERT_Y__MASK				0x0000ffff
543bf215546Sopenharmony_ci#define NV30_3D_SCISSOR_VERT_Y__SHIFT				0
544bf215546Sopenharmony_ci#define NV30_3D_SCISSOR_VERT_H__MASK				0xffff0000
545bf215546Sopenharmony_ci#define NV30_3D_SCISSOR_VERT_H__SHIFT				16
546bf215546Sopenharmony_ci
547bf215546Sopenharmony_ci#define NV30_3D_FOG_COORD_DIST					0x000008c8
548bf215546Sopenharmony_ci
549bf215546Sopenharmony_ci#define NV30_3D_FOG_MODE					0x000008cc
550bf215546Sopenharmony_ci
551bf215546Sopenharmony_ci#define NV30_3D_FOG_EQUATION_CONSTANT				0x000008d0
552bf215546Sopenharmony_ci
553bf215546Sopenharmony_ci#define NV30_3D_FOG_EQUATION_LINEAR				0x000008d4
554bf215546Sopenharmony_ci
555bf215546Sopenharmony_ci#define NV30_3D_FOG_EQUATION_QUADRATIC				0x000008d8
556bf215546Sopenharmony_ci
557bf215546Sopenharmony_ci#define NV30_3D_FP_ACTIVE_PROGRAM				0x000008e4
558bf215546Sopenharmony_ci#define NV30_3D_FP_ACTIVE_PROGRAM_DMA0				0x00000001
559bf215546Sopenharmony_ci#define NV30_3D_FP_ACTIVE_PROGRAM_DMA1				0x00000002
560bf215546Sopenharmony_ci#define NV30_3D_FP_ACTIVE_PROGRAM_OFFSET__MASK			0xfffffffc
561bf215546Sopenharmony_ci#define NV30_3D_FP_ACTIVE_PROGRAM_OFFSET__SHIFT			2
562bf215546Sopenharmony_ci
563bf215546Sopenharmony_ci
564bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR0					0x000008ec
565bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR0_B__MASK				0x000000ff
566bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR0_B__SHIFT				0
567bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR0_G__MASK				0x0000ff00
568bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR0_G__SHIFT				8
569bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR0_R__MASK				0x00ff0000
570bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR0_R__SHIFT				16
571bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR0_A__MASK				0xff000000
572bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR0_A__SHIFT				24
573bf215546Sopenharmony_ci
574bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR1					0x000008f0
575bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR1_B__MASK				0x000000ff
576bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR1_B__SHIFT				0
577bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR1_G__MASK				0x0000ff00
578bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR1_G__SHIFT				8
579bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR1_R__MASK				0x00ff0000
580bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR1_R__SHIFT				16
581bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR1_A__MASK				0xff000000
582bf215546Sopenharmony_ci#define NV30_3D_RC_COLOR1_A__SHIFT				24
583bf215546Sopenharmony_ci
584bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0					0x000008f4
585bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT__MASK				0x0000000f
586bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT__SHIFT			0
587bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT_ZERO				0x00000000
588bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR0		0x00000001
589bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT_CONSTANT_COLOR1		0x00000002
590bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT_FOG				0x00000003
591bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT_PRIMARY_COLOR			0x00000004
592bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT_SECONDARY_COLOR		0x00000005
593bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT_TEXTURE0			0x00000008
594bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT_TEXTURE1			0x00000009
595bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT_TEXTURE2			0x0000000a
596bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT_TEXTURE3			0x0000000b
597bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT_SPARE0			0x0000000c
598bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT_SPARE1			0x0000000d
599bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0000000e
600bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_INPUT_E_TIMES_F			0x0000000f
601bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_COMPONENT_USAGE__MASK		0x00000010
602bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_COMPONENT_USAGE__SHIFT		4
603bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_COMPONENT_USAGE_RGB			0x00000000
604bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_COMPONENT_USAGE_ALPHA		0x00000010
605bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_MAPPING__MASK			0x000000e0
606bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_MAPPING__SHIFT			5
607bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY		0x00000000
608bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT		0x00000020
609bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_MAPPING_EXPAND_NORMAL		0x00000040
610bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_MAPPING_EXPAND_NEGATE		0x00000060
611bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL		0x00000080
612bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE		0x000000a0
613bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY		0x000000c0
614bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_D_MAPPING_SIGNED_NEGATE		0x000000e0
615bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT__MASK				0x00000f00
616bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT__SHIFT			8
617bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT_ZERO				0x00000000
618bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR0		0x00000100
619bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT_CONSTANT_COLOR1		0x00000200
620bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT_FOG				0x00000300
621bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT_PRIMARY_COLOR			0x00000400
622bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT_SECONDARY_COLOR		0x00000500
623bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT_TEXTURE0			0x00000800
624bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT_TEXTURE1			0x00000900
625bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT_TEXTURE2			0x00000a00
626bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT_TEXTURE3			0x00000b00
627bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT_SPARE0			0x00000c00
628bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT_SPARE1			0x00000d00
629bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x00000e00
630bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_INPUT_E_TIMES_F			0x00000f00
631bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_COMPONENT_USAGE__MASK		0x00001000
632bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_COMPONENT_USAGE__SHIFT		12
633bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_COMPONENT_USAGE_RGB			0x00000000
634bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_COMPONENT_USAGE_ALPHA		0x00001000
635bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_MAPPING__MASK			0x0000e000
636bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_MAPPING__SHIFT			13
637bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY		0x00000000
638bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT		0x00002000
639bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_MAPPING_EXPAND_NORMAL		0x00004000
640bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_MAPPING_EXPAND_NEGATE		0x00006000
641bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL		0x00008000
642bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE		0x0000a000
643bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY		0x0000c000
644bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_C_MAPPING_SIGNED_NEGATE		0x0000e000
645bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT__MASK				0x000f0000
646bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT__SHIFT			16
647bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT_ZERO				0x00000000
648bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR0		0x00010000
649bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT_CONSTANT_COLOR1		0x00020000
650bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT_FOG				0x00030000
651bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT_PRIMARY_COLOR			0x00040000
652bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT_SECONDARY_COLOR		0x00050000
653bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT_TEXTURE0			0x00080000
654bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT_TEXTURE1			0x00090000
655bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT_TEXTURE2			0x000a0000
656bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT_TEXTURE3			0x000b0000
657bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT_SPARE0			0x000c0000
658bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT_SPARE1			0x000d0000
659bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x000e0000
660bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_INPUT_E_TIMES_F			0x000f0000
661bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_COMPONENT_USAGE__MASK		0x00100000
662bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_COMPONENT_USAGE__SHIFT		20
663bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_COMPONENT_USAGE_RGB			0x00000000
664bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_COMPONENT_USAGE_ALPHA		0x00100000
665bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_MAPPING__MASK			0x00e00000
666bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_MAPPING__SHIFT			21
667bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY		0x00000000
668bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT		0x00200000
669bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_MAPPING_EXPAND_NORMAL		0x00400000
670bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_MAPPING_EXPAND_NEGATE		0x00600000
671bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL		0x00800000
672bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE		0x00a00000
673bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY		0x00c00000
674bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_B_MAPPING_SIGNED_NEGATE		0x00e00000
675bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT__MASK				0x0f000000
676bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT__SHIFT			24
677bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT_ZERO				0x00000000
678bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR0		0x01000000
679bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT_CONSTANT_COLOR1		0x02000000
680bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT_FOG				0x03000000
681bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT_PRIMARY_COLOR			0x04000000
682bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT_SECONDARY_COLOR		0x05000000
683bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT_TEXTURE0			0x08000000
684bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT_TEXTURE1			0x09000000
685bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT_TEXTURE2			0x0a000000
686bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT_TEXTURE3			0x0b000000
687bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT_SPARE0			0x0c000000
688bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT_SPARE1			0x0d000000
689bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0e000000
690bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_INPUT_E_TIMES_F			0x0f000000
691bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_COMPONENT_USAGE__MASK		0x10000000
692bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_COMPONENT_USAGE__SHIFT		28
693bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_COMPONENT_USAGE_RGB			0x00000000
694bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_COMPONENT_USAGE_ALPHA		0x10000000
695bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_MAPPING__MASK			0xe0000000
696bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_MAPPING__SHIFT			29
697bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY		0x00000000
698bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT		0x20000000
699bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_MAPPING_EXPAND_NORMAL		0x40000000
700bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_MAPPING_EXPAND_NEGATE		0x60000000
701bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL		0x80000000
702bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE		0xa0000000
703bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY		0xc0000000
704bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL0_A_MAPPING_SIGNED_NEGATE		0xe0000000
705bf215546Sopenharmony_ci
706bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1					0x000008f8
707bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_COLOR_SUM_CLAMP			0x00000080
708bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT__MASK				0x00000f00
709bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT__SHIFT			8
710bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT_ZERO				0x00000000
711bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR0		0x00000100
712bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT_CONSTANT_COLOR1		0x00000200
713bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT_FOG				0x00000300
714bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT_PRIMARY_COLOR			0x00000400
715bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT_SECONDARY_COLOR		0x00000500
716bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT_TEXTURE0			0x00000800
717bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT_TEXTURE1			0x00000900
718bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT_TEXTURE2			0x00000a00
719bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT_TEXTURE3			0x00000b00
720bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT_SPARE0			0x00000c00
721bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT_SPARE1			0x00000d00
722bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x00000e00
723bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_INPUT_E_TIMES_F			0x00000f00
724bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_COMPONENT_USAGE__MASK		0x00001000
725bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_COMPONENT_USAGE__SHIFT		12
726bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_COMPONENT_USAGE_RGB			0x00000000
727bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_COMPONENT_USAGE_ALPHA		0x00001000
728bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_MAPPING__MASK			0x0000e000
729bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_MAPPING__SHIFT			13
730bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY		0x00000000
731bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT		0x00002000
732bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_MAPPING_EXPAND_NORMAL		0x00004000
733bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_MAPPING_EXPAND_NEGATE		0x00006000
734bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL		0x00008000
735bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE		0x0000a000
736bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY		0x0000c000
737bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_G_MAPPING_SIGNED_NEGATE		0x0000e000
738bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT__MASK				0x000f0000
739bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT__SHIFT			16
740bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT_ZERO				0x00000000
741bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR0		0x00010000
742bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT_CONSTANT_COLOR1		0x00020000
743bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT_FOG				0x00030000
744bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT_PRIMARY_COLOR			0x00040000
745bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT_SECONDARY_COLOR		0x00050000
746bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT_TEXTURE0			0x00080000
747bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT_TEXTURE1			0x00090000
748bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT_TEXTURE2			0x000a0000
749bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT_TEXTURE3			0x000b0000
750bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT_SPARE0			0x000c0000
751bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT_SPARE1			0x000d0000
752bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x000e0000
753bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_INPUT_E_TIMES_F			0x000f0000
754bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_COMPONENT_USAGE__MASK		0x00100000
755bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_COMPONENT_USAGE__SHIFT		20
756bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_COMPONENT_USAGE_RGB			0x00000000
757bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_COMPONENT_USAGE_ALPHA		0x00100000
758bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_MAPPING__MASK			0x00e00000
759bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_MAPPING__SHIFT			21
760bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY		0x00000000
761bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT		0x00200000
762bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_MAPPING_EXPAND_NORMAL		0x00400000
763bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_MAPPING_EXPAND_NEGATE		0x00600000
764bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL		0x00800000
765bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE		0x00a00000
766bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY		0x00c00000
767bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_F_MAPPING_SIGNED_NEGATE		0x00e00000
768bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT__MASK				0x0f000000
769bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT__SHIFT			24
770bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT_ZERO				0x00000000
771bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR0		0x01000000
772bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT_CONSTANT_COLOR1		0x02000000
773bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT_FOG				0x03000000
774bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT_PRIMARY_COLOR			0x04000000
775bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT_SECONDARY_COLOR		0x05000000
776bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT_TEXTURE0			0x08000000
777bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT_TEXTURE1			0x09000000
778bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT_TEXTURE2			0x0a000000
779bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT_TEXTURE3			0x0b000000
780bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT_SPARE0			0x0c000000
781bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT_SPARE1			0x0d000000
782bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0e000000
783bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_INPUT_E_TIMES_F			0x0f000000
784bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_COMPONENT_USAGE__MASK		0x10000000
785bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_COMPONENT_USAGE__SHIFT		28
786bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_COMPONENT_USAGE_RGB			0x00000000
787bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_COMPONENT_USAGE_ALPHA		0x10000000
788bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_MAPPING__MASK			0xe0000000
789bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_MAPPING__SHIFT			29
790bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY		0x00000000
791bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT		0x20000000
792bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_MAPPING_EXPAND_NORMAL		0x40000000
793bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_MAPPING_EXPAND_NEGATE		0x60000000
794bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL		0x80000000
795bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE		0xa0000000
796bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY		0xc0000000
797bf215546Sopenharmony_ci#define NV30_3D_RC_FINAL1_E_MAPPING_SIGNED_NEGATE		0xe0000000
798bf215546Sopenharmony_ci
799bf215546Sopenharmony_ci#define NV30_3D_RC_ENABLE					0x000008fc
800bf215546Sopenharmony_ci#define NV30_3D_RC_ENABLE_NUM_COMBINERS__MASK			0x0000000f
801bf215546Sopenharmony_ci#define NV30_3D_RC_ENABLE_NUM_COMBINERS__SHIFT			0
802bf215546Sopenharmony_ci#define NV30_3D_RC_ENABLE_STAGE_CONSTANT_COLOR0			0x0000f000
803bf215546Sopenharmony_ci#define NV30_3D_RC_ENABLE_STAGE_CONSTANT_COLOR1			0x000f0000
804bf215546Sopenharmony_ci
805bf215546Sopenharmony_ci
806bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA(i0)				       (0x00000900 + 0x20*(i0))
807bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT__MASK			0x0000000f
808bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT__SHIFT			0
809bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT_ZERO			0x00000000
810bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0		0x00000001
811bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1		0x00000002
812bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT_FOG				0x00000003
813bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR		0x00000004
814bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR		0x00000005
815bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT_TEXTURE0			0x00000008
816bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT_TEXTURE1			0x00000009
817bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT_TEXTURE2			0x0000000a
818bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT_TEXTURE3			0x0000000b
819bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT_SPARE0			0x0000000c
820bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT_SPARE1			0x0000000d
821bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0000000e
822bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_INPUT_E_TIMES_F			0x0000000f
823bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_COMPONENT_USAGE__MASK		0x00000010
824bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_COMPONENT_USAGE__SHIFT		4
825bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE		0x00000000
826bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA		0x00000010
827bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_MAPPING__MASK			0x000000e0
828bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_MAPPING__SHIFT			5
829bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY		0x00000000
830bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT		0x00000020
831bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL		0x00000040
832bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE		0x00000060
833bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL		0x00000080
834bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE		0x000000a0
835bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY		0x000000c0
836bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE		0x000000e0
837bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT__MASK			0x00000f00
838bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT__SHIFT			8
839bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT_ZERO			0x00000000
840bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0		0x00000100
841bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1		0x00000200
842bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT_FOG				0x00000300
843bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR		0x00000400
844bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR		0x00000500
845bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT_TEXTURE0			0x00000800
846bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT_TEXTURE1			0x00000900
847bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT_TEXTURE2			0x00000a00
848bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT_TEXTURE3			0x00000b00
849bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT_SPARE0			0x00000c00
850bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT_SPARE1			0x00000d00
851bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x00000e00
852bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_INPUT_E_TIMES_F			0x00000f00
853bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_COMPONENT_USAGE__MASK		0x00001000
854bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_COMPONENT_USAGE__SHIFT		12
855bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE		0x00000000
856bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA		0x00001000
857bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_MAPPING__MASK			0x0000e000
858bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_MAPPING__SHIFT			13
859bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY		0x00000000
860bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT		0x00002000
861bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL		0x00004000
862bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE		0x00006000
863bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL		0x00008000
864bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE		0x0000a000
865bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY		0x0000c000
866bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE		0x0000e000
867bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT__MASK			0x000f0000
868bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT__SHIFT			16
869bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT_ZERO			0x00000000
870bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0		0x00010000
871bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1		0x00020000
872bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT_FOG				0x00030000
873bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR		0x00040000
874bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR		0x00050000
875bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT_TEXTURE0			0x00080000
876bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT_TEXTURE1			0x00090000
877bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT_TEXTURE2			0x000a0000
878bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT_TEXTURE3			0x000b0000
879bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT_SPARE0			0x000c0000
880bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT_SPARE1			0x000d0000
881bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x000e0000
882bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_INPUT_E_TIMES_F			0x000f0000
883bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_COMPONENT_USAGE__MASK		0x00100000
884bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_COMPONENT_USAGE__SHIFT		20
885bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE		0x00000000
886bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA		0x00100000
887bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_MAPPING__MASK			0x00e00000
888bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_MAPPING__SHIFT			21
889bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY		0x00000000
890bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT		0x00200000
891bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL		0x00400000
892bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE		0x00600000
893bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL		0x00800000
894bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE		0x00a00000
895bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY		0x00c00000
896bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE		0x00e00000
897bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT__MASK			0x0f000000
898bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT__SHIFT			24
899bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT_ZERO			0x00000000
900bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0		0x01000000
901bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1		0x02000000
902bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT_FOG				0x03000000
903bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR		0x04000000
904bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR		0x05000000
905bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT_TEXTURE0			0x08000000
906bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT_TEXTURE1			0x09000000
907bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT_TEXTURE2			0x0a000000
908bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT_TEXTURE3			0x0b000000
909bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT_SPARE0			0x0c000000
910bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT_SPARE1			0x0d000000
911bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0e000000
912bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_INPUT_E_TIMES_F			0x0f000000
913bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_COMPONENT_USAGE__MASK		0x10000000
914bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_COMPONENT_USAGE__SHIFT		28
915bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE		0x00000000
916bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA		0x10000000
917bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_MAPPING__MASK			0xe0000000
918bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_MAPPING__SHIFT			29
919bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY		0x00000000
920bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT		0x20000000
921bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL		0x40000000
922bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE		0x60000000
923bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL		0x80000000
924bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE		0xa0000000
925bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY		0xc0000000
926bf215546Sopenharmony_ci#define NV30_3D_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE		0xe0000000
927bf215546Sopenharmony_ci
928bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB(i0)				       (0x00000904 + 0x20*(i0))
929bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT__MASK				0x0000000f
930bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT__SHIFT			0
931bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT_ZERO				0x00000000
932bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0		0x00000001
933bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1		0x00000002
934bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT_FOG				0x00000003
935bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT_PRIMARY_COLOR			0x00000004
936bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT_SECONDARY_COLOR		0x00000005
937bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT_TEXTURE0			0x00000008
938bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT_TEXTURE1			0x00000009
939bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT_TEXTURE2			0x0000000a
940bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT_TEXTURE3			0x0000000b
941bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT_SPARE0			0x0000000c
942bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT_SPARE1			0x0000000d
943bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0000000e
944bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_INPUT_E_TIMES_F			0x0000000f
945bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_COMPONENT_USAGE__MASK		0x00000010
946bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_COMPONENT_USAGE__SHIFT		4
947bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_COMPONENT_USAGE_RGB			0x00000000
948bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA		0x00000010
949bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_MAPPING__MASK			0x000000e0
950bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_MAPPING__SHIFT			5
951bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY		0x00000000
952bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT		0x00000020
953bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL		0x00000040
954bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE		0x00000060
955bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL		0x00000080
956bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE		0x000000a0
957bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY		0x000000c0
958bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE		0x000000e0
959bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT__MASK				0x00000f00
960bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT__SHIFT			8
961bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT_ZERO				0x00000000
962bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0		0x00000100
963bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1		0x00000200
964bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT_FOG				0x00000300
965bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT_PRIMARY_COLOR			0x00000400
966bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT_SECONDARY_COLOR		0x00000500
967bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT_TEXTURE0			0x00000800
968bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT_TEXTURE1			0x00000900
969bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT_TEXTURE2			0x00000a00
970bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT_TEXTURE3			0x00000b00
971bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT_SPARE0			0x00000c00
972bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT_SPARE1			0x00000d00
973bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x00000e00
974bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_INPUT_E_TIMES_F			0x00000f00
975bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_COMPONENT_USAGE__MASK		0x00001000
976bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_COMPONENT_USAGE__SHIFT		12
977bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_COMPONENT_USAGE_RGB			0x00000000
978bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA		0x00001000
979bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_MAPPING__MASK			0x0000e000
980bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_MAPPING__SHIFT			13
981bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY		0x00000000
982bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT		0x00002000
983bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL		0x00004000
984bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE		0x00006000
985bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL		0x00008000
986bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE		0x0000a000
987bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY		0x0000c000
988bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE		0x0000e000
989bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT__MASK				0x000f0000
990bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT__SHIFT			16
991bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT_ZERO				0x00000000
992bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0		0x00010000
993bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1		0x00020000
994bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT_FOG				0x00030000
995bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT_PRIMARY_COLOR			0x00040000
996bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT_SECONDARY_COLOR		0x00050000
997bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT_TEXTURE0			0x00080000
998bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT_TEXTURE1			0x00090000
999bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT_TEXTURE2			0x000a0000
1000bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT_TEXTURE3			0x000b0000
1001bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT_SPARE0			0x000c0000
1002bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT_SPARE1			0x000d0000
1003bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x000e0000
1004bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_INPUT_E_TIMES_F			0x000f0000
1005bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_COMPONENT_USAGE__MASK		0x00100000
1006bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_COMPONENT_USAGE__SHIFT		20
1007bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_COMPONENT_USAGE_RGB			0x00000000
1008bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA		0x00100000
1009bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_MAPPING__MASK			0x00e00000
1010bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_MAPPING__SHIFT			21
1011bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY		0x00000000
1012bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT		0x00200000
1013bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL		0x00400000
1014bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE		0x00600000
1015bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL		0x00800000
1016bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE		0x00a00000
1017bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY		0x00c00000
1018bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE		0x00e00000
1019bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT__MASK				0x0f000000
1020bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT__SHIFT			24
1021bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT_ZERO				0x00000000
1022bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0		0x01000000
1023bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1		0x02000000
1024bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT_FOG				0x03000000
1025bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT_PRIMARY_COLOR			0x04000000
1026bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT_SECONDARY_COLOR		0x05000000
1027bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT_TEXTURE0			0x08000000
1028bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT_TEXTURE1			0x09000000
1029bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT_TEXTURE2			0x0a000000
1030bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT_TEXTURE3			0x0b000000
1031bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT_SPARE0			0x0c000000
1032bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT_SPARE1			0x0d000000
1033bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0e000000
1034bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_INPUT_E_TIMES_F			0x0f000000
1035bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_COMPONENT_USAGE__MASK		0x10000000
1036bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_COMPONENT_USAGE__SHIFT		28
1037bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_COMPONENT_USAGE_RGB			0x00000000
1038bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA		0x10000000
1039bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_MAPPING__MASK			0xe0000000
1040bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_MAPPING__SHIFT			29
1041bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY		0x00000000
1042bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT		0x20000000
1043bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL		0x40000000
1044bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE		0x60000000
1045bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL		0x80000000
1046bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE		0xa0000000
1047bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY		0xc0000000
1048bf215546Sopenharmony_ci#define NV30_3D_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE		0xe0000000
1049bf215546Sopenharmony_ci
1050bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR0(i0)			       (0x00000908 + 0x20*(i0))
1051bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR0_B__MASK			0x000000ff
1052bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR0_B__SHIFT			0
1053bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR0_G__MASK			0x0000ff00
1054bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR0_G__SHIFT			8
1055bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR0_R__MASK			0x00ff0000
1056bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR0_R__SHIFT			16
1057bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR0_A__MASK			0xff000000
1058bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR0_A__SHIFT			24
1059bf215546Sopenharmony_ci
1060bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR1(i0)			       (0x0000090c + 0x20*(i0))
1061bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR1_B__MASK			0x000000ff
1062bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR1_B__SHIFT			0
1063bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR1_G__MASK			0x0000ff00
1064bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR1_G__SHIFT			8
1065bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR1_R__MASK			0x00ff0000
1066bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR1_R__SHIFT			16
1067bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR1_A__MASK			0xff000000
1068bf215546Sopenharmony_ci#define NV30_3D_RC_CONSTANT_COLOR1_A__SHIFT			24
1069bf215546Sopenharmony_ci
1070bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA(i0)			       (0x00000910 + 0x20*(i0))
1071bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT__MASK			0x0000000f
1072bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT__SHIFT			0
1073bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_ZERO			0x00000000
1074bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0		0x00000001
1075bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1		0x00000002
1076bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_FOG			0x00000003
1077bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR		0x00000004
1078bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR		0x00000005
1079bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0			0x00000008
1080bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1			0x00000009
1081bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2			0x0000000a
1082bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3			0x0000000b
1083bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0			0x0000000c
1084bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE1			0x0000000d
1085bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0000000e
1086bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F		0x0000000f
1087bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT__MASK			0x000000f0
1088bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT__SHIFT			4
1089bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_ZERO			0x00000000
1090bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0		0x00000010
1091bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1		0x00000020
1092bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_FOG			0x00000030
1093bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR		0x00000040
1094bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR		0x00000050
1095bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0			0x00000080
1096bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1			0x00000090
1097bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2			0x000000a0
1098bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3			0x000000b0
1099bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0			0x000000c0
1100bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE1			0x000000d0
1101bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR	0x000000e0
1102bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F		0x000000f0
1103bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT__MASK			0x00000f00
1104bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT__SHIFT			8
1105bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_ZERO			0x00000000
1106bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0		0x00000100
1107bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1		0x00000200
1108bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_FOG			0x00000300
1109bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR		0x00000400
1110bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR		0x00000500
1111bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0		0x00000800
1112bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1		0x00000900
1113bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2		0x00000a00
1114bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3		0x00000b00
1115bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0			0x00000c00
1116bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1			0x00000d00
1117bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR	0x00000e00
1118bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F		0x00000f00
1119bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_CD_DOT_PRODUCT			0x00001000
1120bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_AB_DOT_PRODUCT			0x00002000
1121bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_MUX_SUM				0x00004000
1122bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_BIAS__MASK				0x00008000
1123bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_BIAS__SHIFT			15
1124bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_BIAS_NONE				0x00000000
1125bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF	0x00008000
1126bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SCALE__MASK			0x00030000
1127bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SCALE__SHIFT			16
1128bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SCALE_NONE				0x00000000
1129bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO			0x00010000
1130bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR		0x00020000
1131bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF		0x00030000
1132bf215546Sopenharmony_ci
1133bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB(i0)				       (0x00000914 + 0x20*(i0))
1134bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT__MASK			0x0000000f
1135bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT__SHIFT			0
1136bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_ZERO			0x00000000
1137bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0		0x00000001
1138bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1		0x00000002
1139bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_FOG			0x00000003
1140bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR		0x00000004
1141bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR		0x00000005
1142bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE0			0x00000008
1143bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE1			0x00000009
1144bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE2			0x0000000a
1145bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_TEXTURE3			0x0000000b
1146bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0			0x0000000c
1147bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_SPARE1			0x0000000d
1148bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR	0x0000000e
1149bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F			0x0000000f
1150bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT__MASK			0x000000f0
1151bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT__SHIFT			4
1152bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_ZERO			0x00000000
1153bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0		0x00000010
1154bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1		0x00000020
1155bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_FOG			0x00000030
1156bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR		0x00000040
1157bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR		0x00000050
1158bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE0			0x00000080
1159bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE1			0x00000090
1160bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE2			0x000000a0
1161bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_TEXTURE3			0x000000b0
1162bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0			0x000000c0
1163bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_SPARE1			0x000000d0
1164bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR	0x000000e0
1165bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F			0x000000f0
1166bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT__MASK			0x00000f00
1167bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT__SHIFT			8
1168bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_ZERO			0x00000000
1169bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0		0x00000100
1170bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1		0x00000200
1171bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_FOG			0x00000300
1172bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR		0x00000400
1173bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR		0x00000500
1174bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0			0x00000800
1175bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1			0x00000900
1176bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2			0x00000a00
1177bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3			0x00000b00
1178bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0			0x00000c00
1179bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE1			0x00000d00
1180bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR	0x00000e00
1181bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F			0x00000f00
1182bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_CD_DOT_PRODUCT			0x00001000
1183bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_AB_DOT_PRODUCT			0x00002000
1184bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_MUX_SUM				0x00004000
1185bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_BIAS__MASK				0x00008000
1186bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_BIAS__SHIFT				15
1187bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_BIAS_NONE				0x00000000
1188bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF	0x00008000
1189bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SCALE__MASK				0x00030000
1190bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SCALE__SHIFT				16
1191bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SCALE_NONE				0x00000000
1192bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SCALE_SCALE_BY_TWO			0x00010000
1193bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SCALE_SCALE_BY_FOUR			0x00020000
1194bf215546Sopenharmony_ci#define NV30_3D_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF		0x00030000
1195bf215546Sopenharmony_ci
1196bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_HORIZ					0x00000a00
1197bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_HORIZ_X__MASK				0x0000ffff
1198bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_HORIZ_X__SHIFT				0
1199bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_HORIZ_W__MASK				0xffff0000
1200bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_HORIZ_W__SHIFT				16
1201bf215546Sopenharmony_ci
1202bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_VERT					0x00000a04
1203bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_VERT_Y__MASK				0x0000ffff
1204bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_VERT_Y__SHIFT				0
1205bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_VERT_H__MASK				0xffff0000
1206bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_VERT_H__SHIFT				16
1207bf215546Sopenharmony_ci
1208bf215546Sopenharmony_ci#define NV30_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION	0x00000a10
1209bf215546Sopenharmony_ci
1210bf215546Sopenharmony_ci
1211bf215546Sopenharmony_ci#define NV30_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R	0x00000a10
1212bf215546Sopenharmony_ci
1213bf215546Sopenharmony_ci#define NV30_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G	0x00000a14
1214bf215546Sopenharmony_ci
1215bf215546Sopenharmony_ci#define NV30_3D_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B	0x00000a18
1216bf215546Sopenharmony_ci
1217bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_TRANSLATE				0x00000a20
1218bf215546Sopenharmony_ci
1219bf215546Sopenharmony_ci
1220bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_TRANSLATE_X				0x00000a20
1221bf215546Sopenharmony_ci
1222bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_TRANSLATE_Y				0x00000a24
1223bf215546Sopenharmony_ci
1224bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_TRANSLATE_Z				0x00000a28
1225bf215546Sopenharmony_ci
1226bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_TRANSLATE_W				0x00000a2c
1227bf215546Sopenharmony_ci
1228bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_SCALE					0x00000a30
1229bf215546Sopenharmony_ci
1230bf215546Sopenharmony_ci
1231bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_SCALE_X				0x00000a30
1232bf215546Sopenharmony_ci
1233bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_SCALE_Y				0x00000a34
1234bf215546Sopenharmony_ci
1235bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_SCALE_Z				0x00000a38
1236bf215546Sopenharmony_ci
1237bf215546Sopenharmony_ci#define NV30_3D_VIEWPORT_SCALE_W				0x00000a3c
1238bf215546Sopenharmony_ci
1239bf215546Sopenharmony_ci#define NV30_3D_POLYGON_OFFSET_POINT_ENABLE			0x00000a60
1240bf215546Sopenharmony_ci
1241bf215546Sopenharmony_ci#define NV30_3D_POLYGON_OFFSET_LINE_ENABLE			0x00000a64
1242bf215546Sopenharmony_ci
1243bf215546Sopenharmony_ci#define NV30_3D_POLYGON_OFFSET_FILL_ENABLE			0x00000a68
1244bf215546Sopenharmony_ci
1245bf215546Sopenharmony_ci#define NV30_3D_DEPTH_FUNC					0x00000a6c
1246bf215546Sopenharmony_ci#define NV30_3D_DEPTH_FUNC_NEVER				0x00000200
1247bf215546Sopenharmony_ci#define NV30_3D_DEPTH_FUNC_LESS					0x00000201
1248bf215546Sopenharmony_ci#define NV30_3D_DEPTH_FUNC_EQUAL				0x00000202
1249bf215546Sopenharmony_ci#define NV30_3D_DEPTH_FUNC_LEQUAL				0x00000203
1250bf215546Sopenharmony_ci#define NV30_3D_DEPTH_FUNC_GREATER				0x00000204
1251bf215546Sopenharmony_ci#define NV30_3D_DEPTH_FUNC_NOTEQUAL				0x00000205
1252bf215546Sopenharmony_ci#define NV30_3D_DEPTH_FUNC_GEQUAL				0x00000206
1253bf215546Sopenharmony_ci#define NV30_3D_DEPTH_FUNC_ALWAYS				0x00000207
1254bf215546Sopenharmony_ci
1255bf215546Sopenharmony_ci#define NV30_3D_DEPTH_WRITE_ENABLE				0x00000a70
1256bf215546Sopenharmony_ci
1257bf215546Sopenharmony_ci#define NV30_3D_DEPTH_TEST_ENABLE				0x00000a74
1258bf215546Sopenharmony_ci
1259bf215546Sopenharmony_ci#define NV30_3D_POLYGON_OFFSET_FACTOR				0x00000a78
1260bf215546Sopenharmony_ci
1261bf215546Sopenharmony_ci#define NV30_3D_POLYGON_OFFSET_UNITS				0x00000a7c
1262bf215546Sopenharmony_ci
1263bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3I_XY(i0)			       (0x00000a80 + 0x8*(i0))
1264bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3I_XY__ESIZE				0x00000008
1265bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3I_XY__LEN				0x00000010
1266bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3I_XY_X__MASK				0x0000ffff
1267bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3I_XY_X__SHIFT				0
1268bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3I_XY_Y__MASK				0xffff0000
1269bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3I_XY_Y__SHIFT				16
1270bf215546Sopenharmony_ci
1271bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3I_Z(i0)			       (0x00000a84 + 0x8*(i0))
1272bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3I_Z__ESIZE				0x00000008
1273bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3I_Z__LEN				0x00000010
1274bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3I_Z_Z__MASK				0x0000ffff
1275bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3I_Z_Z__SHIFT				0
1276bf215546Sopenharmony_ci
1277bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_OPTIMIZATION(i0)		       (0x00000b00 + 0x4*(i0))
1278bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_OPTIMIZATION__ESIZE			0x00000004
1279bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_OPTIMIZATION__LEN			0x00000004
1280bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_TRILINEAR__MASK		0x0000001f
1281bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_TRILINEAR__SHIFT	0
1282bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_TRILINEAR_OFF		0x00000000
1283bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_TRILINEAR_HIGH_QUALITY	0x00000004
1284bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_TRILINEAR_QUALITY	0x00000006
1285bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_TRILINEAR_PERFORMANCE	0x00000008
1286bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_TRILINEAR_HIGH_PERFORMANCE	0x00000018
1287bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE__MASK	0x000001c0
1288bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE__SHIFT	6
1289bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_OFF	0x00000000
1290bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_HIGH_QUALITY	0x000000c0
1291bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_QUALITY	0x000001c0
1292bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_PERFORMANCE	0x00000140
1293bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_UNKNOWN__MASK		0x00007c00
1294bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_UNKNOWN__SHIFT		10
1295bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_UNKNOWN_OFF		0x00000000
1296bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_UNKNOWN_PARTIAL		0x00002c00
1297bf215546Sopenharmony_ci#define NV40_3D_TEX_FILTER_OPTIMIZATION_UNKNOWN_FULL		0x00007c00
1298bf215546Sopenharmony_ci
1299bf215546Sopenharmony_ci#define NV40_3D_UNK0B40(i0)				       (0x00000b40 + 0x4*(i0))
1300bf215546Sopenharmony_ci#define NV40_3D_UNK0B40__ESIZE					0x00000004
1301bf215546Sopenharmony_ci#define NV40_3D_UNK0B40__LEN					0x00000008
1302bf215546Sopenharmony_ci
1303bf215546Sopenharmony_ci#define NV30_3D_VP_UPLOAD_INST(i0)			       (0x00000b80 + 0x4*(i0))
1304bf215546Sopenharmony_ci#define NV30_3D_VP_UPLOAD_INST__ESIZE				0x00000004
1305bf215546Sopenharmony_ci#define NV30_3D_VP_UPLOAD_INST__LEN				0x00000004
1306bf215546Sopenharmony_ci
1307bf215546Sopenharmony_ci
1308bf215546Sopenharmony_ci#define NV30_3D_TEX_CLIP_PLANE(i0)			       (0x00000e00 + 0x10*(i0))
1309bf215546Sopenharmony_ci
1310bf215546Sopenharmony_ci
1311bf215546Sopenharmony_ci#define NV30_3D_TEX_CLIP_PLANE_X(i0)			       (0x00000e00 + 0x10*(i0))
1312bf215546Sopenharmony_ci
1313bf215546Sopenharmony_ci#define NV30_3D_TEX_CLIP_PLANE_Y(i0)			       (0x00000e04 + 0x10*(i0))
1314bf215546Sopenharmony_ci
1315bf215546Sopenharmony_ci#define NV30_3D_TEX_CLIP_PLANE_Z(i0)			       (0x00000e08 + 0x10*(i0))
1316bf215546Sopenharmony_ci
1317bf215546Sopenharmony_ci#define NV30_3D_TEX_CLIP_PLANE_W(i0)			       (0x00000e0c + 0x10*(i0))
1318bf215546Sopenharmony_ci
1319bf215546Sopenharmony_ci#define NV30_3D_LIGHT						0x00001000
1320bf215546Sopenharmony_ci
1321bf215546Sopenharmony_ci
1322bf215546Sopenharmony_ci#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT(i0)	       (0x00001000 + 0x40*(i0))
1323bf215546Sopenharmony_ci
1324bf215546Sopenharmony_ci
1325bf215546Sopenharmony_ci#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(i0)	       (0x00001000 + 0x40*(i0))
1326bf215546Sopenharmony_ci
1327bf215546Sopenharmony_ci#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(i0)	       (0x00001004 + 0x40*(i0))
1328bf215546Sopenharmony_ci
1329bf215546Sopenharmony_ci#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(i0)	       (0x00001008 + 0x40*(i0))
1330bf215546Sopenharmony_ci
1331bf215546Sopenharmony_ci#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE(i0)	       (0x0000100c + 0x40*(i0))
1332bf215546Sopenharmony_ci
1333bf215546Sopenharmony_ci
1334bf215546Sopenharmony_ci#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(i0)	       (0x0000100c + 0x40*(i0))
1335bf215546Sopenharmony_ci
1336bf215546Sopenharmony_ci#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(i0)	       (0x00001010 + 0x40*(i0))
1337bf215546Sopenharmony_ci
1338bf215546Sopenharmony_ci#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(i0)	       (0x00001014 + 0x40*(i0))
1339bf215546Sopenharmony_ci
1340bf215546Sopenharmony_ci#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR(i0)	       (0x00001018 + 0x40*(i0))
1341bf215546Sopenharmony_ci
1342bf215546Sopenharmony_ci
1343bf215546Sopenharmony_ci#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(i0)	       (0x00001018 + 0x40*(i0))
1344bf215546Sopenharmony_ci
1345bf215546Sopenharmony_ci#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(i0)	       (0x0000101c + 0x40*(i0))
1346bf215546Sopenharmony_ci
1347bf215546Sopenharmony_ci#define NV30_3D_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(i0)	       (0x00001020 + 0x40*(i0))
1348bf215546Sopenharmony_ci
1349bf215546Sopenharmony_ci#define NV30_3D_LIGHT_UNK24(i0)				       (0x00001024 + 0x40*(i0))
1350bf215546Sopenharmony_ci
1351bf215546Sopenharmony_ci#define NV30_3D_LIGHT_HALF_VECTOR(i0)			       (0x00001028 + 0x40*(i0))
1352bf215546Sopenharmony_ci
1353bf215546Sopenharmony_ci
1354bf215546Sopenharmony_ci#define NV30_3D_LIGHT_HALF_VECTOR_X(i0)			       (0x00001028 + 0x40*(i0))
1355bf215546Sopenharmony_ci
1356bf215546Sopenharmony_ci#define NV30_3D_LIGHT_HALF_VECTOR_Y(i0)			       (0x0000102c + 0x40*(i0))
1357bf215546Sopenharmony_ci
1358bf215546Sopenharmony_ci#define NV30_3D_LIGHT_HALF_VECTOR_Z(i0)			       (0x00001030 + 0x40*(i0))
1359bf215546Sopenharmony_ci
1360bf215546Sopenharmony_ci#define NV30_3D_LIGHT_DIRECTION(i0)			       (0x00001034 + 0x40*(i0))
1361bf215546Sopenharmony_ci
1362bf215546Sopenharmony_ci
1363bf215546Sopenharmony_ci#define NV30_3D_LIGHT_DIRECTION_X(i0)			       (0x00001034 + 0x40*(i0))
1364bf215546Sopenharmony_ci
1365bf215546Sopenharmony_ci#define NV30_3D_LIGHT_DIRECTION_Y(i0)			       (0x00001038 + 0x40*(i0))
1366bf215546Sopenharmony_ci
1367bf215546Sopenharmony_ci#define NV30_3D_LIGHT_DIRECTION_Z(i0)			       (0x0000103c + 0x40*(i0))
1368bf215546Sopenharmony_ci
1369bf215546Sopenharmony_ci
1370bf215546Sopenharmony_ci#define NV30_3D_LIGHT_SPOT_CUTOFF_A(i0)			       (0x00001200 + 0x40*(i0))
1371bf215546Sopenharmony_ci
1372bf215546Sopenharmony_ci#define NV30_3D_LIGHT_SPOT_CUTOFF_B(i0)			       (0x00001204 + 0x40*(i0))
1373bf215546Sopenharmony_ci
1374bf215546Sopenharmony_ci#define NV30_3D_LIGHT_SPOT_CUTOFF_C(i0)			       (0x00001208 + 0x40*(i0))
1375bf215546Sopenharmony_ci
1376bf215546Sopenharmony_ci#define NV30_3D_LIGHT_SPOT_DIR(i0)			       (0x0000120c + 0x40*(i0))
1377bf215546Sopenharmony_ci
1378bf215546Sopenharmony_ci
1379bf215546Sopenharmony_ci#define NV30_3D_LIGHT_SPOT_DIR_X(i0)			       (0x0000120c + 0x40*(i0))
1380bf215546Sopenharmony_ci
1381bf215546Sopenharmony_ci#define NV30_3D_LIGHT_SPOT_DIR_Y(i0)			       (0x00001210 + 0x40*(i0))
1382bf215546Sopenharmony_ci
1383bf215546Sopenharmony_ci#define NV30_3D_LIGHT_SPOT_DIR_Z(i0)			       (0x00001214 + 0x40*(i0))
1384bf215546Sopenharmony_ci
1385bf215546Sopenharmony_ci#define NV30_3D_LIGHT_SPOT_CUTOFF_D(i0)			       (0x00001218 + 0x40*(i0))
1386bf215546Sopenharmony_ci
1387bf215546Sopenharmony_ci#define NV30_3D_LIGHT_POSITION(i0)			       (0x0000121c + 0x40*(i0))
1388bf215546Sopenharmony_ci
1389bf215546Sopenharmony_ci
1390bf215546Sopenharmony_ci#define NV30_3D_LIGHT_POSITION_X(i0)			       (0x0000121c + 0x40*(i0))
1391bf215546Sopenharmony_ci
1392bf215546Sopenharmony_ci#define NV30_3D_LIGHT_POSITION_Y(i0)			       (0x00001220 + 0x40*(i0))
1393bf215546Sopenharmony_ci
1394bf215546Sopenharmony_ci#define NV30_3D_LIGHT_POSITION_Z(i0)			       (0x00001224 + 0x40*(i0))
1395bf215546Sopenharmony_ci
1396bf215546Sopenharmony_ci#define NV30_3D_LIGHT_ATTENUATION(i0)			       (0x00001228 + 0x40*(i0))
1397bf215546Sopenharmony_ci
1398bf215546Sopenharmony_ci#define NV30_3D_LIGHT_ATTENUATION_CONSTANT(i0)		       (0x00001228 + 0x40*(i0))
1399bf215546Sopenharmony_ci
1400bf215546Sopenharmony_ci#define NV30_3D_LIGHT_ATTENUATION_LINEAR(i0)		       (0x0000122c + 0x40*(i0))
1401bf215546Sopenharmony_ci
1402bf215546Sopenharmony_ci#define NV30_3D_LIGHT_ATTENUATION_QUADRATIC(i0)		       (0x00001230 + 0x40*(i0))
1403bf215546Sopenharmony_ci
1404bf215546Sopenharmony_ci#define NV30_3D_FRONT_MATERIAL_SHININESS(i0)		       (0x00001400 + 0x4*(i0))
1405bf215546Sopenharmony_ci#define NV30_3D_FRONT_MATERIAL_SHININESS__ESIZE			0x00000004
1406bf215546Sopenharmony_ci#define NV30_3D_FRONT_MATERIAL_SHININESS__LEN			0x00000006
1407bf215546Sopenharmony_ci
1408bf215546Sopenharmony_ci#define NV30_3D_ENABLED_LIGHTS					0x00001420
1409bf215546Sopenharmony_ci
1410bf215546Sopenharmony_ci#define NV30_3D_VERTEX_TWO_SIDE_ENABLE				0x0000142c
1411bf215546Sopenharmony_ci
1412bf215546Sopenharmony_ci#define NV30_3D_FP_REG_CONTROL					0x00001450
1413bf215546Sopenharmony_ci#define NV30_3D_FP_REG_CONTROL_UNK0__MASK			0x0000ffff
1414bf215546Sopenharmony_ci#define NV30_3D_FP_REG_CONTROL_UNK0__SHIFT			0
1415bf215546Sopenharmony_ci#define NV30_3D_FP_REG_CONTROL_UNK1__MASK			0xffff0000
1416bf215546Sopenharmony_ci#define NV30_3D_FP_REG_CONTROL_UNK1__SHIFT			16
1417bf215546Sopenharmony_ci
1418bf215546Sopenharmony_ci#define NV30_3D_FLATSHADE_FIRST					0x00001454
1419bf215546Sopenharmony_ci
1420bf215546Sopenharmony_ci#define NV30_3D_EDGEFLAG					0x0000145c
1421bf215546Sopenharmony_ci#define NV30_3D_EDGEFLAG_ENABLE					0x00000001
1422bf215546Sopenharmony_ci
1423bf215546Sopenharmony_ci#define NV30_3D_VP_CLIP_PLANES_ENABLE				0x00001478
1424bf215546Sopenharmony_ci#define NV30_3D_VP_CLIP_PLANES_ENABLE_PLANE0			0x00000002
1425bf215546Sopenharmony_ci#define NV30_3D_VP_CLIP_PLANES_ENABLE_PLANE1			0x00000020
1426bf215546Sopenharmony_ci#define NV30_3D_VP_CLIP_PLANES_ENABLE_PLANE2			0x00000200
1427bf215546Sopenharmony_ci#define NV30_3D_VP_CLIP_PLANES_ENABLE_PLANE3			0x00002000
1428bf215546Sopenharmony_ci#define NV30_3D_VP_CLIP_PLANES_ENABLE_PLANE4			0x00020000
1429bf215546Sopenharmony_ci#define NV30_3D_VP_CLIP_PLANES_ENABLE_PLANE5			0x00200000
1430bf215546Sopenharmony_ci
1431bf215546Sopenharmony_ci#define NV30_3D_POLYGON_STIPPLE_ENABLE				0x0000147c
1432bf215546Sopenharmony_ci
1433bf215546Sopenharmony_ci#define NV30_3D_POLYGON_STIPPLE_PATTERN(i0)		       (0x00001480 + 0x4*(i0))
1434bf215546Sopenharmony_ci#define NV30_3D_POLYGON_STIPPLE_PATTERN__ESIZE			0x00000004
1435bf215546Sopenharmony_ci#define NV30_3D_POLYGON_STIPPLE_PATTERN__LEN			0x00000020
1436bf215546Sopenharmony_ci
1437bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3F(i0)				       (0x00001500 + 0x10*(i0))
1438bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3F__ESIZE				0x00000010
1439bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3F__LEN				0x00000010
1440bf215546Sopenharmony_ci
1441bf215546Sopenharmony_ci
1442bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3F_X(i0)			       (0x00001500 + 0x10*(i0))
1443bf215546Sopenharmony_ci
1444bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3F_Y(i0)			       (0x00001504 + 0x10*(i0))
1445bf215546Sopenharmony_ci
1446bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_3F_Z(i0)			       (0x00001508 + 0x10*(i0))
1447bf215546Sopenharmony_ci
1448bf215546Sopenharmony_ci
1449bf215546Sopenharmony_ci#define NV30_3D_VP_CLIP_PLANE(i0, i1)			       (0x00001600 + 0x10*(i0) + 0x4*(i1))
1450bf215546Sopenharmony_ci#define NV30_3D_VP_CLIP_PLANE__ESIZE				0x00000004
1451bf215546Sopenharmony_ci#define NV30_3D_VP_CLIP_PLANE__LEN				0x00000004
1452bf215546Sopenharmony_ci
1453bf215546Sopenharmony_ci#define NV30_3D_VTXBUF(i0)				       (0x00001680 + 0x4*(i0))
1454bf215546Sopenharmony_ci#define NV30_3D_VTXBUF__ESIZE					0x00000004
1455bf215546Sopenharmony_ci#define NV30_3D_VTXBUF__LEN					0x00000010
1456bf215546Sopenharmony_ci#define NV30_3D_VTXBUF_OFFSET__MASK				0x0fffffff
1457bf215546Sopenharmony_ci#define NV30_3D_VTXBUF_OFFSET__SHIFT				0
1458bf215546Sopenharmony_ci#define NV30_3D_VTXBUF_DMA1					0x80000000
1459bf215546Sopenharmony_ci
1460bf215546Sopenharmony_ci#define NV40_3D_VTX_CACHE_INVALIDATE				0x00001714
1461bf215546Sopenharmony_ci
1462bf215546Sopenharmony_ci#define NV40_3D_VB_ELEMENT_BASE					0x0000173c
1463bf215546Sopenharmony_ci
1464bf215546Sopenharmony_ci#define NV30_3D_VTXFMT(i0)				       (0x00001740 + 0x4*(i0))
1465bf215546Sopenharmony_ci#define NV30_3D_VTXFMT__ESIZE					0x00000004
1466bf215546Sopenharmony_ci#define NV30_3D_VTXFMT__LEN					0x00000010
1467bf215546Sopenharmony_ci#define NV30_3D_VTXFMT_TYPE__MASK				0x0000000f
1468bf215546Sopenharmony_ci#define NV30_3D_VTXFMT_TYPE__SHIFT				0
1469bf215546Sopenharmony_ci#define NV30_3D_VTXFMT_TYPE_B8G8R8A8_UNORM			0x00000000
1470bf215546Sopenharmony_ci#define NV30_3D_VTXFMT_TYPE_V16_SNORM				0x00000001
1471bf215546Sopenharmony_ci#define NV30_3D_VTXFMT_TYPE_V32_FLOAT				0x00000002
1472bf215546Sopenharmony_ci#define NV30_3D_VTXFMT_TYPE_V16_FLOAT				0x00000003
1473bf215546Sopenharmony_ci#define NV30_3D_VTXFMT_TYPE_U8_UNORM				0x00000004
1474bf215546Sopenharmony_ci#define NV30_3D_VTXFMT_TYPE_V16_SSCALED				0x00000005
1475bf215546Sopenharmony_ci#define NV30_3D_VTXFMT_TYPE_U8_USCALED				0x00000007
1476bf215546Sopenharmony_ci#define NV30_3D_VTXFMT_SIZE__MASK				0x000000f0
1477bf215546Sopenharmony_ci#define NV30_3D_VTXFMT_SIZE__SHIFT				4
1478bf215546Sopenharmony_ci#define NV30_3D_VTXFMT_STRIDE__MASK				0x0000ff00
1479bf215546Sopenharmony_ci#define NV30_3D_VTXFMT_STRIDE__SHIFT				8
1480bf215546Sopenharmony_ci
1481bf215546Sopenharmony_ci#define NV30_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION	0x000017a0
1482bf215546Sopenharmony_ci
1483bf215546Sopenharmony_ci
1484bf215546Sopenharmony_ci#define NV30_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R	0x000017a0
1485bf215546Sopenharmony_ci
1486bf215546Sopenharmony_ci#define NV30_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G	0x000017a4
1487bf215546Sopenharmony_ci
1488bf215546Sopenharmony_ci#define NV30_3D_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B	0x000017a8
1489bf215546Sopenharmony_ci
1490bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_BACK				0x000017b0
1491bf215546Sopenharmony_ci
1492bf215546Sopenharmony_ci
1493bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_BACK_R				0x000017b0
1494bf215546Sopenharmony_ci
1495bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_BACK_G				0x000017b4
1496bf215546Sopenharmony_ci
1497bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_BACK_B				0x000017b8
1498bf215546Sopenharmony_ci
1499bf215546Sopenharmony_ci#define NV30_3D_COLOR_MATERIAL_BACK_A				0x000017bc
1500bf215546Sopenharmony_ci
1501bf215546Sopenharmony_ci#define NV30_3D_QUERY_RESET					0x000017c8
1502bf215546Sopenharmony_ci
1503bf215546Sopenharmony_ci#define NV30_3D_QUERY_ENABLE					0x000017cc
1504bf215546Sopenharmony_ci
1505bf215546Sopenharmony_ci#define NV30_3D_QUERY_GET					0x00001800
1506bf215546Sopenharmony_ci#define NV30_3D_QUERY_GET_OFFSET__MASK				0x00ffffff
1507bf215546Sopenharmony_ci#define NV30_3D_QUERY_GET_OFFSET__SHIFT				0
1508bf215546Sopenharmony_ci#define NV30_3D_QUERY_GET_UNK24__MASK				0xff000000
1509bf215546Sopenharmony_ci#define NV30_3D_QUERY_GET_UNK24__SHIFT				24
1510bf215546Sopenharmony_ci
1511bf215546Sopenharmony_ci#define NV30_3D_VERTEX_BEGIN_END				0x00001808
1512bf215546Sopenharmony_ci#define NV30_3D_VERTEX_BEGIN_END_STOP				0x00000000
1513bf215546Sopenharmony_ci#define NV30_3D_VERTEX_BEGIN_END_POINTS				0x00000001
1514bf215546Sopenharmony_ci#define NV30_3D_VERTEX_BEGIN_END_LINES				0x00000002
1515bf215546Sopenharmony_ci#define NV30_3D_VERTEX_BEGIN_END_LINE_LOOP			0x00000003
1516bf215546Sopenharmony_ci#define NV30_3D_VERTEX_BEGIN_END_LINE_STRIP			0x00000004
1517bf215546Sopenharmony_ci#define NV30_3D_VERTEX_BEGIN_END_TRIANGLES			0x00000005
1518bf215546Sopenharmony_ci#define NV30_3D_VERTEX_BEGIN_END_TRIANGLE_STRIP			0x00000006
1519bf215546Sopenharmony_ci#define NV30_3D_VERTEX_BEGIN_END_TRIANGLE_FAN			0x00000007
1520bf215546Sopenharmony_ci#define NV30_3D_VERTEX_BEGIN_END_QUADS				0x00000008
1521bf215546Sopenharmony_ci#define NV30_3D_VERTEX_BEGIN_END_QUAD_STRIP			0x00000009
1522bf215546Sopenharmony_ci#define NV30_3D_VERTEX_BEGIN_END_POLYGON			0x0000000a
1523bf215546Sopenharmony_ci
1524bf215546Sopenharmony_ci#define NV30_3D_VB_ELEMENT_U16					0x0000180c
1525bf215546Sopenharmony_ci#define NV30_3D_VB_ELEMENT_U16_0__MASK				0x0000ffff
1526bf215546Sopenharmony_ci#define NV30_3D_VB_ELEMENT_U16_0__SHIFT				0
1527bf215546Sopenharmony_ci#define NV30_3D_VB_ELEMENT_U16_1__MASK				0xffff0000
1528bf215546Sopenharmony_ci#define NV30_3D_VB_ELEMENT_U16_1__SHIFT				16
1529bf215546Sopenharmony_ci
1530bf215546Sopenharmony_ci#define NV30_3D_VB_ELEMENT_U32					0x00001810
1531bf215546Sopenharmony_ci
1532bf215546Sopenharmony_ci#define NV30_3D_VB_VERTEX_BATCH					0x00001814
1533bf215546Sopenharmony_ci#define NV30_3D_VB_VERTEX_BATCH_OFFSET__MASK			0x00ffffff
1534bf215546Sopenharmony_ci#define NV30_3D_VB_VERTEX_BATCH_OFFSET__SHIFT			0
1535bf215546Sopenharmony_ci#define NV30_3D_VB_VERTEX_BATCH_COUNT__MASK			0xff000000
1536bf215546Sopenharmony_ci#define NV30_3D_VB_VERTEX_BATCH_COUNT__SHIFT			24
1537bf215546Sopenharmony_ci
1538bf215546Sopenharmony_ci#define NV30_3D_VERTEX_DATA					0x00001818
1539bf215546Sopenharmony_ci
1540bf215546Sopenharmony_ci#define NV30_3D_IDXBUF_OFFSET					0x0000181c
1541bf215546Sopenharmony_ci
1542bf215546Sopenharmony_ci#define NV30_3D_IDXBUF_FORMAT					0x00001820
1543bf215546Sopenharmony_ci#define NV30_3D_IDXBUF_FORMAT_DMA1				0x00000001
1544bf215546Sopenharmony_ci#define NV30_3D_IDXBUF_FORMAT_TYPE__MASK			0x000000f0
1545bf215546Sopenharmony_ci#define NV30_3D_IDXBUF_FORMAT_TYPE__SHIFT			4
1546bf215546Sopenharmony_ci#define NV30_3D_IDXBUF_FORMAT_TYPE_U32				0x00000000
1547bf215546Sopenharmony_ci#define NV30_3D_IDXBUF_FORMAT_TYPE_U16				0x00000010
1548bf215546Sopenharmony_ci
1549bf215546Sopenharmony_ci#define NV30_3D_VB_INDEX_BATCH					0x00001824
1550bf215546Sopenharmony_ci#define NV30_3D_VB_INDEX_BATCH_START__MASK			0x00ffffff
1551bf215546Sopenharmony_ci#define NV30_3D_VB_INDEX_BATCH_START__SHIFT			0
1552bf215546Sopenharmony_ci#define NV30_3D_VB_INDEX_BATCH_COUNT__MASK			0xff000000
1553bf215546Sopenharmony_ci#define NV30_3D_VB_INDEX_BATCH_COUNT__SHIFT			24
1554bf215546Sopenharmony_ci
1555bf215546Sopenharmony_ci#define NV30_3D_POLYGON_MODE_FRONT				0x00001828
1556bf215546Sopenharmony_ci#define NV30_3D_POLYGON_MODE_FRONT_POINT			0x00001b00
1557bf215546Sopenharmony_ci#define NV30_3D_POLYGON_MODE_FRONT_LINE				0x00001b01
1558bf215546Sopenharmony_ci#define NV30_3D_POLYGON_MODE_FRONT_FILL				0x00001b02
1559bf215546Sopenharmony_ci
1560bf215546Sopenharmony_ci#define NV30_3D_POLYGON_MODE_BACK				0x0000182c
1561bf215546Sopenharmony_ci#define NV30_3D_POLYGON_MODE_BACK_POINT				0x00001b00
1562bf215546Sopenharmony_ci#define NV30_3D_POLYGON_MODE_BACK_LINE				0x00001b01
1563bf215546Sopenharmony_ci#define NV30_3D_POLYGON_MODE_BACK_FILL				0x00001b02
1564bf215546Sopenharmony_ci
1565bf215546Sopenharmony_ci#define NV30_3D_CULL_FACE					0x00001830
1566bf215546Sopenharmony_ci#define NV30_3D_CULL_FACE_FRONT					0x00000404
1567bf215546Sopenharmony_ci#define NV30_3D_CULL_FACE_BACK					0x00000405
1568bf215546Sopenharmony_ci#define NV30_3D_CULL_FACE_FRONT_AND_BACK			0x00000408
1569bf215546Sopenharmony_ci
1570bf215546Sopenharmony_ci#define NV30_3D_FRONT_FACE					0x00001834
1571bf215546Sopenharmony_ci#define NV30_3D_FRONT_FACE_CW					0x00000900
1572bf215546Sopenharmony_ci#define NV30_3D_FRONT_FACE_CCW					0x00000901
1573bf215546Sopenharmony_ci
1574bf215546Sopenharmony_ci#define NV30_3D_POLYGON_SMOOTH_ENABLE				0x00001838
1575bf215546Sopenharmony_ci
1576bf215546Sopenharmony_ci#define NV30_3D_CULL_FACE_ENABLE				0x0000183c
1577bf215546Sopenharmony_ci
1578bf215546Sopenharmony_ci#define NV30_3D_TEX_PALETTE_OFFSET(i0)			       (0x00001840 + 0x4*(i0))
1579bf215546Sopenharmony_ci#define NV30_3D_TEX_PALETTE_OFFSET__ESIZE			0x00000004
1580bf215546Sopenharmony_ci#define NV30_3D_TEX_PALETTE_OFFSET__LEN				0x00000008
1581bf215546Sopenharmony_ci
1582bf215546Sopenharmony_ci#define NV40_3D_TEX_SIZE1(i0)				       (0x00001840 + 0x4*(i0))
1583bf215546Sopenharmony_ci#define NV40_3D_TEX_SIZE1__ESIZE				0x00000004
1584bf215546Sopenharmony_ci#define NV40_3D_TEX_SIZE1__LEN					0x00000008
1585bf215546Sopenharmony_ci#define NV40_3D_TEX_SIZE1_DEPTH__MASK				0xfff00000
1586bf215546Sopenharmony_ci#define NV40_3D_TEX_SIZE1_DEPTH__SHIFT				20
1587bf215546Sopenharmony_ci#define NV40_3D_TEX_SIZE1_PITCH__MASK				0x0000ffff
1588bf215546Sopenharmony_ci#define NV40_3D_TEX_SIZE1_PITCH__SHIFT				0
1589bf215546Sopenharmony_ci
1590bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_2F(i0)				       (0x00001880 + 0x8*(i0))
1591bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_2F__ESIZE				0x00000008
1592bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_2F__LEN				0x00000010
1593bf215546Sopenharmony_ci
1594bf215546Sopenharmony_ci
1595bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_2F_X(i0)			       (0x00001880 + 0x8*(i0))
1596bf215546Sopenharmony_ci
1597bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_2F_Y(i0)			       (0x00001884 + 0x8*(i0))
1598bf215546Sopenharmony_ci
1599bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_2I(i0)				       (0x00001900 + 0x4*(i0))
1600bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_2I__ESIZE				0x00000004
1601bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_2I__LEN				0x00000010
1602bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_2I_X__MASK				0x0000ffff
1603bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_2I_X__SHIFT				0
1604bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_2I_Y__MASK				0xffff0000
1605bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_2I_Y__SHIFT				16
1606bf215546Sopenharmony_ci
1607bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4UB(i0)			       (0x00001940 + 0x4*(i0))
1608bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4UB__ESIZE				0x00000004
1609bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4UB__LEN				0x00000010
1610bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4UB_X__MASK				0x000000ff
1611bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4UB_X__SHIFT				0
1612bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4UB_Y__MASK				0x0000ff00
1613bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4UB_Y__SHIFT				8
1614bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4UB_Z__MASK				0x00ff0000
1615bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4UB_Z__SHIFT				16
1616bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4UB_W__MASK				0xff000000
1617bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4UB_W__SHIFT				24
1618bf215546Sopenharmony_ci
1619bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4I(i0)				       (0x00001980 + 0x8*(i0))
1620bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4I__ESIZE				0x00000008
1621bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4I__LEN				0x00000010
1622bf215546Sopenharmony_ci
1623bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4I_XY(i0)			       (0x00001980 + 0x8*(i0))
1624bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4I_XY_X__MASK				0x0000ffff
1625bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4I_XY_X__SHIFT				0
1626bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4I_XY_Y__MASK				0xffff0000
1627bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4I_XY_Y__SHIFT				16
1628bf215546Sopenharmony_ci
1629bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4I_ZW(i0)			       (0x00001984 + 0x8*(i0))
1630bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4I_ZW_Z__MASK				0x0000ffff
1631bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4I_ZW_Z__SHIFT				0
1632bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4I_ZW_W__MASK				0xffff0000
1633bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4I_ZW_W__SHIFT				16
1634bf215546Sopenharmony_ci
1635bf215546Sopenharmony_ci#define NV30_3D_TEX_OFFSET(i0)				       (0x00001a00 + 0x20*(i0))
1636bf215546Sopenharmony_ci#define NV30_3D_TEX_OFFSET__ESIZE				0x00000020
1637bf215546Sopenharmony_ci#define NV30_3D_TEX_OFFSET__LEN					0x00000008
1638bf215546Sopenharmony_ci
1639bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT(i0)				       (0x00001a04 + 0x20*(i0))
1640bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT__ESIZE				0x00000020
1641bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT__LEN					0x00000008
1642bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_DMA0					0x00000001
1643bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_DMA1					0x00000002
1644bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_CUBIC				0x00000004
1645bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_NO_BORDER				0x00000008
1646bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_DIMS__MASK				0x000000f0
1647bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_DIMS__SHIFT				4
1648bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_DIMS_1D				0x00000010
1649bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_DIMS_2D				0x00000020
1650bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_DIMS_3D				0x00000030
1651bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT__MASK				0x0000ff00
1652bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT__SHIFT			8
1653bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_L8				0x00000000
1654bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_I8				0x00000100
1655bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_A1R5G5B5			0x00000200
1656bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_A4R4G4B4			0x00000400
1657bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_R5G6B5			0x00000500
1658bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_A8R8G8B8			0x00000600
1659bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_X8R8G8B8			0x00000700
1660bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_INDEX8			0x00000b00
1661bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_DXT1				0x00000c00
1662bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_DXT3				0x00000e00
1663bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_DXT5				0x00000f00
1664bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_A1R5G5B5_RECT			0x00001000
1665bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_R5G6B5_RECT			0x00001100
1666bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_A8R8G8B8_RECT			0x00001200
1667bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_L8_RECT			0x00001300
1668bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_DSDT8_RECT			0x00001700
1669bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_A8L8				0x00001a00
1670bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_I8_RECT			0x00001b00
1671bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_A4R4G4B4_RECT			0x00001d00
1672bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_R8G8B8_RECT			0x00001e00
1673bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_A8L8_RECT			0x00002000
1674bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_Z24				0x00002a00
1675bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_Z24_RECT			0x00002b00
1676bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_Z16				0x00002c00
1677bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_Z16_RECT			0x00002d00
1678bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_DSDT8				0x00002800
1679bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_HILO16			0x00003300
1680bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_HILO16_RECT			0x00003600
1681bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_HILO8				0x00004400
1682bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_SIGNED_HILO8			0x00004500
1683bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_HILO8_RECT			0x00004600
1684bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_SIGNED_HILO8_RECT		0x00004700
1685bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_A16				0x00003200
1686bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_A16_RECT			0x00003500
1687bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_UNK3F				0x00003f00
1688bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_FLOAT_RGBA16_NV		0x00004a00
1689bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_FLOAT_RGBA32_NV		0x00004b00
1690bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_FORMAT_FLOAT_R32_NV			0x00004c00
1691bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT__MASK				0x00001f00
1692bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT__SHIFT			8
1693bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_L8				0x00000100
1694bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_A1R5G5B5			0x00000200
1695bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_A4R4G4B4			0x00000300
1696bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_R5G6B5			0x00000400
1697bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_A8R8G8B8			0x00000500
1698bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_DXT1				0x00000600
1699bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_DXT3				0x00000700
1700bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_DXT5				0x00000800
1701bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_A8L8				0x00000b00
1702bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_Z24				0x00001000
1703bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_Z16				0x00001200
1704bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_A16				0x00001400
1705bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_A16L16			0x00001500
1706bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_HILO8				0x00001800
1707bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_RGBA16F			0x00001a00
1708bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_FORMAT_RGBA32F			0x00001b00
1709bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_LINEAR				0x00002000
1710bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_RECT					0x00004000
1711bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_MIPMAP_COUNT__MASK			0x000f0000
1712bf215546Sopenharmony_ci#define NV40_3D_TEX_FORMAT_MIPMAP_COUNT__SHIFT			16
1713bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_MIPMAP				0x00080000
1714bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_BASE_SIZE_U__MASK			0x00f00000
1715bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_BASE_SIZE_U__SHIFT			20
1716bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_BASE_SIZE_V__MASK			0x0f000000
1717bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_BASE_SIZE_V__SHIFT			24
1718bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_BASE_SIZE_W__MASK			0xf0000000
1719bf215546Sopenharmony_ci#define NV30_3D_TEX_FORMAT_BASE_SIZE_W__SHIFT			28
1720bf215546Sopenharmony_ci
1721bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP(i0)				       (0x00001a08 + 0x20*(i0))
1722bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP__ESIZE					0x00000020
1723bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP__LEN					0x00000008
1724bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_S__MASK				0x000000ff
1725bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_S__SHIFT				0
1726bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_S_REPEAT				0x00000001
1727bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_S_MIRRORED_REPEAT			0x00000002
1728bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_S_CLAMP_TO_EDGE			0x00000003
1729bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_S_CLAMP_TO_BORDER			0x00000004
1730bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_S_CLAMP				0x00000005
1731bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_S_MIRROR_CLAMP_TO_EDGE			0x00000006
1732bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_S_MIRROR_CLAMP_TO_BORDER		0x00000007
1733bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_S_MIRROR_CLAMP				0x00000008
1734bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION__MASK	0x00000070
1735bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION__SHIFT	4
1736bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_OFF	0x00000000
1737bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_QUALITY	0x00000020
1738bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_PERFORMANCE	0x00000030
1739bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_HIGH_PERFORMANCE	0x00000070
1740bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_T__MASK				0x00000f00
1741bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_T__SHIFT				8
1742bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_T_REPEAT				0x00000100
1743bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_T_MIRRORED_REPEAT			0x00000200
1744bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_T_CLAMP_TO_EDGE			0x00000300
1745bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_T_CLAMP_TO_BORDER			0x00000400
1746bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_T_CLAMP				0x00000500
1747bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_T_MIRROR_CLAMP_TO_EDGE			0x00000600
1748bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_T_MIRROR_CLAMP_TO_BORDER		0x00000700
1749bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_T_MIRROR_CLAMP				0x00000800
1750bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_EXPAND_NORMAL				0x0000f000
1751bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_R__MASK				0x000f0000
1752bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_R__SHIFT				16
1753bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_R_REPEAT				0x00010000
1754bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_R_MIRRORED_REPEAT			0x00020000
1755bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_R_CLAMP_TO_EDGE			0x00030000
1756bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_R_CLAMP_TO_BORDER			0x00040000
1757bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_R_CLAMP				0x00050000
1758bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_R_MIRROR_CLAMP_TO_EDGE			0x00060000
1759bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_R_MIRROR_CLAMP_TO_BORDER		0x00070000
1760bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_R_MIRROR_CLAMP				0x00080000
1761bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_GAMMA_DECREASE_FILTER__MASK		0x00f00000
1762bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_GAMMA_DECREASE_FILTER__SHIFT		20
1763bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_GAMMA_DECREASE_FILTER_NONE		0x00000000
1764bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_GAMMA_DECREASE_FILTER_RED		0x00100000
1765bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_GAMMA_DECREASE_FILTER_GREEN		0x00200000
1766bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_GAMMA_DECREASE_FILTER_BLUE		0x00400000
1767bf215546Sopenharmony_ci#define NV40_3D_TEX_WRAP_GAMMA_DECREASE_FILTER_ALL		0x00f00000
1768bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_RCOMP__MASK				0xf0000000
1769bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_RCOMP__SHIFT				28
1770bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_RCOMP_NEVER				0x00000000
1771bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_RCOMP_GREATER				0x10000000
1772bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_RCOMP_EQUAL				0x20000000
1773bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_RCOMP_GEQUAL				0x30000000
1774bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_RCOMP_LESS				0x40000000
1775bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_RCOMP_NOTEQUAL				0x50000000
1776bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_RCOMP_LEQUAL				0x60000000
1777bf215546Sopenharmony_ci#define NV30_3D_TEX_WRAP_RCOMP_ALWAYS				0x70000000
1778bf215546Sopenharmony_ci
1779bf215546Sopenharmony_ci#define NV30_3D_TEX_ENABLE(i0)				       (0x00001a0c + 0x20*(i0))
1780bf215546Sopenharmony_ci#define NV30_3D_TEX_ENABLE__ESIZE				0x00000020
1781bf215546Sopenharmony_ci#define NV30_3D_TEX_ENABLE__LEN					0x00000008
1782bf215546Sopenharmony_ci#define NV30_3D_TEX_ENABLE_ANISO__MASK				0x00000030
1783bf215546Sopenharmony_ci#define NV30_3D_TEX_ENABLE_ANISO__SHIFT				4
1784bf215546Sopenharmony_ci#define NV30_3D_TEX_ENABLE_ANISO_NONE				0x00000000
1785bf215546Sopenharmony_ci#define NV30_3D_TEX_ENABLE_ANISO_2X				0x00000010
1786bf215546Sopenharmony_ci#define NV30_3D_TEX_ENABLE_ANISO_4X				0x00000020
1787bf215546Sopenharmony_ci#define NV30_3D_TEX_ENABLE_ANISO_8X				0x00000030
1788bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_ANISO__MASK				0x000000f0
1789bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_ANISO__SHIFT				4
1790bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_ANISO_NONE				0x00000000
1791bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_ANISO_2X				0x00000010
1792bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_ANISO_4X				0x00000020
1793bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_ANISO_6X				0x00000030
1794bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_ANISO_8X				0x00000040
1795bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_ANISO_10X				0x00000050
1796bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_ANISO_12X				0x00000060
1797bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_ANISO_16X				0x00000070
1798bf215546Sopenharmony_ci#define NV30_3D_TEX_ENABLE_MIPMAP_MAX_LOD__MASK			0x0003c000
1799bf215546Sopenharmony_ci#define NV30_3D_TEX_ENABLE_MIPMAP_MAX_LOD__SHIFT		14
1800bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_MIPMAP_MAX_LOD__MASK			0x00038000
1801bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_MIPMAP_MAX_LOD__SHIFT		15
1802bf215546Sopenharmony_ci#define NV30_3D_TEX_ENABLE_MIPMAP_MIN_LOD__MASK			0x3c000000
1803bf215546Sopenharmony_ci#define NV30_3D_TEX_ENABLE_MIPMAP_MIN_LOD__SHIFT		26
1804bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_MIPMAP_MIN_LOD__MASK			0x38000000
1805bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_MIPMAP_MIN_LOD__SHIFT		27
1806bf215546Sopenharmony_ci#define NV30_3D_TEX_ENABLE_ENABLE				0x40000000
1807bf215546Sopenharmony_ci#define NV40_3D_TEX_ENABLE_ENABLE				0x80000000
1808bf215546Sopenharmony_ci
1809bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE(i0)				       (0x00001a10 + 0x20*(i0))
1810bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE__ESIZE				0x00000020
1811bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE__LEN				0x00000008
1812bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_W__MASK				0x00000003
1813bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_W__SHIFT				0
1814bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_W_W				0x00000000
1815bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_W_Z				0x00000001
1816bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_W_Y				0x00000002
1817bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_W_X				0x00000003
1818bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_Z__MASK				0x0000000c
1819bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_Z__SHIFT				2
1820bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_Z_W				0x00000000
1821bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_Z_Z				0x00000004
1822bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_Z_Y				0x00000008
1823bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_Z_X				0x0000000c
1824bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_Y__MASK				0x00000030
1825bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_Y__SHIFT				4
1826bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_Y_W				0x00000000
1827bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_Y_Z				0x00000010
1828bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_Y_Y				0x00000020
1829bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_Y_X				0x00000030
1830bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_X__MASK				0x000000c0
1831bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_X__SHIFT				6
1832bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_X_W				0x00000000
1833bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_X_Z				0x00000040
1834bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_X_Y				0x00000080
1835bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S1_X_X				0x000000c0
1836bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_W__MASK				0x00000300
1837bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_W__SHIFT				8
1838bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_W_ZERO				0x00000000
1839bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_W_ONE				0x00000100
1840bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_W_S1				0x00000200
1841bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_Z__MASK				0x00000c00
1842bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_Z__SHIFT				10
1843bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_Z_ZERO				0x00000000
1844bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_Z_ONE				0x00000400
1845bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_Z_S1				0x00000800
1846bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_Y__MASK				0x00003000
1847bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_Y__SHIFT				12
1848bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_Y_ZERO				0x00000000
1849bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_Y_ONE				0x00001000
1850bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_Y_S1				0x00002000
1851bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_X__MASK				0x0000c000
1852bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_X__SHIFT				14
1853bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_X_ZERO				0x00000000
1854bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_X_ONE				0x00004000
1855bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_S0_X_S1				0x00008000
1856bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_RECT_PITCH__MASK			0xffff0000
1857bf215546Sopenharmony_ci#define NV30_3D_TEX_SWIZZLE_RECT_PITCH__SHIFT			16
1858bf215546Sopenharmony_ci
1859bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER(i0)				       (0x00001a14 + 0x20*(i0))
1860bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER__ESIZE				0x00000020
1861bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER__LEN					0x00000008
1862bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_LOD_BIAS__MASK			0x00000f00
1863bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_LOD_BIAS__SHIFT			8
1864bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_MIN__MASK				0x000f0000
1865bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_MIN__SHIFT				16
1866bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_MIN_NEAREST				0x00010000
1867bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_MIN_LINEAR				0x00020000
1868bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_MIN_NEAREST_MIPMAP_NEAREST		0x00030000
1869bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_MIN_LINEAR_MIPMAP_NEAREST		0x00040000
1870bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_MIN_NEAREST_MIPMAP_LINEAR		0x00050000
1871bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_MIN_LINEAR_MIPMAP_LINEAR		0x00060000
1872bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_MAG__MASK				0x0f000000
1873bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_MAG__SHIFT				24
1874bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_MAG_NEAREST				0x01000000
1875bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_MAG_LINEAR				0x02000000
1876bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_SIGNED_BLUE				0x10000000
1877bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_SIGNED_GREEN				0x20000000
1878bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_SIGNED_RED				0x40000000
1879bf215546Sopenharmony_ci#define NV30_3D_TEX_FILTER_SIGNED_ALPHA				0x80000000
1880bf215546Sopenharmony_ci
1881bf215546Sopenharmony_ci#define NV30_3D_TEX_NPOT_SIZE(i0)			       (0x00001a18 + 0x20*(i0))
1882bf215546Sopenharmony_ci#define NV30_3D_TEX_NPOT_SIZE__ESIZE				0x00000020
1883bf215546Sopenharmony_ci#define NV30_3D_TEX_NPOT_SIZE__LEN				0x00000008
1884bf215546Sopenharmony_ci#define NV30_3D_TEX_NPOT_SIZE_H__MASK				0x0000ffff
1885bf215546Sopenharmony_ci#define NV30_3D_TEX_NPOT_SIZE_H__SHIFT				0
1886bf215546Sopenharmony_ci#define NV30_3D_TEX_NPOT_SIZE_W__MASK				0xffff0000
1887bf215546Sopenharmony_ci#define NV30_3D_TEX_NPOT_SIZE_W__SHIFT				16
1888bf215546Sopenharmony_ci
1889bf215546Sopenharmony_ci#define NV30_3D_TEX_BORDER_COLOR(i0)			       (0x00001a1c + 0x20*(i0))
1890bf215546Sopenharmony_ci#define NV30_3D_TEX_BORDER_COLOR__ESIZE				0x00000020
1891bf215546Sopenharmony_ci#define NV30_3D_TEX_BORDER_COLOR__LEN				0x00000008
1892bf215546Sopenharmony_ci#define NV30_3D_TEX_BORDER_COLOR_B__MASK			0x000000ff
1893bf215546Sopenharmony_ci#define NV30_3D_TEX_BORDER_COLOR_B__SHIFT			0
1894bf215546Sopenharmony_ci#define NV30_3D_TEX_BORDER_COLOR_G__MASK			0x0000ff00
1895bf215546Sopenharmony_ci#define NV30_3D_TEX_BORDER_COLOR_G__SHIFT			8
1896bf215546Sopenharmony_ci#define NV30_3D_TEX_BORDER_COLOR_R__MASK			0x00ff0000
1897bf215546Sopenharmony_ci#define NV30_3D_TEX_BORDER_COLOR_R__SHIFT			16
1898bf215546Sopenharmony_ci#define NV30_3D_TEX_BORDER_COLOR_A__MASK			0xff000000
1899bf215546Sopenharmony_ci#define NV30_3D_TEX_BORDER_COLOR_A__SHIFT			24
1900bf215546Sopenharmony_ci
1901bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4F(i0)				       (0x00001c00 + 0x10*(i0))
1902bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4F__ESIZE				0x00000010
1903bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4F__LEN				0x00000010
1904bf215546Sopenharmony_ci
1905bf215546Sopenharmony_ci
1906bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4F_X(i0)			       (0x00001c00 + 0x10*(i0))
1907bf215546Sopenharmony_ci
1908bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4F_Y(i0)			       (0x00001c04 + 0x10*(i0))
1909bf215546Sopenharmony_ci
1910bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4F_Z(i0)			       (0x00001c08 + 0x10*(i0))
1911bf215546Sopenharmony_ci
1912bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_4F_W(i0)			       (0x00001c0c + 0x10*(i0))
1913bf215546Sopenharmony_ci
1914bf215546Sopenharmony_ci#define NV30_3D_FP_CONTROL					0x00001d60
1915bf215546Sopenharmony_ci#define NV30_3D_FP_CONTROL_USED_REGS_MINUS1_DIV2__MASK		0x0000000f
1916bf215546Sopenharmony_ci#define NV30_3D_FP_CONTROL_USED_REGS_MINUS1_DIV2__SHIFT		0
1917bf215546Sopenharmony_ci#define NV30_3D_FP_CONTROL_USES_KIL				0x00000080
1918bf215546Sopenharmony_ci#define NV40_3D_FP_CONTROL_KIL					0x00000080
1919bf215546Sopenharmony_ci#define NV40_3D_FP_CONTROL_TEMP_COUNT__MASK			0xff000000
1920bf215546Sopenharmony_ci#define NV40_3D_FP_CONTROL_TEMP_COUNT__SHIFT			24
1921bf215546Sopenharmony_ci
1922bf215546Sopenharmony_ci#define NV30_3D_FENCE_OFFSET					0x00001d6c
1923bf215546Sopenharmony_ci
1924bf215546Sopenharmony_ci#define NV30_3D_FENCE_VALUE					0x00001d70
1925bf215546Sopenharmony_ci
1926bf215546Sopenharmony_ci#define NV30_3D_DEPTH_CONTROL					0x00001d78
1927bf215546Sopenharmony_ci#define NV30_3D_DEPTH_CONTROL_CLAMP				0x000000f0
1928bf215546Sopenharmony_ci
1929bf215546Sopenharmony_ci#define NV30_3D_MULTISAMPLE_CONTROL				0x00001d7c
1930bf215546Sopenharmony_ci#define NV30_3D_MULTISAMPLE_CONTROL_ENABLE			0x00000001
1931bf215546Sopenharmony_ci#define NV30_3D_MULTISAMPLE_CONTROL_SAMPLE_ALPHA_TO_COVERAGE	0x00000010
1932bf215546Sopenharmony_ci#define NV30_3D_MULTISAMPLE_CONTROL_SAMPLE_ALPHA_TO_ONE		0x00000100
1933bf215546Sopenharmony_ci#define NV30_3D_MULTISAMPLE_CONTROL_SAMPLE_COVERAGE__MASK	0xffff0000
1934bf215546Sopenharmony_ci#define NV30_3D_MULTISAMPLE_CONTROL_SAMPLE_COVERAGE__SHIFT	16
1935bf215546Sopenharmony_ci
1936bf215546Sopenharmony_ci#define NV30_3D_COORD_CONVENTIONS				0x00001d88
1937bf215546Sopenharmony_ci#define NV30_3D_COORD_CONVENTIONS_HEIGHT__MASK			0x00000fff
1938bf215546Sopenharmony_ci#define NV30_3D_COORD_CONVENTIONS_HEIGHT__SHIFT			0
1939bf215546Sopenharmony_ci#define NV30_3D_COORD_CONVENTIONS_ORIGIN__MASK			0x00001000
1940bf215546Sopenharmony_ci#define NV30_3D_COORD_CONVENTIONS_ORIGIN__SHIFT			12
1941bf215546Sopenharmony_ci#define NV30_3D_COORD_CONVENTIONS_ORIGIN_NORMAL			0x00000000
1942bf215546Sopenharmony_ci#define NV30_3D_COORD_CONVENTIONS_ORIGIN_INVERTED		0x00001000
1943bf215546Sopenharmony_ci#define NV30_3D_COORD_CONVENTIONS_CENTER__MASK			0x00010000
1944bf215546Sopenharmony_ci#define NV30_3D_COORD_CONVENTIONS_CENTER__SHIFT			16
1945bf215546Sopenharmony_ci#define NV30_3D_COORD_CONVENTIONS_CENTER_HALF_INTEGER		0x00000000
1946bf215546Sopenharmony_ci#define NV30_3D_COORD_CONVENTIONS_CENTER_INTEGER		0x00010000
1947bf215546Sopenharmony_ci
1948bf215546Sopenharmony_ci#define NV30_3D_CLEAR_DEPTH_VALUE				0x00001d8c
1949bf215546Sopenharmony_ci
1950bf215546Sopenharmony_ci#define NV30_3D_CLEAR_COLOR_VALUE				0x00001d90
1951bf215546Sopenharmony_ci#define NV30_3D_CLEAR_COLOR_VALUE_B__MASK			0x000000ff
1952bf215546Sopenharmony_ci#define NV30_3D_CLEAR_COLOR_VALUE_B__SHIFT			0
1953bf215546Sopenharmony_ci#define NV30_3D_CLEAR_COLOR_VALUE_G__MASK			0x0000ff00
1954bf215546Sopenharmony_ci#define NV30_3D_CLEAR_COLOR_VALUE_G__SHIFT			8
1955bf215546Sopenharmony_ci#define NV30_3D_CLEAR_COLOR_VALUE_R__MASK			0x00ff0000
1956bf215546Sopenharmony_ci#define NV30_3D_CLEAR_COLOR_VALUE_R__SHIFT			16
1957bf215546Sopenharmony_ci#define NV30_3D_CLEAR_COLOR_VALUE_A__MASK			0xff000000
1958bf215546Sopenharmony_ci#define NV30_3D_CLEAR_COLOR_VALUE_A__SHIFT			24
1959bf215546Sopenharmony_ci
1960bf215546Sopenharmony_ci#define NV30_3D_CLEAR_BUFFERS					0x00001d94
1961bf215546Sopenharmony_ci#define NV30_3D_CLEAR_BUFFERS_DEPTH				0x00000001
1962bf215546Sopenharmony_ci#define NV30_3D_CLEAR_BUFFERS_STENCIL				0x00000002
1963bf215546Sopenharmony_ci#define NV30_3D_CLEAR_BUFFERS_COLOR_R				0x00000010
1964bf215546Sopenharmony_ci#define NV30_3D_CLEAR_BUFFERS_COLOR_G				0x00000020
1965bf215546Sopenharmony_ci#define NV30_3D_CLEAR_BUFFERS_COLOR_B				0x00000040
1966bf215546Sopenharmony_ci#define NV30_3D_CLEAR_BUFFERS_COLOR_A				0x00000080
1967bf215546Sopenharmony_ci
1968bf215546Sopenharmony_ci#define NV30_3D_PRIMITIVE_RESTART_ENABLE			0x00001dac
1969bf215546Sopenharmony_ci
1970bf215546Sopenharmony_ci#define NV30_3D_PRIMITIVE_RESTART_INDEX				0x00001db0
1971bf215546Sopenharmony_ci
1972bf215546Sopenharmony_ci#define NV30_3D_LINE_STIPPLE_ENABLE				0x00001db4
1973bf215546Sopenharmony_ci
1974bf215546Sopenharmony_ci#define NV30_3D_LINE_STIPPLE_PATTERN				0x00001db8
1975bf215546Sopenharmony_ci#define NV30_3D_LINE_STIPPLE_PATTERN_FACTOR__MASK		0x0000ffff
1976bf215546Sopenharmony_ci#define NV30_3D_LINE_STIPPLE_PATTERN_FACTOR__SHIFT		0
1977bf215546Sopenharmony_ci#define NV30_3D_LINE_STIPPLE_PATTERN_PATTERN__MASK		0xffff0000
1978bf215546Sopenharmony_ci#define NV30_3D_LINE_STIPPLE_PATTERN_PATTERN__SHIFT		16
1979bf215546Sopenharmony_ci
1980bf215546Sopenharmony_ci#define NV30_3D_BACK_MATERIAL_SHININESS(i0)		       (0x00001e20 + 0x4*(i0))
1981bf215546Sopenharmony_ci#define NV30_3D_BACK_MATERIAL_SHININESS__ESIZE			0x00000004
1982bf215546Sopenharmony_ci#define NV30_3D_BACK_MATERIAL_SHININESS__LEN			0x00000006
1983bf215546Sopenharmony_ci
1984bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_1F(i0)				       (0x00001e40 + 0x4*(i0))
1985bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_1F__ESIZE				0x00000004
1986bf215546Sopenharmony_ci#define NV30_3D_VTX_ATTR_1F__LEN				0x00000010
1987bf215546Sopenharmony_ci
1988bf215546Sopenharmony_ci#define NV30_3D_ENGINE						0x00001e94
1989bf215546Sopenharmony_ci#define NV30_3D_ENGINE_FP					0x00000001
1990bf215546Sopenharmony_ci#define NV30_3D_ENGINE_VP					0x00000002
1991bf215546Sopenharmony_ci#define NV30_3D_ENGINE_FIXED					0x00000004
1992bf215546Sopenharmony_ci
1993bf215546Sopenharmony_ci#define NV30_3D_VP_UPLOAD_FROM_ID				0x00001e9c
1994bf215546Sopenharmony_ci
1995bf215546Sopenharmony_ci#define NV30_3D_VP_START_FROM_ID				0x00001ea0
1996bf215546Sopenharmony_ci
1997bf215546Sopenharmony_ci#define NV30_3D_POINT_PARAMETERS(i0)			       (0x00001ec0 + 0x4*(i0))
1998bf215546Sopenharmony_ci#define NV30_3D_POINT_PARAMETERS__ESIZE				0x00000004
1999bf215546Sopenharmony_ci#define NV30_3D_POINT_PARAMETERS__LEN				0x00000008
2000bf215546Sopenharmony_ci
2001bf215546Sopenharmony_ci#define NV30_3D_POINT_SIZE					0x00001ee0
2002bf215546Sopenharmony_ci
2003bf215546Sopenharmony_ci#define NV30_3D_POINT_PARAMETERS_ENABLE				0x00001ee4
2004bf215546Sopenharmony_ci
2005bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE					0x00001ee8
2006bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE_ENABLE				0x00000001
2007bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE_R_MODE__MASK			0x00000006
2008bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE_R_MODE__SHIFT			1
2009bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE_R_MODE_ZERO			0x00000000
2010bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE_R_MODE_R				0x00000002
2011bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE_R_MODE_S				0x00000004
2012bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE_COORD_REPLACE_0			0x00000100
2013bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE_COORD_REPLACE_1			0x00000200
2014bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE_COORD_REPLACE_2			0x00000400
2015bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE_COORD_REPLACE_3			0x00000800
2016bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE_COORD_REPLACE_4			0x00001000
2017bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE_COORD_REPLACE_5			0x00002000
2018bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE_COORD_REPLACE_6			0x00004000
2019bf215546Sopenharmony_ci#define NV30_3D_POINT_SPRITE_COORD_REPLACE_7			0x00008000
2020bf215546Sopenharmony_ci
2021bf215546Sopenharmony_ci#define NV30_3D_VP_UPLOAD_CONST_ID				0x00001efc
2022bf215546Sopenharmony_ci
2023bf215546Sopenharmony_ci#define NV30_3D_VP_UPLOAD_CONST(i0)			       (0x00001f00 + 0x10*(i0))
2024bf215546Sopenharmony_ci#define NV30_3D_VP_UPLOAD_CONST__ESIZE				0x00000010
2025bf215546Sopenharmony_ci#define NV30_3D_VP_UPLOAD_CONST__LEN				0x00000004
2026bf215546Sopenharmony_ci
2027bf215546Sopenharmony_ci
2028bf215546Sopenharmony_ci#define NV30_3D_VP_UPLOAD_CONST_X(i0)			       (0x00001f00 + 0x10*(i0))
2029bf215546Sopenharmony_ci
2030bf215546Sopenharmony_ci#define NV30_3D_VP_UPLOAD_CONST_Y(i0)			       (0x00001f04 + 0x10*(i0))
2031bf215546Sopenharmony_ci
2032bf215546Sopenharmony_ci#define NV30_3D_VP_UPLOAD_CONST_Z(i0)			       (0x00001f08 + 0x10*(i0))
2033bf215546Sopenharmony_ci
2034bf215546Sopenharmony_ci#define NV30_3D_VP_UPLOAD_CONST_W(i0)			       (0x00001f0c + 0x10*(i0))
2035bf215546Sopenharmony_ci
2036bf215546Sopenharmony_ci#define NV30_3D_UNK1F80(i0)				       (0x00001f80 + 0x4*(i0))
2037bf215546Sopenharmony_ci#define NV30_3D_UNK1F80__ESIZE					0x00000004
2038bf215546Sopenharmony_ci#define NV30_3D_UNK1F80__LEN					0x00000010
2039bf215546Sopenharmony_ci
2040bf215546Sopenharmony_ci#define NV40_3D_TEX_CACHE_CTL					0x00001fd8
2041bf215546Sopenharmony_ci
2042bf215546Sopenharmony_ci#define NV40_3D_VP_ATTRIB_EN					0x00001ff0
2043bf215546Sopenharmony_ci
2044bf215546Sopenharmony_ci#define NV40_3D_VP_RESULT_EN					0x00001ff4
2045bf215546Sopenharmony_ci
2046bf215546Sopenharmony_ci
2047bf215546Sopenharmony_ci#endif /* _HOME_SKEGGSB_GIT_ENVYTOOLS_RNNDB_NV30_40_3D_XML */
2048